Blog

Chronik: Orion (2011)

veröffentlicht am 24.02.2017 von Team GalaXIs

Im vierten Beitrag unserer Chronik-Reihe haben wir wieder eine Podiumsplatzierung: Orion hat beim Carolo Cup 2011 den zweiten Platz belegt.

Der Cup 2011

Es ist wieder so weit, ein neues CaroloCup-Auto vom Team GalaXIs ist aus der Taufe gehoben: Orion, benannt wie auch schon seine Vorgänger nach den Armen der Milchstraße. Erste Skizzen machen deutlich, was geplant ist: Weg vom fahrenden Netbook hin zum Slim-Design!
Das Ergebnis kann sich sehen lassen. Zwar hat der CarreraGT einen leichten Touch in Richtung Cayenne, aber agressiv und schnell siehts trotzdem aus! Jetzt gilt es beim Cup die Erwarungen des Teams auch zu erfüllen.


Technische Daten

Antrieb: Allrad
Ø-Geschwindigkeit ohne Hindernisse (ohne Fehler): 7,1 km/h
Ø-Geschwindigkeit mit Hindernissen (ohne Fehler): 2,16 km/h
Einparkdauer (inkl. Anfahren der längsten Lücke): 6,3 s
Höchstgeschwindigkeit: 12 km/h
Wendekreis: 1m

Rechenleistung Blackfin BF537: ca. 500 MHz (2 Stück)
Verarbeitete Bilder: 66-70 pro Sekunde sowie 20-22 fps
Bildformat: 160x120 @ 8bit Graustufen sowie 320x240 @ 8bit

Sensoren: Ultraschall, Infrarot, Beschleunigung, Gierrate, Rotationsencoder, Hallsensor

Anforderungen

Die Aufgaben, die das Fahrzeug autonom erfüllen muss, sind wieder sehr ähnlich zu den vorherigen Jahren. Hauptsächlich sind drei Aufgaben zu bewältigen:

  1. Autonomes Fahren auf meiner markierten Fahrbahn, wobei alle drei Markierungen auf bis zu einem Meter unterbrochen sein können.
  2. Autonomes Fahren und dabei statischen und dynamischen Hindernissen ausweichen und an Kreuzungen halten. Außerdem muss an Kreuzungen Vorfahrt gewährt werden.
  3. Paralleles Einparken auf der rechten Fahrbahnseite.

Der Rundkurs mit Hindernissen ist die mit Abstand komplizierteste und aufwendigste Aufgabe, auf die sich unser Team besonders fixiert hat. Doch auch die Durchschnittsgeschwindigkeit zu steigern und das Fahrverhalten auf der Geraden zu stabilisieren waren prioritäre Ziele. Die eigentlichen Regeln haben sich nur marginal geändert.

Evolution

Primär ist Orion eine Weiterentwicklung des Modells des letzten Jahres. Wir haben aus den Fehlern seines Vorgängers Sagittarius gelernt und dementsprechend versucht diese Schwachpunkte zu eliminieren. Das Chassis, ein hochwertiges TF-5 von Kyosho, wurde weiterverwendet und gewissermaßen recycelt um Probleme bei der Straßenlage zu vermeiden. Der Zwei-Kamera-Ansatz, der letztes Jahr verworfen wurde, wurde dieses mal jedoch realisiert. Hauptgrund für diesen Schritt war die Reglementierung der Bauhöhe. Somit haben wir ein leistungsfähiges Kameramodul mit Weitwinkelobjektiv sowie eins ohne Weitwinkelvorsatz verbaut. Bei beiden Kameramodulen handelt es sich um dein OV7725 mit direkt angebundenen Blackfin BF537 (je 500MHz, 64kB RAM, 32MB Flash). Die unzureichende optische Wegmessung aus den Vorjahren wurde durch eine leistungsfähigere magnetische Lösung ersetzt, zudem ist eine Wegmessung per zweifacher Integration der vom neu verbauten Beschleunigungssensors gemessenen Längsbeschleunigung möglich. Verlässliche Sensoren wie die Ultraschall- und Infrarotsensoren sind wieder installiert. Der unzuverlässige Kompass wurde durch einen Gierratensensor ersetzt. Dieser ermöglicht außer der Messung der Orientierung des Wagens auf der Strecke zudem in Verbindung von Querbeschleunigung und Fahrzeuggeschwindigkeit eine Validierung von Kurvenradien und eine Überprüfung bezüglich der Umsetzung des Lenksignals. Die Sensorauswertung sowie die Steueraufgaben übernimmt ein eigens gestaltetes und geätztes Board mit ATmegas.

