01
Nav2与仿真环境概述
什么是Nav2?为什么需要仿真?Gazebo与Ignition对比。
概念仿真
02
ROS2与Nav2安装
ROS2 Humble安装、Nav2源码编译、依赖检查。
环境安装
03
Gazebo仿真环境搭建
安装Gazebo、创建简单世界、加载机器人模型。
Gazebo世界
04
机器人模型URDF/SDF
编写差速驱动机器人URDF、添加激光雷达与IMU。
URDF建模
05
Nav2核心概念
生命周期节点、行为树、规划器、控制器、恢复器。
架构核心
06
Nav2配置文件详解
nav2_params.yaml 核心参数解读。
配置参数
07
地图服务与SLAM
使用slam_toolbox建图、保存与加载地图。
SLAM地图
08
全局规划器
NavFn、Smac Planner 2D配置与调优。
规划全局
09
局部规划器
DWB Controller参数详解与调试。
控制局部
10
行为树基础
BT.CPP入门、Nav2自定义行为树节点。
行为树BT
11
Nav2生命周期管理
生命周期节点启动顺序、状态转换。
生命周期状态
12
代价地图
全局代价地图与局部代价地图、膨胀层、障碍层。
代价地图膨胀
13
传感器融合
激光雷达、里程计、IMU数据融合。
传感器融合
14
TF变换
机器人坐标系、odom到map的变换、静态TF发布。
TF坐标
15
Nav2启动文件
编写launch文件、启动Nav2全栈。
启动launch
16
Rviz2可视化
显示机器人模型、代价地图、路径规划。
可视化Rviz2
17
仿真时间与真实时间
/clock话题、仿真时间同步。
时间仿真
18
多机器人导航
多机器人命名空间、独立导航栈。
多机器人命名空间
19
动态障碍物避障
行人仿真、动态障碍物检测与重规划。
避障动态
20
恢复行为
旋转恢复、后退恢复、自定义恢复行为。
恢复行为
21
导航性能调优
规划频率、控制频率、路径平滑。
调优性能
22
Nav2与MoveIt2集成
机械臂与移动底盘协同导航。
MoveIt2机械臂
23
自定义规划器
编写简单的全局规划器插件。
插件规划器
24
自定义控制器
编写差速驱动控制器插件。
控制器插件
25
Nav2测试框架
使用nav2_system_tests进行集成测试。
测试集成
26
日志与调试
使用ros2 log、rqt_console、GDB调试。
调试日志
27
Docker部署
将Nav2仿真环境容器化。
Docker容器
28
真实机器人迁移
从仿真到实车的关键差异。
迁移实车
29
Nav2常见问题排查
里程计漂移、规划失败、崩溃恢复。
排查故障
30
综合实战
搭建完整仿真场景,打通Nav2全流程导航。
实战全流程