RoboSoccer Gruppe A5 - WS 18/19: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(24 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
Die Aufgabe in dem Informatikpraktikum I, welches Teil des Informatik Moduls ist, war es, aus Lego NXT Bausätzen einen Fußballroboter zu bauen und zu programmieren. Jeder Roboter wurde in einer Gruppe 2-3 Studenten entwickelt. Am Ende des Semester traten alle Roboter in einem Turnier, immer 1 gegen 1 an, gegeneinander an. Zu gewinnnen gab es Ehre und Bonuspunkte. | Die Aufgabe in dem Informatikpraktikum I, welches Teil des Informatik Moduls ist, war es, aus Lego NXT Bausätzen einen Fußballroboter zu bauen und zu programmieren. Jeder Roboter wurde in einer Gruppe von 2-3 Studenten über das 1.Semester des Mechatronik- Studiengangs entwickelt. Am Ende des Semester traten alle Roboter in einem Turnier, immer 1 gegen 1 an, gegeneinander an. Zu gewinnnen gab es Ehre und Bonuspunkte. | ||
Zeile 17: | Zeile 17: | ||
'''[[Benutzer:Maik Spinnrath|Maik Spinnrath]]''' | '''[[Benutzer:Maik Spinnrath|Maik Spinnrath]]''' | ||
*Bau des Roboters | *Bau des Roboters | ||
*Konstruktion des Roboters | *Konstruktion des Roboters im Lego Digital Designer | ||
*Verfassung des HSHL Wiki-Artikels | *Verfassung des HSHL Wiki-Artikels | ||
Zeile 26: | Zeile 26: | ||
*Planung des Fußballspieles mit PAP-Diagrammen | *Planung des Fußballspieles mit PAP-Diagrammen | ||
*Erstellung des Werbeplakats | *Erstellung des Werbeplakats | ||
*Erstellung des Videos | |||
*Verfassung des HSHL Wiki-Artikels | *Verfassung des HSHL Wiki-Artikels | ||
Zeile 32: | Zeile 33: | ||
*LEGO MINDSTORMS Education EV3 (für die Programmierung zu Beginn des Praktikums) | *LEGO MINDSTORMS Education EV3 (für die Programmierung zu Beginn des Praktikums) | ||
*LEGO® MINDSTORMS® NXT 2.0 (für die Programmierung zu Beginn des Praktikums) | *LEGO® MINDSTORMS® NXT 2.0 (für die Programmierung zu Beginn des Praktikums) | ||
*PAP-Designer (Planung der Spielstrategie) | *PAP-Designer (Planung der Spielstrategie) | ||
*Lego Digital Designer 4.3 (Nachbau des Roboters) | |||
==Roboter Kitt== | ==Roboter Kitt== | ||
[https://www.youtube.com/watch?v=d2SRTa9_tas/ Video zu Roboter Kitt] | |||
[https://svn.hshl.de/usvn/project/Informatikpraktikum_1/browser/ SVN Ordner] | |||
[[Datei:Roboter Bauplan.png|200px|thumb|right| Konstruktion in Lego Digital Designer <ref> Eigenes Foto </ref>]] | |||
[[Datei:Bild_Kitt.jpeg|300px|thumb|left|Bild von Kitt <ref> Eigenes Foto </ref>]] | |||
===Abmessungen=== | ===Abmessungen=== | ||
Die Maße von Kitt | Die Maße von Kitt | ||
{| class="mw-datatable" | {| class="mw-datatable" | ||
Zeile 63: | Zeile 101: | ||
'''PAP-Diagramme''' | '''PAP-Diagramme''' | ||
*'''Spielstrategie''' | *'''Spielstrategie''' | ||
[[Datei:PAP Hauptprogramm.PNG|200px|thumb|left|Hauptprogramm<ref> Eigenes Foto </ref>]] [[Datei:Ballsuche.PNG|200px|thumb|right|Ballsuche <ref> Eigenes Foto </ref>]] | [[Datei:PAP Hauptprogramm.PNG|200px|thumb|left|Hauptprogramm <ref> Eigenes Foto </ref>]] [[Datei:Ballsuche.PNG|200px|thumb|right|Ballsuche <ref> Eigenes Foto </ref>]] | ||
[[Datei:Torrichtung.PNG|200px|thumb|left|Speicherung der Torrichtung <ref> Eigenes Foto </ref>]] [[Datei:AktWinkel.PNG|200px|thumb|right|Auslesen des aktuellen Winkels <ref> Eigenes Foto </ref>]] | |||
[[Datei:Taster.PNG|200px|thumb|left|Taster <ref> Eigenes Foto </ref>]] [[Datei:Ausrichutng Tor.PNG|200px|thumb|right|Torausrichtung <ref> Eigenes Foto </ref>]] | |||
Zeile 97: | Zeile 198: | ||
===Hardware=== | |||
*'''Infrarotsensor''' | *'''Infrarotsensor''' | ||
[[Datei:IR Seeker.JPG|200px|thumb|right|Infrarot Sensor <ref> Eigenes Foto </ref>]] | [[Datei:IR Seeker.JPG|200px|thumb|right|Infrarot Sensor <ref> Eigenes Foto </ref>]] | ||
Für die Erkennung des Balles, der ein Infrarotsignal aussendet, wurde | Für die Erkennung des Balles, der ein Infrarotsignal aussendet, wurde auf Höhe des Balles der Infrarot- Detektor von [https://modernroboticsinc.com/hitechnic-nxt-irseeker-v2/ HiTechnic] verbaut. Dieser Sensor ist in der Lage Infrarotsignale über fünf Detektoren in einem Winkel von 135° aufzunehmen und zeigt den Wert der Richtung im Wert von 0 bis 9 an. | ||
Mit dem Modulierten Modus (AC Mode) kann moduliertes Infrarotlicht erkannt werden, dies sind künstlich erzeugte Infrarotsignale, z.B. | Mit dem Modulierten Modus (AC Mode) kann moduliertes Infrarotlicht erkannt werden, dies sind künstlich erzeugte Infrarotsignale, z.B. von Fernbedienungen und unter anderem sendet auch der IR Ball moduliertes Licht aus, der bei dem Roboterturnier zum Einsatz kommt. | ||
[[Datei:Empfangsbereiche IR.PNG|150px|thumb|left|Empfangsbereiche des IR Seekers <ref> https://modernroboticsinc.com/hitechnic-nxt-irseeker-v2 </ref>]] | [[Datei:Empfangsbereiche IR.PNG|150px|thumb|left|Empfangsbereiche des IR Seekers <ref> https://modernroboticsinc.com/hitechnic-nxt-irseeker-v2 </ref>]] | ||
*'''Tastsensor''' | |||
[[Datei:Tastsensor Internet.PNG|200px|thumb|right|Tastsensor <ref> https://www.generationrobots.com/de/401223-tastsensor-fur-programmierbare-lego-mindstorms-nxt-roboter.html </ref>]] | |||
Der Tastsensor ist der einfachste NXT Baustein, denn dieser reagiert nur auf Druck und kann somit nur zwei Werte zurückliefern, 0 (nicht gedrückt) oder 1 (gedrückt). Der Taster wird mit einer Feder geöffnet. | |||
Bei unserem Roboter verwenden wir zwei dieser Tastsensoren, einen für die Erkennung des Balles und einen für die Hindernisausweichung bzw. Erkennung. | |||
*'''Kompasssensor''' | |||
[[Datei:Kompasssensor.JPG|220px|thumb|right| Kompasssensor <ref> Eigenes Foto </ref>]] | |||
Der digitale Kompasssensor von [https://modernroboticsinc.com/hitechnic-nxt-compass-sensor/ HiTechnic] ist in der Lage das Erdmagnetfeld zu vermessen und somit kann eine genaue Positionsbestimmung und Navigation durchgeführt werden. Demnach entsprechen 0° Nord, 90° Ost, 180° Süd und 270° West. Auf dem Roboter kann man sich dabei die Werte von 0°- 359° ausgeben lassen, für eine genaue Messung muss der Roboter sich langsam drehen. Dabei ist aber auch zu beachten, dass der Sensor nicht durch andere externe Magnetfelder beeinflusst wird, da dies zu Fehlermessungen führen kann. Aufgrund dessen sollte der Kompasssensor zur Navigierung eine Entfernung von ungefähr 15cm zu den Motoren haben. | |||
*'''Motoren''' | |||
[[Datei:Motoren.JPG|200px|thumb|right| Antriebsmotor <ref> Eigenes Foto </ref>]] | |||
Die Motoren, die bei Lego Mindstorms verbaut werden, sind Servomotoren. Außerdem sind sie mit einem Drehsensor ausgestattet, der eine Genauigkeit von 1° hat und somit sich die Motoren sehr präzise anfahren lassen. Es werden drei Motoren bei dem NXT- Roboter verbaut, zwei Fahrmotoren und ein Motor für den Schuss- bzw. Fangarm. | |||
==Quellcode== | |||
*'''Ballsuche''' | |||
[[Datei:Quelltext Ballsuche.PNG|300px|thumb|left| Quelltext Ballsuche <ref> Eigenes Foto </ref>]] | |||
Zeile 125: | Zeile 335: | ||
==Zusammenfassung== | ==Zusammenfassung== | ||
Das Praktikum zeigt einem spielerisch einen ersten Einblick in die Programmiersprache C. Man kann Erfahrungen in der Roboterprogrammierung bekommen und hat sofort auch ein Ergebnis zu den Programmierelementen, somit kann man direkt auf Fehlermeldungen reagieren. Denn meistens funktioniert es nicht bei dem ersten Anlauf. Aus diesem Grund und dadurch, dass man viele unterschiedliche Softwareversionen zur Programmierung des NXT- Bricks verwendet, ist es ein sehr zeitaufwändiges Praktikum. | |||
==Literaturverzeichnis== | ==Literaturverzeichnis== | ||
Zeile 132: | Zeile 342: | ||
---- | |||
→ zurück zum Hauptartikel: [[RoboSoccer_WS_18/19|Informatikpraktikum WS 18/19]] | → zurück zum Hauptartikel: [[RoboSoccer_WS_18/19|Informatikpraktikum WS 18/19]] |
Aktuelle Version vom 18. Februar 2019, 16:22 Uhr
Autoren: Maik Spinnrath und Franziska Troja
Dozent: Prof. Dr. U. Schneider
Einleitung
Die Aufgabe in dem Informatikpraktikum I, welches Teil des Informatik Moduls ist, war es, aus Lego NXT Bausätzen einen Fußballroboter zu bauen und zu programmieren. Jeder Roboter wurde in einer Gruppe von 2-3 Studenten über das 1.Semester des Mechatronik- Studiengangs entwickelt. Am Ende des Semester traten alle Roboter in einem Turnier, immer 1 gegen 1 an, gegeneinander an. Zu gewinnnen gab es Ehre und Bonuspunkte.
Teammitglieder und ihre Aufgaben
- Bau des Roboters
- Konstruktion des Roboters im Lego Digital Designer
- Verfassung des HSHL Wiki-Artikels
- Bau des Roboters
- Quelltext verfasst
- Planung des Fußballspieles mit PAP-Diagrammen
- Erstellung des Werbeplakats
- Erstellung des Videos
- Verfassung des HSHL Wiki-Artikels
Verwendete Softwaretools
- Bricx Command Center mit der Programmiersprache NXC (Not eXactly C, für die Programmierung der Spielstrategie)
- LEGO MINDSTORMS Education EV3 (für die Programmierung zu Beginn des Praktikums)
- LEGO® MINDSTORMS® NXT 2.0 (für die Programmierung zu Beginn des Praktikums)
- PAP-Designer (Planung der Spielstrategie)
- Lego Digital Designer 4.3 (Nachbau des Roboters)
Roboter Kitt
Abmessungen
Die Maße von Kitt
Abmaße in [mm] | |
---|---|
Länge | 260 |
Breite | 168 |
Höhe | 338 |
Radabstand | 145 |
Spielstrategie
PAP-Diagramme
- Spielstrategie
Hardware
- Infrarotsensor
Für die Erkennung des Balles, der ein Infrarotsignal aussendet, wurde auf Höhe des Balles der Infrarot- Detektor von HiTechnic verbaut. Dieser Sensor ist in der Lage Infrarotsignale über fünf Detektoren in einem Winkel von 135° aufzunehmen und zeigt den Wert der Richtung im Wert von 0 bis 9 an. Mit dem Modulierten Modus (AC Mode) kann moduliertes Infrarotlicht erkannt werden, dies sind künstlich erzeugte Infrarotsignale, z.B. von Fernbedienungen und unter anderem sendet auch der IR Ball moduliertes Licht aus, der bei dem Roboterturnier zum Einsatz kommt.
- Tastsensor
Der Tastsensor ist der einfachste NXT Baustein, denn dieser reagiert nur auf Druck und kann somit nur zwei Werte zurückliefern, 0 (nicht gedrückt) oder 1 (gedrückt). Der Taster wird mit einer Feder geöffnet. Bei unserem Roboter verwenden wir zwei dieser Tastsensoren, einen für die Erkennung des Balles und einen für die Hindernisausweichung bzw. Erkennung.
- Kompasssensor
Der digitale Kompasssensor von HiTechnic ist in der Lage das Erdmagnetfeld zu vermessen und somit kann eine genaue Positionsbestimmung und Navigation durchgeführt werden. Demnach entsprechen 0° Nord, 90° Ost, 180° Süd und 270° West. Auf dem Roboter kann man sich dabei die Werte von 0°- 359° ausgeben lassen, für eine genaue Messung muss der Roboter sich langsam drehen. Dabei ist aber auch zu beachten, dass der Sensor nicht durch andere externe Magnetfelder beeinflusst wird, da dies zu Fehlermessungen führen kann. Aufgrund dessen sollte der Kompasssensor zur Navigierung eine Entfernung von ungefähr 15cm zu den Motoren haben.
- Motoren
Die Motoren, die bei Lego Mindstorms verbaut werden, sind Servomotoren. Außerdem sind sie mit einem Drehsensor ausgestattet, der eine Genauigkeit von 1° hat und somit sich die Motoren sehr präzise anfahren lassen. Es werden drei Motoren bei dem NXT- Roboter verbaut, zwei Fahrmotoren und ein Motor für den Schuss- bzw. Fangarm.
Quellcode
- Ballsuche
Zusammenfassung
Das Praktikum zeigt einem spielerisch einen ersten Einblick in die Programmiersprache C. Man kann Erfahrungen in der Roboterprogrammierung bekommen und hat sofort auch ein Ergebnis zu den Programmierelementen, somit kann man direkt auf Fehlermeldungen reagieren. Denn meistens funktioniert es nicht bei dem ersten Anlauf. Aus diesem Grund und dadurch, dass man viele unterschiedliche Softwareversionen zur Programmierung des NXT- Bricks verwendet, ist es ein sehr zeitaufwändiges Praktikum.
Literaturverzeichnis
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ https://modernroboticsinc.com/hitechnic-nxt-irseeker-v2
- ↑ https://www.generationrobots.com/de/401223-tastsensor-fur-programmierbare-lego-mindstorms-nxt-roboter.html
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ Eigenes Foto
→ zurück zum Hauptartikel: Informatikpraktikum WS 18/19