Ein Hindernisvermeidungssystem für ein Autonomes

Transcrição

Ein Hindernisvermeidungssystem für ein Autonomes
at 11/2004
ANWENDUNGEN
Ein Hindernisvermeidungssystem
für ein Autonomes Unterwasserfahrzeug
An Obstacle Avoidance System for an Autonomous Underwater Vehicle
Mike Eichhorn
In diesem Artikel wird ein System zum Ausweichen von Hindernissen für das autonome
Unterwasserfahrzeug DeepC vorgestellt. Bei Auswahl und Entwicklung der eingesetzten
Strategien wurden die besonderen Anforderungen in der Unterwasserwelt und die im Fahrzeug zur Verfügung stehende Rechenleistung und Sensorik sowie dessen Manövrierfähigkeit
berücksichtigt. Anforderungen in der Unterwasserwelt sind die Einbeziehung der Strömungsinformation, die Berücksichtigung von bewegten Objekten, ein Ausweichen im 3-D Raum
sowie ein begrenzter Auffassbereich durch das Sonar.
This paper describes an Obstacle Avoidance System for an Autonomous Underwater Vehicle. The specific requirements of the underwater world, the computational capacity and the
sensors of the vehicle as well as its manoeuvrability was considered by the choice and the
development of strategies used. Such requirements include the sea current information, the
consideration of moving objects, the evasion in 3D and the constrained view of sonar.
Schlagwörter: Autonomes Unterwasserfahrzeug, geometrischer Graph, Hindernisvermeidung, Wegeplanung
Keywords: Autonomous underwater vehicle, geometric graph, obstacle avoidance, path
planning
1 Einführung
Tabelle 1: Leistungsparameter des Fahrzeuges.
1.1 Forschungsprojekt ,,DeepC“
Parameter
Bei dem Forschungsprojekt ,,DeepC“ arbeitet ein interdisziplinäres Konsortium, bestehend aus deutschen Firmen und
Forschungseinrichtungen, mit Unterstützung des Bundesministeriums für Forschung und Entwicklung an der Entwicklung eines autonomen Unterwasserfahrzeuges [2; 3]. Dieses
Unterwasserfahrzeug soll in der Lage sein, selbstständig
eine vorgegebene Mission durchzuführen und bei unvorhergesehenen Situationen (auftauchende Hindernisse, Ausfall
von Baugruppen) eigenständig zu handeln. Das Fahrzeug
wird durch die Leistungsparameter nach Tabelle 1 spezifiziert. Realisiert werden diese Eigenschaften u. a. durch
die folgenden technischen Details (vergleiche die schematische Darstellung des Fahrzeuges mit seinen wichtigsten
Antriebs- und Manövriereinrichtungen in Bild 1):
Abmaße des Fahrzeuges
Gewicht des Fahrzeuges
Missionstiefe
Marschgeschwindigkeit
Maximale Geschwindigkeit
Einsatzdauer
Nutzlast
Energiegewinnung
Wert
Länge 5800 mm
Breite 2300 mm
Höhe 1700 mm
2,4 t
4000 m
4 kn
6 kn
40 h
300 kg
Brennstoffzelle
• Separate Payload- und Fahrzeughülle
• Verwendung kohlefaserverstärkter Verbundstoffe (CFK)
für die Druckkörper (2)
• Redundanter Aufbau aller wichtigen Systeme und getrennte Unterbringung in den einzelnen Fahrzeugkörpern (1)
• Einsatz von Polymerelektrolytmembran-Brennstoffzellen
(PEM-FC)
• Austauschbarer Payloadcontainer (5).
514
at – Automatisierungstechnik 52 (2004) 11  Oldenbourg Verlag
M. Eichhorn: Ein Hindernisvermeidungssystem für ein Autonomes Unterwasserfahrzeug
at 11/2004
-geschwindigkeit an den Autopiloten übergeben. Dies ist
vergleichbar mit der vollautomatischen Führung eines Passagierflugzeuges durch einen Flugmanagementrechner.
Das Softwaremodul Objekterkennung detektiert aus den
Rohdaten des Sonarsystems Objekte in Form von elliptischen Zylindern. Tangieren solche Objekte die Sollbahn des
Fahrzeuges, muss in dieser Sondersituation die automatische Führung durch andere Algorithmen abgelöst werden,
die die Fahrzeugführung übernehmen. Diese Algorithmen
sind Komponenten des Hindernisvermeidungssystems, welches in den nachfolgenden Kapiteln vorgestellt wird. Das
Hindernisvermeidungssystem ist ein Bestandteil des Softwaremoduls ,,Fahrzeugführung in Sondersituationen“ (FIS)
(im Bild 2 grau hinterlegt).
Bild 1: Strukturbild des AUV’s DeepC.
Seine guten Positionier- und Manövriereigenschaften im
Stand und bei kleineren Geschwindigkeiten erhält es durch
die senkrecht und waagerecht eingesetzten Truster (3). Bei
höheren Geschwindigkeiten erfolgt die Steuerung des Fahrzeuges in einer Kombination von Rudereinheiten (4), Trustern (3) und Drehzahldifferenzen der Hauptantriebe (6).
1.2 Steuerungsstruktur des Fahrzeuges
Die Führungshierarchie des Fahrzeuges ist in einer Mehrebenenstruktur [4] aufgebaut (siehe Bild 2). Im Normalfall arbeitet das Fahrzeug einen Missionsplan ab. Dieser Plan enthält Positionswerte und geometrische Daten
zur Beschreibung von Basismanövern, welche das Fahrzeug in einer vorgegebenen Reihenfolge abzufahren hat.
Dabei werden definierte Vorgaben zur Führung des Fahrzeuges in Form von Sollkurs, -tiefe, -bahn, -lage und
Eine weitere Sondersituation besteht in der Identifikation
von unbekannten Objekten während einer Mission. Eine
Identifikation kann eine visuelle oder kartographische Erfassung des Objektes und/oder eine Bestimmung seiner
physikalischen/chemischen Eigenschaften beinhalten. Die
Steuerung des Fahrzeuges wird hierbei durch Algorithmen
zur Positionierung und Führung des Fahrzeuges, welche
Bestandteil des Softwaremoduls FIS sind, übernommen.
Um bei dem eingangs beschriebenen Vergleich zu bleiben,
wären diese beiden Sondersituationen (Hindernisvermeidung, Identifikation) in Analogie zur manuellen Führung
eines Flugzeuges durch den Kapitän zu sehen.
1.3 Struktur des Hindernisvermeidungssystems
Die Hindernisinformationen werden vom Softwaremodul
Objekterkennung in Form von elliptischen Zylindern an
das Softwaremodul FIS übergeben (Bild 3). Diese Form
Bild 2: Steuerungsstruktur des Fahrzeuges.
515
at 11/2004
ANWENDUNGEN
Bild 3: Struktur des Softwaremoduls FIS.
lässt sich leicht aus den Rohdaten des Sonars generieren und charakterisiert durch wenige geometrische Abmaße
(Hauptachse, Nebenachse und Rotationswinkel der Ellipse,
Höhe des Zylinders) eine Vielzahl von praktischen Hindernisstrukturen. Die Zielpunktgenerierung berechnet während
einer Ausweichsituation, unter Verwendung des aktuellen
Missionsplanes und der detektierten Objekte, einen Rendezvouspunkt mit der Sollroute des Missionsplanes, welcher für das Hindernisvermeidungssystem den anzufahrenden Zielpunkt darstellt.
Für das Hindernisvermeidungssystem des Fahrzeuges
wurde eine Zweiebenen-Struktur favorisiert (im Bild 3 dunkelgrau hinterlegt). Die obere Ebene verwendet zusätzlich
zu den aktuellen Informationen des Sonars die gesammelten Hindernisdaten der bisherigen Mission sowie die Daten
einer digitalen Seekarte. Mit diesen Informationen findet
eine Wegeplanung auf der Basis geometrischer Graphen
statt. Die Verfahren hierzu ermöglichen es, einen optimalen
Weg nach definierten Vorgaben in einer kalkulierbaren Zeit
zu ermitteln. Einen Überblick über die bei der Wegeplanung
eingesetzten Verfahren gibt Kapitel 2.
Treten beim Abfahren des generierten Weges unvorhersehbare, plötzlich auftauchende Hindernisse auf, übergibt
die Kollisionsüberwachung die Steuerung an die untere
Ebene, die Reaktive Ausweichsteuerung. Die Reaktive Ausweichsteuerung reagiert auf die im Nahbereich des Sonars aufgefassten Hindernisse durch entsprechende reaktive
Steuerkommandos, wodurch ein wegoptimales Umfahren
nicht immer möglich ist. Eine solche Forderung hat hier
aber nicht die oberste Priorität. Aufgabe ist ein sicheres
und schnelles Ausweichen zur Vermeidung einer Kollisionssituation. In der Aktivierungszeit der Ebene Reaktive
Ausweichsteuerung kann in der Ebene Wegeplanung der
Routenplan unter Verwendung der neuen Objektinformatio-
516
nen modifiziert bzw. neu erstellt werden. Das Ausweichen
mit der Reaktiven Ausweichsteuerung erfolgt nur in der
x-y Ebene. Dies ist durch den begrenzten Nicklagewinkel
des Fahrzeuges infolge seiner konstruktiven Gegebenheiten
und die gute Manövrierfähigkeit in der horizontalen Ebene
begründet. Eine detaillierte Beschreibung der in der Reaktiven Ausweichsteuerung eingesetzten Algorithmen vermittelt
Kapitel 3.
Bild 4 stellt generierte Fahrtrouten bei Verwendung der
Wegeplanung und der Reaktiven Ausweichsteuerung am
Beispiel eines möglichen Hindernisparcours bei gegebenem Start- und Zielpunkt gegenüber. Hier ist deutlich das
reaktive (,,lokale“) Verhalten der Reaktiven Ausweichsteuerung und das ,,vorausschauende“ (,,globale“) Verhalten
der Wegeplanung an Punkt A zu erkennen. Die Wegeplanung nutzt alle Objektinformationen zur Generierung einer
Route, wogegen die Reaktive Ausweichsteuerung nur die
im Nahbereich vorhandenen Objekte zur Generierung der
Sollkommandos verwendet.
Bild 4: Fahrtrouten bei Verwendung der einzelnen Ebenen.
M. Eichhorn: Ein Hindernisvermeidungssystem für ein Autonomes Unterwasserfahrzeug
at 11/2004
2 Wegeplanung
Bei der Wegeplanung werden die gesamten Informationen
über das aktuelle Operationsgebiet zur Generierung eines
Routenplanes verwendet. Das sind neben den aktuellen Informationen des Sonars, die ,,gesammelten“ Hindernisdaten
der bisherigen Mission sowie die Daten einer digitalen
Seekarte. Ein solcher Routenplan wird auf Basis von Graphen ermittelt. Dabei werden Punkte (Knoten) im Operationsgebiet definiert, welche durch das Fahrzeug befahrbar
sind. Die befahrbaren Verbindungen zwischen diesen Punkten werden als Kanten in den Graphen eingetragen. Jede
Kante besitzt eine Bewertung (Kosten, Gewicht), welche
die Länge der Verbindung, die entstehenden Kosten beim
Abfahren der Verbindung oder die dafür benötigte Zeit sein
kann (siehe Bild 5).
Nach Generierung eines solchen Graphen wird ein Weg
(Routenplan) vom Anfangsknoten (Startpunkt) zum Endknoten (Zielpunkt) mit den geringsten Gesamtkosten durch
Suchalgorithmen (Dijkstra-[5], A∗ -[6], D∗ -Algorithmus [7])
ermittelt. Sie durchsuchen den Graphen, um eine Kombination von Kanten zu ermitteln, welche den Startknoten
und den Endknoten mit der geringsten Summe an Kosten verbinden. In den nächsten beiden Abschnitten werden
die Arbeitsschritte zur Generierung eines Graphen (Erzeugung der Kanten und Knoten unter Echtzeitanforderungen:
Abschnitt 2.1, ein neuartiges Verfahren zur Bestimmung
der Kosten unter Einbeziehung der Strömungsinformation:
Abschnitt 2.2) beschrieben.
Bild 6: Sichtbarkeitsgraph.
(Kreis, Ellipse) werden durch eine Polygonform nachgebildet, welche das Hindernis vollständig einschließt. Alle
möglichen Linien zwischen den Knoten, die keine Hindernisse schneiden, werden zu Kanten des Graphen. Bild 6
zeigt einen so generierten Graphen mit der im Projekt verwendeten elliptischen Hindernisform.
2.1.2 Quadtree- / Octreegraph
Bei diesem Verfahren wird das Operationsgebiet in quadratische (2D-Raum) bzw. kubische (3D-Raum) Sektoren
unterteilt. In Abhängigkeit von darin vorhandenen Hindernissen können sie den Zustand ,,frei“, ,,belegt“ oder
,,teilweise belegt“ besitzen. Teilweise belegte Sektoren werden rekursiv weiter geteilt, bis eine maximale Teilungstiefe
bzw. eine minimale Sektorgröße erreicht wurde. Als ,,frei“
oder ,,belegt“ klassifizierte Sektoren werden nicht weiter
geteilt. So findet eine systematische Zerlegung des Operationsgebietes, analog der Verästelung eines Baumes, statt.
Nach Erzeugung aller Sektoren wird der Graph aufgebaut.
Dazu bilden die Mittelpunkte aller hindernisfreien Sektoren
Bild 5: Geometrischer Graph.
2.1 Darstellungsmöglichkeiten der Umwelt in
einem Graphen
In diesem Abschnitt werden zwei Methoden zur Erzeugung eines geometrischen Graphen (Sichtbarkeitsgraph,
Quadtree- / Octreegraph) vorgestellt. Die Auswahl dieser
Methoden erfolgte auf Grundlage der vorgegebenen Hindernisform (elliptischer Zylinder) und der Forderung nach
einer echtzeitfähigen Abarbeitung der Algorithmen unter
den gegebenen rechentechnischen Restriktionen des Fahrzeuges.
2.1.1 Sichtbarkeitsgraph
Beim Sichtbarkeitsgraphen bilden die Ecken der Hindernisse die Knoten des Graphen [8]. Hindernisse ohne Ecken
Bild 7: Quadtreegraph.
517
ANWENDUNGEN
at 11/2004
die Knoten des Graphen. Die Kanten sind die Verbindungen zwischen benachbarten hindernisfreien Sektoren (siehe
Bild 7).
2.2 Bestimmung des Kostenwertes
Um die Strömungsinformation mit in die Bewertung der
Kante einfließen zu lassen, wird als Kriterium die benötigte
Zeit tBahn zum Abfahren der Kante verwendet. Diese Zeit
bestimmt sich für die i-te Kante durch Bildung des Quotienten aus der Weglänge sBahn und der Geschwindigkeit
vBahn_ef , welche das Fahrzeug auf diesem Wegabschnitt gegenüber einem erdfesten Koordinatensystem fährt. Es gilt:
i
tBahn
=
i
sBahn
.
i
vBahn_ef
(1)
Diese Geschwindigkeit vBahn_ef ist abhängig von der Fahrzeuggeschwindigkeit durchs Wasser vFahr_kf (Marschgeschwindigkeit), dem Betrag und der Richtung des Strömungsvektors vStrömung sowie der Richtung des Wegabschnittes xBahn_dir . Sie kann durch eine geometrische
Schnittberechnung zwischen einer Linie und einem Kreis
(2D) bzw. Kugel (3D) [9] auf der Basis von Bild 8 nach den
folgenden Beziehungen ermittelt werden:
Linie: x vBahn_ef = vBahn_ef xunit
Bahn_dir (2)
2
Kreis/Kugel : v2
= x − vStrömung Fahr_kf
2
T
disc = xunit
·
v
Strömung
Bahn_dir
Fahrzeug in eine starke Gegenströmung gerät und dadurch
die Sollroute verlässt. Bei Verwendung der oben beschriebenen Kostenfunktion ist es auch möglich, bei komplexen
Strömungsprofilen einen zeitoptimalen Weg zu ermitteln.
Dies soll am nachfolgenden Beispiel erläutert werden.
Die Aufgabe besteht in der Ermittlung eines zeitoptimalen
Weges bei der Durchquerung eines Flusslaufes, welcher das
nachfolgende Strömungsprofil besitzt:
x
vStrömung
= 0,0
4
0
x (b − x) vStrömung
(4)
b2
m
0
mit b = 300 m vStrömung
= 1,8 .
s
Bild 9 zeigt die ermittelten Wegverläufe bei Verwendung
der Graphenmethode sowie die korrekte zeitoptimale Lösung durch Optimale Steuerung [10; 11]. Beide Wegverläufe besitzen ähnliche Profile, welche durch jeden
Schwimmer, der einen Fluss mit starker Strömung durchschwommen hat, bestätigt werden. Zuerst schwimmt man
gegen die Strömung, um sich dann in der Mitte des Flusses treiben zu lassen und in Richtung des andern Ufers zu
schwimmen.
y
vStrömung =
+ v2Fahr_kf − vStrömung T · vStrömung
für disc > 0 :
√
T
v Bahn_ef = xunit
Bahn_dir · vStrömung + disc .
Bild 9: Wegplanung mit Strömung.
(3)
Wird die Diskriminante disc negativ, bedeutet dies, dass
das Fahrzeug nicht mehr auf dem Wegabschnitt gehalten werden kann. Ist die Geschwindigkeit v Bahn_ef negativ,
hält sich das Fahrzeug noch auf dem Wegabschnitt, fährt
aber rückwärts. Beide Fälle müssen durch Setzen eines
großen Zahlenwertes für das Kantengewicht Berücksichtigung finden. So werden solche Wegabschnitte bei der
Suche ausgeschlossen, und es kommt nicht dazu, dass ein
Der Graph wurde bei dieser Aufgabe durch ein Gitternetz
aus Knoten aufgebaut. Eine feinere Diskretisierung dieses
Netzes würde zu einer weiteren Annäherung an die exakte
Lösung führen.
2.3 Praktische Umsetzung und Tests
Die durchgeführten Tests erfolgten auf einem Pentium III
450 MHz Desktop. Dieser Rechner entspricht hinsichtlich
seiner Rechenleistung der im Fahrzeug eingesetzten Recheneinheit eines Single Board Computers des Typs VP7
mit einem Pentium III Prozessor 450 MHz der Firma SBS
Technologies [12].
Bild 8: Definition der Geschwindigkeitsvektoren.
518
Für die Tests wurde ein Hindernisparcours mit den Abmaßen von 170 m Länge, 84 m Breite und 50 m Höhe
M. Eichhorn: Ein Hindernisvermeidungssystem für ein Autonomes Unterwasserfahrzeug
definiert. Innerhalb dieses Operationsgebietes wurden Hindernisse nach dem in Bild 10 angegebenen Schema platziert.
Die Konturen in Bild 10 entsprechen den um einen Sicherheitsbereich vergrößerten Hindernissen. Allerdings sind
Test 15 und Test 20 durch das begrenzte Auffassvermögen
eines Sonars nicht praxisrelevant. Diese beiden Tests sollen
nur die Leistungsfähigkeit der Algorithmen überprüfen.
at 11/2004
Tabelle 2: Testfälle im Hindernisparcours.
Test
Anzahl
der Hindernisse
Hindernisnummern
Test 5
5
1-5
Test 10
10
1-10
Test 15
15
1-15
Test 20
20
1-20
Die Testreihen wurden für den 2D-und 3D-Raum durchgeführt. Bei den 2D-Tests wurden die Hindernisse auf die
x-y Ebene projektiert. Die bei den Tests erstellten Graphen
beinhalten die in Abschnitt 3.1 dieses Kapitels vorgestellte
Kostenfunktion. Dies führt zur Generierung eines gerichteten Graphen, da jede Kante in Abhängigkeit der Fahrtrichtung einen eigenen Kostenwert beinhaltet.
Für die Pfadsuche wurde die Boost Graph Library [13; 14]
eingesetzt. Sie beinhaltet eine Bibliothek mit fertigen Datenstrukturen für Graphen und Suchalgorithmen und unterstützt eine Vielzahl von C++ Compilern. Als Wegsuchalgorithmus kam das Dijkstra-Verfahren zum Einsatz.
Des Weiteren wurden für die Tests die Compiler Borland
C++ Builder Version 6.0 [15], Microsoft Visual C++
(Version 6.0) und Mircosoft Visual C++.NET (Version
7.0) [16] eingesetzt. Da im Projekt der Borland C++
Builder verwendet wird, stammen die in Bild 11 und 12
aufgeführten Rechenzeiten aus den Programmen, welche
mit diesem Compiler übersetzt wurden.
Der Vergleich von Bild 11 und 12 zeigt ein deutliches Anwachsen der Rechenzeit bei den 3D-Tests. Den größten
Zeitaufwand erfordert die Generierung des Graphen. Die
Zeit für die Wegsuche nimmt dabei einen verschwindend
kleinen Anteil ein. Der Rechenaufwand zur Generierung
eines Quadtree- / Octreegraphen liegt um das 3fache im
2D-Raum und um das 7fache im 3D-Raum höher als
beim Sichtbarkeitsgraphen. Dies ist durch die notwendige
minimale Sektorgrösse (1 m × 1 m × 6 m) und der damit
verbundenen zeitaufwändigen Generierung der Datenstrukturen für den 2D bzw. 3D-Baum [17] und des Graphen
begründet. Nur durch eine solch feine Diskretisierung können auch ,,freie“ Sektoren zwischen den Hindernissen
generiert werden.
Bild 11: 2D-Tests.
Bild 12: 3D-Tests.
Der Einsatz der Microsoft-Compiler brachte im Durchschnitt eine Senkung der Rechenzeit um 35%. Für das Projekt wurde der Sichtbarkeitsgraph favorisiert. Dies ist durch
seinen geringeren Rechenaufwand und durch die Form der
ermittelten Wege (vergleiche Bild 6 und Bild 7) begründet.
Es finden bei diesem Verfahren weniger Kursänderungen
als beim Octreegraphen während des Durchfahrens eines
Parcours statt.
3 Reaktive Ausweichsteuerung
Bild 10: Hindernisparcours.
Die Reaktive Ausweichsteuerung muss bei plötzlich auftauchenden Hindernissen die Wegeplanung ablösen und
519
at 11/2004
ANWENDUNGEN
die Fahrzeugführung übernehmen. Ein anderer Einsatzfall
ist bei Bereitstellung ,,ungenauer“ Objektdaten durch das
Modul Objekterkennung gegeben. Unter ungenau ist ein
stochastisches Variieren der Abmaße und der Lage der Objekte infolge der begrenzten Reichweite der AufklärungsSensorik (z. B. Forward Looking Sonar) sowie der entfernungsabhängigen Detektionsgüte zu verstehen. In solchen Fällen ist ein Ausweichverfahren gefordert, welches
eine hohe Robustheit gegenüber solchen Variationen besitzt. Diese Forderung wird durch die Reaktive Ausweichsteuerung erfüllt, da sie die Steuerkommandos (Sollkurs,
-geschwindigkeit) für den Autopiloten nur auf der Basis
der aktuellen Lage der Objekte zum Fahrzeug generiert.
Eine Wegeplanung, welche eine gewisse Konstanz der Objektdaten zwischen Erstellung und Abarbeitung des Planes
voraussetzt, wird nicht durchgeführt.
Die Idee des in diesem Kapitel vorgestellten neuen Verfahrens besteht in der Verwendung von Bahnlinien, welche
von jeder beliebigen Position des Operationsgebietes einen
Weg zum Zielpunkt aufzeigen. Der Sollkurs des Fahrzeuges wird durch Bildung des Bahnanstiegs (Gradienten G)
an der aktuellen Fahrzeugposition bestimmt. So kann das
Fahrzeug von seiner aktuellen Position aus die aktuelle
Bahnlinie bzw. ihren Gradienten verwenden, um vorbei an
den Hindernissen zum Zielpunkt geführt zu werden. Da für
die reaktive Ebene nur die x-y Ausdehnung der Hindernisobjekte berücksichtigt wird, soll in diesem Kapitel auch
nur der 2D-Raum behandelt werden. Es ist jedoch auch
möglich, das vorgestellte Verfahren für den 3D-Raum durch
entsprechende Modifikationen zu verwenden.
Das in diesem Kapitel beschriebene Verfahren basiert auf
den Arbeiten von [18; 19]. Es werden Gradientenlinien
durch künstliche harmonische Dipol-Potentiale erzeugt.
Durch die Verwendung solcher Dipol-Potentiale können
die negativen Eigenschaften der künstlichen Potentialfelder kompensiert werden. Solche Eigenschaften sind das
,,Festsetzen“ des Fahrzeuges in lokalen Minima, die oszillierende Bewegung in engen Durchfahrten sowie das
Sperren von möglichen Routen durch das resultierende abstoßende Kraftfeld am Eingang einer Durchfahrt [18].
negative Ladung im Zielpunkt wird zu –1 gewählt. Die positive Ladung des Hindernisses wird durch die Gleichung:
R
q=
(5)
R+ D
beschrieben. Dabei ist R der Radius des Hinderniskreises.
D beschreibt den Abstand zwischen den beiden Ladungen.
Durch Gleichung (5) wird garantiert, dass alle Gradientenlinien, welche innerhalb des Kreises beginnen, herausgeführt
werden und im Zielpunkt enden. Gradientenlinien, welche
außerhalb des Kreises beginnen, verlaufen ausschließlich
außerhalb des Kreises. Für die Beweisführung sei auf [18]
und [19] verwiesen.
Für die Ermittlung des resultierenden Gradienten G an der
aktuellen Fahrzeugposition sind die beiden Gradienten für
die positive und negative Ladung getrennt zu berechnen
und durch Superposition zusammenzufassen. Bild 13 zeigt
das so entstandene Potentialfeld mit den dazugehörigen
Gradientenlinien.
Da die Gradientenlinien das Hindernis tangieren können
(aber nicht schneiden), muss der Radius R des Kreises um
einen solchen Betrag vergrößert werden, welcher eine Kollision zwischen Fahrzeug und Objekt verhindert. Hier bietet
sich eine Vergrößerung mit der n-fachen maximalen Ausdehnung des Fahrzeuges an. Der so entstandene Kreis wird
auch als Sicherheitszone bezeichnet [18].
Befindet sich das Fahrzeug auf der dem Zielpunkt abgewandten Seite und fährt in der Nähe der Symmetrieachse
des Dipols, wird es erst kurz vor Erreichen des Hinderniskreises zum Umfahren des Hindernisses gebracht (siehe
Bild 13). Dabei sind starke Lenkkommandos notwendig,
um das Fahrzeug auf der vorgegebenen Gradientenlinie zu
halten. Des Weiteren entspricht die Form der Gradientenlinien in diesem Bereich und an den seitlichen Vorbeiführungen nicht einer wegoptimalen Fahrtroute. Diese Effekte
nehmen mit größer werdenden Parametern von R und D zu.
Sie sollen durch die geometrische Konstruktion von Gradientenlinien zur wegoptimalen Führung im neuen Verfahren
beseitigt werden.
Es wird ein neues Verfahren vorgestellt, welches die Gewinnung der Gradienten aus einer geometrischen Konstruktion der Gradientenlinien ermöglicht. Des Weiteren werden
Möglichkeiten aufgezeigt, ein Ausweichen unter Einbeziehung der Geschwindigkeitsinformationen der Seeströmung
und der Hindernisse durchzuführen.
3.1 Erzeugung von Gradientenlinien durch
harmonische Dipol-Potentiale
Für die nachfolgenden Ausführungen sei angenommen,
dass ein Hindernis durch einen Kreis beschrieben wird.
Fasst man den Kreis als positive Ladung und den anzufahrenden Zielpunkt als negative Punktladung auf, so bildet
diese Struktur einen Dipol, dessen Feldlinien von der positiven zur negativen Ladung führen. Der Wert für die
520
Bild 13: Gradientenlinien des Dipols.
M. Eichhorn: Ein Hindernisvermeidungssystem für ein Autonomes Unterwasserfahrzeug
at 11/2004
3.2 Erzeugung von Gradientenlinien durch
geometrische Konstruktion
Einführend sei an dieser Stelle erwähnt, dass die in diesem
Abschnitt erzeugten Gradientenlinien keine physikalischen
,,Vorbilder“ haben. Sie sollen lediglich zu einer wegoptimalen Fahrtroute führen.
Hierzu wird das Operationsgebiet in einzelne Sektoren aufgeteilt (siehe Bild 14). Die Einteilung der Sektoren erfolgt
in Abhängigkeit der Fahrzeugposition xFahr vom Hinderniszentrum xHind und vom Zielpunkt.
Wenn die Bedingung (|xFahr − xHind| < R) erfüllt ist, befindet sich das Fahrzeug im Inneren des Sicherheitskreises. Es
ist der Sektor 3 aktiv. Der Gradient wird dabei durch die
Gleichung:
xDistanz
Hind = xFahr − xHind
xDistanz
Hind
G =
Distanz xHind Bild 15: Gradientenlinien bei geometrischer Konstruktion.
(6)
berechnet. Die Aktivierung des Sektors 3 scheint im ersten
Moment ausgeschlossen. An dieser Stelle sei jedoch noch
einmal festgestellt, dass der Radius R eine Sicherheitszone
beschreibt, in welcher sich das Hindernis befindet. So ist es
durchaus möglich, dass ein Fahrzeug in diesen Sicherheitskreis eindringen kann (starke Strömung, zu späte Erfassung
des Hindernisses). In einem solchen Fall muss das Fahrzeug wieder sicher aus dem Kreis geführt werden, was eine
Gradientenbeschreibung im Innern des Kreises erfordert.
Wird die Sicht zwischen Fahrzeug und Zielpunkt durch den
Kreis verdeckt, ist keine direkte Anfahrt zum Zielpunkt
möglich (Sektor 1). In diesem Fall muss der Richtungsvektor der Tangentengerade von xFahr zum Kreis in Abhängigkeit der Lage von xFahr zur Symmetrieachse bestimmt
werden. Der Gradient ist dabei der normierte RichtungsvekRichtung
tor xTangente :
Richtung
xTangente
.
G =
Richtung
xTangente (7)
Gibt es eine direkte Verbindung zwischen Fahrzeug und
Zielpunkt, ist Sektor 2 aktiv. Dann gilt:
xDistanz
= xZiel − xFahr
Ziel
xDistanz
Ziel
.
G =
Distanz xZiel (8)
Um beim Austreten der Gradientenlinien aus dem Sicherheitskreis einen kontinuierlichen Übergang zu den Gradientenlinien der Sektoren 1 und 2 zu erreichen, wurde
ein Radius Rslid eingeführt. In dem dadurch entstehenden Kreisring zwischen R und Rslid findet eine gewichtete
Überlagerung unter Verwendung des Wichtungsfaktors α
zwischen den Gradienten außerhalb und innerhalb des Kreises nach der Beziehung
α=
|xFahr −xHind |−R
Rslid −R
G = α GSektor1_2 + (1 − α) GSektor3
Außerhalb des
Innerhalb des
Kreises
Kreises
(9)
statt. Bild 15 zeigt ein so erzeugtes Gradientenfeld.
3.3 Einbeziehung der
Geschwindigkeitsinformationen
Bild 14: Einteilung des Operationsgebietes in Sektoren.
Unter realen Umweltbedingungen kann es vorkommen,
dass ein Hindernis sich bewegt (beschrieben durch vHind )
oder eine starke Seeströmung vStrömung vorhanden ist. In
solchen Fällen ist es sinnvoll, diese Geschwindigkeitsinformationen bei der Generierung der Gradientenlinien mit
einfließen zu lassen. So soll es möglich sein, ein Ausweichmanöver schon früher zu beginnen, wenn sich ein
Hindernis auf das Fahrzeug zu bewegt oder eine starke
Rückenströmung vorhanden ist. In beiden Fällen wird dadurch ein mögliches Kollidieren durch unzureichendes Reagieren vermieden. Eine Möglichkeit, dies zu erreichen, ist
die Vergrößerung der Sicherheitszone in Richtung einer
521
at 11/2004
ANWENDUNGEN
Bild 16: Verformung der Sicherheitszone.
resultierenden Geschwindigkeit vres , welche durch die folgende Beziehung beschrieben wird:
vres = vHind − vStrömung .
(10)
Die Sicherheitszone wird damit von ihrer Kreisform mit
dem Radius R in eine Ellipse überführt (siehe Bild 16).
Die geometrischen Maße der so entstandenen Ellipse werden durch die nachfolgenden Gleichungen bestimmt:
aEllipse = R (1 + vrel )
bEllipse = R (1 + vrel )
y −1 vres
θEllipse = tan
.
x
vres
(11)
Der Koeffizient vrel beschreibt das Verhältnis zwischen dem
Betrag der resultierenden Geschwindigkeit |vres | und der
vorgegebenen Marschgeschwindigkeit v Marsch des Fahrzeuges und wird berechnet aus:
vres vrel =
.
(12)
v Marsch
Das Zentrum der Ellipse wird durch den Zusammenhang
cos θEllipse R vrel
xHind_vel = xHind +
(13)
sin θEllipse R vrel
beschrieben. Die Berechnung der Gradientenlinien für die
entstandene elliptische Form des Sicherheitsgebietes erfolgt
auf der Basis der Ausführungen im Abschnitt 3.5.
3.4 Anwendung für mehrere Hindernisse
Bei den bisherigen Ausführungen wurde nur ein einzelnes Hindernis im Operationsgebiet betrachtet. Sind mehrere
vorhanden, muss darauf geachtet werden, dass sich die
Sicherheitsbereiche der einzelnen Hindernisse nicht überschneiden. Lässt sich dies nicht vermeiden, müssen die
entsprechenden Hindernisse durch eine gemeinsame Sicherheitszone abgedeckt werden [18].
Bei der Bestimmung des Gradienten werden nur die Gradientenlinien des dem Fahrzeug nächstgelegenen Hindernisses verwendet. Dies führt dazu, dass bei der Durchfahrung
522
Bild 17: Vereinfachte Bestimmung von dLinie .
eines Hindernisparcours ein Umschalten zum jeweils aktuellen Gradientenlinienfeld erfolgt. Um beim Übergang
zwischen zwei Gradientenfeldern einen homogenen Verlauf
zu erzielen, ist es notwendig, statt des binären Umschaltens
ein ,,kontinuierliches“ Umschalten durchzuführen. In [18]
wurde ein Bereich entlang der Grenzlinie zweier benachbarter Gradientenlinienfelder definiert (d Linie_max ), in welchem sich die Gradienten der einzelnen Felder mittels eines
Wichtungsfaktors α linear überlagern. Dieser Wichtungsfaktor wurde proportional zum Fahrzeugabstand von der
Grenzlinie gewählt. Eine vereinfachte Bestimmung dieses
Abstandes kann durch (14) auf Grundlage von Bild 17 erfolgen. Es gilt:
d Linie =
d 2Fahr_n − d 2Fahr_m
2dm_n
.
(14)
Die Abstände d Fahr_n und d Fahr_m beschreiben die kürzeste
Entfernung von der aktuellen Fahrzeugposition zum jeweiligen Hindernis.
Der resultierende Gradient bestimmt sich so durch die folgenden Beziehungen:


 GHind_m für d Linie > d Linie_max
