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.