RT+ITで新しいロボットサービスの世界へ
ハードウエアを含めてRTC化する
前回は、チャットプログラムを例に挙げ、ソフトウエアロジックのRTC化を考えることでRTミドルウエアの世界に触れました。今回は、いよいよハードウエアも含めてRTC化します。
ハードウエアも含めてRTC化する時にもっとも大事なこと、それは、第2回でお話した以下のお題目を忘れないことです。
「RTCは、誰もが使えるロボット共通モジュールの実現を目指す」
皆さんの中には、自分が使いやすいキーボードやマウスを選んで使っている人がいると思います。家電量販店などでキーボードやマウスを購入してきて、いざパソコンに接続したら使えなかった、ということはあるでしょうか?
デバイスドライバをインストールする必要はあるかもしれませんが、どんなマウスでも、ドライバさえあれば基本的にはどのメーカーのパソコンにもつなげることができます。「ハードウエアも含めてRTC化する」ということは、まさに、「マウスのドライバを作って、マウスとともに提供する」ということと同じです。
マウスのメーカーによって仕様は異なっていても、ドライバで差異を吸収してパソコンへのつなぎこみを実現しています。同様に、RTCもメーカー間の仕様の差異を吸収することを考えてみます。
メーカーごとの差異を吸収するRTCの考え方
では、メーカーの仕様の差異を吸収する、ということに関して、実際のセンサーを例にとって考えてみます。最終回ですから、ロボット開発によく使われているセンサーを取り上げてみましょう。
ここでは「レーザーレンジファインダー」というセンサーを使います。レーザーレンジファインダーは、搭載したロボットが自律移動する時の障害物検知や、人物を検知する目的で使われています。センサーの原理は、レーザーを照射し、レーザーが物体に当たって返ってくる時間を元に物体までの距離を算出する、というものです。
照射するレーザービームは、回転軸を中心に180度や240度の範囲で回転させるため、水平方向に扇型の領域で物体までの距離を測定します(図1-1)。ですから、センサーを部屋の中に置けば壁までの距離を測り、きれいに部屋の形を認識できます。
実際のレーザーレンジファインダーで取得したデータのイメージを図1-2に示します。緑色がレーザーの届いている範囲と考えてください。四角く切り出したような形になっているところが壁の部分です。
このセンサーを販売しているメーカーは複数社ありますが、日本のロボット研究者が主に扱っているセンサーは日本メーカーの北陽電機と、ドイツに本社があるSICKのものです。北陽電機社製とSICK社製では出力データの種類や形式が異なりますが、レーザーを照射して物体までの距離を測る、という機能に変わりはありません。したがって、このセンサーを含んでRTCを作成する場合、第3回(http://thinkit.jp/article/962/1/)でお話したOUTポートに出力すべき情報は、距離データとなります。
あとは、OUTポートにどういうデータ形式で出力するか、一緒に付加すべき情報は何かといった、OUTポートの出力仕様を決めます。この時、北陽電機社製とSICK社製、両方のセンサーの仕様を横並びで見ながら出力仕様を考えることは当然ですが、加えて、RTCを利用する側がどう使うのかを考えることが大事です。この部分をどこまで詰めることができるかによって、使い勝手の良いRTCになるかどうかが決まります。
セックでは、上記2社のセンサーに対応したレーザーレンジファインダーRTCを作成し、2社の違いを意識することなくセンサーを扱えるようにしています。そして「誰もが使えるロボット共通モジュール」として、本RTCをロボット研究者に配布して使っていただいています。