RAPIROの基本を知ろう
何だか気がつけば『SMARTHOUSE HACKERS』の主催者の方からTwitterでリンクを貼られていた模様。ありがたいことですが、うーん、恥ずかしい記事を書いてしまった…このサイトのサブタイトルの「うっかりエンジニアになってしまった人」の代表例は、他ならぬ僕自身であり、言うなれば僕は技術にさして興味のない似非Hackerです。僕の書く記事は、そういう人達のちょっとした足しになればと思って書いているので、間違った事もきっと多分に書かれており、プロのHackerの方からしたらきっと、鼻で笑っちゃうようなことも書いていたりします。
今日はRAPIROの基本的なところを書こうと思っていますが、それも同じ動機で書いています。多分、現時点(2014/2/21)でRAPIROを手に入れている人は、わざわざKickStarterとかの先行投資で買っちゃうぐらいですから、自分で結構いじれる技術力を持った方が多いのかなと思います。ただ、RAPIROのターゲットを考えると、今後「プログラムとかハードとか全然わからんけど、とりあえず面白そうだから買ってみた!」という人も、そこそこ出てきそうな気がしています。自分は、そういう人たちのちょっとした足しになればと思って、こういう自分のためのメモを公開しております。はい。
さてさて、前置きはこれぐらいにして。
先日、中途半端にサンプルソースを読んだのですが、それ以前にRAPIROの基本的な構造を押さえとこうと思います。ざくっと言うと、こんな感じになっています。
どういう動き(モーション)をさせるかは、全部Arduino側で定義することになります。Raspberry Piは、基本的にはどういう入力に対してどういう動きをさせるかを判断して、Arduinoで定義したモーションを呼び出すように、シリアル通信でコマンド(文字列)を送るだけ。
なお、Raspberry Piへの電源供給はArduino基盤からGPIO経由で行われているようなので、Raspberry Piの電源供給用Micro-USBへのコード取り回しとかは考えなくて大丈夫です。
ちょっとわかりにくいですが、Micro-USBを使わなくてもRaspberry Piは起動しています(赤色LEDが点灯)。また、ACアダプタで電源供給する場合は、4A程度出力可能なものが推奨されています。自分は初めは手元にあった2A出力のアダプタを使っていましたが、サーボがちゃんと動かなかったりしたので、ちゃんと4A出力のものを使った方がよいです。自分はこれを使っていますが、今のところ特に問題はありません。
さて、次にRAPIROの動きを決めるサーボモータについてです。どういう値を入れればどこがどう動くのか、最初全然わからなかったので、整理しました。
RAPIRO付属のサーボモータの基本的な動きは、以下のとおりです。
これがすべてではありますが、実際のRAPIROの動きを理解するためには、これだけだとちょっと厳しいかと思います(自分が相当悩んだので)。RAPIROの動きとして理解するためのポイントは、
- モータがどの向きで配置されているか
- 軸にくっついて動く(ハズ)のものは何か
- 動いた後の部品の相対位置関係から動きを導く
ぐらいかなと思います。ちょっと見にくいですが、以下にまとめたので、具体的に見てみます。
頭、腰、肩(上下回転)、両脚(水平回転)はわかりやすい(軸の回転=部品の回転なので)ですが、両腕、両手、両脚のひねりがわかりにくいです。特に両脚のひねり。
赤枠になっている部分が、実際にサーボモータの軸と接続して回転する部分です。両肩と両脚については、部品の方が固定されているので、実際にはモーター側の方が回転します。そのへんを考え出すとわけがわからなくなってくるので、一旦は赤枠部品が回転すると考えて、それが回転したとして、部品の位置関係がどうなっているかをイメージすると、動きが理解しやすいと思います。
あと、それぞれ角度のMaxを記載していますが、あくまで自分の環境での値なので、他の方が組み上げたRAPIROでは、このへんの値は変わってくるかもしれません。
さて、これでようやく、RAPIROに好きなポーズをとらせることができるようになった…ハズ。ここからが本番。どういじっていこうかしら。
(追記)
実際にポーズをとらせようと思ったら結構大変だったので、アシストツールを作りました。
ディスカッション
ピンバック & トラックバック一覧
[…] 実際に各部分の位置の対応は理解したが、いちいち頭の中で変換するのも面倒なので、できれば一枚絵を作りたいところ。←こちらで作成済み。値の範囲も、こちらの方がもう少し正確。 […]
[…] 前回、晴れてRAPIROの動きが理解できたので、さーRAPIROを思い通りに操るぞーと意気込んで見たものの…うん、ダメです、面倒くさい。 […]
[…] ここ最近ロクに更新できていないのに、それでも毎日ちょっとずつアクセスがあるようなので何事かと調べてみたら、知らぬ間にRAPIROのWikiが出来ていて、そこの”Getting Started” から「RAPIROの基本を知ろう」の記事にリンクがはられていたのですね。ありがたい話であります。こんなエンジニアもどきの自分でも、どこかの誰かのお役には立てているかと思うと、ちょっと救われる気持ちです。 […]