-
Die Erfindung betrifft ein Verfahren für eine Fahrplanung bei einer Notlenkung, sowie ein Fahrplanungssystem, ein Computerprogramm und ein computerlesbares Medium.
-
Handelsübliche Bremsassistenten bei Kraftfahrzeugen sind bereits seit langem bekannt. Viel zu oft genügt Bremsen jedoch nicht, um eine Kollision zu vermeiden. Für diesen Fall ist ein Notlenkassistent zum Ausweichen erforderlich, der in kurzer Zeit zuverlässig, also ausreichend schnell und zutreffend, auf einen Notfall reagieren muss. In einem weiteren Aspekt ist es aber denkbar, durch ein mögliches Ausweichen den zuvor generierten Fahrplan unerwünscht zu beeinflussen, was zu einem ungünstigen neuen Fahrweg führen könnte.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein besseres System für die Fahrplanung zu ermöglichen, das mit einem Notlenkungs-Assistenten ausgerüstet wird und zumindest seine Aufgaben bezüglich der Fahrplanung und Notlenkungsunterstützung bewältigen kann, insbesondere beim autonomen Fahren.
-
Diese Aufgabe wird durch ein Verfahren für eine Fahrplanung bei einer Notlenkung, sowie ein Fahrplanungssystem, ein Computerprogramm und ein computerlesbares Medium mit den Merkmalen der unabhängigen Patentansprüche gelöst.
-
Weitere bevorzugte Ausführungsformen sind Gegenstand der Unteransprüche.
-
Gemäß einem ersten Aspekt schafft die vorliegende Erfindung demnach ein Verfahren für eine Fahrplanung bei einer Notlenkung, mit den Schritten: Empfangen einer Lagekarte mit einer Vielzahl von Knoten, die zumindest einen Startknoten und einen Zielknoten aufweisen, und mindestens einem Hindernis; Generieren, für jeden der Knoten, einer Distanzkarte, die zumindest eine Distanz zwischen dem entsprechenden Knoten und einem für den Knoten nächstliegenden Hindernis angibt, basierend auf der Lagekarte; Generieren, für jeden der Knoten, einer Entfernungskarte, die eine Entfernung zwischen dem entsprechenden Knoten und dem Zielknoten angibt, basierend auf der Lagekarte; Bewerten der jeweiligen Knoten basierend auf der Distanzkarte und der Entfernungskarte sowie einer begrenzten Lenkwinkel-Änderung eines Fahrzeugs; und Generieren einer Fahrstrecke von dem Startknoten bis zu dem Zielknoten, nach der das Hindernis umfahrbar ist, mittels eines Algorithmus zur Fahrplanung, insbesondere mittels eines A*-Algorithmus.
-
Erfindungsgemäß ist es vorteilhaft, dass ein schneller Fahrplaner für den gleichen ausweichenden Notlenkassistenten ermöglicht wird, und eine erhebliche Beschleunigung der Planung durch Vorab-Lösen von Teilproblemen der Planungsaufgabe erreicht wird. Insbesondere ist dieses eine Karte für die Abstandsbewertung zu den nächsten Hindernissen und eine Karte, die den Abstand bzw. Entfernung zum Ziel angibt. Während die Vorab-Karten holonomisch gerechnet werden, tastet ein rechen-aufwändigerer Algorithmus zur Fahrplanung, insbesondere ein A*-Algorithmus, die Verteilungen auf den Karten nur ab, bewertet Knoten und vergleicht die aufsummierten Kosten für Wege bis hierhin, so dass ein auch nicht holonomisch fahrbarer Weg um die Hindernisse herum gefunden wird.
-
Anders als ein herkömmlicher Algorithmus zur Fahrplanung, insbesondere ein herkömmlicher A*-Algorithmus, der mit einer aufwändigen Priority-Queue am Frontknoten die beste Lösung gemäß eines nicht holonomischen Fahrzeugmodells selektieren und dabei im Zeitaufwand unvorteilhaft O(n*log n) skalieren, verwendet das erfindungsgemäße Verfahren zunächst zwei holonomisch in einfachen Queues gerechnete Heuristiken, also eine Distanzkarte zu Hindernissen und eine vom Ziel ausgehende Entfernungskarte. Die beiden sind vorteilhaft im Zeitaufwand O(n) skalierend, wenn n die Gesamtzahl der Knoten in einer rechteckigen Lagekarte darstellt.
-
Durch die Anwendung der beiden schnellen Heuristiken werden die Hauptaufgaben der Fahrplanung, nämlich den Abstand zu Hindernissen zu halten und sich dem Ziel zu nähern, vorab gelöst. Dies jedoch nur holonomisch, also ohne Berücksichtigung der nicht holonomischen Befahrbarkeit entsprechend des Fahrzeugmodells. Das Fahrzeug wird in den Ausführungsformen der vorliegenden Erfindung beispielsweise mit Ackermann-Steering oder vereinfacht als Bicycle Modell angenommen.
-
Die verbleibende Aufgabe, also das Finden eines befahrbaren Pfades, wird erfindungsgemäß dadurch gelöst, dass die beiden auf den Karten nunmehr bekannten Verteilungen verfolgt („getraced“) werden. Also werden mindestens zwei, vorteilhaft drei Folgeknoten ausgewählt, die in der Umgebung des aktuellen Knotens auf einem Halbkreis liegen, so dass der Lenkwinkel entweder gleich bleibt, vergrößert wird oder verkleinert wird, jedoch nicht über die Grenzen des möglichen Einschlags des Fahrzeugs, also der Drehung der Vorderräder, hinaus.
-
In der Lagekarte sind insbesondere zumindest zwei Hindernisse, bevorzugt zumindest fünf Hindernisse, besonders bevorzugt zumindest zehn Hindernisse, vorgesehen. Im Falle, dass mehr als ein Hindernis in der Lagekarge vorgesehen sind, sind diese Hindernisse nach dem Algorithmus zur Fahrplanung zumindest teilweise umfahrbar. Bei nur teilweiser Umfahrbarkeit ist die Fahrstrecke bis hin zum unausweichlichen Hindernis kollisionsfrei.
-
Gemäß einer bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass das Bewerten der jeweiligen Knoten basierend auf der Distanzkarte und der Entfernungskarte es umfasst, dass ein Knoten höhere Kosten hat, wenn dieser in der Distanzkarte eine geringere Distanz zu einem Hindernis hat.
-
Wird sich in der Exploration der Knoten einem Hindernis zu stark angenähert wird, d.h., erhält man für die Distanzkarte hohe Kosten, wird die angenommene Fahrgeschwindigkeit reduziert. Umgekehrt wird die angenommene Fahrgeschwindigkeit oder Distanz pro Zeiteinheit vergrößert, wenn sich aus der Hinderniskarte ein günstiger Wert ergibt. Die Fahrgeschwindigkeit bleibt dabei auf einen Bereich entsprechend einer Mindest- oder Maximal-Schrittweite pro Zeiteinheit begrenzt.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass das Bewerten der jeweiligen Knoten basierend auf der Distanzkarte und der Entfernungskarte es umfasst, dass ein Knoten höhere Kosten hat, wenn dieser in der Entfernungskarte eine größere Entfernung zu dem Zielknoten hat. Dadurch ist die Wahrscheinlichkeit geringer, einen Knoten als Knotenkandidat in der Fahrstrecke festzulegen, der sich im Vergleich zu anderen Knoten vom Zielort weiter entfernt befindet.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass bei jedem Suchschritt des Algorithmus zur Fahrplanung der Knoten, der die geringsten Kosten hat und die begrenzte Lenkwinkel-Änderung des Fahrzeugs erfüllt, als Knotenkandidat in der Fahrstrecke für den entsprechenden Suchschritt ausgewählt wird.
-
Je nachdem, ob der Gesamteinfluss der beiden Heuristiken insgesamt stärker oder schwächer bewertet wird, kann der Pfad entweder glatter oder kürzer ausfallen, wobei automatisch durch die Begrenzung der Lenkwinkel-Änderung ein fahrbarer, glatter Pfad entsteht, der nicht weiter nachgeglättet werden muss. Eine übermäßige Nachglättung ist ungünstig, weil dabei wieder gegen die Forderung verstoßen werden kann, Abstand zu Hindernissen einzuhalten.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass das Bewerten eines Knotens beendet wird, wenn eine Distanz zwischen dem Knoten und einem Hindernis geringer als ein vorgegebener Wert ist.
-
Befindet sich ein Planungsknoten z.B. innerhalb eines Hindernisses, wird die weitere Betrachtung an dieser Stelle aufgegeben. Das entspricht einem Pruning im Graphen, d.h. Abschneiden des Zweiges. Dieses ist vorteilhaft, weil der Verzweigungsgrad sonst sehr schnell die verfügbare Rechenleistung überlasten würde.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass das Fahrzeug neben der eine Position auch eine Ausrichtung im Zielknoten als Parameter des Fahrzeugs hat, auf denen das Bewerten von Knoten nach dem Algorithmus zur Fahrplanung basiert. Die Position und Ausrichtung = Pose wird dabei über die gesamte Planung von Startknoten bis Zielknoten mitgeschleppt, dies bedeutet einen gewissen Mehraufwand in der Karte, aber es ist lohnend, da Fehlausrichtungen vermieden werden. Es genügt, die Ausrichtung nur grob aufzulösen mit z.B. in den vier Himmelsrichtungen.
-
Erfindungsgemäß handelt es sich um einen Verfahren zur schnellen Abschätzung eines wegoptimalen und zugleich befahrbaren Pfades für die Realisierung eines Not-Auslenk-Assistenten, insbesondere für urbanes autonomes Fahren. Die Planung erfolgt positionsbasiert mit Vorgabe einer Anfangsausrichtung. Um eine Zielausrichtung vorzugeben, sollte die Orientierung vorteilhaft als dritte Raumdimension aufgefasst werden. Es genügt nämlich in sehr komplexen Umgebungen oftmals nicht, die Orientierung und die Fahrgeschwindigkeit lediglich als Knoteninformation mitzuschleppen. In einigen Fällen wird ein Wenden dadurch bis zu einem Zeitpunkt verschleppt, in dem es nicht mehr möglich ist.
-
Wenden und Rangieren gehören jedoch ganz deutlich nicht zum Funktionsumfang eines Notlenkassistenten, denn wenn Möglichkeit zum Wenden und Rangieren besteht, dann besteht auch Möglichkeit zum Anhalten und dann ist ein Ausweichen überhaupt nicht notwendig.
-
Für die Realisierung eines Notauslenkassistenten stellt das Mitschleppen der Ausrichtungsinformation ohne eigenen Freiheitsgrad daher kein Problem dar. Der Zielpunkt kann einfach als fern in Richtung der aktuellen Fahrtrichtung angenommen werden. Die korrekte Ausrichtung im Zielpunkt ist zur Lösung des lokalen Ausweichproblems irrelevant, es sollte nur die lokale Ausrichtung vorteilhafter Weise kontrolliert werden.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass bei jedem Suchschritt des Algorithmus zur Fahrplanung eine Renormierung von Größenordnungen in der Distanzkarte und in der Entfernungskarte durchgeführt wird.
-
In die Bewertung eines Knotens fließt sowohl die Annäherung an das Ziel, als auch der Abstand zum nächstgelegenen Hindernis ein, wobei beide Maße von der Größenordnung im gleichen Bereich liegen müssen, weil das eine Maß sonst gegenüber dem anderen verdrängt würde.
-
Dies wird erfindungsgemäß durch eine so genannte Renormierung gewährleistet, die einmal pro Schritt gerechnet wird und die Bewertung ungefähr auf dem gleichen Level hält, auch wenn man sich fortwährend dem Ziel nähert.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass die Lagekarte zwischen den Knoten eine Vielzahl von vordefinierten Wegen aufweist, auf denen die Durchführung des Algorithmus zur Fahrplanung basiert.
-
Dadurch, dass die aufwändige A*-Heuristik nur spurenweise eingesetzt wird und nicht vollflächig über den gesamten Suchraum, wird die Suchzeit erheblich reduziert.
-
Während im Gegensatz dazu eine vollflächige holonomische A*-Suche für etwa 65000 Knoten (256*256) im Sekundenbereich liegt, je nach Pfadlänge und Karte, rechnet die Hindernis-Karte 4 ms, die Abstandskarte 2 ms und das Tracing mittels A*-Algorithmus 1,5 ms. Damit ist die Gesamtdauer unter 8ms typisch, es sei denn, die holonomische Vorab-Lösung ist nicht-holonomisch nicht befahrbar.
-
Man kann sich das wie einen Fluss mit Stromstellen vorstellen, den man entgegen der Fließrichtung an den Stromschnellen nicht befahren kann. Das Wasser fließt in die Gegenrichtung sehr wohl, mit dem Gefährt ist entgegen der Fließrichtung an diesen Stellen jedoch kein Vorankommen.
-
In kompliziert konstituierten Fällen kann die Gesamtdauer daher auf dem beschriebenen System bis zu 40 ms betragen, aufgrund von Karten, die mit konkaven Elementen und Labyrinthen die Exploration der Knoten in Sackgassen führen. Karten, die unlösbar sind, brechen in etwa in derselben Zeit die Suche ab.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass die Lagekarte durch Upsampling aus einer gröberen Karte erzeugt wird. Um Probleme mit der Schrittweite (typisch 4 bis 8 Felder) zu vermeiden, sollten die Strukturen der Lagekarte mindestens durch Faktor-sqrt(2)-Upsampling aus einer gröberen Karte erzeugt werden. Dabei werden dünne Wände vermieden, die einen Tunneleffekt zur Folge haben können.
-
Die Fahrplanung tendiert bei zunehmender Schrittweite übergangener Felder im Tracing zu chaotischem Verhalten, genau wie es, dass das Aufdrehen eines Wasserhahns oder der Rhythmus eines Herzens über Periodenverdopplung zu chaotischem Verhalten führt. Es gilt durch Mindeststrukturgrößen und Maximalschrittweiten diese chaotischen Bereiche zu begrenzen.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass das Hindernis bzw. die Hindernisse ein bewegtes Objekt und ein unbewegtes Objekt aufweist bzw. aufweisen, wobei unter Berücksichtigung des bewegten und des unbewegten Objektes die Knoten zumindest zweimal bewertet werden, welches gleichzeitig durchgeführt wird.
-
Beispielsweise rennt ein Kind auf eine Straße und erscheint plötzlich hinter einem parkenden Fahrzeug, hat man für eine urbane Fahrgeschwindigkeit von 50 km/h in einem typischen Fall etwa 70 ms Zeit, um die Lenkung zu beeinflussen, was viel zu kurz sowohl für menschliches Handeln, als auch für das Wirken des Bremsens.
-
Für einen ausweichenden Notlenkassistenten muss in diesem Fall die Situation bewertet werden (also durch Perception) und eine Escape-Trajektorie ausgewählt werden. Vernünftig ist beispielsweise eine Aufteilung mit 40 ms für die Perception und 30 ms für das Path-Planning. Da es jedoch mit und ohne bewegte Objekte geprüft werden muss, und nach Möglichkeit auch mit der Wahrscheinlichkeit des Auftretens weiterer bewegten mobilen Objekte, teilt sich diese Zeit in mindestens zwei Planungsvorgängen, bevorzugt in zehn Planungsvorgängen, auf.
-
Vorteilhaft wird der Planungsvorgang dabei in einem Hardwarebeschleuniger parallelisiert, so dass nicht 10x8..40 ms hintereinander, sondern 10x8..40 ms gleichzeitig gerechnet werden.
-
Gemäß einer weiteren bevorzugten Ausführungsform des ersten Aspektes ist es vorgesehen, dass eine Priority-Queue des Algorithmus zur Fahrplanung in einem Heap angelegt wird.
-
Vorteilhaft wird die Priority-Queue absichtlich nicht in einem Array, sondern in einem Heap angelegt. Vorteilhaft wird die Priority-Queue durch eine einfache Queue ersetzt und vorteilhaft werden damit vorab die zwei Heuristiken Abstand zum Ziel und Abstand zum nächsten Hindernis gerechnet. Dies kann beispielsweise durch die Prinzipien von Garrido zu der Fast Marching Method und der Fast Marching Squared Method ermöglicht werden.
-
Anders als Garrido wird erfindungsgemäß in der Fast Marching Method eine Queue mit Komplexität O(n), statt einer Priority-Queue mit Komplexität O(n log n), verwendet. Also basiert eine nicht holonomische Pfadsuche mit Fahrzeugmodell auf holonomischen Vorab-Suchen ohne Fahrzeugmodell.
-
Auf einen Fahrplaner mit Rangieren kann erweitert werden, wenn zusätzlich vorab eine Reeds-Shepp-Expansion gerechnet wird. Dies ist ein Auslegen des Raumes zwischen Start und Ziel mit Geraden und Bogensegmenten konstanter Länge, so genannte Dubins-Segmente, wobei nachträglich die Hindernisse eingeblendet werden und die kreuzenden Segmente gelöscht werden.
-
Der Vorteil der Segmentierung liegt darin, dass ein Zug immer auf Schienen fährt und nie daneben. Dies erlaubt eine noch gröbere Planung, wobei der Suchraum nun jedoch in Segmenten an Stelle von Zellen verläuft.
-
Für den ausweichenden Notlenkassistenten und dessen Fahrplanung ist diese Erweiterung jedoch nicht zielführend, weil sich der Rechenaufwand für die Reeds-Shepp-Expansion wieder vergrößert und weil beim Notausweichen Lösungen mit Rangieren wohl kaum zum realisierbaren Lösungsraum gehören werden. Zusätzlich führt das Bilden der Heuristik durch Flutung vom Ziel aus nach der Fast Marching Method besonders in Fällen mit hindernisarmen Wegen zum Ziel zu einer nahezu optimalen Exploration des Suchraums, sodass der Mehrwert des „early exit“ wie bei Dolgov et al. beschrieben minimal wäre, während der Rechenaufwand sich stark erhöhen würde
-
Gemäß einem zweiten Aspekt schafft die vorliegende Erfindung ein Fahrplanungssystem bei einer Notlenkung, mit einer elektronischen Steuereinheit. Die elektronische Steuereinheit ist so eingerichtet, eine Lagekarte mit einer Vielzahl von Knoten zu empfangen, die zumindest einen Startknoten und einen Zielknoten aufweisen, sowie mindestens einem Hindernis; für jeden der Knoten basierend auf der Lagekarte eine Distanzkarte zu generieren, die zumindest eine Distanz zwischen dem entsprechenden Knoten und einem für den Knoten nächstliegenden Hindernis angibt; für jeden der Knoten basierend auf der Lagekarte einer Entfernungskarte zu generieren, die eine Entfernung zwischen dem entsprechenden Knoten und dem Zielknoten angibt; basierend auf der Distanzkarte und der Entfernungskarte sowie einer begrenzten Lenkwinkel-Änderung eines Fahrzeugs den jeweiligen Knoten zu bewerten; und mittels eines Algorithmus zur Fahrplanung, insbesondere mittels eines A*-Algorithmus, eine Fahrstrecke von dem Startknoten bis zu dem Zielknoten zu generieren, nach der das Hindernis umfahrbar ist.
-
Gemäß einer bevorzugten Ausführungsform des zweiten Aspektes ist es vorgesehen, dass die elektronische Steuereinheit ferner so eingerichtet ist, einen Knoten als Knoten mit höheren Kosten zu bewerten, wenn dieser in der Distanzkarte eine geringere Distanz zu einem Hindernis hat und/oder in der Entfernungskarte eine größere Entfernung zu dem Zielknoten hat; und bei jedem Suchschritt des Algorithmus zur Fahrplanung den Knoten, der die geringsten Kosten hat und die begrenzte Lenkwinkel-Änderung des Fahrzeugs erfüllt, als Knotenkandidat in der Fahrstrecke für den entsprechenden Suchschritt auszuwählen.
-
Gemäß einem dritten Aspekt betrifft die Erfindung ein Computerprogramm mit Befehlen, die, wenn das Programm von einem Computer ausgeführt wird, den Computer veranlassen, das Verfahren nach dem ersten Aspekt auszuführen.
-
Gemäß einem vierten Aspekt betrifft die Erfindung ein computerlesbares Medium, das Befehle enthält, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, das Verfahren nach dem ersten Aspekt auszuführen.
-
Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnungen angegebenen Ausführungsbeispiele näher erläutert.
-
Es zeigen:
- 1 ein schematisch dargestelltes Blockdiagramm eines Fahrplaners, der eine Ausführungsform des erfindungsgemäßen Verfahrens durchführt;
- 2 die vergrößerte Distanzkarte nach 1; Helligkeitskodierung: Die schwarzen Bereiche sind Hindernisse, die hellen Bereiche sind dichter an Hindernissen gelegen und die grauen Bereiche zu allen Richtungen möglichst weit von den Hindernissen entfernt. Befahrbare Pfade sollten also möglichst in den grauen Zonen gefunden werden.
- 3 die vergrößerte Entfernungskarte nach 1; Helligkeitskodierung:
- schwarz sind die Hindernisse, dunkel ist das Ziel und mit zunehmender Entfernung ist man holonomisch gesehen weiter vom Ziel entfernt.
- 4 das vergrößerte Verfolgungsergebnis mittels A*-Algorithmus nach 1; Um den Startknoten herum ließ sich nicht gut navigieren, deshalb hat a* hier intensiver suchen müssen, zum Ziel hin wurde dann meist in maximaler Schrittweite vorgegangen, nur für Hindernisse und deren Umfahrung wurde dichter geplant. Zudem ist die Karte absichtlich konkav konstruiert (siehe Bezugszeichen 16 in 2), sodass nicht-holonomisch ein anderer Weg gewählt werden muss als holonomisch möglich wäre. Dies demonstriert die Robustheit gegenüber erhöhter Hindernisdichte und zeigt, wie selten die erwähnte Schwachstelle bei nichtbefahrbarem holonomischen Pfad tatsächlich zu stark erhöhter Gesamtrechenzeit führt.
- 5 die vergrößerte befahrbare Fahrstrecke nach 1;
- 6 ein schematisch dargestelltes Blockdiagramm einer Ausführungsform eines erfindungsgemäßen Fahrplanungssystems;
- 7 ein schematisch dargestelltes Blockdiagramm einer Ausführungsform eines erfindungsgemäßen Computerprogramms; und
- 8 ein schematisch dargestelltes Blockdiagramm einer Ausführungsform eines erfindungsgemäßen computerlesbaren Mediums.
-
Sofern sinnvoll, lassen sich die beschriebenen Ausgestaltungen und Weiterbildungen beliebig miteinander kombinieren. Weitere mögliche Ausgestaltungen, Weiterbildungen und Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale der Erfindung.
-
Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung. Andere Ausführungsformen und viele der genannten Vorteile ergeben sich im Hinblick auf die Zeichnungen. Die Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt. Gleiche Bezugszeichen bezeichnen dabei gleiche oder ähnlich wirkende Komponenten.
-
1 zeigt ein schematisch dargestelltes Blockdiagramm eines Fahrplaners, der eine Ausführungsform des erfindungsgemäßen Verfahrens durchführt. 1 ist zu entnehmen, dass die Eingaben des Fahrplaners eine zweidimensionale Lagekarte 2 bzw. Belegungskarte 2, einen Startknoten 4 und einen Zielknoten 6 sind. Der Ausgabe des Fahrplaners ist ein eindimensionaler Pfad 8, der die relevanten Indizes der zweidimensionalen Lagekarte 2 beinhaltet.
-
Zunächst wird die gesamte Lagekarte 2 in vorteilhafter Weise gemäß einem Burst-Mode-Transfer in eine Queue 1 eingelesen und für eine Nearest-Neighbor-Hindernis-Bewertung verwendet, was nur das nächstliegende Hindernis betrachtet. Diese ist mit dem Zeitaufwand O(n) wesentlich schneller als ein Voronoi-Field, das die Abstände zu sämtlichen Hindernissen werten müsste und einem Zeitaufwand O(n^2) entspricht. Das Ergebnis dieser Bewertung ist ein Zahlenfeld, das den Abstand zum nächsten Hindernis beschreibt und in 1 durch die Distanzkarte 10 als erste Hilfskarte repräsentiert wird.
-
Anschließend wird die Queue 1 wiederverwendet (siehe den Pfeil 3), um das Feld vom Zielknoten 6 aus zu fluten, mittels Fast Marching Method, ebenfalls mit dem Zeitaufwand O(n). Das Ergebnis dazu ist ein Feld zum Zielknoten 6 hin kleiner werdender Zahlen, welche die Entfernungen der betrachteten Knoten zum Zielknoten 6 repräsentieren und in 1 durch die Entfernungskarte 12 als zweite Hilfskarte dargestellt ist, gleichsam wie wenn Wasser geflossen wäre, also holonomisch.
-
Sodann werden das Abtasten und das Nachverfolgen der beiden bekannten Verteilungen mittels eines A*-Algorithmus durchgeführt (siehe die Funktion 5: Astar), also durch das intelligentere „Tracing“ der beiden Verteilungen, in diesem Falle mit dem Startknoten 4 beginnend und sich dem Zielknoten 6 annähernd. Dies wird mit Hilfe eines einfachen Fahrzeugmodells geführt, wobei mit der Fahrgeschwindigkeit entsprechend der Anzahl der Knoten pro Zeiteinheit die Entfernung zum Zielknoten 6 gesucht wird.
-
Dabei wird von dem bereits eingestellten Lenkwinkel ausgegangen, damit ein erster Knoten gefunden, der Lenkwinkel sofern zulässig vergrößert, ein zweiter Knoten gefunden, der Lenkwinkel sofern möglich verringert, und ein dritter Knoten gefunden.
-
Sofern ein Knoten auf einem Hindernis zu liegen kommt, endet die Betrachtung für diesen Knoten. Falls nicht, wird von diesem Knoten ausgehend erneut nach drei Nachfolgeknoten gesucht. In anderen Ausführungsformen werden mindestens zwei, in vorteilhafter Weise drei, oder mehr als drei Nachfolgeknoten betrachtet.
-
Bei der Bewertung der bis dahin gefundenen Wege wird jedem neuen Knoten eine Bewertung übergeben, basierend auf z.B. einer Fahrzeug-Ausrichtung (engl. „heading“) und einer Winkel-Änderungs-Geschwindigkeit gemäß dem Lenkwinkel.
-
Die Bewertung muss in jedem Suchschritt renormiert werden (siehe die Berechnung 7), so dass die beeinflussenden Qualitätsmaße „Abstand zu Hindernissen“ und „Annäherung an das Ziel“ sich in ihren Größenordnungen nicht verändern und somit jeder Schritt auf die gleiche Weise bewertet wird.
-
Wird der Zielknoten 6 bis auf einen Mindestabstand erreicht, gilt der Zielknoten 6 als erreicht (mit dem Zielknoten 6 als Abschluss). Dies ist notwendig, um den Fall, dass der Zielknoten 6 in einem Hindernis ist, abzudecken. Führt jedoch kein Weg zum Zielknoten 6, wird das Verfahren vorzeitig am ersten Hindernis abgebrochen.
-
Es besteht mehrere Gründe, warum der Zielknoten 6 nicht erreicht werden kann. Es mag sein, dass die Durchflutung zwar funktioniert, d.h., die Hindernisse zum Ziel nicht „wasserdicht“ sind, dass durch einen kleinen Spalt und ohne Manövrieren das Fahrzeug ohne Absetzen aber keinen durchgehenden Weg findet. Das ist wie mit dem umgekehrten Queren von Stromschnellen oder Wasserfällen entgegen der Fließrichtung. Das Wasser vermag in Fließrichtung voran zu kommen, das Gefährt in Gegenrichtung jedoch nicht. Entsprechend dieser Analogie muss dann umgekehrt und flussabwärts nach einer Umgehung gesucht werden. Dies entspricht dann einem „ausufernden“ Einsatz von A*, den man durch die Hybridisierung und holonomische Vorab-Lösung eigentlich vermeiden möchte.
-
Dann kann die Karte im Extremfall einer labyrinthartigen Karte sogar vollständig mit A*-Algorithmus abgesucht werden, was in einem erheblichen Anstieg der Rechenzeit mündet. Eine solche Karte ist eine ungünstig konstituierte Karte, die deutlich zu viele Details enthält.
-
Erfindungsgemäß wird dieses Problem durch Vergrößerung der Originalkarte gelöst, d.h., mehrere Knoten (typisch 2-4) werden zur Darstellung eines originalen Knotens verwendet. Dies „verwässert“ die Schrittweite, verkleinert den Lösungsbereich, aber die Lösbarkeit wird erfindungsgemäß verbessert.
-
Der in 1 gezeigte Fahrplaner kann als hybrider Fahrplaner bezeichnet werden, nicht nur weil Hilfsverteilungen abgetastet werden, sondern weil auch die Orientierung des Fahrzeugs mit betrachtet wird. Diese ist eigentlich eine zusätzliche Dimension und muss für eine vollständige Lösung, die auch die Orientierung im Zielknoten 6 berücksichtigt, als solche vorgesehen werden. Für den Fall des Notlenk-Assistenten ist dies nicht notwendig. Wenn Möglichkeit zum Rangieren besteht, besteht immer auch Möglichkeit zum Anhalten, aber dann liegt keine Notsituation vor.
-
Weiterhin gibt es mehrere Möglichkeiten, wie eine Zielausrichtung enden kann. Für den Fall, dass der Pfad in eine Ringstraße endet, mit dem Ziel am entferntesten Punkt, kann das Fahrzeug dann entweder links- oder rechtsherum gefahren werden, mit dementsprechend 180° opponierender Zielausrichtung.
-
Vorteilhaft wird der Planer mit verschiedenen Einstellungen konfiguriert, so dass sowohl schnelle grobe Planungen, als auch bessere feine Planungen entstehen. Dies kann vorteilhaft durch eine Variation der Basislänge („Unit“) erreicht werden.
-
Dies kann alternativ durch Variation der Gewichtung der Heuristiken und der Änderungsgeschwindigkeit der Lenkbewegung und der Geschwindigkeitsänderung dargestellt werden. Hierbei sind die physikalischen Grenzen beim gleichzeitiger Geschwindigkeitsänderung und Lenkbewegung gemäß des Kamm'schen Kreises zu berücksichtigen. Der Kamm'sche Kreis besagt, dass die Fähigkeit gleichzeitig zu lenken und zu bremsen beschränkt ist. In Extremsituationen ist es deshalb nicht möglich, gleichzeitig mit voller Leistung stark zu lenken und zu bremsen. Beide Beschleunigungen addieren sich geometrisch.
-
Vorteilhaft werden aufwändige Rechenvorgänge wie z.B. trigonometrische Funktionen tabellarisch abgelegt, d.h., durch vorberechnete Look-Up-Tabellen ersetzt. Im Extremfall können sogar Multiplikationen durch Additionen und Table-Look-up ersetzt werden, ähnlich wie ein Rechenschieber arbeitet.
-
Der in 1 gezeigte Fahrplaner ermöglicht eine schnelle, parallelisierbare und synthetisierbare Fahrplanung für einen Auslenkassistenten. Auslenkassistenten sind ein möglicher Weg, urbanes Fahren über Eingriffe in Notsituationen einzuführen. Über das Vertrauen in die Handlungsfähigkeit in Notsituationen kommt man zur ständigen Anwendung im hoch automatisierten urbanen Fahren, indem der Notfall auf den Normalfall ausgeweitet wird. Kann man dem Fahrplanungssystem im Notfall vertrauen (weil der Mensch so schnell nicht entscheiden kann), dann sollte das System mit umfassender Perception auch im Normalfall funktionieren.
-
Außer möglichem Vorliegen von digitalisierten Straßenkarten sind die notwendigen Voraussetzungen für das Verfahren das Vorliegen einer Lagekarte 2 in Birds-Eye-View, also von oben um das Fahrzeug herum, vorteilhafter Weise dadurch gewonnen, dass die Umgebung des Fahrzeugs durch Sensoren kontinuierlich beobachtet wird, dass feste und bewegliche Hindernisse voneinander getrennt werden, dass die Bewegungen in naher Zukunft (beispielsweise in wenigen Sekunden) abgeschätzt werden, und dass all diese Objekte und Subjekte, ihre Ausdehnung und Eigenbewegung in der Karte repräsentiert werden. Es wird hierbei angenommen, dass dies in einem Data-Driven-Ecosystem durch eine hinreichend lange Beobachtung von realen Fahrszenen, intelligentes Labeling als Funktion in einem neuronalen Netz realisiert werden kann.
-
Die Aufgabe, also die Fahrplanung, wird erfindungsgemäß durch ein deterministisches Verfahren gelöst. Da nur in zwei Dimensionen geplant wird, kann der Algorithmus schnell genug sein, um seiner Aufgabe nachzukommen, die das Finden einer ungefährlichen Escape-Trajektorie betrifft. Es geht bei der vorliegenden Erfindung also unter anderem darum, in Notsituationen Leben zu retten, dadurch, dass der Algorithmus schneller planen kann als der Mensch.
-
Gezielt wird erfindungsgemäß ein A*-Algorithmus mit Fahrzeugmodell verwendet, um die zuvor berechneten holonomischen Lösungen für die Distanz zu Hindernissen und den Abstand zum Ziel zu verfolgen. Dabei wird eine schnelle Berechnung ähnlich der Fast Marching Methode erreicht, jedoch nicht baumartig mit Komplexität O(n log n), sondern in einfachen Queues der Komplexität O(n). Insbesondere dadurch ist die Berechnung schnell genug.
-
Erfindungsgemäß wird beim Fahrplaner auf alles verzichtet, was einer High-Level-Synthese im Wege steht. Also kann der Algorithmus nicht nur in Software, sondern auch direkt in Hardware parallel realisiert werden. Dadurch können im gleichen Zeitraum noch wesentlich mehr Lösungen verglichen werden. Mit anderen Worten vervielfacht sich die Betrachtung der möglichen Lösungen erheblich. Durch Vergleich mit und ohne bewegte Hindernisse und mit entsprechend ihren Auftretenswahrscheinlichkeiten verschobenen bewegten Hindernissen wird in mehrfacher paralleler Rechnung eine stabile Lösung gefunden.
-
Zurück zu dem oben erwähnten Anwendungsfall, dass ein Kind auf eine Straße rennt und hinter parkendem Fahrzeug auftaucht: Hier werden in Perception eine Latenz von 40 ms und in Planning eine Latenz von 30 ms gefordert. Eine Einzelplanung dauert typisch unter 8 ms, kann aber im Worst-Case-Fall bei 30 ms ergebnislos abbrechen. Auch deswegen ist die parallele Betrachtung mehrerer Einstellungen, Bewegungsvarianten und Auflösungen ratsam.
-
2 zeigt die vergrößerte Distanzkarte 10 nach 1 und ist zu entnehmen, dass ein bewegliches Hindernis 16 am oberen Teil der Distanzkarte 10 erkannt wird und einen Weg blockiert bzw. blockieren kann. Die Distanzkarte 10 mit insgesamt etwa 65000 (also 256*256) Knoten wird in dieser Ausführungsform in 4 ms gerechnet.
-
3 zeigt die vergrößerte Entfernungskarte 12 nach 1. Die dunkleren Bereiche in 3 weisen Knoten auf, die geringe Kosten haben als die Knoten in helleren Bereiche. Die Entfernungskarte 12 wird in dieser Ausführungsform in 2 ms gerechnet.
-
4 zeigt das vergrößerte Verfolgungsergebnis 14 mittels A*-Algorithmus nach 1. Die hybride, nicht holonomische Exploration mit Fahrzeugmodell nach dem A*-Algorithmus einschließlich der für die Führung benötigten holonomischen vorab-Berechnungen dauert in dieser Ausführungsform typisch 8 ms.
-
5 zeigt die vergrößerte befahrbare Fahrstrecke 8 nach 1. Jedes Pixel 18 der Fahrstrecke 8 entspricht einem Knoten in den Karten.
-
Die in 6 dargestellte Ausführungsform des erfindungsgemäßen Fahrplanungssystems 150 weist eine elektronische Steuereinheit 100 auf, die derart eingerichtet ist, eine Lagekarte mit einer Vielzahl von Knoten zu empfangen, die zumindest einen Startknoten und einen Zielknoten aufweisen, und einer Vielzahl von Hindernissen; für jeden der Knoten basierend auf der Lagekarte eine Distanzkarte zu generieren, die zumindest eine Distanz zwischen dem entsprechenden Knoten und einem für den Knoten nächstliegenden Hindernis angibt; für jeden der Knoten basierend auf der Lagekarte einer Entfernungskarte zu generieren, die eine Entfernung zwischen dem entsprechenden Knoten und dem Zielknoten angibt; basierend auf der Distanzkarte und der Entfernungskarte sowie einer begrenzten Lenkwinkel-Änderung eines Fahrzeugs den jeweiligen Knoten zu bewerten; und mittels eines A*-Algorithmus eine Fahrstrecke von dem Startknoten bis zu dem Zielknoten zu generieren, nach der die Hindernisse zumindest teilweise umfahrbar sind.
-
Die in 7 dargestellte Ausführungsform des erfindungsgemäßen Computerprogramms 200 umfasst Befehle 250, die bei der Ausführung des Programms 200 durch einen Computer diesen veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
Die in 8 dargestellte Ausführungsform des erfindungsgemäßen computerlesbaren Mediums 300 umfasst Befehle 350, die bei der Ausführung durch einen Computer diesen veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
Die vorliegende Erfindung ist sowohl in einem Fahrerassistenzsystem als auch in einem hochautomatisierten und fahrerlosen Fahrzeugsystem verwendbar.
-
Obwohl die vorliegende Erfindung anhand bevorzugter Ausführungsbeispiele vorstehend vollständig beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Art und Weise modifizierbar. Beispielsweise ist die Aufgabe der vorliegenden Erfindung „nur“ eine ausweichende Planung. Solange dabei der Unfall vermieden wird, ist diese ausreichend gut. Zum Einparken genügt diese jedoch nicht. Allerdings resultiert dann aus dem zweidimensionalen Fahrplaner schnell ein dreidimensionaler oder vierdimensionaler Planer, falls die Ausrichtung und die Fahrtrichtung bzw. die Geschwindigkeit als zusätzliche Dimensionen betrachtet werden können.
-
Bezugszeichenliste
-
- 1
- Queue
- 2
- Lagekarte
- 3
- Pfeil
- 4
- Startknoten
- 5
- Funktion
- 6
- Zielknoten
- 7
- Berechnung
- 8
- Fahrstrecke
- 10
- Distanzkarte
- 12
- Entfernungskarte
- 14
- Verfolgungsergebnis
- 16
- bewegliches Hindernis
- 18
- Pixel
- 100
- elektronische Steuereinheit
- 150
- Fahrplanungssystem
- 200
- Computerprogramm
- 250:
- Befehle in einem Computerprogramm
- 300:
- computerlesbares Medium
- 350:
- Befehle in einem computerlesbaren Medium