Benutzer-Werkzeuge

Webseiten-Werkzeuge


projektews2013:wwsr: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
projektews2013:wwsr:start:projektdokumentation [2014/03/29 18:53]
gorgotha
projektews2013:wwsr:start:projektdokumentation [2016/01/21 12:45] (aktuell)
Zeile 12: Zeile 12:
 Ultraschall wahrnehmen und somit Hindernissen auf dem Weg zur WLAN-Quelle ausweichen. Im Fall der Umgebungswahrnehmung soll  Ultraschall wahrnehmen und somit Hindernissen auf dem Weg zur WLAN-Quelle ausweichen. Im Fall der Umgebungswahrnehmung soll 
 beachtet werden, dass der Roboter kleine Hindernisse,​ wie z.B Kabel, nicht als Grund zum ausweichen betrachtet. ​ beachtet werden, dass der Roboter kleine Hindernisse,​ wie z.B Kabel, nicht als Grund zum ausweichen betrachtet. ​
-Optional, je nach Zeit und Möglichkeiten,​ soll der WWSR eine Ladefläche besitzen, mit der er Kleine ​Gegenstände transportieren+Optional, je nach Zeit und Möglichkeiten,​ soll der WWSR eine Ladefläche besitzen, mit der er kleine ​Gegenstände transportieren
 kann und einen zweiten WLAN-Modus, mit dem man ihm über eine mobile Application Befehle zur Fahrtrichtung geben kann. kann und einen zweiten WLAN-Modus, mit dem man ihm über eine mobile Application Befehle zur Fahrtrichtung geben kann.
  
-<​note>​Knapp und gut (Felix)</​note>​ 
  
 ====2. Allgemeiner Ablauf==== ====2. Allgemeiner Ablauf====
Zeile 21: Zeile 20:
 Als erstes haben wir uns die WLAN-Antenne vorgenommen,​ sodass sie die WLAN-Stärke in eine Richtung verstärkt wahrnehmen kann. Der nächste Punkt war dann eine Möglichkeit zu finden, bei der wir die WLAN-Antenne um 360° rotieren lassen können. Danach haben wir angefangen das Robotergerüst zu bauen. Darauf folgte dann die Montierung der Räder mit den dazugehörigen Motoren. Zum Schluss wurden dann der Ultraschallentfernungsmesser (mit Servo) zusammen mit dem Arduino, der WLAN-Antenne und weiterem Zubehör am Robotergerüst befestigt. Als erstes haben wir uns die WLAN-Antenne vorgenommen,​ sodass sie die WLAN-Stärke in eine Richtung verstärkt wahrnehmen kann. Der nächste Punkt war dann eine Möglichkeit zu finden, bei der wir die WLAN-Antenne um 360° rotieren lassen können. Danach haben wir angefangen das Robotergerüst zu bauen. Darauf folgte dann die Montierung der Räder mit den dazugehörigen Motoren. Zum Schluss wurden dann der Ultraschallentfernungsmesser (mit Servo) zusammen mit dem Arduino, der WLAN-Antenne und weiterem Zubehör am Robotergerüst befestigt.
 Momentan beschäftigen wir uns mit der Handy-Applikation. Momentan beschäftigen wir uns mit der Handy-Applikation.
-<​note>​Felix:​ Im Präsens liest sich das etwas komisch, denn das Projekt ist ja (mehr oder weniger) abgeschlossen - formuliert daher den bereits erledigten Teil in eine Vergangenheitsform um. Kleinere Ungenauigkeiten:​ Die Räder wurden nicht "​gebaut",​ die "​Ultraschallgeräte"​ sind  Ultraschallentfernungsmesser,​ sie wurden auch nicht "​eingestellt",​ sondern es wurde eine Entfernung festgelegt, ab der etwas passieren soll)</​note>​ +
-<​note>​bearbeitet</​note>​+
  
 ====3. Teilschritte==== ====3. Teilschritte====
Zeile 31: Zeile 29:
  
 {{:​projektews2013:​wwsr:​start:​wwsr-skizze-01.jpg?​430|}} {{:​projektews2013:​wwsr:​start:​wwsr-skizze-02.jpg?​430|}} {{:​projektews2013:​wwsr:​start:​wwsr-skizze-01.jpg?​430|}} {{:​projektews2013:​wwsr:​start:​wwsr-skizze-02.jpg?​430|}}
 +(Längenangaben sind nicht zu 100% genau!)
  
