next up previous contents
Next: Dynamik des Systems. Up: Das Anfahren der optimalen Previous: Das Anfahren der optimalen

Das kinematische Modell.

Dem Controller liegt ein kinematisches Modell zu Grunde, das in kartesischen Koordinaten $ (x_G,
y_G, \phi)$ angegeben wird (vgl. Abbildung 4.9):
$\displaystyle \dot x_G$ $\displaystyle =$ $\displaystyle u \cos \phi$  
$\displaystyle \dot y_G$ $\displaystyle =$ $\displaystyle u \sin \phi$ (4.2)
$\displaystyle \dot \phi$ $\displaystyle =$ $\displaystyle \omega = \frac{\tan \psi}{l} = u c.$  

Dabei ist $ u$ die Geschwindigkeit, $ \phi$ der Stellwinkel, $ \omega$ die Winkelgeschwindigkeit, $ l$ die Länge des Roboters, $ \psi \in
(-\frac{\pi}{2},\frac{\pi}{2})$ der Lenkwinkel und $ c$ die Krümmung der Trajektorie. Bei dem verwendeten Roboter spielt der Lenkwinkel keine Rolle, da er einen Differentialantrieb, also zwei getrennt ansteuerbare Antriebsräder besitzt und sich daher auf der Stelle drehen kann.

Das Modell (4.2) wird mit den polaren Zustandsvariablen (vgl. Abbildung 4.9)

$\displaystyle e$ $\displaystyle =$ $\displaystyle \sqrt{{x_G}^2 + {y_G}^2}$  
$\displaystyle \theta$ $\displaystyle =$ $\displaystyle {\mbox{ATAN2}}(-y_G,-x_G)$  
$\displaystyle \alpha$ $\displaystyle =$ $\displaystyle \theta - \phi$  

zu dem Zustandsraum
$\displaystyle \dot e$ $\displaystyle =$ $\displaystyle -u \cos \alpha$  
$\displaystyle \dot \alpha$ $\displaystyle =$ $\displaystyle \- u \left(c - \frac{\sin \alpha}{e} \right)$ (4.3)
$\displaystyle \dot \theta$ $\displaystyle =$ $\displaystyle u \frac{\sin \alpha}{e}.$  

Abbildung 4.9: Das kinematische Modell: Das lokale Koordinatensystem $ (x_G, y_G)$ des verwendeten Controllers.
\scalebox{.45}{\includegraphics{pictures/coord_gio_1}}

Dieser Zustandsraum ist vollständig definiert, außer für die Menge $ \{e,\alpha, \theta \lvert e = 0 \ \forall (\alpha, \theta) \in \mathbbm{R}^2 \}$. Das Problem besteht nun darin, glatte Funktionen für $ u$ und $ c$ zu finden, die den Zustandsraum für jede anfängliche Konfiguration $ (e,\alpha,\theta)$ in das Ziel $ (0,0,0)$ überführen [46].

Bevor mit der Lösung dieses Kontrollproblems begonnen werden kann, müssen die Pose des Roboters $ (x_R,y_R,\theta_R)$ und die der optimalen nächsten Scanposition $ (x_{nbv},y_{nbv},\theta_{nbv})$, die im globalen Koordinatensystem bestimmt sind, in das Modell mit dem Koordinatensystem $ (x_G,
y_G, \phi)$ überführt werden (vgl. Abbildung 4.10). Die Gleichungen

$\displaystyle \phi$ $\displaystyle =$ $\displaystyle \theta_R - \theta_{nbv}$ (4.4)
$\displaystyle x_G$ $\displaystyle =$ $\displaystyle (x_{nbv} - x_R) \, \cos \left(\theta_{nbv} + \frac{\pi}{2}\right) + (y_{nbv} - y_R) \, \sin \left(\theta_{nbv} + \frac{\pi}{2}\right)$ (4.5)
$\displaystyle y_G$ $\displaystyle =$ $\displaystyle (y_{nbv} - y_R) \, \cos \left(\theta_{nbv} + \frac{\pi}{2}\right) - (x_R - x_{nbv}) \sin \, \left(\theta_{nbv} + \frac{\pi}{2}\right)$ (4.6)

bewirken die gewünschte Koordinatentransformation.

Abbildung 4.10: Einbettung der lokalen Motorcontroller-Koordinaten in das globale Koordinatensystem des Roboters.
\scalebox{.45}{\includegraphics{pictures/coord_gio}}

G. Indiveri wählt folgenden Ansatz für die Lösung des Kontrollproblems [46]: Da die Ableitungen der Zustände in (4.3) für $ u=0$ gleich Null sind und weil der Roboter nur vorwärts fahren soll, bietet sich die Gleichung

$\displaystyle u = \gamma e$   mit$\displaystyle \quad \gamma > 0$     (4.7)

als Lösung an. Mit diesem Ansatz und unter Verwendung der quadratischen Lyapunov Funktion ergibt sich eine Lösung für $ c$:
$\displaystyle c = \frac{\sin \alpha}{e} + h \frac{\theta}{e} \frac{\sin \alpha}{\alpha} + \beta \frac{\alpha}{e}$   mit$\displaystyle \quad h > 1,\, 2 < \beta < h + 1.$     (4.8)

Die beiden Formeln (4.7) und (4.8) beschreiben den glatten Übergang des Zustandsraumes. Die genaue Herleitung der Formeln befindet sich in Anhang A.5. Bei der Implementierung muss dafür gesorgt werden, dass sich $ \theta$ und $ \alpha$ im Bereich von $ [-2\pi,2\pi]$ befinden, damit sich für $ c$ eine stetige Lösung ergibt. Die wesentliche Funktion des Controllers befindet sich in Anhang B.3. Abbildung 4.11 zeigt einige Bahnkurven des Controllers. Es ist ersichtlich, dass jede gegebene Pose $ (x_1,y_1,\theta_1)$ in eine andere $ (x_2,y_2,\theta_2)$ überführt werden kann.

Abbildung 4.11: Bahnkurven. Aus jeder gegebenen Pose $ (x,y,\theta)$ wird die Zielposition $ (0,0,0)$ erreicht. Benutzte Konstanten: $ \gamma = 1$, $ h = 2$, $ \beta = 2.9$.
\scalebox{.4}{\includegraphics{pictures/phi_zero}} \scalebox{.4}{\includegraphics{pictures/phi_mpi2}}



\scalebox{.4}{\includegraphics{pictures/phi_pi2}} \scalebox{.4}{\includegraphics{pictures/phi_pi}}


next up previous contents
Next: Dynamik des Systems. Up: Das Anfahren der optimalen Previous: Das Anfahren der optimalen
Andreas Nüchter
2002-07-10