(15)
G = GHind_n für d Linie < −d Linie_max


αGHind_m + (1 − α) GHind_n für |d Linie | < d Linie_max
mit dem Wichtungsfaktor α
d Linie
α = 0,5 1 +
.
d Linie_max
(16)
3.5 Anwendung bei elliptischen Sicherheitszonen
Bei den vorhergehenden Ausführungen wurde vorausgesetzt, dass ein Hindernis durch einen Kreis beschrieben
wird. Da durch die Kreisform viele Objekte ungünstig
beschrieben werden, ist eine elliptische Form vorteilhafter. Die Anpassung des vorgestellten Verfahrens an eine
elliptische Form wäre sehr rechenaufwändig und bei Ein-
M. Eichhorn: Ein Hindernisvermeidungssystem für ein Autonomes Unterwasserfahrzeug
at 11/2004
Bild 18: Schritte der Transformation.
beziehung der Geschwindigkeitsinformation (Abschnitt 3.3)
für nichtkreisförmige Hindernisse gar nicht realisierbar.
Deshalb wird eine Transformation durchgeführt, welche
eine gedrehte Ellipse mit der Position xEllipse in einen
im Koordinatenursprung liegenden Kreis überführt. Die
Berechnung der Gradientenlinien erfolgt dann für kreisförmige Hindernisse, wie in Abschnitt 3.2 beschrieben
und anschließender Rücktransformation. Die Transformation für einen beliebigen Punkt x in diesem Bildbereich
setzt sich so aus mehreren Teilschritten zusammen (siehe
Bild 18):
1. Translation des Punktes um die Position xEllipse . (Verschiebung der Ellipse in den Koordiantenursprung des
Bildbereiches.)
xtrans = x − xEllipse
(17)
Rückskalierung:
aEllipse
Grescal =
0
Rückrotation:
cos θEllipse
G=
sin θEllipse
0
bEllipse
G̃
− sin θEllipse
(20)
cos θEllipse
Grescal .
(21)
3.6 Test des Verfahrens
Abschließend soll das neu entwickelte Verfahren der geometrischen Konstruktion mit dem Verfahren der harmonischen Dipolpotentiale verglichen werden. Dazu wurde ein
Hindernisparcours, der in Bild 20 dargestellt ist, definiert.
2. Rotation des Punktes um den Rotationswinkel der Ellipse θEllipse . (Rotation der Ellipse zur Erreichung einer
achsenparallelen Lage der Ellipse im Bildbereich.)
cos θEllipse
sin θEllipse
xtrans_rot =
xtrans
(18)
− sin θEllipse cos θEllipse
3. Skalierung des Punktes mit den inversen Werten der
halben Haupt- und Nebenachse (aEllipse und bEllipse ) der
Ellipse. (Erreichung einer Kreisform für die Ellipse mit
R=1.)


