RTコンポーネント
An Open Software Platform for Robotic Technologies
Home RTC Software
RTコンポーネント

RTコンポーネント

このプロジェクトでは、ソフトウェアプラットフォームの普及とRTコンポーネントの開発支援のために、RTコンポーネントのサンプルを公開いたします。
このサイトに掲載されているコンポーネント、ツール等のソフトウェアのライセンスは、原則としてEPL-1.0(Eclipse Public License - v 1.0) といたします。
個別にライセンス表示がある場合には、それに従うものといたします。

コンポーネントの一覧

音声対話エンジンSEATの拡張

OpenHRIで提供しているSEATは、入力ポートとして、TimedStringしか使えませんでした。それを少し拡張して、TimedLongなどの基本型でも使えるように拡張してみました。また、単にデータポートから対応するデータを出力するだけなく、seatmlにPythonスクリプトを記述したり、外部シェルコマンドを実行したりできるようにも拡張しています。
テストとして、公開いたします。

Windows用バイナリ:

添付ファイル:SEATSAT.zip


ソースコード:

添付ファイル:SEAT.py

添付ファイル:seatml.xsd

添付ファイル:kinect_demo.seatml


まだ、詳細な解説は書いていませんので、上記のソースでわかる方はそのままお使いください。

OMG Technical Meeting, Robotics Day(2012.12.11)で使ったRTC

  • KinectRTC (KinectSDK 1.6対応 KinectセンサRTC)
  • CvMonitor (KinectRTCから出力される画像表示のRTC, OpenCVを利用)
  • Skeleton2JointAngle(Kinectから出力されるSkeleton Position Dataから関節角に変換するRTC)
  • SimpleGesture(Kinectから出力されるSkeleton Position Dataを用いた簡単なジェスチャ認識RTC)
  • SEAT(OpenHRIに含まれる対話制御RTC)
  • RobotMotion (Choreonoidプラグイン, GR001のモデルを制御するRTC)

サマーキャンプ2012で使ったRTC

  • Chorenoidの拡張プラグイン(RtcManager, RobotMotionRtc)
  • KinectAuduioImageInput(Kinect for Windows SDK 1.5対応)
  • CvMonitor
  • CommandIn
  • JointAngleIn
詳細は、こちらのページを参照してください。

ROBOMEC2012 RTM講習会で使ったRTC

ROBOMEC2012において紹介しましたRTCについて下記のページに詳細を記載しています。

KINECTをG-ROBOTのコントローラにする

ROBOSSAを発表以降、KINECTのRTCをKINECT SDKで作成してみました。
現在、マイクロホンアレイを使った音声入力、スケルトンの取得、カラー画像の取得(スケルトンとカラー画像は排他制御しています)を行うことができるようになった。
また、ChoreonoidのG-ROBOTモデルの姿勢を入力とするRobotMotionRtcPluginも作成しています。RobotMotionRtcPluginは、正規でサポートするOpenRTM Pluginを使っておらず独自実装をしていますので、今後変更すると思います。
このRobotMotionRtcPluginの姿勢制御のコードは、非常に汚いですが、このようなこともできるという例として公開したいと思います。このPluginで作成されるItemは、プロジェクトの保存やアイテムの削除には、対応できていませんのであしからずご理解ください。

Source

添付ファイル:ChoreonoidPlugin.zip

添付ファイル:KinectAudioImageInput.zip

添付ファイル:CvMonitor.zip

Binaries

添付ファイル:ChoreonoidPlugin_1.1.zip

添付ファイル:KinectRTC.zip

添付ファイル:CvMonitorRTC.zip

OpenRTM-aist-1.0に付属するサンプルの改良版

