Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

Linear-Quadratic Regulator

  • Auch genannt: LQR, linear quadratic regulator
  • Kategorie: Control › Feedback control
  • Schlagwörter: optimal-control, feedback-control, state-space, riccati-equation, stabilization

Ein optimaler Rückführungsregler für lineare Systeme mit quadratischen Zustands- und Eingangskosten, dessen Lösung eine aus einer Riccati-Gleichung bestimmte Verstärkungsmatrix ist.

Definition

Ein linear-quadratischer Regler (linear-quadratic regulator, LQR) bestimmt das Regelgesetz, das für ein System mit linearer Dynamik quadratische Kosten minimiert. In diskreter Zeit lautet die Dynamik x_{k+1} = A x_k + B u_k, und die Kosten sind die Summe über die Zeit von xᵀQx + uᵀRu, wobei Q den Zustandsfehler und R den Stellaufwand gewichtet. Die optimale Stellgröße ist eine lineare Zustandsrückführung, u = −Kx, und die Verstärkung K ergibt sich aus der Riccati-Gleichung: einer Rückwärtsrekursion für einen endlichen Horizont oder der algebraischen Riccati-Gleichung für einen unendlichen Horizont. Kalman formulierte das Problem 1960 in dieser Form, und der LQR ist bis heute eine der Grundlagen der modernen Regelungstechnik.

In der Praxis wählen Ingenieure Q und R, statt Pole direkt zu platzieren. Größere Einträge in Q lassen den Regler Fehlern in den betreffenden Zuständen stärker entgegenwirken; ein größeres R lässt ihn weniger Stellaufwand der Aktuatoren verwenden. Brysons Regel, die jedes Diagonalgewicht auf eins durch das Quadrat des größten zulässigen Werts setzt, ist ein üblicher Ausgangspunkt. Mit vollständiger Zustandsrückführung besitzt der zeitkontinuierliche LQR garantierte Robustheitsreserven, darunter mindestens 60 Grad Phasenreserve in jedem Eingangskanal. Diese Garantien gelten nicht mehr, wenn der Zustand von einem Beobachter geschätzt wird; die Kombination von LQR und Kalman-Filter ergibt die LQG-Regelung, die für gaußsches Rauschen optimal ist, aber keine garantierten Reserven hat.

Die meisten Roboter sind nichtlinear, daher wird der LQR auf eine Linearisierung angewendet. Die Linearisierung um eine Ruhelage, etwa ein aufrechtes inverses Pendel oder einen schwebenden Quadrotor, ergibt einen Regler, der innerhalb eines Einzugsbereichs um diesen Punkt funktioniert. Die Linearisierung entlang einer Trajektorie ergibt den zeitvarianten LQR, und die Wiederholung des Vorgangs um verbesserte Trajektorien führt zum iterativen LQR und zu Differential Dynamic Programming. Der LQR berücksichtigt keine Beschränkungen wie Drehmomentgrenzen; die modellprädiktive Regelung (model predictive control) fügt sie hinzu, indem sie online ein beschränktes Optimierungsproblem löst, und eine unbeschränkte lineare MPC mit quadratischen Kosten und ausreichend langem Horizont reproduziert die LQR-Verstärkung. Viele MPC-Entwürfe verwenden zudem die Cost-to-go des LQR als Endkosten.

Warum es wichtig ist

Der LQR bietet einen fundierten Weg, Mehrgrößen-Rückführungsregler aus einem Modell und zwei Gewichtungsmatrizen zu entwerfen, mit Stabilitätsgarantien für das linearisierte System. Er ist der Ausgangspunkt für Trajektorienfolge, Balanceregelung und einen großen Teil der optimalen und prädiktiven Regelung.

Wichtige Anwendungen

  • Balanceregelung für inverse Pendel, balancierende Radroboter und Humanoide
  • Schwebeflug- und Lagestabilisierung für Multirotoren
  • Trajektorienfolge mit zeitvariantem LQR
  • Endkosten und lokaler Regler in der modellprädiktiven Regelung
  • Stabilisierende Regler für die iterative Trajektorienoptimierung

In der Praxis

Ein Team, das einen zweirädrigen Balancierroboter baut, modelliert ihn als Wagen mit inversem Pendel und linearisiert die Dynamik um die aufrechte Lage, was A- und B-Matrizen für Nickwinkel, Nickrate, Radposition und Radgeschwindigkeit ergibt. Es wählt Q so, dass der Nickwinkel stark und die Radposition schwach bestraft wird, bestimmt R mit Brysons Regel aus der Drehmomentgrenze der Motoren und berechnet K mit einem zeitdiskreten Riccati-Löser bei der Regelfrequenz von 200 Hz. Im Test balanciert der Roboter, doch nach einem kräftigen Stoß gehen die Motoren in Sättigung, also erhöht das Team R, bis die Stellbefehle bei den erwarteten Störungen innerhalb der Grenzen bleiben. Ein Zustandsschätzer fusioniert IMU- und Drehgeberdaten, um den vollständigen Zustand bereitzustellen, den der Regler benötigt.

Häufige Missverständnisse

  • Der LQR berücksichtigt Aktuatorgrenzen — er ignoriert Beschränkungen, daher muss Sättigung separat geprüft oder mit MPC behandelt werden
  • Der LQR funktioniert nur für lineare Roboter — er wird routinemäßig über Linearisierung auf nichtlineare Systeme angewendet und gilt in der Nähe des Arbeitspunkts oder der Trajektorie
  • Der LQR ist immer robust — seine garantierten Reserven erfordern vollständige Zustandsrückführung; mit einem Beobachter, wie bei LQG, muss die Robustheit geprüft werden
  • Q und R ergeben sich aus der Physik — sie sind Entwurfsentscheidungen, die Folgegenauigkeit gegen Aufwand abwägen, und werden für die Aufgabe abgestimmt

Wer das wissen sollte

  • Regelungsingenieure, die Rückführungsregler entwerfen
  • Entwickler von Lauf-, Balancier- und Flugrobotern
  • Forschende in Trajektorienoptimierung und MPC
  • Robotikstudierende, die optimale Regelung lernen

Verwandte Technologien

  • Löser für Riccati-Gleichungen (Riccati Equation Solvers)
  • Kalman-Filter (Kalman Filter)
  • LQG-Regelung (LQG Control)
  • Iterativer LQR (Iterative LQR)
  • python-control und MATLAB Control System Toolbox

Verwandte Begriffe

  • Model Predictive Control
  • Differential dynamic programming
  • Hamilton-Jacobi-Bellman Equation (HJB)
  • Region of attraction
  • PID Controller
  • Double Integrator

Videos

  • 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

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.