アームを動かしうるプログラムを実行する前に、作業領域 1 メートル以内の貴重品・壊れやすい物・工具・ケーブル・無関係な物を片付けてください。デバッグと運転中は、アームの可動範囲から人が離れるようにします。
- アーム通電後は、関節・モーター・リンク・グリッパ・末端ツールに触れないでください。
- サーボ設定・キャリブレーション・テレオペレーション・データ録画・再生・ポリシー評価の前に、アームが確実に固定されていることを確認します。
- 最低 1 メートルの安全距離を保ち、近くの人がアームが突然動く可能性を理解していることを確認します。
- 異常動作・異音・振動・ケーブル緩み・電源接触不良・通信途絶が起きたら、すぐにプログラムを停止し、電源を切ってから点検します。
- サーボケーブル・USB ケーブル・電源コネクタ・制御ボードケーブルの抜き差しは必ず電源オフで行います。
組み立て済みのロボットアームを購入した場合は本章をスキップし、第 10 章(アーム全体のキャリブレーション)に直接進んでください。
6.1 3D プリントガイド(キット版)
6.1 3D プリントガイド(キット版)
キット版(プリント済み部品なしのサーボとハードウェア)を購入した場合は、まず構造をプリントします。STL ファイルは通常の FDM プリンターで出力できます:
- 材料:PLA+
- ノズル / 積層:0.4mm ノズル + 0.2mm 積層、または 0.6mm ノズル + 0.4mm 積層
- 充填率:15%
- サポート:全面(45° を超える斜面は無視)。水平方向のネジ穴にはサポートを入れない
Leader と Follower の全パーツは 1 つの STL ファイルにまとめられており、サポート最小化の向きに配置済みです:
オプション:ソフトグリッパ(TPU フィンガー)やカメラマウントインサートは soarm_soft_gripper リポジトリを参照してください。
6.2 モーターの計画:ラベル、ID、減速比
6.2 モーターの計画:ラベル、ID、減速比
リーダー用にバスサーボアダプタ 1 つとモーター 6 個、フォロワー用にもう 1 つのアダプタと 6 個を用意します。各モーターに F1〜F6(フォロワー関節 1〜6)または L1〜L6(リーダー関節 1〜6)とラベルを貼ってください — サーボ本体に書いておくだけで、後のデバッグ時間が大幅に短縮されます。
| サーボ型番 | 減速比 | 対応関節 |
|---|---|---|
| ST-3215-C044(7.4V) | 1:191 | L1 |
| ST-3215-C001(7.4V) | 1:345 | L2 |
| ST-3215-C044(7.4V) | 1:191 | L3 |
| ST-3215-C046(7.4V) | 1:147 | L4〜L6 |
| ST-3215-C001(7.4V)/ C018(12V)/ C047(12V) | 1:345 | F1〜F6 |
モーターの種類に合った電源をバスに接続してください:7.4V 版 STS3215 には 5V、12V 版には 12V。リーダーは常に 7.4V モーターです — 12V と 7.4V のモーターを両方持っている場合は、挿す前に必ずアダプタを確認しましょう。間違えるとモーターが焼ける恐れがあります!USB ケーブルは給電されません:電源と USB の両方の挿入が必要です。

