LeRobotプロジェクト

アームの組み立て編

ついに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設定まで、手順は多いですが一つ一つ進めれば必ず完成できました。

次回はいよいよ、このアームを実際に動かしてみたいと思います。お楽しみに!

by momoi.org LeRobot team