[openrtm-beginners:00362] Python版の独自データ型IDL使用について

夜分遅くに失礼します。
名古屋大工学研究科M1の長澤です.

python版の独自データを取り扱う方法について聞きたくてメールしました.

環境は
win7 64bit, VS2008, Python版OpenRTM-aist1.0.1RELEASE,
C++版OpenRTM-aist1.0.2RELEASE, RTSE+RTCB 1.0.0 r155
を使っています.

作成したいRTCは,SEC社のTOP-URG用RTC(http://www.sec.co.jp/robot/download_rtc.html)
から得られた距離データを,python版openRTMでmatplotlibを使い表示するというものです.

SEC社TOP-URG用RTCは独自データ型を出力するので次のようなIDL(myidl.idl)ファイルを用意し,デベロッパーズガイド応用編に沿ってRTCBでTimedMeasuredData型のInPort(変数名in)を持つpythonコードを作成するところまでは出来ました.

#include "BasicDataType.idl"

struct MeasuredData
{
float startPosition; // start position (degree) ( ex. 0.0 )
float endPosition; // end position (degree) ( ex. 180.0 )
long scanInterval; // スキャン間引き数
long dataGroupingNumber; // まとめるステップ数
sequence distance; // distance data of each position
float dataInterval; // degree interval between data ( ex. 0.5 )
string sensorState; // sensor state ( ex. "NORMAL", "UPDATED" )
};
struct TimedMeasuredData
{
RTC::Time tm; // Timestamp( sec, nsec )
MeasuredData data;
};

しかし作成されたコード中の__init__での_d_inの宣言が
self._d_in = TimedMeasuredData(),0)
となっており,Syntax errorになります.

また試しにself._d_in = TimedMeasuredData()と書き変えてみたのですが次のようなエラーがでます.
NameError: global name 'TimedMeasuredData' is not defined

c++版での独自データ型を持つRTCはデベロッパーズガイドを参考にして作ることが出来たのですが,Python版での独自データ型の取り扱い方があまりよくわかりません.
どなたか教えて頂けるとありがたいです.

Undefined

Download

latest Releases : 2.0.0-RELESE

2.1.0-RELESE Download page
2.0.1-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK