"Automatisches Einparken" M.Mergel, C.Koburg, U.Vogel

 

BILD 1 / Problemstellung / Systembeschreibung

- dieses Referat beschreibt ein Versuchsfahrzeug das mit Hilfe von U.S.

Sensoren und Videokameras eine a priori unbekannte Umgebung autonom erkundet,

nach Parklücken verschiedenster Typen sucht und selbständig in diese einparkt.

- folgende Unteraufgaben gliedern sich daran an :

* Umgebung in Erkundungsphase so präzise zu vermessen das Einparken auf

engstem raum möglich

* Parklückentyp erkennen

* Einparkstrategie für Parklücke wählen und realisieren

* in der Erkundungsphase Fahrkurve an unerwartete Gegebenheiten anpassen z.B.

Kollisionsvermeidung

- entwickelt von : Forschungsinstitut Darmstadt der Robert Bosch GmbH in Zusammenarbeit

 mit der Universität Amsterdam und weiterer Projektpartner		

- Beschreibung des Versuchsfahrzeuges und seiner Hardware :

* Länge: 1,50 m;

* Breite: 0,90 m;

* es gleicht in seinen kinematischen Eigenschaften einem PKW

* zwei angetriebene Hinterräder zwei gelenkte Vorderräder

* Bordrechner: 68030-System mit einem Echtzeitbetriebssystemkern VxWorks von

Wind River Systems

* U.S. Sensoren hoher Ortsauflösung zur Szenenvermessung

* U.S. Sensoren niedriger Ortsauflösung zur Hinderniserkennung

* 2 CCD-Kameras in Stereoanordnung – Bildverarbeitungssystem von Datacube

* stationärer Unix-Rechner (SUN3) nur zur Anzeige von Systemmeldungen und zur

Dateihaltung (drahtlose Ethernet-Verbindung)

BILD 2 / Systemarchitektur

unterste Ebene: Hardwaremodule die über verschiedenste Sensoren, Aktoren mit

der Umwelt in Verbindung stehen

darüberliegende Softwareebene: hier sind Softwaremodule in drei verschiedene

Gruppen zusammengefasst: * Verarbeitung und Interpretation der Videobilder

* Verarbeitung und Int.pret. der U.S.-Meßwerte

* Bewegungsplanung und Steuerung oberste Ebene: Software-Modul zur Steuerung des Ablaufs von Versuchsfahrten

Je höher ein Modul in der Hirarchie angesiedelt ist desto komplexer sind die Modellelemente die es zur Beschreibung der Fahrzeugumgebung verwendet.

BILD 2 / BILD 3 / Logische Sensoren: Ultrasonic Sensor Manager

zur Szenenvermessung : U.S.Sensoren von Polaroid

(Öffnungswinkel 20 Grad, Frequenz 50 kHZ, Reichweite 10m)

zur Hinderniserkennung : U.S.Sensoren von Bosch

(horizontaler Erfassungsbereich 120 Grad bis 1m, 60 Grad darüber,

Frequenz 36 kHZ, Reichweite 4m)

Der Ultrasonic Sensor Manager als Softwaremodul hat beide Sensorsysteme unter seiner Kontrolle und

stellt eine einheitliche Schnittstelle zu den anderen Softwaremodulen dar.

Darstellung der Meßwerte für die anderen Softwaremodule: BILD 3

* 2-dimensionales Modell in Form eines gleichschenkligen Dreiecks

* Winkel alpha ist der Öffnungswinkel des Sensors

* dieses Dreieck repräsentiert die gemessene Freifläche

* P0 P1 P2 werden dabei in Fahrzeugkoordinaten repräsentiert

BILD 2 / BILD 4 / BILD 5 Line Segment Extractor

- es ist eine große Anzahl von U.S. Meßwerten aufzunehmen damit auch

großflächige Objekte die Schräg zum Fahrzeug stehen erkannt werden

- Aufgabe des Line Segment Extractors: diese vielen Meßwerte zu kom-

plexeren Elementen zusammenfassen deren Anzahl klein genug für eine

Interpretation mit Hilfe von Szenenmodellen ist.

