返回 Wiki

ROS2 教程

ROS2 理论与实践:核心篇学习导航

整理赵虚左《ROS2理论与实践——核心篇》的学习路线、章节目录与直达链接,覆盖通信机制、launch、rosbag2、TF2、RViz2 和 URDF。
更新于
  • ROS2
  • Humble
  • C++
  • Python
  • TF2
  • URDF

这是一份《ROS2理论与实践——核心篇》的学习导航。课程以案例为主线,围绕 ROS2 的通信机制和常用开发工具展开,适合在进入机器人导航、视觉、机械臂等应用方向之前系统学习。

本页只做目录整理、学习路线说明和原文链接索引,不转载课程全文。课程原作者为赵虚左;具体内容、代码与图片请以原始资料为准。

资料入口

课程环境与准备

项目 课程采用的环境
ROS2 版本 Humble
操作系统 Ubuntu 22.04
主要语言 C++、Python
辅助知识 Linux、CMake、XML、YAML
ROS1 基础 不要求
实体硬件 核心篇不要求

课程基于 ROS2 Humble。使用 Jazzy、Kilted 或更新发行版时,包名、命令参数、Gazebo 版本和部分 API 可能不同,遇到差异时应同时查阅对应发行版的官方文档。

建议学习路线

  1. 先完成第 1 章,搭好 ROS2、colcon 与编辑器环境。
  2. 第 2 章是核心,依次掌握话题、服务、动作和参数。
  3. 第 3 章补齐分布式、重映射、时间 API、命令行和 rqt 等实用能力。
  4. 第 4 章学习用 launch 组织系统,并用 rosbag2 录制和回放数据。
  5. 第 5 章集中学习 TF2 坐标变换,这是导航、感知和机械臂开发的共同基础。
  6. 第 6 章用 RViz2、URDF 与 xacro 建立机器人模型和可视化调试流程。
  7. 完成后继续学习应用篇。

第 1 章:ROS2 概述与环境搭建

进入第 1 章

本章适合建立全局认识,并完成 ROS2、colcon、VS Code、终端和 Git 等基础环境配置。

第 2 章:ROS2 通信机制核心

进入第 2 章

学习时建议为每种通信机制分别整理“适用场景、接口定义、发布端/服务端、订阅端/客户端、命令行验证”五项笔记,并同时完成 C++ 与 Python 示例。

第 3 章:ROS2 通信机制补充

进入第 3 章

这一章适合边学边做小实验,重点验证节点与话题重映射、不同工作空间的覆盖关系、ROS 时间与系统时间,以及常用命令行工具的输出。

第 4 章:launch 与 rosbag2

进入第 4 章

建议优先掌握 Python launch 文件,再了解 XML 和 YAML 写法。rosbag2 部分应至少完成一次指定话题录制、信息查看、回放和回放速率调整。

第 5 章:坐标变换 TF2

进入第 5 章

本章要建立“坐标系树”的思维。学习广播器和监听器时,同时用 tf2_echo、view_frames 和 RViz2 验证结果,比只阅读代码更容易发现父子坐标系和时间戳问题。

第 6 章:可视化、URDF 与 xacro

进入第 6 章

完成本章后,应能用 link、joint、visual、collision 和 inertial 描述基础机器人模型,并通过 xacro 宏和参数减少重复结构。

学完后的自检

  • 能独立创建 ament_cmake 与 ament_python 功能包。
  • 能根据场景选择话题、服务、动作或参数,并解释选择理由。
  • 能用命令行检查节点、话题、接口、参数和动作。
  • 能用 launch 启动多个节点并传入参数、重映射和命名空间。
  • 能录制、查看和回放 rosbag2 数据。
  • 能读懂并调试 TF2 坐标树。
  • 能用 URDF/xacro 建模并在 RViz2 中显示。

来源说明

本导航根据东澈的折腾天地 ROS2 教程推荐资料页及其链接的核心篇目录整理。页面内容和链接可能随原站更新而变化。