OpenRTM-aist-1.0に付属しているサンプルで、OpenCVを使ってUSBカメラの画像取得コンポーネントがあります。このコンポーネントは、OpenCVを使っているために、Windowsでは、UVCカメラでは動作しない場合があります。
そこで、DirectDrowを使ったライブラリであるewclib.hを使って画像取得コンポーネントを作成しました。どうしてもWindowsでUVCカメラを使いたい方はお試しください。
ewclib.hに関しては、http://www.geocities.jp/in_subaru/ewclib/help/ewclib20_help.htmlを参照してください。また、場合によっては、DirectX SDKをインストールする必要があるかもしれません。
Windows7で試しましたが、VC++2008 だとDirectX SDKは必要ないようです。
下記のファイルは、USBCapture-win7-64.zipは、Windows7(64bit)でUSBCapture-win7-32.zipの方がWindows7(32bit)で作成したものです。

添付ファイル:USBCapture-Win7-64.zip

添付ファイル:USBCapture-Win7-32.zip



上記のプログラムは、画像取得できなくても、出力ポートにデータを送るようになっていました。これでは、画像データがバッファにたまりすぎてかえって全体の動作が遅くなります。そのため、少し修正をしました。また、画像表示のコンポーネントもデータポートからきた画像データが大きすぎると、セグメント化違反で落ちていましたので、動作中にでも表示領域の大きさを変更できるようにしたコンポーネントを作成いたしました。それぞれダウンロード後、XXXComp\Release の下のフォルダの実行ファイルをダブルクリックで動作すると思います。
これらのコンポーネントは、Windows7(32bit) VC++2008 Express Edition でコンパイルしたものです。バイナリは、Windows7 64bit でも WindowsXPでも動作すると思います。

添付ファイル:USBCapture.zip

添付ファイル:CvMonitor.zip


上記のコンポーネントでデータ送受信のときに、zlibで圧縮するバージョンも作成しましたが、圧縮処理の方が時間がかかるようでパフォーマンスがかえって悪くなりましたので、公開は控えたいと思います。
ここで掲載したUSBカメラ用のコンポーネントは、Microsoft LifeCamシリーズでは不具合が起こる場合があります。原因を調査したところ、LifeCamという添付ソフトウェアをインストールした時に、LifeTrayというソフトがインストールされ、このソフトが原因で、アプリケーションエラーを起こしてしまいます。そのため、Microsoft社のUSBカメラをご利用される場合には、LifeCamというソフトウェアを削除してご利用ください。
2012/08/19追記:
上記のUSBCapture.zipをOpenRTM-aist-1.1-RELEASE + VS2010 に対応させました。基本的に、160x120, 320x240, 640x480にキャプチャする画像サイズを変更可能です。
また、サイズ変更には、デバイスの再オープンが失敗するとCvResize関数を用いるようにしていますので、任意のサイズを指定できると思います。
また、USBCapture_bin.zipは、Windows7+OpenRTM-aist-1.1-RELEASEでコンパイルした実行ファイルです。

添付ファイル:USBCapture_for_1.1.zip

添付ファイル:USBCapture_bin.zip


国際ロボット展2009における展示サンプル

国際ロボット展2009において、ソフトウェアプラットフォームの展示を行いました。
そこで使用していたRTコンポーネント群を公開いたします。
ここに展示前のものを置きました。

知能化PJにおけるRTC群の共通化

知能PJでは、作業知能、移動知能、コミュニケーション知能の3つのカテゴリにおいて、開発るRTCの粒度、入出力インターフェースの共通化を推進し、3つのSWGを通じて共通化できるところをまとめております。

RTCを使ったロボットコントローラ

HRP-4、HIROなどの研究用ロボットプラットフォームの制御ソフトウェアは、既に、RTC化されております。その雛形のプログラムは、GoogleCodeにおいてオープンソースで開発が進められています。開発リポジトリは、こちらを参照してください。

HPI社G-ROBOTS GR-001用コントローラ

HPI社製のホビーロボットであるGR-001をPCから動かすためのRTCを開発致しました。
G-ROBOTの操作を行うライブラリに関しては、こちらを参照してください。

OpenRTM-aist-1.0 Runtime

OpenRTM-aist-1.0 に依存したコンポーネントの動作のためにWindows用のランタイムライブラリをまとめてみました。

添付ファイル:OpenRTM_aist_1_0_runtime.zip

rtshell Windowsバイナリ

rtshellのWindows版をpy2exeでバイナリ化しました。

添付ファイル:rtshell.zip