Can Kosar

Author: solocan (page 8 of 8)

Beschreibung der Kinematik des nicht-holonomen Roboters Ropi

Roboter Raspberry Pi, (Ropi) ist ein mobiler Indoor-Roboter, der für den Einsatz auf planaren Flächen ausgelegt ist. Seine Bauform ist in der Abbildung 1 beschrieben.

Beschreibung der Kinematik

Der Ropi wird mit zwei rollenden, unabhängigen Rädern angetrieben und einem dritten, frei drehenden Stützrad abgestützt. Um eine Drehung um eigene Achse zu ermöglichen, befinden sich alle Räder tangential in einem Kreis. Damit sich der Roboter an jeder Stelle um sich drehen kann, ist sein Gehäuse kreisförmig konstruiert, siehe Abbildung 1.

Rendered by QuickLaTeX.com

Abbildung 1: Ropi Bauform

Im Folgenden möchte ich die Kinematik des Roboters beschreiben. Erst betrachte man die freien Körper unter Vernachlässigung der kontinuummechanischen Phänomene wie Deformation als Starrkörper. Die einzelnen freien Körper eines Mehrkörpersystems haben jeweils 6 Freiheitsgrade, die mit kartesischen Raumkoordinaten beschrieben werden können. D.h. die Lagevektoren der einzelnen freien Körper lassen sich als

    \begin{align*} \mathbf{x}^G &=\begin{bmatrix}r_1^G & r_2^G & r_3^G & \alpha^G & \beta^G & \gamma^G\end{bmatrix}\text{,}\\ \mathbf{x}^{RL} &=\begin{bmatrix}r_1^{RL} & r_2^{RL} & r_3^{RL} & \alpha^{RL} & \beta^{RL} & \gamma^{RL}\end{bmatrix}\text{ und}\\ \mathbf{x}^{RR} &=\begin{bmatrix}r_1^{RR} & r_2^{RR} & r_3^{RR} & \alpha^{RR} & \beta^{RR} & \gamma^{RR}\end{bmatrix} \end{align*}

formulieren, wobei die Hochindexen G für Gehäuse, RR für das rechte Rad, RL für das linke Rad; die r_{1,2,3} die Komponenten des translatorischen Lagevektors in den orthogonalen raumfesten Einheitsvektoren e_{1,2,3} und die \alpha, \beta, \gamma die Drehungen um die e_{1,2,3} sind, siehe Abbildung 2.

Rendered by QuickLaTeX.com

Abbildung 2: Das ungebundene System

Nun können wir die Zwangsbedingungen stellen, die die Bindungen des Systems beschreiben. Bei den Zwangsbedingungen unterscheidet man zwischen den holonomen und nichtholonomen Zwangsbedingungen. Die holonomen Zwangsbedingungen beschränken die Lagegrößen und dadurch direkt Geschwindigkeits- und Beschleunigungsgrößen. Die nichtholonomen Zwangsbedingungen hingegen beschränken primär die Geschwindigkeitsgrößen. Die q \times 1 Matrix der holonomen Zwangsbedingungen lassen sich in impliziter Form als

(1)   \begin{equation*} \mathbf{\phi}=0=\begin{bmatrix} r_3^G\\ r_3^{RL}\\ r_3^{RR}\\ \alpha^G\\ \alpha^{RL}\\ \alpha^{RR}\\ \beta^G\\ \beta^{RL}\\ \beta^{RR}\\ \gamma^G-\gamma^{RR}\\ \gamma^G-\gamma^{RL}\\ r_1^G-r_1^{RL}-a \cos(\gamma^G)\\ r_1^{RR}-r_1^G-a \cos(\gamma^G)\\ r_2^G-r_2^{RL}-a \sin(\gamma^G)\\ r_2^{RR}-r_2^G-a \sin(\gamma^G) \end{bmatrix} \end{equation*}

formulieren, wobei R der Radius des Kreises ist, auf dessen Tangente sich die Räder bewegen. Die Freiheitsgrade der Lagegrößen berechnet sich bei Mehrkörpersystemen durch

(2)   \begin{equation*} f=6p-q \end{equation*}

mit p Körpern und q Zwangsbedingungen. Somit ergeben sich f=3 \cdot 6-15=3 Freiheitsgrade der Lagegrößen. Der Vektor der Lagegrößen ergibt sich als

(3)   \begin{equation*} \mathbf{y}=\begin{bmatrix} r_1^G\\r_2^G\\\gamma^G \end{bmatrix}\text{,} \end{equation*}

d.H. die Lage des Roboters in der Ebene lässt sich mit zwei translatorischen Größen in der Ebene r^G_{1,2} und eine Drehung um die r_3 eines raumfesten Koordinatensystems beschreiben.

