7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ゼロから始める “SO-Arm 100”:作り方と動かし方のすべて

Last updated at Posted at 2025-03-26

自作したロボットアームの製作過程を詳しく紹介します。日本語の記事が少なかったので、同じように挑戦したい人の参考になればと思います!

そもそもSO-Arm 100って何?

Standard Open Arm 100(SO-Arm 100)は、LeRobotという団体が誰もが手軽にAIロボットを活用できるように開発した模倣学習用のロボットアームです。

日本ではまだキットが市販されていないので、今回は必要な部品を集めて一から作っていきます。

ロボットアームの種類について

このプロジェクトには2種類のアームがあります。

  • Leader arm:人が操作するためのコントローラー的なアーム
  • Follower arm:実際に物を掴んだり動かしたりするアーム

今回はFollower armだけを作ります。

必要な部品 (2025年4月30日現在)

  • サーボモーター(STS3215) × 6個
    • 秋月電子にて購入:6個で約18,000円

  • ACアダプター(5V 4A) × 1個
    • 秋月電子にて購入:約1,500円

  • モーター制御基板 × 1個
    • AliExpressにて購入:約1,500円
      ※日本のサイトでは売られていなかったのでアリエクで注文しました

その他

  • USB-Cケーブル × 1本
  • Cクランプ × 2個(100均で調達)
  • 精密用プラスドライバー

費用の合計

  • モーターと電源:約20,000円
  • 制御基板:約1,500円
  • 合計:約22,000円

Leader armも作る場合は、同じ部品をもう1セット購入してください。

オプション

日本のサイトで購入できるサーボモーター (sts3215)

  • switch science

  • marutsu

  • おすすめのグリッパーカメラ

3Dプリンターでパーツを印刷

今回はBambulab A1 miniという3Dプリンターを使ってパーツを印刷しました。

GitHubのリポジトリの中のstl_files_for_3dprintingにSTLファイルが入っています。

Follower arm用のstlファイルをPCアプリで開いてからエクスポートし、SDカードに移して印刷します。(詳しい使い方)

印刷時間と設定

  • Bambulab A1 mini用のファイルは2つに分かれています
  • 印刷速度は50%に設定
  • 印刷時間:part_1で約6時間、part_2で約7時間

環境構築 (M2 Macの場合)

1. Minicondaをインストール

# ---- Miniconda (Apple Silicon) ----
mkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
source ~/miniconda3/bin/activate
conda init --all

2. LeRobot用の仮想環境を作成

conda create -y -n lerobot python=3.10
conda activate lerobot

3. LeRobot をgit clone

git clone https://github.com/huggingface/lerobot.git ~/lerobot

4. Feetechモーター用の依存パッケージをインストール

cd ~/lerobot
pip install -e ".[feetech]"

5. データ記録ツールをインストール

conda install -y -c conda-forge ffmpeg
pip uninstall -y opencv-python
conda install -y -c conda-forge "opencv>=4.10.0"

モーターのセットアップ

モーター制御基板をPCと電源、モーター1個に接続します。

USBポート名の確認:

python lerobot/scripts/find_motors_bus_port.py

指示に従ってケーブルを外し、Enterを押すとUSBの名前が表示されます。その表示された名前(例:/dev/tty.usbmodem58FA0432123)をコピーしておきます。

設定ファイルを編集:

lerobot/lerobot/common/robot_devices/robots/configs.py

上記のファイルを開いて、follower_armsport=の部分を先ほどコピーしたUSBポート名に変更します。

各モーターにIDを設定(ID 1 の例):

python lerobot/scripts/configure_motor.py \
  --port /dev/tty.usbmodem<自分のポート名> \
  --brand feetech \
  --model sts3215 \
  --baudrate 1000000 \
  --ID 1

実行すると、以下のような出力が出ます:

Connected on port /dev/tty.usbmodem58FA0432123
Scanning all baudrates and motor indices
100%|███████████████████████| 9/9 [00:00<00:00, 16.45it/s]
Motor index found at: 1
Setting its index to desired index 1
Present Position [2049]
Offset [0]

2台目以降は --ID 2 から --ID 6 と変えて6回実行してください。
行末の \ は最後の行には付けないこと。

組み立て

組み立てにはおよそ3時間かかります。

組み立て時のポイント

  • モーターは先に配線してから組み込むとスムーズです
  • 印刷したパーツがきつくてはまりにくい場合、多少割れても問題ありません
  • YouTubeで動画を見ながら組み立てるとわかりやすいです
  • 組み立てを楽にする補助パーツ「マウントヘルパー」も公開されています

おすすめの参考動画

キャリブレーションと実際の操作

Follower arm単体でキャリブレーションを行う場合はエラーが発生するため、
lerobot/lerobot/common/robot_devices/robots/configs.pyの430行あたりにあるleader_armsの部分をコメントアウトしておきます。

以下のスクリプトでキャリブレーションを実行します。

python lerobot/scripts/control_robot.py \
  --robot.type=so100 \
  --robot.cameras='{}' \
  --control.type=calibrate \
  --control.arms='["main_follower"]'

以上でキャリブレーションは完了です!

Phosphobotを使って動かす

LeaderアームなしでFollowerアームを動かすには、Phospho_botというツールを使うのがおすすめです。

インストール:

brew tap phospho-app/phosphobot
brew install phosphobot

実行:

phosphobot run

Phosphobot dashboardを開いて、必ずキャリブレーションを行ってください。
(自分はキャリブレーション行わずに操作した結果、グリップのパーツが割れました...)

キャリブレーション後、dashboardの "keyboard control" から "start robot" を押すと、キーボードでロボットアームを操作できるようになります。

最後に

初めてのロボットアーム作りは大変でしたが、ぜひ皆さんも挑戦してみてください!

追記: グリッパーカメラの取り付け方

物を掴む部分を撮影するカメラの取り付けを行います。

カメラの紹介: 32×32 mm UVC Module

本家のリンクは Amazon.com での販売のため日本では購入できません。代わりに amazon.co.jp で入手できる同型のカメラを紹介します。

カメラモジュールの取り付け

取り付け方法は2通りあります。

  1. グリッパーを取り外し、新たに3Dプリントしたカメラアダプター付きグリッパーを取り付ける方法
  2. プラグインカメラアダプターを外付けする方法

自分は 1 で作業しましたが、分解の手間がない 2 の方が手軽なので今回は後者を紹介します。

必要なもの

プラグインカメラアダプターを印刷する際、充填密度を40% に設定し印刷してください。強度が上がり、割れにくくなります。

カメラ取り付け準備

  • プラグインカメラアダプターを3Dプリントし、グリッパーの穴に合わせてM2ネジで固定(4本)

カメラの取り付け

  • カメラアダプターの穴に合わせ、M2ネジで固定(4本)

ソフト設定&フォーカス調整

  • 解像度は 640×480、30fpsに設定
  • 映像を確認しながらレンズを回し、手動でピントを合わせる

参考リンク

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?