Raspberry Piでコミュニケーション向けロボをつくる

th_raspi-robo_16

ここ3年ぐらい、Raspberry Piを使ったロボットとしてラピロを使ってきました。

これは大変良くできたキットで、自分がこれまで電子工作を続けてこれたのは、「これを使えばあんなことやこんなことができるんじゃないか」というアイデアを、このラピロが自分に色々思いつかせてくれたからだと思います。それらを実現していく内に、少しずつ電子工作のスキルを身につけていくことができました。

ただ、最近の自分は、話しかければいつでも応じてくれるような、人とのコミュニケーションに特化したパートナーロボを実現することに関心があって、自分の印象では、ラピロはそのような用途には不向きです。

その一番の理由は、ラピロでは基本的にRaspberry Piへの電力供給が胴体のArduino基板経由で行われることです。この仕組みでは、Raspberry Piを常時稼働させようとすると、Arduino基板にも常時通電する必要があり、結果、Arduino基板が非常に高温になってしまいます。これだとちょっと怖くて常時通電では使えないですし、かといってArduino基板を使わずにRaspberry Piだけでラピロを使おうとすると、当然ラピロは一切体を動かすことができず、せっかくラピロがヒューマノイドな形をしている意味がありません。

前置きが長くなりましたが、そんなわけで、もうちょっとお手軽な、Raspberry Piの搭載だけで成立する形のロボットをイチから作ってみることにしました。イメージとしては、「動かないハロ」のような感じです。

 

残念ながら自分には造形スキルがないので、まずはガワになる入れ物を探してみることにしました。Amazonで適当にロボットっぽいスピーカーとかないかなと探してみたところ、使えそうなものが2〜3個ほど出てきて、とりあえず適当に1個買ってみることにしました。

(3/31 追記)

コメントでご連絡頂いたのですが、同じデザインで、スピーカーが底面に一つだけあるものと、両サイドの耳に一つずつ(計二つ)あるものの二種類が流通しているようです。私の入手したものは前者になります。

 

実物はこんな感じ。

 th_raspi-robo_2

安っぽいですが、サイズ感はなかなか良い感じです。ラピロと同じように両耳にスピーカーがあるのかなと思いきや、

th_raspi-robo_3

底にデカいスピーカーが一つあるだけでした。

th_raspi-robo_4

電源を入れると、目に相当する部分が青く光ります。別に再生中の音楽に合わせて点滅するとかではなく、ただ単に点きっぱなしになるだけです。価格相応、という感じです。いいんです、必要なのはガワだけです。

ということで、底面のネジをドライバーで開けて分解開始。ちなみに分解には細くて長めのドライバーが必要でした。

 

ぱか。

th_raspi-robo_5

。。。お、おう。超シンプル。

th_raspi-robo_6

LEDも抵抗なしでダイレクトに半田付けです。わーシンプル!というか製品としていいのかこれは。

th_raspi-robo_7

目のバイザー部分(?)は無理やり引き抜けば分解可能です。

th_raspi-robo_8

Raspberry Piはちょうど入るぐらいの大きさです。ただし、収めるには色々中身をカットしてやる必要がありそうです。

 

ということで、中を色々カットしてみて、Raspberry Piを収めてみました。

th_raspi-robo_11

USBの4つの差し込み口の部分は筐体に穴は開けておらず、一旦はUSBの引き出し線を作って、USBオーディオデバイスを筐体の中に収めるようにしています。USBオーディオデバイスには以下を使用しています。

USBオーディオの設定方法は、こちらをご参照ください。なお、上の写真でSound Blasterに絶縁テープで巻きつけているのは、電子部品ショップで見つけてきた小型のアンプです。

スピーカーは最初、ラピロと同様に両耳の部分に入れようかと思ったのですが、Raspberry Piの電源コードのコネクタが干渉して難しそうでしたので、ロボの口に当たる部分に一つだけ置くことにしました。よくよく考えてみれば人間の口も一つですので、無理にステレオにする必要はないのでした。

th_raspi-robo_12

元々スピーカーの入っていた部分には、全方位型のマイクを仕込んでみました。

ただ、これでちゃんと音が拾えるかどうかは検証できていません。

th_raspi-robo_13

目に相当する部分には、穴を開けてLEDマトリクスを仕込んでみました。

これは、ラピロで培った表情付けの方法をそのまま踏襲しています。LEDマトリクスの使い方については、こちらをご参照いただければと思います。

これを仕込むことによって、

th_raspi-robo_14

 

th_raspi-robo_15

ロボが表情を出せるようになります。うん、なかなか良い感じではないでしょうか。

 

さて、さっきから写真でロボの横に小さい球が写っていますが、これはロボのアシストパーツ的な位置づけで作ってみたものです。近所のガシャポンで手に入れたLEDライトの中身を取り去って、代わりにフルカラーLEDを仕込み、それをRaspberry PiのGPIOに接続しています。

th_raspi-robo_16

実際に光らせてみるとこんな感じになります。それとなくさりげなく情報を伝えたいときに役立つかなーと思っています。

 

ということで、とりあえず表情を出す(LED)、喋る(スピーカー)、聞く(マイク)という機能を備えたロボを作ることはできました。と言ってもあくまでハードとして準備が出来たというだけですので、これから色々、ソフト的に機能拡張していきたいと思います。