1
0
 aEllipse


x̃ = 
(19)

1  xtrans_rot .
0
bEllipse
Nach Durchführung dieser Transformation können die eigentlichen Berechnungen im Bildbereich durchgeführt werden. Der hierbei berechnete Gradient G muss anschließend
wieder vom Bildbereich in den Originalbereich rücktransformiert werden (20), (21). Es gilt:
Bild 19: Auswertung der Sollkursraten r .
523
at 11/2004
ANWENDUNGEN
Bild 20: Wege durch einen Hindernisparcours.
Das Fahrzeug soll mit einer Marschgeschwindigkeit von
2 m/s durch diesen Parcours fahren. Es zeigte sich, dass
bei Verwendung des geometrischen Verfahrens die Sollkursrate r (Drehgeschwindigkeit des Sollkurses) wesentlich
geringere Maximalwerte als das Verfahren der harmonischen Dipolpotentiale besitzt (siehe Bild 19). Dies ist für
den praktischen Einsatz ein wichtiges Kriterium, da das
eingesetzte Fahrzeug schnellen Sollkursänderungen nicht
folgen kann, was zum Abweichen von der Gradientenlinie
und damit zu einer möglichen Kollision führt. Des Weiteren
bewirkt jede schnelle Sollkursänderung eine Vergrößerung
des Navigationsfehlers. Schon aus diesem Grund sollten
solche Manöver vermieden werden. Die benötigte Weglänge zum Durchfahren des Parcours beträgt beim Geometrischen Verfahren bis zu 9% weniger als bei der Methode
der harmonischen Dipolpotentiale. Die Trajektorienverläufe
des geometrischen Verfahrens sind der Form von optimalen
Wegen, wie sie in [20] unter Verwendung einer Evolutionsstrategie generiert wurden, sehr ähnlich.
4 Zusammenfassung
gegebenen Hindernisform (elliptischer Zylinder) und den
rechentechnischen Restriktionen. Die durchgeführten Tests
zeigten die Echtzeitfähigkeit der Graphenmethoden bei der
Wegeplanung.
Das vorgestellte neue Verfahren zur geometrischen Konstruktion von Gradientenlinien für die Reaktive Ausweichsteuerung verbindet die Vorteile des Verfahrens der künstlichen harmonischen Dipol-Potentiale mit den Forderungen
einer weg- und stellenergieoptimalen Fahrweise. Die Seeströmung sowie eine mögliche Geschwindigkeit der Hindernisse wurden bei der Konstruktion der Gradientenlinien
durch Bildung einer Ersatzform für das Hindernis auf einfache Weise berücksichtigt.
Weiterführende Darlegungen zu dem in diesen Artikel vorgestellten Hindernisvermeidungssystem erfolgen in [21].
Die Implementierung der vorgestellten Algorithmen auf der
Zielplattform und die Tests am AUV Simulator werden bis
zum Herbst 2004 abgeschlossen sein. Anschließend finden
die ersten Freiwasserversuche mit dem AUV statt.
Danksagung
In diesem Artikel wurde ein Konzept zur Führung eines
Unterwasserfahrzeuges in Ausweichsituationen vorgestellt.
Dieses Konzept wurde für das AUV ,,DeepC“ entwickelt.
Die besonderen Merkmale des Fahrzeuges (vorhandene Rechenleistung und Sensorik, Fahrcharakteristik und Manövrierfähigkeit) bildeten die Hauptkriterien bei der Auswahl
und Entwicklung der Algorithmen.
Diese Arbeit ist ein Teilgebiet des aktuellen Forschungsprojektes
,,DeepC“, welches durch das BMBF gefördert wurde. (Förderkennzeichen: 03SX104E). Ich möchte mich bei Prof. J. Wernstedt bedanken,
welcher mir die Möglichkeit gab, dieses interessante Thema zu bearbeiten, bei Marco Jacobi für die softwaretechnische Unterstützung und den
regen Erfahrungsaustausch bei der Entwicklung der Graphenmethoden
und bei meinem Kollegen Divas Karimanzira für die gute Zusammenarbeit und Hilfe während des Projektes.
Durch den Einsatz von Graphenmethoden zur Ermittlung
eines Routenvorschlages in der Wegeplanungsebene konnte
die Forderung nach einer energieoptimalen Fahrweise leicht
berücksichtigt werden. Die Einbeziehung der Seeströmung
in die Kostenfunktion ermöglicht es, Gebiete mit starker
Seeströmung von der Routenplanung auszuschließen.
Literatur
Die Auswahl der untersuchten Methoden zur Generierung
eines geometrischen Graphen erfolgte auf Basis der vor-
524
[1] M. Eichhorn: An Obstacle Avoidance System for an Autonomous Underwater Vehicle. in Proceedings of the International Symposium on Underwater Technology, Taipei, Taiwan,
April 20–23 2004.
[2] http://www.deepc-auv.de/deepc/DeepC.htm.
[3] Förderprojekt des BMBF: DeepC. Aktiv autonomes Unterwasserfahrzeug für große Tauchtiefen. Förderkennzeichen:
03SX104E.
M. Eichhorn: Ein Hindernisvermeidungssystem für ein Autonomes Unterwasserfahrzeug
[4] D. Brutzman, T. Healey, D. Marco und B. MxGhee: The
Phoenix Autonomous Unterwater Vehicle. In: Kortenkamp, D., Bonasso, P., & Murphy, R., editors, AI-Based
Mobile Robots, chapter 13. MIT/AAAI Press. 1997.
[5] E.W. Dijkstra: A Note on Two Problems in Connexion with
Graphs, Numerische Mathematik, 1, pp. 269–271, 1959.
[6] N.J. Nilsson: Problem-Solving Methods in Artificial Intelligence, McGraw-Hill, 1971.
[7] A. Stentz: The focussed D∗ Algorithm for Real-Time Replanning. In: Proceedings of the International Joint Conference on Artificial Intelligence, Montreal, Canada, August
1995.
[8] G. Dudek und M. Jenkin: Computational principles of mobile robotics. New York, USA: Cambridge University Press,
2000.
[9] P.J. Schneider und D.H. Eberly: Geometric Tools for Computer Graphics. San Fancisco, USA: Morgan Kaufmann,
2003.
[10] A.E. Bryson und Y.-C. Ho: Applied Optimal Control. USA:
Ginn and Company, 1969.
[11] M. Papageorgiou: Optimierung: statische, dynamische, stochastische Verfahren für die Anwendung. München, Germany, R. Oldenbourg Verlag, 1991.
[12] http://www.sbs.com.
[13] J.G. Siek, L.-Q. Lee und A. Lumsdaine: The Boost Graph
Library: User Guide and Reference Manual. New York,
USA: Addison Wesley, 2002.
[14] http://www.boost.org.
[15] http://www.borland.com.
at 11/2004
[16] http://msdn.microsoft.com/visualc.
[17] R. Klein: Algorithmische Geometrie. Bonn, Germany:
Addison-Wesley-Longman, 1997.
[18] J. Guldner: Lokale Kollisionsvermeidung für mobile Roboter mittels künstlicher harmonischer Dipol-Potentiale. at –
Automatisierungstechnik, Volume 45, Issue 01, pp. 24–35
1997.
[19] J. Guldner: Intelligentes hierarchisches Regelungskonzept
für autonome mobile Robotersysteme. Düsseldorf, Germany:
VDI-Verlag, 1995.
[20] K. Watanabe, M.M.A. Hashem und K. Izumi: ,,Global Path
Planning of Mobile Robots as an Evolutionary Control Problem“, European Control Conference, Karlsruhe, Germany,
1999.
[21] M. Eichhorn: Fahrzeugführung in Sondersituationen: Promotion A, Technische Universität Ilmenau, in Vorbereitung.
Manuskripteingang: 18. Mai 2004.
Dipl.-Ing. Mike Eichhorn ist wissenschaftlicher
Mitarbeiter am Institut für Automatisierungs- und
Systemtechnik der Technischen Universität Ilmenau.
Hauptarbeitsfelder: Modellierung und Steuerung
mobiler Systeme, Mechatronik, Fuzzy-Control, Softwareentwicklung und Implementierung.
Adresse: Technische Universität Ilmenau, Institut
für Automatisierungs- und Systemtechnik, Postfach
100565, 98684 Ilmenau, Tel.: +49-(3677)-69-1421,
Fax: +49-(3677)-69-1434,
E-Mail: [email protected]
Prädiktive Regelung
Modellbasierte prädiktive
Regelung
Eine Einführung für Ingenieure
2004. 355 Seiten
€ 49,80
ISBN 3-486-27523-2
Oldenbourg Wissenschaftsverlag
Rosenheimer Straße 145
D-81671 München
Telefon 089 / 450 51-0
Fax 089 / 450 51-204
Bestellungen: http://www.oldenbourg-verlag.de
Das erste deutschsprachige Buch zu diesem Thema.
Das Buch bietet eine Einführung in die modellbasierte prädiktive Regelungen einschließlich ihrer Anwendungen in der industriellen Prozessautomatisierung.
Ausgewählte Anwendungsbeispiele zeigen dem Leser
die Möglichkeiten und den Nutzen dieser Technologie
auf.
Es richtet sich vor allem an jetzige und zukünftige
Anwender in der Industrie auf den Gebieten Anlagenplanung und -errichtung, Prozessleittechnik, Prozessführung und Informationstechnik, ist aber auch
für Studierende höherer Semester der Fachrichtungen
Automatisierungs- und Verfahrenstechnik und für in
der Forschung tätige Wissenschaftler von großem
Interesse.
Oldenbourg
Rainer Dittmar / Bernd-Markus Pfeiffer
525