最初の起動
最終更新
電源の入ったロボットを操作できる状態にするまでは 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 はポリシーの切り替えです。オフのままだとロボットは通電して立っているだけで、スティックに一切反応しません。これが最も多い「壊れている」という誤診です。
動かないとき
robotctl version— 動いているコードは想定どおりかrobotctl health— 異常はあるか、理由は何かrobotctl monitor— 最も情報量が多い
monitor はクライアントが要求した値と実際に適用された値を並べ、食い違う場合はその理由を示します:
deadman — no intent arrived recently, velocity zeroed
下端には読み込まれているポリシーが表示されます。walk は歩容がまったく異なる 2 つのリリースが同じように名乗るモード名なので、これは見た目以上に重要です。