- L.S.E. rechnet die Sensordaten in Weltkoordinaten um und approximiert Gruppen

kollinearer Meßwerte durch Strecken

- BILD 4 : Zu Streckenapproximation werden die Meßwerte der Reihe nach einem

Algorithmus zugeführt, der 2 Regressionsgeraden für die Punkte p1, p2

der Meßwerte berechnet

	 Dies geschieht solange bis eine von definierten Abbruchbedingungen

	 erfüllt wurde, und eine neue Streckenapproximation beginnt.

	 Welche Gerade dann ausgwählt wird hängt von der Lage zum Fahrzeug	 ab. In der Regel ist es die weiter entfernte, da die näherliegende im

	 akkumulierten Freiraum der Dreicke liegt.

BILD 2 / Docking Spot Detector

- Aufgabe : Suche während der Fahrt nach ausreichend großen Parklücken

	 bestimmter Typen zur rechten Seite des Fahrzeuges.

- dieses Softwaremodul kennt rechteckförmige und dreieckförmige Parklücken

- Suche läuft in drei Schritten ab:

	* alle von Line-Seg.Extr. gefundenen Strecken werden in zwei Listen

eingeordnet, wobei in Liste 1 alle Strecken liegen deren zentraler

Abschnitt einer bestimmten Mindestlänge entspricht. In Liste 2 werden

alle anderen Strecken gepackt. Aus Liste 1 werden nun alle Strecken

herausgestrichen die aus der Sicht des Fahrzeuges ganz oder

	 teilweise von anderen Strecken der Liste 1 verdeckt werden.

Die verbleibenden Strecken in Liste 1 heißen Basisstrecken.

	* Nun werden in der Liste von Basisstrecken Strecken gesucht

	 die eine charackteristische Lage zueinander haben und den Parkluecken-

	 modellen entsprechen.

	 Beim 3-eckigen Modell müssen diese Strecken einen zum Fahrzeug hin

	 geöffneten fast rechtwinkligen Winkel einschließen. ( min. 2 Strecken )

	 Beim rechteckigen Modell müssen diese Strecken annähernd paralell zur

	 Fahrtrichtung liegen und eine von ihnen muß mindestens um Fahrzeugbreite

	 weiter weg vom Fahrzeug liegen als die anderen. ( min. 3 Strecken )

	* Im letzten Schritt wird geschaut ob Strecken aus Liste 2 ganz oder nur

	 teilweise im inneren des gefundenen Parklückenmodells liegen.

	 Wenn dies so ist wird das Modell so beschnitten, daß möglichst wenig

	 Platz im Parklückenmodell verlorengeht aber die im Modell gefundene

	 Strecke weg ist.

Bleibt nach diesen 3 Schritten ein ausreichend großes Parklückenmodell übrig so wird die einzunehmende Position berechnet und zusammen mit dem Modell vom Softwaremodul ausgegeben.

BILD 2 / Wall Sensor

- Aufgabe : dazu da um Abstand und Orientierung des Fahrzeuges in Bezug auf

	 eine ausgedehnte seitliche Begrenzung der Fahrbahn in einer Meß-

	 rate zu ermittel, die es gestattet die Fahrkurve an dieses Hindernis

	 anzupassen.

- 2 Betriebsarten :

Suchmodus: prüft während der Fahrt in einem spezifierten Bereich, ob sich in der

		Fahrzeugumgebung ein solches Objekt befindet – wenn ja gibt das

		Modul eine Meldung an den Action-Dispatcher.

Tracking-Modus : das Modul übernimmt in diesem Betriebsmodus die Steuerung

		 und schwenkt auf einen gewünschten Kurs zum Hindernis ein.

		 (Wandverfolgung!)

BILD 2 / Obstacle Detector

- Aufgabe : dazu da um während der Fahrt Hindernisse zu detektieren die nicht im

	 Modell der Fahrzeugumgebung liegen. (plötzliches Hinderniss ....)

	 Hat der Obstacle Detector ein solches Hinderniss lokalisiert, so gibt er

	 dessen Koordinaten in Fahrzeugkoordinatenrepräsentation an das

	 Modul Collision Avoidance, welches versucht ein Ausweichmanoever

	 einzuleiten und hinter dem Hinderniss wieder auf die geplante Fahrkurve

	 einzuschwenken.

