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

Tetsuya Nagasawa t_nagasawa @ nuem.nagoya-u.ac.jp
2012年 8月 7日 (火) 02:20:43 JST


こんな時間に返信して頂き恐縮です.

私がidlファイルのコンパイルをあまり理解できていないのかもしれません.
idlcompile.batを実行して作成されるmyidl_idl.pyは,生成されたコンポーネント(URG_Viewer.py)の先頭でimportしています.
これで

> 1.TimedMeasuredDataのIDLファイルをIDLコンパイラで
>   コンパイルしたファイルはありますでしょうか?
> 2.そのファイルをコンポーネントのコードの先頭でimportしていますか?

の両方を満たしているつもりでした.


1.RTCBから生成された未編集のpythonコード(URG_Viewer.py)
2.RTC.xml
3.pythonコード編集後のプロジェクトフォルダ(URG_Viewer.zip)
の3つを添付します.

3.で行った編集の内容は次の2点です.

・ URG_Viewer.pyのself._d_in = TimedMeasuredData(),0)をself._d_in =
TimedMeasuredData()に書き換える(syntax error回避のため).
・ import myidl_idlをURG_Viewer.pyの先頭に書き加える.

少なくとも未編集のpythonコードがsyntax errorになるのはバグではないかと思います.
C++版では問題なくRTCを作ることができています.


2012年8月7日 1:07 Ando Noriaki <n-ando @ aist.go.jp>:
> 産総研 安藤です
>
> #質問のレベル的にはusersのMLでいいかと思います。
> #beginnersは人数が少ないですし。。。
>
> とりあえず、生成されたコンポーネントのコードを見せていただけますか?
> もしかするとRTCBuilderのバグかも知れません。
>
> TimedMeasuredData が無いと言われているのですが、
> 1.TimedMeasuredDataのIDLファイルをIDLコンパイラで
>   コンパイルしたファイルはありますでしょうか?
> 2.そのファイルをコンポーネントのコードの先頭でimportしていますか?
>
> 質問に答えるには、もう少し情報が欲しいところです。
> よろしくお願いします。
>
> 2012年8月7日 0:53 Tetsuya Nagasawa <t_nagasawa @ nuem.nagoya-u.ac.jp>:
>> 夜分遅くに失礼します。
>> 名古屋大工学研究科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<long> 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版での独自データ型の取り扱い方があまりよくわかりません.
>> どなたか教えて頂けるとありがたいです.
>>
>>
>>
>> --
>> 名古屋大学大学院工学研究科機械理工学専攻電子機械工学分野鈴木研究室
>> M1 長澤 哲弥
>> t_nagasawa @ nuem.nagoya-u.ac.jp
>> _______________________________________________
>> openrtm-beginners mailing list
>> openrtm-beginners @ openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-beginners
>
>
>
> --
> 安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
>     統合知能研究グループ 主任研究員, 博士(工学)
>     〒305-8568 つくば市梅園1-1-1 中央第2
>     e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
>     OpenRTM-aist: http://www.openrtm.org
>
> Noriaki Ando, Ph.D.
>     Senior Research Scientist, RT-Synthesis R.G., ISRI, AIST
>     AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
>     e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
>     OpenRTM-aist: http://www.openrtm.org
> _______________________________________________
> openrtm-beginners mailing list
> openrtm-beginners @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-beginners
>



-- 
名古屋大学大学院工学研究科機械理工学専攻電子機械工学分野鈴木研究室
M1 長澤 哲弥
t_nagasawa @ nuem.nagoya-u.ac.jp
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: URG_Viewer.py
型:         application/octet-stream
サイズ:     5238 バイト
説明:       無し
URL:        <http://www.openrtm.org/pipermail/openrtm-beginners/attachments/20120807/1275f5fc/attachment-0001.obj>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: RTC.xml
型:         text/xml
サイズ:     2472 バイト
説明:       無し
URL:        <http://www.openrtm.org/pipermail/openrtm-beginners/attachments/20120807/1275f5fc/attachment-0001.xml>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: URG_Viewer.zip
型:         application/zip
サイズ:     8407 バイト
説明:       無し
URL:        <http://www.openrtm.org/pipermail/openrtm-beginners/attachments/20120807/1275f5fc/attachment-0001.zip>


More information about the openrtm-beginners mailing list