[openrtm-users 00070] Re: データのやり取りについて
池添明宏
ikezoe @ sec.co.jp
2006年 3月 16日 (木) 13:00:44 JST
原 様
はじめまして、池添@セックです。
現状の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<TimedHoge> 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);
というように書くことができます。
以上
---------------------------------------------
株式会社セック 開発本部 宇宙先端システムBF
URL: http://www.sec.co.jp
池添明宏 E-mail:ikezoe @ sec.co.jp
---------------------------------------------
-----Original Message-----
From: Yusuke Hara [mailto:yhara @ hmsl.elect.chuo-u.ac.jp]
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以外もデータのやり取りができるようになるのでしょ
う
か?(例えば構造体など)
よろしくお願いします。
----------------------------------------
原 佑輔
中央大学大学院理工学研究科
電気電子情報通信工学専攻
博士課程前期課程1年 國井研究室
〒112-8551 東京都文京区春日1-13-27
Tel:03-3817-1866
E-Mail:yhara @ hmsl.elect.chuo-u.ac.jp
-----------------------------------------
>安藤@産総研です
>
>OpenRTM-aist-0.2.0 の Python 版実装がほぼ完成いたしました。
>
>python + omniORBpy が動く環境であれば、おそらくどこでも動くと思います。
>現在のところ、VineLinux, Windows 上で動作することを確認しております。
>もちろん、OpenRTM-aist-0.2.0 で作ったコンポーネントと接続することもできま
す。
>
>ご興味のある方は、安藤までメールをいただければ
>メールにてお送りいたします。
>
>近いうちに、OpenRTM-aist チュートリアルページ上でも公開する予定です。
>
>
>また、現在 OpenRTM-aist-0.4.0 を実装中です。
>見つけたバグやほしい機能のリクエスト等いただければ、
>実装に反映させていただくかもしれません。
>
>ご協力よろしくお願いいたします。
>
> 安藤慶昭@独立行政法人産業技術総合研究所 研究員
> 知能システム研究部門 タスクインテリジェンス研究グルー
プ
> 〒305-8568 茨城県つくば市梅園1-1-1 中央第2
> TEL: 029-861-5981 FAX: 029-861-5971
> n-ando @ aist.go.jp, n-ando @ ieee.org
openrtm-users メーリングリストの案内