制御

基本式

  • \dot{x}=Ax(t)+Bu(t)
  • u(t)=-F(x(t)-r(t))(ただしrは平衡点。平衡点であれば、以下の記述はr=0として一般性を失わない)

状態フィードバック

  • \dot{x}=Ax(t)+Bu(t)=(A-BF)x(t)に対して、A-BFの固有値実部が全て負で漸近安定である。
    • 固有値は、時定数の逆数を表す。(証明は実際にxを解くによる。よく固有値を-3[/t]とか-4[/t]とかになるように制御する)

最適レギュレータ

教科書と実機とのギャップ

操作量uがトルク・力の時のモータでの扱い

  • モータの実出力トルクは
    1. 電流に比例する→電流センサをつける
    2. 電圧に比例する無回転トルク-回転数に比例する粘性抵抗→これらを分解し、電圧に比例する無回転トルクを操作量、粘性抵抗を損失としてモデル化する

理論と実機の単位の違いを吸収する

  • 状態・操作量の単位補正行列U_x, U_uを計算し、フィードバックゲインKをロボット用のフィードバックゲインK_{r} = U_u^{-1} K U_xに変換する
    • x=(x, \theta)で表されるとする。x_1のロボットの内部単位である1mmは、SI単位系では0.001である。x_2のロボット内部単位である1radは、SI単位系では1である。このような数値を集めた単位補正行列U_x=diag([0.001\,1])を用いて、x = U_x x_{r}
    • 同様に、トルクのロボットの内部単位である1 dutyは、SI単位系でk[Nm]だとする。単位補正行列U_u=diag([k])を用いて、u = U_u u_{r}
    • フィードバックゲインの式u=-Kxは、U_u u_{r} = -K U_x x_{r}なので、u_{r} = - U_u^{-1} K U_x x_{r}
    • したがって、ロボットのプログラミング時のフィードバックゲインは、K_{r} = U_u^{-1} K U_xと表され、u_{r} = -K_{r} x_{r}である。

x=0以外の目標値

  • u(t)=-F(x(t)-r(t))とすればよいだけ。(ただしrは平衡点)

Tips


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS