01
MuJoCo初识与环境搭建
MuJoCo是什么?为什么选择MuJoCo做四足机器人仿真?安装MuJoCo与Python绑定,验证第一个空仿真环境。
环境配置入门
02
XML模型基础
理解MuJoCo的XML模型结构(mujoco、worldbody、geom、body),搭建一个静态的“地面+小球”场景。
XML场景搭建
03
四足机器人躯干建模
使用box geom搭建机器人的躯干(身体),设置质量、颜色、摩擦系数等物理属性。
几何体物理属性
04
关节与执行器
理解关节(joint)类型(hinge、slide、free),为躯干添加一个简单的旋转关节,并绑定执行器(actuator)。
关节执行器
05
单腿结构设计(上)
设计四足机器人的一条腿,包含髋关节(hip)和膝关节(knee),使用capsule或cylinder geom模拟腿杆。
腿部运动链
06
单腿结构设计(下)
完善单腿的运动学链,设置关节限位(range)、阻尼(damping)、刚度(stiffness),验证单腿摆动。
限位阻尼
07
四足机器人完整装配
将四条腿对称装配到躯干上,形成完整的四足机器人模型,检查模型是否对称且无穿透。
装配对称性
08
传感器与状态读取
添加位置传感器(position sensor)、速度传感器(velocity sensor),学习如何从仿真中读取关节状态。
传感器状态反馈
09
接触与地形建模
创建复杂地形(如斜坡、台阶、随机粗糙地面),理解接触参数(solref、solimp)对稳定性的影响。
地形接触
10
仿真控制基础
使用Python脚本控制单个关节的位置(position control)和速度(velocity control),观察机器人响应。
Python控制
11
PD控制器原理与实现
讲解PD控制器的原理,在Python中实现一个简单的PD控制器,让机器人单腿做周期性摆动。
PD控制摆动
12
行走步态规划(一)
介绍四足机器人常见步态(walk、trot、bound、gallop),重点讲解trot步态的时序逻辑。
步态trot
13
行走步态规划(二)
在Python中实现trot步态的轨迹生成器,输出髋关节和膝关节的角度轨迹。
轨迹生成Python
14
行走步态规划(三)
将轨迹生成器与PD控制器结合,让四足机器人在平坦地面上实现trot步态行走。
行走控制
15
姿态控制与平衡
引入机身姿态控制,使用IMU传感器数据(虚拟)调整机身水平,防止行走时侧翻。
姿态IMU
16
逆运动学(IK)入门
讲解逆运动学的基本概念,针对四足机器人单腿实现几何法IK求解器。
IK几何法
17
基于IK的步态控制
用IK求解器替代预定义轨迹,实现基于足端位置控制的步态,提高地形适应性。
足端控制自适应
18
仿真加速与并行
学习MuJoCo的仿真加速功能(mjtNum、多线程),实现多个机器人并行仿真。
加速并行
19
可视化与调试工具
使用MuJoCo的原生可视化窗口,学习如何高亮接触点、显示力矢量、绘制轨迹。
可视化调试
20
奖励函数与强化学习接口
将MuJoCo仿真环境封装为Gym环境,设计简单的奖励函数(前进速度、能耗、稳定性)。
Gym奖励
21
PPO算法训练四足行走
使用Stable-Baselines3的PPO算法,训练四足机器人完成直线行走任务。
PPO强化学习
22
仿真到现实(Sim-to-Real)初探
讲解领域随机化(domain randomization)的基本思想,在MuJoCo中实现参数随机化。
Sim2Real随机化
23
高级地形感知
添加激光雷达(ray sensor)或深度相机(通过Geom group模拟),让机器人感知前方地形。
感知激光雷达
24
动态步态切换
实现基于地形感知的动态步态切换逻辑(平坦地面用trot,崎岖地面用walk)。
步态切换自适应
25
跳跃与越障
设计跳跃动作的轨迹(蹲下-起跳-腾空-落地),在仿真中实现四足机器人跳过障碍物。
跳跃越障
26
抗扰动能力测试
在仿真中施加外部推力(xfrc_applied),测试机器人的抗扰动恢复能力。
扰动鲁棒性
27
模型参数优化
使用网格搜索或贝叶斯优化,调整机器人物理参数(腿长、质量分布、关节刚度)以提升行走性能。
优化参数
28
多机器人协同仿真
在同一个场景中放置多个四足机器人,编写简单的协同控制逻辑(如编队行走)。
多机器人协同
29
仿真数据记录与回放
记录仿真过程中的关节数据、机身位姿,实现仿真回放功能,用于后期分析。
数据记录回放
30
综合项目:四足机器人越野挑战赛
设计一个包含多种地形(草地、沙地、斜坡、楼梯)的赛道,让机器人自主完成越野任务。
综合项目越野