ポリシーのホットスワップ
最終更新
Microduck のランタイムは複数のポリシーをホットスワップします。歩行、転倒復帰、各スキルがそれぞれ 1 つの .onnx で、robotd が必要に応じて読み込みます。
前提は共有された観測契約
これができるのは、すべてのポリシーが同一の 61 次元観測契約を共有しているからです。切り替えとは別のネットワークを読み込むことであり、状態変換も並べ替えも要りません。
具体例: walk ⇄ roller
車輪を付けた、あるいは外した後、十字キー上を 3 秒長押しします。
- ロボットが walk なら 1 回、roller なら 2 回鳴く
- ホームポーズに戻る
- そこでそのモードのポリシーを読み込む
- 走行を再開する
数秒、トルクは入ったまま、再起動なし。
robotd.toml は変更されないので、再起動すると設定ファイルのモードに戻ります。恒久化は robotctl configure の [policy] mode で行います。
自分のポリシーを動かす
リリースは不要です。設定でファイルを指すだけです。
[policy]
walk = "/home/radxa/my_walking.onnx"
stand = "/home/radxa/my_stand.onnx"
sudo systemctl restart robotd
このパスは更新を越えて残ります。 リリースが置き換えるのは同梱物であって、別の場所を指すファイルではありません。