AlphaBot: Gesteuerte Geradeausfahrt

| Autor: | Prof. Dr.-Ing. Schneider |
| Modul: | Praxismodul II |
| Lehrveranstaltung: | Mechatronik, Informatik Praktikum 2, 2. Semester |
Inhalt
- Autonome Mobile Roboter müssen zur Erfüllung von Aufgaben im Raum navigieren. Der einfachste Weg ist über Odometrie. In dieser Lektion fahren wir feste Figuren im Raum ab.
Lernziele
Nach Durchführung dieser Lektion können Sie
- Ihren Roboter eine vorgegebene Strecke geradeaus fahren lassen.
- Bei Objekten im Fahrschlauch eine Notbremsung durchführen.
- Messwerte in einer Textdatei speichern.
- Messwerte mit MATLAB® analysieren.
Vorbereitung
- Schauen Sie Ihre Ergebnisse der Programier-Challenge I an, kopieren Sie diese in den Ordner
Termin_06. - Optimieren Sie die Kopie bis alles lauffähig ist.
Versuchsdurchführung
Aufgabe 7.0: Demo
Prof. Schneider zeigt eine mögliche Lösung der Programmierchallenge als Software-Walkthrough. Sie bekommen im Anschluss die Möglichkeit Ihre Lösung zu optimieren, um das Gelernte zu vertiefen.
Aufgabe 7.1: Schleife - Fahre Dreieck

- Erweitern Sie Ihr bisheriges Programm, um die Seiten eines Dreiecks abzufahren (vgl. Abb. 2).
- Die Seitenlänge a ist eine Variable und soll 30 cm betragen.
- Führen Sie eine Schleife 3x aus, die aus Geradeausfahrt und Drehung besteht.
- Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
Arbeitsergebnis: fahreDreieck.ino
| Tipp 1 |
| Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis. |
| Kapseln Sie Quelltext, der sich häufig wiederholt in Funktionen. Ein Beispiel hier für finden Sie unter den Beispielen E33_Unterfunktion.Wenn Sie beispielsweise das Quadrat programmieren,
programmieren Sie zwei Funktionen void |
Aufgabe 7.2: Variablen nutzen
Der Roboter soll eine quadratische Fläche komplett abfahren, dabei wird die Kantenlänge des Quadrats immer geringer (vgl. Abb. 1). Die Aufgabe eignet sich auch um eine komplette Fläche abzusuchen z. B. um Gegenstände in einem definierten Bereich zu finden.
Arbeitsergebnis: fahreSchnecke.ino
| Tipp 1 |
| Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis. |
| Nutzen Sie die Ihre Funktionen aus den vorherigen Aufgaben. |
Aufgabe 7.3: Der Rasen von Wimbledon
Schreiben Sie ein Programm, das in immer gleichen Abständen parallele Bahnen mäht (vgl. Abb. 2 und Abb. 3).


Arbeitsergebnis: maeheRasen.ino
| Tipp 1 |
| Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis. |
| Nutzen Sie die Ihre Funktionen aus den vorherigen Aufgaben. |
Aufgabe 7.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
Demos
E01_MotorenTestE15_RadInkrementalgeberFahrtE22_OLED_DisplayE33_Unterfunktion
Literatur
→ Termine 1 2 3 4 5 6 7 8 9 10
→ zurück zum Hauptartikel: Informatik Praktikum 2