Software

Wie jedes Jahr verfolgen wir die Techniken des Extreme-Programmings, um schnell eine leistungsfähiges Modellfahrzeug zu konstruieren und programmieren. Unsere Erfahrung hat uns deutlich gezeigt, dass wichtiger Code von mindestens zwei Teammitgliedern gleichzeitig programmiert werden sollte. Eine radiale Entzerrung des Bildes ist diesmal der erste Schritt des Algorithmus, da wir ein Weitwinkelobjektiv verwendet haben, um das Sichtfeld des Fahrzeugs zu vergrößern. Danach folgt die Verwendung einer Homographie, die den Pixeln Realkoordinaten zuordnet. Linien- und Objekterkennung erfolgt durch intelligente Kantenextraktion mit einem Prewitt-Operator. Per CAN werden zudem erkannte Streckeninformationen aus der Kamera mit normalem Objektiv weitergeleitet. Die Strecke wird dann aus den zwei Teilbildern zusammengesetzt. Schon vorher bei der Extraktion werden Plausibilitätskontrollen durchgeführt, um Kanten als Linien und Objekte zu verifizieren. Anschließend folgt eine eigens entwickelte Szenarioanalyse. Das Auto überprüft mögliche Kombinationen von Spurmarkierungen auf ihre Wahrscheinlichkeit im aktuellen Bild. Anschließend wird die errechnete Sollposition des Fahrzeugs durch einen PID-Regler angesteuert. Der Algorithmus ist weitgehend weltvergesslich, er bewertet also jedes einzelne Bild völlig eigenständig und erinnert sich nicht an die Vergangenheit. Auch wenn dies Einschränkungen in der Plausibilitätskontrolle mit sich bringt, hat sich gezeigt dass diese Herangehensweise unter den Bedingungen des Wettbewerbs hinreichend ist. Vorteile sind die leichtere Wartbarkeit und ein deterministischeres Verhalten. Außerdem sind eventuelle Fehlentscheidungen nicht von Relevanz, da sie das Fahrzeug nur für einen Frame (17ms) beeinflussen. Um jedoch nicht immer von der Kameraerkennung abhängig zu sein wurde versucht eine Karte der anfangs unbekannten Strecke im Fahrzeug zu interlegen. Dies könnte insbesondere beim ersten Task, dem autonomen Fahren ohne Hindernisse, von Vorteil sein. Dynamische Hindernisse in Task zwei hingegen erfordern weiterhin eine Streckenerkennung und -überwachung.

Impressionen




Weitere Videos auf dem offiziellen Kanal des Carolo Cup's 2011


Einparktest Carolo Cup 2017

veröffentlicht am 12.02.2017 von Team GalaXIs

Der Einparktest kurz vor dem Carolo Cup 2017 zeigt unsere einzigartige Einparkstrategie, die sowohl die lenkbare Vorderachse als auch die lenkbare Hinterachse nutzt, um das Fahrzeug vorwärts in eine Parklücke zu manövrieren.

Dabei wird von der 3D Kamera überprüft, ob eine Parklücke groß genug ist und ob sie ggf. durch ein Hindernis versperrt ist.

Chronik: Sagittarius (2010)

veröffentlicht am 20.01.2017 von Team GalaXIs

In dem dritten Eintrag unserer Chronik-Reihe haben wir wieder einen Gewinner zu präsentieren. Sagittarius, der beim Carolo-Cup 2010 den ersten Platz belegen konnte.

Impressionen vom Carolo-Cup 2010

Nachdem der Twitter zum Cup 2009 so gut angenommen wurde, haben wir auch 2010 wieder live berichtet: Team GalaXIs - 2010 auf Twitter. Wieder einmal war das Klima unter den Teams beim Cup sehr gut. Neben unseren alten Freund-Konkurrenten vom Team CDLC aus Braunschweig hatten wir besonders auch mit Team Spatzenhirn aus Ulm, Team TUM Phoenix aus München und Team S.A.D.I. aus Zwickau viel Spaß.


Technische Daten

