Benutzer-Werkzeuge

Webseiten-Werkzeuge


projektesose2016:findobot:start:projektdokumentation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projektesose2016:findobot:start:projektdokumentation [2016/08/18 18:22]
l.heimburger [Konstruktion]
projektesose2016:findobot:start:projektdokumentation [2016/08/25 11:12] (aktuell)
fbonowski
Zeile 1: Zeile 1:
 +<note important>​
 +**Abschließende Bewertung Felix**
  
 +Die Dokumentation wurde auf die gegebenen Hinweise reagierend noch einmal ergänzt und ist jetzt mit ihren ausgezeichneten Abbildungen und detaillierten Herleitungen vorbildlich.
 +
 +**Ausgezeichnet**
 +
 +</​note>​
  
 <​note>​ <​note>​
Zeile 108: Zeile 115:
 \\ \\
 Das Prinzip der Phasenverschiebung ist das folgende: ​ Das Prinzip der Phasenverschiebung ist das folgende: ​
- \\+\\
  
 {{ :​projektesose2016:​findobot:​start:​phasen_1.jpg |}} {{ :​projektesose2016:​findobot:​start:​phasen_1.jpg |}}
 +
 +$ \Delta s= \Delta s1 - \Delta s2 $ \\
 +
 +$ \alpha = arccos(\frac{\Delta s}{d}) $ \\
 +
 +$ \varphi = 90° - \alpha $ \\
 +
 {{ :​projektesose2016:​findobot:​start:​phasen_2.png |}} {{ :​projektesose2016:​findobot:​start:​phasen_2.png |}}
 +
 +
 +$ \Delta ac = proj_{\vec{c} \rightarrow \vec{a}} $ \\
 +
 +$ \Delta ab = proj_{\vec{b} \rightarrow \vec{a}} $ \\
 +
 +
 {{ :​projektesose2016:​findobot:​start:​phasen_3.png |}} {{ :​projektesose2016:​findobot:​start:​phasen_3.png |}}
 +
 +
 +$ proj_{\vec{b} \rightarrow \vec{a}} |\vec{a}| = proj_{\vec{a} \rightarrow \vec{b}} |\vec{b}| ​ $ \\
 +
 +$ \leftrightarrow proj_{\vec{a} \rightarrow \vec{b}} = proj_{\vec{b} \rightarrow \vec{a}} \frac{|\vec{a}|}{|\vec{b}|} $ \\
 +
 +analog: $ \qquad ​ proj_{\vec{a} \rightarrow \vec{c}} = proj_{\vec{c} \rightarrow \vec{a}} \frac{|\vec{a}|}{|\vec{c}|} $ \\
 +
 +\\
 +
 +$ tan(\gamma) = \frac{proj_{\vec{a} \rightarrow \vec{b}}}{proj_{\vec{a} \rightarrow \vec{c}}} = \frac{\Delta ab \frac{|\vec{a}|}{|\vec{b}|}}{\Delta ac \frac{|\vec{a}|}{|\vec{c}|}} $ \\
 +
 +$ |\vec{b}| = |\vec{c}| \leftrightarrow \gamma = arctan(\frac{\Delta ab}{\Delta ac}) $ \\
 +
 +
  
  
 \\ \\
 Der Winkel bei einem Versuchsaufbau mit zwei Mikros leitet sich wie folgt her: Der Winkel bei einem Versuchsaufbau mit zwei Mikros leitet sich wie folgt her:
-{{ :​projektesose2016:​findobot:​start:​herleitung_phi.jpg |}}+ 
 + 
 +$ sin(x+y)=sin(x)cos(\varphi)+cos(x)sin(\varphi) $ \\ 
 + 
 +$ \int_{0}^{2\pisin(x)sin(x+y)dx $ Skalarprodukt aus Messwerten und Vergleichswerten \\ 
 + 
 +$ =\int_{0}^{2\pi} sin^2(x)cos(\varphi)+sin(x)con(x)sin(\varphi)dx $ \\ 
 + 
 +$ =\pi cos(\varphi) \rightarrow $ Sinusskalarprodukt \\ 
 + 
 +\\ 
 + 
 +$ \int_{0}^{2\pi} cos(x)sin(x+y) dx $ \\ 
 + 
 +$ =\int_{0}^{2\pi} sin(x)cos(\varphi)+cos^2(x)sin(\varphi)dx $\\ 
 + 
 +$ =\pi sin(\varphi) ​ \rightarrow $ Cosinusskalarprodukt \\ 
 + 
 +\\ 
 + $ \rightarrow \frac{sp_1}{sp_2}=\frac{\pi sin(\varphi)}{\pi cos(\varphi)}=tan(\varphi) $\\ 
 + 
 + $ \rightarrow \varphi =arctan2(\frac{cosSP}{sinSP}) $\\ 
  
 Bei der Winkelmessung in der Praxis stellten wir leider erst sehr spät fest, dass der Roboter selbst mit seinen Versuchsaufbauten das Messsignal beeinflusste. Das lässt sich deutlich in den durch ein Oszilloskop dargestellten Daten mit möglichst freier Umgebung (erste Abb.) bzw. mit einem Blatt hinter dem rechten Mikroskop (pink). Der Schall kam hierbei von links und wurde damit vom Blatt reflektiert,​ d. h. die Phasenverschiebung ist verfälscht,​ weil der Schall länger braucht, bis er vom Mikro eingefangen wird.  Bei der Winkelmessung in der Praxis stellten wir leider erst sehr spät fest, dass der Roboter selbst mit seinen Versuchsaufbauten das Messsignal beeinflusste. Das lässt sich deutlich in den durch ein Oszilloskop dargestellten Daten mit möglichst freier Umgebung (erste Abb.) bzw. mit einem Blatt hinter dem rechten Mikroskop (pink). Der Schall kam hierbei von links und wurde damit vom Blatt reflektiert,​ d. h. die Phasenverschiebung ist verfälscht,​ weil der Schall länger braucht, bis er vom Mikro eingefangen wird. 
Zeile 132: Zeile 190:
  
   *Vorwärtsbewegung:​ Bei der Vorwärtsbewegung muss sich ein Rad im und ein Rad gegen den Uhrzeigersinn bewegen und aus dem Radumfang lässt sich ebenso darauf schließen, dass sich der Roboter bei einer Vorwärtsumdrehung beider Räder ca. 28,3 cm weit bewegt.   *Vorwärtsbewegung:​ Bei der Vorwärtsbewegung muss sich ein Rad im und ein Rad gegen den Uhrzeigersinn bewegen und aus dem Radumfang lässt sich ebenso darauf schließen, dass sich der Roboter bei einer Vorwärtsumdrehung beider Räder ca. 28,3 cm weit bewegt.
 +
 +Der von den Mikrofonen ermittelte Winkel, indem das Handy zum Roboter liegt, ist leider nicht exakt genug, um mit ihm sofort das Handy zu finden. ​
 +Deshalb bewegt sich der Roboter mit einem festen Winkel von 30° nach rechts oder links. Die Richtung, in der er sich drehen muss, ermittelt er daraus, ob der errechnete Winkel größer gleich Null (hier erfolgt eine Rechtsdrehung) oder kleiner Null (hier folgt eine Linksdrehung) ist. So kann der Roboter die grobe Richtung, in der das Handy liegt, gut finden und fährt dann meistens mit abwechselnden Rechts- und Linksdrehungen quasi geradeaus auf das Handy zu. Da sich der Roboter nicht zu Beginn bereits um einen festen Winkel dreht und dann geradeaus auf das Handy zufährt, haben kleine Mess- oder Rechenungenauigkeiten keinen negativen Einfluss und somit verfehlt der Roboter das Handy nicht. Er ermittelt den Winkel des Handys immer wieder neu und kann es auch noch finden, wenn es den ursprünglichen Platz verlässt und an einem neuen Ort gefunden werden muss. 
 +
 +Damit der findobot auch den Rückweg finden kann, wird jede ausgeführte Bewegung als Zahl in einem Array gespeichert. Um Arbeit zu sparen, wird immer die Zahl für das Gegenteil der gerade ausgeführten Bewegung gespeichert. Sobald der Roboter das Handy dann gefunden hat, kann das Array rückwärts aufgerufen werden. Dadurch fährt der findobot genau den Weg zurück, auf dem er zum Handy gefunden hat und kommt zu seinem Ausgangspunkt zurück. Dies kann der findobot mit dem von den Mirkofonen errechenten Winkeln leider noch nicht, da wir bisher kein aussagekräftiges und immer zutreffendes Kriterium gefunden haben, was eindeutig zeigt, dass das Handy gefunden wurde. ​
 +
 +
 ===== Ergebnisse ===== ===== Ergebnisse =====
  
Zeile 141: Zeile 206:
  
 Der findoBOT kann eine Audioquelle auf einer Frequenz von 440Hz eindeutig erkennen, sich in Richtung dieser ausrichten und dorthin fahren. ​ Der findoBOT kann eine Audioquelle auf einer Frequenz von 440Hz eindeutig erkennen, sich in Richtung dieser ausrichten und dorthin fahren. ​
-Da die Problematik mit den Mikrofonen erst spät gelöst werden konnte, wurde parallel bereits ein erweitertes Programm geschrieben,​ dass mit Zufallszahlen diesen Prozess simuliert und anschließend zum Ausgangspunkt zurückfahren kann (er könnte ein Handy einsammeln und zum Besitzer zurückfahren). Da dieses aber noch angepasst werden müsste gibt es im Anhang zwei Programme. Das andere erfüllt den bereits genannten Zweck, findet aber noch nicht zurück und bewegt sich noch sehr unelegant.+Da die Problematik mit den Mikrofonen erst spät gelöst werden konnte, wurde parallel bereits ein erweitertes Programm geschrieben,​ dass mit Zufallszahlen diesen Prozess simuliert und anschließend zum Ausgangspunkt zurückfahren kann (er könnte ein Handy einsammeln und zum Besitzer zurückfahren). Da dieses aber noch angepasst werden müsstegibt es im Anhang zwei Programme. Das andere erfüllt den bereits genannten Zweck, findet aber noch nicht zurück und bewegt sich noch sehr unelegant.
  
 **Zielerreichung** **Zielerreichung**
projektesose2016/findobot/start/projektdokumentation.1471537338.txt.gz · Zuletzt geändert: 2016/08/18 18:22 von l.heimburger