后期 Sim2Sim 工具
本目录保存比赛训练架构之后形成的 MuJoCo 策略验证工具。v0.8.0 在早期 Sim2Sim 基础上增加 ONNX 策略加载、IK 参数扫描、纯 IK 绕桩验证和批量路线检查;训练任务与 MJCF 不在本阶段修改。
主要入口
nav_sim2sim.py:Pygame 面板与 MuJoCo 多任务导航,Rough 策略优先加载根目录的model_6800.onnx。sim2sim.py:较轻量的键盘控制与策略回放入口,优先加载model_6800.onnx,缺失时回退到早期model_rough.pt。ik_slalom_sim2sim.py:不依赖 RL 策略的 IK、差速轮、路径跟踪和绕桩测试。ik_compensation_sweep.py:批量扫描 IK 补偿参数并输出排序结果。nav_route_sim2sim_check.py:使用 ONNX 策略批量检查内置任务或外部航点路线。export_onnx.py:将兼容的 PyTorch actor checkpoint 导出并核对为 ONNX。interface/mujoco_io.py:MuJoCo 模型、传感器和执行器接口。policy/policy_runner.py:PT/ONNX 策略加载与历史观测缓存。
环境
主训练环境继续由根目录的 uv.lock 管理。后期 Sim2Sim 新增的 Pygame 与 ONNX Runtime 单独记录在 sim2sim/requirements.txt,运行时叠加,避免重新解析时改变已归档的 MuJoCo nightly 版本:
uv run --with-requirements .\sim2sim\requirements.txt python .\sim2sim\nav_sim2sim.py
训练工程提供 MuJoCo、NumPy、PyTorch、Matplotlib 和 pynput;专用 requirements 显式补充 Pygame 与 ONNX Runtime。下面其他命令同样使用 --with-requirements .\sim2sim\requirements.txt。
常用命令
# 比赛 Rough 策略交互回放
uv run --with-requirements .\sim2sim\requirements.txt python .\sim2sim\nav_sim2sim.py
# 轻量策略回放
uv run --with-requirements .\sim2sim\requirements.txt python .\sim2sim\sim2sim.py
# 纯 IK 绕桩验证
uv run --with-requirements .\sim2sim\requirements.txt python .\sim2sim\ik_slalom_sim2sim.py --test slalom
# IK 补偿参数扫描
uv run --with-requirements .\sim2sim\requirements.txt python .\sim2sim\ik_compensation_sweep.py --top 12
# 使用内置绕桩任务做批量 Sim2Sim 路线检查
uv run --with-requirements .\sim2sim\requirements.txt python .\sim2sim\nav_route_sim2sim_check.py `
--terrain-xml .\sim2sim\terrain\scene_terrain.xml `
--mission slalom `
--onnx .\model_6800.onnx
# 导出早期参考 PT 权重;也可用 --pt-path 指定其他 checkpoint
uv run --with-requirements .\sim2sim\requirements.txt python .\sim2sim\export_onnx.py
模型与边界
../model_6800.onnx是last_not_slalom_1050最终真机工程使用的比赛 Rough 策略,SHA-256 为3C994BDD3434AD15770A52AC0E8D229F502F00D6511CDD42C2E2C742301AEF13。../model_rough.pt是较早阶段的参考 checkpoint,两者不是同一版本的权重。- Crawl 模型未在本阶段归档;需要 Crawl 策略的入口会查找
model_crawl.onnx或model_crawl.pt。 nav_route_sim2sim_check.py依赖../tools/nav_tools/route_safety_check.py的航点和避障几何定义。
运行时生成的日志、临时 XML 和 route_check_runs/ 不纳入版本库。源目录中的大量路线试验结果也未复制;它们包含重复轨迹和本机绝对路径,不属于可复用程序源码。