YouDuck.ai

コマンドとリファレンス

最終更新

参照用の資料です。頭から読むものではありません。

3 つのツールと、どれを使うか

初めての人が最も混同する点です。Microduck には 3 つのコマンドラインツールがあり、動く場所も解決する問題も異なります。

ツール 動く場所 使う場面
robotctl ロボット上 日常のすべて。診断、設定、走行、更新。リリースに同梱されています。
duckctl 手元の PC ロボットにネットワークが無い、あるいは ssh を使いたくないとき。Bluetooth LE 経由。
scripts/dev-push.sh 手元の PC ロボットのコードを変更し、CI を待たずに入れたいとき。

判断は 3 つのルールで済みます。

  • ssh で入れるrobotctl
  • ロボットが一度も wifi に繋がったことがないduckctl しかありません。wifi connect は無線経由で、それ自体はネットワークを必要としません。この鶏と卵の唯一の出口です。
  • duckctl をロボットに入れないでください。 リリースの何もこれに依存していません。

権限のルール

  • 読み取り専用のコマンドに権限は不要です。
  • ロボットの状態を変える操作にはすべて sudo が必要です(あるいは configd--allow-user / --allow-groupupdater.tomlallow_uids / allow_gids)。

必ず走らせる 3 手順

症状が何であれ、まずこの 3 つです。

robotctl version    # 動いているコードは想定どおりか
robotctl health     # 異常はあるか、理由は何か
robotctl monitor    # 要求値と適用値、そしてクランプされた理由

version が最初なのは、更新後に古いコードのまま動いているデーモンが、いま直したはずの修正が効いていない状態とまったく同じに見えるからです。

開発ボードではもう 1 つあります。robotctl healthunits ブロックが、各デーモンがどのリリースから起動したかを列挙し、インストール済みと食い違えば名指しで警告します。

さらに詳しい資料 (中国語)

このセクション