Can Koşar

Tag: PD Regler

Positionsregelung auf Basis einer Solltrajektorie

Hierbei wird eine Solltrajektorie konstruiert und die Lagegrößen des Roboters, also Position und Orientierung, auf diese Solltrajektorie geregelt. Die Regelung erfolgt im Folgenden mit einem PD-Regler, da das integrale I-Glied durch die Addierung der differentiellen Bewegungen bereits mitbeinhalten ist und die Fehler der Lagegrößen sich summieren. Ein typischer Regelkreis sieht wie in der Abbildung 1 aus.

Rendered by QuickLaTeX.com

Abbildung 1: Standardregelkreis

Das Diagramm stellt einen typischen Regelkreis mit Rückführung dar. Hierbei stellt der Regler anhand der Einganggröße Regelabweichung e(t) die Stellgröße u(t). Hierbei ist die Regelgröße die IST-Position des Roboters

(1)   \begin{equation*} \mathbf{y}(t)=\begin{bmatrix} r_1^G\\r_2^G\\\gamma^G \end{bmatrix} \end{equation*}

und die Führungsgröße die Soll-Position, also die Soll-Trajektorie

(2)   \begin{equation*} \mathbf{w}(t)=\begin{bmatrix} \bar{r}_1^G\\\bar{r}_2^G\\\bar{\gamma}^G \end{bmatrix}\text{,} \end{equation*}

die der Roboter nachfahren muss. Daraus ergibt sich der Messfehler

(3)   \begin{equation*} \mathbf{e}(t)=\mathbf{w}(t)-\mathbf{y}(t)\text{.} \end{equation*}

Die Regelgleichung des idealen PD-Reglers im Zeitbereich kann dann als

(4)   \begin{equation*} \mathbf{u}(t)=\mathbf{K}_P^T[\mathbf{e}(t)+\mathbf{T}_V\frac{d}{dt}\mathbf{e}(t)] \end{equation*}

formuliert werden, wobei der Vektor \mathbf{K}_P der Verstärkungsvektor und der \mathbf{T}_V die Zeitkonstante ist, die das D-Glied parametrisiert. Die Stellgrößen, die hierbei eingestellt werden, sind die Spannungen der beiden Motoren

(5)   \begin{equation*} \mathbf{u}(t)=\begin{bmatrix} V_{RR}\\V_{RL}\text{.} \end{bmatrix} \end{equation*}

Der ideale PD-Regler genügt hierbei nicht ganz den Anforderungen, da das reale System sowohl software- als auch hardwareseitige Verzögerungen aufweist. Wenn man ein PT-Glied in den PD-Regler integriert, erhält man

(6)   \begin{equation*} \mathbf{T}_1\frac{d}{dt}\mathbf{u}(t)+\mathbf{u}(t)=\mathbf{K}_P^T[\mathbf{e}(t)+\mathbf{T}_V\frac{d}{dt}\mathbf{e}(t)]\text{,} \end{equation*}

wobei die Matrix \mathbf{T}_1 für die Verzögerungszeitkonstante steht. Die Bewegungsgleichungen des Roboters lassen sich i.a. als

(7)   \begin{equation*} \mathbf{M}\ddot{\mathbf{y}}(t)+\mathbf{D}\dot{\mathbf{y}}(t)+\mathbf{K}\mathbf{y}(t)=\mathbf{F}(t) \end{equation*}

schreiben, wobei \mathbf{M} die Massenmatrix, \mathbf{D} die Dämpfungsmatrix, \mathbf{K} Steifigkeitsmatrix und \mathbf{F}(t) die Matrix der äußeren Kräfte sind. Um die Bewegungsgleichungen als differentielle Gleichungen ersten Grades zu beschreiben, werden diese im Zustandraum dargestellt. Die Zustandsgleichung lautet i.a.

(8)   \begin{equation*} \mathbf{A}\dot{\underline{\mathbf{x}}}+\mathbf{B}\underline{{\mathbf{x}}}=\underline{\mathbf{p}}(t)\text{.} \end{equation*}

Mit dem Zustandvektor

