去年の夏頃に Kickstarter で backer になったプログラマブル?ロボット「Rapiro」が漸く到着した!
簡単に「Rapiro」を紹介すると
- 12個のサーボモーターを搭載したロボット
- Arduinoコンパチの回路搭載しているので、Arduino IDE 使って動作をプログラムできる
- そして Raspberry Pi ボードを搭載してそこから制御することも可能!
という感じの、プラレス三四郎世代には堪らない仕様のロボットです。
というわけで、早速レビューしようと思ったのだけど、ちょっと手強そうなので Rapiro については少しずつここに記していくことにしました…。
因に Rapiro は現在 Amazon で購入できます。
まず到着時の箱の外観はこんな感じ。
取っ手の付いた白い箱に Rapiro のステッカーで封がしてある!
で、開けるとサンキューレターやステッカーと共に本体パーツが。
パーツは 2段になっていて下の段には回路やサーボモーターも。
で、早速同梱物リストと同梱物の照合をしようと思ったら…同梱物リストがない!!!
キット物で同梱物リストがないのはちょっとヤバいな〜と思いつつ、もしかしたら自分のパッケージに同梱物リストが同梱されてないだけ?と思ったりもしたので、ここで自分のパッケージに同梱されていた物のリストを挙げていきます。
もし、他に Rapiro を購入された方で、ここのリスト以外に何か入っていたりした方は教えていただけると嬉しいです。
- 大きい回路
- 小さい回路
- ねじx2、ねじx22の袋(インチねじ、ねじ自体は同じサイズ?)
- ねじx2(ミリねじ、長い袋)
- ねじx2(ミリねじ、短い袋)
- コネクタケーブル(端はスイッチ、電池?のプラス、マイナス)
- 電池?のプラス、マイナス用端子(赤い印の袋)
- ねじx4
- 電池?のプラス、マイナス用端子(青い印の袋)
- ねじx18
- コネクタケーブルx2、十字のプラスチックパーツx2
- サーボモーターx12(大x6、小x6)
(これは全部同じ物?)
頭部部品の入ったパッケージ
回路やサーボモーターが入ってたパッケージ
上記パッケージに付いていたラベル
サンキューレターと一緒に入っていたもの
以上が自分のところに届いたパッケージの同梱物リストです。
上記写真の 30, 31 番のパーツが所定の位置?に収まっていなかったりしましたが、それ以外は特に傷や汚れは認められない綺麗なパッケージでした。
これから組み立て説明ページを参考に組み立てていくことになるのだけど、このページが写真だけでなんの説明もない…。
たぶんロボットやってる人はそれでも問題ないのだろうけど、自分は間違いなくちゃんと組み立てられるのかちょっと心配。
というわけで、組み立ての様子は随時このページにアップしていきます。
[2014/02/11 update]
Rapiro Download ページに Assembly manual: (Now editing…) という表記が増えて、Photo Album の最初の方の写真に簡単な説明文が付いたので、かなりわかりやすくなりました。
と、思ったらいつの間にか全ての写真に説明文が付いていました!
というわけで、パッケージから部品を取り出して並べたところから順を追って組み立てを始めます。
(文章内の『xx番』というのは、同梱物リストでの番号になります。)
- サーボモーターにラベルを貼る
サーボモーター(12番)は全部で 12個。
その中の小さい 6つが腕関係用、大きい 6つが頭、腰、足用。
付属ラベルの赤いものが腕関係用、青いものが頭(head)、腰(waist)、足(foot)用なので間違えないように!
ラベルはそれぞれ 2枚づつ。
これはサーボモーター本体とそこから出ているコネクタの 2カ所に貼るため。(写真10/214など)
全部貼るの、結構大変だった…。
- 電池ボックスの組み立て
まずは電池ボックス(32番)の蓋を、電池ボックスの下の部分を押しながら外す。
次に説明通りにコネクタケーブル(6番)のスイッチ部分を電池ボックスに取り付ける。
写真通りに向きを注意して!
赤いケーブルの端子を写真通りにスリットに入れる。
凹んでいる方を内側にしないように!
(ケーブルの癖が逆向きになっていて最初凹んでいる方を内側にしてしまった…)
次にマイナス側のバネの端子。
これは赤い端子の対角線上の穴から出す。
これもスリットにしっかりと入れる。
最後に赤い印のついた袋(7番)と青の印のついた袋(9番)の端子を取り付ける。
説明の写真で青と赤、それぞれの袋を置いた側のスリットに端子を取り付ける。
(青は向かって左側のスリット、赤は向かって右側のスリット。)
電池ボックスの電池の絵と見比べながらプラス、マイナスを間違えないように。
最初の赤い配線は裏側で飛び出さないように指で押し込むと良いらしい。
固いので1度指で押し込めば簡単に癖がつく。
他の配線もなんとなく癖をつけておく。
最後に蓋を閉め「Battery <=> DC Jack」と書いてあるシールを説明ページの写真を参考に貼る。
これで電池ボックス完成!
- サーボモーターの初期位置の設定
基盤と電池ボックス、サーボモーターを接続してサーボモーターを初期位置に設定する。
大きい基盤(1番)にサーボモーターのコネクタを接続。
基盤のコネクタの部分にどの部分(headやwaist等)のコネクタを接続するのか書いてあるので、サーボモーターのコネクタに貼ってあるシールと見比べて接続。
コネクタを接続する際の向きは、基盤の内側にコネクタの黄色い線、外側に茶色い線がくるようにする。
また、中央のコネクタが頭と腰、それを挟んで左右(見方に寄っては上下)に右(手足)、左(手足)のコネクタを接続するようになっているのにも注意。(基盤上に R、L と印刷されている)
大きい基盤に電池ボックスのコネクタを接続。
電池を入れる前にスイッチの状態を確認。
右側を押した状態がオフなので、一応オフにしておく。
ここで単三電池5本をセットしたら、スイッチをオンにする。
ビビビッという音がしてサーボモーターの位置のリセットが行なわれる。
(2回目以降はビッと1回しか音がしなくなったのは、位置合わせが終わってるからと考えていいのかな?)
以上でサーボモーターの位置のリセットが終了。
この後、またサーボモーターを基盤から取り外す!(大変…)
- 腰〜足パーツの組み立て
腰パーツ(14番)に「waist」のシールの付いたサーボモーターを取り付ける。
向きに注意。
取り付ける際に使うネジは 3番。
このネジを取り付けるのが結構固いのだけど、プラスチック相手なので締めすぎないように注意。
次は足用「R foot_y」と「L foot_y」。
この辺りは写真(61/214〜70/214)を確認。
次に U字型の部品(25、26番)を取り付ける
U字の先端に穴が開いている側と突起が出ている側があるので間違えないように。
確かに平行にはならないけど、後でプログラムで調整するのなら大丈夫かな?
右足(28番)に U字のパーツを通す。
U字パーツの先の突起と、右足パーツの中の凹みとが合うようになるのが目印。
次に R foot_p サーボモーターを U字パーツに取り付ける。
最初に右足パーツのスリットにサーボモーターをハメてから U字パーツの穴にサーボモーターの軸?をハメるとすんなりできた。
と、ここで問題発生!
説明写真アルバムの 86/214 にあるネジが見当たらない。
最初に写真を撮った「同梱物リスト」にも入っていない…。
欠品? 間違え?
とりあえず、状況をツイートしたりアルバムにコメントしたりしてこの先どうしようかと考えていると、@ProjectRapiro さんから返信があった。
どうやら、本当は同梱物リストの 4番か 5番のどちらかがここで使うネジの筈なのだけど、間違って同じネジの袋が2つ入ってしまったということらしい。
後日郵便で送っていただくことになったので、足の固定は後回しにして先に進む。
- 胸パーツと腕サーボモーターを取り付ける
使う胸パーツは 15番。
ケーブルを通して胸パーツの中央の穴を腰サーボモーターに固定。
これはちゃんと前を向いた状態で取り付けられた。
次に R shld_r と L shld_r のサーボモーターを胸パーツに取り付ける。
写真と説明の通りに向きを間違えずに!
- 肩パーツを取り付ける
肩パーツは 19、20番。
これを先ほど取り付けた R shld_r と L shld_r のサーボモーターに取り付ける。
使うネジは 8番。
肩パーツは斜めにならないように気をつけて!
それでもキッチリ水平にならない場合もあるので、その際にはプログラムで微調整可能なので心配いらない。
- 腕パーツを取り付ける
腕パーツは 21番と 22番。
サーボモーターは 112/214〜119/214 の写真を参考に向きを間違えないように。
サーボモーターを組み付けたら、ねじ(10番)で片方の腕につき 2カ所(両腕で合計 4カ所)締める。
自分の場合、穴が深い方のネジはドライバの先が穴の系より大きくて最後までネジを締められなかった!
ビットの先端部分が長いものを探したけど見つからず、(たぶん)2.5inchの HDDケースに付いていたおまけのドライバでなんとか締めた。
次に腕パーツに十字パーツ(11番の中に 2つ入ってる)を取り付ける。
十字パーツに裏表があるけど、サーボモーターのギアに填められる方をサーボモーター側に向ける。
説明にあるように、十字パーツを 4方向試してみると向きがキチっと合うところが見つかる。
十字パーツとサーボモーターは 8番のねじで取り付ける。
指パーツ(23、24番)を取り付ける
ネジは使わないで嵌めるだけ。
自分の場合、左右で指の開き具合が同じにならなくて微妙…
腕パーツを肩パーツに取り付ける。
写真の様にケーブルを切り欠きに通しておく。
肩パーツの蓋をする。
10番のねじを使う。
パーツを合わせながらねじを入れて回すのは結構難しい。
- 大きい基盤を胸パーツに取り付ける
大きい基盤(1番)を胸パーツにのせたらねじ(10番)で4カ所締める。
サーボモーターのコネクタを大きい基盤のコネクタに接続!
コネクタの向きに注意。
ケーブルは胸パーツの蓋がちゃんと閉まるように綺麗に取り回しをしてくせをつけておくと良いらしいけど、すっごく難しい。
フックにひっかけてもすぐにばらける…。
基盤に5極と6極のケーブル(11番)を接続する。
ケーブルの黒い線がロボットの背中からみて右側になるように。
ここまでで、胸パーツ(下部分)から下の組み立てが終了!
- 胸パーツに蓋をする
胸パーツの蓋(16番)にサーボモーターを取り付ける。
使うのは 3番のネジ。
head のサーボモーターのコネクタを大きい基盤に接続。
5極、6極コネクタのケーブルを、胸パーツの蓋の穴に通す。
それぞれ左右逆の穴に通さないように注意。
電池ボックスのケーブルを、5極、6極ケーブルの間を通して大きい基盤のコネクタに接続。
電池ボックスを胸パーツの蓋のスリットに差し込む。
胸パーツの裏から電池ボックスへ 3番のねじを通して締める(これはネジで挟んでる感じ?)。
ここで、腕を左右水平になるようにもち上げて、サーボモーターからのケーブルに余裕を持たせておく。
余裕ない状態で蓋をキッチリ締めると腕を上げるときにケーブルが足りなくなると大変!
なんか、エルガイムっぽい。
最後に胸パーツに胸パーツの蓋をして 10番のねじ 4本で留める。
自分の場合、これが非常に大変だった…。
ケーブル多くて、蓋、閉まらないよ!
- 頭の土台(首?)パーツを取り付ける
頭の土台(首?)(27番)パーツの左側に6極、右側に5極ケーブルのコネクタを通す。
頭の土台(首?)パーツを「head」サーボモーターに接続する。
この際、まっすぐ前を向くように気をつける。
使うねじは 3番。
- 頭パーツの組み立て
後頭部パーツ(13番)に飾りパーツ(30、31番)を付ける。
(これ、本当にただの飾り?)
後頭部パーツ内部に小さい基盤(2番)をねじ(3番)2本で取り付ける。
基盤斜めだけどねじはまっすぐ(だと思う)なので、ガッチリ留めようとすると困ったことになりそう。
とりあえず、押さえられたら力をあまり入れない方が良い感じ。
顔パーツ(12番)に目パーツ(18番)を取り付ける。
ねじは 3番。
顔パーツに額パーツ(17番)を取り付ける。
ねじは 10番を 2本。
後頭部パーツの小さい基盤に首から出ている 5極コネクタを接続。
黒いケーブルがコネクタの一番した(GND)になるように注意。
後頭部パーツを首に取り付けてみる。
顔パーツを取り付けて後頭部側からねじ(4番)で締める。
以上でできあがり!
これ以降は火を入れているので説明なしはちょっと怖い。
今では最後の写真まで説明が入っているので、サーボモーターの微調整をして Rapiro を動かすところまでやってみる。
- 何も接続せずにスイッチをオンにする
すると、1秒?2秒?ほどしてからギュッと音がしてサーボモーターが初期位置?になり、目が青く光る。
でも、なんとなく腰が曲がって足も片足上がり加減…。
というわけで、説明写真アルバムでも説明されている様にサンプルスケッチを使って微調整をしてみる。
そのためにはまず Arduino の開発環境を準備する必要がある。
- Mac と USB ケーブルで接続
Rapiro のスイッチをオフにしたら、Mac と microUSB ケーブルで接続してみる。
この状態では Rapiro の目が青く光っている状態。
- Mac に FTDIUSBSerial Driver をインストール
Arduino IDE と Rapiro が通信する際に必要になるのでFTDI のページから VCP Driver というのをダウンロードします。(既にインストールしている人は必要ありません。)
自分の場合 Mac OS X 10.9.1 なので、Mac OS X の x64(64-bit) を選択しました。
ダウンロードされる FTDIUSBSerialDriver_v2_2_18.dmg をダブルクリックしてマウントすると中はこんな感じ。
インストールパッケージが 2種類あるけど、古いものなので OS X 10.8 と 10.9 用はない…?
というわけで、気にせず今回は FTDIUSBSerialDriver_10_4_10_5_10_6_10_7 をダブルクリックして起動。
で、これまた古いものなのでコードサインとか入っていない。
なので、システム環境設定のセキュリティとプライバシーで「すべてのアプリケーションを許可」にする。
再度 FTDIUSBSerialDriver_10_4_10_5_10_6_10_7 をダブルクリックして起動。
後はインストーラの言う通りに進めばインストール終了!
- Arduino の開発環境 Arduino IDE をインストール
これは Arduino のダウンロードページからダウンロードします。
beta版の 1.5.5 とかあるみたいだけど、自分の場合は普通に Arduino 1.0.5 Mac OS X を選択した。
ダウンロードしてきた Arduino-1.0.5-macos.zip を展開してできた Arduino ファイル。
これは適当に「アプリケーション」フォルダにでも入れておこう。
これで Arduino 開発環境?の準備は終了。
- サンプルスケッチを読み込む
まずはサンプルスケッチを説明写真アルバムのリンクからダウンロードします。
次に Arduino アイコンをダブルクリックして Arduino IDE を起動。
空の Window が表示されます。
「ファイル」メニューの「開く…」でダウンロードしたサンプルスケッチを読み込みます。
この際『「RAPIRO_ver0_0.ino」というファイルは、「RAPIRO_ver0_0」という名前のフォルダの中にある必要があります。自動的にこのフォルダを作って、ファイルを中に入れますか?』というダイアログが表示されるので「OK」をクリック。
これでサンプルスケッチの読み込みは完了!
- サンプルスケッチを Rapiro に送る
いよいとサンプルスケッチを Rapiro に送って動かします。
「ツール」メニューの「マイコンボード」で「Arduino Uno」が選択されていることを確認。
次に「ツール」メニューの「シリアルポート」で「/dev/tty.usbserial-XXXXXXXX」を選択。(XXXXXXXXは任意の文字)
自分の場合、ここで問題が発生。
何度やっても、どの Mac でやっても、どのバージョンの OS でやっても、このシリアルポートに「/dev/tty.usbserial-XXXXXXXX」が出てこなかった。
出てくるのは「/xxx/tty.Bluetooth-XXXXX」だけ…。
Mac に繋がっている他の USB 機器を全部外してやってみたりしたけどダメ。
tweetしたりしたけど特に何の反応もなく、泣きながらググってやっと FTDI Driver が必要みたいだってことに辿り着いてインストールしたら「/dev/tty.usbserial-XXXXXXXX」が現れました!
(と、言っても他にもあれこれやっていたので、後日 Kickstarter から Project Update で注意事項が来るまではこれが原因だとはわからなかった…。)
以上の設定が終わったら、サンプルスケッチのウインドウの右矢印ボタンを押すとコンパイルして Rapiro へ転送&実行してくれる。
実行されると Rapiro は目を青く光らせて各サーボモーターの位置を調整します。
この時点でダウンロードした状態のままのサンプルスケッチを送った場合は、まだ微調整されていないので曲がっている場所は曲がったままです。
曲がっていた腰や上がっている足を微調整してまっすぐにするには、サンプルスケッチの int trim[MAXSN] の値を変更します。
コメントでどの値がどこのサーボモーターなのか書いてあるので適当な値を入れて確認しながら調整&アップロード&実行を繰り返すことになります。
因にそれぞれの値のプラスとマイナスの方向はこんな感じでした。(Foot はまだネジで固定していないので試してません…。)int trim[MAXSN] = { -5, // Head yaw -:Turn right +:Turn left -9, // Waist yaw -:Turn right +:Turn left 4, // R Sholder roll -:back +:front 0, // R Sholder pitch -:open +:close -5, // R Hand grip -:close +:open 0, // L Sholder roll 0, // L Sholder pitch 0, // L Hand grip 0, // R Foot yaw 0, // R Foot pitch 0, // L Foot yaw 0}; // L Foot pitch
(ところで、これ、正しいかな?)
というわけで、この値を少しずつ変えながら Rapiro へ転送を繰り返して各サーボモーターの位置調整をします。
- コマンドを送って Rapiro を動かしてみる
基本的な動作は(たぶん)サンプルスケッチの中に入っているので、これを使って動かしてみます。
まずは Arduino IDE の「ツール」メニューから「シリアルモニタ」を選択。
新しく開いた Window の入力欄にコマンド(例えば #M1)を入力して、その右の「送信」をクリック。
#M1 を送ると Rapiro は(たぶん)前進する(のだと思います)。
(自分の Rapiro は足が固定されていないので動きが微妙…)
動きを止めるには #M0 を送ります。
ここで Rapiro が動かない場合、シリアルモニタ Window の右下のポップアップメニューの値が「57600 baud」になっているかどうか確認してみると良いかも。自分の場合「9600 baud」になっていて、その時は動きませんでした。
因にこのコマンド、#M0〜#M9 まであって、サンプルスケッチにそれぞれの動作が定義されています。- #M0 Stop
- #M1 Forward
- #M2 Back
- #M3 Right
- #M4 Left
- #M5 Greed
- #M6 Yellow
- #M7 Blue
- #M8 Red
- #M9 Push
これを増やせば自分の好きな動作を増やせるってことかな?
#M1と#M8を送るとこんな感じ。
まっすぐ進んでないけど…。
以上、とりあえず Mac に USB 接続して、コマンド送信で規定の動作をさせられるところまで来たよ!
後は Raspberry Pi を搭載して Raspberry Pi から Rapiro を動かしたいのだけど、まずは足のネジ!
足のネジの到着を待ってからこの先には進もう。