[openrtm-users 00069] データのやり取りについて

2 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 1日 2時間 前
登録日: 2009-06-23 14:31
[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 を実装中です。

>見つけたバグやほしい機能のリクエスト等いただければ、

>実装に反映させていただくかもしれません。

>ご協力よろしくお願いいたします。

 

未定義
root
オフライン
Last seen: 1日 2時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00070] データのやり取りについて

原 様

はじめまして、池添@セックです。

現状の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 を実装中です。
>見つけたバグやほしい機能のリクエスト等いただければ、
>実装に反映させていただくかもしれません。

>ご協力よろしくお願いいたします。

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2209
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク