RoboSoccer Gruppe A5 - WS 19/20: Unterschied zwischen den Versionen
(→Video) |
|||
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Servus und herzlich Willkommen auf dem Wiki-Artikel von Roberto Carlos, dem Sieger des [https://wiki.hshl.de/wiki/index.php/RoboSoccer_WS_19/20 RoboSoccer-Turniers 19/20]! | |||
[[Datei:Werbeplakat_A5.PNG|right|thumb|[1] Werbeplakat]] | |||
==Einleitung== | ==Einleitung== | ||
Im Rahmen des Informatikpraktikums I werden Studierende über sechs Termine hinweg mit der Konstruktion und Programmentwicklung eines Lego Mindstorms Roboters | Im Rahmen des Informatikpraktikums I werden Studierende über sechs Termine hinweg mit der Konstruktion und Programmentwicklung eines Lego Mindstorms Roboters | ||
vertraut gemacht. Dabei lernen die Studierenden Sensoren und Aktoren kennen, welche es einem selbst konstruierten Roboter ermöglichen sollen, Fussball zu spielen. Geleitet wurde das Praktikum von [[User:Ulrich Schneider|Prof. Ulrich Schneider]] | vertraut gemacht. Dabei lernen die Studierenden Sensoren und Aktoren kennen, welche es einem selbst konstruierten Roboter ermöglichen sollen, Fussball zu spielen. Geleitet wurde das Praktikum von [[User:Ulrich Schneider|Prof. Ulrich Schneider]]. | ||
Zunächst lernt man den NXT-Brick und seine Möglichkeiten per grafischer Programmierung in den Programmen "LEGO® MINDSTORMS® EV3" und "NXT-G" kennen. Hierbei wird einem z.B. der Umgang mit den Sensoren und Aktoren, wie diese auf technischer Ebene funktionieren und wie Sensordaten an den Brick gesendet und diese verarbeitet werden, gelehrt. | Zunächst lernt man den NXT-Brick und seine Möglichkeiten per grafischer Programmierung in den Programmen "LEGO® MINDSTORMS® EV3" und "NXT-G" kennen. Hierbei wird einem z.B. der Umgang mit den Sensoren und Aktoren, wie diese auf technischer Ebene funktionieren und wie Sensordaten an den Brick gesendet und diese verarbeitet werden, gelehrt. | ||
Zeile 29: | Zeile 32: | ||
* Design | * Design | ||
== | ==Sensorik== | ||
===Infrarotsensor=== | ===Infrarotsensor=== | ||
Zeile 37: | Zeile 40: | ||
===Kompasssensor=== | ===Kompasssensor=== | ||
* Der HiTechnic Compass Sensor ist ein digitaler Kompass, der anhand des Erdmagnetfeldes einen Wert zwischen 0° und | * Der HiTechnic Compass Sensor ist ein digitaler Kompass, der anhand des Erdmagnetfeldes einen Wert zwischen 0° und 359° zurückgibt, je nach Roboterausrichtung. | ||
:Dadurch ist es uns möglich, nachdem der Ball vom Ballfang aufgenommen wurde, den Roboter präzise zum gegnerischen Tor auszurichten. | :Dadurch ist es uns möglich, nachdem der Ball vom Ballfang aufgenommen wurde, den Roboter präzise zum gegnerischen Tor auszurichten. | ||
Zeile 68: | Zeile 71: | ||
==Spielstrategie== | ==Spielstrategie== | ||
===Programmgliederung=== | |||
Wir haben unsere Spielstrategie in drei wesentliche Programmteile gegliedert: | Wir haben unsere Spielstrategie in drei wesentliche Programmteile gegliedert: | ||
Zeile 77: | Zeile 80: | ||
# '''Torausrichtung''' | # '''Torausrichtung''' | ||
#:In diesem Programmabschnitt wird ständig der aktuelle Sensorwert des Kompass mit der anfangs festgelegten Torrichtung verglichen. Der Roboter dreht sich entsprechend zum Tor. Ist der Roboter mit einer Toleranz von +/-5° zum Tor ausgerichtet, so wird ein Schuss abgegeben. Danach wird die Ballsuche erneut eingeleitet oder bei einem Tor das Programm beendet. | #:In diesem Programmabschnitt wird ständig der aktuelle Sensorwert des Kompass mit der anfangs festgelegten Torrichtung verglichen. Der Roboter dreht sich entsprechend zum Tor. Ist der Roboter mit einer Toleranz von +/-5° zum Tor ausgerichtet, so wird ein Schuss abgegeben. Danach wird die Ballsuche erneut eingeleitet oder bei einem Tor das Programm beendet. | ||
---- | |||
===Programmablaufpläne=== | |||
<gallery mode="slideshow"> | |||
Datei:ProgrammAP_A5.png|[2] Hauptprogramm | |||
Datei:Ballsuche_A5.png|[3] Ballsuche | |||
Datei:Torausrichtung_A5.png|[4] Torausrichtung | |||
</gallery> | |||
==Unterlagensicherung== | |||
Alle Ergebnisse sind sauber im SVN gesichert und können unter [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Gruppen/Gruppen_WS1920/A5/ diesem Link] abgerufen werden. | |||
==Video== | ==Video== | ||
Roberto Carlos in Aktion [https://youtu.be/cwpikmC8cY0 hier] auf YouTube ansehen. | |||
==Literaturverzeichnis== | |||
:[1] [[:Datei:Werbeplakat_A5.PNG|Eigenes Foto]] | |||
:[2] [[:Datei:ProgrammAP_A5.png|Eigenes Foto]] | |||
:[3] [[:Datei:Ballsuche_A5.png|Eigenes Foto]] | |||
:[4] [[:Datei:Torausrichtung_A5.png|Eigenes Foto]] | |||
---- | ---- | ||
→ zurück zum Hauptartikel: [[RoboSoccer_WS_19/20|Informatikpraktikum WS 19/20]] | → zurück zum Hauptartikel: [[RoboSoccer_WS_19/20|Informatikpraktikum WS 19/20]] |
Aktuelle Version vom 11. Februar 2020, 15:22 Uhr
Servus und herzlich Willkommen auf dem Wiki-Artikel von Roberto Carlos, dem Sieger des RoboSoccer-Turniers 19/20!
Einleitung
Im Rahmen des Informatikpraktikums I werden Studierende über sechs Termine hinweg mit der Konstruktion und Programmentwicklung eines Lego Mindstorms Roboters vertraut gemacht. Dabei lernen die Studierenden Sensoren und Aktoren kennen, welche es einem selbst konstruierten Roboter ermöglichen sollen, Fussball zu spielen. Geleitet wurde das Praktikum von Prof. Ulrich Schneider.
Zunächst lernt man den NXT-Brick und seine Möglichkeiten per grafischer Programmierung in den Programmen "LEGO® MINDSTORMS® EV3" und "NXT-G" kennen. Hierbei wird einem z.B. der Umgang mit den Sensoren und Aktoren, wie diese auf technischer Ebene funktionieren und wie Sensordaten an den Brick gesendet und diese verarbeitet werden, gelehrt. Nach erfolgreicher Einarbeitung wird die Programmierumgebung BricxCC verwendet, um den Roboter hier mit einer C-ähnlichen Programmiersprache zu programmieren. Am Ende des Praktikums findet ein Turnier statt, in welchem die Roboter der Gruppen gegeneinander antreten.
Informationen zum Turnier:
Gruppenmitglieder
Daniel Gosedopp
- Bau des Roboters
- Entwicklung des Programmablaufplans (PAP)
- Programmierung
Sandra Hoppe
- Bau des Roboters
- Programmierung
- Design
Sensorik
Infrarotsensor
- Der HiTechnic IRSeeker V2 kann Infrarotstrahlung erfassen, z.B. die des beim RoboSoccer eingesetzten Balls.
- Mit Hilfe des Sensors kann nicht nur die Richtung eines Infrarotsignals bestimmt werden, sondern auch die Signalstärke.
- Dies ermöglicht ein gezieltes aufsuchen des Balls.
Kompasssensor
- Der HiTechnic Compass Sensor ist ein digitaler Kompass, der anhand des Erdmagnetfeldes einen Wert zwischen 0° und 359° zurückgibt, je nach Roboterausrichtung.
- Dadurch ist es uns möglich, nachdem der Ball vom Ballfang aufgenommen wurde, den Roboter präzise zum gegnerischen Tor auszurichten.
Tastsensor
- Der NXT Touch Sensor ist ein rein mechanischer Sensor, der bei Betätigung den Wert 1 und ansonsten den Wert 0 liefert. Der Sensor kommt bei der Ballsuche
- zum Einsatz. Sobald dieser von der Ballfangmechanik betätigt wird, gibt er das Signal 1 zurück und die Torausrichtung kann eingeleitet werden.
Ultraschallsensor
- Der NXT Ultrasonic Sensor arbeitet mit Piezokristallen. Er besitzt einen Empfänger und einen Sender. Der Sender sendet ein Ultraschallsignal, welches von
- einem Objekt reflektiert wird und auf den Empfänger trifft. Es wird nun die Zeit gemessen, die ein Signal "unterwegs war". Mit der Schallgeschwindigkeit in Luft
- lässt sich dann die Distanz errechnen, die ein Objekt entfernt war (Laufzeitverfahren).
Robotermerkmale
Unser Roboter zeichnet sich durch folgende Merkmale aus:
- Stabilität
- Der Roboter besitzt vorne ein breites Fahrwerk sowie zwei Kugelräder am hinteren Ende. Dadurch kann der Roboter nur schwer umkippen.
- Genauigkeit
- Der Roboter wird vor jedem Spiel exakt zum Tor ausgerichtet und erst dann wird die Torrichtung festgelegt. Das hilft uns dabei, den Roboter vor dem Schuss
- perfekt zum gegnerischen Tor auszurichten und einen gezielten Schuss abzugeben.
- Kompaktheit
- Die Seiten des Roboters wurden zusätzlich verstärkt, damit der Roboter sich nicht verhakt.
- Sensibler Ballfang
- Der Tastsensor ist so angebracht, dass der Sensor genau auf mittlerer Ballhöhe liegt. Dadurch wird gewährleistet, dass der Ball den Sensor immer betätigt, wenn
- er sich im Ballfang befindet.
Spielstrategie
Programmgliederung
Wir haben unsere Spielstrategie in drei wesentliche Programmteile gegliedert:
- Ausrichtung
- Bevor eine Partie beginnt, wird der Roboter zum Zieltor ausgerichtet. Durch Drücken eines Buttons auf dem Brick wird die Zielrichtung gespeichert. Dadurch sollen Ungenauigkeiten der Spielfeldausrichtung beglichen und ein präzises Ausrichten zum Tor erreicht werden.
- Ballsuche
- Mithilfe des Infrarotsensors wird ständig nach dem Infrarotsignal des Balls gesucht. Eine Regelung sorgt für ein gezieltes Zufahren auf den Ball. Wurde der Ball vom Ballfang gefangen und der Tastsensor betätigt, wird die Ballsuche beendet und die Torausrichtung eingeleitet.
- Torausrichtung
- In diesem Programmabschnitt wird ständig der aktuelle Sensorwert des Kompass mit der anfangs festgelegten Torrichtung verglichen. Der Roboter dreht sich entsprechend zum Tor. Ist der Roboter mit einer Toleranz von +/-5° zum Tor ausgerichtet, so wird ein Schuss abgegeben. Danach wird die Ballsuche erneut eingeleitet oder bei einem Tor das Programm beendet.
Programmablaufpläne
Unterlagensicherung
Alle Ergebnisse sind sauber im SVN gesichert und können unter diesem Link abgerufen werden.
Video
Roberto Carlos in Aktion hier auf YouTube ansehen.
Literaturverzeichnis
- [1] Eigenes Foto
- [2] Eigenes Foto
- [3] Eigenes Foto
- [4] Eigenes Foto
→ zurück zum Hauptartikel: Informatikpraktikum WS 19/20