ROS2 软硬件协同开发实战

📘 30章 · 从入门到实战
01ROS2概述与生态
  • ROS2的历史与发展
  • ROS2与ROS1的核心区别
  • 发行版与选型建议
  • 社区与资源
02ROS2开发环境搭建
  • Ubuntu系统安装与配置
  • ROS2 Humble安装与验证
  • 开发工具链安装
  • 工作空间创建与编译测试
03ROS2核心概念
  • 节点(Node) · 话题(Topic)
  • 服务(Service) · 动作(Action)
  • 参数(Parameter)深入对比
04ROS2通信机制(一)
  • 话题通信——发布者与订阅者
  • 自定义消息接口
05ROS2通信机制(二)
  • 服务通信——客户端与服务器
  • 同步与异步调用
06ROS2通信机制(三)
  • 动作通信——动作服务器与客户端
  • 进度反馈与结果获取
07ROS2参数系统
  • 参数的声明、获取、设置
  • 动态配置与参数回调
08ROS2命令行工具
  • ros2 node / topic / service
  • ros2 action / param / bag
09ROS2 Launch文件
  • Launch编写与组织
  • 包含、参数传递、条件判断
10命名空间与节点名称
  • 命名空间的作用
  • 节点名称解析与重映射
11时间与TF坐标变换
  • Time、Duration、Rate
  • TF2广播与监听 · 坐标变换实战
12URDF机器人建模
  • URDF文件结构
  • link与joint定义 · 可视化调试
13XACRO优化建模
  • 宏定义、数学表达式
  • 文件包含 · 简化复杂模型
14Gazebo仿真基础
  • Gazebo安装与配置
  • 加载URDF/SDF · 传感器仿真
15Gazebo联合仿真
  • 运动控制与插件使用
  • 状态反馈
16Rviz2可视化
  • Rviz2配置与使用
  • 显示模型、传感器数据、路径规划
17传感器数据处理
  • 激光雷达(LiDAR)数据读取
  • 相机图像数据读取与显示
18SLAM建图
  • Cartographer / SLAM Toolbox
  • 实时建图与地图保存
19导航栈(Nav2)
  • Nav2架构与配置
  • 全局/局部路径规划 · 行为树
20硬件接口(一)GPIO
  • GPIO控制 (libgpiod/sysfs)
  • PWM输出与舵机控制
21硬件接口(二)I2C/SPI
  • I2C/SPI总线通信
  • 读取IMU、温湿度传感器
22硬件接口(三)串口
  • 串口通信 (Serial)
  • 与Arduino/STM32通信
23Micro-ROS
  • Micro-ROS架构与原理
  • 在STM32/ESP32移植与通信
24实时性保证
  • 实时内核配置 (RT-Preempt)
  • 实时通信机制与QoS策略
25组件与生命周期节点
  • 组件的加载与卸载
  • 生命周期节点状态机管理
26多机通信
  • 分布式系统配置
  • DDS发现机制 · 跨网络通信
27Bag录包与回放
  • ros2 bag使用
  • 录制、回放、提取与后处理
28测试与调试
  • 单元测试(GTest) · 集成测试
  • 日志系统 · 性能分析
29项目实战(一)差速小车
  • 硬件选型 · 驱动编写
  • 里程计计算
30项目实战(二)机械臂控制
  • 运动学解算 · MoveIt2配置
  • 轨迹规划