Hier wurde ein PID Controller implementiert, mit dessen Hilfe ein Fahrzeug entlang einer Trajektorie gesteuert werden soll. Das Fahrzeug darf dabei die Spurbegrenzungen nicht überfahren. Dafür wurden die Hyperparameter des Controllers für P, I und D Anteil solange in einem Finetuning Prozess angepasst, bis eine geeignete Kombination gefunden wurde, mit der das Fahrzeug den Kurs abfahren kann. Ein Ergebnisvideo, sowie eine Beschreibung finden sich weiter unten.
Um den gesamten Fehler berechnen zu können, werden zunächst Parameter K_p, K_d und K_i initiiert, und die Fehler k_error, d_error und i_error werden zu 0 gesetzt. Der Lenkwinkel wird ebenfalls auf realistische Werte begrenzt.
Der gesamte Fehler lässt sich aus der Summe der negativen Fehler von P-, I- und D-Anteil berechnen.
Anschließend erfolgt die Anpassung der Hyperparameter. Hierzu wurden mehrere Versuche durchgeführt. Werden K_p, K_d und K_i zu 0 gesetzt, lenkt das Fahrzeug nicht und fährt bei der ersten Kurve von der Strecke. Wird darauf aufbauend nur K_p erhöht, bewegt sich das Fahrzeug in Schlangenlinien. Dies liegt daran, dass der P-Fehler proportional zur Abweichung des Fahrzeugs von der Trajektorie ist. Wenn hingegen nur K_d verändert wird, berechnet sich der Fehler aus der Differenz von der Spurabweichung im aktuellen Zeitschritt und der Spurabweichung aus dem vorherigen Zeitschritt. Dadurch ist das Fahrzeug nicht in der Lage, bei scharfen Kurven genug einzulenken und es verlässt die Fahrbahn. Wird nur K_i verändert, lenkt das Fahrzeug stärker, je weiter es von der Spurmitte entfernt ist und überfährt die Markierungen. Im finalen Video ist eine Kombination der Parameter implementiert worden, bei der die ungewünschten Nebeneffekte vermindert werden konnten.
Die an dieser Stelle vorgesehenen Inhalte können aufgrund Ihrer aktuellen Cookie-Einstellungen nicht angezeigt werden.
Diese Webseite bietet möglicherweise Inhalte oder Funktionalitäten an, die von Drittanbietern eigenverantwortlich zur Verfügung gestellt werden. Diese Drittanbieter können eigene Cookies setzen, z.B. um die Nutzeraktivität zu verfolgen oder ihre Angebote zu personalisieren und zu optimieren.
Diese Webseite verwendet Cookies, um Besuchern ein optimales Nutzererlebnis zu bieten. Bestimmte Inhalte von Drittanbietern werden nur angezeigt, wenn die entsprechende Option aktiviert ist. Die Datenverarbeitung kann dann auch in einem Drittland erfolgen. Weitere Informationen hierzu in der Datenschutzerklärung.