ROS2 机器人实战
30章 · 从零到完整平台
Humble · Ubuntu 22.04
01
ROS2概述与环境搭建
入门
ROS2发展历史、核心概念、与ROS1区别、Ubuntu 22.04安装Humble、环境变量与验证
02
ROS2核心概念详解
理论
节点、话题、服务、动作通信机制及机器人项目应用场景
03
ROS2命令行工具实战
CLI
ros2 node, topic, service, action, param, bag 等核心工具
04
工作空间与功能包创建
环境
创建工作空间、功能包、package.xml和CMakeLists.txt配置
05
编写第一个ROS2节点
Python
使用Python编写Publisher节点,发布Hello World消息
06
编写订阅者节点
Python
Subscriber节点接收并处理话题消息
07
话题通信自定义消息
msg
创建自定义msg文件,Python节点中使用自定义消息
08
服务通信基础
Server/Client
Python服务端与客户端,请求-响应模式
09
服务通信自定义服务
srv
创建自定义srv文件,复杂数据类型服务调用
10
动作通信基础
Action
Action Server & Client,带反馈的长时间任务
11
动作通信自定义动作
action
自定义action文件,设计复杂任务流程
12
参数服务器与动态配置
参数
ROS2参数系统管理节点配置,运行时动态修改
13
ROS2 Launch文件入门
启动
Python Launch文件,多节点同时启动与配置
14
Launch文件高级用法
进阶
包含其他Launch、条件语句、参数替换、命名空间
15
坐标变换TF2
TF2
理解TF2树结构,Python发布和监听坐标变换
16
TF2实战:多连杆坐标变换
机器人
构建简单机器人模型,发布各连杆坐标变换
17
时间与计时器
Time
ROS2时间系统,使用计时器实现周期性任务
18
ROS2 Bag数据记录与回放
Bag
ros2 bag记录话题数据,离线回放与分析
19
ROS2日志系统
日志
RCLCPP/RCLPY日志宏,设置级别,自定义输出
20
组件与进程内通信
Component
理解组件概念,实现进程内高效通信
21
ROS2生命周期节点
Lifecycle
生命周期节点状态机,可管理节点生命周期
22
ROS2与传感器集成
LiDAR/Camera
集成激光雷达和深度相机,编写驱动节点
23
ROS2与执行器集成
电机/舵机
集成电机驱动和舵机,控制节点实现运动控制
24
机器人模型URDF基础
URDF
使用URDF描述机器人模型,link和joint定义
25
URDF高级特性与XACRO
XACRO
XACRO宏简化URDF,参数化机器人模型
26
可视化工具RViz2
可视化
显示机器人模型、传感器数据、坐标变换等
27
ROS2仿真环境搭建
Gazebo
Gazebo Ignition仿真,加载机器人模型测试
28
SLAM建图实战
建图
Cartographer / SLAM Toolbox 仿真环境建图
29
导航栈Navigation2入门
导航
配置Navigation2导航栈,实现自主导航
30
综合实战:完整机器人平台
全流程
硬件选型、驱动集成、建图导航到自主任务执行