手把手做ROS2机器人系统开发(一):开发环境搭建
机器人操作系统(ROS2)是当前机器人应用开发的主流平台,凭借分布式节点架构、丰富的生态组件和良好的实时性支持,被广泛用于工业机器人、移动机器人和智能装备的研发。本系列教程将带领大家从零开始,完成一套完整的ROS2机器人系统开发:以驱动常用工业机器人(SCARA)实现动态抓取目标为最终目标,既支持实
手把手做ROS2机器人系统开发(一):开发环境搭建
教程背景
机器人操作系统(ROS2)是当前机器人应用开发的主流平台,凭借分布式节点架构、丰富的生态组件和良好的实时性支持,被广泛用于工业机器人、移动机器人和智能装备的研发。本系列教程将带领大家从零开始,完成一套完整的ROS2机器人系统开发:以驱动常用工业机器人(SCARA)实现动态抓取目标为最终目标,既支持实体机器人验证,也支持仿真环境测试。
本教程使用的硬件体系包括:通过 EtherCAT 总线控制的驱动部分,以及笔记本电脑/工控机作为上位机。软件部分即本系列教程的核心内容。
万事开头难,搭建一套稳定、可复现的开发环境,是后续一切开发工作的基础。本章节完成两件事:
- Ubuntu 系统安装
- ROS2 系统环境安装
一、Ubuntu 系统安装
1. 虚拟机准备
学习阶段推荐使用 Oracle VM VirtualBox 虚拟机,便于随时随地进行实验,且不影响宿主机环境。
- VirtualBox 下载地址:https://www.oracle.com/cn/virtualization/technologies/vm/downloads/virtualbox-downloads.html
- Ubuntu 22.04 桌面版镜像(国内高校镜像源):https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04/
2. 安装注意事项
问题一:虚拟机安装界面显示不全,无法点击"下一步"。
解决办法:按 Alt + F7,用鼠标移动窗口位置即可。
问题二:安装耗时过长。
解决办法:采用最小化安装,安装过程中不连接网络或跳过系统更新,安装完成后再统一配置。
问题三:配置国内软件源并更新系统。
编辑软件源文件:
sudo gedit /etc/apt/sources.list
替换为清华镜像源(Ubuntu 22.04,代号 jammy):
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
执行系统更新:
sudo apt update
sudo apt upgrade
二、ROS2 系统环境安装
本教程采用 ROS2 Humble Hawksbill 版本,对应 Ubuntu 22.04。
1. 添加 ROS GPG 密钥
sudo apt install curl gnupg2
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
若网络受限无法访问 GitHub,可直接下载
ros-archive-keyring.gpg文件(https://download.csdn.net/download/guimotion/87722345),将其复制到/usr/share/keyrings/目录即可。
2. 配置国内 ROS2 镜像源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update
sudo apt upgrade
3. 安装 ROS2
安装标准桌面版(包含常用工具、仿真器与示例):
sudo apt install ros-humble-desktop
安装开发编译工具:
sudo apt install ros-dev-tools
4. 配置系统环境
编辑 ~/.bashrc,在末尾追加:
export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
source /opt/ros/humble/setup.bash
三、系统运行测试
开启两个终端验证 ROS2 节点通信:
终端 1:运行发布者节点
ros2 run demo_nodes_cpp talker
终端 2:运行订阅者节点
ros2 run demo_nodes_py listener
若两个终端分别持续输出发布与订阅消息,说明 ROS2 环境搭建成功,节点通信正常。
四、补充内容
1. 检查系统安装环境
printenv | grep -i ROS
2. 使用 ROS 域 ID 功能
当同一网络中存在多组 ROS2 系统时,可通过域 ID 隔离通信:
export ROS_DOMAIN_ID=<your_domain_id 0-101 或 215-232>
echo "export ROS_DOMAIN_ID=98" >> ~/.bashrc
3. 测试小海龟(turtlesim)仿真
启动小海龟仿真器:
ros2 run turtlesim turtlesim_node
启动键盘控制节点:
ros2 run turtlesim turtle_teleop_key
通过键盘即可控制小海龟移动,直观感受 ROS2 的节点通信机制。
小结
至此,Ubuntu 22.04 + ROS2 Humble 开发环境搭建完成,并通过 talker/listener 与小海龟仿真验证了系统可用性。下一章节将带领大家熟悉 ROS2 的核心命令,为后续编程开发打下基础。
SEO关键词: ROS2开发环境搭建, ROS2 Humble安装教程, Ubuntu 22.04 虚拟机, ROS2国内镜像源, ROS2入门教程, 机器人操作系统开发
