Arduino UNO Q の初期設定と接続確認
データ通信対応の USB-C ケーブルで Arduino UNO Q を接続し、Arduino App Lab で対象ボードを選びます。初回設定を済ませたら、必要に応じて LED のサンプルを実行し、ボードが応答することを確認してから停止します。
ボードと PC を同じローカルネットワークに接続し、Network Info に表示される実際の IP アドレスを控えます。使用するランタイムの版に合わせて Bridge を準備してアプリを起動し、ボードの IP アドレスのポート 9527 でモーター制御画面を開きます。画面が開くことと、Bridge 経由でモーターの状態を取得できることは別々に確認します。
サーボ ID と取り付け位置を対応させる
配線を変更する前に電源を切ります。ID の設定はサーボを 1 個ずつ接続して行います。スキャンして現在の ID を確認し、目的の ID に変更した後、再スキャンして反映を確認します。
参考となる割り当ては左脚 10〜14、右脚 20〜24、頭部と首 30〜33、口 34 です。サーボに ID を表示し、物理的な取り付け位置も記録します。バス上の ID の重複や左右の取り違えは、関節の誤動作につながります。
部品の向き、締結箇所、ケーブルの余裕を確認する
組み立て前に、キットの版と BOM を照合し、3D プリントした部品のベアリング座とサーボの取り付け部を仮合わせします。左右のリンク、サーボホーン、ねじの位置を確認し、似た部品は取り付け先ごとに分けます。
外装を閉じる前に、動く部品が干渉しないこと、ケーブルに余裕があり挟み込まれていないこと、サーボのラベルが取り付け記録と一致することを確認します。基板のリビジョンが異なる場合は、対応する仕様と照合してから接続してください。
初回の動作試験と異常時の切り分け
最初の姿勢確認では本体を支え、足が床に触れない状態で意図した関節が動くかを確認します。既定姿勢が正常であることを確認できたら、周囲を片付けた平らな床で小さな入力から試します。引っ掛かり、意図しない動き、更新されないフィードバックがあれば停止します。
画面が開かない場合は IP アドレス、ポート、ネットワーク、アプリの起動状態を確認します。画面が開いてもサーボが見えない場合は Bridge と診断表示を確認し、電源を切ってから電源系統、コネクタ、ID を点検します。問い合わせ時はキットの版、アプリの版、関節 ID、操作手順、エラー表示を控えてください。
基本ランタイムの診断と関節校正
App Lab でボード用ライブラリのダウンロードを完了し、アプリを停止します。UNO Q 上の実際のアプリディレクトリで python3 tools/prepare-bridge.py を実行し、続けて sudo bash tools/router-2m.sh を実行します。完了したら App Lab で Run を選びます。
基本ランタイムの現行の master では、起動時の Inference only モードでモーターのトルクが解放されています。動作指令を出す前に、診断表示でサーボ 15/15 台と IMU がオンラインで、フィードバックが更新されることを確認します。
本体を支えて、各関節を資料の機械的なゼロ位置に合わせ、対象関節の Set center & hold を押します。保持開始時にサーボが動くことがあります。校正後は自機の data/zero_pos.json をバックアップします。ゼロ姿勢と Default pose は用途が異なり、トルクを切ると本体が倒れることがあるため、支持した状態で操作します。
AI 版のカメラ・音声・ToF を個別に確認する
AI ブランチ専用の App Lab ZIP を使い、公開されている SHA-256 と照合し、更新前に既存のアプリとデータをバックアップします。その版の手順に従って Bridge と USB Host を設定します。USB Host に切り替えると USB/ADB 接続が切れることがあるため、先にネットワーク経由の接続を確認します。
App Lab の Import App で照合済みの ZIP を読み込み、すべてのアプリを停止し、Wi-Fi 経由で SSH 接続できることを確認します。UNO Q 上の AI アプリのディレクトリで bash tools/install-ai-support.sh、続けて sudo bash tools/router-2m.sh を実行し、App Lab からネットワーク経由でアプリを起動します。
AI の操作画面はボードの IP アドレス直下、モーター制御はポート 9527 にあります。マイク、スピーカー、カメラを個別に試し、音声機能に必要なアカウント連携とエージェント選択を確認します。ToF はオプションです。対応する版が指定する VL53L5CX と、市販の VL53L8CX は区別し、型番、基板、コネクタ、ドライバを確認してから測距値を検証します。
ToF の確認では /api/tof/status を確認します。測距中で fresh=true、seq が進み、valid_zones が 0 より大きいことを確認してから回避動作を試します。
別の PC で学習し、ONNX モデルを検証する
UNO Q 版に対応する学習環境を CUDA 対応の別の PC で実行し、対象タスクをシミュレーションで試して ONNX に書き出します。読み込む前に、ランタイムが期待する関節順、観測値の構成と順序、正規化が学習時の設定と合うことを確認します。
モデルとともに、ハードウェアのリビジョン、ランタイムと学習コードのリビジョン、校正日、チェックサムを記録します。実機での初回確認は本体を支えて行い、関節の反応やセンサー値が想定と違う場合は停止します。
原設計と Arduino UNO Q 版を見分ける
原設計の Microduck は Pollen Robotics のプロジェクトです。ここで扱う Arduino UNO Q 版は、Luwu Dynamics のハードウェアおよびランタイム資料に基づいています。
部品、ソフトウェア、学習済みモデルを選ぶときは、コントローラーと基板の版、サーボの配置、関節順、校正データの組み合わせを確認します。外観の似た別構成の設定やモデルを使う前に、対応する仕様を確認してください。