小车质量 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) 线性缩放,未在浏览器中求解 Riccati 方程。