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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(16 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


==Sensoren==
==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 360° zurückgibt, je nach Roboterausrichtung.
* 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:
# '''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.
----
----
===Ausrichtung===
===Programmablaufpläne===
Der Roboter wird vor dem Spielstart immer manuell zum Tor ausgerichtet, dass soll Ungenauigkeiten der Ausrichtung des Feldes verhindern und einen möglichst genauen Kompasswert liefern.
<gallery mode="slideshow">
===Ballsuche===
Datei:ProgrammAP_A5.png|[2] Hauptprogramm
Mithilfe des Infrarotsensors wird der Ball gesucht. Sobald der Ball im Ballfang ist, wird er von diesem gegen den Tastsensor gedrückt. Daraufhin wird die Ballsuche beendet.
Datei:Ballsuche_A5.png|[3] Ballsuche
===Torausrichtung===
Datei:Torausrichtung_A5.png|[4] Torausrichtung
Bei der Torausrichtung wird zunächst der aktuelle Kompasswert eingelesen. Solange der aktuelle Wert nicht gleich dem zu Anfang definierten Kompasswert ist, soll sich der Roboter drehen.
</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!

[1] Werbeplakat

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:

  1. 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.
  2. 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.
  3. 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