[openrtm-users 02759] rtc_handleの改訂版です.
ts
suehiro @ is.uec.ac.jp
2013年 2月 25日 (月) 12:34:21 JST
皆様,
末廣@電通大です.
私のところでもHiroNXを使い始めました.
そのときTimedJointDataの取り扱いでトラブルがあったので
rtc_handleを改訂しました.改訂版は,
<http://www.taka.is.uec.ac.jp/~suehiro/rtm1.0.0/>に
置いてあります.概要は,
・2013/02/25: RTC.TimedJointData などのデータ生成に引数が
2つではないデータ型に対するPipeの生成ができるようになりました。
*rtc_handle_20130225.pyを持っていってrtc_handle.pyにrenameして
使って下さい。
*omniORBpyの内部のデータ型情報を使ってdeepにダミーデータを
生成しています。
*属性名やリストなどの構造は再現されます。最後の基本データ部には
ダミーでデータコードが入ります。
*今のところは、まだ、RTC.xxxxのデータ型にしか対応していません。
ユーザ定義データ型への一般対応は今後の課題です。
ということになります.
以下,少し解説です.
deep_dummy_dataに,omniORBpyの内部の型データ,
たとえばRTC._d_TimedDoubleSeqを引数にあたえると
ダミーデータが出来ます.
(RTC._tc_TimedDoubleSeq._dも同じもの)
たとえば,内部の型データは以下のようになっています.
>>> RTC._d_TimedDoubleSeq
(15, <class RTC.TimedDoubleSeq at 0x03D5DCF0>,
'IDL:RTC/TimedDoubleSeq:1.0', 'TimedDoubleSeq', 'tm',
(15, <class RTC.Time at 0x03D5D960>, 'IDL:RTC/Time:1.0',
'Time', 'sec', 5, 'nsec', 5), 'data', (19, 7, 0))
これでダミーデータを作るのは以下のようにします.
>>> deep_dummy_data(RTC._d_TimedDoubleSeq)
RTC.TimedDoubleSeq(tm=RTC.Time(sec=5, nsec=5), data=[7])
ここで,5や7の数字が基本データ型を表しています(たぶん).
5がlong, 7がdoubleなどを意味しています.
shallow_dummy_data(与える引数は,tcそのもの)でも問題ない
とおもうのですが(*),少し凝ってみました.
実は,まだ解釈できないデータ型もあるので(14とか),
必要があれば教えて下さい.
* いずれにしても読むときは相手が正しいデータを送ってくるし,
書くときはどこかで正しいデータを作る必要があります.
--
Takashi Suehiro, Professor, Intelligent Systems Lab,
Graduate School of Information Systems,
the University of Electro-Communications
Tel: +81-424-43-5655 Fax: +81-424-43-5682
E-mail: suehiro @ is.uec.ac.jp
1-5-1 Chofugaoka, Chofu, Tokyo 1828585, Japan
More information about the openrtm-users
mailing list