Upload
mayes
View
23
Download
0
Embed Size (px)
DESCRIPTION
Praktikum Mobile Roboter. Abschlusswettbewerb Gruppe 5 Enrico Billich Jörn Weirauch. Die Arena. Probleme. Bojen erkennen und betätigen Befahrene Orte im Labyrinth abspeichern und effektiven Weg durch den Irrgarten finden Kollision mit Gegner erkennen und ihm ausweichen - PowerPoint PPT Presentation
Citation preview
Praktikum Mobile Roboter
AbschlusswettbewerbGruppe 5
Enrico BillichJörn Weirauch
Die Arena
Probleme
• Bojen erkennen und betätigen
• Befahrene Orte im Labyrinth abspeichern und effektiven Weg durch den Irrgarten finden
• Kollision mit Gegner erkennen und ihm ausweichen
• eventuelle Fehler und Niederlagen auf Hardware oder das Pech schieben
Bojenerkennung
• Im Feld vor der Boje diese erkennen
• Nach der schwarzen Linie noch 85mm fahren für optimale Position zur Betätigung
Bojenbetätigung
• Falls Boje bekannt, zu erst gespeicherte Seite anfahren
• Wenn Boje unbekannt oder erster Punkt kein Erfolg gebracht, dann alle Seiten nacheinander probieren, bis Boje richtige Farbe oder alle Möglichkeiten versucht
Abbruchbedingungen für Drehung
Bumper Bojensignal hat sich geändert
Nicht mehr als 90° links/rechtsNach vorne nur bis Linie
Navigation
• Vorgabe: Labyrinth spiegelsymetrisch-> kennt man die eine hälfte ist eineffizientes abfahren der anderen Hälftemöglich
-> Pfadplanung• Problem:
- Kollisionen mit anderen Roboter machen Karte ungültig -> Aufwand für die Implementierung eines Pfadplan-Algorithmus evtl. für die Katz- Kartensystem seit erstem Zwischenwettbewerb fertig und nicht auf Spiegelsymetrie ausgelegt
Navigation
• Anderer Ansatz: „Strichliste“• Um nicht ganz auf die Karte zu verzichten und eine
intelligente Abbiegestrategie zu gewährleisten, -> inkrementieren eines Zählers für jedes Feld auf dem der Roboter gewesen ist
• An Abzweigungen auswahl des Feldes mit dem geringeren Zählerstand, bzw. bei gleichem Stand einer Vorzugsrichtung
• Vorteil: wenn Karte ungültig, funktioniert das System trotzdem auch ohne reseten der Karte, erst ab einer gewissen Anzahl an Positionsfehlern löschen der Karte nötig.
Die Karte
• 8x8 Array8 Zeilen8 Spalten
-> [y,x] Adressierung• 3 Byte pro Feld
-> Feldtyp-> Boje-> Score
(0,0) (0,7)
(7,0) (7,7)
Probleme & Lösungen
• Relative Position und Richtung des Roboters zur Karte
Lösung: 2 Umgebungssysteme die ineinander umrechenbar sind.
Vorne
Rechts Links
Roboterkoordinaten-system
Norden
Westen Osten
Süden
Blickrichtung: Süden
Position:X,Y
Kartenkoordinaten-system
Erstellen und Lesen der Karte
• Karte hat nur ein Byte zum speichern der Wandinformationen-> unkomfortabel in der Programmierung-> Funktionen zum einfachen Codieren und Decodieren der Karte
unsigned byte encodeSpielfeld(struct wall wand)struct wall decodeSpielfeld(unsigned byte typ)
Bsp.: getfield=wall2head(decodeSpielfeld[y,x].typ);
if(getfield.front==WALL)
umdrehen(); …
Verschieben der Karte
• Ist der Roboter am Rand der Karte, jedoch das Spielfeld ist nicht am Rand (Roboter ist nicht in einer Ecke gestartet) muss die Karte evtl. verschoben werden.
Verschieben der Karte
• Lösung:• 4 Funktionen zum verschieben der Karte in alle
Richtungen und1 zusätzliche Funktion zum aktualisieren der Position mit Überprüfung auf Richtigkeit und evtl. verschieben der Karte
• Entwickler nutzt nur noch diese Funktion um den Roboter in der Karte zu bewegen einzig anzugebender Parameter ist die Fahrtrichtung
Gegner erkennenGegner als Sackgasse erkannt(30 bis 50% der Fälle)
Innerhalb eines Feldes 5 Mal kollidiert
Wenn Bumper nicht auslöstDurchdrehende Räder
Wenn 50cm innerhalbeines Feldes zurückgelegt,
Durchdrehende Räder erkannt
Ende