ASF Gruppe A4 - SoSe18
Autoren und Gruppenmitglieder: Rina Muçaj, Jan Pinter und Levin Baumeister
Einleitung
Die Aufgabe bestand darin einen Lego Mindstorms NXT Robosoccer zu konstruieren und zu programmieren,sodass er nach den gegebenen Regelwerk Fußball spielen kann. Dies geschieht im Rahmen des Informatikpraktikum I, WS 17/18 mit Professor Ulrich Schneider. Weitere Informationen unter Informatikpraktikum WS 17/18 (hier ist auch die genaue Aufgabenstellung zu finden) und Regelwerk RoboSoccer 2018.
Gruppenmitglieder und ihre Aufgaben
Rina Muçaj
- Konstruktion des Roboters
- Bearbeitung der inhaltlichen Fragen der jeweiligen Praktikumstermine
- Erstellung des Videos
- Verfassen des HSHL-Wiki-Artikels
Jan Pinter
- Konstruktion des Roboters
- Entwicklung der Fahrstrategie
- Umsetzung der Fahrstrategie in Quellcode
- Erstellung des Videos
Levin Baumeister
- Konstruktion des Roboters
- Entwicklung der Fahrstrategie
- Erstellung des Bauplans
- Verfassen des HSHL-Wiki-Artikels
Verwendete Softwaretools
- Bricx Command Center[1] mit der Programmiersprache NXC[2] (Not eXactly C, für die Programmierung der Spielstrategie)
- LEGO Digital Designer 4.3[3] (zur Erstellung des Bauplans des Roboters)
- PapDesigner[4] (zur Erstellung des Programmablaufplans nach DIN 66001)
- muvee Reveal Encore 2018[5] (zur Erstellung des YouTube-Videos)
- Captura Version 6.0.1[6] (zur Erstellung des YouTube-Videos)
- Hilfeseite des Wikimedia-Projekts[7] (Hilfe bei der Erstellung des Wiki-Artikels)
Verwendete Hardware
Das Lego Set 9797 bildet zusammen mit dem Lego Set 9695 die Grundlage des Roboters, inklusive der Motoren, der Steuerungseinheit (NXT Brick) und der Basis-Sensoren (Tastsensor). Damit der Roboter jedoch in der Lage ist autonom zu fahren, wird die NXTCam-v4 (Vision Subsystem - Camera for NXT or EV3) verwendet.
BEARBEITEN
Die genaue Zusammensetzung der Hardware ist der Bauanleitung und dem Modell (öffnen mit LEGO Digital Designer 4.3) zu entnehmen: Datei:A5 Bauanleitung.pdf, Datei:A5 Modell.zip.
Bei der Entwicklung der Hardwarezusammensetzung standen folgende Punkte im Vordergrund:
- Leicht zu wartende und solide Bauweise
- Direkt angetriebene Lenkachse
- Verstellbare Kamerahalterung
- Leichte Anschließbarkeit
ANIMATION?
BOLDERGALLERIE?
-
Erste Version des Roboters
-
Detailansicht des HiTechnic NXT IRSeekers im Einbau
-
Seitenansicht
-
Seitenansicht im Detail
-
Greifarme
Fahrstrategie
Bei der Entwicklung der Spielstrategie standen folgende Punkte in Vordergrund:
- Dynamische Fahrt zum Ball
- Schnellst mögliches Erkennen der unmittelbaren Ballnähe
- Sicheres Greifen des Balls, mit mehrmaliger Überprüfung und Absicherung
- Kürzester Ausrichtungsweg zum gegnerischen Tor
- Sicherer und schneller Schuss in Richtung des gegnerischen Tors
- Erkennung einer Blockade
PAP Diagramme
Motor A, Motor B: Antriebsmotoren
Motor C: Fang- und Schussmotor
-
Hauptprogramm
-
Unterprogramm Suchen
-
Unterprogramm Ballfang
-
Unterprogramm Zuruecksetzen
-
Unterprogramm Torschuss
Umsetzung in NXC
NXC-Befehle siehe Einführung in die Programmierung mit NXC[10], Buch „Roboter programmieren mit NXC für LEGO Mindstorms NXT“[11],
Programmierung LEGO NXT Roboter mit NXC [12] und NXC Programmer's Guide [13]. (In diesen Dokumenten befindet sich auch eine Übersicht der Sensoren und Aktoren).
Main-Funktion aus dem Quellcode:
task main() { SetSensorLowspeed(IN_4); SetSensorLowspeed(IN_2); SetSensorTouch(S1); TextOut(0, LCD_LINE1, "Links - Osten"); TextOut(0, LCD_LINE2, "Rechts - Westen"); do{ //Linker oder Rechter Kopf zur Torwahl if(ButtonPressed(BTNLEFT, true)) {tor=0; starten=true;} if(ButtonPressed(BTNRIGHT, true)) {tor=1; starten=true;} }while(starten==false) while(true) //Endlosschleife { Suchen(); } }
YouTube-Video
Video zum Roboter "Robo Fighter"
Video-Beschreibung:
Herausgeber: Rina Muçaj, Levin Baumeister und Jan Pinter
Hochschule: Hochschule Hamm-Lippstadt
Studiengang: Mechatronik 1. Semester
Projektkurs: Informatikpraktikum I (Gruppe A5)
Betreuer: Prof. Dr. Ing.-Schneider
Musik: Epic - Royalty Free Music[14]
Praktikumsziel: Konstruktion und Programmierung eines LEGO-Mindstorm zur autonomen Spurführung in der Programmiersprache NXC und MatLab
Zusammenfassung
Lerneffekt
- Programmierung eines mechatronischen Systems
- Vertiefung der Programmierkenntnisse mit der Sprache C und Matlab
- Zusammenhänge zwischen den Bauteilen (Sensoren, Aktoren) verstehen
- Erfahrungen mit dem Einsatz von verschiedenen Filtern
- Erfahrung mit Bild- und Videobearbeitungsprogrammen
Ausblick
Der Roboter...
Literaturverzeichnis
- ↑ Bricx Command Center - http://bricxcc.sourceforge.net/
- ↑ NXC - https://de.wikipedia.org/wiki/Not_eXactly_C
- ↑ LEGO Digital Designer 4.3 - http://ldd.lego.com/de-de
- ↑ PapDesigner - http://friedrich-folkmann.de/papdesigner/Hauptseite.html/
- ↑ muvee Reveal Encore 2018 - https://www.muvee.com/
- ↑ Captura Version 6.0.1 - http://mathewsachin.github.io//
- ↑ Hilfeseite des Wikimedia-Projekts - http://meta.wikimedia.org/wiki/Help:Editing/de
- ↑ http://robotsquare.com/2012/02/18/understanding-nxt-versions/
- ↑ http://www.nxtprograms.com/help/parts/9797.html
- ↑ Einführung in die Programmierung mit NXC - http://www.brgkepler.at/~robotik/home/documents/BRG_Kepler_Tutorial_NXC.pdf
- ↑ Buch "Roboter programmieren mit NXC für LEGO Mindstorms NXT" - https://www.daniel-braun.com/buch/roboter-programmieren-mit-nxc/
- ↑ Programmierung LEGO NXT Roboter mit NXC - https://gym-leibnitz.lima-city.de/robotik/wp-content/uploads/2016/01/NXC_Tutorial_DE.pdf
- ↑ NXC Programmer's Guide - http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/index.html
- ↑ Epic - Royalty Free Music - https://www.bensound.com/royalty-free-music/track/epic
Alle verwendeten Bildmaterialien auf dieser Seite wurden eigenständig erstellt.
→ zurück zum Hauptartikel: [Autonomes Fahren SoSe17|Informatikpraktikum 2 SoSe17]