RoboSoccer Gruppe A5 - WS 18/19: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(22 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 in Lego Digital Designer
*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===
[[Datei:Bild_Kitt.jpeg|200px|thumb|right|Bild von Kitt <ref> Eigenes Foto </ref>]]
 
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 102: Zeile 210:
[[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 vorne an dem Roboter, 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.
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. auch Fernbedienungen und unter anderem auch der IR Ball aussendet.  
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.




Zeile 128: Zeile 305:
*'''Ballsuche'''
*'''Ballsuche'''
[[Datei:Quelltext Ballsuche.PNG|300px|thumb|left| Quelltext Ballsuche <ref> Eigenes Foto </ref>]]
[[Datei:Quelltext Ballsuche.PNG|300px|thumb|left| Quelltext Ballsuche <ref> Eigenes Foto </ref>]]


==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 137: 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

Plakat des Roboters [1]

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

Maik Spinnrath

  • Bau des Roboters
  • Konstruktion des Roboters im Lego Digital Designer
  • Verfassung des HSHL Wiki-Artikels


Franziska Troja

  • 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

Video zu Roboter Kitt

SVN Ordner

Konstruktion in Lego Digital Designer [2]
Bild von Kitt [3]















Abmessungen

Die Maße von Kitt

Abmaße in [mm]
Länge 260
Breite 168
Höhe 338
Radabstand 145


Spielstrategie

PAP-Diagramme

  • Spielstrategie
Hauptprogramm [4]
Ballsuche [5]
Speicherung der Torrichtung [6]
Auslesen des aktuellen Winkels [7]
Taster [8]
Torausrichtung [9]


















































Hardware

  • Infrarotsensor
Infrarot Sensor [10]

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.

Empfangsbereiche des IR Seekers [11]











  • Tastsensor
Tastsensor [12]

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
Kompasssensor [13]

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
Antriebsmotor [14]

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
Quelltext Ballsuche [15]















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

  1. Eigenes Foto
  2. Eigenes Foto
  3. Eigenes Foto
  4. Eigenes Foto
  5. Eigenes Foto
  6. Eigenes Foto
  7. Eigenes Foto
  8. Eigenes Foto
  9. Eigenes Foto
  10. Eigenes Foto
  11. https://modernroboticsinc.com/hitechnic-nxt-irseeker-v2
  12. https://www.generationrobots.com/de/401223-tastsensor-fur-programmierbare-lego-mindstorms-nxt-roboter.html
  13. Eigenes Foto
  14. Eigenes Foto
  15. Eigenes Foto



→ zurück zum Hauptartikel: Informatikpraktikum WS 18/19