手把手做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入门教程, 机器人操作系统开发
推荐阅读
更多工业 AI、智能制造与技术实践文章
C#调用Intel NPU实现YOLOv26极速推理:OpenVINO工业视觉加速实践
通过C# + OpenVINO Runtime调用Intel Core Ultra NPU运行YOLOv26模型,实现低功耗、毫秒级的工业边缘AI视觉推理,涵盖模型导出、环境配置、推理代码与FP16/INT8/异步推理等性能优化实践。
C#工业视觉平台结合YOLOv26与OpenVINO
从数据标注、自动训练到Intel NPU边缘推理的完整工业AI方案:C#工业软件平台 + YOLOv26训练框架 + OpenVINO模型转换 + Intel NPU边缘推理,实现图像采集、自动标注、模型训练到现场推理的完整AI视觉闭环。
MY-BASIC 应用(一):轻量级嵌入式 BASIC 解析器介绍
MY-BASIC 是一个用标准 C 语言编写的轻量级 BASIC 解释器:不足 128KB 内存占用、可嵌入可扩展、支持原型编程与 Lambda 函数式编程、Unicode、列表/字典集合,适合嵌入式设备脚本化控制。
Linux系统篇(七)——工具篇(二):一篇搞懂 C 语言程序从代码到可执行文件的完整旅程
拆解 C 程序预处理、编译、汇编、链接四步变身流程,讲透条件编译与静态、动态链接差异,附分步实操与报错排查。
树莓派推送RTSP视频流实战:FFmpeg + rtsp-simple-server(MediaMTX)搭建局域网视频直播服务
本文面向树莓派视频流、Python视觉开发、RTSP视频监控和边缘AI视觉初学者,介绍如何在Raspberry Pi上搭建简单、稳定的RTSP视频流服务。项目采用FFmpeg + rtsp-simple-server(MediaMTX)方式,将树莓派摄像头采集的视频转换并推送到RTSP服务器,再由电脑、NVR、VLC、OpenCV或AI视觉程序访问。文章从安装FFmpeg并验证版本开始,下载适用于ARM64架构的MediaMTX v1.8.1,配置Linux Systemd服务实现RTSP服务器开机自启,最后将摄像头视频推送到RTSP地址,形成树莓派摄像头 → FFmpeg → RTSP服务器 → 客户端播放/AI检测的完整视频流架构。
YOLO目标检测模型调参入门:从训练参数到检测效果优化
YOLO目标检测模型调参入门指南:详解 epochs、imgsz、batch、模型大小、conf、IoU 等核心参数的作用与调节方法,给出工业视觉、疲劳驾驶、缺陷检测等 AI 项目的调参顺序与实验对比思路,帮助初学者在精度、速度与显存之间找到平衡。
