AlphaBot: Roboternavigation

| Autor: | Prof. Dr.-Ing. Schneider |
| Modul: | Praxismodul II |
| Lektion 6: | Mechatronik, Informatikpraktikum 2, 2. Semester |
| Datum: | 08.05.2025 |
| Bearbeitungsdauer: | 60 Minuten |
Inhalt
Diese Programmier-Challenge dient als Lernzielkontrolle und semesterbegleitende Abschlussprüfung. Im Termin erhalten Sie eine Herausforderung, die Sie in einem festen Zeitrahmen als Team oder Einzelperson lösen. Das Ergebnis dieser Challenge wird in SVN gesichert und anschließend bewertet. Inhaltlich ist die Aufgabe eine Mischung der vorangegangenen Lektionen 1-4. Sie haben Zugriff auf Ihre Quellen in SVN sowie die Demos.
Dies sind freiwillige Übungsaufgaben.
Vorbereitung
- Die Programmier-Challenge verbindet die Lektionen 1-4.
- Üben Sie das Planen der Software mit dem PAP-Designer. Bereiten Sie sich ein Template für die Arduino Programmierung vor.
- Nutzen Sie die Funktionen aus den vorherigen Lektionen. Schreiben Sie nicht alles neu. Wenden Sie das Gelernte an.
Übungsaufgabe 1: Roboterpose
- Fahren Sie einen Kreis mit 1 m Radius.
- Bestimmen Sie die Roboterpose ( ) anhand der Odometrie und sichern Sie diese mit Putty in der Textdatei
Roboterpose.txt. - Zeichnen Sie die Roboterpose in MATLAB®.
Arbeitsergebnis: Kreisfahrt.ino, Roboterpose.txt, zeichneRoboterpose.m
| Tipps |
| 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: |
Führen Sie die nachfolgenden Roboterbewegungen möglichst exakt aus.
- Fahren Sie 1 m geradeaus.
- Fahren Sie einen Kreis mit 1 m Durchmesser.
- Fahren Sie 1 m rückwärts.
Stehen Sie auf Ihrer Ausgangsposition?
Arbeitsergebnis: fahreZumStartpunkt.ino
| Tipps |
| Es ist nahezu unmöglich allein mit Odometrie exakt zu navigieren. Räder haben stets Schlupf. |
| Steuern Sie die Räder langsam an. |
Nutzen Sie dieselbe Unterfunktionfunktion fahreStrecke(Kruemmung), um die Fahrt zu starten. Die Krümmung berechnet sich aus dem Radius: .
|
| : Geradeausfahrt : Kurvenfahrt mit 1 m Radius. |
| Das Potentiometer der Multisensorerweiterung lässt sich nutzen, um den Gleichlauf der Motoren einzustellen. |
Übungsaufgabe 3: Hinderniserkennung
Ein Hindernis erscheint plötzlich in Ihrem Fahrschlauch. Sie reagieren mit einer Notbremsung, um den Unfall zu vermeiden. Verlässt das Hindernis (z. B. ein Reh) die Fahrbahn, kann die geplante Fahrt weitergehen.
- Nutzen Sie
fahreZumStartpunkt.inoaus Übungsaufgabe 2. - Stoppen Sie, falls weniger als 20 cm vor Ihnen ein Hindernise auftaucht/steht (Notbremse).
- Fahren Sie weiter, sobald das Hindernis entfernt wurde.
Arbeitsergebnis: Notbremsassistent.ino
| Tipps |
| Drehen Sie den Ultraschall auf 90 ° (in Fahrrichtung geradeaus). |
| Wird ein Hindernis detektiert wird die Fahrt umgehend pausiert. Speichern Sie den Zustand. |
| Wird ein Hindernis entfernt wird die Fahrt wieder weitergeführt. Beispiel: Die Fahrstrecke beträgt 1 m geradeaus. Zum Zeitpunkt der Notbremsung wurden bereits 50 cm gefahren. Ist das Hindernis entfernt, fahren Sie 50 cm weiter. |
Tutorial
Literatur
[1] Internetforum. RuleTheBots: Lokalisierung und Odometrie eines Roboters mit differentiellem Antrieb [online]. [Zugriff am: 20. April 2025]. Verfügbar unter: https://spacehal.github.io/docs/robotik/odometrie
[2] Internetforum. Projektlabor Robotik MINTgrün: Navigation mit Differenzialantrieb [online]. [Zugriff am: 20. April 2025]. Verfügbar unter: https://www.mintgruen.tu-berlin.de/robotikWiki/doku.php?id=techniken:odometrie
[3] G.W. Lucas: A Tutorial and Elementary Trajectory Model for the Differential Steering System of Robot Wheel Actuators [online]. [Zugriff am: 20. April 2025]. Verfügbar unter: https://rossum.sourceforge.net/papers/DiffSteer/DiffSteer.html
FAQ
- Ist Anwesenheitspflicht? Ja.
- Muss ich den Baukasten mitbringen? Nein. Die AlphaBots stehen Ihnen im Labor zur Verfügung.
- Ist es ein Plagiat, wenn ich Quelltext anderer kopiere und als meine Leistung in einer Prüfung abgebe? Ja.
- Darf ich für die Lösung eine KI verwenden? Nein. Die Prüfungsleistung ist eine Eigenleistung und die Verwendung einer KI wie z. B.
chatGPTgilt als Plagiat.
→ Termine 1 2 3 4 5 6 7 8 9 10
→ zurück zum Hauptartikel: Informatik Praktikum 2