既存の実行コンテキスト
7.1 PeriodicExecutionContext
周期的にRTCの実行を行う。
設定した実行周期よりもRTCの処理の時間が短かった場合はcoil::sleepにより時間待ちを行います。
7.2 ExtTrigExecutionContext
外部トリガ入力によりRTCの実行を行う。
ただし、tick()では実行フラグをオンにして、実行はsvc()で行います。
7.3 SynchExtTriggerEC
外部トリガ入力によりRTCの実行を行う。
tick()でRTCの実行を行います。
7.4 ArtExecutionContext
ART-Linuxにより実時間周期実行を行う。
art_waitで次の周期まで実行を停止します。
実時間処理を行うために、処理は実行周期内に収まるようにする必要がある。
また、プロセス間通信に時間がかかるため、関連付けしたRTCが同一プロセス上で動作させるようにする必要がある。
7.5 RTPreemptEC
RT-Preemptive Linuxにより実時間周期実行を行う。
7.6 TkPeriodicExecutionContext
T-Kernel上で動作するOpenRTM-aist用の実行コンテキストです。リアルタイム実行の精度を上げることができます。
7.7 StepwiseEC
他にStepwiseECで動作しているRTCが存在する場合に、他のRTCの周期実行が終了してから次の実行を開始する事でRTC同士の実行を同期する。
7.8 その他
ArtDataSyncECというのがあるらしいです。1入力1出力のシステムで入力データに同期してRTCを駆動するらしいです。
OpenRTM.NETにはEmptyExecutionContextという実行コンテキストがあります。