小型二足ロボット"Rapiro"をM5Stackでラジコン化してみる
はじめに
昨今、街中でよく見かけるロボットといえば、車両型の巡回ロボットや据付型のロボットがほとんどです。脚型のロボットはあまり見かけないうえ、数少ない脚型のロボットも殆どは4足で、2本の足で立って歩くロボットというのはまだまだ見かけません。
電子工作においても、二足歩行ロボットは車両型と比べてハードルが高く、なかなか手を出しづらいと思われている方も多いと思います。しかしやはり、2足ロボットというのは夢があります。そんな夢を簡単に実現してくれるのが、今回ご紹介する"Rapiro"です。
1. 商品概要
"Rapiro"は、機楽株式会社と株式会社ミヨシと当社スイッチサイエンスの3社共同プロジェクトによって生まれたロボットです。足の自由度が片足で2、腕の自由度が片腕で3、腰と首にそれぞれ自由度1。全身では12の自由度を持っています。
Arduino UNO R3互換基板を搭載しており、Arduino IDEを用いた開発が可能です。互換基板のUSBインタフェースはmicro-B、電源はDCジャックを用いた6-12V/4A給電と、単3電池5本を用いた給電の2通りの方法があります。
2. 動かしてみよう
早速動かしていきましょう。指定の電池が手元になかったので、ACアダプタからの給電で動かします。Rapiroは、電圧6~12V、電流4A以上の電源で動作します。ここでは弊社製のACアダプタを使用しました。
まずはUSBケーブルでPCとRapiroを接続し、Rapiro公式から配布されているサンプルプログラムを書き込みます。
Rapiroが直立姿勢を取るよう、サンプルプログラム内のint型配列trim[MAXSN]の要素を書き換えます。
Rapiroが直立したら、コマンドを打ち込んで動かしてみます。
サンプルプログラムにおけるコマンドと動作の対応表を作りましたので、実際に動かされる際には、参考に御覧ください。
コマンド |
動作 |
目の色 |
#M0 |
停止・直立 | 青 |
#M1 |
前進 | 青 |
#M2 |
後退 | 青 |
#M3 |
右に曲がる | 青 |
#M4 |
左に曲がる | 青 |
#M5 |
両手を振る | 緑 |
#M6 |
右手を振る | 黄 |
#M7 |
両手を握る | 青 |
#M8 |
左手を振る | 赤 |
#M9 |
右手を伸ばす | 青 |
3. 機能を追加してみよう
Rapiroの重要な特徴の一つに拡張性の高さがあります。元々はRaspberry Piを頭部に搭載することを想定して作られたRapiroですが、頭部の大きな空間には様々なものを搭載することが可能です。
M5Stackなどの無線機能を持ったマイコンやモジュールを搭載すれば、簡単に無線化することができます。
ここでは、M5Stackを頭部に搭載してRapiroの操作系を無線化するとともに、音声データをmicro-SDカードに入れて少し喋らせてみることにします。
今回は、Blynkを用いてスマートフォンからRapiroを操作してみます。
Blynkのスマートフォンアプリをインストール、アカウントを作成します。アカウントを作成したら、PCからアカウントにログイン、Rapiroを操作するためのテンプレートを作ります。
画面右上の"NewTemplate"をクリックしてテンプレートを作ります。
M5StackをWi-Fi経由で使うので、DEVICE NAMEには"ESP32"、CONNECTION TYPEには"WiFi"を選択します。
データストリームとダッシュボードの設定をして、ページ右側にあるマクロを出力します。
これでBlynk側の設定が終わったので、次にM5Stackに書き込むプログラムを作ります。Blynkのライブラリ等についてはBlynk公式ドキュメントをご参照ください。
作成したプログラムはこちらです。開発にはPlatformIOを使用しました。
プログラムの準備ができたので、コンパイル・書き込みをしてRapiroに組み込みます。
M5Stackを載せてもこんなにスペースの余裕があります。まだまだ物を載せることが出来そうです。
顔を取り付けて、動かしてみましょう。
音声ソフトにはVOICEBOX ずんだもんを使用させていただきました。
今回はM5Stackを載せてRapiroをラジコンにしてみましたが、他にもモジュール等を搭載すれば様々な機能を持ったロボットにすることができそうです。
以上、二足ロボットRapiroのご紹介でした。ここまでご覧いただきありがとうございました。
また、4章では組み立てについて簡単な説明を致します。組み立ての際、参考程度にご覧ください。
4. 組み立て
ここでは、組み立ての大まかな流れを追っていきます。
詳細な組み立て方法については、Rapiro公式の組み立てマニュアルがございますのでそちらをご参照下さい。
まずはRapiroを箱から取り出します。
樹脂部品がツヤツヤでとても綺麗ですね。
では早速組み立てていきます。まずは電池ボックスから。
電池ボックスには、電池用の端子と給電方法の切り替えスイッチを取り付けます。取り付けた後の電池ボックスはこちら
電池ボックスのフタにシールを貼ったら、電池ボックスの組み立ては終わりです。
次に、サーボモータの動作確認とシール貼りを行います。Rapiroが組み上がってくると配線が多くなるため、どのサーボモータがどの部位のものか判別できるようにシールを貼ります。
サーボモータは小さいものが6個、大きいものが6個で計12個あります。
動作確認をするので、Arduino互換基板を出します。
なかなか面白い形をしていますが、普通のArduino UNO R3互換ボードです。これにそれぞれサーボモータを接続して動作確認を行います。
動作確認が終わったら、本体を組み立てます。腰パーツにサーボモータを固定します。
取り付けたサーボモータにサーボアームを取り付け、足パーツを通します。
サーボホーンにサーボアームを固定し、足底パーツを取り付けます。
立たせてみましょう。
胸パーツを取り出します。胸パーツは上下2つに分割されています。
下パーツを腰に取り付け、肩のサーボモータを取り付けます。
サーボアームを取り付けます。
腕部品を取り出し、サーボモータを取り付けます。
サーボモータに十字形のサーボホーンを取り付け、サーボアームに嵌めます。
肩部品を取り出し、サーボアームにネジ止めします。
(写真では、左右の腕が逆向きについています。後で分解・修正しました。)
基板を取り付け、サーボモータのコネクタを配線します。
胸上部パーツにサーボモータを取り付けます。
コネクタを配線して、上部パーツを下部パーツに固定します。
首パーツを取り出し、サーボモータに取り付けます。
後頭部パーツに角を取り付け、裏側に返してLED基板を取り付けます。
5芯フラットケーブルを配線したら、後頭部パーツを首パーツに取り付けます。
前頭部パーツを取り出して後頭部からネジ止めしたら、完成です。