アームの組み立て編
ついにLeRobotプロジェクトが本格始動しました!この記事では、3Dプリントの準備から、LeaderアームとFollowerアームの詳しい組み立て手順まで、たくさんの写真と共にご紹介します。これから組み立てる方の参考になれば嬉しいです。
記念すべき第一弾として、オープンソースのロボットアーム「SO-101」の組み立てに挑戦します。基本的には、公式のチュートリアルを参考に進めていきます。
パーツの印刷
アームのパーツはすべて3Dプリンターで作成します。STLファイルは、公式GitHubリポジトリからダウンロードできます。
今回はBambu LabのA1 miniを使用してパーツの印刷を行いました。A1 miniは印刷エリアがコンパクトなので、一度にすべてのパーツを印刷することはできません。いくつかのグループに分けて、計画的に印刷を進めるのがおすすめです。

Step 1: Followerアームの組み立て
まずは、実際に物をつかむFollowerアームの組み立てていきます。
1. 土台の組み立てとモーターの設置
アームの土台となるJoint1部分から組み立てます。
全体的にモーターを取り付ける際は、少し力が必要ですが、グッと奥まで押し込みましょう。取り付けたら、上からカバーを装着して固定します。


2. アームの連結とネジ止め
土台にアームパーツを順番に連結していきます。各モーターは、ぐらつきがないようにネジでしっかりと固定してください。
joint2
- モーターの取り付けにかなり力が必要でした。
- 少々部品が割れてしまいましたが、そのためのカバーだと思われます。



joint3



joint4
- 先にパーツにモーターをつけてから接続しました。
- この写真では、joint4の下のカバーパーツをつけ忘れています…



joint5
- パーツにモーター入れるの非常に苦労しました…
- ちょっとパーツを削り、最後はパワーで押し切りました🦾


3. グリッパー部分の組み立て
いよいよ、物をつかむグリッパー部分です。回転軸のパーツを取り付け、グリッパー本体を組み立てていきます。



4. モーターコントローラの組み立て
最後にモーターコントローラーを組み立てます。この基板が、モーターを制御することができます。凹凸の方向や、ねじ止めするのは片側だけなど少々注意が必要でした。


🎉Followerアーム完成!!
これでFollowerアームの完成です。今回は、双腕の実装を目指しているので2つのFollowerを作成しました。

Step 2: Leaderアームの組み立て
次に、操作側となるLeaderアームを組み立てます!基本的な構造はFollowerアームと似ていますが、一つ重要な下準備があります。
⚠️組み立て前の重要なポイント
Leaderアームの組み立てで最も重要なのが、モーターの準備です。作業を始める前に、必ずすべてのモーターから一番上の小さな歯車を取り外してください。
この作業を行うことで、Leaderアームを滑らかに操作することができるようになります。



準備ができたら、組み立てスタートです。

組み立て手順はFollowerアームとほぼ同じです。
1. 土台の組み立てとモーターの設置





3. ハンドル部分の組み立て
Followerと唯一違う部分です。モーターにトリガーを結合させてハンドルを作成します。


4. モーターコントローラの組み立て
Followerの方と全く同じなので、そちらを参照してください。
🎉Leaderアームも完成!!
これでLeaderアームも完成です。

モーターIDの設定
組み立てたアームを動かすための最終ステップです。各モーターに固有のID(住所のようなもの)を割り当て、コントローラーが個別に認識できるようにします。
公式のチュートリアルを参考に進めていきました。
今回はLinuxでモーターIDを設定しました。Macでも可能です(やり方は少々違うので注意です)
⚠️注意
この作業は、全ケーブルを接続する前に、モーターを1つずつ基板につないで行います。(組み立て時、すべてのモーターを接続しましたが片側を抜く必要があります…)
1. 通信ポートの特定
まず、 USB ポートへのアクセスを許可します。これを実行しないと、PCがアームを認識できずにエラーが出ることがあります。
sudo chmod 666 /dev/ttyACM*
次に、PCがどちらのアームを認識しているか、それぞれのUSBポート名を調べます。アームを1台ずつPCに接続し、ターミナルで以下のコマンドを実行しました。
python -m lerobot.find_port
画面の指示に従い、USBケーブルを抜き差しすると、dev/ttyACM0のようなポート名が表示されました!それぞれのアームがどのポート名に対応しているのかメモしておきましょう。
2. IDの書き込み
次に、メモしたポート名を使用し、ID設定スクリプトを実行します。
* followerの場合
python -m lerobot.setup_motors
–robot.type=so101_follower
–robot.port=メモしたポート名
* leaderの場合
python -m lerobot.setup_motors
–teleop.type=so101_leader
–teleop.port=メモしたleaderポート名
コマンドを実行すると、`’gripper’ motorを接続してEnterを押してください`のように指示が出ます。指示されたモーターだけを基板に接続し、Enterキーを押す、という作業を全モーター分繰り返します。
全てのID設定が終わったら、チュートリアル通りにモーターケーブルを全て接続して完成です。
まとめ
これで、LeaderアームとFollowerアームの組み立ては完了です。パーツの印刷からID設定まで、手順は多いですが一つ一つ進めれば必ず完成できました。
次回はいよいよ、このアームを実際に動かしてみたいと思います。お楽しみに!
