開成ロボットラボロボットパーツと3Dプリント
秋葉原駅から徒歩10分以内
東京・神田で受取 / 郵送お問い合わせ

ROBOT BLOG

Feetech HD-1910 サーボの ID 設定とキャリブレーション(XGO-Duck)

XGO-Duck で使う Feetech HD-1910 シリアルサーボ15個の ID 設定と、公式ランタイム(xgoduck_runtime_arduino)のブラウザ画面でのキャリブレーション手順。ランタイムの入手先、ID の割り当て表と注意点をまとめました。

HD1910M サーボと Arduino UNO Q の箱

XGO-Duck の関節には、Feetech のシリアルサーボ HD-1910 を15個使います。シリアルサーボは1本の信号線に複数をつなぎ、ID で区別して動かします。組み立ての前に、すべてのサーボに正しい ID を設定しておく必要があります。

HD-1910 の仕様

項目 内容
型番 HD-1910-C001(HD1910M)
外形 34 × 20 × 23 mm
質量 21 ± 2 g
動作電圧 4〜8.4 V
コネクター AMP2.0-3P

HD-1910 は、5個から扱っています(1個あたり3,500円・予約受付中)。

ID の割り当て

ID 関節
10〜14 左脚
20〜24 右脚
30〜33 首と頭
34 口

ランタイムの準備

ID の設定とキャリブレーションには、陸吾(LuwuDynamics)の公式ランタイム xgoduck_runtime_arduino を使います。GitHub の「Code」→「Download ZIP」で zip をダウンロードし、Arduino App Lab の「Apps」横の+から「Import App」で読み込んで「Run」を押します。

新しい UNO Q では、最初に1回だけ準備が必要です(README の「First-time board setup」)。ライブラリのダウンロードが終わったらアプリを止め、App Lab のターミナルでプロジェクトのフォルダに移って、次の2つを実行してから、もう一度「Run」を押します。

python3 tools/prepare-bridge.py
sudo bash tools/router-2m.sh

ブラウザで http://<UNO Q の IP アドレス>:9527 を開くと、ランタイムの画面が表示されます。画面は英語です。以下では、ボタン名を画面の表記のまま書いています。

ID の設定手順

「Servo setup」を開きます。ID を変えるときは、サーボを1つだけつないでください。ID が重複すると、同じ書き込みが複数のサーボに届いてしまいます。

  1. 「Scan all IDs」を押します。ID 0〜253 を探し、見つかった ID(新品のサーボは ID 1)が表示されます。それを押して選びます。
  2. 「Change ID to」に新しい番号を入れ、「Change ID」を押します。「ID 1 → 14 · verified」のように表示されたら、もう一度スキャンして新しい ID を選びます。
  3. 「Set KP/KD」は初期値の 5 と 10 のまま「Set KpKd」を押し、「Read」で KP 5・KD 10 になったことを確かめます。
  4. サーボ本体に ID のラベルを貼り、次のサーボに進みます。

関節の中心合わせ(「Reset Mid」と同じ命令)は、組み立てたあとの「Calibration」でまとめて行います。

「All-servo voltage / overcurrent protection」では、保護の有効・無効(Enable / Disable)と保護電流(入力欄の初期値 1.5 A、「Set protection current」)を、つながっている全サーボにまとめて設定できます。

キャリブレーション

組み立てが終わったら、ロボットを支えた状態で「Calibration」を開きます。

  1. 画面を開くと、すべてのサーボの力が抜けます。
  2. 関節を1つずつ手で機械的な中心に合わせ、その ID の「Set center & hold」を押します。押した関節だけが中心(2048)で止まり、行が緑になります。
  3. 15個すべてで繰り返します。「Unload all」で全関節の力を抜いて、合わせ直すこともできます。
  4. 「Exit」で終了します。終了するとまた力が抜けるので、支えたままにします。「Control」の「Default pose」で立ち姿勢を確かめます。

中心はサーボ本体に書き込まれます。以前のランタイムにあった data/zero_pos.json は、現在のランタイムにはありません。

注意点

  • テストや調整のときは、サーボをストール(動きを止められた状態)にしないでください。
  • キャリブレーションや初めての動作は、ロボットを支えた状態で行います。トルクオフにすると機体が崩れます。
  • 異常な動き、引っかかり、発熱があれば、すぐに止めて原因を確認してください。

組み立て全体の流れは「組み立て手順動画」、実際の様子は「組み立て記録」をご覧ください。