Zusätzlich zu den holonomen Bindungen und hat das Mehrkörpersystem eine nichtholonome Bindung bzw. Zwangsbedingung, die aus der Rollbedingung der Räder hervorgeht. Die Lage des Roboters kann man zwar stets mit dem Lagevektor y beschreiben, allerdings der Roboter kann nicht zu allen möglichen Lagen direkt gesteuert werden. Sondern er muss gegebenenfalls einen indirekten und unbeliebigen Pfad zur erwünschten Lage folgen. Der r \times 1 Vektor der nichtholonomen Zwangsbedingungen lässt sich in impliziter Form als

(4)   \begin{equation*} \chi=0=\begin{bmatrix} \dot{r}_1^G\cos(\gamma^G)-\dot{r}_2^G\sin(\gamma)^G \end{bmatrix} \end{equation*}

beschreiben. Das bedeutet, die resultierende \glqq Quergeschwindigkeit\grqq\ muss stets 0 betragen. Somit erhält man eine zusätzliche Reduktion beim Vektor der Geschwindigkeit, siehe EberhardSchiehlen04.

Der Vektor der Geschwindigkeit lautet demnach

(5)   \begin{equation*} \mathbf{z}(t)\begin{bmatrix} v_V&\dot{\gamma^G} \end{bmatrix} \end{equation*}

mit der Vorwärtsgeschwindigkeit

(6)   \begin{equation*} v_V=\begin{bmatrix} \dot{r}_2^G\cos(\gamma^G)+\dot{r}_1^G\sin(\gamma^G) \end{bmatrix} \end{equation*}

Bisher wird die Kinematik des Roboters im Bezug eines raumfesten kartesischen Koordinatensystems beschrieben. Um die Bewegungen des Roboters zu beschreiben, bietet es sich an, mindestens ein zusätzliches körperfestes und bewegtes Koordinatensystem zu benutzen, z.B. als Sollpfad bei der Regelungsaufgabe. Als Sonderfall für Starrkörpersysteme lässt sich die Bewegung des Mehrkörpersystems vollständig mit bewegten Koordinatensystem beschreiben, wenn die kontinuumsmechanischen Phänomene vernachlässigt werden. Da der Roboter zunächst als ein starres Mehrkörpersystem betrachtet wird, kann dies gewagt werden. Auf die Formulierung der bewegten Koordinatensysteme wird im nächsten Teil eingegangen.

Die Theorie und die Notation basieren in diesem Text größtenteils auf den Skripten und Büchern des Prof. Peter Eberhard und Prof. Werner Schiehlen

Zustandsbestimmung durch Odometrie

Die Odometrie hat sich bei der relativen Lagemessung als eine der zuverlässigsten Methoden erwiesen, siehe BorensteinFeng94 und BorensteinFeng96. Bei simultaner Zustandsermittlung durch die Odometrie stehen uns ausschliesslich die Daten der Drehung beider Räder zur Verfügung. Die besondere Herausforderung hierbei ist, dass die Orientierung bzw. die Lenkung des Roboters durch die differentielle Drehung der beiden Antriebsräder erzeugt wird. Die genaue Bestimmung der Orientierung ist daher eine der Kernaufgaben der Regelungsalgorithmus. Hinzu kommt, dass sich der Roboter im Raum nicht absolut orientiert. Das führt dazu, dass die Fehler bei der Ermittlung der Lage und Orientierung immer addiert werden und es keine Sensorik zur Verfügung steht, die inkrementellen Fehler zu kompensieren.

Die Prinzip der Positionsermittlung hierbei ist die differentielle Konstruktion und Addition der Bewegung, die durch die Drehung beider Räder ermittelt wird. Dazu wird die Drehung beider Räder seit dem letzten Zeitinkrement gemessen und die Positions- und Orientierungsänderung inkrementell berechnet.

Bogenmodell

Der Ansatz bei der Konstruktion der Bewegung ist, dass der Roboter in einem diskreten Zeitintervall durch die unterschiedliche Bewegung der Räder eine Bogenbewegung um einen virtuellen Punkt O(t) macht, siehe Abbildung 1. In der Abbildung sind die Drehungen in die lineare Bewegung, in dem Fall Kreisbogen, übersetzt und in differentieller Schreibweise als \Delta a_l(t) und \Delta a_r(t) gekennzeichnet. Dabei ist \Delta a(t) die Bewegung des Roboters.

Rendered by QuickLaTeX.com

Abbildung 1: Konstruktion der differentiellen Bewegung
Durch die geometrischen Verhältnisse der beiden Kreisbogen gilt

(1)   \begin{equation*} \frac{r_{c,t}-r_R}{r_{c,t}+r_R}\sim\frac{\Delta a_{r,t}}{\Delta a_{l,t}}\text{.} \end{equation*}

