カート質量 M=1.0 kg、振子質量 m=0.1 kg、振子長 L=0.5 m、重力 g=9.81 m/s²、シミュレーション時間 5 s(dt=0.01 s、RK4 積分)。
上段=カート位置 p(t)(青)と振子角度 θ(t)(橙、deg)/下段=制御入力 u(t)(緑、N)
カート+振子の小角度線形化モデル。状態は $x=[p,\dot p,\theta,\dot\theta]^\top$、入力 $u$ はカートに加える水平力:
$$\dot x = A x + B u,\quad A=\begin{bmatrix}0&1&0&0\\0&0&-\tfrac{mg}{M}&0\\0&0&0&1\\0&0&\tfrac{(M+m)g}{ML}&0\end{bmatrix},\ B=\begin{bmatrix}0\\ \tfrac{1}{M}\\0\\ -\tfrac{1}{ML}\end{bmatrix}$$LQR は二次評価関数 $J=\int_0^\infty(x^\top Q x + u^\top R u)\,dt$ を最小化する状態フィードバック:
$$u = -K x,\qquad K = R^{-1} B^\top P$$$P$ は代数 Riccati 方程式 $A^\top P + PA - PBR^{-1}B^\top P + Q = 0$ の解です。
本ツールは教育目的のため、基準ゲイン K=[1, 1.5, 30, 5] に √(Q/R) を乗じる簡易スケーリングを採用しています。