01
Gazebo与ROS2环境搭建
安装Gazebo与ROS2 Humble,验证仿真环境连通性,理解节点与话题基础。
环境ROS2
02
机器人模型URDF入门
编写简单URDF模型,在Gazebo中加载并显示机器人,理解link与joint。
URDF建模
03
传感器仿真与数据读取
添加激光雷达与IMU传感器,通过ROS2话题读取仿真数据。
传感器LiDAR
04
机器人底盘控制与里程计
配置差速驱动插件,实现键盘控制移动,理解odom坐标系。
底盘里程计
05
导航框架Navigation2概览
了解Nav2架构,安装并运行Nav2,理解行为树与规划器概念。
Nav2架构
06
地图构建与保存
使用SLAM Toolbox在Gazebo中建图,保存为pgm/yaml地图文件。
SLAM建图
07
全局路径规划器调参
配置Nav2全局规划器,调整A*与Dijkstra参数,观察路径变化。
规划器A*
08
局部路径规划器调参
配置DWA与TEB局部规划器,调整速度与避障参数,优化轨迹平滑性。
DWATEB
09
代价地图参数详解
理解膨胀层、障碍层与静态层,调整膨胀半径与障碍物阈值。
代价地图膨胀层
10
机器人定位与AMCL调参
配置AMCL粒子滤波器,调整粒子数量与更新频率,改善定位精度。
AMCL定位
11
行为树与恢复机制
分析Nav2默认行为树,配置旋转恢复与清除代价地图行为。
行为树恢复
12
速度与加速度限制调参
调整机器人最大线速度、角速度与加速度,防止急停与抖动。
速度加速度
13
导航目标点与航点任务
编写Python脚本发送导航目标,实现多航点连续导航。
航点Python
14
动态障碍物避障测试
在Gazebo中引入动态障碍物,调整规划器参数实现实时避障。
动态避障测试
15
复杂环境导航挑战
设计迷宫或狭窄通道地图,调参通过高难度场景。
迷宫挑战
16
多机器人导航仿真
启动多机器人模型,配置独立导航栈,实现协同导航。
多机器人协同
17
导航性能评估与日志分析
使用Nav2的metrics工具,分析规划时间与路径长度。
性能日志
18
参数动态重配置
使用rqt_reconfigure实时调整导航参数,观察即时效果。
动态配置rqt
19
自定义规划器插件开发
编写简单的全局规划器插件,替换Nav2默认规划器。
插件开发
20
Gazebo仿真加速与优化
调整仿真实时因子,优化物理引擎参数,提升仿真速度。
加速优化
21
真实机器人导航参数迁移
将Gazebo调优参数迁移到真实机器人,对比差异与调整策略。
迁移实机
22
导航故障排查与调试
常见问题如无法规划、定位丢失、抖动等,系统化排查方法。
调试故障
23
自定义行为树节点
使用Nav2的BT Navigator自定义行为树,实现复杂导航逻辑。
行为树自定义
24
激光雷达噪声模拟与滤波
在Gazebo中模拟激光噪声,配置滤波器改善数据质量。
噪声滤波
25
导航与机械臂协同
在机器人上添加机械臂,实现导航到目标点后执行抓取任务。
机械臂协同
26
室内外场景切换与参数适配
从室内地图切换到室外地图,调整规划器与代价地图参数。
场景适配
27
导航系统状态监控与可视化
使用RViz2监控导航状态,自定义显示插件。
RViz2监控
28
深度学习导航感知融合
在Gazebo中集成YOLO目标检测,实现语义导航。
YOLO感知
29
导航系统性能基准测试
设计标准测试场景,对比不同参数组合下的导航成功率。
基准测试成功率
30
综合实战:完整导航系统搭建与调优
从零搭建机器人、建图、调参、部署,完成最终挑战。
综合实战毕业项目