Daraus ergibt sich

(2)   \begin{equation*} \Delta a_{l,t}(r_{c,t}-r_R)=\Delta a_{r,t}(r_{c,t}+r_R)\text{.} \end{equation*}

Wenn man die Gleichung \eqref{rel1} nach dem Radius des virtuellen Bogenkreises r_{c,t} löst, erhält man

(3)   \begin{equation*} r_{c,t}=r_R\frac{\Delta a_{l,t}+\Delta a_{r,t}}{\Delta a_{l,t}-\Delta a_{r,t}} \end{equation*}

Nun wird auch der Winkel des Bogens \Delta \gamma_{a,t} benötigt. Wenn die Längen beider Bögen \Delta a_{r,t} und \Delta a_{l,t} bekannt sind, kann für den mittleren Bogen geschrieben werden, dass

(4)   \begin{equation*} \Delta a_{m,t}=\frac{{\Delta a_{l,t}+\Delta a_{r,t}}}{2}\text{.} \end{equation*}

Daraus ergibt sich der Winkel als

(5)   \begin{equation*} \Delta\gamma_{a,t}=\frac{\Delta a_{m,t}}{r_{c,t}}=\frac{\frac{{\Delta a_{l,t}+\Delta a_{r,t}}}{2}}{r_R\frac{\Delta a_{l,t}+\Delta a_{r,t}}{\Delta a_{l,t}-\Delta a_{r,t}}}=\frac{\Delta a_{l,t}-\Delta a_{r,t}}{2 r_R}\text{.} \end{equation*}

Wenn der Kreisbogen bekannt ist, kann nun die Lage- und Orientierungsänderung im bewegten Koordinatensystem G als

(6)   \begin{equation*} _Gr_{1,t}=r_{c,t}(1-\cos(\Delta\gamma_{a,t})) \end{equation*}

für die erste translatorische Komponente,

(7)   \begin{equation*} _Gr_{2,t}=r_{c,t}\sin(\Delta\gamma_{a,t}) \end{equation*}

für die zweite translatorische Komponente und

(8)   \begin{equation*} _G\gamma_{t}=\Delta\gamma_{a,t} \end{equation*}

für die Rotation berechnet werden. Daraus ergibt sich die Bewegung der bewegten Koordinatensystems, bzw. des Starrkörpersystems G als

(9)   \begin{equation*} _G\mathbf{r}_{t}^B=\begin{bmatrix} r_{c,t}(1-\cos(\Delta\gamma_{a,t}))\\ r_{c,t}\sin(\Delta\gamma_{a,t})\\ \Delta\gamma_{a,t} \end{bmatrix} \end{equation*}

beschrieben werden.

Der Fall der Geradeausfahrt, wo beide Räder exakt den gleichen Weg zurücklegen, also \Delta a_{l,t}-\Delta a_{r,t}\rightarrow0 führt in den obigen Formeln zu einer Nulldivision. Im Prinzip ist dieser Fall durch

(10)   \begin{equation*} r_{c,t}\rightarrow\pm\inf \end{equation*}

miteingeschlossen und führt nach den Regeln der Limitrechnung zu

(11)   \begin{equation*} _G\bar{r}_{t}^B=\begin{bmatrix} 0\\ \Delta a_{l,t}\\ 0 \end{bmatrix}\text{.} \end{equation*}

Eine Momentanaufnahme meines Lebens

Ich bin Can, geboren im Jahre 1987 in dem Krankenhaus „Izmir Kadin hastaliklari ve dogum hastanesi“ gegenüber dem Izmir Hafen an einem Sonntagmorgen. Anscheinend war das Meerwetter am13. September in Izmir so wunderschön, sodass der erste Atemzug mich süchtig nach dem Mittelmeer machte. Nach dem Entlass sind wir nach Hause gefahren, wo man erst das rote Band, das mein hocherfreuter Bruder (der damals 9 war) an die Tür gebunden hat, schneiden musste, bevor man hinein trat. Als nächstes erinnere ich mich an eine lustige Auseinandersetzung zwischen meinem Vater und meiner Tante, da sie mich zum streicheln nicht teilen konnten und ich dadurch bedrängt wurde; ich glaube, es war ein paar Jahre nach meinem Geburtstag. Wahrscheinlich war das mein erstes Erlebnis, an das ich mich erinnern konnte. Wissenschaftler behaupten, dass das menschliche Gehirn alles aufnimmt, sodass die ganzen Erinnerungen nie verloren gehen können, allerdings besteht aufgrund der kontinuierlich entstehenden Deformationen im Gehirn kein Zugriff mehr. Aus dem Grund bedauere ich sehr, dass ich mich nicht mehr an das Frühere erinnern kann.
Weiterlesen

neuestenposts

Rechte © 2025 Can Kosar

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