This is an old revision of the document!
Prügeli-Challenge
Material:
- 1 weisses Flip-Chart-Papier
- 2 Karton-Stützen
- 1 Prügeli
Der Roboter startet wie angegeben, muss das Prügeli aufladen und beim Ziel abladen.
Positionierung vom Prügeli
- Legen Sie das Prügeli so auf die Stützen, dass es nur an den Rändern gestützt wird.
- Positionieren Sie die Kartonstützen so, dass der Robotergreifarm dazwischen passt, wenn der Helligkeitssensor genau über Kante des Papiers steht.
Heber
Startposition
Entweder, Sie führen den Heber von Hand vor dem Start des Programms in die Startposition, die Ihnen sinnvoll erscheint.
Oder Sie benutzen die Funktion heber.run_until_stalled(20, duty_limit=20)
link, um den Motor bis an den Anschlag zu fahren, und setzen dann den Winkel mit heber.reset_angle(0)
link auf Null zurück.
Heber-Winkel
Finden Sie durch Testen heraus, welche Winkel bei Ihrer Startposition zum Aufladen und zum Transportieren geeignet sind.
Sie können dazu die Funktion heber.run_target(20, target_angle)
link verwenden.
Distanz-Sensor
Testen Sie den Ultraschallsensor direkt auf dem Roboter. Finden Sie heraus, bei welchem Messwert die korrekte Distanz (zum Aufladen vom Prügeli) von der Wand erreicht ist. Notieren Sie sich den Wert.
ultraschall.distance()
liefert die gemessene Distanz in mm.
Programmerstellung
Legen Sie ein neues EV3-Micropython Projekt an und initialisieren Sie alle Motoren und Sensoren. Siehe https://fginfo.ksbg.ch/dokuwiki/doku.php?id=lehrkraefte:blc:informatik:glf22:robotik-mit-svcode:programm-struktur
Pseudo-Code
Schreiben Sie erst einen Pseudocode für die vollständige Challenge als Kommentare, z.B. so:
# um 90 Grad drehen # vorwärts, bis die gemessene Distanz kleiner als 30 ist. # drehen, bis der Helligkeitssensor einen Wert misst, der höher als 80 ist.
«Führen» Sie dann den Pseudocode «aus», d.h. stellen Sie sich Schritt für Schritt vor, was der Roboter genau macht, und vor allem, was alles schief gehen könnte.
Passen Sie dann Ihren Pseudocode an, bzw. vervollständigen Sie diesen.
Der Pseudocode solle am Schluss so detailliert sein, dass jede Zeile mit 1-5 Zeilen Python realisiert werden kann.
Programmierung
Übersetzen Sie nun den Anfang Ihres Pseudocodes in Python und testen Sie.
Wenn das funktioniert, übersetzen Sie eine weitere Zeile und testen Sie wieder.