"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
* r stellt die Entfernung dar die der Sensor selbst zurückgegeben hat
* Ul.So.Se.Ma. gibt diesem Meßwert in Form des 3-ecks noch die Fahr- zeugkoordinaten und Orientierung zum Zeitpunkt der Messung mit um eine Transformation ins Weltkoordinatensystem zu ermöglichen
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 5 : Start- und Endpunkt einer Strecke werden bestimmt, indem die gefun- 	 dene Gerade geometrisch mit dem ersten und letzten Meßwert und
dessen Vorgänger bzw. Nachfolger in Beziehung gesetzt wird.
Dabei wird die Freiraum-Eigenschaft der Meßwerte berücksichtigt.
Jede Strecke wird bei diesem Verfahren in einen zentralen Bereich und
zwei Randzonen aufgeteilt. In Randzonen erstreckt sich die Strecke
möglicherweise aber nicht unbedingt.
Schließlich wird eine Strecke als punktförmig klassifiziert, wenn sich erste
und letzte beteiligte Messung überlappen Zeichen für geringe
Ausdehnung
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