RoArm-M2-S ROS2 入门教程
本教程适用于在 Windows 系统电脑使用虚拟机来运行 ROS2,并参考后续的教程来运行,镜像中的系统默认密码为 roarm。
ROS2 简介
ROS2 的前身是 ROS,ROS 即机器人操作系统(Robot Operating System)。但是 ROS 本身并不是一个操作系统,而是一个软件库和工具集。ROS 的出现解决了机器人各个组件的通信问题,后来越来越多的机器人算法也集成到了 ROS 中,ROS2 继承了 ROS,相比 ROS 更强大更优秀。
主要特征:
- 多机器人系统:未来机器人一定不会是独立的个体,机器人和机器人之间也需要通信和协作,ROS2 为多机器人系统的应用提供了标准方法和通信机制;
- 跨平台:机器人应用场景不同,使用的控制平台也会有很大差异,为了让所有机器人都可以运行 ROS2,ROS2 可以跨平台运行于 Linux、Windows、MacOS、RTOS;
- 实时性:机器人运动控制和很多行为策略要求机器人具备实时性,比如机器人要可靠地在 100 ms 内发现前方的行人,或者稳定地在 1 ms 周期内完成运动学、动力学的解算,ROS2 为类似这样的实时性需求提供了基本保障;
- 产品化:ROS2 不仅可以用于机器人研发阶段,还可以直接搭载在产品中,走向消费市场,这对 ROS2 的稳定性、强壮性也提出了巨大挑战。
安装 Oracle VM VirtualBox 虚拟机
下载并安装 Oracle VM VirtualBox,这是一款免费的虚拟机软件,可以让你在自己的电脑上运行虚拟操作系统,我们在 Windows 系统电脑上运行虚拟机来安装 Ubuntu 操作系统,接着在 Ubuntu 操作系统上安装配置 ROS2 来控制机械臂。
需要注意的是,虽然 ROS2 有 Windows 的版本,但是 Windows 版本的 ROS2 相关资料并不多,所以我们默认提供虚拟机的方案来运行 ROS2。
点击 Oracle VM VirtualBox 官方下载链接,安装过程很简单,一直点击下一步即可。如果已安装,则跳过这步。
安装 ROS2 的方法一
方法一:下载我们已经配置好 ROS2 环境的 Ubuntu 镜像,链接在 RoArm-M2-S WIKI 主页的资料下载里。链接里所有的压缩包都是镜像文件,有一些虚拟机的磁盘文件系统不支持 4G 以上的单独文件,因此将配置好的 Ubuntu 镜像分解成了多个文件。直接将所有的压缩包下载下来并解压到同一个文件夹里。
将配置好的虚拟机镜像导入到 Oracle VirtualBox 中
-
在左边工具栏处,点击“新建”。
-
设置名称,类型设置为“Linux”,版本设置为“Ubuntu(64-bit)”,点击“下一步”。
-
内存大小和处理器数量可以自己设置,我这里为默认设置,接着点击“下一步”。
-
选择“不添加虚拟硬盘”,点击“下一步”会显示新虚拟电脑的配置,点击“完成”后弹出警告,点击“继续”。
-
选中刚刚创建的虚拟机,选择“设置”。
-
选择“存储”,点击控制器最右边的 +号添加虚拟硬盘。
-
选择注册,将前面解压的 Ubuntu 64 RoArmVM.vmdk 虚拟硬盘添加进去后确认保存,双击左边的你刚刚创建的虚拟电脑就可以运行了。
Ubuntu 换源
针对国内用户,为了避免 DNS 污染,在 Ubuntu 中打开终端输入:
sudo nano /etc/hosts
添加以下内容后按 Ctrl+X 进行保存:
185.199.111.133 raw.githubusercontent.com 185.199.110.133 raw.githubusercontent.com 185.199.109.133 raw.githubusercontent.com 185.199.108.133 raw.githubusercontent.com 199.232.28.133 raw.githubusercontent.com 20.205.243.166 github.com
接着将 Ubuntu 官方的软件源换成国内的镜像源,输入:
sudo nano /etc/apt/sources.list
将文件中的所有 http://cn.archive.ubuntu.com 替换为 http://mirrors.aliyun.com/ubuntu/
下载 RoArm-M2-S ROS2 包
首先,需要下载 RoArm-M2-S ROS2 包,机械臂分成“夹爪”和“手腕”两种形态,因此这里也分成两种形态的 ROS2 包。
“夹爪”形态 ROS2 包下载:
wget https://www.waveshare.net/w/upload/e/e9/Roarm_ws_em0.zip
“手腕”形态 ROS2 包下载:
wget https://www.waveshare.net/w/upload/2/25/Roarm_ws_em1.zip
下载后进行解压,输入:
unzip Roarm_ws_em0.zip unzip Roarm_ws_em1.zip
编译 RoArm-M2-S ROS2 包
安装 colcon 编译工具:
sudo apt-get install python3-colcon-ros
进入 roarm_ws_em0 工作空间进行 colcon build 编译:
cd roarm_ws_em0 colcon build
安装 ROS2 的方法二
方法二:
不同版本的 Ubuntu 对应不同版本的 ROS2,我们这里安装的 ROS2 是 Humble 版本的,所以 Ubuntu 镜像下载 22.04 版本的。点击 Ubuntu22.04 镜像下载并在 Oracle 上安装,本教程接下来的内容操作都是在 Ubuntu 上的终端里完成的。
如果在国内使用此方法来安装 ROS2,国内的网络环境可能会有些不太支持,导致下载过程非常缓慢,因此我们还是推荐使用方法一,直接下载已经配置好 ROS2 环境的 Ubuntu 镜像即可。不过我们这里还是会介绍 ROS2 标准的安装流程。
安装 Ubuntu 镜像
-
在左边工具栏处,点击“新建”。
-
设置名称,类型设置为“Linux”,版本设置为“Ubuntu(64-bit)”,点击“下一步”。
-
内存大小和处理器数量可以自己设置,我这里为默认设置,接着点击“下一步”。
-
选择“现在创建虚拟硬盘”,磁盘空间大小可以自己设置,我这里也是默认,点击“下一步”会显示新虚拟电脑的配置,点击“完成”表示虚拟电脑创建成功。
-
双击左边栏中刚刚创建的虚拟电脑启动,启动后会提示“未能启动虚拟电脑,需要加载虚拟光盘安装系统”,在“光驱”位置添加你下载好的 ubuntu22.04 镜像,点击“挂载并尝试启动”。
Ubuntu 换源
针对国内用户,为了避免 DNS 污染,在 ubuntu 中打开终端输入:
sudu nano /etc/hosts
添加以下内容后按 Ctrl+X 进行保存:
185.199.111.133 raw.githubusercontent.com 185.199.110.133 raw.githubusercontent.com 185.199.109.133 raw.githubusercontent.com 185.199.108.133 raw.githubusercontent.com 199.232.28.133 raw.githubusercontent.com 20.205.243.166 github.com
接着输入:
sudo nano /etc/apt/sources.list
将文件中的所有 http://cn.archive.ubuntu.com 替换为 http://mirrors.aliyun.com/ubuntu/
添加 ROS2 软件源
sudo apt update && sudo apt install curl gnupg2 lsb-release curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - sudo sh -c ‘echo “deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main” > /etc/apt/sources.list.d/ros2-latest.list’
如果执行第二句时报错:gpg:no valid OpenPGP data found
解决办法:上述命令中有管道符号,curl 是个类似下载的命令,因此尝试将上述命令分成两步来执行。
curl -s https://raw.githubuserconten.com/ros/rosdistro/master/ros.asc sudo apt-key add -
安装 ROS2 Humble
先更新系统软件:
sudo apt-get update sudo apt install libgbm1(此处是数字1)
安装 Ros2,版本是 humble 桌面版:
sudo apt install ros-humble-desktop
此时需要注意,它会提示少一些依赖,根据提示,少什么装什么即可。
环境变量设置
- 配置源命令 您需要在每次打开新的终端时运行以下命令,以便可以访问 ROS2:
- 将源命令添加到您的终端启动脚本中 如果您不想每次打开新的终端时都手动配置源命令(跳过任务1),您可以将该命令添加到您的终端启动脚本中:
source /opt/ros/humble/setup.bash
注意:确切的命令取决于您安装 ROS2 的位置。如果遇到问题,请确保文件路径指向您的安装路径。
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
需要注意,这一句并不会将在当前的终端窗口将 ROS2 添加到 source,你需要打开新的终端窗口才可以应用这个变化。
针对 GUI 丢失的问题
当虚拟机关机后再开机,有概率会出现图形界面无法加载的问题,只有终端页面,你可以通过以下方法来解决:
在终端中一次输入以下命令,来重新安装图形界面需要的依赖库。
sudo apt update && sudo apt upgrade sudo apt install tasksel sudo tasksel install ubuntu-desktop sudo apt install ubuntu-desktop
Ubuntu 开启 SSH 服务
sudo apt install openssh-server sudo systemctl status ssh sudo ufw allow ssh
之后你就可以使用其它设备来访问这个ubuntu虚拟机了
下载 RoArm-M2-S ROS2 包
首先,需要下载 RoArm-M2-S ROS2 包,机械臂分成“夹爪”和“手腕”两种形态,因此这里也分成两种形态的 ROS2 包。
“夹爪”形态 ROS2 包下载:
wget https://www.waveshare.net/w/upload/e/e9/Roarm_ws_em0.zip
“手腕”形态 ROS2 包下载:
wget https://www.waveshare.net/w/upload/2/25/Roarm_ws_em1.zip
下载后进行解压,输入:
unzip Roarm_ws_em0.zip unzip Roarm_ws_em1.zip
编译 RoArm-M2-S ROS2 包
安装 colcon 编译工具:
sudo apt-get install python3-colcon-ros
进入 roarm_ws_em0 工作空间进行 colcon build 编译:
cd roarm_ws_em0 colcon build
如果此时编译报错,则进入 root 权限下进行编译:
sudo passwd 设置一个新的密码 su root 进入root权限 source /opt/ros/humble/setup.bash cd roarm_ws_em0 colcon build
打开一个新的终端
cd roarm_ws_em0 source install/setup.bash
接着根据后续教程的内容进一步学习。
RoArm-M2-S 教程目录
RoArm-M2-S 使用教程
- RoArm-M2-S_Web端使用
- RoArm-M2-S_开发工具使用
- RoArm-M2-S_JSON指令含义
- RoArm-M2-S_WIFI配置
- RoArm-M2-S_机械臂控制
- RoArm-M2-S_末端关节设置
- RoArm-M2-S_FLASH文件系统操作
- RoArm-M2-S_步骤录制和重现
- RoArm-M2-S_ESP-NOW控制
- RoArm-M2-S_Python串口通信控制
- RoArm-M2-S_Python HTTP请求通信