SO-ARM101 のサーボ設定・初期化手順は方法・コードとも SO-ARM100 と同じです — ただし SO-ARM101 リーダーの最初の 3 関節の減速比が SO-ARM100 と異なるため、注意して区別・設定してください。
6.3 USB ポートの確認
6.3 USB ポートの確認
ユーティリティスクリプトを実行して、各アームの制御ボードが占有するシリアルポートを探します:
lerobot-find-port
出力例:
Finding all available ports for the MotorBus.
['/dev/ttyACM0', '/dev/ttyACM1']
Remove the usb cable from your MotorsBus and press Enter when done.
[...Disconnect corresponding leader or follower arm and press Enter...]
The port of this MotorsBus is /dev/ttyACM1
Reconnect the USB cable.
時間を節約するコツ:
- 求められたら実際に USB を抜くこと。抜かないとインターフェースを検出できません。
- Linux・Jetson では最初に挿したデバイスが
ttyACM0(通常フォロワー)、2 番目がttyACM1(リーダー)に割り当てられます。 - LeRobot が後で
Could not connect on port '/dev/ttyACM0'を報告したら、権限を付与して再確認:
sudo chmod 666 /dev/ttyACM*
6.4 サーボ ID とボーレートの設定
6.4 サーボ ID とボーレートの設定
設定ツールは正しい ID とボーレートを1 個ずつサーボに書き込みます(理由は第 4 章:全サーボがバスを共有し、重複 ID はまとめて書き換わるため)。
キャリブレーション前の各関節の標準的な配線姿勢は以下の参考画像を参照してください:
リーダーサーボのキャリブレーション参考画像
| 関節 6 | 関節 5 | 関節 4 | 関節 3 | 関節 2 | 関節 1 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
フォロワーサーボのキャリブレーション参考画像
| 関節 6 | 関節 5 | 関節 4 | 関節 3 | 関節 2 | 関節 1 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
フォロワーアームのサーボを設定。 USB ケーブルと電源をフォロワーの制御ボードに接続して実行:
lerobot-setup-motors \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 # <- 前のステップで見つけたポートをここに貼る
ツールが関節ごとに案内します:
Connect the controller board to the 'gripper' motor only and press enter.
グリッパモーター(F6)だけを制御ボードに挿し、Enter を押すと、スクリプトが ID とボーレートを自動設定します:
'gripper' motor id set to 6
続いて:
Connect the controller board to the 'wrist_roll' motor only and press enter.
直前の 3 ピンケーブルはグリッパモーター側に残して構いません。手首回転モーターに新しい 3 ピンケーブルをつなぎ、その 1 個だけをボードに接続します。指示に従って各モーターで繰り返します — 常に 1 個だけ接続します。
Enter を押す前に毎回配線を確認 — 特に電源ケーブルは基板を扱っているうちに緩みやすいです。
スクリプトが終了したら、モーターを順にデイジーチェーンします:各モーターの 3 ピンケーブルを次のモーターへ、最初のモーター(肩旋回、ID 1)のケーブルを制御ボードへ。制御ボードはこの時点でアームのベースに取り付けられます。
リーダーアームのサーボ設定も同様に:
lerobot-setup-motors \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM0 # <- 前のステップで見つけたポートをここに貼る
SO100 ユーザーへ:SO100 と SO101 のコードは互換です — 同じ so101_leader / so101_follower タイプとパラメータを使ってください。
6.5 組み立て
6.5 組み立て
SO-ARM101 の双腕組み立ては SO-ARM100 と同じ — 違いは SO-ARM101 のケーブルクリップの追加と、リーダー関節サーボの減速比のみです。SO100 も SO101 も以下の手順で組み立てられます。組み立て前に、モーター型番・減速比・電源電圧を 6.2 節の表と再度照合してください。
リーダーアームの組み立て
| ステップ 1 | ステップ 2 | ステップ 3 | ステップ 4 | ステップ 5 | ステップ 6 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| ステップ 7 | ステップ 8 | ステップ 9 | ステップ 10 | ステップ 11 | ステップ 12 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| ステップ 13 | ステップ 14 | ステップ 15 | ステップ 16 | ステップ 17 | ステップ 18 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| ステップ 19 | ステップ 20 | ||||
![]() | ![]() |
フォロワーアームの組み立て
フォロワーの組み立てはリーダーとほぼ同じです。唯一の違いは、ステップ 12 以降のエンドエフェクタ(グリッパとハンドル)の取り付け方です。
| ステップ 1 | ステップ 2 | ステップ 3 | ステップ 4 | ステップ 5 | ステップ 6 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| ステップ 7 | ステップ 8 | ステップ 9 | ステップ 10 | ステップ 11 | ステップ 12 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| ステップ 13 | ステップ 14 | ステップ 15 | ステップ 16 | ステップ 17 | |
![]() | ![]() | ![]() | ![]() | ![]() |
6.6 次に進む前のチェックリスト
6.6 次に進む前のチェックリスト
- 両アーム組み立て済み。全サーボが期待どおりの ID で応答する(第 7 章のツールで確認);
- 電源電圧がエディションのルールに一致(スタンダード:両方 5V。Pro:リーダー 5V、フォロワー 12V);
- 両制御ボードが
/dev/ttyACM0と/dev/ttyACM1として認識される; - ケーブルが確実に挿さっており、鋭く折れておらず、関節の可動範囲に入っていない。
サーボが未検出・ID が重複疑い・ニュートラルがおかしい場合は、次章のサーボデバッグツールがまさにその問題を解決します。
















































