先判断是否需要这套仿真
只想体验动作,用浏览器仿真最快;要改 robotd、robotctl、策略加载或客户端通信,再使用本页的守护进程仿真。它运行真实控制程序,只把实体电机和传感器接口替换为 MuJoCo 通道。
固定两个仓库再开始
把 microduck 与 microduck_rl 放在相邻目录,或者用 DUCK_SIM_RL 指定后者的绝对路径。RL 仓库需要先生成包含 duck-body 与 ONNX Runtime 的虚拟环境。
git clone https://github.com/pollen-robotics/microduck.git
git -C microduck checkout --detach e90389492bd4da42f60da343983e50cecd43b54b
git clone https://github.com/pollen-robotics/microduck_rl.git
git -C microduck_rl checkout --detach cb70b792312d559a4da09064d92009079671815f
cd microduck_rl
uv sync上述版本是本站 2026-09-23 核查快照。不要在已有改动的目录里强行切换提交;为复现新建独立目录更容易保留证据。
启动一只鸭并做短检查
cd /absolute/path/to/microduck
DUCK_SIM_RL=/absolute/path/to/microduck_rl scripts/duck-sim
scripts/duck-sim status
scripts/duck-sim drive
scripts/duck-sim ctl health
scripts/duck-sim realtime
scripts/duck-sim downdrive 只发送约八秒的前进请求,适合确认控制链路,不是速度或稳定性成绩。把 status、health、realtime、robotd 日志和 MuJoCo 日志放在同一份记录中。实时率低于 1.0 时,策略看到的时序已经改变;先减少鸭子和相机数量,再考虑无窗口运行。
plain 与 boot 回答不同问题
普通启动适合策略、IPC、控制循环和客户端。boot 模式把每只鸭放进真实 systemd 容器,适合验证服务账户、目录权限、更新健康门和重启顺序,但需要 sudo、systemd-nspawn 与 mmdebstrap。不是排查系统服务时,不必先承担这层复杂度。
明确写出验证边界
通过本地仿真,可以写“在指定提交的守护进程仿真中复现”。不能据此写成电机总线、蓝牙、相机、NPU、打印结构或实地接触已经验证。跨过这个边界时,另建实体测试清单。
来源与核查日期
资料核查于 2026年9月23日 · 已核查原始资料