Von der Theorie in die Praxis Entwicklung der Längsregelung für ein selbstfahrendes Taxi

Das Brems- und Beschleunigungsregelungssystem als Teil des Längsregelungssystem passiert auf das Matlab und Simulink von Mathworks. Somit kann  ein selbstfahrendes Taxi in zwei Monaten fertiggestellt werden.
Das Brems- und Beschleunigungsregelungssystem als Teil des Längsregelungssystem passiert auf das Matlab und Simulink von Mathworks. Somit kann ein selbstfahrendes Taxi in zwei Monaten fertiggestellt werden.

Mit modellbasiertem Design konnte das Start-up »Voyage« ein Brems- und Beschleunigungsregelungssystem als Teil des Längsregelungssystems eines selbstfahrenden Taxis in zwei Monaten fertigstellen. Dabei setzte das Unternehmen auf Matlab und Simulink von Mathworks.

Der erste Fahrgast, der in einem selbstfahrenden Taxi von Voyage fuhr, war eine blinde Frau namens Bev. Auf die Frage, wie ihr die Fahrt gefiel, antwortete Bev, dass sie sich sicher fühlte – dass sich die Fahrt viel sanfter anfühlte als in einigen Fahrzeugen, die von sehenden Menschen gefahren wurden.

Als kleines Start-up, das mit vielen größeren Unternehmen konkurriert, die an Technologien für das autonome Fahren arbeiten, will Voyage so schnell wie möglich iterieren. Eines der Ziele ist es, die Zeit zwischen der Erforschung von Ideen auf dem Whiteboard und der Umsetzung dieser Ideen auf der Straße zu minimieren. Daher hat sich das Entwicklerteam auf eine klar umrissene Aufgabe konzentriert: den ersten Taxidienst speziell für den Betrieb in kleinen Siedlungen zu entwickeln (Bild 1), einhergehend mit der Verfeinerung des Designs in mehreren Iterationen.

Das Team verwendete Docker-Container, um Systemabhängigkeiten zu verwalten, sowie das Robot-Operating-System (ROS) als Middleware für Wahrnehmung, Bewegungsplanung und Steuerung.

Statt die MPC-Algorithmen (Model Predictive Control, modellprädiktive Regelung) für das Längsregelungssystem manuell zu codieren, verwendeten die Entwickler modellbasiertes Design mit Matlab und Simulink. Das Team von drei Ingenieuren konnte das erste Brems- und Beschleunigungsregelungssystem in zwei Monaten fertigstellen.

Komplexität des selbstfahrenden Autos begrenzen

Selbstfahrende Autos enthalten äußerst komplexe Systeme, um die Umgebung zu erfassen, einen Weg zu einem Ziel zu planen und die Lenkung und Geschwindigkeit zu steuern (Bild 2). Eine weitere große Herausforderung für Design und Implementierung dieser Systeme entsteht durch alle Objekte und Gefahren in der Umgebung. Darunter sind etwa Kreuzungen, Fußgänger-überwege, Kreisverkehre, Baustellen, Fußgänger, Haarnadelkurven, Einbahnstraßen, Tiere und Geschwindigkeitsbegrenzungen sowie das unvorhersehbare Fahrverhalten anderer Fahrzeuge.

Um die Aufgaben des Regelungs-Designs zu vereinfachen, entschied sich Voyage, seine ersten selbstfahrenden Taxis in Senioren-siedlungen einzusetzen, die als strategische Partner agieren (Bild 3). Diese Siedlungen sind nicht nur gut kartiert und klar abgegrenzt, sondern geben auch Geschwindigkeitsbegrenzungen vor – in der Regel 40 km/h.

Schneller Entwicklungsbeginn

Zunächst untersuchte das Team, wie es die Längsregelung so schnell wie möglich sicher umsetzen konnte. Es entschied sich dafür, mit dem Beispiel für eine adaptive Geschwindigkeitsregelung (Adaptive Cruise Control, ACC) von Matlab zu beginnen. Dieses Beispiel umfasst ein Simulink-Modell, das MPC verwendet, um ein ACC-System zu implementieren, das eine Sollgeschwindigkeit oder einen bestimmten Abstand von einem vor ihm fahrenden Fahrzeug einhalten kann (Bild 4).

Nachdem das Entwicklerteam dieses Modell heruntergeladen und einige vorläufige Simulationen in Simulink durchgeführt hatte, generierte es mit der Robotics System Toolbox und Simulink Coder aus dem Modell C++-Code für einen eigenständigen ROS-Knoten. Die gesamte Software für das selbstfahrende Taxi von Voyage ist modular aufgebaut und jedes Subsystem – Wahrnehmung, Wegplanung, Längsregelung und andere – wird als ROS-Knoten ausgeführt. Innerhalb von drei Tagen war der generierte Code für die ACC im Fahrzeug ausführungsbereit.

Obwohl das ACC-Modell in Simulink Potenzial hatte, konnte es nicht alle Anforderungen von Voyage erfüllen. Beispielsweise war das Losfahren und Anhalten des Fahrzeugs zu ruckartig, und es stellte sich heraus, dass Fahrgäste besonders empfindlich auf diese Art von Bewegung reagieren. Ein Fahrgast im Taxi bemerkt nicht unbedingt, wie gut die Erkennungs- und Wahrnehmungsalgorithmen funktionieren, aber sofort, wie gut die Längsregelung funktioniert.