[openrtm-users 01587] ExtTriggerのサンプル

7 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01587] 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 サンプルを試しているが,期待している結果が得ら
れない.

以上です.よろしくお願いします.

未定義
root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01588] ExtTriggerのサンプル

電気通信大学大学院 佐藤様

お世話になっております。
産総研 栗原です。

ご報告頂き有り難うございます。

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 サンプルを試しているが,期待している結果が得ら
> れない.
>
>
> 以上です.よろしくお願いします.
>
>
>
>
>

root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01589] ExtTriggerのサンプル

栗原様,みなさま

電通大院・佐藤です.
早速のご返信ならびにスクリプトの添付,誠にありがとうございます.

結果から報告しますと,頂いた ExtTrigExecutionContext.py で動作することを確認しました.あり
がとうございます.ただ,一点質問があります.

ExtTrig のサンプルを実行すると,私が想定してる挙動と異なる動作をします.私の誤解である可能
性が大きいのですが,具体的には以下の通りです.
----
1.Connector.py の画面において,
2."0"を選択,すなわち「0: tick ConsoleIn component」とすれば,ConsoleIn.py::onExecute()
が実行されるので,"Please input number:" のプロンプトが出ると期待していたが,
3.見た目上,何も変化せず,
4.Connector.py の画面においてもう一度,"0" を選択すると,"Please input number:" が表示さ
れる.
5.2回目の"0"入力以降は,"0" を入力するたびに "Please input number:" が表示される.
----

なぜ,"0" を2回入力しないと ConsoleIn::onExecute() が実行されないのかが理解できません.原
因は,「tick():処理を1ステップ進める.ExecutionContextの処理を1周期分進める.」において,
「ExecutionContextの処理を1周期分進める」とは具体的に何を実行するのかを正確に理解していな
いからだと思っています.

「ExecutionContextの処理を1周期分進める」とは具体的にどのような処理を行うことなのか,情報
源がありましたら,ぜひ教えていただきたいと願っております.
私なりに,調査・検索してみましたが,どうしてもわかりませんでした.

> これまでのバグフィックスを行ったパッケージを間もなくリリース予定
> です。
> ただ、現在のところWindows用のインストーラは準備できているのですが、
> 他のパッケージがまだですので、それまでは、ファイルの置き換えでご対
> 応頂ければと存じます。

楽しみにしております.よろしくお願いします.

> なお、これまでのバグ情報につきましてもWebにアップするように致します。

可能でしたら URL を教えていただけますでしょうか.

以上よろしくお願いします.

> 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 サンプルを試しているが,期待している結果が得ら
>> れない.
>>
>>
>> 以上です.よろしくお願いします.
>>
>>
>>
>>
>>
>
>

root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01591] ExtTrigger のサンプル

佐藤様

静岡大の清水です。

> 2."0"を選択,すなわち「0: tick ConsoleIn
> component」とすれば,ConsoleIn.py::onExecute()
> が実行されるので,"Please input number:"
> のプロンプトが出ると期待していたが,
> 3.見た目上,何も変化せず,
> 4.Connector.py の画面においてもう一度,"0"
> を選択すると,"Please input number:" が表示さ
> れる.

最初のtick()では、アクティブ化処理が実行されます。
この時点でRTCはアクティブになりますが、
onExecute()は実行されません。

onExecute()を実行するためにはもう一度tick()を
コールしないとなりません。

なので、最初のtick()では何も起こってないように
「見える」だけです。実際はRTCがアクティブ状態に
遷移しています。SystemEditorなどで確認してみると
わかると思います。

# プログラミングに苦労しているようですが、
頑張ってください。
プログラミングのスキルアップには試行錯誤や
経験が必要です(と個人的には思います)。
一朝一夕には上達しないものです。
ソースを読んでみるというのは大変良いことです。
最初はわからなくてもだんだん分かってきます。
私もコードリーディングでRTMの勉強をしました。

清水

root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01593] ExtTrigger のサンプル

清水さま,みなさま

電通大院・佐藤俊治です.
下記,ありがとうございました.なぜこのような挙動をするのか,清水さんのご返信とありがたい
encourage で理解することができました.

> なので、最初のtick()では何も起こってないように
> 「見える」だけです。実際はRTCがアクティブ状態に
> 遷移しています。

