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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(74 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Informatikpraktikum MTR Gruppe B1: Team - '''''Robi Kroos'''''
Informatikpraktikum MTR Gruppe B1: Team - '''''ROBI Kroos'''''


'''Das Trainer-Team:''' Stefan Großecoßmann, Nils Hartmann, Timo Malchus
'''Das Trainer-Team:''' Stefan Großecoßmann, Nils Hartmann, Timo Malchus
[[Datei:Robi-Kroos-Banner.jpg|700px|thumb|right|]]
[[Datei:Bild vom Robi-Kroos.jpg|200px|thumb|right|]]




== Einleitung ==
== Einleitung ==
Das Ziel des Informatikpraktikums I, betreut durch Professor Ulrich Schneider, bestand darin, einen LEGO NXT Roboter zu konstruieren und programmieren, sodass dieser nach dem Regelwerk des RoboSoccers fähig ist ein komplettes Fußballspiel zu spielen. Dabei wurde vor und während den einzelnen Praktikumsterminen schrittweise auf dieses Ziel hingearbeitet, indem die Funktionsweise von den verwendeten Sensoren und Aktoren erarbeitet und Kenntnisse über die grafische und textuelle Programmierung von LEGO NXT Robotern erworben und angewendet wurde.
Das Ziel des Informatikpraktikums I, betreut durch Professor Ulrich Schneider, bestand darin, einen LEGO NXT Roboter zu konstruieren und programmieren, sodass dieser nach dem [http://193.175.248.52/wiki/index.php/Regelwerk_RoboSoccer_2018 Regelwerk des RoboSoccer] fähig ist ein komplettes Fußballspiel zu spielen. Dabei wurde vor und während den einzelnen Praktikumsterminen schrittweise auf dieses Ziel hingearbeitet, indem die Funktionsweise von den verwendeten Sensoren und Aktoren erarbeitet und Kenntnisse über die grafische und textuelle Programmierung von LEGO NXT Robotern erworben und angewendet wurde.




== Gruppenmitglieder und ihre Aufgaben ==
== Gruppenmitglieder und ihre Aufgaben ==
'''Stefan Großecoßmann:'''
'''[[Stefan Großecoßmann]]:'''


- Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen
* Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen


- Konstruktion des Roboters
* Konstruktion des Roboters


- Entwurf des Werbeplakats
* Entwurf des Werbeplakats


- Erstellung der Bauanleitung
* Erstellung der Bauanleitung


- Erstellung des Videos
* Erstellung des Videos




'''Timo Malchus:'''
'''[[Timo Malchus]]:'''


- Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen
* Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen


- Konstruktion des Roboters
* Konstruktion des Roboters


- Entwicklung der Spielstrategie
* Entwicklung der Spielstrategie


- Umsetzung der Spielstrategie in Bricxcc
* Umsetzung der Spielstrategie in Bricxcc


- Erstellung der Bauanleitung
* Erstellung der Bauanleitung




'''Nils Hartmann:'''
'''[[Nils Hartmann]]:'''


- Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen
* Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen


- Konstruktion des Roboters
* Konstruktion des Roboters


- Erstellung der Bauanleitung
* Erstellung der Bauanleitung


- Umsetzung der Spielstrategie in Bricxcc
* Umsetzung der Spielstrategie in Bricxcc


- Erstellung des Videos
* Erstellung des Videos




== Verwendete Software ==
== Verwendete Software ==
[http://bricxcc.sourceforge.net/ Bricxcc] (zur Programmierung ab dem dritten Praktikumstermin)
* [http://bricxcc.sourceforge.net/ Bricxcc] (zur Programmierung ab dem dritten Praktikumstermin)


[https://education.lego.com/de-de/downloads/mindstorms-ev3/software LEGO MINDSTORMS EV3] (zur Programmierung bis zum dritten Praktikumstermin)
* [https://education.lego.com/de-de/downloads/mindstorms-ev3/software LEGO MINDSTORMS EV3] (zur Programmierung bis zum dritten Praktikumstermin)


[https://www.lego.com/de-de/mindstorms/downloads/nxt-software-download LEGO MINDSTORMS NXT 2.0-Software] (zur Programmierung bis zum dritten Praktikumstermin)
* [https://www.lego.com/de-de/mindstorms/downloads/nxt-software-download LEGO MINDSTORMS NXT 2.0-Software] (zur Programmierung bis zum dritten Praktikumstermin)


[https://www.hitechnic.com/downloadnew.php?category=13 HiTechnic Add-Ons] (Add-Ons für HiTechnic Produkte in NXT 2.0)
* [https://www.hitechnic.com/downloadnew.php?category=13 HiTechnic Add-Ons] (Add-Ons für HiTechnic Produkte in NXT 2.0)


[https://www.lego.com/en-us/ldd LEGO Digital Designer](zur Erstellung der Bauanleitung)
* [https://www.lego.com/en-us/ldd LEGO Digital Designer](zur Erstellung der Bauanleitung)


[https://www.heise.de/download/product/papdesigner-51889 PAP Designer] (zur Erstellung des Programmablaufplans nach DIN 66001)
* [https://www.heise.de/download/product/papdesigner-51889 PAP Designer] (zur Erstellung des Programmablaufplans nach DIN 66001)




Zeile 65: Zeile 69:
== Verwendete Hardware ==
== Verwendete Hardware ==


- LEGO MINDSTORMS EDUCATION (Nr. 9797)
* LEGO MINDSTORMS EDUCATION (Nr. 9797)


- LEGO MINDSTORMS EDUCATION (Nr. 9695)
* LEGO MINDSTORMS EDUCATION (Nr. 9695)


- [https://www.generationrobots.com/de/402534-roue-folle-avec-support-lego-mindstorms-ev3.html Stahlkugeln für das Grundgerüst]
* [https://www.generationrobots.com/de/402534-roue-folle-avec-support-lego-mindstorms-ev3.html Stahlkugeln für das Grundgerüst]


- [https://modernroboticsinc.com/hitechnic-nxt-compass-sensor Hi-Technic Kompass-Sensor]
* [https://modernroboticsinc.com/hitechnic-nxt-compass-sensor Hi-Technic Kompass-Sensor]


- [https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NSK1042 Hi-Technic Infrarot-Sensor]
* [https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NSK1042 Hi-Technic Infrarot-Sensor]


- [https://modernroboticsinc.com/infrared-electronic-ball Infrarot Ball]
* [https://modernroboticsinc.com/infrared-electronic-ball Infrarot Ball]


Die beiden LEGO MINDSTORMS EDUCATION Sets (Nr. 9797 und Nr. 9695) bilden zusammen mit den beiden Stahlkugeln und den HiTechnic Kompass- und Infrarotsensor den kompletten Aufbau des Roboters. Der gesamte Aufbau kann schrittweise grafisch aus der Bauanleitung entnommen werden.
Die beiden LEGO MINDSTORMS EDUCATION Sets (Nr. 9797 und Nr. 9695) bilden zusammen mit den beiden Stahlkugeln und den HiTechnic Kompass- und Infrarotsensor den kompletten Aufbau des Roboters. Der gesamte Aufbau kann schrittweise grafisch aus der Bauanleitung entnommen werden.
--> [[Bauanleitung-Robo-Kroos_18/19]]




=== Sensoren ===
=== Sensoren ===


==== Infrarot-Sensor ====
Der [https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NSK1042 Hi-Technic Infrarot-Sensor] sucht in seiner Umgebung nach Infrarotquellen. Die Sensorwerte werden ausgelesen und der Roboter fährt auf die stärkste Infrarotquelle zu.
==== Kompass-Sensor ====
Der [https://modernroboticsinc.com/hitechnic-nxt-compass-sensor Hi-Technic Kompass-Sensor] orientiert sich am Erdmagnetfeld. So lassen sich die absoluten Werte auslesen (0° bis 359°).
==== Tastsensor ====
Der Tastsensor reagiert auf Druck, Stoß und Freigeben.
=== Aktoren ===
==== Servo-Motoren ====
Die im Set enthaltenen Servomotoren mit integrierten Rotationssensoren lassen sich auf Zeit, nach Umdrehungen und nach dem Winkel (Genauigkeit 1°) ansteuern.
=== Mikrocontroller ===
Der LEGO-Mindstorms NXT-Brick besitzt einen Atmel-ARM-Prozessor mit 48 MHz Taktrate. Zu einem USB-B-2.0-Anschluss besitzt er noch eine Schnittstelle, mit der eine Bluetooth-Verbindung aufgebaut werden kann. Um die Aktoren ansteuern zu können besitzt er drei Motorausgänge mit Rückkanal und vier Sensoreingänge für die Sensoren. Dies wird mit einer analog-digital-Kombination, dem sogenannten I²C-Bus realisiert.
Als Anzeige enthält er ein LCD-Display mit 100x64 Pixel. Soundausgabe erfolgt mit einer 8-Bit Auflösung. Der Brick wird von einem 2100 mAh Li-Ion-Akku mit Spannung versorgt.
== Entwicklungsstrategie / Merkmale ==


== Spielstrategie ==
* fachwerkartiger Turm, um Schwingungen zu vermeiden


- fachwerkartiger Turm, um Schwingungen zu vermeiden
* Greif- und Schussarm mit Unterführung für den Tastsensor, um vorne Auslauf zu schaffen


- Greif- und Schussarm mit Unterführung für den Tastsensor, um vorne Auslauf zu schaffen
* breite Reifen für erhöhte Traktion


- breite Reifen für erhöhte Traktion
* Abdeckungen für die Leitungen, um Verhaken mit anderen Robotern zu vermeiden


- Abdeckungen für die Leitungen, um Verhaken mit anderen Robotern zu vermeiden
* niedriger Schwerpunkt für stabilen Stand


- niedriger Schwerpunkt für stabilen Stand
* stabile Bauweise


- stabile Bauweise


== Spielstrategie ==


=== Programmablaufplan (PAP) ===
=== Programmablaufplan (PAP) ===
<gallery>
Main.jpg|Hauptprogramm
Ball_suchen.jpg|Ball suchen
Ball_fangen.jpg|Ball fangen
Ausrichten.jpg|Ausrichten
Freispielen.jpg|Freispielen
</gallery>
=== Umsetzung in NXC ===
=== Umsetzung in NXC ===
 
[[Datei:Main-Programm.jpg|200px|thumb|left|Das Main-Programm]]
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />


== Marketing des Roboters ==
== Marketing des Roboters ==
Zeile 106: Zeile 152:
=== Werbeplakat ===
=== Werbeplakat ===
----
----
 
[[Datei:Robi-Kroos-Werbeplakat.jpg|400px|thumb|center|Werbeplakat ROBI-KROOS]]


=== YouTube-Video ===
=== YouTube-Video ===
----
----


[https://www.youtube.com/watch?v=Y-ma9JioE-E&feature=youtu.be Hier] findet ihr unser YouTube-Video. Viel Spaß.




== Zusammenfassung ==
== Zusammenfassung ==
Das Informatikpraktikum lehrt die grafische Programmierung in EV3 und NXT 2.0 und später die  Programmierung in der Hochsprache C, anhand von vielen anwendungsnahen Beispielen. Es wird viel über die Funktionsweise des Mikrocontrollers, sowie über die verschiedenen Sensoren und der Aktoren und ihrer Kommunikation untereinander, vermittelt. Auch studienrelevante Kompetenzen, wie die Kommunikation und Arbeit im Team, mithilfe des Versionverwaltungsprogramms SVN, werden von den teilnehmenden Studenten erworben.






== Literaturhinweise ==
== Literaturhinweise ==
* ↑ Bricx Command Center - http://bricxcc.sourceforge.net/
* ↑ LEGO MINDSTORMS Education EV3 - https://education.lego.com/de-de/downloads/mindstorms-ev3
* ↑ LEGO® MINDSTORMS® NXT 2.0 - https://www.lego.com/de-de/mindstorms/downloads/nxt-software-download
* ↑ LEGO Digital Designer 4.3 - http://ldd.lego.com/de-de
* ↑ Hilfeseite des Wikimedia-Projekts - http://meta.wikimedia.org/wiki/Help:Editing/de
* ↑ HiTechnic NXT Compass Sensor - http://modernroboticsinc.com/hitechnic-nxt-compass-sensor/
* ↑ HiTechnic NXT IRSeeker - http://modernroboticsinc.com/hitechnic-nxt-compass-sensor/
* ↑ Infrared Electronic Ball - http://modernroboticsinc.com/infrared-electronic-ball/
* ↑ 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/
* ↑ Buch "Programmierung LEGO NXT Roboter mit NXC" von Daniele Benedettelli - https://gym-leibnitz.lima-city.de/robotik/wp-content/uploads/2016/01/NXC_Tutorial_DE.pdf
----
→ zurück zum Hauptartikel: [[RoboSoccer_WS_18/19|Informatikpraktikum WS 18/19]]

Aktuelle Version vom 3. Februar 2019, 18:08 Uhr

Informatikpraktikum MTR Gruppe B1: Team - ROBI Kroos

Das Trainer-Team: Stefan Großecoßmann, Nils Hartmann, Timo Malchus


Einleitung

Das Ziel des Informatikpraktikums I, betreut durch Professor Ulrich Schneider, bestand darin, einen LEGO NXT Roboter zu konstruieren und programmieren, sodass dieser nach dem Regelwerk des RoboSoccer fähig ist ein komplettes Fußballspiel zu spielen. Dabei wurde vor und während den einzelnen Praktikumsterminen schrittweise auf dieses Ziel hingearbeitet, indem die Funktionsweise von den verwendeten Sensoren und Aktoren erarbeitet und Kenntnisse über die grafische und textuelle Programmierung von LEGO NXT Robotern erworben und angewendet wurde.


Gruppenmitglieder und ihre Aufgaben

Stefan Großecoßmann:

  • Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen
  • Konstruktion des Roboters
  • Entwurf des Werbeplakats
  • Erstellung der Bauanleitung
  • Erstellung des Videos


Timo Malchus:

  • Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen
  • Konstruktion des Roboters
  • Entwicklung der Spielstrategie
  • Umsetzung der Spielstrategie in Bricxcc
  • Erstellung der Bauanleitung


Nils Hartmann:

  • Bearbeitung der Aufgaben zu den jeweiligen Praktikumsterminen
  • Konstruktion des Roboters
  • Erstellung der Bauanleitung
  • Umsetzung der Spielstrategie in Bricxcc
  • Erstellung des Videos


Verwendete Software

  • Bricxcc (zur Programmierung ab dem dritten Praktikumstermin)
  • PAP Designer (zur Erstellung des Programmablaufplans nach DIN 66001)


Verwendete Hardware

  • LEGO MINDSTORMS EDUCATION (Nr. 9797)
  • LEGO MINDSTORMS EDUCATION (Nr. 9695)

Die beiden LEGO MINDSTORMS EDUCATION Sets (Nr. 9797 und Nr. 9695) bilden zusammen mit den beiden Stahlkugeln und den HiTechnic Kompass- und Infrarotsensor den kompletten Aufbau des Roboters. Der gesamte Aufbau kann schrittweise grafisch aus der Bauanleitung entnommen werden.


--> Bauanleitung-Robo-Kroos_18/19


Sensoren

Infrarot-Sensor

Der Hi-Technic Infrarot-Sensor sucht in seiner Umgebung nach Infrarotquellen. Die Sensorwerte werden ausgelesen und der Roboter fährt auf die stärkste Infrarotquelle zu.

Kompass-Sensor

Der Hi-Technic Kompass-Sensor orientiert sich am Erdmagnetfeld. So lassen sich die absoluten Werte auslesen (0° bis 359°).

Tastsensor

Der Tastsensor reagiert auf Druck, Stoß und Freigeben.


Aktoren

Servo-Motoren

Die im Set enthaltenen Servomotoren mit integrierten Rotationssensoren lassen sich auf Zeit, nach Umdrehungen und nach dem Winkel (Genauigkeit 1°) ansteuern.


Mikrocontroller

Der LEGO-Mindstorms NXT-Brick besitzt einen Atmel-ARM-Prozessor mit 48 MHz Taktrate. Zu einem USB-B-2.0-Anschluss besitzt er noch eine Schnittstelle, mit der eine Bluetooth-Verbindung aufgebaut werden kann. Um die Aktoren ansteuern zu können besitzt er drei Motorausgänge mit Rückkanal und vier Sensoreingänge für die Sensoren. Dies wird mit einer analog-digital-Kombination, dem sogenannten I²C-Bus realisiert.

Als Anzeige enthält er ein LCD-Display mit 100x64 Pixel. Soundausgabe erfolgt mit einer 8-Bit Auflösung. Der Brick wird von einem 2100 mAh Li-Ion-Akku mit Spannung versorgt.


Entwicklungsstrategie / Merkmale

  • fachwerkartiger Turm, um Schwingungen zu vermeiden
  • Greif- und Schussarm mit Unterführung für den Tastsensor, um vorne Auslauf zu schaffen
  • breite Reifen für erhöhte Traktion
  • Abdeckungen für die Leitungen, um Verhaken mit anderen Robotern zu vermeiden
  • niedriger Schwerpunkt für stabilen Stand
  • stabile Bauweise


Spielstrategie

Programmablaufplan (PAP)


Umsetzung in NXC

Das Main-Programm


















Marketing des Roboters

Werbeplakat


Werbeplakat ROBI-KROOS

YouTube-Video


Hier findet ihr unser YouTube-Video. Viel Spaß.


Zusammenfassung

Das Informatikpraktikum lehrt die grafische Programmierung in EV3 und NXT 2.0 und später die Programmierung in der Hochsprache C, anhand von vielen anwendungsnahen Beispielen. Es wird viel über die Funktionsweise des Mikrocontrollers, sowie über die verschiedenen Sensoren und der Aktoren und ihrer Kommunikation untereinander, vermittelt. Auch studienrelevante Kompetenzen, wie die Kommunikation und Arbeit im Team, mithilfe des Versionverwaltungsprogramms SVN, werden von den teilnehmenden Studenten erworben.



Literaturhinweise





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