📘 ROS2 从零到项目实战
🌟
30章 · 完整目录
01
ROS2概述与生态
ROS2起源 · 对比ROS1 · 节点/话题/服务/动作 · 发行版与安装
02
ROS2开发环境搭建
Ubuntu安装 · ROS2 Humble · 环境变量 · 依赖与测试
03
工作空间与功能包
工作空间概念 · 创建/编译 · 功能包结构 · package.xml解析
04
ROS2节点编程基础
节点概念 · rclcpp入门 · 发布者/订阅者 · rclpy
05
话题通信
话题模型 · 自定义消息 · 同步/异步 · ros2 topic
06
服务通信
服务模型 · 自定义服务 · 服务端/客户端 · ros2 service
07
动作通信
动作模型 · 自定义动作 · 动作服务器/客户端 · ros2 action
08
参数系统
参数概念 · 声明/获取 · 动态配置 · ros2 param
09
命名空间与节点名称
命名空间作用 · 名称重映射 · 多机器人管理
10
ROS2的启动文件
Launch基础 · Python Launch · 包含/参数/条件控制
11
ROS2的日志系统
日志级别 · RCLCPP/RCLCPY · 日志文件 · ros2 log
12
时间与TF
时间戳 · Time/Duration · TF2坐标变换 · 发布/监听
13
ROS2的Bag文件
Bag录制/回放 · ros2 bag · 调试应用
14
组件与生命周期节点
组件概念 · 加载/卸载 · 生命周期状态机 · 管理
15
DDS中间件
DDS简介 · ROS2与DDS · RMW切换 · QoS策略
16
ROS2的测试框架
单元测试(gtest/pytest) · 集成测试 · launch测试 · 覆盖率
17
代码风格与规范
ROS2编码规范 · ament_lint · clang-format
18
ROS2的仿真基础
Gazebo集成 · 仿真世界 · 机器人模型 · 传感器数据
19
ROS2的导航栈
Nav2框架 · 地图服务 · 全局/局部规划 · 行为树
20
机器人建模
URDF编写 · Xacro优化 · Rviz2显示 · 传感器/执行器
21
ROS2的SLAM
Cartographer集成 · 激光SLAM · 地图保存/加载 · AMCL
22
机械臂控制
MoveIt2 · 运动学 · 轨迹规划 · 碰撞检测 · 真实控制
23
多机器人系统
多机器人通信 · 命名空间隔离 · 分布式部署 · 协同
24
硬件接口
硬件驱动节点 · GPIO · 串口 · I2C/SPI设备
25
视觉处理
OpenCV集成 · 图像话题 · 摄像头驱动 · 处理流水线
26
深度学习部署
TensorRT集成 · ONNX推理 · YOLO检测 · 性能优化
27
Web与远程控制
rosbridge_suite · WebSocket · Foxglove · 远程监控
28
项目管理
Git版本控制 · CI/CD · Docker容器 · 文档生成
29
实战项目一:自主导航机器人
需求分析 · 系统架构 · 模块实现 · 集成测试 · 部署
30
实战项目二:机械臂抓取系统
视觉定位 · 运动规划 · 抓取策略 · 联调 · 评估