原 様
はじめまして、池添@セックです。
現状のOpenRTM-aist-0.2.0でも、ユーザ定義型を利用することはできます。
OpenRTMのデータ入出力では、CORBA::Anyというデータ型を引数として
利用しているため、様々なデータを扱うことができるのです。
新しい型を追加するには、OpenRTM-aist-0.2.0/rtm/idl/RTCDataType.idl
を開き、module RTMの中に、以下のように好きな構造体を定義します。
------------------
module RTM {
struct Hoge {
short x;
float y;
char z;
};
struct TimedHoge {
Time tm;
Hoge data;
};
・
・
・
------------------
ここで注意が必要なのですが、ユーザ定義構造体には
必ずTime型のtmを含んでいる必要があります。
これは、OutPortAnyクラスの中でtmにTimeStampを設定する
処理があるためです。
そして、RTMを再コンパイルします。
$ cd OpenRTM-aist-0.2.0/rtm
$ make
$ su
Password :
# make install
これで、自分で定義した構造体を利用できるようになります。
利用方法は、ほかのデータ型と同じです。
たとえば、コンポーネントのヘッダファイルに以下のように定義し、
private :
TimedHoge hoge;
OutPortAny m_Out;
コンストラクタで、以下のように初期化します。
MyComponent::MyComponent(RtcManage* manager)
: RtcBase(manager),
m_Out("hoge_out", hoge)
{
registerPort(m_Out);
}
そうすると、アクティビティの中で、
hoge.data.x = 1234;
hoge.data.y = 56.78f;
hoge.data.z = 'a';
m_Out.write(hoge);
というように書くことができます。
以上
-----Original Message-----
From: Yusuke Hara
Sent: Thursday, March 16, 2006 11:16 AM
To: openrtm-users@m.aist.go.jp
Subject: [openrtm-users 00069] データのやり取りについて
お疲れ様です。原@中央大です。
ひとつ質問させてください
OpenRTM-aist-0.4.0ではfloat以外もデータのやり取りができるようになるのでしょ
う
か?(例えば構造体など)
よろしくお願いします。
>安藤@産総研です
>
>OpenRTM-aist-0.2.0 の Python 版実装がほぼ完成いたしました。
>
>python + omniORBpy が動く環境であれば、おそらくどこでも動くと思います。
>現在のところ、VineLinux, Windows 上で動作することを確認しております。
>もちろん、OpenRTM-aist-0.2.0 で作ったコンポーネントと接続することもできま
す。
>
>ご興味のある方は、安藤までメールをいただければ
>メールにてお送りいたします。
>
>近いうちに、OpenRTM-aist チュートリアルページ上でも公開する予定です。
>
>
>また、現在 OpenRTM-aist-0.4.0 を実装中です。
>見つけたバグやほしい機能のリクエスト等いただければ、
>実装に反映させていただくかもしれません。
>
>ご協力よろしくお願いいたします。
>
お疲れ様です。原@中央大です。
ひとつ質問させてください
OpenRTM-aist-0.4.0ではfloat以外もデータのやり取りができるようになるのでしょう
か?(例えば構造体など)
よろしくお願いします。
----------------------------------------
-----------------------------------------
>安藤@産総研です
>
>OpenRTM-aist-0.2.0
の Python 版実装がほぼ完成いたしました。
>
>python
+ omniORBpy が動く環境であれば、おそらくどこでも動くと思います。
>現在のところ、VineLinux,
Windows 上で動作することを確認しております。
>もちろん、OpenRTM-aist-0.2.0
で作ったコンポーネントと接続することもできます。
>
>ご興味のある方は、安藤までメールをいただければ
>メールにてお送りいたします。
>
>近いうちに、OpenRTM-aist
チュートリアルページ上でも公開する予定です。
>
>
>また、現在
OpenRTM-aist-0.4.0 を実装中です。
>見つけたバグやほしい機能のリクエスト等いただければ、
>実装に反映させていただくかもしれません。
>
>ご協力よろしくお願いいたします。
>