RoboSoccer Gruppe A6 - WS 17/18
Autor: Marie Henning, Hagen Heuer, Kristina Kokojew
Einleitung
In der Lehrveranstaltung Informatik, welches ein Informatikpraktikum beinhaltet, haben wir als Gruppen von jeweils 3 Personen, folgende Aufgabenstellung bekommen: Es soll ein NXT Lego Roboter zusammengebaut werden und programmiert werden. Die Hauptaufgabe des Roboters ist Fußball mit Gegnern zu spielen.
Dieser Artikel ist aus der Kategorie Informatikpraktikum WS 17/18
Teammitglieder
- Kristina Kokojew
- Wiki-Artikel
- Quelltext verfasst
- Fotos erstellt
- Marie Henning
- Programmablaufplan
- Plakat erstellt
- Quelltext verfasst
- Video erstellt
- Hagen Heuer
- Roboter konstruiert
- Roboter als 3D Modell konstruiert
- Quelltext verfasst
→ Alle Teammitglieder haben zu gleichen Teilen an dem Projekt mitgewirkt.
Erkenntnisse
In diesem Praktikum werden folgende Fähigkeiten beigebracht: Mit folgenden Programmen zu programmieren:
- Lego Mindstorms EV3
- Lego Mindstorms NXT 2.0
- Bricx Command Center
Werte, die man aus den Sensoren bekommt grafisch in einem mechatronischen System zu programmieren und dort auswerten zu lassen. Die Ergebnisse der Einzelpraktika werden durch kleine Präsentationen dem Professor im Team vorstellen zu lasen. Jedes Einzelpraktikum muss nachhaltig dokumentiert werden. Das jeweilige Praktikum hat eine Deadline bis zu der die Aufgaben komplett bearbeitet werden müssen. Dafür muss ein gutes Projektmanagement und eine gute Zeiteinteilung herrschen. Am Ende wird das ganze Praktikum in einen Wiki-Artikel bzw. wissenschaftliche Arbeit zusammengefasst. Diese wird noch mit einem Imagefilm und einem Werbeposter beschmückt. Darüber hinaus lernt in einer Versionsverwaltungssoftware SVN zu arbeiten, da dort alle Ergebnisse und Zwischenarbeiten geladen werden.
Roberry
Poster
Video von Roberry
- Link...
Schritt-für-Schritt-Anleitung
- Aufbau des Roboters
- Spielkonzept
- Bilder (PAP)...
- Programm
- jsohjdl...
Hardware
Die Sensoren
- Ultraschallsensor:
- Der Ultraschallsensor ist der modernste und komplexeste Sensor des NXT Kits. Dazu sendet der Sensor Schallwellen aus mit einer Frequenz (in der Regel etwa 40 kHz), diese :reflektiert, so nimmt der Empfänger diese war. Mithilfe des gemessenen Zeitversatzes kann die Entfernung berechnet werden. Es können keine Messungen unter 3 cm durchgeführt :werden. Dies ist auf das Problem der Laufzeit der Schallwelle zurückzuführen. Messungen bis 20 cm in einem Winkel von -8° bis +30° sind relativ genau. Da der Empfänger auf :der linken Seite und der Sender auf der rechten Seite angebracht ist, sind die Messungen links weniger genau als rechts.
- Der Messbereich liegt zwischen 20 und 80 cm. Die Abweichung liegt unter 8 %, ein zufriedenstellender Wert für einen Sensor dieser Art.
- Infrarotsensor:
- Wie sein Name schon sagt, ist der Sensor in der Lage, Infrarot-Lichtquellen aufzuspüren. Zudem kann er auch Sonnenlicht oder IR-Licht beispielsweise aus TV-Fernsteuerungen, :aber auch den Infrarot-Ball von HiTechnic mit dem der Roboter Fußball spielen kann. Was für unser Fußballspiel sehr wichtig ist.
- Dieser Lichtsensor basiert auf zwei Erkennungsmodi:
- Modulierter Modus (AC Mode) – Erkennt moduliertes Infrarotlicht, d. h. aus künstlichen Quellen wie Fernsteuerungen bzw. dem IR-Ball. Der Sensor kann nur Rechtecksignale mit :1200 Hz erkennen.
- Nicht modulierter Modus (DC Mode) – Erkennt nicht modulierte Infrarot-Lichtquellen, z. B. Umgebungslicht oder Feuer.
- Dieser Sensor ist in der Lage Beeinträchtigung durch Störsignale zu reduzieren, dabei ist seine spezifische Formgebung sehr hilfreich. Die integrierte Signalverarbeitung :versetzt ihn in die Lage, lediglich das gewünschte Signal zu empfangen.
- Die Signalstärken werden in verschiedenen Richtungen rund um den Sensor zugeordnet. So erhält der Roboter genaue Richtungsanweisungen:
- Tastsensor:
- Der Tastsensor ist der einfachste aller NXT-Sensoren, weil er nur zwei verschiedene Werte liefert: gedrückt oder nicht gedrückt bzw. 1 oder 0. Der Taster wird mithilfe :einer Feder geöffnet. An dem Taster wird eine Versorgungsspannung von 4,3V angelegt und der Ausgang des Tasters wird zu dem Kontroller zurückgeführt. Er ist jedoch auch :einer der wichtigsten bei Wettbewerben, da er sehr leicht und effektiv eingesetzt werden kann, Hindernisse zu erkennen und diesen auszuweichen.
- Kompasssensor:
- Dieser Sensor misst das Erdmagnetfeld und berechnet damit einen Steuerkurs für den Roboter.
- Der Sensor führt 100 Messungen pro Sekunde durch und übermittelt eine Zahl zwischen 0 und 359, die den Winkel zum Nordpol ausdrückt.
- Der Sensor verfügt über zwei Modi:
- Im Lesemodus übermittelt der Sensor jedes Mal einen Wert, wenn er vom intelligenten Lego Mindstorms NXT-Stein einen Lesebefehl erhält.
- Im Kalibriermodus kann der Sensor so eingestellt werden, dass er störende Magnetfelder des Roboter-Elektromotors, der Batterien usw. neutralisiert
- Die Werte können als relative oder absolute Werte angezeigt werden. Das erleichtert die Programmierung, wenn der Roboter einer bestimmten Richtung folgen soll.
Die Motoren
- Der NXT-Roboter besitzt 3 Servomotoren. Zwei Motoren sind für die Steuerung des Roboters zuständig und ein weiterer für die Roboterarme.
- Servomotoren sind spezielle Elektromotoren, die durch die Kontrolle der Winkelposition ihrer Motorwelle sowie der Drehgeschwindigkeit und der Beschleunigung arbeiten. Solche Motoren haben einen zusätzlichen Sensor zur Bestimmung ihrer Position. Dieser Soll-Winkelpositionswert wird dem Servoregler übermittelt. Dieser Regler regelt den Motor dann mit dem entsprechendem Reglerkreis an. Dies bezeichnet man als Servoantrieb. Durch die zwei Servoantriebe wird der Roboter gesteuert.
- Der kleine Servomotor wurde speziell für die Roboterarme, Greifer und Riemenscheiben entwickelt. Er verfügt über ein Rotatiossensor, mit dem kann man die Drehzahl und die Geschwindigkeit präzise im Griff steuern.
Der Brick
- Der Brick ist das Steuerungszentrum (das Gehirn) des Roboters. Dieser ist in der Lage Informationen mit Ihrem PC, Mac oder PDA auszutauschen, sowie mit anderen NXT-Robotern über USB oder Bluetooth zu kommunizieren. Dieser enthält einen 32-Bit-Mikroprozessor ARM7, 1 USB 2.0 Anschluss, 4 Sensoreingänge, 3 Ausgangsports für Aktoren, 4 Steuerungstasten, ein integrierten Lautsprecher mit 8Khz und ein Matrix-Bildschirm mit 60x100 Pixel N & B. Das Steuerungszentrum benötigt 6 R06-Batterien oder eine wiederaufladbare NXT-Batterie um zu funktionieren.
Zusammenfassung
- Das Projekt wurde entwickelt um einen ersten Einblick in die C-Programmierung zu geben. Man kann damit gut, erste Erfahrungen in der Roboterprogrammierung sammeln. Die Gestaltung des Roboters sind keine Grenzen gesetzt, man kann sich kreativ austoben. Dadurch sammelt man auch erste Erfahrungen in der Konstruktionstechnik. Beim Zusammenarbeiten werden die organisatorischen Fähigkeiten und die die Teamfähigkeit der Studenten unter die Probe gestellt.
Ausblick
Was kann/muss noch verbessert werden?
Literaturverzeichnis
- BRG_Kepler_Tutorial_NXC.pdf
Korrektur/Rückmeldungen
Hier können Nutzer oder kritische Leser (meist Professoren) Verbesserungen fordern/vorschlagen.
→ zurück zum Hauptartikel: Informatikpraktikum WS 17/18