[openrtm-users 02943] Re: 独自データ型のデータポートをRTCBuilderで作成できない

Ando Noriaki n-ando @ aist.go.jp
2013年 11月 11日 (月) 21:52:56 JST


コードを見てみないとわかりませんが、コンポーネントのコンストラクタで
なにか例外が出ているのではないでしょうか?
コンポーネントのインスタンスを作成するのに失敗して、自動シャットダウン機能
で数秒後にorb.run()から戻って終了しているのではないかと思います。
差支えなければコードを見せてもらえないでしょうか?

安藤


2013年11月11日 13:09 秋葉直樹 <nao.lunalovegood @ gmail.com>:
> 栗原様
>
> 山形大学の秋葉です.
> 回答有難うございます.
>
> self._d_out =  _GlobalIDL.MyData(RTC.Time(0,0),0,0,[])
> と書き換えてみたのですが,書き換える前と同じ
> 「実行してもRTSystemEditorに表示されず,数秒後に実行が終了する」
> という現象に変わりありませんでした.
> 端末には次の文字だけ表示されます.
> comp_args: test
>
> #関係ないかもしれませんが,確かに,idlcompile.shを実行すると"_GlobalIDL"と"_GlobalIDL__POA"が生成されています.
>
> 少し中身を調べてみるとtest.pyの265行目あたりの
> mgr.runManager()
> が実行されて,
> /usr/lib/python2.6/dist-packages/OpenRTM_aist/Manager.py
> のrunManagerが実行されているようですが,その中の
> self._orb.run()
> が実行されると,OpenRTMに標準で搭載されているデータポートの型を持つRTCは「待ち」になる様なのですが,
> 自分のRTCはこの関数が実行された数秒後に関数から抜けてしまいtest.py自体が実行が終了してしまっているようです.
>
> このような問題はどのように解決できますでしょうか.
> 宜しくお願い致します.
>
>
> #一応,情報として,RTCBuilderでRTCを生成した際の各パラメータを下に示します.
> ・Basic
>     Module name    test
>     Module description    test
> ・Data Ports
>     Port name    out
>     Data Type    MyData
>     Var Name    out
> ・Language and Environment
>     Language    Python
>
>
>
>
> 2013年11月10日 23:58 shinji.k <shinji0608 @ gmail.com>:
>> 秋葉様
>>
>> 栗原と申します。
>>
>>> よって,下のように書き換えてみました.
>>> self._d_out = MyData(RTC.Time(0,0),0,0,[])
>> 上記を、
>> self._d_out =  _GlobalIDL.MyData(RTC.Time(0,0),0,0,[])
>> として試してみてください。
>>
>>
>> よろしくお願い致します。
>>
>>
>> 2013年11月10日 15:30 秋葉直樹 <nao.lunalovegood @ gmail.com>:
>>> 山形大学の秋葉です.
>>>
>>> 上の問題は解決されたのですが,
>>> 「独自のデータポートを持つPyhtonRTCを実行できない」
>>> という問題が出てしまいました.
>>>
>>> 前に説明しましたが,環境は下のようになります.
>>> Ubuntu10.04 32bit
>>> OpenRTM-C++ 1.0.2
>>> OpenRTM-python 1.0.0
>>> RTCBuilderはeclipse342_rtmtools100release_linux_ja.tar.gzを解凍したもの
>>>
>>> 下記のページにあるMyDataTypeを持つデータポートを作成しました.
>>>
>>> cat MyDataType.idl
>>> // @file MyDataType.idl
>>> #include "BasicDataType.idl"
>>>
>>> struct MyData
>>> {
>>>   RTC::Time tm;
>>>   short shortVariable;
>>>   long longVariable;
>>>   sequence<double> data;
>>> };
>>>
>>> データポート (応用編) | OpenRTM-aist
>>> http://www.openrtm.org/openrtm/ja/content/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9D%E3%83%BC%E3%83%88-%E5%BF%9C%E7%94%A8%E7%B7%A8#toc2
>>>
>>>
>>>
>>> 詳しく説明しますと,
>>>
>>> RTCのメインプログラムtest.pyを何も編集をせず,実行すると下のようになりました.
>>> #RTCの名前は"test"としました.
>>>
>>> $ ./test.py
>>> File "./test.py", line 58
>>> self._d_out = MyData(),0)
>>>                             ^
>>> SyntaxError: invalid syntax
>>>
>>> よって,下のように書き換えてみました.
>>> self._d_out = MyData(RTC.Time(0,0),0,0,[])
>>>
>>> その結果,エラーはなくなりましたが,実行しても,RTSystemEditorにでてくることもなく,数秒経つと./test.pyの実行が終わるようになってしましました.
>>>
>>> C++のRTCではきちんとデータポートで送受信できているのでRTCBuilder上の項目は間違っていないと思っています.
>>> このような場合.独自のデータポートを持つPythonのRTCを実行するにはどのようにすればよいのでしょうか.
>>>
>>>
>>> 他にこのRTCに対してしたことは下のようなことです.
>>> 1)
>>> RTCを実行する前に./idlcompile.shをした所,
>>>
>>> MyDataType.idl:2: BasicDataType.idl: No such file or directory
>>> MyDataType.idl:6: Error in look-up of 'RTC::Time': 'RTC' not found
>>> omniidl: 1 error.
>>> omniidl: Error running preprocessor
>>>
>>> となってしまったので,同じディレクトリ内に"BasicDataType.idl"を追加し,再度"./idlcompile.sh"をしました.
>>>
>>> 2)
>>> RTCBuilderを"eclipse342_rtmtools100release_linux_ja.tar.gz"のものから"eclipse381-openrtp110rc4v20130216-ja-linux-gtk.tar.gz"に変えて見ましたが,
>>> 結果は変わりませんでした.
>>>
>>>
>>> 宜しくお願い致します.
>>>
>>> 2013年10月29日 15:39 Ando Noriaki <n-ando @ aist.go.jp>:
>>>> 秋葉さま
>>>>
>>>> 安藤です
>>>>
>>>> なるほどそうでしたか。一応こういう現象があったとしてチケット出しておきます。
>>>> 情報ありがとうございました。
>>>>
>>>>
>>>>
>>>> 2013年10月29日 15:27 秋葉直樹 <nao.lunalovegood @ gmail.com>:
>>>>> 産総研 安藤様
>>>>> 山形大学の秋葉です.
>>>>>
>>>>> 申し訳ありません.
>>>>> 自己解決しました.
>>>>>
>>>>> 問題はidlファイルの中身でした.
>>>>> 下記のURLに書いてあるMyDataType.idlをそのままコピペしてしまったので,すぺての行の先頭にスペースが入っていました.
>>>>>
>>>>> データポート (応用編) | OpenRTM-aist
>>>>> http://www.openrtm.org/openrtm/ja/content/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9D%E3%83%BC%E3%83%88-%E5%BF%9C%E7%94%A8%E7%B7%A8#toc2
>>>>>
>>>>> すべての行の先頭のスペースを削除するときちんとRTCBuilderのタプが表示されました.
>>>>>
>>>>> 詳しく調べてみたところ,
>>>>> #include
>>>>> の前にスペースが入るとこのようになるようです.
>>>>> C++では#includeの前にスペースが入っても正常に動作しますが,IDLではダメみたいです.
>>>>>
>>>>> お手間を取らせてしまい,申し訳ありませんでした.
>>>>>
>>>>> 2013年10月29日 13:06 Ando Noriaki <n-ando @ aist.go.jp>:
>>>>>> ためしに、1.1.0-RC4を使ってみていただけないでしょうか?
>>>>>> 1.1.0のツールを1.0.0で使用するのは特に問題ないはずです。
>>>>>>
>>>>>> http://openrtm.org/openrtm/ja/node/30
>>>>>>
>>>>>>
>>>>>> ちなみに、xulrunner関係の不具合が出る場合、そもそもEclipseのウィンドウが
>>>>>> 出なかったはずです。今回はこの不具合とは別の問題のような気がします。
>>>>>>
>>>>>>
>>>>>> 安藤
>>>>>>
>>>>>>
>>>>>> 2013年10月29日 12:06 秋葉直樹 <nao.lunalovegood @ gmail.com>:
>>>>>>> OpenRTM公式からダウンロードできる下記の「全部入り」を使用しているので,
>>>>>>> eclipse342_rtmtools100release_linux_ja.tar.gz
>>>>>>>
>>>>>>> eclipseは3.4.2です.
>>>>>>> また,rtcbuilderのバージョンはeclipse/pluginの中を見ると
>>>>>>>
>>>>>>> akiba @ yken-hiro:~/Downloads/eclipse/plugins$ ls *rtcbuilder*
>>>>>>> jp.go.aist.rtm.rtcbuilder.csharp_1.0.0.jar
>>>>>>> jp.go.aist.rtm.rtcbuilder.nl1_1.0.0.v20100316.jar
>>>>>>> jp.go.aist.rtm.rtcbuilder.vbdotnet_1.0.0.jar
>>>>>>> jp.go.aist.rtm.rtcbuilder.java_1.0.0.v20100412.jar
>>>>>>> jp.go.aist.rtm.rtcbuilder.python_1.0.0.v20100521.jar
>>>>>>> jp.go.aist.rtm.rtcbuilder_1.0.0.v20100507.jar
>>>>>>>
>>>>>>> となりますので,1.0.0だと思います.
>>>>>>>
>>>>>>> eclipseの全部入りをダウンロードするときに,下記のサイトで
>>>>>>> OpenRTM Eclipse tools 1.0-RELEASE | OpenRTM-aist
>>>>>>> http://www.openrtm.org/openrtm/ja/node/941
>>>>>>>
>>>>>>> ””
>>>>>>> Ubuntu8.04, Ubuntu9.10, Ubuntu10.04でLinux用Eclipse3.4.2が動作しない不具合が報告されています。
>>>>>>> Ubuntu8.04では、apt-get install xulrunner-1.9 として xulrunninerをアップデートしてください。
>>>>>>> Ubuntu9.10,Ubuntu10.04では、以下の方法を利用するか、Eclipse3.3もしくは3.5をご利用ください。
>>>>>>> ””
>>>>>>>
>>>>>>> というような記述があるので,
>>>>>>>
>>>>>>> akiba @ yken-hiro:~/Downloads/eclipse$ cat eclipse.sh
>>>>>>> #/bin/sh
>>>>>>>  export GDK_NATIVE_WINDOWS=1
>>>>>>>  ./eclipse -vmargs
>>>>>>> -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.2.28/xulrunner
>>>>>>>
>>>>>>> というようなファイルを作り,これを実行して使用しています.
>>>>>>> サイトではxulrunner-1.9.1.8 と書いていますが,実際に現在入っているバージョンがxulrunner-1.9.2.28であるため,
>>>>>>> そのように書き換えました.
>>>>>>>
>>>>>>> 普段使用している分にはこれで不具合などはなかったのですが,この問題などが「不具合」にあたるのでしょうか.
>>>>>>>
>>>>>>> 宜しくお願い致します.
>>>>>>>
>>>>>>> 2013年10月29日 11:46 Ando Noriaki <n-ando @ aist.go.jp>:
>>>>>>>> 産総研 安藤です
>>>>>>>>
>>>>>>>> EclipseのバージョンとRTCBuilderのバージョンはいくつでしょうか?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013年10月26日 21:27 秋葉直樹 <nao.lunalovegood @ gmail.com>:
>>>>>>>>> 山形大学の秋葉直樹と申します.
>>>>>>>>> 宜しくお願い致します.
>>>>>>>>>
>>>>>>>>> こちらはUbuntu10.04にOpenRTM-aist のC++ ver1.0.2と Python ver1.0.0をインストールしています.
>>>>>>>>>
>>>>>>>>> 下記のURLを参考に独自型のデータポートを作成しようとしたのですが,
>>>>>>>>>
>>>>>>>>> データポート (応用編) | OpenRTM-aist
>>>>>>>>> http://www.openrtm.org/openrtm/ja/content/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9D%E3%83%BC%E3%83%88-%E5%BF%9C%E7%94%A8%E7%B7%A8#toc1
>>>>>>>>>
>>>>>>>>> 書かれていることと同様に
>>>>>>>>>
>>>>>>>>> ~/Document/IDL内に
>>>>>>>>> BasicDataType.idl  MyDataType.idl
>>>>>>>>> を置き,
>>>>>>>>> RTCBuilderの設定からIDL File Directoriesを上から
>>>>>>>>> /usr/include/rtc/idl
>>>>>>>>> /home/akiba/Document/IDL
>>>>>>>>> としました.
>>>>>>>>>
>>>>>>>>> しかし,「RTCBuilderでの確認」を行おうとした際に,
>>>>>>>>> RTCBuilderを開いてタブを開くと
>>>>>>>>> タブは出てくるのですが,設定画面が表示されなくなってしまいました.
>>>>>>>>> 言葉では表現しにくいため,プリントスクリーンの画像を添付致します.
>>>>>>>>>
>>>>>>>>> 一度eclipseを閉じ,~/Document/IDL/MyDataType.idlを消去してから再度開くとタブも設定画面も表示されます.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 質問としては以下の2つがあります.
>>>>>>>>> 1)
>>>>>>>>> 上記の状態で設定画面を通常通りに表示させるにはどのようにすれば良いのか.
>>>>>>>>>
>>>>>>>>> 2)
>>>>>>>>> はじめに示したURLの「RTCBuilderでの確認」のところに,赤字で「新規プロジェクトを作成する場合は・・・」とありますが,
>>>>>>>>> "デフォルト・ロケーションの使用のチェック"はどこにあるのか
>>>>>>>>>
>>>>>>>>> 初歩的な質問かもしれませんが,宜しくお願い致します.
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> /*************************************
>>>>>>>>> 山形大学大学院理工学研究科
>>>>>>>>> 機械システム工学専攻
>>>>>>>>> 秋葉 直樹
>>>>>>>>> *************************************/
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> openrtm-users mailing list
>>>>>>>>> openrtm-users @ openrtm.org
>>>>>>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> openrtm-users mailing list
>>>>>>>> openrtm-users @ openrtm.org
>>>>>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> /*************************************
>>>>>>> 山形大学大学院理工学研究科
>>>>>>> 機械システム工学専攻
>>>>>>> 秋葉 直樹
>>>>>>> *************************************/
>>>>>>> _______________________________________________
>>>>>>> openrtm-users mailing list
>>>>>>> openrtm-users @ openrtm.org
>>>>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> 安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
>>>>>>     ディペンダブルシステム研究グループ、ソフトウエアプラットフォーム研究班
>>>>>>     主任研究員, 博士(工学)
>>>>>>     〒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, Dependable Systems 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-users mailing list
>>>>>> openrtm-users @ openrtm.org
>>>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> /*************************************
>>>>> 山形大学大学院理工学研究科
>>>>> 機械システム工学専攻
>>>>> 秋葉 直樹
>>>>> *************************************/
>>>>> _______________________________________________
>>>>> openrtm-users mailing list
>>>>> openrtm-users @ openrtm.org
>>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>>
>>>>
>>>>
>>>> --
>>>> 安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
>>>>     ディペンダブルシステム研究グループ、ソフトウエアプラットフォーム研究班
>>>>     主任研究員, 博士(工学)
>>>>     〒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, Dependable Systems 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-users mailing list
>>>> openrtm-users @ openrtm.org
>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>
>>>
>>>
>>> --
>>> /*************************************
>>> 山形大学大学院理工学研究科
>>> 機械システム工学専攻
>>> 秋葉 直樹
>>> *************************************/
>>> _______________________________________________
>>> openrtm-users mailing list
>>> openrtm-users @ openrtm.org
>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users @ openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>
>
>
> --
> /*************************************
> 山形大学大学院理工学研究科
> 機械システム工学専攻
> 秋葉 直樹
> *************************************/
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users


More information about the openrtm-users mailing list