-<​note>​Felix:​ Die Beschreibung ist ja im Grunde nicht schlecht, aber wenn es darum geht, Geometrie zu erklären, geht nichts über eine kleine (Bleistift) Skizze...\\ 
-Nadine: eine Möglichkeit wäre auch, wenn gute Fotos vorhanden sind, diese zu beschriften,​ dabei sollte aber darauf geachtet werdden, dass alles gut zu erkennen ist</​note>​ 
-<​note>​bearbeitet</​note>​ 
  
 ==3.1.1 Materialien:​== ==3.1.1 Materialien:​==
Zeile 46: Zeile 42:
  
 ==3.2.1 Integrierung des WiFly-Chips:​== ==3.2.1 Integrierung des WiFly-Chips:​==
- 
 Als erstes haben wir versucht, das WLAN-Modul ("​RN-XV WiFly Modul"​) über den Arduino einzustellen und eine Verbindung zu einem zweiten WLAN-Gerät herzustellen. Das größte Problem dabei war die Einstellung der Baudraten, um die Kommunikation die jeweiligen Komponenten zu gewährleisten. Besonders sollte man hier darauf achten, dass der verwendete Microcontroller die benötigten Baudraten unterstützt. Gewählt haben wir eine Baudrate von 115200, das ermöglicht eine Datenübertragungsrate von 11520 byte/s bzw. 11,52KB/s. Wir haben uns für den Arduino Mega entschieden,​ da dieser alle notwendigen Baudraten unterstützt und zu dem eine serielle Schnittstelle auf Hardware-Basis besitzt, die sich für die Verbindung zum WiFly-Modul anbietet. Zudem ist die von uns verwendete "​WiFly"​ Bibliothek sehr groß und verursacht unerklärliche Abstürze, wenn der Speicher voll ist, was bei kleinerem Microcontrollern (wie z.B. dem Arduino Nano) durchaus passieren kann. Als erstes haben wir versucht, das WLAN-Modul ("​RN-XV WiFly Modul"​) über den Arduino einzustellen und eine Verbindung zu einem zweiten WLAN-Gerät herzustellen. Das größte Problem dabei war die Einstellung der Baudraten, um die Kommunikation die jeweiligen Komponenten zu gewährleisten. Besonders sollte man hier darauf achten, dass der verwendete Microcontroller die benötigten Baudraten unterstützt. Gewählt haben wir eine Baudrate von 115200, das ermöglicht eine Datenübertragungsrate von 11520 byte/s bzw. 11,52KB/s. Wir haben uns für den Arduino Mega entschieden,​ da dieser alle notwendigen Baudraten unterstützt und zu dem eine serielle Schnittstelle auf Hardware-Basis besitzt, die sich für die Verbindung zum WiFly-Modul anbietet. Zudem ist die von uns verwendete "​WiFly"​ Bibliothek sehr groß und verursacht unerklärliche Abstürze, wenn der Speicher voll ist, was bei kleinerem Microcontrollern (wie z.B. dem Arduino Nano) durchaus passieren kann.
- 
-<​note>​Felix:​ Wie heißt das Modul genau? (Typenbezeichung). Welche Baudrate nutzt Ihr letztendlich?​\\ Kleine Anmerkung: Der Nano hat tatsächlich oft etwas wenig Speicher für die Libraries, das verlangsamt jedoch nicht die Geschwindigkeit (sondern verursacht unerklärliche Abstürze, wenn der Speicher voll ist). Vielleicht war der Initialisierungsprozess langsamer, weil eine niedrigere Bausrate verwendet wurde?</​note>​ 
  
 ==3.2.2 Die Yagi-Uda-Richtantenne:​== ==3.2.2 Die Yagi-Uda-Richtantenne:​==
Zeile 74: Zeile 67:
   * Holzklotz als Sockel für die Antenne   * Holzklotz als Sockel für die Antenne
   * Gewindestäbe (lang genug, um den StepperMotor mit dem Sockel zu befestigen) sowie Unterlegscheiben und Muttern   * Gewindestäbe (lang genug, um den StepperMotor mit dem Sockel zu befestigen) sowie Unterlegscheiben und Muttern
