Von der Theorie in die Praxis

Entwicklung der Längsregelung für ein selbstfahrendes Taxi

15. Oktober 2019, 10:00 Uhr | Von Alan Mond
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Erstellung einer eigenen modellprädiktiven Regelung

Das Entwicklerteam ging erneut ans Reißbrett und entwarf ein System von Grund auf. Es verwendete buchstäblich ein Whiteboard und erstellte ein kinematisches Modell, das die Bewegung des Taxis mithilfe grundlegender Mathematik beschrieb. Das Team implementierte dieses kinematische Modell in Simulink und verwendete es als Grundlage für den Entwurf der Regelung. Anschließend passten die Entwickler die Parameter des MPC-Modells an ihre Anforderungen an und fügten Logik zur Behandlung von Randfällen und Szenarien hinzu, für die das ursprüngliche MPC-Modell nicht optimal war, zum Beispiel Stop-and-go-Verkehr.

In diesen frühen Entwicklungsphasen wurden mit der Robotics System Toolbox Gigabyte an Daten aus Rosbag-Protokolldateien in die Matlab-Umgebung importiert und alle ROS-Topics herausgefiltert, die für die Längsregelung nicht relevant sind. Auf die importierten Daten konnte dann wie auf jede andere Matlab-Variable zugegriffen werden, was die Analyse und Arbeit mit ihnen erleichterte.

Die Entwickler simulierten das Regelungsmodell in Simulink, um sicherzustellen, dass seine Ausgaben, die Gaspedalstellung und die Bremspedalstellung plausibel waren und dass sich das Modell verhielt wie für die angestrebten Eingabedatensätze erwartet.

Tests im Fahrzeug

Die Simulationen gaben dem Entwicklerteam genügend Vertrauen in sein Regelungs-Design, um es im Fahrzeug auszuprobieren und selbst als erste Fahrgäste einzusteigen. Die Entwickler generierten C++-Code aus dem neu entworfenen Regelungsmodell für einen ROS-Knoten und stellten den Knoten in einem Docker-Container für das Fahrzeug bereit. Mit Docker konnten sie ein Bild ihrer Produktionsumgebung mit allen notwendigen Abhängigkeiten erstellen und dieses Bild während der Entwicklung und der Tests konsistent pflegen und replizieren.
Bei den ersten Tests im Fahrzeug zeigte sich sofort, dass die Regelung beim Beschleunigen und Bremsen zu aggressiv war. Obwohl die während der Simulationen erstellten Diagramme scheinbar sanfte Geschwindigkeitsänderungen zeigten, war dann das tatsächliche Fahrerlebnis alles andere als sanft. Diese Erkenntnis zeigte, wie wichtig es ist, mit modellbasiertem Design schnell vom Konzept zu praktischen Tests auf der Straße zu gelangen. Die Entwickler konnten die Qualität ihres Designs im Labor einfach nicht gut genug beurteilen, sondern mussten sie als Fahrgäste im Auto erleben.

Sie führten mehrere Entwurfsiterationen durch und optimierten dabei Parameter und Beschränkungen, einschließlich der Grenzen für Beschleunigung und Ruck sowie der Zeitkonstanten und der Aktualisierungsrate für die MPC-Ausgaben. Sie richteten ROS-Parameter im Simulink-Modell ein, um es ihren Kollegen zu erleichtern, Parameter direkt über das ROS zu kalibrieren. Auch ohne Erfahrung mit Simulink können die Kollegen Parameterwerte somit schnell aktualisieren.

Virtuelle Fahrzeuge zum Testen von Bremsszenarien

Weil es unsicher wäre, Szenarien zu testen, in denen ein anderes Fahrzeug in die Fahrspur des Voyage-Taxis einbiegt, erstellten die Entwickler einen neuartigen ROS-Knoten, um ein Phantomhindernis zu simulieren – im Wesentlichen ein virtuelles Fahrzeug, das in verschiedenen Abständen vom Taxi positioniert werden kann. Sie erstellten dieses virtuelle Fahrzeug in Simulink und parametrisierten es so, dass sie es beispielsweise mit null Geschwindigkeit starten lassen und die Geschwindigkeit schrittweise erhöhen konnten. Sie generierten Code für den ROS-Knoten mit Simulink Coder und nutzten den Knoten dann, um die Bremsleistung der Regelung zu testen und zu optimieren. Mit diesem Knoten, dessen Entwicklung nur wenige Stunden dauerte, konnten sie virtuelle Hindernisse vor ihrem Taxi erzeugen, um genau zu beobachten, wie es reagierte, und dann sein Verhalten anpassen, bis es sicher und reibungslos anhielt.

Auf der Straße

Die mit Model-Based Design entwickelte Längsregelung ist in selbstfahrenden Taxis in den von Voyage bedienten Seniorensiedlungen im Einsatz. Die Nachfrage durch die Senioren wächst: Die Nutzung der Taxis steigt wöchentlich um zehn Prozent. Das Ingenieurteam lernt aus Daten, die während dieser Fahrten gesammelt werden, und verfeinert die Steuerung entsprechend weiter.

 

Der Autor

 

Alan-Mond bei Voyage
Alan-Mond bei Voyage.
© Voyage

Alan Mond

ist ein Self-Driving-Ingenieur bei Voyage. Als leitender Mechatroniker sammelte er auch Erfahrung im Management komplexer technischer Projekte, Steuerungen und im Bereich Automatisierung sowie derzeit in der Fertigung von Prototypen und Kleinserien.

 


  1. Entwicklung der Längsregelung für ein selbstfahrendes Taxi
  2. Erstellung einer eigenen modellprädiktiven Regelung

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Automatisiertes Fahren

Weitere Artikel zu Safety und Security