f4b415c54f
web-platform-ci / TypeScript、Lint、Unit、Build (push) Has been cancelled
web-platform-ci / Playwright E2E (push) Has been cancelled
web-platform-ci / TypeScript、Lint、Unit、Build (pull_request) Has been cancelled
web-platform-ci / Playwright E2E (pull_request) Has been cancelled
Web 仿真控制脚本
该目录存放可由 MuJoCo Web 平台“控制 → Python 控制器”直接导入的可信本地脚本。
Go2-W 平衡控制
文件:go2_w_balance.py
使用条件:
- 可导入
/home/cen/Embodied_Workspace/unitree_ros/robots/go2w_description/文件夹/ZIP,或 Unitree 官方/home/cen/Embodied_Workspace/unitree_mujoco/unitree_robots/go2w/MJCF 工程; - 使用 URDF 时选择“转换为 MJCF”和“浮动基座”;
- 使用 URDF 时勾选“为关节添加驱动器”和“添加传感器”,平台会在浮动基座注入6轴 IMU;
- 模型加载后进入“控制 → Python 控制器”,导入本文件;
- 点击“加载脚本”或直接导入后,点击“启用”,再播放仿真。
控制器兼容两套命名:
- Body:官方 MJCF 的
base_link或 URDF 转换模型的base - 腿关节:
FL/FR/RL/RR_{hip,thigh,calf}_joint - 轮关节:官方
*_wheel_joint或 URDF 转换后的*_foot_joint - actuator:官方
FL_hip/FL_wheel风格,或平台生成的<joint-name>_motor - 6轴 IMU:
imu_gyro(三轴角速度)和imu_acc(三轴加速度)
脚本在原地站立和 IMU roll/pitch 调平基础上,实现平台 Python SDK 的标准基本移动指令:停止、前进、后退、左转、右转和原地起跳。加载并启用脚本后,可在“基本移动指令”面板直接操作。前后移动采用四轮速度闭环;转向采用前轮主导、后轮限幅的左右差速,减小后腿 hip 关节摆幅;起跳采用“下蹲—爆发伸腿—腾空收腿—落地准备—恢复”的一次性轨迹。
控制脚本可选定义同步函数 command(name, state) 接收指令。当前标准指令名为:
stopforwardbackwardturn_leftturn_rightjump
其中移动/转向指令会持续生效,直到收到另一条移动指令或 stop。stop 会在轮速降为零后继续执行带积分补偿的站立姿态恢复,使机身自动回正。jump 是一次性原地起跳指令,会先切换到 stop。控制器在下蹲阶段保持完整重心补偿,爆发阶段以小腿竖直推力和轮毂反作用力矩抑制后仰,并记录起跳点;落地接触后会沿机身前向轴自动收回水平漂移。控制器必须确认位置、机身高度、姿态和角速度重新稳定,才会执行下一次已排队的起跳,避免连续起跳逐步后仰。不同接触参数、质量或初始姿态下,可调整 NOMINAL、KP_FINAL、KD、DRIVE_SPEED、DRIVE_ACCELERATION、TURN_RATE、TURN_ACCELERATION、WHEEL_VELOCITY_KP 和 MAX_WHEEL_TORQUE。速度指令采用斜坡限制,避免轮毂力矩阶跃导致机身后仰;起跳会等待轮速和重心稳定,随后以小腿满力矩爆发伸展,并在腾空阶段主动收腿和持续控制俯仰。