RTミドルウエアを用いたロボットシステム開発
RTミドルウエアとは
Think IT読者の皆さんは「RTミドルウエア」という言葉を聞いたことがありますか?わが国のお家芸とも言われるロボット技術(Robotics Technology、以下RT)ですが、日本発のRTの標準化プロジェクトが「RTミドルウエア・プロジェクト」です。
皆さんの多くは、お使いのパソコンにWEBカメラを増設したり、TVチューナーボードをPCIバスに増設したりした経験があるかと思います。パソコンのハードウエアのように、供給メーカー(ベンダー)が異なる製品を目的に合わせて増設したり交換したりできるのは、コネクタや通信方式の標準化のたまものです。
RTミドルウエアも同様に、モータやセンサーなどのロボットを構成する部品における制御ソフトウエア間の通信方式を標準化しており、部品の交換やカスタマイズを容易にする目的で開発が進められています。
RTミドルウエアでは、構成部品を制御するソフトウエアのひとつひとつを「RTコンポーネント(以下RTC)」と呼びます。RTミドルウエアに準拠したRTCとして制御ソフトウエアを開発することで、RTC間の通信が保障されます。
これまでも通信方式の標準化に関する動きは多々ありましたが、RTミドルウエア・プロジェクトは国際標準化団体であるOMG(Object Management Group)によって策定された規格であり、わが国のロボット技術戦略ロードマップにおいて重要な位置を占めるプロジェクトです。
本連載では読者の方々に、実際にRTCを開発しながら、RTミドルウエアの世界を体験していただける内容となっております。RTミドルウエア・プロジェクトの全景やほかの標準化プロジェクトに関しては、長瀬雅之さん執筆の「SEのためのRTシステム概論」を参考にしてください。
RTミドルウエアを用いるメリット
RTミドルウエアを使用するメリットは、主に2つあると私は考えています。
1つ目は「コンポーネントの導入コストの削減」です。RTミドルウエアで構築したシステムには、新たなRTCを導入することが容易にできます。実際に著者の所属する研究室の学生にRTミドルウエアを使用してシステムを組み立ててもらったところ、組み込み系の開発知識がほとんどなくても、ロボットを動作させるプログラムを短期間で構築することができました。
2つ目は「コンポーネントの再利用性の向上」です。これまでもオブジェクト指向など、プロジェクトの成果物を再利用可能な資産として残す開発の仕組みが論じられてきましたが、RTCはベンダー固有のAPI関数などのインターフェースを隠ぺいし、共通のインターフェースとしての「データポート」や「サービスポート」を提供します。これにより、RTCが同一プロジェクト内だけでなく、ほかの研究開発チーム間でも再利用を行うことが非常に容易になりました。