reBot Arm B601-RS クイックスタート

6 自由度ロボットアーム · 複数モーター対応 · 運動学ソルバ · 軌道計画 · 完全オープンソース
reBot Arm プロジェクトは GitHub 上でオープンソース公開されています。ぜひリポジトリを訪れて Star を付けてください! リポジトリには完全な BOM が含まれています。本ガイドでは、B601-RS の組み立てから操作までの入門手順を説明します。
プロジェクト概要
reBot-DevArm(reBot Arm B601 DM および reBot Arm B601 RS) は、エンボディドインテリジェンス学習のハードルを下げることを目的としたロボットアームプロジェクトです。私たちは 「真のオープンソース」 にこだわり、コードだけでなく、以下のすべてを余すところなく公開しています:
- 🦾 2 種類のモーターバージョンを備えたオープンソースロボットアーム:同一外観で RoboStride 版と Damiao 版のすべてのオープンソースファイルを提供します。
- 🛠️ ハードウェア設計図:板金および 3D プリント部品のソースファイル。
- 🔩 BOM(部品表):すべてのネジ 1 本ごとの仕様と購入リンクまで詳細に記載。
- 💻 ソフトウェアとアルゴリズム:Python SDK、ROS1/2、Isaac Sim、LeRobot など。
安全に関する免責事項およびリスクに関する注意


電源について
- ロボットアームには電源は同梱されておらず、標準では電源は含まれていません。ご自身でバッテリーを接続するか、当社のオープンソース 48V 12.5A MeanWell 電源 または Amazon からご購入ください。無名メーカーや安全性の確認できないルートから電源を購入しないでください。その結果生じるいかなるリスクや損害についても、当社は責任を負わず、すべてご自身の責任となります。
ご家庭の電圧が 220V の場合は、電源側面の電圧切替スイッチを 230V に設定してください。ご家庭の電圧が 110V の場合は、115V に切り替えてください。



電源の組み立て
または、当社のオープンソース 24V 14.6A MeanWell 電源ケースを選択し、自分で組み立てることもできます。テキストによる手順と BOM は GitHub リポジトリ で公開されています(関連する電源組み立て経験を持つ開発者にのみ推奨されます)。
組み立て参考動画:
組み立てガイド
reBot Arm を組み立てる
ステップ 1
- 未組立バージョン
- 完成品バージョン
- 組み立て前に、必ず以下の注意事項をよくお読みください。スムーズな組み立てと充実したハンズオン体験のために、落ち着いて集中し、常に次のポイントを守って作業してください。
- 本キットには多数のネジや構造部品が含まれており、中には外観がよく似ているものもあります。ネジの仕様や部品の型番をよく確認し、固定する前に必ず取り付け方向を確認してください。
- 動画は 4 月上旬に撮影されたもので、その後一部の部品に軽微な調整が入っている場合がありますが、動画に従って組み立てる際の品質には影響しません。最終的な部品は実際に出荷されたものを基準としてください。
- ネジの着脱を容易にするため、オープンソースの BOM では標準ネジを指定していますが、キットに同梱されているネジにはねじロック剤が塗布されています。お好みの工具や電動ドライバーを使用しても構いません(1 本用意しておくことを強く推奨します)。電動工具を使用する場合は、トルクを必ず低〜中程度(3〜6 kgf·cm)に設定し、過大なトルクによってネジ山がつぶれ、部品が取り外せなくなるような不可逆的な損傷を防いでください。ネジ山つぶれの兆候があれば、すぐにネジを交換するか、位置を調整して再度試してください。ねじロック剤付きでネジ山がつぶれたネジは、ネジ抜き工具でも外すことができず、その部品全体が使用不能になります。そのため、十分に注意して作業してください。
- 組み立て作業中は安全を最優先し、指を挟んだり、押しつぶしによるけがをしないよう注意してください。お子様が本プロジェクトを行う場合は、必ず保護者が同伴してください。
ロボットアームのケーブルを接続し、MotorBridge Studio を使用してモーターのパラメータを書き込み、ゼロ位置を設定します。
このステップについては、以下の reBot Arm B601-RS の開封および入門動画を参照してください。
次の図のように、モーター 1 とモーター 2 を接続します。

