[[制御]] *基本式 [#c0925454] -&mimetex($\dot{x}=Ax(t)+Bu(t)$); -&mimetex($u(t)=-F(x(t)-r(t))$);(ただしrは平衡点。平衡点であれば、以下の記述はr=0として一般性を失わない) *状態フィードバック [#ff46b8b1] -&mimetex($\dot{x}=Ax(t)+Bu(t)=(A-BF)x(t)$);に対して、A-BFの固有値実部が全て負で漸近安定である。 --固有値は、時定数の逆数を表す。(証明は実際にxを解くによる。よく固有値を-3[/t]とか-4[/t]とかになるように制御する) *最適レギュレータ [#ub0a3072] -状態フィードバックのうち、&mimetex($J=\frac{1}{2} \int_0^\infty x^t Q x + u^t R u dt$);を最小化するフィードバックゲインは、&mimetex($A^tP+PA+Q-PBR^{-1}B^tP=0$);を満たす正定行列Pを用いて、&mimetex($F=R^{-1}B^tP$);である。 -[[最適レギュレータで倒立振子を制御するプログラム>https://github.com/hamko/sample/tree/master/opt_reg]](モデルは[[ここ>http://www.robot.mach.mie-u.ac.jp/~nkato/class/sc/Invpend_exp5.pdf]]を参照、ただしxの次元の順序が2,3で逆になってるので注意) --octave run.mでシミュレータが走る。 --モータのモデル化については[[モータ]]へ *Tips [#o08fbaa9] -[[倒立振子の数式とoctaveスクリプト>http://www.katzlab.jp/edu/index.php?Simulator%2F%C5%DD%CE%A9%BF%B6%BB%D2]] |