対象機種と出典
AI-FanGe の原資料をもとにした独立編集の手順です。組立の補足は wslengzhicheng、電気的制約は ROBOTIS を参照し、2026年10月30日に確認しました。作者の製作動画と実機映像はありますが、当サイトは組立・実機試験をしていません。補足資料の配線写真には未掲載箇所があるため、実基板の表示とメーカー図を確認してください。
1. 同じ構成の部品と工具をそろえる
- Pi Zero 2 W、OpenRB-150、XL330-M288-T 14個、BNO080/085/086 IMU、16 GB以上のmicroSD、スイッチ、適合する電源を用意します。口のサーボは任意でID 15です。
- カードリーダー、USBデータケーブル、テスター、小型ドライバー、M2/M2.5ねじ、絶縁配線を準備します。購入前に電源と端子の定格を確認し、HD1910用の部品やイメージを混用しません。
次へ進む前の確認
基板、サーボ、端子、電源の型式を一覧に記録できた。
2. 印刷データを確認して試し刷りする
- 固定版のルートにある microduck3D打印.3mf をスライサーで開き、全プレートと部品を確認します。向きは作者の動画を参照し、記載のPLAを出発点に自分のプリンターへ合わせます。
- README の microduck/cad は削除済みです。下の実在する3MFを使い、シミュレーション用メッシュを印刷キットと取り違えません。支持材を除去してサーボを試し嵌めしてから全体を印刷します。
次へ進む前の確認
左右の部品とねじを分け、穴とサーボが無理なく合う。
3. サーボを1個ずつ設定する
- 未組立のサーボ1個だけを適合する給電インターフェースにつなぎます。Dynamixel Wizard 2.0でProtocol 2.0と現在の通信速度で走査し、ID、1 Mbps、Return Delay Time 0を設定。新速度で再走査してラベルを貼ります。
- 右は1足首、2膝、3股関節ピッチ、4ロール、5ヨー、左は同順に6–10。11頭ピッチ、12首ピッチ、13頭ヨー、14頭ロールです。保護停止を維持し、電圧異常は保護を無効化せず電源を調べます。
次へ進む前の確認
IDに重複がなく、14個すべてが1 Mbpsで応答する。
4. 中心位置に合わせて関節を組む
- 裸の軸の周囲を空け、Wizardで中心へ動かしてからトルクを切り、電源を外します。軸位置を保ちながら図の機械基準にホーンを合わせ、構造を閉じる前に取り付けます。
- 反対側のアイドラー支持と適切なねじを取り付けます。ホーンねじをギアまで突き出さず、アイドラーを締め過ぎません。無通電で各関節の可動範囲を確認します。
次へ進む前の確認
位置が合い、許容範囲で引っ掛からず動く。
5. 足から脚・胴体へ組み立てる
- 足と足首は右ID 1、左6。膝2/7、股関節ピッチ3/8、ロール4/9、ヨー5/10の順に組みます。左右はロボット自身を基準にします。
- 股関節と胴体、電池構造を固定します。カバーを締める前に溝へ配線し、脚を動かして挟み込みや張りを確認。ねじ位置は原動画と組立章を参照します。
次へ進む前の確認
両脚のID順と向きが正しく、配線が引かれたり挟まれたりしない。
6. 頭・首と電子部品を取り付ける
- 作者の分解図で頭・首11–14を合わせ、Pi、OpenRB、IMUを固定します。IMUは記載の取り付け方向にし、別の機体の回転設定を流用しません。
- USB、microSD、スイッチへアクセスを残します。基板を指定位置へ固定し、露出接点を絶縁。頭を動かして配線が引かれないことを確認して閉じます。
次へ進む前の確認
基板が固定され、頭の可動と保守アクセスが確保されている。
7. 電源とバスを配線し、電圧を測る
- 電池を外し、PiとOpenRBをUSBデータケーブルで接続。XL330バスと分岐はメーカーのピン配置に従います。Piは安定化5 Vとし、共通GNDとOpenRBの電源選択を確認します。
- XL330の入力範囲はROBOTIS指定で3.7–6.0 V、推奨5.0 Vです。満充電時を含む実際の最大電圧を測り、6 Vという公称値だけで判断しません。2S電池をXL330やPiへ直結せず、電圧保護を維持します。
次へ進む前の確認
負荷をつなぐ前に極性、導通、両電源電圧を確認した。
8. IMUをつなぎ、配線を点検する
- 対象BNO08xモジュールの供給端子定格を確認してPiの3.3 Vへ、GNDを接地、SDAをGPIO2/物理3番、SCLをGPIO3/物理5番へ接続します。VINと3V3の表示を区別します。
- I²C配線は短くし、IMUを記載の向きで固定してはんだを点検します。未掲載の写真はピン配置の根拠にできません。初回確認中は筐体を開けられる状態にします。
次へ進む前の確認
短絡箇所、逆挿し、センサーの緩みがない。
9. SDイメージを検証して書き込む
- 作者のimage.v1からmicroduck.img.xzを取得し、SHA-256を下記公開値と比較します。この値は配布者のもので、当サイトがイメージを起動したという意味ではありません。
- Raspberry Pi ImagerでPi Zero 2 W、Use custom、対象イメージ、正しいmicroSDを選択。このイメージではOS customizationを適用せず、書込・検証後に安全に取り外します。選んだカードは消去されます。
SHA-256: 096885dc32fb5b1db2ad69ba6bea868d8ab988f2b47c0d884eb63ba0dfdcb5c4shasum -a 256 microduck.img.xz次へ進む前の確認
ハッシュ一致とImagerの検証成功を確認した。
10. 2.4 GHz Wi-Fiと初回ログイン
- カードを挿し直し、bootfs/network-configの国コード、SSID、パスワードをYAMLの字下げを保って編集します。このPiは2.4 GHz用で、KISSの5 GHz推奨は当てはまりません。画面・キーボードとnmcliでも設定できます。
- 起動後1–3分待ち、microduck.localまたはルーターで確認したIPへ接続します。初期user/passwordでログイン後、直ちにpasswdで変更。PCも同じネットワークへ接続します。
ssh user@microduck.local
passwd次へ進む前の確認
新パスワードでSSH接続でき、PiにIPがある。
11. バス、向き、モデルを確認する
- 動作開始前にOpenRBのシリアル機器と必要な全IDを確認。制御停止中にI²C bus 1を調べ、BNO08xの一般的な0x4a/0x4bを確認します。アドレスが見えるだけでは向きは分かりません。
- 実物と作者のIMU_MOUNT_QUAT、関節offset、特に膝を照合し、イメージに対応するwalk.onnxを使います。逆方向、IMUの向き違い、ID不足はトルクを入れる前に直します。
ls /dev/serial/by-id/
i2cdetect -y 1次へ進む前の確認
サーボ、機械位置、センサー方向、モデルがこの構成に一致する。
12. 初回歩行と停止・終了
- 空いた床で機体を支えてから下のコマンドを実行します。起動時にトルクが入りneutralへ動きます。姿勢を確認後、vで歩行切替と矢印キーで小さく操作。xは速度ゼロ、qは停止、iはIMU表示切替です。
- 必要なら別SSHからsrc/stop.pyを実行。sudo shutdown -h nowで終了し、停止を待って電源を切ります。このイメージはゲームパッド接続中Wi-Fiを止めるため、SSHを戻すにはパッドを切断。版、ID、offset、結果を記録します。
Piで起動
cd ~/microduck
PYTHONPATH=src .venv/bin/python src/main.py別のSSHから停止
cd ~/microduck
PYTHONPATH=src .venv/bin/python src/stop.pyPiを終了
sudo shutdown -h now次へ進む前の確認
確実に停止でき、異常動作・通信欠落・再起動を直してから再試行する。
製作を続ける
出典と確認日
資料の確認日 2026年10月30日 · 原資料を確認
- 原資料 1 · github.com / README.md ↗
- 原資料 2 · github.com / microduck3D打印.3mf ↗
- 原資料 3 · www.youtube.com / watch ↗
- 原資料 4 · github.com / README.md ↗
- 原資料 5 · github.com / README.md ↗
- 原資料 6 · emanual.robotis.com / xl330-m288 ↗
- 原資料 7 · emanual.robotis.com / openrb-150 ↗
- 原資料 8 · github.com / README.md ↗
- 原資料 9 · github.com / image.v1 ↗
- 原資料 10 · github.com / main.py ↗
- 原資料 11 · github.com / stop.py ↗