next up previous contents index
Next: エラーメッセージ Up: シミュレーションからリアルタイム処理へ Previous: 倒立振子の制御のシミュレーション

倒立振子のリアルタイム制御

この章の前で説明したように,リアルタイム処理のプログラムを作成するには, 3つの関数を記述するだけで良い。メイン関数と画面表示関数は は例題で示した通りで良い。リアルタイム処理関数はシミュレーションで用いた link_eqs()を次のように変更するだけで良い。  

Func void on_task()
{
  Matrix Y, Xh;

  Y  = sensor();            // センサから入力
  Xh = Ch*Xo + Dh*Y;        // オブザーバの推定
  U  = - F*Xh;              // 状態フィードバック
  actuator(U);              // アクチュエータへ出力
  Xo = Ah*Xo + Bh*Y + Jh*U; // オブザーバの更新
}




Masanobu KOGA 平成10年8月19日