以下の内容はhttps://masato-ka.hatenablog.com/entry/2025/04/20/201700より取得しました。


5万円で作る!AI対応ロボットアーム SO-ARM100 完全ガイド#2- 組み立て編-

1. はじめに

この組み立て手順はSO-ARM-100向けです。SO-ARM101の場合は公式ドキュメントを参照してください。

huggingface.co

前回はSO-ARM100と模倣学習のオープンソースプロジェクトLeRobotについて紹介しました。またSO-ARM100の購入方法としてキットや個別に部品を購入する方法を紹介しています。今回の記事では実際に購入した部品を使ってSO-ARM100を組み立てていきます。

masato-ka.hatenablog.com

組み立て作業はLerobotのSO-ARM100チュートリアルに従って行いますが、一部わかりづらい箇所もあるため、この記事も参考にしてください。ここではFollowerアームの組み立てを中心に説明しますが、Leaderアームの作成についてもFollowerアームとの違いを中心に解説します。また、この完全ガイドではmacOSを前提としています。WindowsLinuxではUIや実行方法が異なるため、その場合はチュートリアルを参考にしてください。

◽️ Lerobot SO-ARM100チュートリアル

https://github.com/huggingface/lerobot/blob/main/examples/10_use_so100.md

2. 部品と工具の確認

▼組み立てに使用する部品

  1. ロボットのフレームパーツ(3Dプリンタ出力部品): Seeedで購入した印刷済みのフレームパーツを使用します。SO-AMR100のリポジトに公開されているSTLファイルから若干修正を加えられていますが、基本的には同じものです。

  2. サーボ(STS3215) 12個: 19.5kg/cmトルクのものを使用します。LeaderアームとFollowerアーム両方を合わせて12個必要になります。

  3. インタフェースボード 2セット: Feetech社純正のFE-URL1を使用します。中身はただのUSBシリアル変換なので、Seeedなど3rdパーティ製のボードでも問題ありません。

  4. 電源 6V2.8A(4A以上推奨): 公式では5V4Aのアダプタです。トルクを出すために、6V電圧で動作させたかったので、6V2.8Aの電源を使用しました。現状問題なく動いていますが、ピーク時の消費電流がわからないため、5V4A以上のアダプタを推奨します。

Image.png

▼組み立てに使用する工具

  1. 精密ドライバーセット: 細かいネジしめ作業が必要です。そのため精密ドライバーを使用します。ねじ止めの際はねじの頭を「なめない」ように注意してください。

  2. 小ぶりの金槌: 写真の金槌は大ぶりですが、可能な限り小型のものを用意することをお勧めします。組み立ての中で説明しますが、ID2とID4のサーボをパーツをかなりキツくフレームに嵌め込む必要があるため、金槌で軽く叩きながらはめていきます。なくても組み立てはできますがあると作業が楽になります。

Image.png

3. サーボの初期設定

まずはサーボモーター(以下サーボ)の初期設定を行います。サーボはシリアルケーブルでデイジーチェーン接続されており、各サーボに1から6のIDを設定する必要があります。また、サーボの初期位置(指令値2048)を設定し、ロボットの原点に合わせます。Follower用サーボのID1からID6とLeader用サーボのID1からID6の計12個のサーボ全てにID番号を振ります。

▼Lerobotのインストール

サーボの初期設定はLerobotで提供されているスクリプトを使用します。SO-ARM100のチュートリアルを参考にLerobotをあらかじめインストールしておきます。注意点は「Lerobotのpip installの際に必ず-eオプションをつける」ことです。Lerobotのコンフィグファイルの編集結果を反映するために必要です。また、miniconda環境でのインストールが推奨のため、minicondaの環境を構築してください。

◽️SO-ARM100向けLeRobotのインストール方法 https://github.com/huggingface/lerobot/blob/main/examples/10_use_so100.md#b-install-lerobot

▼ハードウェアの接続

写真のようにインターフェースボードに電源とサーボを1つ接続し、USBケーブルでPCに接続します。今回は6Vの電源を使用するため外部電源の端子はV1を使用します。モータもV1に対応したポートに接続します。但し、30kg/cmトルクのモーターは12V電源を使用するためV2端子を使用します。モーターもV2のポートを使用します。

Image.png

▼USBシリアルのパスの確認

USBシリアルのパス名を確認します。どのような方法でも構いませんが、今回はLerobotのfind_motor_bus_port.py というスクリプトを利用します。

インタフェースボードをPCのUSBポートへ接続した状態で、Lerobotのプロジェクトルートディレクトリ(Gihubからクローンしたディレクトリの中)から以下のコマンドを実行します。

>python lerobot/scripts/find_motors_bus_port.py

以下のメッセージが表示されたらインタフェースボードをUSBポートから取り外してEnterを押下します。

Remove the usb cable from your MotorsBus and press Enter when done.

