01
课程导论与环境准备
MoveIt与Gazebo仿真联调概述 · Ubuntu+ROS环境搭建 · MoveIt与Gazebo安装验证
环境入门
02
机器人URDF模型基础
URDF语法详解 · link与joint定义 · 标准机械臂URDF建模实战
URDF建模
03
XACRO优化与宏定义
XACRO语法 · 参数化建模 · include与宏封装 · 将URDF转换为XACRO
XACRO宏
04
MoveIt配置助手入门
MoveIt Setup Assistant启动 · 加载URDF模型 · 自碰撞矩阵生成
助手配置
05
规划组与虚拟关节配置
定义规划组(Planning Group) · 配置虚拟关节(Virtual Joint) · 设置末端执行器
规划组虚拟关节
06
运动学求解器配置
KDL与TRAC-IK对比 · 配置运动学求解器 · 求解器参数调优
IK求解器
07
规划场景与允许碰撞矩阵
规划场景(Planning Scene)概念 · 配置允许碰撞矩阵(ACM) · 场景管理
场景碰撞
08
MoveIt配置包生成与解析
生成配置包 · config与launch目录结构解析 · 关键配置文件说明
配置包目录
09
Gazebo仿真环境搭建
Gazebo世界文件创建 · 添加地面与障碍物 · 光源与环境设置
Gazebo世界
10
ROS Control框架入门
ros_control架构解析 · Joint State Controller与Position Controller配置
控制ROS
11
为机械臂编写Gazebo控制器
编写Controller配置文件 · 配置硬件接口(Hardware Interface) · 加载控制器
控制器硬件接口
12
MoveIt与Gazebo通信桥梁
MoveIt与Gazebo的Topic对接 · /joint_states同步 · Action通信机制
通信Topic
13
编写仿真启动文件(Launch)
整合MoveIt与Gazebo的launch文件 · 顺序启动与延迟启动技巧
Launch启动
14
第一个联调测试
启动仿真环境 · 使用RViz拖动规划 · 观察Gazebo中机械臂运动
联调测试
15
C++ Move Group编程接口
初始化MoveGroup · 设置目标位姿 · 执行规划与运动
C++API
16
Python Move Group编程接口
使用Python API控制机械臂 · 设置关节目标 · 笛卡尔路径规划
PythonAPI
17
笛卡尔路径规划与插值
计算笛卡尔路径(Cartesian Path) · 设置步长与跳转阈值 · 路径执行
笛卡尔插值
18
避障规划与场景物体
向规划场景添加物体 · 定义障碍物 · 实现避障运动规划
避障场景
19
抓取与放置任务(Grasp & Place)
配置抓取姿态 · 执行抓取规划 · 实现放置动作
抓取放置
20
Pick and Place完整流程
从感知到抓取再到放置的完整Pipeline · 状态机设计
Pipeline状态机
21
Gazebo传感器仿真集成
添加RGB相机仿真 · 激光雷达仿真 · 传感器数据发布
传感器Gazebo
22
基于仿真感知的运动规划
利用仿真传感器数据更新规划场景 · 实现动态避障
感知动态避障
23
多机械臂协同仿真
配置多机械臂URDF · 多MoveGroup控制 · 协同任务规划
多臂协同
24
仿真时间与实时因子
仿真时间(Sim Time)概念 · Clock机制 · 实时因子对规划的影响
仿真时间实时
25
性能调优与常见问题
规划失败排查 · 控制器参数调优 · 仿真卡顿优化
调优排错
26
自定义规划器集成
OMPL参数调优 · 自定义规划算法插件集成 · 规划器选择策略
OMPL插件
27
轨迹执行与反馈机制
轨迹执行监控 · 状态反馈回调 · 错误恢复策略
反馈监控
28
仿真与实物切换策略
设计抽象接口层 · 一键切换仿真/实物模式 · 参数配置管理
切换抽象
29
综合项目:自动化上下料仿真
需求分析 · 系统设计 · 完整联调实现
项目综合
30
课程总结与进阶方向
知识体系回顾 · 常见问题FAQ · 进阶学习资源推荐
总结进阶