Roboter 2.0 – mit Karte!

Nachdem wir uns nun mit dem 3. Platz bei den Vorqualifikationsturnieren in Hannover für die German Open, also die deutschen Meisterschaften, in Magdeburg qualifiziert haben, bereiten wir uns nun auf diesen nächsten Wettbewerb vor (bzw. haben wir schon intensiv in der Zeit, in der wir hier leider inaktiv waren). In Hannover haben wir festgestellt, dass unser Fahrgestell (wieder 😀 ) große Probleme mit der Rampe hat. Der Schwerpunkt war zu weit unten, der Radabstand zu klein. Mit einem überarbeiteten Fahrgestell, bei dem die sowohl die Räder, als auch die Motoren weiter auseinander sind, sodass die Auflagefläche größer ist und der Akku zwischen die Motoren passt, haben wir gehofft, nun auch Rampen mit 25° Neigung bewältigen zu können.

Konstruktion 2.0

Theoretisch klappte das auch, der Roboter fällt so nicht runter, allerdings ist die Kraft der Motoren zu klein, wobei die Motoren selbst nicht das Problem sind, viel mehr gab unser 7,2V System nicht genug Power her. Die Geschwindigkeit der Motoren muss geregelt werden, damit der Roboter immer gleichmäßig schnell ist. Das funktioniert nur, wenn genug Ressourcen zur Verfügung stehen. Wirklich regeln konnten wir allerdings nur bei Geschwindigkeiten unter 50% der Maximalleistung, da darüber immer automatisch Vollgas gegeben wird, um die Wunschgeschwindigkeit erreichen zu können (ein Beispiel: Wir möchten den Motor auf 100% laufen lassen. Volle Kraft wird zwar erreicht, wenn der Akku voll ist, dann stehen aber keine Kapazitäten mehr zum Regeln zur Verfügung. Falls der Roboter also z.B. die Rampe hoch muss, müssten die Motoren sich schneller drehen, da mehr Kraft aufgewandt werden muss, das ging aber nicht, da schon alle Kapazitäten ausgenutzt waren). Wir müssen außerdem schneller fahren können, um Zeit zu sparen. Ein weiteres Beispiel nun zum neuen 12V System: Der Akku soll auf 100% geregelt werden (es sollen also 9V ankommen). Es stehen nun auch Ressourcen nach oben zur Verfügung, um die Geschwindigkeit zu halten. Zudem sackt die Spannung mit der Zeit bis minimal 9V zusammen, beim alten System waren es 6V, womit man schon fast nichts mehr machen konnte.

Nachdem die Konstruktion fertig war, traten Probleme mit den Encodern auf, die uns insgesamt ca. 2 Wochen Zeit gekostet haben! Die verwendeten LEGO Motoren haben integrierte Quadraturencoder, bei denen jedoch nur ein Kanal über einen Hardwareinterrupt ausgewertet wurde, sodass nur nach oben gezählt wurde, auch, wenn der Motor rückwärts gedreht hat.

Modifikation für Quadraturencoder (zwei Kupferlackdrähte)

Bei hohen Drehzahlen darf das aber nicht gemacht, da müssen beide Kanäle ausgewertet werden, da sonst der Encoderwert nicht mehr stimmt. Nach einer kleinen Änderung auf der Platine werden nun beide Kanäle ausgewertet, nun nicht mehr über ein Hardwareinterrupt, sondern über einen Timer, der mit einer Frequenz von 10kHz aufgerufen wird, sodass auch noch hohe Geschwindigkeiten gemessen werden können.

Nachdem das funktionierte, haben wir die restliche Hardware angepasst. Dazu zählen eine neue Bedienplatine (also mit Inkrementalgeber zum Einstellen von Parametern etc. und dem An-/Ausschalter), da die alte auf die Schnelle gemacht war (keine Buchsen an der Platine, alles eher flüchtig, deshalb auch schon Wackelkontakte, was natürlich generell schlecht ist).

Durchgebrannte Versorgungsleitung auf der Platine

Aufgrund eines Flüchtigkeitsfehlers gab es auch direkt mal einen Kurzschluss in der Versorgungsleitung, der mal eben so die Hauptleitung auf der Platine hat durchbrennen lassen (da ist ein Strom mit mehreren Ampere geflossen, die Leitung auf der Platine hat natürlich den höchsten Widerstand und raucht ab). Zum Glück ist dabei nichts weiter kaputt gegangen, die Leitung konnte einfach überbrückt werden.

Des weiteren haben wir die Infrarot Wärmesensoren links und rechts befestigt sowie die Ultraschallsensoren und den Orientierungssensor auf den höchsten Punkt:

Fertiger Roboter

Auf dem Bild sieht man auch schon die neue Aufteilung des Displays und die Karte (auf dem Bild wird nur eine Beispielkarte angezeigt). Die Wände können schon einzeln abgerufen und geändert werden, natürlich auch auf dem Display dargestellt werden, der Roboter kann die Karte aber noch nicht autonom erstellen und damit umgehen, das kommt als nächstes.

Beispielkarte (Zahlen teilweise aufgrund großer Belichtungszeit der Kamera verschwommen)

Für weitere Fotos siehe Picasaweb.

Vorqualifikation Hannover: Zusammenfassung

