Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

PID-Regler und Wandnavigation mit LIDAR in Webots: Ein praktischer Leitfaden für CDA 4621 Lab 2

Lerne, wie du einen PID-Regler mit LIDAR-Sensoren in Webots implementierst, um einen Roboter parallel zur Wand fahren zu lassen und vor einer Endwand zu stoppen. Inklusive Schritt-für-Schritt-Erklärungen und Tuning der PID-Parameter.

PID-Regler Webots CDA 4621 LIDAR Navigation Wandfolgen Robotersteuerung FAIRIS Lite Python Robotik PID Parameter Tuning Wandstopp Autonome Navigation Labyrinth lösen Sensorfusion Regelungstechnik Studium Webots Tutorial Deutsch

Einführung in die PID-Regelung für die Roboternavigation

In diesem Tutorial lernst du, wie du einen PID-Regler (Proportional-Integral-Differential) einsetzt, um einen Roboter in Webots mithilfe eines LIDAR-Sensors präzise zu steuern. Die Aufgabe stammt aus dem Lab 2 des Kurses CDA 4621 und umfasst zwei Hauptteile: das Stoppen vor einer Wand in 1 Meter Entfernung (Task 1) und das Verfolgen einer Wand (Task 2). Solche Regelungen sind nicht nur in der Robotik, sondern auch in aktuellen Anwendungen wie autonomen Fahrzeugen oder Drohnen essenziell. Stell dir vor, ein Lieferroboter in einer smarten Stadt muss exakt vor einer Tür stoppen – genau das trainierst du hier.

Grundlagen des PID-Reglers

Ein PID-Regler berechnet einen Korrekturwert u(t) aus der Abweichung e(t) zwischen Sollwert und Istwert. Die Formel lautet:

u(t) = Kp * e(t) + Ki * ∫ e(t) dt + Kd * de(t)/dt

In der iterativen Umsetzung für Mikrocontroller oder Simulationen verwendest du:

  • Proportionalterm: P(t) = Kp * e(t)
  • Integralterm: I(t) = I(t-1) + e(t) * dt
  • Differentialterm: D(t) = (e(t) - e(t-1)) / dt

Der Ausgang wird dann begrenzt (Saturation), um die Motoren nicht zu überlasten.

LIDAR-Sensor in FAIRIS Lite nutzen

Der LIDAR-Sensor des FAIRIS Lite Roboters liefert 800 Messwerte über 360 Grad. Der Index 0 zeigt nach hinten, 200 nach links, 400 nach vorne und 600 nach rechts. Du greifst mit robot.get_lidar_range_image() auf die Daten zu. Für die Wandverfolgung benötigst du die seitlichen Abstände (links/rechts) und für das Stoppen den vorderen Abstand. Denke daran, dass der Roboter in Webots in einer simulierten Umgebung agiert – ideal, um verschiedene PID-Parameter gefahrlos zu testen.

Aufgabe 1: PID-gesteuerter Wandstopp

Dein Roboter startet 6,5 Meter vor einer Wand und soll exakt 1 Meter davor anhalten. Lade dazu die Welt maze2.xml und setze die Zeitschrittweite dt = 0,032. Experimentiere mit den PID-Konstanten aus den Werten 0,001; 0,01; 0,5; 1,0; 5,0; 10,0 für Kp, Ki und Kd. Ziel ist es, dass der Roboter sanft abbremst und nicht überschwingt. Teste auch, ob der Roboter rückwärts fährt, wenn du ihn näher als 1 Meter an die Wand schiebst. Ein gut abgestimmter PID-Regler verhindert ein Überschwingen – ähnlich wie ein selbstfahrendes Auto sanft an einer roten Ampel hält.

Aufgabe 2: Wandverfolgung (Wall Following)

In den Labyrinthen maze3.xml und maze4.xml soll der Roboter entweder der linken oder rechten Wand folgen. Dabei gilt: Bei einer Frontwand dreht er 90 Grad und folgt weiter derselben Seite. Endet die Wand abrupt, umfährt er die Ecke. Wichtig: Der Roboter darf die Seite nicht wechseln. Je nach Labyrinth und gewählter Seite kann es vorkommen, dass das Ziel nicht erreicht wird – das sollst du identifizieren. Diese Technik wird auch in autonomen Saugrobotern eingesetzt, die systematisch Räume reinigen.

Praktische Tipps zur Implementierung

  • Verwende eine Klasse für den PID-Regler, die die vergangenen Fehler speichert.
  • Lese die LIDAR-Daten in jedem Zeitschritt aus und extrahiere die relevanten Winkel.
  • Wähle die PID-Parameter systematisch: Starte mit Kp, dann Ki, dann Kd.
  • Nutze die Sättigungsfunktion, um die Motordrehzahlen im Bereich [-max, max] zu halten.

Ein typischer Fehler ist, dass der Integralanteil zu groß wird (Windup). Begrenze daher das Integral oder setze es zurück, wenn der Roboter steht. In der Simulation kannst du die Parameter schnell anpassen – nutze das für ein optimales Fahrverhalten.

Trendbezug: Von der Simulation zur Realität

Die gleichen PID-Regler werden in E-Scootern, Lieferrobotern und sogar in der Stabilisierung von Kameradrohnen verwendet. Wenn du verstehst, wie man einen Roboter in Webots präzise steuert, hast du eine Kernkompetenz für viele moderne Technologien. Stell dir vor, du entwickelst einen Algorithmus für einen Rasenmähroboter, der exakt entlang der Kante fährt – das ist exakt das, was du hier lernst.

Zusammenfassung

Mit diesem Tutorial hast du die Grundlagen der PID-Regelung und LIDAR-Navigation in Webots kennengelernt. Du kannst nun einen Roboter vor einer Wand stoppen und einer Wand folgen. Experimentiere mit den Parametern und dokumentiere deine Ergebnisse – so findest du die beste Kombination für dein Lab 2 in CDA 4621.