AlphaBot: Autonomes Einparken: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 9: Zeile 9:
*  
*  
== Lernziele==
== Lernziele==
Nach Durchf¨uhrung dieser Lektion k¨onnen Sie
Nach Durchführung dieser Lektion können Sie
* mit yED eine Zustandsmaschine planen.
* eine Zustandsmaschine programmieren.
* eine Zustandsmaschine programmieren.
* funktional programmieren und Funktionen zu einem großen Projekt zusammenf¨ugen.
* funktional programmieren und Funktionen zu einem großen Projekt zusammenf¨ugen.

Version vom 19. Mai 2023, 14:20 Uhr

Abb. 1: Schritte eines Einparkvorgangs

Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatik Praktikum 2, 2. Semester

Inhalt

Lernziele

Nach Durchführung dieser Lektion können Sie

  • mit yED eine Zustandsmaschine planen.
  • eine Zustandsmaschine programmieren.
  • funktional programmieren und Funktionen zu einem großen Projekt zusammenf¨ugen.
  • Quelltext debuggen und optimieren.
  • Messdaten speichern und via MATLAB® auswerten und visualisieren.
  • autonom einen AlphaBot einparken.

Vorbereitung/Hausaufgabe

In diesem Praktikumstermin soll Ihr AlphaBot autonom einparken. Erstellen Sie als Vorbereitung ein Zustandsdiagramm für die Funktion Parken() mit yEd. Planen Sie eine Zustandsmaschine, die zwischen den Zuständen

  • Zustand 1: Parklücke suchen,
  • Zustand 2: Rechtseinschlag (rückwärts),
  • Zustand 3: Linkseinschlag (rückwärts) und
  • Zustand 4: Geradeaus (Korrekturzug)

unterscheiden kann. Welche Transitionen führen zu den Zustandsübergängen?

Legen Sie das programm als Funktionsrümpfe an.

Arbeitsergebnis: ZustandsdiagrammAutonomesParken.graphml

Arbeitsergebnisse: AEP.pap, AEP.ino

Versuchsdurchführung

In diesem Termin lassen wir den AlphaBot autonom einparken.

Aufgabe 10.1: Parken

Schreiben Sie das Programm AutonomesParken.ino. Folgende Funktionsanforderungen sollten erfüllt werden:

  1. Erstellen Sie eine Zustandsmaschine, die zwischen den 4 Zuständen
    1. Zustand 1: Parkl¨ucke suchen,
    2. Zustand 2: Rechtseinschlag,
    3. Zustand 3: Linkseinschlag und
    4. Zustand 4: Geradeaus (Korrekturzug)

unterscheiden kann.

  1. Fahren Sie konstant ohne Unterbrechung z¨ugig r¨uckw¨arts.
  2. Verwenden Sie Ihr Programm sucheParkluecke.ino im Zustand 1.
  3. Programmieren Sie Zustand 2: Rechtseinschlag. Schlagen Sie voll rechts ein und fahren Sie

r¨uckw¨arts bis das Fahrzeug 40° zur L¨ucke steht.

  1. Programmieren Sie Zustand 3: Linkseinschlag. Schlagen Sie voll links ein, bis das Fahrzeug

gerade (0 °) in der L¨ucke steht.

  1. Programmieren Sie Zustand 4: Geradeaus. Fahren Sie gerade vorw¨arts, bis Sie mittig in der

Parkl¨ucke stehen.

  1. Schalten Sie alle Motoren aus.

Aufgabe 10.2: Nachhaltige Doku

Hinweise:

  • Es empfiehlt sich die Zustandsmaschine mit den Befehlen switch..case zu realisieren.
  • Ermitteln Sie die Roboterpose aus den unterschiedlichen Radumdrehungen (Differenzielle Odometrie).
  • Nutzen Sie den Ultraschallsensor um Mittig in der Parkl¨ucke zu stehen.

Arbeitsergebnisse: AutonomesParken.ino


Arbeitsergebnis in SVN: SVN Log

Tutorials

Demos

Literatur


→ Termine 1 2 3 4 5 6 7 8 9 10 11
→ zurück zum Hauptartikel: Informatik Praktikum 2