🤖 ROS2 & 微控制器 · 实战目录
🎓 30章 从入门到综合项目
01
ROS2与微控制器集成概述
课程介绍
为什么需要集成
典型应用场景
学习路径规划
02
ROS2核心概念速览
节点
话题
服务
动作
参数
与微控制器关系
03
微控制器选型指南
STM32
ESP32
Arduino
Teensy
选型依据
04
开发环境搭建 (上)
Ubuntu 22.04
ROS2 Humble
VS Code
Git
05
开发环境搭建 (下)
STM32CubeIDE
Arduino IDE
ESP-IDF
交叉编译链
06
通信桥梁:串口基础
UART
波特率
数据帧格式
流控制
07
自定义ROS2消息与数据结构
.msg文件
代码生成
C结构体映射
08
STM32串口驱动开发
HAL库UART
中断接收
DMA
环形缓冲区
09
ESP32串口驱动开发
Arduino框架
ESP-IDF
FreeRTOS任务
10
ROS2串口通信节点
serial库
boost::asio
C++节点
11
协议设计 (上)
帧头帧尾
CRC8/CRC16
转义处理
12
协议设计 (下)
状态机解析
打包器
超时重传
13
实战:控制LED灯 (上)
微控制器GPIO
ROS2控制命令
14
实战:控制LED灯 (下)
ROS2 Service
微控制器响应
15
读取传感器数据 (上)
DHT11
串口发送
16
读取传感器数据 (下)
ROS2话题
rqt_plot
17
电机控制 (上)
PWM
L298N/DRV8833
编码器
18
电机控制 (下)
Twist指令
PID闭环
19
ROS2 Action与微控制器
Action接口
长时间任务
20
FreeRTOS集成
任务创建
队列
信号量
21
ROS2参数与微控制器配置
动态参数
EEPROM/Flash
22
micro-ROS简介
对比串口协议
适用场景
23
micro-ROS环境搭建
STM32/ESP32移植
Serial/UDP
24
micro-ROS发布订阅
发布传感器
订阅指令
25
micro-ROS服务与动作
远程过程调用
长时间任务
26
多传感器融合
MPU6050
卡尔曼滤波
ROS2融合
27
URDF与微控制器
URDF模型
虚拟关节驱动
28
系统调试与性能优化
逻辑分析仪
延迟分析
CPU/内存优化
29
综合项目 (上)
两轮差速小车
硬件选型
电路驱动
30
综合项目 (下)
Nav2导航
SLAM建图
自主导航
课程总结