なるほど.python よりも c++ の方が慣れているので,ExtTrigExecutionContext.h ならびに,これ
が継承している PeriodicContext.h のソースを読んだのですが,
StateMachine::m_sm をメンバとして持っていて,
----
m_sm.setEntryAction(ACTIVE_STATE, &DFPBase::on_activated);
m_sm.setDoAction (ACTIVE_STATE, &DFPBase::on_execute);
m_sm.setPostAction (ACTIVE_STATE, &DFPBase::on_stateupdate);
----
なので,ExecutiohContext の「1周期分進める」を記号⇒で示すと,
(Inactive)⇒
(Inactive->Active/on_activate())⇒
(Active->Active/on_execute())
と理解しましたが,これで合っていると期待しています.(いかがでしょうか).

状態遷移図については,
http://www.openrtm.org/openrtm/sites/default/files/162/RTCStateMachine040.png
や,著書「はじめての〜」を眺めていたのですが,on_execute() の記載がなく,とても不思議に
思っていました.on_execute() は Active のときに周期的に呼ばれるとの記載がありましたが,
「すごいな,実際,どうやっているんだろう?」と思い,現在も調べていますがいまだわかっていま
せん.

ところで下記のコメントありがとうございます.大変 encourage されました.現在,ソースをあれ
これ追って勉強している最中です.
# ただどうしても,tick() がどのようにして on_execute() を呼び出しているか,いまだつかめて
いません.

ありがとうございました.以上です.

> # プログラミングに苦労しているようですが、
> 頑張ってください。
> プログラミングのスキルアップには試行錯誤や
> 経験が必要です(と個人的には思います)。
> 一朝一夕には上達しないものです。
> ソースを読んでみるというのは大変良いことです。
> 最初はわからなくてもだんだん分かってきます。
> 私もコードリーディングでRTMの勉強をしました。

root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01592] ExtTriggerのサンプル

電気通信大学大学院 佐藤様

お世話になっております。
産総研 栗原です。

> > なお、これまでのバグ情報につきましてもWebにアップするように致します。
>
> 可能でしたら URL を教えていただけますでしょうか.
OpenRTM-aistのWebページ内、ダウンロード > Python版 > 1.0.0-RELEASEページ
の”ソースコード”のところにバグフィックス版(1.0.1)のソースとバグ情報を
記載させて頂きました。

http://www.openrtm.org/openrtm/ja/node/932

Linux用のパッケージに関しましては、もうしばらくお待下さい。

以上、宜しくお願い致します。

On Tue, 22 Feb 2011 18:03:24 +0900
Shunji Satoh wrote:

> 栗原様,みなさま
>
> 電通大院・佐藤です.
> 早速のご返信ならびにスクリプトの添付,誠にありがとうございます.
>
> 結果から報告しますと,頂いた ExtTrigExecutionContext.py で動作することを確認しました.あり
> がとうございます.ただ,一点質問があります.
>
> ExtTrig のサンプルを実行すると,私が想定してる挙動と異なる動作をします.私の誤解である可能
> 性が大きいのですが,具体的には以下の通りです.
> ----
> 1.Connector.py の画面において,
> 2."0"を選択,すなわち「0: tick ConsoleIn component」とすれば,ConsoleIn.py::onExecute()
> が実行されるので,"Please input number:" のプロンプトが出ると期待していたが,
> 3.見た目上,何も変化せず,
> 4.Connector.py の画面においてもう一度,"0" を選択すると,"Please input number:" が表示さ
> れる.
> 5.2回目の"0"入力以降は,"0" を入力するたびに "Please input number:" が表示される.
> ----
>
> なぜ,"0" を2回入力しないと ConsoleIn::onExecute() が実行されないのかが理解できません.原
> 因は,「tick():処理を1ステップ進める.ExecutionContextの処理を1周期分進める.」において,
> 「ExecutionContextの処理を1周期分進める」とは具体的に何を実行するのかを正確に理解していな
> いからだと思っています.
>
> 「ExecutionContextの処理を1周期分進める」とは具体的にどのような処理を行うことなのか,情報
> 源がありましたら,ぜひ教えていただきたいと願っております.
> 私なりに,調査・検索してみましたが,どうしてもわかりませんでした.
>
>
> > これまでのバグフィックスを行ったパッケージを間もなくリリース予定
> > です。
> > ただ、現在のところWindows用のインストーラは準備できているのですが、
> > 他のパッケージがまだですので、それまでは、ファイルの置き換えでご対
> > 応頂ければと存じます。
>
> 楽しみにしております.よろしくお願いします.
>
> > なお、これまでのバグ情報につきましてもWebにアップするように致します。
>
> 可能でしたら URL を教えていただけますでしょうか.
>
> 以上よろしくお願いします.
>
>
> > 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 サンプルを試しているが,期待している結果が得ら
> >> れない.
> >>
> >>
> >> 以上です.よろしくお願いします.
> >>
> >>
> >>
> >>
> >>
> >
> >
>
>