Leider konnten wir unser Versprechen mit dem täglichen Posten nicht halten. Wir hatten abends entweder keine Lust oder keine Zeit mehr dazu. Tut uns leid! :( Hier aber nun die Zusammenfassung:

Roboter

Tag 1: Nachdem wir schon um ca. 10:00 Uhr in der Robotation Academy (wirklich tolle und passende Location) am Messegelände in Hannover angekommen sind, hatten wir schön viel Zeit, den Roboter bis ins Detail zu testen. Insgesamt sah es genau so aus, wie wir vermutet haben: Der Roboter fuhr perfekt durch das Labyrinth. Die Rampe hatte eine sehr flache Neigung (15°), sodass der Roboter zwar problemlos hoch kam, allerdings aufgrund der Gewichtsverteilung Probleme beim Herunterfahren hatte. Da auch unterschiedlich verteilte Gewichte keinen Erfolg brachten, haben wir uns dazu entschlossen, die Rampe hoch zu fahren, oben 360° drehen und rückwärts herunter zu fahren. Das war in Sachen Punktverlust kein Problem, da die Rampe einfach oben aufhörte und es keine höhere Etage gab.
Das haben wir bis 16:00 Uhr umgesetzt. Wir haben dazu den Beschleunigungssensor, der im Orientierungssensor verbaut ist, verwendet, indem wir eine Durchschnittsrechnung über 30cm Fahrweg gemacht haben. Das hat sehr zuverlässig funktioniert.
In der restlichen Zeit des Tages haben wir den Roboter einfach nur weiter getestet.

Roboter in Testparcours

Tag 2: Die ersten zwei von drei Wertungsläufen standen an. Es wurden am Ende die besten 2 aus 3 gewertet, zudem wurden noch Raumboni hinzugefügt, um es auch denen, die keine Opfererkennung haben, möglich zu machen. Wir hatten im ersten Wertungslauf 210 von 260 möglichen Punkten erreicht. Zur Erinnerung: Die Punktevergabe sah wie folgt aus:

  1. Raumboni: pro Raum 25 Punkte, Rampe 10 Punkte
  2. Opfererkennung: 20 Punkte
  3. Opferfalscherkennung: -10 Punkte
  4. Lack of Progress (Eingriff): -20 Punkte
  5. Startbonus: Wenn der Roboter am Ende an der Startfliese für 5sek anhält, bekommt er für jedes erkannte Opfer 10 Punkte
  6. Reliabilitybonus: Der Roboter bekommt für jedes erkannte Opfer 10 Punkte – Anzahl der LOPs * 15 Punkte.

Bei 5 Opfern in der Arena kommt man somit auf 1) 60 + 2) 5*20 – 3) 0 – 4) 0 + 5) 0 + 6) 50 = 210 Punkte. Wenn man jetzt noch zum Startfeld zurückkehren würde, würde man auch noch die restlichen 50 Punkte bekommen. Ein anderes Team, das wir auch noch vom letzten Jahr kannten, das auch bei der WM war, hat dazu einen ganz simplen Trick angewandt: Ein Entfernungssensor, der nach oben zeigte. Es gab nur eine Situation, in der eine bestimmte Entfernung länger angezeigt wird, und zwar, wenn der Roboter sich an der Startfliese, also genau unter der Rampe, befand. Einfach aber genial. Bis zum zweiten Wertungslauf haben wir das noch eingebaut, sodass wir im zweiten Wertungslauf die volle Punktzahl von 260 Punkten erreicht haben. Bis zum Ende des Tages haben wir am Roboter wieder Feineinstellungen vorgenommen und den PD-Regler zum Abstand halten zur Wand verbessert.

Tag 3: Nun stand der letze Wertungslauf an. Wir konnten am Roboter nichts mehr wirklich verbessern und haben einfach bis zum Wertungslauf nur getestet. In dem Parcours waren nun 300 Punkte möglich, von denen wir letztendlich aufgrund einer Fehlerkennung 290 Punkte erreichten.

Ergebis: Da an diesen Vorqualifikationen alle deutschen Rescue B Teams, die auch bei der WM waren, teilgenommen haben, gab es unter diesen drei Teams ein Kopf an Kopf Rennen. Da das hannoveraner Team extrem schnell war,  belegte es den 1. Platz. Das Magdeburger Team hatte genau so viele Punkte, war nicht ganz so schnell, weshalb sie den zweiten Platz belegten. Mit 10 Punkten Differenz belegten wir somit den 3. Platz. Ein sehr knappes Rennen, aber es hat Spaß gemacht und wir haben uns für die deutschen Meisterschaften in Magdeburg vom 26. – 28.04. qualifiziert.

Wir werden nun bis dahin den Roboter überarbeiten. Er wird dazu etwas größer werden, damit er problemlos die Rampe erklimmen kann. Der Roboter wird nur ca. 4 cm Platz auf jeder Seite haben, was mit einem verbesserten PD oder einfach nur P-Regler kein Problem sein sollte (das magdeburger Team hatte schließlich einen ähnlich breiten Roboter, genau so war es bei der WM auch). Des Weiteren sind wir sehr zuversichtlich, dass wir bis dahin eine Kartenerstellung und auch eine Navigation implementieren können. Aber mal sehen.