RoboSoccer Gruppe A3 - WS 17/18: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Im Informatikpraktikum 1 im WiSe 17/18 war es unsere Aufgabe in Gruppen aus 3 Personen aus einem [http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT „Lego Mindstorms NXT“ <ref> Lego Mindstorms NXT http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT </ref>] einen Fußballspielenden Roboter zu bauen und zu Programmieren. | Im Informatikpraktikum 1 im WiSe 17/18 war es unsere Aufgabe in Gruppen aus 3 Personen aus einem [http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT „Lego Mindstorms NXT“ <ref> Lego Mindstorms NXT http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT </ref>] einen Fußballspielenden Roboter zu bauen und zu Programmieren. | ||
[[Datei:Robert.JPG|300px|thumb|right|Robert]] | |||
== Aufgabenstellung == | == Aufgabenstellung == | ||
Die Aufgabe bestand darin aus einem | Die Aufgabe bestand darin aus einem Lego Mindstorm NXT einen Fußballroboter zu bauen und zu programmieren. Dieser soll gezielt den Ball finden und diesen in das richtige Tor schießen. Die Programmierung des Roboters erfolgte mit der Software [http://bricxcc.sourceforge.net/ „Bricx Command Center“ <ref> BricxCC http://bricxcc.sourceforge.net/ </ref>] | ||
einen Fußballroboter zu bauen und zu programmieren. | |||
== Bauteile == | == Bauteile == | ||
[[Datei:Roboterkomponenten.jpg|300px|thumb|right|Bauteile]] | |||
''' | '''NXT-Brick''' | ||
Der | Der NXT-Brick wertet alle Messwerte der Sensoren aus und steuert somit die Motoren des Roboters an. | ||
'''Infrarot Sensor''' | |||
Durch die Richtungserfassung des Infrarot Sensors kann der Roboter den Ball „sehen“. Dabei gibt der Sensor bestimmte Werte für jede Richtung aus in die er messen kann, das Roboter interpretiert diesen wert dann, und setzt die entsprechende Richtungsänderung um. Der Roboter ist so programmiert, dass er immer versucht den Ball zentral in Richtung 5, also grade vor sich zu haben. | |||
Die Funktion des Sensors die Intensität des Lichtes zu bestimmen, ermöglicht es zudem die Nähe des Balles zu bestimmen. Erreicht diese Intensität einen gewissen Wert, der sich proportional zur Nähe des Balles verhält, wird die „Catch“ - Funktion des Roboters ausgelöst um den Ball für den Schuss positionieren zu können. | |||
[[Datei:Suchbereiche.jpg|none|mini|IR Suchbereich]] | [[Datei:Suchbereiche.jpg|none|mini|IR Suchbereich]] | ||
''' | '''Kompass Sensor''' | ||
Der Kompass Sensor enthält einen digitalen Kompass der die Himmelsrichtung in Form eines Wertes zwischen 0 und 359 ausgibt. Dabei ist 0 Norden, 90 Osten , 180 Süden und 270 Westen. | |||
Er soll dem Roboter auf dem Spielfeld erlauben sich zurechtzufinden und für den Schuss richtig zu orientieren. Dabei wird im Programm abgefragt in welche Richtung der Roboter zurzeit gedreht ist, während dessen dreht sich der Roboter um die eigene Achse. Wenn der ausgegebene Wert des Kompasssensors dem zuvor definierten Richtungswert des gegnerischen Tores entspricht, hält der Roboter an und betätigt die Schussmotorik. | |||
'''Aktuatoren''' | |||
Der Roboter verwendet drei NXT standard Servomotoren die je einer das linke und rechte Trieb- und Steuerungsrad, sowie die „Catch“ und die Schussfunktion bewegen. | |||
== Programmablaufplan == | == Programmablaufplan == | ||
Der Programmablaufplan zeigt den grundlegenden Plan für das Programm. | Der Programmablaufplan zeigt den grundlegenden Plan für das Programm.Dieses Besteht aus drei Funktionen: | ||
Erstellt wurde | |||
'''1. main:''' Die main-Funktion beinhaltet neben der Endlosschleife in der die beiden Unterfunktionen aufgerufen werden, auch den Torschuss, die Torauswahl und die Infrarot Sensor Kalibrierung. | |||
'''2. ballsuche:''' Die Unterfunktion „ballsuche“ lässt den Roboter solange mit der dem Infrarot Sensor entnommenen und berechneten Lenkung auf den Ball zufahren, bis die Intensität des Infrarot Signals stärker ist als der bei der Kalibrierung festgelegte Wert. | |||
'''3. zumTorDrehen:''' Diese Unterfunktion liest durchgehend den Wert des Kompass Sensors aus und lässt den Roboter solange drehen bis er mit der Richtung des Tors übereinstimmt. | |||
Erstellt wurde der PAP mit dem [http://friedrich-folkmann.de/papdesigner/Hauptseite.html „PaP-Designer“ <ref> Pap-Designer http://friedrich-folkmann.de/papdesigner/Hauptseite.html </ref>] | |||
[[Datei:Roboter Hauptprogramm.png|none|mini|Hauptprogramm]] | [[Datei:Roboter Hauptprogramm.png|none|mini|Hauptprogramm]] | ||
Zeile 37: | Zeile 61: | ||
== Programmierung == | == Programmierung == | ||
Die hier gezeigt Umsetzung des PaP wurde mittels BricxCC programmiert, wobei es sich um eine für die Lego NXT Serie optimierte Lobby für die Programmiersprache C handelt. Sie beinhaltet alle im PAP aufgeführten Funktionen als Tasks. | |||
[[Datei:quellcode_main.PNG|none|mini|Hauftprogramm]] | |||
Alle Projektunterlagen sind auf dem [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Gruppen/Gruppen_WS1718/A3/Projektunterlagen/ "SVN" <ref> Projektunterlagen auf SNV https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Gruppen/Gruppen_WS1718/A3/Projektunterlagen </ref>] (Zugangsbeschränkung) gespeichert | |||
Zeile 42: | Zeile 72: | ||
== YouTube Video == | == YouTube Video == | ||
== | Hier ist unser | ||
[https://youtu.be/UEbdQ_Ce6eE "You Tube Video"<ref> You Tube Video https://youtu.be/UEbdQ_Ce6eE </ref>] | |||
→ zurück zum Hauptartikel: [[RoboSoccer_WS_17/18|Informatikpraktikum WS 17/18]] | |||
== Linkverzeichnis == | |||
<references /> | <references /> |
Aktuelle Version vom 25. Januar 2018, 21:14 Uhr
Im Informatikpraktikum 1 im WiSe 17/18 war es unsere Aufgabe in Gruppen aus 3 Personen aus einem „Lego Mindstorms NXT“ [1] einen Fußballspielenden Roboter zu bauen und zu Programmieren.
Aufgabenstellung
Die Aufgabe bestand darin aus einem Lego Mindstorm NXT einen Fußballroboter zu bauen und zu programmieren. Dieser soll gezielt den Ball finden und diesen in das richtige Tor schießen. Die Programmierung des Roboters erfolgte mit der Software „Bricx Command Center“ [2]
Bauteile
NXT-Brick
Der NXT-Brick wertet alle Messwerte der Sensoren aus und steuert somit die Motoren des Roboters an.
Infrarot Sensor
Durch die Richtungserfassung des Infrarot Sensors kann der Roboter den Ball „sehen“. Dabei gibt der Sensor bestimmte Werte für jede Richtung aus in die er messen kann, das Roboter interpretiert diesen wert dann, und setzt die entsprechende Richtungsänderung um. Der Roboter ist so programmiert, dass er immer versucht den Ball zentral in Richtung 5, also grade vor sich zu haben.
Die Funktion des Sensors die Intensität des Lichtes zu bestimmen, ermöglicht es zudem die Nähe des Balles zu bestimmen. Erreicht diese Intensität einen gewissen Wert, der sich proportional zur Nähe des Balles verhält, wird die „Catch“ - Funktion des Roboters ausgelöst um den Ball für den Schuss positionieren zu können.
Kompass Sensor
Der Kompass Sensor enthält einen digitalen Kompass der die Himmelsrichtung in Form eines Wertes zwischen 0 und 359 ausgibt. Dabei ist 0 Norden, 90 Osten , 180 Süden und 270 Westen.
Er soll dem Roboter auf dem Spielfeld erlauben sich zurechtzufinden und für den Schuss richtig zu orientieren. Dabei wird im Programm abgefragt in welche Richtung der Roboter zurzeit gedreht ist, während dessen dreht sich der Roboter um die eigene Achse. Wenn der ausgegebene Wert des Kompasssensors dem zuvor definierten Richtungswert des gegnerischen Tores entspricht, hält der Roboter an und betätigt die Schussmotorik.
Aktuatoren
Der Roboter verwendet drei NXT standard Servomotoren die je einer das linke und rechte Trieb- und Steuerungsrad, sowie die „Catch“ und die Schussfunktion bewegen.
Programmablaufplan
Der Programmablaufplan zeigt den grundlegenden Plan für das Programm.Dieses Besteht aus drei Funktionen:
1. main: Die main-Funktion beinhaltet neben der Endlosschleife in der die beiden Unterfunktionen aufgerufen werden, auch den Torschuss, die Torauswahl und die Infrarot Sensor Kalibrierung.
2. ballsuche: Die Unterfunktion „ballsuche“ lässt den Roboter solange mit der dem Infrarot Sensor entnommenen und berechneten Lenkung auf den Ball zufahren, bis die Intensität des Infrarot Signals stärker ist als der bei der Kalibrierung festgelegte Wert.
3. zumTorDrehen: Diese Unterfunktion liest durchgehend den Wert des Kompass Sensors aus und lässt den Roboter solange drehen bis er mit der Richtung des Tors übereinstimmt.
Erstellt wurde der PAP mit dem „PaP-Designer“ [3]
Programmierung
Die hier gezeigt Umsetzung des PaP wurde mittels BricxCC programmiert, wobei es sich um eine für die Lego NXT Serie optimierte Lobby für die Programmiersprache C handelt. Sie beinhaltet alle im PAP aufgeführten Funktionen als Tasks.
Alle Projektunterlagen sind auf dem "SVN" [4] (Zugangsbeschränkung) gespeichert
YouTube Video
Hier ist unser "You Tube Video"[5]
→ zurück zum Hauptartikel: Informatikpraktikum WS 17/18
Linkverzeichnis
- ↑ Lego Mindstorms NXT http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT
- ↑ BricxCC http://bricxcc.sourceforge.net/
- ↑ Pap-Designer http://friedrich-folkmann.de/papdesigner/Hauptseite.html
- ↑ Projektunterlagen auf SNV https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Gruppen/Gruppen_WS1718/A3/Projektunterlagen
- ↑ You Tube Video https://youtu.be/UEbdQ_Ce6eE