次に、USB-to-CAN モジュール、電源・信号分岐基板、XT30 電源ケーブル、および XT30 2+2 ケーブルを下図のように接続します。XT30 2+2 ケーブルのもう一方の端をモーター 1 に接続し、電源ケーブルを 48 V 電源に接続します。

動画に従って、ロボットアーム組み立ての事前準備が完了しているはずです。次に、モーター ID の書き込みとロボットアームのキャリブレーション手順を紹介します。
動画およびテキストチュートリアルを参照してください。ロボットアームを制御する前に、ゼロ点をもう一度リセットする必要があります。
MotorBridge を使ってアームをキャリブレーションし、初回動作を完了する
-
MotorBridge プラットフォームを活用しましょう。このワンストップソリューションは、Damiao、RobStride、HighTorque、MyActuator、Hexfellow など、拡大し続けるモーター群と、reBot のような継続的に更新されるロボットアームをサポートします。初心者にも扱いやすく、Web UI の機能に対応した Python SDK も開発者向けに提供しています。
-
reBot 向けに最適化された MotorBridge の機能には、ワンクリックゼロ点キャリブレーション、パラメータ書き込み、ドラッグ&ドロップによるモーター制御、組み込みモデル可視化などがあります。
-
MotorBridge は Windows、Ubuntu、macOS をサポートしています。
-
仮想マシンでは、デモを安定して動作させるのに十分な性能が得られず、設定上の問題を引き起こす可能性があります。可能な限り物理的な Ubuntu マシンを使用してください。
Ubuntu 24.04 LTS のインストールを推奨します。
2.(ベータ)エージェントにロボットアームの初期化を依頼することもできます。次のプロンプトを送信してください:
Please follow the process in AGENTS.md (https://github.com/Welt-liu/reBot-B601-Agent-Guide/blob/main/en/AGENTS.md) to help the user complete the initialization of a new robotic arm.
組み立て済みキットを購入した場合は、モーター ID のステップでエージェントに次のように伝えてください:「組み立て済みキットを購入しました。モーター 1〜7 をスキャンしてオンラインであることを確認してください。モーター ID は書き換えないでください。」
- エージェントは CLI コマンドを通じてモーター ID を書き込みますが、この Wiki では Web UI を使用します。どちらの方法も有効です。
ソフトウェアセットアップとキャリブレーションのワークフロー
以下の手順に従って Miniforge をインストールし、reBot 開発用の分離された Python 環境を作成します。
Miniforge をインストールする
Step 1
お使いのオペレーティングシステム向けの Miniforge をダウンロードしてインストールします:
- Ubuntu\Jetson\Raspberry Pi
- macOS
- Windows
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
インストール中は、Enter を押して続行し、利用規約に同意するには yes を入力し、Conda を初期化するかどうか尋ねられたら yes を入力します。
ターミナルを再起動し、conda --version でインストールを確認します。
conda が見つからない場合Miniforge を読み込み、Bash を初期化します:
source ~/miniforge3/etc/profile.d/conda.sh
conda init bash
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-$(uname -m).sh"
bash Miniforge3-MacOSX-$(uname -m).sh
インストール中は、Enter を押して続行し、利用規約に同意するには yes を入力し、Conda を初期化するかどうか尋ねられたら yes を入力します。
ターミナルを再起動し、conda --version でインストールを確認します。
conda が見つからない場合現在の macOS バージョンでデフォルトシェルとなっている Zsh を使用している場合は、Miniforge を読み込み、Zsh を初期化します:
source ~/miniforge3/etc/profile.d/conda.sh
conda init zsh
Miniforge Releases ページを開き、最新の Miniforge3-Windows-x86_64.exe を探してダウンロードします。
Git Bash ユーザー: conda が見つからない場合は、まず Conda を読み込みます:
# Temporary: replace <install_path> with the actual path
source <install_path>/etc/profile.d/conda.sh
# Permanent: add it to bashrc once
echo 'source <install_path>/etc/profile.d/conda.sh' >> ~/.bashrc
source ~/.bashrc
PowerShell の場合は、次のコマンドで Conda を初期化します:
conda init powershell
自動ベースアクティベーションを無効化する(任意)
Step 2
Miniforge が Conda を初期化すると、新しいターミナルを開くたびに自動的に (base) 環境がアクティブになります。システム環境で起動したい場合は、自動ベースアクティベーションを無効化します:
conda config --set auto_activate_base false
確認: 現在のターミナルを閉じて新しいターミナルを開きます。(base) プレフィックスが表示されなくなっているはずです。必要なときに conda activate rebot を実行して、手動で reBot 環境をアクティブにしてください。
デフォルトに戻す: conda config --set auto_activate_base true を実行すると、自動ベースアクティベーションが再び有効になります。
Python 環境を作成する
Step 3
Python 3.12 環境を作成します:
conda create -y -n rebot python=3.12
環境をアクティブにする
Step 4
reBot 用に新しいターミナルを開くたびに、このコマンドを実行します:
conda activate rebot
Motorbridge をインストールする
Step 5
reBot の仮想環境をアクティブにしたら、次のコマンドを実行して motorbridge をインストールします:
macOS でテレオペレーション中にフレームレートが低い場合、古い WCH CH34x ドライババージョンが原因の可能性があります。macOS 10.14 以降 では、システムに組み込みの AppleUSBCHC0M ドライバが含まれています。古いドライバをアンインストールして macOS 組み込みドライバに切り替えることで、フレームレートが効果的に改善されるはずです。
pip install motorbridge
PCAN-USB を設定する
Step 6
ロボットアームとの通信のため、CAN バス上で 1Mbps で動作するように PCAN-USB デバイスを設定します。
- Ubuntu\Raspberry Pi
- Jetson
- macOS
- Windows
# The kit includes PCAN-USB, which should normally show up as can0 or can1
sudo modprobe peak_usb
ip -br link
# If can0 appears, set the bitrate
sudo ip link set can0 down 2>/dev/null
sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up
ドライバインストール後に PCAN デバイスのファームウェアが正しくない場合は、以下のセクションを展開し、PCAN ファームウェアをダウンロードして、復旧手順に従ってください。
PCAN ファームウェアのダウンロード&ドライバ修復手順 - Ubuntu
Ubuntu ユーザーは次のガイドを参照してください
1.> 📦 クリックして USB2CAN.zip をダウンロード
-
USB2CAN を BOOT に切り替えます
-
ステップ 1 でダウンロードした USB2CAN.zip を解凍し、flash_pcan_ubuntu.sh と pcan_canable_hw.bin(USB2CAN.zip 内のファイル)を同じディレクトリに配置してください
クリックして flash_pcan_ubuntu.sh をダウンロード
別のコンピュータから転送する場合(例:scp):
scp flash_pcan_ubuntu.sh pcan_canable_hw.bin seeed@your_Ubuntu_IP:~/Downloads/
または、単に USB フラッシュドライブにコピーして Ubuntu マシンに挿しても構いません。ファイルが ~/Downloads、カレントディレクトリ、または /tmp のいずれかにあれば、スクリプトが自動的に見つけてくれます。
- 次を実行します:
bash flash_pcan_ubuntu.sh
パスワードを入力し、完了するまで待ちます
完了したら、「120R」に戻します
USB を挿し直します。
次のファイルをダウンロードします:peak-linux-driver-9.2.0.tar.gz
- brltty を削除する Jetson では、brltty がリーダーが使用する USB シリアルポートを占有している場合があります。まずこれを削除します:
sudo apt remove -y brltty
- 依存関係をインストールする
sudo apt update
sudo apt install -y \
build-essential \
gcc \
g++ \
make \
libpopt-dev \
can-utils \
ethtool \
nvidia-l4t-kernel-headers
現在のカーネルヘッダディレクトリが存在することを確認します:
ls -l /lib/modules/$(uname -r)/build
- PEAK SocketCAN ドライバをコンパイルする PEAK Linux Driver 9.2.0 をダウンロードして展開し、ソースディレクトリに入ります:
tar -xvf peak-linux-driver-9.2.0.tar.gz
cd ~/peak-linux-driver-9.2.0
以前のビルド成果物をクリーンアップします:
make clean
netdev モードでコンパイルします:
make netdev
netdev モードでは、PCAN-USB が Linux SocketCAN ネットワークインターフェースとして登録されます。
プレーンな make は使用しないでください。プレーンな make は chardev モードをビルドしますが、LeRobot と motorbridge-cli は SocketCAN インターフェースに依存しています。
- ドライバをインストールしてロードする ドライバをインストールします:
sudo make install
sudo depmod -a
pcan カーネルモジュールを読み込みます:
sudo modprobe pcan
起動時に自動で読み込まれるようにします:
echo pcan | sudo tee /etc/modules-load.d/pcan.conf
ドライバが読み込まれていることを確認します:
ip -br link | grep can
期待される出力:
can0 DOWN <NOARP,ECHO>
can1 DOWN <NOARP,ECHO>
.....
- ロボットアームに対応する PCAN インターフェースを特定します
for i in /sys/class/net/can*; do [ "$(basename "$(readlink -f "$i/device/driver" 2>/dev/null)")" = "pcan" ] && basename "$i"; done
ここに表示されるインターフェースは PEAK PCAN-USB デバイスです。例:
can2
pcan_refreshコマンドを永続化します Linux の環境変数は再起動後に保持されず、PCAN インターフェース番号は変わる可能性があります。より信頼性の高い方法として、リフレッシュ関数を恒久的に定義し、ターミナルを開いた後に実行するようにします。
関数を ~/.bashrc に追記します:
grep -q '^pcan_refresh()' ~/.bashrc || cat >> ~/.bashrc <<'EOF'
pcan_refresh() {
local iface
iface=$(sudo setup-pcan-if) || return 1
export PCAN_IF="$iface"
echo "PCAN_IF=$PCAN_IF"
}
EOF
source ~/.bashrc
再起動後、または PCAN-USB を再接続した後にこれを実行します:
pcan_refresh
成功すると、次のように出力されます:
PCAN_IF=can1
以降のすべてのコマンドでは、can1 や can2 をハードコードする代わりに $PCAN_IF を使用してください。
sudo modprobe peak_usb
ip -br link
# If $PCAN_IF appears, set the bitrate
sudo ip link set $PCAN_IF down 2>/dev/null
sudo ip link set $PCAN_IF type can bitrate 1000000 restart-ms 100
sudo ip link set $PCAN_IF up
libPCBUSB.dylib を読み込めない場合は、まず PCBUSB をインストールしてください:
curl -L -o macOS_Library_for_PCANUSB_v0.13.tar.gz \
https://raw.githubusercontent.com/tianrking/motorbridge/main/third_party/pcan/macos/macOS_Library_for_PCANUSB_v0.13.tar.gz
tar -xzf macOS_Library_for_PCANUSB_v0.13.tar.gz
cd PCBUSB
sudo ./install.sh
install.sh は libPCBUSB.dylib を作成するだけです。motorbridge のネイティブローダーは素の名前 PCBUSB を dlopen するため、このシンボリックリンクを追加します。これがないと、libPCBUSB.dylib に対する ctypes チェックが通る場合でも、アームへの接続は load PCBUSB failed というエラーで失敗します:
sudo ln -sf /usr/local/lib/libPCBUSB.dylib /usr/local/lib/PCBUSB
motorbridge-gateway が実行時に PCBUSB を見つけられるように DYLD_FALLBACK_LIBRARY_PATH を設定します。DYLD_LIBRARY_PATH よりも FALLBACK を優先してください。後者はプロセス全体に対して dyld のデフォルト検索順序を上書きし、無関係なソフトウェアを壊す可能性があります。conda activate rebot を実行するたびに自動的に有効になるよう、conda 環境内にアクティベーションスクリプトを作成します:
mkdir -p "$CONDA_PREFIX/etc/conda/activate.d"
cat > "$CONDA_PREFIX/etc/conda/activate.d/env_vars.sh" << 'EOF'
export DYLD_FALLBACK_LIBRARY_PATH="/usr/local/lib${DYLD_FALLBACK_LIBRARY_PATH:+:$DYLD_FALLBACK_LIBRARY_PATH}"
EOF
echo $DYLD_FALLBACK_LIBRARY_PATH
任意、sudo 不要(共有マシン向け):~/.local/lib にインストールします。motorbridge のソースツリーがある場合:
./scripts/setup_pcbusb_macos.sh --user-local
ln -sf "$HOME/.local/lib/libPCBUSB.dylib" "$HOME/.local/lib/PCBUSB"
conda の activate スクリプトで、/usr/local/lib の代わりに $HOME/.local/lib を指すようにします。
準備ができているか確認します。まず PCAN アダプタを接続してください。ctypes.CDLL('libPCBUSB.dylib') は有効な実行時チェックではありません — motorbridge はその名前を読み込みません。
# Check Python package and CLI are ready
python3 -c "import motorbridge; print('motorbridge OK')"
motorbridge-cli --help
# Native loader dlopens the bare name PCBUSB
python3 -c "import ctypes; ctypes.CDLL('PCBUSB'); print('PCBUSB load OK')"
# Real runtime check (can0 maps to PCAN_USBBUS1 on macOS)
motorbridge-cli scan --vendor robstride --channel can0 --start-id 1 --end-id 7 --timeout-ms 300
ドライバインストール後に PCAN デバイスのファームウェアが正しくない場合は、以下のセクションを展開し、PCAN ファームウェアをダウンロードして、復旧手順に従ってください。
PCAN ファームウェアのダウンロード & ドライバ修復手順 - macOS
MAC ユーザーはこのガイドを参照してください
1.> 📦 USB2CAN.zip をダウンロードするにはここをクリック
-
USB2CAN を BOOT に切り替えます
-
手順 1 で USB2CAN.zip を解凍し、flash_pcan_mac.sh と pcan_canable_hw.bin(USB2CAN.zip 内のファイル)を同じディレクトリに配置してください
flash_pcan_mac.sh をダウンロードするにはここをクリック
別のコンピュータから転送する場合(例:scp):
scp flash_pcan_mac.sh pcan_canable_hw.bin seeed@your_MAC_IP:~/Downloads/
または、単に USB フラッシュドライブにコピーして MAC に挿してください。ファイルが最終的に ~/Downloads、カレントディレクトリ、または /tmp のいずれかにあれば、スクリプトが自動的に見つけます。
- 次を実行します:
bash /Users/"your_username"/Downloads/flash_pcan_mac.sh "/Users/"your_username"/Downloads/pcan_canable_hw.bin"
上記のコマンドは、ファイルが Mac の Downloads パスに配置されていることを前提としています。実際のパスに応じて調整してください
パスワードを入力し、完了するまで待ちます
完了したら、「120R」に戻します
USB を挿し直します。
PEAK-System_Driver-Setup.zip をダウンロードし、PCAN-USB ドライバをインストールします。
ドライバをインストールしてもデバイスマネージャーで PCAN-USB が検出されない場合は、以下のセクションを展開し、PCAN ファームウェアをダウンロードして、復旧手順に従ってください。
PCAN ファームウェアのダウンロード & ドライバ修復手順 - Windows
ドライバをインストールしても PCAN-USB が動作せず、デバイスマネージャーに下図の PCAN-USB デバイスが表示されない場合は、PCAN ファームウェアパッケージをダウンロードし、以下の手順に従って DFU ドライバをインストールし、ファームウェアを書き換えてください。

DFU ドライバをインストールする
- ダウンロードしたパッケージを解凍します。
Dfu toolフォルダとpcanフォルダが含まれています。

Dfu toolフォルダを開き、.exeインストーラを実行します。インストール後、ドライバのインストールパスを記録します。例:
C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.6\Bin\Driver

- USB2CAN モジュールの DIP スイッチを BOOT に設定し、モジュールをコンピュータに接続します。

- デバイスマネージャー を開き、その他のデバイス → STM32 BOOTLOADER を見つけて右クリックし、ドライバーの更新 を選択してから、コンピューターを参照してドライバーを検索 を選択します。


- 先ほど記録した DfuSeDemo ドライバパスを場所のフィールドに貼り付け、サブフォルダーも検索する を選択して 次へ をクリックします。

-
USB2CAN モジュールをいったん取り外してから再接続します。STM Device in DFU Mode として認識されれば、ドライバの更新は成功です。
-
DfuSeDemo を開き、USB2CAN モジュールが正しく検出されていることを確認します。

PCAN ファームウェアを書き込む
- DfuSeDemo で Upgrade or Verify Action → Choose... をクリックし、解凍した
pcanフォルダからファームウェアを選択します。 - Upgrade をクリックし、確認ダイアログで Yes をクリックして、ファームウェアの書き込み処理が完了するまで待ちます。その後、DfuSeDemo を閉じて構いません。


デバイスを復元して確認する
USB2CAN モジュールを取り外し、DIP スイッチを 120R に設定してから、再度コンピュータに接続します。デバイスマネージャーを開きます。デバイスが PCAN-USB として認識されていれば、問題は解決しており、このガイドを続行できます。

ゼロ点を書き込み、MotorBridge Gateway でデバッグする
ステップ 7
モーターリセット前
モーターのパラメータ設定を行う前に、次の準備と安全ルールに注意してください:
- 工作用クランプを 2 個(サイズ 3 インチ以上)と、48V XT30 出力のスイッチング電源を用意してください(信頼できるブランドを選び、粗悪な電源は使用しないでください)。
- デバッグおよび動作中は、少なくとも 1 メートル以上の安全距離を保ってください。
- モーターをホットプラグしないでください。XT30 2+2 コネクタの抜き差しは、必ず電源を切った状態で行ってください。
- モーターを過負荷・過回転させないでください。起動前に配線と締結部を確認し、湿気の多い場所、高温環境、粉塵の多い環境では使用しないでください。
- 装置の暴走を防ぐため、適切なプログラムパラメータと非常停止機能を設定してください。
- 上記のルールを必ず厳守してください。規定に反する操作や人的ミスによって生じたあらゆるリスクや損失について、販売者は一切の責任を負いません。
Web UI でのゼロ点書き込みとデバッグ
ブラウザで motorbridge-studio のアドレスを開き、Help オプションをクリックし、使用しているオペレーティングシステムとドライバボードに応じたコマンドをコピーします。IP アドレスとポート番号を確認し、ターミナルで Enter キーを押して実行します。
motorbridge-gateway --bind 127.0.0.1:9002
macOS:
motorbridge-gateway --bind 127.0.0.1:9002
または
DYLD_FALLBACK_LIBRARY_PATH=/usr/local/lib motorbridge-gateway --bind 127.0.0.1:9002
RS モーター制御パラメータの初期化
多くの reBot Arm B601-RS のサンプルは MIT モードで動作します。ネイティブ Position(pos_vel)モードは、位置ループゲイン loc_kp と最大速度 vel_max を直接使用します。その動作挙動は、速度ループゲイン spd_kp と加速度パラメータ acc_rad の影響も受けます。推奨される B601-RS パラメータが初期化されていない場合、または各関節に保存されているパラメータが一致していない場合、Position モードでは応答、速度、加減速挙動に異常が生じる可能性があります。
まず MotorBridge Studio の Robot Model で rebot-arm-robstride を選択し、Joint 1〜7 がすべてオンラインであることをスキャンして確認し、前述のロボットアームのゼロ点キャリブレーションを完了します。その後、次の手順を実行します:
- Read Parameters をクリックして、現在すべてのオンライン関節に保存されているパラメータを読み出します。この操作はデータを読み取るだけで、モーターを変更しません。ページに制御パラメータの読み取りが正常に完了したと表示されるまで待ち、現在の値を記録として保持してください。
- Apply Default Template をクリックし、ページに reBot Arm RobStride のデフォルトパラメータテンプレートが Joint 1〜7 に適用されたと表示されることを確認します。この操作は推奨値をページに読み込むだけで、まだモーターには書き込まれません。

- Write Parameters をクリックします。ロボットアームが安全に支持されており、周囲に人や障害物がないことを確認してから、ダイアログで書き込み操作を確定してください。パラメータ書き込み中は、電源を切ったり、モーターケーブルを抜き差ししたりしないでください。

- 書き込み完了後、MotorBridge Studio は自動的にパラメータを再読み取りします。ページに、書き込み後の再読み取り検証が一致したと表示されれば、初期化は成功です。