RTM(Robot Technology Middleware)って何?
ロボットテクノロジーをもっと使いやすく
RTミドルウェア
OpenRTM-aist official websiteより引用OpenRTM-aist official websiteより私たちが開発している家庭用ロボットには、ロボットのハードウェア製作のほか,地図作成や経路探索,ビジョン,音声対話などの様々なソフトウェアの実装すが要求されます。これらのような機能を満たすロボットシステムを開発するには,開発環境,ロボットに関する知識,制御技術などの面で大変な労力が必要となります。
RT ミドルウェアは、ロボット機能のソフトウェア要素をモジュール化された部品(RT コンポーネント:RTC)とし,これらの部品を組み合わせることによって多様なロボットシステムを構築することができます。RTC 化することで,RTC 単位での並行開発,再利用,交換や更新,分離等が可能になるため,開発効率の向上や,システムの柔軟性,拡張性,安定性の向上が期待できます。RTC 間の通信は,RT ミドルウェアにより隠蔽されているため,開発者はコアとなるロジック部分に注力して開発を行い、タスク毎に必要な RTC を再利用して組み合わせることで,タスクに対応したロボットシステムを容易に構築できます。
RTコンポーネント
OpenRTM-aist official websiteより引用OpenRTM-aist official websiteよりRTシステムは、複数のコンポーネントのポートをつなぎ合わせ、それぞれのRT コンポーネント機能の集合体として構築されます。対話・認識コンポーネント を例にとって考えてみます。対話・認識コンポーネントは、ユーザの声や表情 を認識・観測して、音声や身振り手振りなどでユーザと対話する機能を持つコ ンポーネントで、以下のサブコンポーネントから構成されているとします。(OpenRTM-aist official websiteより引用)
.
Tech-On!より引用。
パソコンやスマートフォンは機種が違っても同じソフトウエアが使える。だが、現状の多くのロボットではそうはいかない。ロボットごとに、あるいはメーカーごとに、OSやミドルウエア、プログラム言語が異なっており、しかも通常はそれらの仕様が非公開となっているためだ。
だが、ロボットをもっと幅広く活用したいのであれば、パソコンのアプリケーション・ソフトやスマホのアプリのように、他者が開発したソフトを利用したり、ロボットの専門家でなくてもソフトを開発できたりといった環境がほしくなる。他者のソフトを流用できれば、本当に開発が必要な部分だけに集中できるし、ロボットの専門家以外がロボットのソフト開発に関われるようになれば、もっといろんなアイデアをロボットに取り込めるようになる。
入門編
インストールしてサンプルを動かしてみよう
このホームページでは以下の環境で動作確認をしています。
OS:Microsoft Winodws 7 SP1(64bit)
開発環境:Visual Studio 2010(64bit版) ※一部のコンポーネントは32bit版でコンパイル
言語:C++, C#, Python
ミドルウェア:OpenRTM-aist-1.1.0-RELEASE、OpenRTM.NET-1.3.1
コンポーネント編
いろいろ作りました、使ってみてください。
チュートリアル編
対話ベースタスク管理コンポーネント(RtcMyTask)を使ってみよう
webシステムを利用したRTC群
計測自動制御学会システムインテグレーション部門講演会
RTコンテスト 奨励賞(ウィン電子工業賞)受賞
特に近年WEBのサービスとして音声認識や画像検索をはじめとした技術の利用が可能となってきています。これによりWEB上の膨大な知識を利用することが可能となりつつあります。googleで提供するサービスのうち、音声認識や音声合成、そのほかの検索サイトによる検索サービスを利用するRTC群を開発しました。
使用するためには、WEBサービスを利用するためインターネット接続環境が必要です。
kartoライブラリを利用したロボットの移動システムRTC群
ロボットが目的地まで移動するには経路計画や自己位置推定が必要です。KARTO SDKはロボットのナビゲーション、SLAM、探査などの地図に関わるC++ライブラリであり、これを用いた地図処理に関するRTCと経路計画に関するRTCを開発しました。また、RTCを組み合わせた自動地図生成システムを提供します。
詳細はこちらへ