AlphaBot: Programmier-Challenge I SoSe23: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:
Als Vorbereitung könnten Sie sich die Lektionen 1 bis 5 noch einmal ansehen. Sie werden mit dem AlphaBot über Odometrie von Punkt A nach B navigieren und während dessen mit dem Ultraschallsensor Objekte detektieren.
Als Vorbereitung könnten Sie sich die Lektionen 1 bis 5 noch einmal ansehen. Sie werden mit dem AlphaBot über Odometrie von Punkt A nach B navigieren und während dessen mit dem Ultraschallsensor Objekte detektieren.
=== Übungsaufgabe 1: Roboterpose  ===
=== Übungsaufgabe 1: Roboterpose  ===
# Fahren Sie einen Kreis mit 1\,m Radius.
# Fahren Sie einen Kreis mit 1 m Radius.
# Bestimmen Sie die Roboterpose (<math>x, y, \Psi</math> ) anhand der Odometrie.
# Bestimmen Sie die Roboterpose (<math>x, y, \Psi</math> ) anhand der Odometrie.
# Zeichnen Sie die Roboterpose in MATLAB<sup>®</sup>.
# Zeichnen Sie die Roboterpose in MATLAB<sup>®</sup>.
Zeile 40: Zeile 40:
Stehen Sie auf Ihrer Ausgangsposition?
Stehen Sie auf Ihrer Ausgangsposition?


'''Arbeitsergebnis''' in SVN: <code>fahreZumStartpunkt.ino</code>
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tipp 1&thinsp;</strong>
|-
| 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 <code>fahreStrecke(Kruemmung)</code>, um die Fahrt zu starten. Die Krümmung  berechnet sich aus dem Radius: <math>K=\frac{1}{R}<math>.
|-
| <math>K=0\,\frac{1}{m}<math>: Geradeausfahrt<br><math>K=1\,\frac{1}{m}<math>: Kurvenfahrt mit 1&thinsp;m Radius.
|}


=== Übungsaufgabe 2: Roboternavigation ===
 
Führen Sie die nachfolgenden Roboterbewegungen möglichst exakt aus.
=== Übungsaufgabe 3: Hinderniserkennung ===
# Fahren Sie 1&thinsp;m geradeaus.
# Nutzen Sie <code>fahreZumStartpunkt.ino</code> aus Übungsaufgabe 2.
# Fahren Sie einen Kreis mit 1&thinsp;m Durchmesser.
# Stoppen Sie, falls weniger als 20&thinsp;cm vor Ihnen ein Hindernise steht (Notbremse).
# Fahren Sie 1&thinsp;m rückwärts.
# Fahren Sie weiter, sobald das Hindernis entfernt wurde.
Stehen Sie auf Ihrer Ausgangsposition?
'''Arbeitsergebnis''' in SVN: <code>Notbremsassistent.ino</code>
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tipp 1&thinsp;</strong>
| <strong>Tipp 1&thinsp;</strong>
Zeile 54: Zeile 66:
| Steuern Sie die Räder langsam an.
| Steuern Sie die Räder langsam an.
|}
|}


== FAQ ==
== FAQ ==

Version vom 27. April 2023, 16:09 Uhr

Abb. 1: Programmier-Challenge I

Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul II
Lehrveranstaltung: Mechatronik, Informatikpraktikum 2, 2. Semester, Wintersemester

Bearbeitungsdauer: 60 Minuten

Inhalt

Diese Programmier-Challenge dient als Lernzielkontrolle und semesterbegleitende Zwischenprü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-5. Sie haben Zugriff auf Ihre Quellen in SVN sowie die AlphaBot-Demos.

Vorbereitung

Als Vorbereitung könnten Sie sich die Lektionen 1 bis 5 noch einmal ansehen. Sie werden mit dem AlphaBot über Odometrie von Punkt A nach B navigieren und während dessen mit dem Ultraschallsensor Objekte detektieren.

Übungsaufgabe 1: Roboterpose

  1. Fahren Sie einen Kreis mit 1 m Radius.
  2. Bestimmen Sie die Roboterpose ( ) anhand der Odometrie.
  3. Zeichnen Sie die Roboterpose in MATLAB®.

Arbeitsergebnis in SVN: Kreisfahrt.ino, zeichneRoboterpose.m

Übungsaufgabe 2: Roboternavigation

Führen Sie die nachfolgenden Roboterbewegungen möglichst exakt aus.

  1. Fahren Sie 1 m geradeaus.
  2. Fahren Sie einen Kreis mit 1 m Durchmesser.
  3. Fahren Sie 1 m rückwärts.

Stehen Sie auf Ihrer Ausgangsposition?

Arbeitsergebnis in SVN: fahreZumStartpunkt.ino


Übungsaufgabe 3: Hinderniserkennung

  1. Nutzen Sie fahreZumStartpunkt.ino aus Übungsaufgabe 2.
  2. Stoppen Sie, falls weniger als 20 cm vor Ihnen ein Hindernise steht (Notbremse).
  3. Fahren Sie weiter, sobald das Hindernis entfernt wurde.

Arbeitsergebnis in SVN: Notbremsassistent.ino


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. chatGPT gilt als Plagiat.



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