本文へ移動
原資料を確認

MicroDuck のデーモン実機なし検証|MuJoCo で robotd を動かす

実機と同じ robotd、robotctl、50 Hz ループを MuJoCo の身体につなぎ、起動、短い走行、health とリアルタイム率を確認します。

duck-sim はブラウザーの操作体験とは用途が違います。実際のデーモンと IPC を動かせるためソフト開発に有効ですが、モーターバス、Bluetooth、カメラ ISP、NPU、電源や機構の検証にはなりません。

目的で二つのシミュレーターを使い分ける

既存動作を触るだけならブラウザー版を使います。robotd、robotctl、IPC、ポリシー交換を調べる場合は duck-sim が対象です。制御ループより上を実機と同じコードで動かし、身体側だけを MuJoCo に置き換えます。

二つのリポジトリを同じ版で用意する

コピーできる例
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

RL 側では uv sync により duck-body と ONNX Runtime を含む環境を作ります。配置が標準と異なる場合は DUCK_SIM_RL に絶対パスを渡します。既存作業を壊さないよう、確認用チェックアウトを分けてください。

一台を起動して診断を残す

コピーできる例
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 down

drive は通信と制御の短いスモークテストです。性能値として扱わず、status、health、realtime、両側のログを同じ記録に残します。実時間率が 1.0 を下回ると方策の時間条件も変わるため、台数、カメラ、表示の順で負荷を減らします。

boot は systemd を調べる時に使う

通常モードは方策とクライアント開発向けです。boot は systemd-nspawn 内で実サービスを起動し、更新、権限、再起動順を調べるための経路です。sudo と追加パッケージが必要なので、質問が systemd に関係しないなら通常モードから始めます。

報告には検証できない範囲も書く

Dynamixel バス、Bluetooth、カメラ ISP、NPU、エンコーダー、電源、造形物、床との接触はこの環境では確認できません。「指定版のデーモンシミュレーション」と明記し、実機結果と混ぜないでください。

出典と確認日

資料の確認日 2026年9月23日 · 原資料を確認

  1. 原資料 1 · github.com / simulation.md ↗
  2. 原資料 2 · github.com / duck-sim ↗
  3. 原資料 3 · github.com / README.md ↗