ZeroOne AI
← 返回文章列表

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

👁 73
分类:机器人自动化

机器人操作系统(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、智能制造与技术实践文章

机器人自动化

手把手做ROS2机器人系统开发(三):搭建VS Code编程环境

"工欲善其事,必先利其器。" 前两讲完成了系统环境与命令基础的学习,本章节搭建高效的代码开发环境。VS Code 凭借轻量、插件生态丰富、对 C++/Python/ROS 支持完善等优势,是 ROS2 开发的主流选择。

工业互联网

Linux系统篇24——通信(二):匿名管道 vs 命名管道,进程之间到底怎么“传话”?

进程之间默认谁也看不见谁,操作系统给它们接了一根“水管”——管道。本文从“对讲机”和“公共信箱”讲起,把匿名管道与命名管道的底层原理、代码写法、常见坑和面试考点一次讲透。

C#工业视觉平台结合YOLOv26与OpenVINO

从数据标注、自动训练到Intel NPU边缘推理的完整工业AI方案:C#工业软件平台 + YOLOv26训练框架 + OpenVINO模型转换 + Intel NPU边缘推理,实现图像采集、自动标注、模型训练到现场推理的完整AI视觉闭环。

工业AI

RAG 实战教程(一):RAG 工作原理与完整流程——分片、索引、召回、重排和生成

本文系统讲解RAG的完整工作流程:为什么不能把整份文档直接交给大模型、哪些场景适合RAG、分片Chunking(含常见分片方式对比表与段落感知分片器代码)、索引与Embedding、召回(余弦相似度与BM25混合检索)、重排(BGE Reranker)、生成(Prompt组装),并给出一个可运行的Python端到端Demo与常见问题排查指南。

C#调用Intel NPU实现YOLOv26极速推理:OpenVINO工业视觉加速实践

通过C# + OpenVINO Runtime调用Intel Core Ultra NPU运行YOLOv26模型,实现低功耗、毫秒级的工业边缘AI视觉推理,涵盖模型导出、环境配置、推理代码与FP16/INT8/异步推理等性能优化实践。

工业互联网

Linux系统篇(六)——权限篇(二):服务器安全必备:umask 配置与权限计算全攻略

全面吃透 umask:讲清掩码存在意义、777/666 基准权限与位运算原理,并给出暂时性与永久性修改的完整配置攻略。

评论(0)