Files
RC_WheelLeg/05_software/train/rc_mjlab/mujoco_sim/README.md
T

2.6 KiB
Raw Blame History

MuJoCo 独立工具集

本目录保存不依赖训练循环的 MuJoCo、姿态、IK、动力学和 MPC 分析工具。脚本通过父目录读取 ../mjcf/scene.xml../mjcf/wheelleg.xml,因此应从 rc_mjlab 工程根目录运行。

工具分类

入口 用途
posture_tool.py 基于解析运动学快速生成站立和低姿态参数表
rl_friendly_opt.py 按轮心位置、关节力矩和雅可比条件数筛选适合 RL 的姿态
posture_optimizer.py 解析计算与 MuJoCo 扫描结合的姿态优化
static_posture_optimizer.py 在重力和地面接触下评估静态站姿、支撑域和离地间隙
ik_diff_sweep.py 扫描 IK 姿态和差速轮跟踪参数,可导出 JSON
run.py 启动完整 MuJoCo 控制、GUI 和 MPC 调试链路
robot.pycontroller.py 仿真机器人接口和控制器
dynamics.pympc.pympc_controller.py Pinocchio 动力学与 OSQP MPC

依赖

执行工程根目录的 uv sync 后,训练环境已经提供 NumPy、SciPy 和 MuJoCo。不同工具还需要:

  • 纯解析工具:Python、NumPy。
  • MuJoCo 扫描:mujoco、NumPy。
  • 完整 MPCpinocchioosqp、SciPy。
  • GUI:系统可用的 Tk/Tkinter。

Pinocchio 和 OSQP 没有加入训练环境锁文件,因为它们只服务于可选 MPC 工具,且 Pinocchio 的安装方式与操作系统、Conda/Python 环境有关。

常用命令

05_software/train/rc_mjlab 下执行:

# 不启动 MuJoCo 的快速姿态表
uv run python mujoco_sim/posture_tool.py
uv run python mujoco_sim/rl_friendly_opt.py

# 姿态扫描
uv run python mujoco_sim/posture_optimizer.py --analyze
uv run python mujoco_sim/static_posture_optimizer.py --quick

# IK 与差速轮参数快速扫描
uv run python mujoco_sim/ik_diff_sweep.py --quick

# 完整 GUI/MPC 仿真,需要可选依赖
uv run python mujoco_sim/run.py

参数边界

这是一份历史工具快照,保留当时用于分析和调参的常量:

  • config.pyposture_optimizer.pystatic_posture_optimizer.py 中的解析质量常量为 12.3 kg
  • 当前新版 MJCF 的惯性质量合计约为 18.0377 kg
  • config.py 的姿态表默认值为髋俯仰 0.666、膝关节 -1.546;比赛训练架构的 Rough 默认姿态为 0.550/-1.125

MuJoCo 直接加载模型的工具会使用 MJCF 内的质量和惯性;显式读取 ROBOT_MASS 的解析计算和 MPC 工具仍使用历史常量。使用输出作为新版本控制参数前,应先根据目标机械状态完成质量、惯性和默认姿态复核。