Linear-Quadratic Regulator
- 別名: LQR, linear quadratic regulator
- カテゴリ: Control › Feedback control
- タグ: optimal-control, feedback-control, state-space, riccati-equation, stabilization
状態と入力の 2 次コストをもつ線形システムのための最適フィードバックコントローラ。解はリカッチ方程式から求まるゲイン行列である。
定義
線形二次レギュレータ(linear-quadratic regulator、LQR)は、線形のダイナミクスをもつシステムについて、2 次形式のコストを最小化するフィードバック則を求める。離散時間では、ダイナミクスは x_{k+1} = A x_k + B u_k、コストは xᵀQx + uᵀRu の時間にわたる和であり、Q は状態誤差に、R は制御入力の大きさに重みを付ける。最適制御は線形状態フィードバック u = −Kx であり、ゲイン K はリカッチ方程式から得られる。有限ホライズンでは後ろ向きの漸化式、無限ホライズンでは代数リカッチ方程式である。Kalman が 1960 年にこの形で問題を定式化し、LQR は今も現代制御の基礎の 1 つである。
実際には、エンジニアは極を直接配置するのではなく Q と R を選ぶ。Q の要素を大きくすると、コントローラはその状態の誤差をより強く抑えようとし、R を大きくするとアクチュエータの出力を控えるようになる。対角の各重みを許容できる最大値の 2 乗の逆数に設定する Bryson のルールが、よく使われる出発点である。全状態フィードバックのもとでは、連続時間 LQR には各入力チャネルで少なくとも 60 度の位相余裕を含む、保証されたロバスト性の余裕がある。状態をオブザーバで推定する場合、これらの保証は引き継がれない。LQR とカルマンフィルタを組み合わせると LQG 制御になり、これはガウスノイズに対して最適だが、保証された余裕はない。
ほとんどのロボットは非線形なので、LQR は線形化したモデルに適用される。倒立振子の直立状態やクアッドロータのホバリングのような平衡点のまわりで線形化すると、その点の周囲の吸引領域内で機能するコントローラが得られる。軌道に沿って線形化すると時変 LQR となり、改善された軌道のまわりでこの手順を繰り返すと、反復 LQR と微分動的計画法に至る。LQR はトルク制限のような制約を扱わない。モデル予測制御は制約付き最適化をオンラインで解くことでそれらを加え、2 次コストと十分に長いホライズンをもつ制約なし線形 MPC は LQR のゲインを再現する。多くの MPC の設計では、LQR のコスト・トゥ・ゴー(cost-to-go)を終端コストとしても用いる。
重要な理由
LQR は、モデルと 2 つの重み行列から多入力のフィードバックコントローラを設計する原理的な方法を与え、線形化したシステムについて安定性を保証する。軌道追従、バランス制御、そして最適制御と予測制御の多くの出発点である。
主な用途
- 倒立振子、車輪型バランスロボット、ヒューマノイドのバランス制御
- マルチロータのホバリングと姿勢安定化
- 時変 LQR による軌道追従
- モデル予測制御における終端コストと局所コントローラ
- 反復的な軌道最適化のための安定化コントローラ
実際の使われ方
2 輪のバランスロボットを作るチームが、それを倒立振子を載せた台車としてモデル化し、直立姿勢のまわりでダイナミクスを線形化して、ピッチ角、ピッチ角速度、車輪位置、車輪速度についての A 行列と B 行列を得る。Q はピッチ角に重く、車輪位置に軽くペナルティを課すように設定し、R は Bryson のルールでモーターのトルク制限から選び、200 Hz の制御周期で離散時間リカッチソルバーを使って K を計算する。試験ではロボットはバランスを保つが、強く押されるとモーターが飽和するため、想定される外乱に対して指令が制限内に収まるまで R を大きくする。状態推定器が IMU とエンコーダーのデータを融合し、コントローラが必要とする全状態を提供する。
よくある誤解
- LQR はアクチュエータの制限を扱える — 制約を無視するため、飽和は別途確認するか MPC で扱う必要がある
- LQR は線形なロボットにしか使えない — 線形化を通じて非線形システムに日常的に適用されており、動作点や軌道の近くで有効である
- LQR は常にロバストである — 保証された余裕には全状態フィードバックが必要であり、LQG のようにオブザーバを使う場合はロバスト性を確認しなければならない
- Q と R は物理から決まる — 追従性能と制御入力の大きさのトレードオフを決める設計上の選択であり、タスクに合わせて調整する
知っておくべき人
- フィードバックコントローラを設計する制御エンジニア
- 脚型ロボット、バランスロボット、空中ロボットの開発者
- 軌道最適化と MPC の研究者
- 最適制御を学ぶロボティクスの学生
関連技術
- リカッチ方程式ソルバー(Riccati Equation Solvers)
- カルマンフィルタ(Kalman Filter)
- LQG 制御(LQG Control)
- 反復 LQR(Iterative LQR)
- python-control と MATLAB Control System Toolbox
関連用語
- Model Predictive Control
- Differential dynamic programming
- Hamilton-Jacobi-Bellman Equation (HJB)
- Region of attraction
- PID Controller
- Double Integrator
動画
- What Is Linear Quadratic Regulator (LQR) Optimal Control? | State Space, Part 4: MATLAB
- Linear Quadratic Regulator (LQR) Control for the Inverted Pendulum on a Cart [Control Bootcamp]: Steve Brunton