倒立振子の状態フィードバック制御

台車上の振子を直立に保ちながら目標位置に移動する — ゲインを調整して安定化と位置追従を実現せよ

倒立振子アニメーション
t=0.00 x=1.00 θ=0.00° u=0.00 目標=1.00
フィードバックゲイン u = F·(x−xref)
F₁(位置偏差ゲイン)
47.7
F₂(台車速度ゲイン)
42.1
F₃(振子角度ゲイン)
192
F₄(角速度ゲイン)
60.3
線形化モデル(動作点: θ=0)
A = 0 1 0 0 0 0 -1.73 0 0 0 0 1 0 0 11.53 0
B = 0 1.18 0 -1.18
x = [x, ẋ, θ, θ̇]ᵀ  |  M=0.8, m=0.2, L=1.5, g=9.8
開ループ極: 0, 0, ±3.40  |  零点: ±3.13(非最小位相)
目標パターン: 0〜1s: x=1 → 1〜7s: x=0 → 7s〜: x=1
台車位置 x(t) [m]
x(t) 目標
振子角度 θ(t) [deg]
制御入力 u(t) [N]
📖 教育ポイント
・倒立振子は不安定系(開ループ極 ±3.40)かつ非最小位相系(不安定零点 ±3.13)
全てのゲインが正: 位置偏差が正のとき、まず台車を逆方向に動かして振子を傾け、その反動で目標に向かう(非最小位相系の特徴)
F₃, F₄ が小さすぎると振子が倒れる(不安定化)
F₁, F₂ が小さすぎると位置追従が遅くなる
・極配置: [-10, -5.5, -3±j] → F = [47.7, 42.1, 191.8, 60.3]