ROS2 系统设计实战
📘 30章 · 从入门到项目
01
ROS2概述与环境搭建
起源、设计哲学、与ROS1区别 · Ubuntu安装Humble · 环境变量验证
02
ROS2核心概念
节点/话题/服务/动作/参数 · 关系图与详解
03
工作空间与功能包
创建工作空间 · package.xml & CMakeLists.txt 结构
04
话题通信实战
Publisher & Subscriber · C++/Python 自定义消息
05
服务通信实战
Server & Client · 请求-响应 · 超时与异常处理
06
动作通信实战
Action Server/Client · 带反馈的长时间任务
07
参数管理与动态配置
参数服务器 · 运行时动态修改 · 配置文件
08
ROS2命令行工具
ros2 node/topic/service/param/action/bag
09
launch文件系统
Python launch · 多节点启动 · 条件语句与include
10
ROS2与嵌入式硬件接口
树莓派/Jetson Nano · GPIO/I2C/SPI 传感器执行器
11
消息过滤器与时间同步
message_filters · 多传感器时间同步与融合
12
TF坐标变换
TF树 · Broadcaster & Listener · 多坐标系变换
13
URDF机器人建模
连杆与关节 · RViz可视化 · 传感器与传动
14
机器人仿真基础
Gazebo Classic集成 · 仿真环境 · URDF模型加载
15
SLAM建图实战
Cartographer / SLAM Toolbox · 二维栅格地图
16
导航堆栈(Navigation2)
Nav2配置 · A*全局规划 · DWA局部规划 · 自主导航
17
ROS2与计算机视觉
OpenCV集成 · 图像发布/订阅 · 物体检测与二维码
18
ROS2与点云处理
PCL库 · 激光雷达点云 · 障碍物检测与地面分割
19
ROS2实时性分析
RT_PREEMPT内核 · 实时调度 · 降低通信延迟
20
ROS2的DDS深入
Fast DDS/Cyclone DDS · QoS策略 · 网络优化
21
ROS2组件与进程内通信
Component · 零拷贝通信 · 性能提升
22
ROS2生命周期节点
Managed Node · 状态机 Unconfigured→Active→Finalized
23
ROS2安全机制
SROS2 · 加密与访问控制 · 通信安全
24
ROS2多机通信
多机器人网络 · DDS发现 · 分布式系统
25
ROS2与Micro-ROS
STM32/ESP32 · 微控制器无缝通信
26
ROS2日志系统
rclcpp/rclpy日志宏 · 级别配置 · 文件输出
27
ROS2单元测试与集成测试
gtest/pytest · launch_testing集成测试
28
ROS2性能监控与优化
ros2 topic hz/bw · ros2 doctor · ros2 trace
29
ROS2项目实战(上)
室内巡检机器人 · 需求分析 · 架构设计 · 模块划分
30
ROS2项目实战(下)
导航、避障、数据采集与远程监控 · 总结展望
⚡ 从零到部署 · 嵌入式ROS2实战