ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
どうもお久しぶりです。
なぜか書く気がしなくて放置してしまいました。
OpenRTM-aistのMLで
「ECに関しては、リアルタイムなものだけでなく、並列実行されたり、実行順序を条件
によって変えたり、一部並列化するなど、用途に応じていろいろなモノが考えられるので、
そういったものがいろいろ出てくるといい」
という意見があったようなのでそれらしきものを作ってみました。
この実行コンテキストでできることは、
今回作成した実行コンテキストのマニュアルはここか読めます。
実行コンテキストのダウンロードもマニュアルのリンクから行ってください。
使用方法ですが、rtc.confで
なぜか書く気がしなくて放置してしまいました。
OpenRTM-aistのMLで
「ECに関しては、リアルタイムなものだけでなく、並列実行されたり、実行順序を条件
によって変えたり、一部並列化するなど、用途に応じていろいろなモノが考えられるので、
そういったものがいろいろ出てくるといい」
という意見があったようなのでそれらしきものを作ってみました。
この実行コンテキストでできることは、
- 関連付けした各RTCのロジックを順序通りに実行
- 各RTCの状態で実行順序を動的に変更
今回作成した実行コンテキストのマニュアルはここか読めます。
実行コンテキストのダウンロードもマニュアルのリンクから行ってください。
使用方法ですが、rtc.confで
exec_cxt.periodic.type: MultipleOrderedEC
manager.modules.preload: MultipleOrderedEC.dll
のように記述してMultipleOrderedECを実行コンテキストに設定します。
詳しいことはマニュアルを読んでください。
さらに、使用したいRTCと実行コンテキストを関連付けします。
RT System EditorからRTCを関連付けるか、Pythonなどでadd_component()と記述してRTCを関連付けるか、またはMPExecutionContextを実行コンテキストに指定したマネージャを立ち上げて複合コンポーネントを作成するなどの方法があると思います。
あとはGUIから順序を設定します。
上の例ではTest10とTest30を直列に実行して、さらにTest20を並列に実行しています。
灰色、緑、紫のブロックを追加ボタンで追加できます。
さらに一番下の追加ボタンで他のパターンの順序を増やせます。
どのパターンを実行するかは隣のタブから設定できます。
各コンポーネントの状態で設定できます。
実行順序の編集はGUIからだけではなくテキストからでも出来ます。
軽量版は基本的にテキストから編集することになると思います。
CREATED、ACTIVE、INACTIVE、ERRORが設定できます。
さらに紫の括弧はGUIの紫のブロック、さらに緑の行は緑のブロックに該当します。
今日はこのぐらいにしておきます。
追記
2日ぐらいたったのですが1回もダウンロードされてないみたいですね・・・
MLで言うのも図々しいし※、OpenRTM-aistの公式サイトでプロジェクトを作成するのも手順がややこしいし、どうしようかな。
※誤解のないように言っておきますが、別に質問とかするのを図々しいとか言ってるわけではないです。ただ宣伝はどうなんですかね?
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
のように記述してMultipleOrderedECを実行コンテキストに設定します。
詳しいことはマニュアルを読んでください。
さらに、使用したいRTCと実行コンテキストを関連付けします。
RT System EditorからRTCを関連付けるか、Pythonなどでadd_component()と記述してRTCを関連付けるか、またはMPExecutionContextを実行コンテキストに指定したマネージャを立ち上げて複合コンポーネントを作成するなどの方法があると思います。
あとはGUIから順序を設定します。
上の例ではTest10とTest30を直列に実行して、さらにTest20を並列に実行しています。
灰色、緑、紫のブロックを追加ボタンで追加できます。
さらに一番下の追加ボタンで他のパターンの順序を増やせます。
どのパターンを実行するかは隣のタブから設定できます。
各コンポーネントの状態で設定できます。
実行順序の編集はGUIからだけではなくテキストからでも出来ます。
軽量版は基本的にテキストから編集することになると思います。
{
{
Test10 INACTIVE
Test20 ACTIVE
}
{
{
Test20 Test10 Test30 ;
Test10 Test20 ;
}
{
Test30 ;
Test10 Test20 ;
}
}
}
この例ではまず赤の括弧で実行条件を設定しています。CREATED、ACTIVE、INACTIVE、ERRORが設定できます。
さらに紫の括弧はGUIの紫のブロック、さらに緑の行は緑のブロックに該当します。
今日はこのぐらいにしておきます。
追記
2日ぐらいたったのですが1回もダウンロードされてないみたいですね・・・
MLで言うのも図々しいし※、OpenRTM-aistの公式サイトでプロジェクトを作成するのも手順がややこしいし、どうしようかな。
※誤解のないように言っておきますが、別に質問とかするのを図々しいとか言ってるわけではないです。ただ宣伝はどうなんですかね?
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
PR
この記事にコメントする