[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 メーリングリストの案内