教程三 RoArm-M1 VirtualBox ROS2入门教程
RoArm-M1 教程目录
- 教程一 RoArm-M1 产品使用教程
- 教程二 RoArm-M1 二次开发教程
- 教程三 RoArm-M1 VirtualBox ROS2入门教程
- 教程四 RoArm-M1 ROS2 URDF模型入门教程
- 教程五 RoArm-M1 ROS2 串口通信节点
- 教程六 RoArm-M1 视频组装教程
- 教程七 RoArm-M1 图文组装教程
- 教程八 RoArm-M1 ROS2中rqt的使用
- 教程九 RoArm-M1 ROS2 URDF模型构建教程一
- RoArm-M1 WIKI 主页
RoArm-M1 VirtualBox ROS2入门视频教程
RoArm-M1 VirtualBox ROS2入门教程
本教程适用于在Windows系统电脑使用虚拟机来运行ROS2,并参考后续的教程来运行,镜像中的系统默认密码为roarm。
ROS2简介
ROS2的前身是ROS,ROS即机器人操作系统(Robot Operating System)。但是ROS本身并不是一个操作系统,而是一个软件库和工具集。ROS的出现解决了机器人各个组件的通信问题,后来越来越多的机器人算法也集成到了ROS中,ROS2继承了ROS,相比ROS更强大更优秀。
主要特征:
- 多机器人系统:未来机器人一定不会是独立的个体,机器人和机器人之间也需要通信和协作,ROS2为多机器人系统的应用提供了标准方法和通信机制。
- 跨平台:机器人应用场景不同,使用的控制平台也会有很大差异,为了让所有机器人都可以运行ROS2,ROS2可以跨平台运行于Linux、Windows、MacOS、RTOS。
- 实时性:机器人运动控制和很多行为策略要求机器人具备实时性,比如机器人要可靠地在100ms内发现前方的行人,或者稳定地在1ms周期内完成运动学、动力学的解算,ROS2为类似这样的实时性需求提供了基本保障。
- 产品化:ROS2不仅可以用于机器人研发阶段,还可以直接搭载在产品中,走向消费市场,这对ROS2的稳定性、强壮性也提出了巨大挑战。
安装Oracle VM VirtualBox虚拟机
下载并安装Oracle VM VirtualBox,这是一款免费的虚拟机软件,可以让你在自己的电脑上运行虚拟操作系统,我们在Windows系统电脑上运行虚拟机来安装ubuntu操作系统,接着在ubuntu操作系统上安装配置ROS2来控制机械臂。
需要注意的是,虽然ROS2有Windows的版本,但是Windows版本的ROS2相关资料并不多,所以我们默认提供虚拟机的方案来运行ROS2。
点击Oracle VM VirtualBox官方下载链接,安装过程很简单,一直点击下一步即可。如果已安装,则跳过这步。
安装ROS2的方法一
方法一:下载我们已经配置好ROS2和RoArm-M1包的ubuntu镜像,链接在RoArm-M1 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
sudo nano /etc/apt/sources.list
将文件中的所有 http://cn.archive.ubuntu.com 替换为 http://mirrors.aliyun.com/ubuntu/
编译ROS2 RoArm-M1包
安装colcon编译工具
sudo apt-get install python3-colcon-ros
进入roarm_ws文件夹进行colcon build编译
cd roarm_ws colcon build
安装ROS2的方法二
方法二:
不同版本的ubuntu对应不同版本的ROS2,我们这里安装的ROS2是Humble版本的,所以Ubuntu镜像下载22.04版本的。点击Ubuntu22.04镜像下载并在Oracle上安装,本教程接下来的内容操作都是在ubuntu上的终端里完成的。
如果在国内使用此方法来安装ROS2,国内的网络环境可能会有些不太支持,导致下载过程非常缓慢,因此我们还是推荐使用方法一,直接下载已经配置好ROS2和RoArm-M1包的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
此时需要注意,它会提示少一些依赖,根据提示,少什么装什么即可。
环境变量设置
- 配置源命令 您需要在每次打开新的终端时运行以下命令,以便可以访问ROS 2命令:
- 将源命令添加到您的终端启动脚本中 如果您不想每次打开新的终端时都手动配置源命令(跳过任务1),您可以将该命令添加到您的终端启动脚本中:
source /opt/ros/humble/setup.bash
注意:
确切的命令取决于您安装ROS 2的位置。如果遇到问题,请确保文件路径指向您的安装路径。
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虚拟机了
下载ROS2 RoArm-M1包(下列命令中RoArm-M1要区分大小写)
sudo git clone https://github.com/waveshareteam/RoArm-M1.git
编译ROS2 RoArm-M1包(下列命令中RoArm-M1要区分大小写)
安装colcon编译工具
sudo apt-get install python3-colcon-ros cd RoArm-M1 colcon build
如果此时编译报错,则进入root权限下进行编译:
sudo passwd 设置一个新的密码 su root 进入root权限 source /opt/ros/humble/setup.bash cd RoArm-M1 colcon build
打开一个新的终端
cd RoArm-M1 source install/setup.bash
接着根据教程四后续的内容进一步学习。