以下のように、使用されていたUSBシリアルのポート名が表示されます。表示されたUSBシリアルのパスを記録してください。

The port of this MotorsBus is /dev/tty.usbmodem575E0032081
Reconnect the usb cable.

接続するUSBポートを変更するとパスが変わるため、同じポートを使い続けてください。またLinuxのばあいはUSBシリアルのポートに対してパーミション(666)を設定する必要があります。

▼IDと原点の設定

Lerobot付属のサーボ設定スクリプトconfigure_motor.py で初期設定を行います。先ほどと同様にlerobotのプロジェクトルートディレクトリから以下のコマンドを実行します。--portには先ほど記録したインタフェースボードのUSBシリアルのパスを指定します。以下のコマンドではID 1を設定しています。

python lerobot/scripts/configure_motor.py \
  --port /dev/tty.usbmodem575E0032081 \
  --brand feetech \
  --model sts3215 \
  --baudrate 1000000 \
  --ID 1

実行するとサーボが回転して止まります。注意点として、この操作の後はフレームをサーボに取り付けるまで出力軸を回さないようにしてください。 この操作をIDの値を変えながら繰り返し、followerアーム用とleaderアーム用それぞれのサーボにID1からID6を割り当てていきます。組み立て時にサーボのIDが分かるよう付箋などで目印をつけて整理しておきましょう。私は箱に番号を書いて箱の中にしまいました。

4. アームの組み立て

サーボの設定が完了したらFollowerアームを組み立てます。アームの部位ごとに大きく4つのパートに分けて下の部位から組み立てます。

組み立て部位の説明.png

組み立て時の注意点は2つです。

  1. フレームを取り付けるまでサーボの回転軸を回さない: 出力軸は回転させないように組み立てます。特にLeaderアームは回転しやすいので注意してください。但し、神経質になる必要はありません。サーボの設定でリカバリーすることもできます。

  2. ロボットの原点位置に従って組み立てる: フレームの取り付け向きなどは決まった向きがあります。説明と写真をよく確認して組み立ててください。基本的にはモータが左右の動作範囲の中心で固定されているため、フレームも左右の動きの中間点になるように取り付けます。

◽️台座・ショルダーの組み立て

▼台座の組み立て

台座にはID1のサーボを使用します。フレームは台座とサーボ固定具、ショルダーフレームを使います。サーボホーンは受け軸2つと出力軸用1つを利用します。ID5のサーボは受け軸を使わないので、それを使用します。

Image.png

ID0のサーボにケーブルを2本接続します。

Image.png

コネクタを取り付けた後、モーターを台座に入れます。ケーブルは台座の下側と右側から、台座上部のケーブルホルダーに固定します。サーボと台座の固定具は、背面の窪みが上になる向きで取り付けます。左右に2つのネジ穴があるので、タッピングネジで締め付けます。サーボの上面と底面をそれぞれ2箇所、同様にタッピングネジで締めます。

Image.png

Image.png

サーボの出力軸にはサーボホーンを取り付け、真ん中をネジで止めます。このとき、サーボホーンの穴の位置はバッテンになるように取り付けます。この後の工程でも、すべてのサーボホーンのネジ穴の位置はこの位置になります。

Image.png

ショルダーフレームの回転軸のネジ穴には、ネジが飛び出ないようにネジを詰めます。サーボの受け軸側にサーボホーンを取り付け、サーボ、受け軸、回転軸を順に差し込みます。差し込み後はネジを閉めます。受け軸側は手前側のサーボホーンの穴にドライバーを差し込み、奥のサーボホーンにネジを止めていきます。

Image.png

Image.png

Image.png

最後にショルダーアーム下側のサーボホーンにカバーを被せます。

Image.png

▼フレームへのサーボの固定

台座に固定したショルダーフレームにID2のサーボを固定します。ID1の上側に流したケーブルID1へ接続し、さらにもう一本新しいケーブルを接続します。

ショルダーフレームのサーボ受けにID2のサーボをはめます。向きはサーボの受動軸がアームの左側です。

Image.png

固定用のフレームを取り付けます。フレーム外側の出っ張りがアームの左側手前に来るように上から被せます。この時ID1のサーボにつながっているケーブルを下側、もう一方のケーブルを上側に流します。

Image.png

非常に硬いのでサーボを押さえつけながら差し込み、少し差し込むことができたら金槌を使ってフレームを押し込んでいきます。このときサーボにハンマーを当てないこと。また強気叩きすぎないことに注意してください。ショルダーフレームと固定用フレームの高さを揃えてください。

Image.png

Image.png

◽️アッパーアーム・フォアアームの組み立て

▼アッパーアームの取り付け

ID2及びID3のサーボを使ってアッパーアームフレームの取り付けを行います。

Image.png

回転軸についているID2のサーボにサーボホーンに取り付けます。受け軸側もサーボホーンを取り付けます。

Image.png