(9)   \begin{equation*} \underline{{\mathbf{x}}}(t)=\begin{bmatrix} \mathbf{y}\\ \dot{\mathbf{y}} \end{bmatrix} \end{equation*}

und dem erweiterten Kraftvektor

(10)   \begin{equation*} \underline{{\mathbf{p}}}(t)=\begin{bmatrix} \mathbf{F}(t)\\ \mathbf{0} \end{bmatrix} \end{equation*}

lassen sich die Systemmatrix A als

(11)   \begin{equation*} \mathbf{A}=\begin{bmatrix} \mathbf{D}& \mathbf{M}\\ \mathbf{M}& \mathbf{0} \end{bmatrix} \end{equation*}

und die Eingangsmatrix \mathbf{B} als

(12)   \begin{equation*} \mathbf{B}=\begin{bmatrix} \mathbf{K}& \mathbf{0}\\ \mathbf{0}& \mathbf{-M} \end{bmatrix} \end{equation*}

formulieren. Im konkreten Fall des Roboters bietet sich die Vereinfachung an, bei der Ermittlung der Massenmatrix die Form als Zylinder anzunehmen. Die Dämpfungsmatrix, sowie die Steifigkeitsmatrix wurden emprisch ermittelt.

Ausblick: Die Parameteroptimierung für den Regler wurde noch nicht methodisch durchgeführt und ist ein anstehender Punkt im Roadmap.

Positionsregelung des nichtholonomen Roboters

Bereits in vorherigen Teilen wurde gezeigt, dass der Roboter als ein nichtholonomes Mehrkörpersystem modelliert wird. Durch die Nichtholonomität können die Lagegrößen, in dem Fall Position und Orientierung in Ebene, nicht direkt geregelt werden. Das bedeutet,er kann z.B. nicht direkt seitlich gestuert werden, sondern er muss sich zuerst drehen, gerade aus fahren und nochmals drehen, um eine seitliche Bewegung auszuführen. Dieses Problem kennen wir auch von Autos mit lenkbarer Vorderachse. Wenn man in eine Parklücke fahren möchte, kann man nicht immer aus jeder Position heraus mit einer direkten Bewegung in die Parklücke fahren. Manchmal sogar, wenn die Parklücke nicht groß genug ist, kann das Parken unmöglich werden, obwohl diese theoretisch genügend Platz bietet, denke man an eine Parklücke, die nur 1cm länger ist, als das Auto.

Bei der Regelung nichtholonomer Roboter gibt es grundsätzlich zwei Strategien, siehe Oubbati09.

Direkte Regelung

Die Lagegrößen werden dauerhaft direkt auf den Zielzustand, analog zur Regelung eines holonomen Systems geregelt. Dabei kann es nicht sichergestellt werden, dass die Regelung der Lagegrößen erfolgreich wird. Für manche Anwendungen könnte es funktionieren, in unserer Anwendung ist diese Strategie unbrauchbar.

Regelung auf eine Solltrajektorie

Hierbei wird eine Solltrajektorie konstruiert, die der nichtholonome Roboter fahren kann und zum Zielzustand führt. Beim Auto-Parken machen wir es im Prinzip genauso, dass wir von unserer aktuellen Position aus eine Solltrajektorie überlegen, die wir fahren sollen, um in die Parklücke hereinfahren zu können. Erstens ist es in unserer Anwendung sehr hilfreich, da der Roboter durch seine runde Bauform in jede Position hineingelingen kann, solange es dafür eine Solltrajektorie existiert (bzw. gefunden werden kann) und diese breit genug ist, dass der Roboter durchpasst. Zweitens ist das Fahren bestimmter Trajektorien für den Einsatz als mobiler Haushaltsroboter (z.B. Saugroboter) erforderlich ist. Daher ist die Regelung auf eine Solltrajektorie die geeignete Strategie für meiste Anwendungen.

Nächster Teil: Regelung auf eine Solltrajektorie

Rechte © 2018 Can Koşar

Mit Unterstützung von Wordpress, QuickLaTeX und Design von Anders NorenSeitenanfang ↑