Files
Mujoco_WASM/controllers/README.md
T
chenlin 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
refactor(web-platform): release V0.6 精简代码
2026-08-28 14:10:16 +08:00

37 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Web 仿真控制脚本
该目录存放可由 MuJoCo Web 平台“控制 → Python 控制器”直接导入的可信本地脚本。
## Go2-W 平衡控制
文件:`go2_w_balance.py`
使用条件:
1. 可导入 `/home/cen/Embodied_Workspace/unitree_ros/robots/go2w_description/` 文件夹/ZIP,或 Unitree 官方 `/home/cen/Embodied_Workspace/unitree_mujoco/unitree_robots/go2w/` MJCF 工程;
2. 使用 URDF 时选择“转换为 MJCF”和“浮动基座”;
3. 使用 URDF 时勾选“为关节添加驱动器”和“添加传感器”,平台会在浮动基座注入6轴 IMU;
4. 模型加载后进入“控制 → Python 控制器”,导入本文件;
5. 点击“加载脚本”或直接导入后,点击“启用”,再播放仿真。
控制器兼容两套命名:
- 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)` 接收指令。当前标准指令名为:
- `stop`
- `forward`
- `backward`
- `turn_left`
- `turn_right`
- `jump`
其中移动/转向指令会持续生效,直到收到另一条移动指令或 `stop``stop` 会在轮速降为零后继续执行带积分补偿的站立姿态恢复,使机身自动回正。`jump` 是一次性原地起跳指令,会先切换到 `stop`。控制器在下蹲阶段保持完整重心补偿,爆发阶段以小腿竖直推力和轮毂反作用力矩抑制后仰,并记录起跳点;落地接触后会沿机身前向轴自动收回水平漂移。控制器必须确认位置、机身高度、姿态和角速度重新稳定,才会执行下一次已排队的起跳,避免连续起跳逐步后仰。不同接触参数、质量或初始姿态下,可调整 `NOMINAL``KP_FINAL``KD``DRIVE_SPEED``DRIVE_ACCELERATION``TURN_RATE``TURN_ACCELERATION``WHEEL_VELOCITY_KP``MAX_WHEEL_TORQUE`。速度指令采用斜坡限制,避免轮毂力矩阶跃导致机身后仰;起跳会等待轮速和重心稳定,随后以小腿满力矩爆发伸展,并在腾空阶段主动收腿和持续控制俯仰。