Regelungstechnik
Micromouse – Regelung
Damit die Micromouse dynamisch und zuverlässig ihr Ziel erreicht, ist eine Regelung notwendig. Da es praktisch unmöglich wäre, für jede Fahrsituation die passende Motorspannung manuell zu bestimmen, wird diese Aufgabe durch die Regelung abstrahiert.
Dadurch können Vorwärtsgeschwindigkeit und Winkelgeschwindigkeit vorgegeben werden, ohne direkt auf die unterliegende Systemebene wie Motorspannung, PWM-Werte oder Motordynamik achten zu müssen.
Charakterisierung des Systems
Das Antriebssystem der Micromouse wird als geregeltes elektromechanisches System betrachtet.
Das Antriebssystem der Micromouse kann vereinfacht über folgende Zusammenhänge beschrieben werden:
- Antrieb über DC-Motoren
- Spannung U [V] beeinflusst die Motordrehzahl bzw. Geschwindigkeit
- Strom I [A] bestimmt das erzeugte Drehmoment
- Drehmoment führt zu Beschleunigung
Ein Regler händisch einzustellen ist meist nicht zielführend und zeitaufwendig. Zusätzlich liefert eine rein manuelle Abstimmung oft keine robuste Lösung für unterschiedliche Fahrsituationen. Daher wird zunächst ein mathematisches Modell des Systems bestimmt, mit dem das Systemverhalten beschrieben und die Reglerparameter theoretisch abgeschätzt werden können.
Systemmodell des Motors
Die Motordynamik wird vereinfacht als PT1-System angenähert.
Dabei beschreibt Km die stationäre Verstärkung des Motors, also wie viel Geschwindigkeit pro Eingangsspannung erreicht wird. Die mechanische Zeitkonstante Tm beschreibt, wie schnell der Motor auf eine Änderung der Eingangsspannung reagiert.
Da für die Micromouse nicht nur die Geschwindigkeit, sondern auch die Position geregelt werden soll, wird das Geschwindigkeitsmodell zusätzlich integriert. Damit ergibt sich das Positionsmodell.
- Km: stationäre Verstärkung [mm/s/V]
- Tm: mechanische Zeitkonstante [s]
PD-Controller
Der PD-Regler besteht aus einem proportionalen und einem differentiellen Anteil.
Der proportionale Anteil Kp reagiert auf den aktuellen Positionsfehler. Der differentielle Anteil Kd reagiert auf die Änderung des Fehlers und wirkt dadurch dämpfend.
Open-Loop-Übertragungsfunktion
Die offene Übertragungsfunktion ergibt sich aus der Reihenschaltung von Regler und Strecke. Sie wird hauptsächlich zur Analyse des Systemverhaltens verwendet, z. B. zur Untersuchung der Stabilität.
Closed-Loop-Übertragungsfunktion
Für das geregelte System wird eine Rückführung angenommen. Die geschlossene Übertragungsfunktion beschreibt, wie das System auf eine Sollwertänderung reagiert.
Vergleich mit einem System 2. Ordnung
Das geregelte System kann näherungsweise mit einem Standard-System 2. Ordnung verglichen werden. Dabei beschreibt ωn die Eigenkreisfrequenz und ζ den Dämpfungsfaktor.
Bedeutung des Dämpfungsfaktors
Der Dämpfungsfaktor ζ beeinflusst vor allem das Überschwingen des Systems. Ein kleiner Wert führt zu schnellerem, aber stärker überschwingendem Verhalten. Ein größerer Wert reduziert das Überschwingen, macht das System aber langsamer.
Typische Wahl:
Dieser Wert ist ein sinnvoller Kompromiss zwischen schnellem Einschwingen und moderatem Überschwingen.
Bedeutung der Settling Time
Die Settling Time TD beschreibt, wie lange das System braucht, bis es dauerhaft nahe am Endwert bleibt. Im Dokument wird TD näherungsweise als die Zeit betrachtet, nach der das System innerhalb eines kleinen Fehlerbands bleibt.
Eine kleinere Settling Time führt zu einer größeren Eigenkreisfrequenz. Dadurch werden die Reglerparameter größer und das System reagiert aggressiver.
Bestimmen von Kp und Kd
Aus dem Koeffizientenvergleich lassen sich die Reglerparameter bestimmen. Da ωn von ζ und TD abhängt, können Kp und Kd über gewünschte Dynamikvorgaben eingestellt werden.
Modellidentifikation und Reglerberechnung
Die Modellparameter können direkt aus der Sprungantwort abgelesen werden. Mithilfe der oben beschriebenen Formeln können daraus anschließend die Reglerparameter bestimmt werden.
Forward Velocity
| Parameter | Wert | Einheit |
|---|---|---|
| Km_vel | 1.411590 | mm/s pro input |
| Tm_vel | 0.230555 | s |
| t0_vel | 0.005480 | s |
| y_inf | 1129.271945 | mm/s |
| Kp_pos | 98.355425 | - |
| Kd_pos | 4.958947 | - |
| Td_pos | 0.230555 | s |
Yaw Rate
| Parameter | Wert | Einheit |
|---|---|---|
| Km_yaw | 0.037419 | rad/s pro input |
| Tm_yaw | 0.120276 | s |
| t0_yaw | 0.012810 | s |
| y_inf | 14.967694 | rad/s |
| Kp_ang | 124.132427 | - |
| Kd_ang | 3.264995 | - |
| Td_ang | 0.120276 | s |
Gesamtsystem
Das Regelungssystem kombiniert Trajektorienvorgabe, Positionsregelung und Winkelregelung.
Das Gesamtsystem besteht aus:
- Geschwindigkeitssteuerung mit Trajektorienvorgabe
- Positionsregler für linken und rechten Motor
- Winkelregler mit Sollwertvorgabe durch die Wandsensoren
Feedforward-Regelung
Um das Regelverhalten zu verbessern, kann der PD-Regler um eine Vorwärtssteuerung ergänzt werden.
Dabei wird aus der vorgegebenen Sollgeschwindigkeit die notwendige Spannung bzw. der passende PWM-Wert geschätzt. Dadurch wird der PD-Regler entlastet, wodurch dessen Einstellung einfacher wird.
Vergleich ohne und mit Feedforward
In der Trajektorie einer Regelung ohne Feedforward sind das Geschwindigkeitsprofil, die Reglerspannung und die Ist-Geschwindigkeit dargestellt. Speziell an den Stellen, an denen es zu Änderungen des Geschwindigkeitssollwerts kommt, hat der Regler Schwierigkeiten, sich schnell dem Zielwert anzunähern.
- Rot: Geschwindigkeitsprofil
- Gelb: Reglerspannung
- Dunkelrot: Ist-Geschwindigkeit
Feedforward-Berechnung
Die Schätzung der Motorspannung kann mithilfe einer linearen Funktion durchgeführt werden. Die Gerade wird aus den Endgeschwindigkeiten bei verschiedenen PWM-Werten bzw. Motorspannungen bestimmt. Aus der daraus entstehenden linearen Kennlinie kann für eine gewünschte Geschwindigkeit der zugehörige PWM-Wert bzw. die erforderliche Motorspannung abgelesen werden.
Feedforward-Parameterbestimmung
Die konkreten Messungen der Micromouse sind in der folgenden Tabelle zusammengefasst.
| PWM | vss [mm/s] | τest [s] | Kfit | τfit [s] |
|---|---|---|---|---|
| 200 | 238.53 | 0.2200 | 236.68 | 0.2164 |
| 400 | 691.85 | 0.2600 | 692.85 | 0.2400 |
| 600 | 1124.95 | 0.2400 | 1131.30 | 0.2373 |
| 800 | 1580.77 | 0.2600 | 1586.12 | 0.2491 |
| 1000 | 1952.19 | 0.2600 | 1967.22 | 0.2317 |
Globaler Feedforward-Fit
| Parameter | Wert | Einheit |
|---|---|---|
| kV | 0.458874 | PWM/(mm/s) |
| kS | 84.761725 | PWM |
| τmean | 0.234885 | s |
| kA | 0.107783 | PWM/(mm/s²) |
Quellen
Die Quellen entsprechen den im Markdown-Dokument referenzierten Unterlagen.