電気通信大学大学院 佐藤様
お世話になっております。
産総研 栗原です。
ご報告頂き有り難うございます。
Python版OpenRTM-aist-1.0.0のExtTrigExecutionContext.py
に問題がありまして、ご報告頂きました問題が発生しております。
お手数ですが、添付のExtTrigExecutionContext.pyを
C:\\Lib\site-packages\OpenRTM_aist
のExtTrigExecutionContext.pyと置き換えて試して頂けますでしょうか?
これまでのバグフィックスを行ったパッケージを間もなくリリース予定
です。
ただ、現在のところWindows用のインストーラは準備できているのですが、
他のパッケージがまだですので、それまでは、ファイルの置き換えでご対
応頂ければと存じます。
なお、これまでのバグ情報につきましてもWebにアップするように致します。
以上、宜しくお願い致します。
On Mon, 21 Feb 2011 20:22:48 +0900
Shunji Satoh wrote:
> 電気通信大学大学院・佐藤と申します.
>
> お世話になっております.
>
> Python版の ExtTrigger のサンプルが,期待通りの動作をせず悩んでおります.た
> だ,ExtTrigExecutionContext に関して私が誤解している可能性も大きと思っています.
> 実行環境は WindowsXP-SP3(32bit),OpenRTM-aist-1.0.0,python2.6,コンポーネントはすべて
> ローカルで実行しています.
>
> 私は ExtTrigger の挙動を以下のように理解しているのですが,誤解でしょうか.ご指摘いただけれ
> ば幸いです.(Open-RTM\example\Python\ExtTrigger のサンプルを試しています)
> ----
> a.PERIODIC であれば周期的に実行されるが,
> b.ExtTrigger サンプルである Connector.py は,キーボードからの入力 0/1/2 によって各コン
> ポーネントの実行を制御している.具体的には「0: tick ConsoleIn component」「1: tick
> ConsoleOut component」「2: tick both components」.
> c.たとえば 0 の場合は,ConsoleIn の時間だけを進めるため,ConsoleIn は入力を受け付ける(例
> えば999と入力)が,ConsoleOut に表示されない(999は表示されない).
> d. 上記 b のキーボード入力が 1 である場合,ConsoleOut の時間が進み,その時点で 999 が表示
> される.
> ----
>
> しかしながら私の環境では,Connector.py へのキーボード入力が 0/1/2 のいずれであっても,同じ
> 挙動をします(外部トリガーによる制御ではなく,PERIODIC な実行をしているようです.)
> 上記 a〜d. は私の誤解でしょうか.
>
> なおバグレポートになるかと思いますが,サンプル付属の ExtTrigger\run.py は rtm-naming.py の
> 呼び出しパスが適切ではないようです.そこで以下のように実行しています.
> ----
> 1.スタート⇒すべてのプログラム⇒OpenRTM-aist⇒Python⇒tools⇒Start naming service
> 2.コマンドプロンプトを立ち上げてディレクトリを移動したのち,以下を実行.
> 3.start ConsoleIn.py
> 4.start ConsoleOut.py
> 5.start Connector.py
> ----
>
>
> 以下,ExtTrigger サンプルを実行している理由について記します.
> ・複数のコンポーネントがあり,それぞれ compA, compB, compC とします.これらのコンポーネン
> トは,とある系全体のシミュレーションをするために分割されたコンポーネントです.
> ・compA→compB→compC のデータの流れと,
> ・compB←compC のフィードバックがあります.
> ・compB はほかの二つに比べて,長いシミュレーション時間を要します.例えば物理的単位時間のシ
> ミュレーションを行う際に,compB は CPU時間で 1分ほど要しますが,compA と compC はそれぞれ
> 1秒程度です.
> ・このような系を制御したく(同期といえますでしょうか)いろいろ調べた結果,どうやら
> ExtTrigExecutionContext を使えばよいことがわかった.
> ・そこで使い方を勉強するために,ExtTrigger サンプルを試しているが,期待している結果が得ら
> れない.
>
>
> 以上です.よろしくお願いします.
>
>
>
>
>
電気通信大学大学院・佐藤と申します.
お世話になっております.
Python版の ExtTrigger のサンプルが,期待通りの動作をせず悩んでおります.た
だ,ExtTrigExecutionContext に関して私が誤解している可能性も大きと思っています.
実行環境は WindowsXP-SP3(32bit),OpenRTM-aist-1.0.0,python2.6,コンポーネントはすべて
ローカルで実行しています.
私は ExtTrigger の挙動を以下のように理解しているのですが,誤解でしょうか.ご指摘いただけれ
ば幸いです.(Open-RTM\example\Python\ExtTrigger のサンプルを試しています)
----
a.PERIODIC であれば周期的に実行されるが,
b.ExtTrigger サンプルである Connector.py は,キーボードからの入力 0/1/2 によって各コン
ポーネントの実行を制御している.具体的には「0: tick ConsoleIn component」「1: tick
ConsoleOut component」「2: tick both components」.
c.たとえば 0 の場合は,ConsoleIn の時間だけを進めるため,ConsoleIn は入力を受け付ける(例
えば999と入力)が,ConsoleOut に表示されない(999は表示されない).
d. 上記 b のキーボード入力が 1 である場合,ConsoleOut の時間が進み,その時点で 999 が表示
される.
----
しかしながら私の環境では,Connector.py へのキーボード入力が 0/1/2 のいずれであっても,同じ
挙動をします(外部トリガーによる制御ではなく,PERIODIC な実行をしているようです.)
上記 a〜d. は私の誤解でしょうか.
なおバグレポートになるかと思いますが,サンプル付属の ExtTrigger\run.py は rtm-naming.py の
呼び出しパスが適切ではないようです.そこで以下のように実行しています.
----
1.スタート⇒すべてのプログラム⇒OpenRTM-aist⇒Python⇒tools⇒Start naming service
2.コマンドプロンプトを立ち上げてディレクトリを移動したのち,以下を実行.
3.start ConsoleIn.py
4.start ConsoleOut.py
5.start Connector.py
----
以下,ExtTrigger サンプルを実行している理由について記します.
・複数のコンポーネントがあり,それぞれ compA, compB, compC とします.これらのコンポーネン
トは,とある系全体のシミュレーションをするために分割されたコンポーネントです.
・compA→compB→compC のデータの流れと,
・compB←compC のフィードバックがあります.
・compB はほかの二つに比べて,長いシミュレーション時間を要します.例えば物理的単位時間のシ
ミュレーションを行う際に,compB は CPU時間で 1分ほど要しますが,compA と compC はそれぞれ
1秒程度です.
・このような系を制御したく(同期といえますでしょうか)いろいろ調べた結果,どうやら
ExtTrigExecutionContext を使えばよいことがわかった.
・そこで使い方を勉強するために,ExtTrigger サンプルを試しているが,期待している結果が得ら
れない.
以上です.よろしくお願いします.