root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01594] ExtTriggerのサンプル

産総研 栗原様

電気通信大学大学院 佐藤と申します.

python 版 1.0.1 の作成,誠にありがとうございます.ExtTrig のサンプルも,期待した挙動を示す
ことを確認しました.
プロのプログラムを見た経験がなかったので,とても勉強になります.
# 分からないことも多々ありますが...ただ,期待感でいっぱいです.

今後ともよろしくお願いします.
以上です.

> 電気通信大学大学院 佐藤様
>
> お世話になっております。
> 産総研 栗原です。
>
>>> なお、これまでのバグ情報につきましてもWebにアップするように致します。
>>
>> 可能でしたら URL を教えていただけますでしょうか.
> OpenRTM-aistのWebページ内、ダウンロード> Python版> 1.0.0-RELEASEページ
> の”ソースコード”のところにバグフィックス版(1.0.1)のソースとバグ情報を
> 記載させて頂きました。
>
> http://www.openrtm.org/openrtm/ja/node/932
>
> Linux用のパッケージに関しましては、もうしばらくお待下さい。
>
>
> 以上、宜しくお願い致します。
>
>
> On Tue, 22 Feb 2011 18:03:24 +0900
> Shunji Satoh wrote:
>
>> 栗原様,みなさま
>>
>> 電通大院・佐藤です.
>> 早速のご返信ならびにスクリプトの添付,誠にありがとうございます.
>>
>> 結果から報告しますと,頂いた ExtTrigExecutionContext.py で動作することを確認しました.あり
>> がとうございます.ただ,一点質問があります.
>>
>> ExtTrig のサンプルを実行すると,私が想定してる挙動と異なる動作をします.私の誤解である可能
>> 性が大きいのですが,具体的には以下の通りです.
>> ----
>> 1.Connector.py の画面において,
>> 2."0"を選択,すなわち「0: tick ConsoleIn component」とすれば,ConsoleIn.py::onExecute()
>> が実行されるので,"Please input number:" のプロンプトが出ると期待していたが,
>> 3.見た目上,何も変化せず,
>> 4.Connector.py の画面においてもう一度,"0" を選択すると,"Please input number:" が表示さ
>> れる.
>> 5.2回目の"0"入力以降は,"0" を入力するたびに "Please input number:" が表示される.
>> ----
>>
>> なぜ,"0" を2回入力しないと ConsoleIn::onExecute() が実行されないのかが理解できません.原
>> 因は,「tick():処理を1ステップ進める.ExecutionContextの処理を1周期分進める.」において,
>> 「ExecutionContextの処理を1周期分進める」とは具体的に何を実行するのかを正確に理解していな
>> いからだと思っています.
>>
>> 「ExecutionContextの処理を1周期分進める」とは具体的にどのような処理を行うことなのか,情報
>> 源がありましたら,ぜひ教えていただきたいと願っております.
>> 私なりに,調査・検索してみましたが,どうしてもわかりませんでした.
>>
>>
>>> これまでのバグフィックスを行ったパッケージを間もなくリリース予定
>>> です。
>>> ただ、現在のところWindows用のインストーラは準備できているのですが、
>>> 他のパッケージがまだですので、それまでは、ファイルの置き換えでご対
>>> 応頂ければと存じます。
>>
>> 楽しみにしております.よろしくお願いします.
>>
>>> なお、これまでのバグ情報につきましてもWebにアップするように致します。
>>
>> 可能でしたら URL を教えていただけますでしょうか.
>>
>> 以上よろしくお願いします.
>>
>>
>>> 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 サンプルを試しているが,期待している結果が得ら
>>>> れない.
>>>>
>>>>
>>>> 以上です.よろしくお願いします.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2209
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク