Kollisionserkennung und Optimierungen

Wie im letzten Artikel erwähnt, haben wir nun die Kollisionserkennung eingebaut und wir sind wirklich überrascht: Der Roboter funktioniert nun wirklich sehr zuverlässig. Der Testparcours in der Schule hat ein anderes Raster (ca. 28cm) als der Wettbewerbsparcours (genau 30cm, wie in den Regeln vorgegeben), weshalb der Roboter beim Schulparcours immer etwas zu weit fährt und nach dem Wettbewerb dort öfters rausgekommen ist, also seine Position verloren hat. Behoben werden kann das normalerweise nur durch Änderung eines Faktors zum Umrechnen der Encodersteps in cm. Wir wollten die Einstellungen von Hannover aber beibehalten, da bei den deutschen Meisterschaften auch ein Parcours im 30cm Raster genutzt wird. Jedenfalls verliert der Roboter, nachdem wir die Kollisionserkennung implementiert haben, nur sehr, sehr selten die Position (normalerweise muss man sogar nachhelfen). Er erkennt also nun, wenn er bei einer Geradeausfahrt mit einer Wand kollidieren würde (nur einer der drei vorderen Entfernungssensoren erkennt ein Hindernis) und korrigiert dann minimal in die Richtung, in die kein Hindernis ist. Dann wird ganz normal mit der Geradeausfahrt fortgeführt.

Außerdem haben wir die Berechnung des Pfades per Tiefensuche optimiert. Wir haben die Tiefensuche iterativ implementiert, um in Sachen Arbeitsspeicher des Roboters auf der sicheren Seite zu sein (bei der rekursiven Suche wird der Speicher ja dynamisch reserviert, bis evtl. kein Speicher mehr zur Verfügung steht), dazu wird in Zählschleifen der gesamte Speicher der Karte durchgegangen, was unter Umständen relativ viel Zeit (bis zu einer Sekunde) in Anspruch nehmen kann. Das Problem konnten wir beheben, indem nicht mehr im gesamten Speicher der potentielle Pfad berechnet wird, sondern wirklich nur in der Größe der tatsächlichen Karte.

Insgesamt sind wir nun sehr zufrieden mit unserem Roboter und einer erfolgreichen Teilnahme bei den German Open in Magdeburg steht nichts mehr im Wege. :) Natürlich braucht man immer auch etwas Glück, aber mal sehen, wie es so läuft.

German Open 2014: Was wir planen zu tun…

Nachdem wir bei den Vorqualifikationen in Hannover den 2. Platz belegt haben, bereiten wir uns auf die deutschen Meisterschaften „German Open“ 2014 in Magdeburg vor.

Bis heute waren wir noch mit unseren Facharbeiten beschäftigt (dazu bald mehr :) ), weshalb recht wenig bis gar keine Zeit für den Roboter blieb. Generell wollen wir aber soweit nichts mehr ändern, der Roboter hat schließlich gut funktioniert. Lediglich in Richtung Kollisionserkennung wollen wir etwas Neues anfangen. Probleme gab es, wenn der Roboter recht nah an einer Wand war, er also noch keine Gelegenheit hatte, sich optimal anzupassen, und sich an der Wand ein Opfer befindet:

Roboter Problem

Wenn der Roboter schräg (auf das rot markierte Opfer [Fall 2] oder generell eine Wand [Fall 1]) aufkommt, bleibt er unter Umständen daran hängen und er verliert die Orientierung in der Karte. Um das Problem zu beheben, wollen wir mehr mit den nach vorne zeigenden Entfernungssensoren arbeiten. Wenn diese auf einmal eine sehr niedrige Distanz erkennen, muss der Roboter etwas nach links bzw. rechts korrigieren.

Diese Problematik hat uns schon letztes Jahr die Qualifikation zur WM gekostet und soll deshalb dieses Jahr vermieden werden. :)

Das sollte auch recht schnell implementiert sein und den Roboter nochmal etwas zuverlässiger machen.

Tag 3: Vorqualifikationen in Hannover: Finallauf und Siegerehrung

Auch jetzt gibt es nicht so viel zu schreiben 😀 Nachdem wir Einiges getestet haben und einige weitere Feineinstellungen vorgenommen haben, hatten wir als letztes Team unseren Wertungslauf, auch dieses Mal mit voller Punktzahl.

Wir haben letztlich den 2. Platz belegt und sind voll und ganz zufrieden damit. Unsere Punktzahl ist identisch mit dem ersten Platz, der Roboter war nur 1,5 Minuten langsamer.

Somit haben wir uns für die deutschen Meisterschaften in Magdeburg vom 2. bis zum 5. April qualifiziert. Wir freuen uns auf jeden Fall! 😀

Fotos findet ihr hier.

Tag 2: Vorqualifikationen in Hannover: Erste Wettläufe

Heute standen die ersten beiden der drei Wertungsläufe an, nachdem wir noch etwas Zeit zum weiteren Testen des Roboters hatten. Der Roboter lief beim Testen sehr zuverlässig, wenn auch das ein oder andere Mal etwas recht knapp war. Hoffen und Bangen, dass nun ausgerechnet beim Wertungslauf etwas schief läuft, gibt es also immer 😉 Der erste Wertungslauf war dann perfekt, abgesehen davon, dass der Schwellwert für die Zeilenkamera zum Erkennen der schwarzen Flächen nicht richtig eingestellt war, weshalb die schwarzen Flächen einmal durchfahren wurden. Der Roboter muss dann an den Anfang des Raumes gesetzt werden; Nach aktuellen Regeln darf dem Roboter manuell die neue Position in der Karte mitgeteilt werden. Normalerweise würde der Roboter dann erneut durch die schwarzen Fliesen fahren, weil der Schwellwert und der berechnete Wert genau so wie vorher sind, allerdings haben wir hier einen Vorteil mit der Karte, denn der Roboter fährt dann normalerweise nicht erneut auf besuchte Fliesen. Insgesamt hatten wir so 230 von 250 möglichen Punkte, ein gutes Ergebnis.

Der zweite Wertungslauf verlief ohne besondere Vorkommnisse und wir konnten die in dem Parcours maximal mögliche Punktzahl von 250 Punkten erreichen. 😀 Aktuell stehen wir auf dem zweiten Platz. Der dritte Platz folgt mit einem Abstand von 100 Punkten.

Morgen ist noch der Finallauf (gewertet werden die besten 2 aus 3 Läufe) und dann war es das auch schon. Fotos folgen dann im Laufe der Woche, da die Internetverbindung hier recht langsam ist…

Tag 1: Vorqualifikationen in Hannover: Setup

Wie versprochen hier der Artikel für den ersten Tag. :)
Heute war Setup und es nicht so viel Besonderes passiert. Wir konnten einfach den ganzen Tag den Roboter testen. Am Anfang hat es noch hier und da gehakt, was aber einfach mit den Feineinstellungen des Roboters zusammenhing, die noch für den Parcours der Schule angepasst waren. Ein weiteres Problem gab es mit einem vorderen Entfernungssensor, der uns plötzlich nur noch Entfernungen bis ca. 20cm ausgegeben hat. Wir haben diesen Sensor dann testweise gegen einen der neuen Entfernungssensoren ausgetauscht, die bis zu 50cm funktionieren. Das war recht schnell erledigt, der Roboter hat dann auch schon super funktioniert.

Die Rampe war das größte „Problem“, aber auch das war nach Einstellen der Parameter behoben.

Insgesamt war der Tag wenig Ereignisreich. Morgen ist unser erster Wertungslauf um 11:50 Uhr, mal gucken, was dabei rumkommt :)

Vorbereitungen: Qualifikationsturniere in Hannover

Montag beginnt nun der Wettbewerb in der Saison 2014 für uns. In den letzten beiden Wochen haben wir uns, nachdem wir die Fehler in den Entfernungssensoren behoben haben, auf die Optimierung in Sachen Genauigkeit beim Fahren, besonders aber in Sachen Schnelligkeit konzentriert. Der Roboter fährt nun, obwohl die Sensoren früher drei mal schneller abgefragt werden konnten, genau so gut wie bevor die Probleme mit den Sensoren aufgetreten sind. Bei letzten Tests am Donnerstag ist unser Roboter leider die viel zu steile Rampe runtergerutscht und hat einen Plexiglaschaden erlitten, der aber einfach zu kleben sein sollte und die Funktion des Roboters nicht beeinträchtigt. Insgesamt sieht es sehr gut aus. :) Wir freuen uns auf den Wettbewerb.

Montag ist erst noch den ganzen Tag Setup, wir können also am Parcours unter Wettbewerbsbedingungen testen und Dienstag beginnt der Wettbewerb. Mittwoch sind dann die Finalläufe und die Siegerehrung. Wir werden versuchen, Euch via Twitter auf dem aktuellsten Stand zu halten, jeden Abend wird aber auch ein neuer Artikel erstellt. Versprochen 😉