ROSを使ってイベント用ロボットを試作したハナシ
ここのところ、Hanabot2を使った、イベント用ロボットの原理試作(機能確認用の試作品)を作っていました。本業絡みなので写真や詳細な情報は載せられないのですが、Hanabot2そのもののアッパーデッキに追加の装置を乗っけてシステムアップしたものです。メインの機能は、パーティ会場のような人の多いところで、人間を見つけると近づいて簡単なゲームをし、人間が勝つと景品を渡すというものです。まあ、だれでも思いつくような凡庸なロボットです。
新たに追加したのは、PIC24Fを使ったスマートインターフェイス基板(赤外線リモコン信号の受信、熱センサアレイ、サーボ4個のドライブ、LEDドライブ、幾つかのスイッチIFなど)、これはUSBシリアルでラズパイにつながります。小型のパソコン用スピーカー、サーボモーターによるパンチルトユニット、幾つかの押しボタンやメカセンサやLEDランプなんかです。ラズパイのI/Oは使っていません。
試作品ではminimal.launchと3dsenseor.launchのみを立ち上げ、マップを使用しないでロボットを制御しました。kinectと熱センサアレイで近くの人を探してゲームをねだります。持っている景品がなくなると、ロボットはベースステーションまでもどりますが、そのナビゲーションにはリモコンの赤外線を使ったビーコンを利用しています。音声合成(Open jtalk)で喋りますが、音声認識は使っていません。全体のシーケンスを司るノードをはじめとし、数個のpythonプログラムで構成されています。
追加のハードウェアはサーボも含め、すべてHanabot2のバッテリーから給電しています。9時から13時まで4時間の連続デモンストレーションで、バッテリー電圧は11.2Vまで下がりました。終端電圧の10Vまではまだ余裕があります。思ったより長持ちすることがわかりました。
こんなロボットでも、実際に作って運用してみると、いろいろと気がつくことがあります。折に触れてブログで紹介できればと思ってます。