MIA-1:3Dプリンター不要の手作りオープンソース高機能ヒューマノイドロボット
必要な部品と用品
| Arduino Mega 2560 | ×1 |
| LDX227 デュアル軸サーボモーター | ×8 |
| UTSOURCE電子部品(各種) | ×1式 |
使用アプリ
- Arduino IDE
プロジェクト概要
今日は、3Dプリンターなしで完全手作り可能な、高機能かつオープンソースのヒューマノイドロボット「MIA-1」を紹介します。オープンソースとは、コードと全詳細が無料で公開されており、誰でも製作できることを意味します。

MIA-1ができること
- 音声認識・会話応答
- 左目のカメラで顔認識・人物特定
- 動体検知・写真撮影
- タッチスクリーンLCDのGUIでコマンド操作
- LCDに画像表示・ダウンロード画像表示
- 右手のレーザーポインターで目標指示
- 会話に合わせて手を動かす
- 自立二足立ち(補助なし)
- お辞儀動作(動画参照)
- その他多数
用意するもの
マイコン・コンピューター(脳):
- Arduino Mega(サーボ制御用)
- フルスペックコンピューター(Raspberry Pi可。当初はノートPCを使用)
サーボモーター(13自由度):
- LDX227デュアル軸サーボ ×8
- MG996R / MG996 サーボ ×3
- 指用:マイクロサーボ SG90
- ロボットクロー用:MG996R ×1(追加)
ジャンパーワイヤー等
視覚系: USBカメラ(画像処理・顔検出・撮影用)
ステップ1: ボディとモーターレイアウト



ボディはPVCシートをカッターナイフで切り出し、ホットグルーとネジで組み立て。女性型のボディラインに設計。サーボ連結部は薄いPVCシートで柔軟に対応。頭部は風船に新聞紙を貼り重ね(8層)て硬化させ、白スプレーで塗装。驚くほどバランスよく、自力で二足立ち可能。
LCDディスプレイは胸部にネジとホットグルーで固定。
ステップ2: 回路図


配線は複雑に見えますが、ボディ上のモーター配置に合わせて描いています。全GNDを共通化。ArduinoはUSBでPCから給電。レーザーダイオードはArduinoピン13(LEDピン)から給電。全モーターとArduinoは背面に配置、ケーブルも背面から通しています。延長USBケーブルでPCと接続。
ステップ3: コード
Arduino Megaでサーボ制御。モーターはプリプログラム済み。デフォルトポジション(待機姿勢)を維持して組み立ててください。モーターのみ通電すればデフォルト位置に移動します。
/* デフォルト/待機ポジション */
komor.write(4); // 腰サーボ
left1.write(120);
rFinger.write(0);
servo1.write(55);
clawOpen();
rightStandBy();
leftStandBy();
headTilt.write(134);
headPan.write(90);
モーター制御コードは750行以上(編集注意)。メイン処理はPython 3スクリプトで実行。
Python必要ライブラリ(pip installでインストール):
import pyttsx3 # オフライン音声合成
import speech_recognition as sr # 音声認識(要インターネット)
import time
from random import randint
import tkinter # GUI
from tkinter import Tk, Button, Label
import serial # シリアル通信
from PIL import Image
import cv2 # OpenCV
import wikipedia // Wikipedia検索
OpenCV: pip install opencv-contrib-python
GUIはtkinterで作成。ウェブカメラ使用時はデバイス番号に注意(多くの場合1)。
音声対話の仕組みは関連チュートリアル参照。MIA-1はその拡張版です。PCからArduinoへバイトコマンド送信、Arduinoが対応アクションを実行することで、発話と動作が非同期に見えるようにしています。
mia.write(b'p') // 頭上下動作コマンド
count_down(3)
respond("Smile please", 100)
全コード(Arduino + Python)はGitHubで公開:
ashraf-minhaj/MIA-1-Open-Source-Humanoid-Robot
ステップ4: 電源と仕上げ
7.4V LiPoバッテリーで駆動。LDX227は電流を多く消費するため常時7.3V以上必要。MG996Rは7.8V以上で破損リスクあり。推奨電圧範囲:7.4〜7.8V。
製作お疲れ様でした!気に入ったらチャンネル登録で応援お願いします。
コード
全コード無料公開:
GitHubリポジトリ
回路図
GitHubリポジトリ内に掲載:
MIA-1 circuit
製造プロセス
- FirePick Deltaプロジェクトログ: OpenPnPでオープンソースMicroFactoryを構築
- OAP の紹介:インテリジェントモバイルロボット構築のためのオープンリファレンスデザイン
- Intellisaurus:歩くスマート恐竜ロボットを組み立てよう
- Windows 10 IoT Coreで音声制御コンピュータビジョンロボットを構築
- シンプルPiロボット - Raspberry Piで2WD自律ローバーを構築
- 先進サーボモーターが次世代3D金属印刷を牽引
- オープンソース用語入門:プロジェクトからライセンスまで
- AT&TとTech Mahindra、オープンソースAIプラットフォーム「Acumos」を発表
- IoTにおけるオープンソースソフトウェアの保護:ソフトウェアリスクの軽減
- オープンソース vs ベンダーサポートIoT開発ツール:企業に適したスタックの選び方
- オープンソースがエッジでのイノベーションを駆動する理由──必携eBook