ZeroOne AI
← 返回文章列表

手把手做ROS2机器人系统开发(一):开发环境搭建

👁 51
分类:机器人自动化

机器人操作系统(ROS2)是当前机器人应用开发的主流平台,凭借分布式节点架构、丰富的生态组件和良好的实时性支持,被广泛用于工业机器人、移动机器人和智能装备的研发。本系列教程将带领大家从零开始,完成一套完整的ROS2机器人系统开发:以驱动常用工业机器人(SCARA)实现动态抓取目标为最终目标,既支持实

手把手做ROS2机器人系统开发(一):开发环境搭建

教程背景

机器人操作系统(ROS2)是当前机器人应用开发的主流平台,凭借分布式节点架构、丰富的生态组件和良好的实时性支持,被广泛用于工业机器人、移动机器人和智能装备的研发。本系列教程将带领大家从零开始,完成一套完整的ROS2机器人系统开发:以驱动常用工业机器人(SCARA)实现动态抓取目标为最终目标,既支持实体机器人验证,也支持仿真环境测试。

本教程使用的硬件体系包括:通过 EtherCAT 总线控制的驱动部分,以及笔记本电脑/工控机作为上位机。软件部分即本系列教程的核心内容。

万事开头难,搭建一套稳定、可复现的开发环境,是后续一切开发工作的基础。本章节完成两件事:

  1. Ubuntu 系统安装
  2. ROS2 系统环境安装

一、Ubuntu 系统安装

1. 虚拟机准备

学习阶段推荐使用 Oracle VM VirtualBox 虚拟机,便于随时随地进行实验,且不影响宿主机环境。

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 程序预处理、编译、汇编、链接四步变身流程,讲透条件编译与静态、动态链接差异,附分步实操与报错排查。

AI视觉

树莓派推送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检测的完整视频流架构。

AI视觉

YOLO目标检测模型调参入门:从训练参数到检测效果优化

YOLO目标检测模型调参入门指南:详解 epochs、imgsz、batch、模型大小、conf、IoU 等核心参数的作用与调节方法,给出工业视觉、疲劳驾驶、缺陷检测等 AI 项目的调参顺序与实验对比思路,帮助初学者在精度、速度与显存之间找到平衡。

评论(0)