Triangulation - anderer Ansatz < Sonstiges < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Hallo, ich habe mich entschlossen ein anderer Verfahren auszuprobieren, da der letzte Ansatz nicht erfolgreich war (siehe Triangulation).
Gegeben sind n Landmarken, deren Koordinaten [mm] $P_i \in \IR^2$. [/mm] Die Position $P$ eines Roboters und seine Orientierung [mm] $\theta$ [/mm] sind nicht bekannt. Es gibt Messdaten der Winkel [mm] $\beta_i$ [/mm] zu den bekannten Landmarken. Das Ziel ist sowohl die Position $P$ als auch die Orientierung [mm] $\theta$ [/mm] zu bestimmen.
Die nachfolgende Vorgehensweise stammt aus dem Artikel "On Mobile Robot Localization From Landmark Bearings" von Ilan Shimshoni und kann hier auch eingesehen werden:[url]https://www.researchgate.net/profile/Ilan_Shimshoni/publication/3299298_On_mobile_robot_localization_from_landmark_bearings/links/0a85e53c65a8d95a71000000/On-mobile-robot-localization-from-landmark-bearings.pdf [url]
Ich stelle kurz die Vorgehensweise allgemein vor. Ich habe mir anschließend ein eigenes Beispiel konstruiert, aber leider kommt etwas falsches heraus und außerdem habe ich dazu auch eine Verständnisfrage.
Die Vorgehensweise ist eine Koordinatentransformation von den globalen Koordinaten [mm] $P_i$ [/mm] zu den Roboterkoordinaten [mm] $M_i$. [/mm] Diese Transformation ergibt sich aus der Position $P$ des Roboters und der Orientierung [mm] $\theta$.
[/mm]
[mm] $M_i [/mm] = [mm] l_i(cos\beta_i, sin\beta_i) [/mm] = [mm] R(P_i-P) [/mm] = [mm] RP_i [/mm] + T$
wobei [mm] $R=\pmat{ cos\theta & sin\theta \\ -sin\theta & cos\theta}$ [/mm] die planare Rotationsmatrix um den Winkel [mm] $\theta$ [/mm] ist und [mm] $l_i$ [/mm] die unbekannte Distanz von $P$ zu [mm] $P_i$. [/mm] Das kann auch in zwei Gleichungen geschrieben werden:
[mm] $l_i \cdot cos(\beta_i) [/mm] = [mm] (cos(\theta), sin(\theta))\cdot P_i [/mm] + [mm] T_x$ [/mm] und
[mm] $l_i \cdot sin(\beta_i) [/mm] = [mm] (-sin(\theta), cos(\theta))\cdot P_i [/mm] + [mm] T_y$.
[/mm]
Hieraus kann [mm] $l_i$ [/mm] eliminert werden:
[mm] $\left( (cos(\theta), sin(\theta))\cdot P_i + T_x \right)=((-sin(\theta), cos(\theta))\cdot P_i [/mm] + [mm] T_y)\cdot cot(\beta_i)$
[/mm]
Es ergibt sich ein Gleichungssystem:
[mm] $P_{ix}-P_{iy}\cdot(\beta_i),P_{iy}+P_{ix}\cdot cot(\beta_i),1,-cot(\beta_i)\cdot \vektor{cos(\theta) \\ sin(\theta) \\ T_x \\ T_y} [/mm] = 0$
Für alle n gegebenen Landmarken kann das durchgeführt werden. Weitere Bedingung ist, dass [mm] $\cos(\theta)^2 [/mm] + [mm] sin(\theta)^2=1$ [/mm] gilt.
Ich habe mit drei Landmarken gearbeitet und mir einfach drei Punkte in ein Koordinatensystem gezeichnet und eine Roboter mit einer Ausrichtung, um das für mich mal durchzurechnen.
[mm] $P_1=(2;5,5), P_2=(2,5;3), P_3=(2,5;1)$. [/mm] Von dem Roboter aus gemessen sind die Winkel [mm] $\beta_1=45°, \beta_2=90°, \beta_3=135°$.
[/mm]
Es müsste herauskommen: Roboter hat die Position (5,3) und [mm] $\theta=90°$.
[/mm]
Ich habe das zugehörige Gleichungssystem aufgestellt:
[mm] \pmat{-3,5 & 7,5 & 1 & -1\\ 2,5 & 3 & 1 & 0 \\3,5 & 1,5 & 1 & 1}\cdot \vektor{cos(\theta) \\ sin(\theta) \\ T_x \\ T_y} [/mm] = 0$ und es mit dem Löser für Gleichungssysteme mathecalc.org gelöst. Es kam die Lösung:
[mm] $T_y\cdot\vektor{\frac{2}{3}\\\frac{10}{9}\\-5\\1}$. [/mm] Mit der Bedingung [mm] $\cos(\theta)^2 [/mm] + [mm] sin(\theta)^2=1$ [/mm] folgt dann [mm] $\left(\frac{2}{3}T_y\right)^2+\left(\frac{10}{9}T_y\right)^2=1$ [/mm] mit der Lösung [mm] $T_y=+ [/mm] - [mm] \frac{9}{11,7}$. [/mm] Und das stimmt nicht.
|
a. Wo mache ich den Fehler?
b. [mm] $cot(\alpha)=\frac{cos(\alpha)}{sin(\alpha)} [/mm] und wenn [mm] sin(\alpha)=0 [/mm] dann gibt es einen Fehler. Das finde ich auch komisch.
Im Anhang ein Bild dazu.
Mögliche Antworten sind mir übrigens auch in zwei Wochen noch wichtig. Habe ich aber offensichtlich vergessen zu ändern.
<br>
Dateianhänge: Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:28 Di 14.01.2020 | Autor: | Eisfisch |
Lösung: ? [Dateianhang nicht öffentlich]
der Robater könnte auch rechts stehen- beide lösungen sind möglich
Q: http://www.arndt-bruenner.de/mathe/scripts/rueckwaertsschnitt.htm
Dateianhänge: Anhang Nr. 1 (Typ: GIF) [nicht öffentlich]
|
|
|
|
|
> Ich stelle kurz die Vorgehensweise allgemein vor. Ich habe mir anschließend ein eigenes Beispiel konstruiert, aber leider kommt etwas falsches heraus und außerdem habe ich dazu auch eine Verständnisfrage.
>
> wobei [mm]R=\pmat{ cos\theta & sin\theta \\ -sin\theta & cos\theta}[/mm] die planare Rotationsmatrix um den Winkel [mm]\theta[/mm] ist und [mm]l_i[/mm] die unbekannte Distanz von [mm]P[/mm] zu [mm]P_i[/mm].
Habe leider momentan keine Zeit, das Ganze durchzurechnen. Aber: Falls die Rotation wie üblich GEGEN den Uhrzeigersinn ablaufen soll, muss die Rotationsmatrix
[mm]R=\pmat{ cos\theta & -sin\theta \\ sin\theta & cos\theta}[/mm]
heißen. Vielleicht liegt da der Fehler.
|
|
|
|
|
Vielen Dank, werde ich morgen ausprobieren und dann vom Ergebnis berichten :) marthasmith
|
|
|
|