-<​note>​Felix:​Gefällt mir! Ein paar passende Abschnittsüberschriften könnten die Übersichtlichkeit noch etwas erhöhen.</​note>​ 
  
 ===3.3 Räder / Stepper-Motoren:​=== ​ ===3.3 Räder / Stepper-Motoren:​=== ​
-<​note>​Felix:​ Hier fehlen 1-2 einleitende Sätze: Für was braucht Ihr die Stepper überhaupt und was sind sie? Was für einen Typen benutzt Ihr? Wozu ist dieser Treiber überhaupt da und welche Bezeichnung hat er?</​note>​ 
-<​note>​bearbeitet</​note>​ 
 {{ :​projektews2013:​wwsr:​start:​0j3360.600.png?​direct&​400|}}Ein Steppermotor (auf deutsch Schrittmotor) ist ein Motor, der ein elektromagnetisches Feld erzeugt, wodurch sich der Rotor dreht. Insgesamt sind im Roboter drei dieser Motoren verbaut (1 für die Antenne und 2 für die Räder). Dieser Motor eignet sich gut für die Antenne, da er in der Lage ist sich um 360° zu drehen, was für die hier zwingend notwendig ist. Noch essentieller sind die Motoren für die Räder, da sie sich theoretisch ewig in eine Richtung drehen können ohne, dass sich Kabel aufwickeln. {{ :​projektews2013:​wwsr:​start:​0j3360.600.png?​direct&​400|}}Ein Steppermotor (auf deutsch Schrittmotor) ist ein Motor, der ein elektromagnetisches Feld erzeugt, wodurch sich der Rotor dreht. Insgesamt sind im Roboter drei dieser Motoren verbaut (1 für die Antenne und 2 für die Räder). Dieser Motor eignet sich gut für die Antenne, da er in der Lage ist sich um 360° zu drehen, was für die hier zwingend notwendig ist. Noch essentieller sind die Motoren für die Räder, da sie sich theoretisch ewig in eine Richtung drehen können ohne, dass sich Kabel aufwickeln.
  
Zeile 93: Zeile 83:
  
 ===3.4 Ultraschallsender / -empfänger:​=== ===3.4 Ultraschallsender / -empfänger:​===
-<​note>​Felix:​ Auch hier wäre ein einführender Satz schön. Außerdem fehlen ein paar Worte zur grundsätzlichen Funktionsweise des Sensors (der übrigends kein Chip sondern eher ein Modul ist.)</​note>​ 
-<​note>​bearbeitet</​note>​ 
 Zur Raumwahrnehmung des Roboters benutzen wir das Ultraschallwellen-Modul HC-SR04. Dieses Modul sendet ein Ultraschallsignal aus, welches auf ein Objekt trifft, reflektiert wird und es wieder auffängt. Das Modul errechnet aus der Zeit die das Schallsignal benötigt hat die Entfernung zum Objekt aus. Zur Raumwahrnehmung des Roboters benutzen wir das Ultraschallwellen-Modul HC-SR04. Dieses Modul sendet ein Ultraschallsignal aus, welches auf ein Objekt trifft, reflektiert wird und es wieder auffängt. Das Modul errechnet aus der Zeit die das Schallsignal benötigt hat die Entfernung zum Objekt aus.
  
Zeile 104: Zeile 92:
  
 ==3.4.1 Materialien:​== ==3.4.1 Materialien:​==
-  * HC SR04 Sonar-Modul+  * HC-SR04 Sonar-Modul
   * Servomotor mit 180°    * Servomotor mit 180° 
   * Holzklotz zur Befestigung des Moduls am Servo   * Holzklotz zur Befestigung des Moduls am Servo
