AlphaBot: Geregelte Fahrt mit Linienverfolger
Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatik Praktikum 2, 2. Semester
Inhalt
- Inbetriebnahme des Linienverfolgungssensors
- Kalibrierung des Linienverfolgungssensors
- 2-Punkt-Regler
- PD-Regler
- x-y-Plot der Roboterpose
Lernziele
Nach Durchführung dieser Lektion können Sie
- geregelt einer Linie folgen.
- den Kurswinkel aus differenzieller Odometrie bestimmen und darstellen.
- die Funktion eines PID-Reglers erläutern.
- einen PD-Regler systematisch auslegen.
- die Auslegung systematisch dokumentieren
Vorbereitung/Hausaufgabe
Bereiten Sie diese Aufgabe für den Praktikumstermin vor.
- Planen Sie jede Aufgabe als PAP.
- Nehmen Sie den Linienverfolger anhand der Beispiel
E28_IR_Line_Tracking_Sensor_Messung
undE28b_IR_Line_Tracking_Sensor
in Betrieb. - Nutzen Sie das Tutorial AlphaBot_Linienverfolgungsssensor zur Einarbeitung.
- Kalibrieren Sie den Sensor.
- Zeigen Sie die Messwerte im Seriellen Monitor an.
- Beantworten Sie die Lernzielkontrollfragen.
- Ohne umfangreiche Vorbereitung werden Sie nicht zum Praktikum zugelassen.
Arbeitsergebnis: kalibriereLinienverfolger.ino
Lernzielkontrollfragen
Lernzielkontrollfragen:
- Wie funktioniert der Linienverfolgungssensors technisch?
- Arbeitet der Sensor passiv?
- Welche Bauteile kommen in Sender und Empfänger zum Einsatz?
- Welche Wellenlänge hat das ausgesendete Licht? Ist dieses sichtbar?
- Wieso und wie wird der Sensor kalibriert?
- Erläutern Sie wie und wieso ein gewichteter Mittelwert gebildet wird.
- Welchen Messbereich hat das Sensorsystem?
- Welcher Wert dient als Sollwert?
Versuchsdurchführung
Aufgabe 8.1: 2-Punkt-Regler
Programmieren Sie einen 2-Punkt-Regler, damit der AlphaBot der schwarzen Linien folgt. Der 2-Punkt-Regler fährt beispielsweise nach rechts, wenn er hell sieht und nach links, wenn er Schwarz sieht. So "hangelt" er sich zappelig an der Linie entlang.
Arbeitsergebnissse: ZweiPunktRegler.pap, ZweiPunktRegler.ino
Tipp 1 |
Abb. 5: Kursbestimmung aus differentieller Odometrie |
Für den Kurswinkel gilt: mit : Spurweite |
Der AlphaBot hat eine Spurweite von 14 cm. |
Literatur: Lokalisierung und Odometrie eines Roboters mit differentiellem Antrieb |
Die neue Postion des Roboters lässt sich dann als die alte Postion plus der Positionsänderung beschreiben: |
Aufgabe 8.2: PD-Regler
Programmieren Sie einen PD-Regler gemäß Abb. 3, damit der AlphaBot der schwarzen Linien folgt. Planen Sie zuvor das Programm als PAP.
- Wählen Sie den Sollwert als Konstante.
- In welchem Bereich bewegt sich der Istwert?
- Setzen Sie die Motorsteuerung mit dem Befehl
MotorRun(L,R)
um, wobei gilt . - Experimentieren Sie, welche Parameter PID die besten Ergebnisse liefern.
- Dokumentieren Sie Ihre Ergebnisse systematisch tabellarisch.
Arbeitsergebnisse: PDRegler.pap, PDRegler.ino, PD_Parametervariation.xslx
Nützliche Links:
- info8uniwue: Einführung PID Regler
- Loviscach, J.: P- und PI-Regler; Einstellung nach Ziegler-Nichols
- Studyfix: Regelkreis
- AlphaBot - Linienverfolgungssensor
Aufgabe 8.3: Geradeausfahrt mit Linienverfolger
Nun wollen wir gleichzeitig den Ultraschall und Linienverfolger nutzen.
- Bereiten Sie sich vor, indem Sie die Funktion des Linienverfolgungssensors in der gängigen Fachliteratur (z. B. AlphaBot - Linienverfolgungssensor) recherchieren und erläutern können.
- Nutzen Sie schwarzes Klebeband auf einem hellen Untergrund (z. B. weißes Blatt Papier), um eine gerade Fahrstrecke von 2 m zu markieren.
- Drehen Sie den Ultraschall-Sensor auf 180° (Blick auf die Wand).
- Messen Sie während der Fahrt die gefahrene Strecke (x) mit der Odometrie.
- Messen Sie während der Fahrt den Abstand zur Wand (y) mit dem Ultraschall Sensor.
- Folgen Sie der schwarzen Linie möglichst geradlinig.
- Experimentieren Sie, welche Parameter PID die besten Ergebnisse liefern.
- Dokumentieren Sie Ihre Ergebnisse systematisch tabellarisch.
- Zeichnen Sie die Roboterpose (x,y,ψ) in MATLAB®.
Arbeitsergebnisse: PDReglerUltraschall.pap, PDReglerUltraschall.ino, zeigeRoboterpose.m
Aufgabe 8.4: Nachhaltige Doku
Sichern Sie alle Ergebnisse mit beschreibendem Text (message
) in SVN.
- Halten Sie die Regeln für den Umgang mit SVN ein.
- Halten Sie die Programmierrichtlinie für C und die Programmierrichtlinien für MATLAB® ein.
- Versehen Sie jedes Programm mit einem Header (Header Beispiel für MATLAB, Header Beispiel für C).
- Kommentiere Sie den Quelltext umfangreich.
Arbeitsergebnis in SVN: SVN Log
Tutorials
- AlphaBot_Linienverfolgungsssensor
- info8uniwue: Einführung PID Regler
- Loviscach, J.: P- und PI-Regler; Einstellung nach Ziegler-Nichols
- Studyfix: Regelkreis
Demos
E28_IR_Line_Tracking_Sensor_Messung
E28b_IR_Line_Tracking_Sensor
Literatur
→ Termine 1 2 3 4 5 6 7 8 9 10 11
→ zurück zum Hauptartikel: Informatik Praktikum 2