[openrtm-users 00204] Re: 実時間制御RTコンポーネント

Ando Noriaki n-ando @ aist.go.jp
2007年 9月 20日 (木) 19:24:35 JST


筑波大学 佐藤様
OpenRTM MLの皆様

産総研 安藤です

大変遅くなり申し訳ございません。(もうお忘れかもしれませんが。。。)
Web上にARTLinuxを利用してRTコンポーネントをリアルタイム化する方法を
掲載いたしました。

http://www.is.aist.go.jp/rt/OpenRTM-aist/html/TIPS.html

ご活用いただければ幸いです。


> 筑波大学 佐藤様
>
> 産総研 安藤です
>
> > 自分はART-Linuxによる実時間制御RTコンポーネントの
> > 作成をしたいのですが,onExecute内のプログラムを
> > 周期実行するためにARTの関数を使い,周期を1msecとしたところ,
> > 実際には1msecで実行できていませんでした.
> >
> > これはonExecuteの呼び出しの周期が1msecより遅いせいである
> > と思うのですが,これをもっと早くすることはできないのでしょうか?
> > もしくは他に解決方法がありましたらよろしくお願いします.
>
> onExecuteは、ExecutionContextというオブジェクトによって周期実行されています。
> ExecutionContextはrtc.confに以下の項目を設定することで、
> 実行周期を制御することができます。
>
> exec_cxt.periodic.rate: 1000
>
> 単位は[Hz]なので、上の例では1ms周期でonExecuteが実行されます。
>
> ただし、リリース版のOpenRTMに付属しているExecutionContextでは
> 周期実行を単にusleepを使って待ちを入れているだけですので、
> おそらく1ms周期を指定してもLinuxのスケジューリング周期の影響により
> 10ms前後での周期でしか実行されないと思います。
>
> ART-Linuxのを利用する場合は、リアルタイム化されたExecutionContext
> に差し替えることによって、onExecuteの実行をリアルタイム化するのが
> 本来のやり方です。
>
> この方法を用いると、同じコンポーネントを再コンパイルせずに、
> リアルタイム化することができます。
>
> 近いうちに、ART-Linux用のExecutionContextをWeb上にアップしますので、
> 今しばらくお待ちください。
> --
> 安藤慶昭@独立行政法人産業技術総合研究所 研究員
>                   知能システム研究部門 タスクインテリジェンス研究グループ
>                   〒305-8568 茨城県つくば市梅園1-1-1 中央第2
>                   TEL: 029-861-5981 FAX: 029-861-5971
>                   n-ando @ aist.go.jp, n-ando @ ieee.org
>


-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
                   知能システム研究部門 タスクインテリジェンス研究グループ
                   〒305-8568 茨城県つくば市梅園1-1-1 中央第2
                   TEL: 029-861-5981 FAX: 029-861-5971
                   n-ando @ aist.go.jp, n-ando @ ieee.org



openrtm-users メーリングリストの案内