Zeile 134: Zeile 122:
        
  
-====6. Aktueller Stand====+====6. Aktueller Stand/Ergebnis====
 ''​29.03.2014 | 02:​41''​ ''​29.03.2014 | 02:​41''​
  
 Bis jetzt haben wir den Roboter weitestgehend fertig. Der WWSR ist in der Lage das WLAN-Signal auf mittlere Distanz (~5 meter) zu orten und sich dementsprechend auszurichten. Er fährt auf diese Quelle zu bis er auf ein Objekt trifft, und weicht daraufhin intelligent aus. Nach dem Ausweichen richtet sich der Roboter erneut aus. Bis jetzt haben wir den Roboter weitestgehend fertig. Der WWSR ist in der Lage das WLAN-Signal auf mittlere Distanz (~5 meter) zu orten und sich dementsprechend auszurichten. Er fährt auf diese Quelle zu bis er auf ein Objekt trifft, und weicht daraufhin intelligent aus. Nach dem Ausweichen richtet sich der Roboter erneut aus.
 Als nächstes werden wir noch einen "​Stoßsensor"​ vorne anbauen, für den Fall, dass der Roboter an ein Objekt stößt. Sollte dies der Fall sein soll der WWSR dieses Objekt umfahren. Dieser "​Bumper"​ ist vorallendingen dann notwendig wenn, das im Weg stehende Objekt zu niedrig für den Entfernungsmesser ist. Desweiteren arbeiten wir noch an einer Handy-Applikation,​ die es uns erlaubt die Daten der Sensoren auszulesen bzw. den Roboter selber zu steuern. Als nächstes werden wir noch einen "​Stoßsensor"​ vorne anbauen, für den Fall, dass der Roboter an ein Objekt stößt. Sollte dies der Fall sein soll der WWSR dieses Objekt umfahren. Dieser "​Bumper"​ ist vorallendingen dann notwendig wenn, das im Weg stehende Objekt zu niedrig für den Entfernungsmesser ist. Desweiteren arbeiten wir noch an einer Handy-Applikation,​ die es uns erlaubt die Daten der Sensoren auszulesen bzw. den Roboter selber zu steuern.
- 
-<​note>​Nadine:​ Was heißt mittlere Distanz?</​note>​ 
-<​note>​bearbeitet</​note>​ 
  
 ===6.1 Fotostrecke zur Entwicklung des WWSR=== ===6.1 Fotostrecke zur Entwicklung des WWSR===
Zeile 172: Zeile 157:
  
 **Es ist anzumerken, dass sämtliche Quellcodes für das Verständnis der einzelnen Funktionsweisen des Roboters dienen. Das komplette Programm findet ihr unter dem Namen Robotik.zip im Quellcodes-Verzeichnis. Das Programm wurde objektorientiert programmiert,​ das heißt das es in mehrere Klassen aufgeteilt ist. Falls es selbst nach genauerer Betrachtung Schwierigkeiten im Verständnis gibt, verweisen wir auf die einzelnen Quellcodes und diesen Artikel: [[techniken:​objektorient|Klassen und Objekte]].** **Es ist anzumerken, dass sämtliche Quellcodes für das Verständnis der einzelnen Funktionsweisen des Roboters dienen. Das komplette Programm findet ihr unter dem Namen Robotik.zip im Quellcodes-Verzeichnis. Das Programm wurde objektorientiert programmiert,​ das heißt das es in mehrere Klassen aufgeteilt ist. Falls es selbst nach genauerer Betrachtung Schwierigkeiten im Verständnis gibt, verweisen wir auf die einzelnen Quellcodes und diesen Artikel: [[techniken:​objektorient|Klassen und Objekte]].**
- 
-<note >Felix: Insgesamt bin ich schon recht zufrieden. die Sprache ist verständlich,​ die Abbildungen helfen beim Verständnis. An einzelnen Stellen wäre etwas mehr technische Präzision bei der Beschreibung der Aufgaben von Bauteilen und deren Typenbezeichungen gut. Die Bilderserien sind eine gute Idee, bedürfen aber noch einer knappen Beschreibung dessen, was dort zu sehen ist. Die Komponentenlisten sind eine sehr gute Idee!\\ ​ 
-(Nadine: Ich finde das was bis jetzt vorhanden ist schön. Gut gefällt mir, dass das Material zu den Komponenten aufgezählt wurde. Es fehlt mir an einigen Stellen, was die Komponenten eigentlich tun sollen und die Kommasetzung sollte vor allen bei Sätzen mit um überprüft werden.) 
-\\ **Es fehlen jedoch noch eine Beschreibung des Navigationsalgorithmus,​ eine abschließende Diskussion und ein Ausblick!**</​note>​ 
projektews2013/wwsr/start/projektdokumentation.1396115634.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)