国内排名前几名的最完整 的ros2快速上手入门教程
2026/6/13 4:22:54 网站建设 项目流程

如何快速学会ros2:ROS2 Humble 完整安装部署文档(Ubuntu24.0,纯 ROS2

重要说明:

如果你打算入门 ROS2 机器人开发,这篇纯实操文档非常适合上手,你可以逐条复制命令运行、逐行调试验证效果。配套配置讲解视频我后续会单独录制发布。

机器人开发本身门槛不在于单一知识点多难,而是高度综合化,和只钻研某项独立技术有明显区别:三维建模、代码编程、机器人动力学、仿真调试、后端部署等内容都会覆盖。建议具备一年及以上编程基础再系统学习本文档;如果你刚好满足该编程功底要求,这份实操教程会帮你稳步落地ROS2 实战。

共三部份,

1,环境安装,

2,ros2安装,

3,测试环境和常见命令及操作演示

第一部份 环境准备概略,需要在安装好ubuntu 系统后,安装vscode clion git ,然后安装以下插件

我们需要安装vscode,clion git,
vscode 主要用来写代码。 git 用于仓库提交, clion 用来绑定智能体帮我们开发代码,但是初学习我们先不聊clion的使用秘要,先认真理一下整流细节 。

vscode 需要提交安装以下插件

进行 ROS2 机器人项目开发时,推荐在 VS Code 中批量安装下述常用开发插件,覆盖汉化、代码编译、语法提示、机器人专用文件解析、文档排版等全套需求,清单明细如下:

  1. Chinese (Simplified):VS Code 界面简体中文汉化插件;
  2. Python:Python 代码高亮、运行调试、语法检测,ROS2 Python 节点开发必备;
  3. C/C++:C++ 语法解析、智能跳转、编译调试,适配 ROS2 C++ 功能包开发;
  4. CMake Tools:CMake 工程配置、构建、编译工具,ROS2 ament_cmake 编译依赖;
  5. 文件图标主题插件:可视化侧边栏各类文件、文件夹图标,项目结构一目了然;
  6. ROS Extension:ROS2 专属集成插件,一键编译、启动节点、查看话题、一键调用终端指令;
  7. Msg Language Support.msg消息接口文件语法高亮、智能提示;
  8. URDF Support:URDF 机器人模型文件语法校验、实时预览、标签高亮;
  9. IntelliCode:AI 智能代码补全、上下文代码推荐,提升编码效率;
  10. Markdown All in One:Markdown 文档实时排版、目录生成、格式预览,方便撰写技术文档。
  • 备注:以上插件多数是vscode编辑器使用,插件要装好插件件显示就好漂亮,只是增加开快界面好看和代码提示,和正式使用ros2无关


第二部份:安装ros2
适用说明
系统:Ubuntu 22.04安装版本:ROS2 Humble Hawksbill安装包:desktop-full 完整版(内置 Gazebo 物理仿真、RViz2、rqt、导航、视觉、点云全套工具)全程国内清华镜像,无 GitHub 访问超时问题,剔除所有 ROS1 相关内容,

步聚分析为:
Step1:配置系统字符编码
Step 2:配置清华ROs2镜像源
Step 3:更新源并安装ROS2Jazzy完整版Step4:安装编译工具和Gazebo仿真
Step 5:配置环境变量(永久生效)
Step6:验证安装(rviz2/gazebo)


ROS2 Jazzy 完整版安装文档(Ubuntu 24.04,纯 ROS2,清华镜像)
环境说明
系统:Ubuntu 24.04ROS2 版本:Jazzy Jalisco安装套件:desktop-full(自带 Gazebo 仿真、RViz2、全套可视化、导航、视觉工具)全程国内镜像,剔除 ROS1 所有内容,逐条复制运行即可。
整 个步聚分为:
Step1:配置系统字符编码
Step 2:配置清华ROs2镜像源
Step 3:更新源并安装ROS2Jazzy完整版Step4:安装编译工具和Gazebo仿真Step 5:配置环境变量(永久生效)
Step 6:验证安装(rviz2/gazebo)
1 配置系统编码(防止中文乱码、编译报错)
bash
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

2 配置清华 ROS2 镜像源
2.1 安装依赖工具
bash
sudo apt install curl gnupg lsb-release -y
2.2 导入密钥(清华镜像下载,不用访问 Github)
bash
sudo curl -sSL https://mirrors.tuna.tsinghua.edu.cn/rosdistro/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
2.3 写入 ROS2 软件源
bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
3 更新源,安装 ROS2 完整版仿真套件
bash
sudo apt update
sudo apt install -y ros-jazzy-desktop-full
4 安装编译、URDF 建模必备工具
bash
sudo apt install -y python3-colcon-common-extensions ros-jazzy-robot-state-publisher ros-jazzy-joint-state-publisher-gui
5 配置永久环境变量
bash
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc

6 校验安装是否成功
新开终端分别执行,能正常弹出图形界面即为安装完成:
bash
rviz2
bash
gazebo
7 单独安装其他 ROS2 功能包通用模板
bash
sudo apt update
sudo apt install -y ros-jazzy-包名

举例:
bash
# SLAM建图工具
sudo apt install -y ros-jazzy-slam-toolbox
补充注意点
所有包名里的 humble 全部替换成了 jazzy,适配 24.04,不会出现包找不到依赖错误;
依旧全程清华镜像,不存在raw.githubusercontent.com连接超时问题;
全程无任何 ROS1 相关命令、依赖,干净纯 ROS2 环境;
Gazebo、RViz2、rqt、导航、机械臂控制全套仿真组件一次性装齐,满足机器狗建模、节点开发需求。

运行以下测试安装是不是成功:
# 发布端 ros2 run demo_nodes_py talker
# 订阅端 ros2 run demo_nodes_py listener
官方经典小海鬼安案例
ros2 run turtlesim turtlesim_node

打开小海鬼

ros2 run turtlesim turtle_teleop_key
控制小海鬼

第三部份:测试环境和常见命令,

以下是关与刚安装好ROS2后 操作 小海龟全套实操命令汇总

每条格式:【命令功能】→ 命令示例 → 使用要求

前置前提:已经装好 ROS2、环境变量永久配置完毕;所有终端无需重复source;下文海龟名称默认turtle1、新增turtle2

一、启动仿真基础环境

【功能】启动海龟仿真图形窗口,启动默认第一只turtle1

bash

ros2 run turtlesim turtlesim_node

使用要求:独占终端,不要关闭;后续新开其他终端执行控制命令

【功能】键盘方向键遥控海龟移动

bash

ros2 run turtlesim turtle_teleop_key

使用要求:光标停留在这个终端内,上下左右按键才能生效;该终端不能输入其他内容。

二、节点查询系列命令

【功能】列出当前所有正在运行的 ROS2 节点

bash

ros2 node list

使用要求:仿真节点必须已经启动,否则无输出。

【功能】查看指定节点详细信息:订阅 / 发布话题、服务、Action 接口

bash

ros2 node info /turtlesim

使用要求:节点名称必须带开头/,节点正在运行才能查询。

三、话题 topic 全套调试命令(核心控制)

【功能】列出系统全部激活话题

bash

ros2 topic list

使用要求:至少启动一个节点才有话题输出。

【功能】实时订阅、打印某个话题源源不断的数据(查看海龟坐标)

bash

ros2 topic echo /turtle1/pose

使用要求:话题名称不能输错;Ctrl+C终止监听。

【功能】查看某话题对应的消息类型

bash

ros2 topic type /turtle1/cmd_vel

使用要求:后续手动发布消息必须严格匹配该类型。

【功能】查看话题发布者、订阅者数量

bash

ros2 topic info /turtle1/cmd_vel

【功能】终端手动持续下发速度指令,控制海龟走圆形轨迹

bash

ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

使用要求:

  1. --rate 1代表每秒发 1 次指令,去掉则只发一次,海龟动一下就停;
  2. 话题名turtle1精准绑定单只海龟,改成turtle2就控制第二只;
  3. 线速度、角速度同时非 0 才会画圆圈;Ctrl+C停止运动。

【功能】统计话题每秒发布频率(Hz)

bash

ros2 topic hz /turtle1/pose

四、服务 service 调用命令(新增 / 删除 / 重置海龟)

【功能】调用 /spawn 服务,生成第二只海龟turtle2,自定义出生坐标和朝向

bash

ros2 service call /spawn turtlesim/srv/Spawn "{x: 2, y: 2, theta: 0.2, name: 'turtle2'}"

使用要求:

  1. x/y 是画布坐标,theta 初始角度;
  2. name 指定海龟名称,后续控制它就要用turtle2/cmd_vel话题。

【功能】删除指定某一只海龟

bash

ros2 service call /kill turtlesim/srv/Kill "{name: 'turtle2'}"

【功能】画布全部重置,海龟归位、轨迹清空

bash

ros2 service call /reset std_srvs/srv/Empty "{}"

五、ros2 bag 数据录制与回放命令

【功能】只录制turtle1的速度控制话题数据

bash

ros2 bag record /turtle1/cmd_vel

使用要求:

  1. 录制期间操作海龟移动,运动指令全部存入 bag 包;
  2. Ctrl+C结束录制,自动生成数据包文件夹;
  3. 只写了turtle1话题,不会录制turtle2指令。

【功能】回放录制好的 bag 包,自动复现海龟之前运动轨迹

bash

ros2 bag play 数据包文件夹名

使用要求:仿真窗口必须保持打开;回放自动按照原话题下发指令,只控制对应海龟。

【功能】bag 包索引损坏时修复重建

bash

ros2 bag reindex 数据包文件夹名

六、两只海龟分开控制要点总结

  1. 区分依据:话题名里的turtle1turtle2天然隔离;
  2. 控制turtle1:所有命令话题写/turtle1/cmd_vel
  3. 控制turtle2:所有命令话题写/turtle2/cmd_vel
  4. 二者互不干扰,可以同时各自画不同轨迹。

通用全局使用要求汇总

  1. 所有命令必须在 ROS2 环境变量加载完成的终端执行;
  2. 节点、话题、服务名称字符串严格完全匹配,多 / 少字符都会通信失败;
  3. 长时运行的指令(echopubrecord)都用Ctrl+C终止;
  4. 仿真窗口turtlesim_node不能关闭,一旦关闭所有海龟相关话题、服务全部失效;
  5. 话题是持续流式通信(适合持续运动控制);服务是一次性请求应答(适合生成、删除海龟这类单次操作)。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询