アッパーフレームのケーブルガイドをアームの正面方向に向けて、垂直に取り付け、サーボホーンへねじ止めします。ねじ止め後はアッパーアームフレームを動かしても大丈夫です。

Image.png

ID2のサーボからケーブルを引っ張りアッパーアームのケーブルガイドに固定する。そのままID3のサーボへ繋ぐ。さらにもう一本ケーブルをID3へ接続した後、アッパーアームに左右2箇所づつねじで固定します。

Image.png

Image.png

▼フォアアームの取り付け

フォアアームのフレームとID4のサーボを取り付けていきます。

Image.png

ID3にサーボホーンとフォアアームを取り付けます。フォアアームはサーボ取り付け穴を上に向けてアッパーアームと直角になるように取り付けてください。

Image.png

ID3のサーボからケーブルを引っ張り、フォアアームのケーブルガイドに通して皿がついたタップネジで軽く固定します。

Image.png

ID3から引っ張ったケーブルと新しいケーブルを取り付け、フォアアームの方向と揃うようにサーボ取り付け穴に設置します。

Image.png

ID2のサーボと同様に、サーボ固定用のフレームでID3のサーボを固定します。サーボ固定用のフレームの出っ張りがサーボケーブル側に来るようにしてください。差し込み後、左右二箇所づつタップねじで固定します。

Image.png

◽️リストの組み立て

リストフレームを使ってグリッパを取り付けるYaw軸を作っていきます。

Image.png

ID4のサーボにサーボホーンを取り付け、リスト用のフレームを取り付てください。湾曲している側をアームの左側にし、フォアアームと同様にアッパーアームと直角になる方向で取り付け、ねじ止めします。

Image.png

ID4のサーボから出ているケーブルをリストフレームのフォアアーム側の穴に通し、ID5のサーボへ接続します。さらにに新しいケーブルを取り付け、同じ穴に通してリストフレームに差し込んでいきます。取り付け後、タップネジで裏表二箇所ずつ固定してください。

Image.png

Image.png

◽️グリッパの組み立て

グリッパを組み立てて先ほどのリストのYaw軸へ取り付けていきます。

まずはグリッパの固定フレームを爪が下側を向くようにID5のサーボへ取り付けます。

Image.png

ID6のサーボにグリッパの爪を取り付けます。サーボを縦向きにして、サーボの表面に向かって左側に倒す向きで取り付けます。

Image.png

グリッパ固定側のフレームへ爪をつけたID6のサーボを差し込み左右両側をねじ止めで三箇所づつ固定します。ID5からのケーブルをID6に接続すると完了です。

Image.png

◽️リーダーアームの組み立て(1分)

基本はフォロワーアームと組み立て方法は同じですが、以下の二点に違いがあります。

  1. 利用するサーボはギアを1つ取り除く。

  2. リーダーアーム用のグリッパを取り付ける。

▼ サーボのギアを取り除く

リーダーアーム用のサーボは、すべてギアを取り除いて手で操作しやすくします。STS3215はバックドライバビリティが低いため、手でモーターを回しにくく、そのまま使用すると操作が困難です。ギアを外すことで、手軽に動かせるようになります。

サーボ四隅にあるネジをドライバーで外し表側の蓋を開けます。裏蓋も取れるので、抑えながら表蓋だけ取りましょう。

Image.png

サーボの下側手前にあるギアを1枚抜き、再度蓋を閉めてネジを締め直します。この時、絶対に他のギアを回さないようにします。また、ギアを取り外した後は出力軸が回転しやすくなっています。アームを組み立てる際はFollowerアーム以上に軸のずれに注意してください。サーボホーン取り付け後、マジックなどで取り付けた際の向きがわかるように印をつけておくと良いです。

Image.png

Image.png

▼リーダーアーム用のグリッパの取り付け

リーダーアームの手先は手で持ちやすいようにグリップになっています。

Image.png

グリッパの固定フレームにグリップを取り付ける。差し込みが硬いので金槌などを使い差し込む。

Image.png

差し込んなグリップが下側を向くようにID5のサーボへ取り付けます。

Image.png

ID6のサーボにトリガを取り付けます。サーボを縦向きにして、サーボの表面に向かってトリガの窪みが奥になるように取り付けます。

Image.png

グリッパの固定フレームへID6のサーボを差し込み、左右両側をねじ止めで三箇所づつ固定します。ID5のサーボから出ているケーブルをID6のサーボへ接続すれば完成です。

以上で組み手は完了となります。

5. まとめ

今回はSO-ARM100の組み立てを行なっていきました。組み立て作業自体は1アーム1時間程度で組み上げることができます。組み立て成功のコツは、モーターのキャリブレーション後に軸を動かさないこと、フレームを正しい方向で設置することです。

次回はインタフェースボードの接続とキャリブレーションを行い、テレオペレーションの実行まで行います。




以上の内容はhttps://masato-ka.hatenablog.com/entry/2025/04/20/201700より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14