Antrieb: Allrad
?-Geschwindigkeit ohne Hindernisse (ohne Fehler): ca. 2,2m/s
?-Geschwindigkeit mit Hindernissen (ohne Fehler): ca. 1,1m/s

Rechenleistung Blackfin BF537: ca. 500 MHz
Verarbeitete Bilder: 60 pro Sekunde
Bildformat: 160x120 @ 8bit Graustufen

Anforderungen

Die Aufgaben, die das Fahrzeug autonom erfüllen muss, sind wieder sehr ähnlich zu den vorherigen Jahren. Hauptsächlich sind drei Aufgaben zu bewältigen:

  1. Autonomes Fahren auf meiner markierten Fahrbahn, wobei alle drei Markierungen auf bis zu einem Meter unterbrochen sein können.
  2. Autonomes Fahren und dabei statischen und dynamischen Hindernissen ausweichen und an Kreuzungen halten. Außerdem muss an Kreuzungen Vorfahrt gewährt werden.
  3. Paralleles Einparken auf der rechten Fahrbahnseite.

Unser Hauptaugenmerk lag deutlich auf der zweiten Aufgabe, dem Rundkurs mit Hindernissen. Dies ist die mit Abstand komplizierteste und aufwendigste Aufgabe.

Aus Fehlern gelernt

Das Wichtigste an Sagittarius ist, dass wir bei seiner Konstruktion aus den Fehlern seines Vorgängers Scutum-Crux gelernt haben. Das Chassis ist ein hochwertiges TF-5 von Kyosho, um Probleme bei der Straßenlage zu vermeiden. Der Zwei-Kamera-Ansatz wurde verworfen und stattdessen ein leistungsfähigeres Kameramodul mit Weitwinkelobjektiv verbaut: Das OV7725 Kameramodul mit einem direkt angebundenen Blackfin BF537 (500MHz, 64kB RAM, 32MB Flash). Die unzureichende optische Wegmessung aus den Vorjahren wurde durch eine lei­stungs­fähigere ma­gnetische Lö­sung er­setzt. Ver­lässliche Sen­soren wie unser Kom­pass und die Ultra­schall- und Infra­rot­sen­soren sind wieder in­stalliert. Sen­sor­aus­wertung und Steuer­aufgaben über­nimmt ein eigens ge­staltetes und ge­ätztes Board mit ATmegas.


Software

Wie jedes Jahr verfolgen wir die Techniken des Extreme-Programmings, um schnell eine leistungsfähiges Modellfahrzeug zu konstruieren und programmieren. Unsere Erfahrung hat uns deutlich gezeigt, dass wichtiger Code von mindestens zwei Teammitgliedern gleichzeitig programmiert werden sollte.
Eine radiale Entzerrung des Bildes ist diesmal der erste Schritt des Algorithmus, da wir ein Weitwinkelobjektiv verwendet haben, um das Sichtfeld des Fahrzeugs zu vergrößern. Danach folgt die Verwendung einer Homographie, die den Pixeln Realkoordinaten zuordnet. Linien- und Objekterkennung erfolgt durch intelligente Kantenextraktion mit einem Prewitt-Operator. Sofort bei der Extraktion werden Plausibilitätskontrollen durchgeführt, um Kanten als Linien und Objekte zu verifizieren. Anschließend folgt eine eigens entwickelte Szenarioanalyse. Das Auto überprüft mögliche Kombinationen von Spurmarkierungen auf ihre Wahrscheinlichkeit im aktuellen Bild. Anschließend wird die errechnete Sollposition des Fahrzeugs durch einen PID-Regler angesteuert.
Der Algorithmus ist weitgehend weltvergesslich, er bewertet also jedes einzelne Bild völlig eigenständig und erinnert sich nicht an die Vergangenheit. Auch wenn dies Einschränkungen in der Plausibilitätskontrolle mit sich bringt, hat sich gezeigt dass diese Herangehensweise unter den Bedingungen des Wettbewerbs hinreichend ist. Vorteile sind die leichtere Wartbarkeit und ein deterministischeres Verhalten. Außerdem sind eventuelle Fehlentscheidungen nicht von Relevanz, da sie das Fahrzeug nur für einen Frame (17ms) beeinflussen.

Lines of Code: (Delta zu 2009 / 2008)
Gesamt: 15057 (+50% / +100%)
Code: 10336 (+57% / +93%)
Kommentar: 4721 (+36% / + 117%)