YouDuck.ai

最初の起動

最終更新

電源の入ったロボットを操作できる状態にするまでは 4 ステップです。

1. ソフトウェアの状態を確認する

毎回、最初に実行するコマンド:

robotctl version

各デーモンが実行中のバージョンとインストール済みのバージョンを並べ、食い違えば警告します。

これを飛ばさないでください。更新後に古いコードのまま動いているデーモンは、いま直したはずのバグが直っていない状態と見分けがつきません

robotctl health

ハードとソフトの状態を 1 つのレポートにまとめます。異常時や到達不能時は非ゼロで終了するため、スクリプトの前提条件としてそのまま使えます。

2. 関節に電源を入れる

sudo robotctl robot init

約 2 秒かけてホームポーズへ移行します。すべての関節が動くので、実行前にスタンドに載せてください。

脱力に戻すには:

sudo robotctl robot relax --yes

relax は電源を切るため、支えがなければロボットは崩れ落ちます--yes を要求するのはそのためです。

止め方は 3 通りあり、同じではありません:

操作 結果
robot relax --yes 電源断、崩れ落ちる
Start をもう一度押す ポリシー停止、立ったまま
robot.stop 速度ゼロ、立ったまま

3. ゲームパッドをペアリングする

ペアリングはパッド 1 台につき 1 回だけ。以降は padd.service が起動時から自動で処理します。

sudo robotctl pad pair

MAC アドレスは不要です。確認:

robotctl pad status

2 行表示されます。両者は別々に壊れるからです。接続済みのパッドと死んだドライバの組み合わせは、外から見ると「無視されている」のと区別がつきません。

4. Start を押す

Start を押すまで何も動きません。 Start はポリシーの切り替えです。オフのままだとロボットは通電して立っているだけで、スティックに一切反応しません。これが最も多い「壊れている」という誤診です。

動かないとき

  1. robotctl version — 動いているコードは想定どおりか
  2. robotctl health — 異常はあるか、理由は何か
  3. robotctl monitor — 最も情報量が多い

monitor はクライアントが要求した値と実際に適用された値を並べ、食い違う場合はその理由を示します:

deadman — no intent arrived recently, velocity zeroed

下端には読み込まれているポリシーが表示されます。walk は歩容がまったく異なる 2 つのリリースが同じように名乗るモード名なので、これは見た目以上に重要です。