BILD 2 / 3D Line Extraction

- Aufgabe : Szenenmerkmale der Fahrzeugumgebung aus Stereobildern mit einer

	 Taktrate zu ermitteln die eine sichtgestützte Bewegungssteuerung

	 ermöglichen.

- Szenenmerkmale sind Raumstrecken wie z.B. Kanten von Türen, Regalen,.....

- Die Digitalisierung der gewonnenen Bilder und die Algorithemen zur Extraktion

der Raumstrecken haben einen sehr hohen Rechenaufwand.

( in einem Bsp. ungefähr 30 sek / Auswertung eines Stereobildes)

- Mindesanforderung an das System sind aber 2 Bildauswertungen / sek

- Aufsatz geht daher hauptsächlich auf Tricks zur Beschleunigung ein wie z.B.

eingebaute Low-Level-Hardwareoperationen

BILD 2 / P/O-Estimator

- Aufgabe : ermittel die aktuelle Position und Orientierung des Fahrzeuges anhand

	 von Szenenmerkmalen die durch eine Liste von Raumstrecken des

	 Moduls 3D Line Extraction dargestellt werden.

BILD 6 / BILD 7 / Die Experimente

Modellbasiertes Einparken

Aufgabenstellung: * Erkennung und Vermessung unterschiedlicher Typen Parklücken

		 * Integration statischer Hindernisse ins Umgebunbgsmodell

		 * Auswahl einer geeigneten Einparkstrategie / Berechnung sowie

			 Realisierung der einparkkurve

zu diskutieren: anhand BILD 6

	* Sensorconfig.: 6 Sensoren als Fächer von insgesammt 135°

	* große Zahl von Meßdaten ca.: 1000

	* große Oberflächen erscheinen schon hier als Linie / Strecke

	* Säulen mit geringem Durchmesser erscheinen Sternartig

zu diskutieren: anhand BILD 7

* ungefähr 1000 Meßwerte aber nur 20-50 Strecken

* bei rechteckförmigen Parklücken wählt der Path Planner nach Möglichkeit

eine Einparkkurve die das Fahrzeug in einem Zug bei gleichbleibender

Geschwindigkeit meistern kann

Einparken mit Sensorunterstützung

Aufgabenstellung: * Einparken bei Situationen in denen die Modelle für Fahrzeug

			oder Umgebung unvollständig oder nicht präzise genug sind.

zu diskutieren: anhand BILD 8

	* Sensorconfig.: 3 bzw. 2 weitwinklige Sensoren an Front und Heck &

			 2 hochauflösende Sensoren arbeiten mit dem Obstacle

			 Detector zusammen zur Kollisionsvermeidung

	* hier sind die statischen Hindernisse 2 Rundsäulen von 8 cm Durchmesser

	* Hindernisse bewirkten einen Slalomkurs mit starken Richtungsänderungen

	 so daß die seitlichen Sensoren die Parklücke oben nicht rechtzeitig

	 erkannten

	* es zeigte sich also, daß die "richtige" Sensorconfig entscheidend für die

	 Stabilität der Ausweichmanöver und das Erkennen von Parklücken ist.

zu diskutieren: anhand BILD 9

	* in dieser Versuchsanordnung ist es nicht sinnvoll eine Fahrkurve vorzugeben

	 das Fahrzeug muß seinen weg mit Sensorunterstützung an die Umgebung

	 anpassen

	* die simmuliert eine Fahrt vorbei an einer Reihe von geparkten Fahrzeugen,

	 vorbei an Häusern, Bordsteinen....

	* Im Bereich der Parklücke wird der Tracking-Modus vom Action-Dispatcher

	 deaktiviert sonst würde das Fahrzeug versuchen vorwärts einzuparken.

	 Die Parklücke ist in diesem Fall zu kurz, so das das Fahrzeug seine

	 Erkundungsfahrt fortsetzte