RoboSoccer Gruppe A1 - WS 18/19

Aus HSHL Mechatronik
Version vom 4. Februar 2019, 11:22 Uhr von Mohamed Soliman (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „'''Autoren:''' Mohamed Soliman und Richard Stanislawiski und Benutzer: Noah Greis | No…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Autoren: Mohamed Soliman und Richard Stanislawiski und Noah Greis


Einleitung

Im Laufe des Semester haben wir versucht und geübt den Roboter Schritt für Schritt zu Programmieren , dass er im Spielfeld Soccer spielen kann . Im Informatik-Praktikum war es unsere Aufgabe einen funktionierenden Roboter mithilfe von LEGO Mindstorms zu konstruiren und mit Bricxcc zu programmieren. Dieser Roboter soll dann an einem Robo-Soccer Tunier (Spielregeln) an der Hochschule Hamm-Lippstadt in Lippstadt teilnehmen.

Konstrunktion

Prototyp




Unterkonstruktion

Der Roboter besteht aus 3 Motoren . Die Motoren können die Rotationen auf einen Grad genau bestimmen. Dabei ist die maximale Umdrehungen 160 Umdrehungen/ Minuten und das maximale Drehmoment ca. 0,2 Nm. Der Dritte Mototr wird für das schießen des Balls benutzt .


NXT-Brick

Der NXT- Brick ist das "Gehirn" von Dem Roboter . Bei ihm werden alle Sensoren und Motoren angeschlossen. LEGO Mindstorms NXT System behandelt die Hardwarespezifikation und Hardwareevaluation verschiedene Sensoren für das LEGO Mindstorms-System. Um Kenntnisse über die Genauigkeit und Zuverlässigkeit der Sensoren und Motoren und deren Zusammenspiel mit dem NXT-Baustein zu erhalten wurden zunächst die Hardware des NXT und verschiedener Sensoren spezifiziert.


Ultraschallsensor

Der Ultraschallsensor ist im Lego Mindstorms NXT Bausatz enthalten. Wie bei sämtlichen Ultraschallsensoren, können mit diesem Sensor Entfernungen zu eventuellen Hindernissen gemessen werden, die sich vor dem Roboter befinden. So kann sich der Roboter zwischen Ausweichmanöver und Annäherung entscheiden.
Die Entfernungsmessung erfolgt in Zoll oder Zentimetern


Tastsensor

Mithilfe des Tastsensors werden bestimmte Reaktionen auf einen physischen Druck ausgelöst. Er stellt sozusagen die „Finger“ des Lego Mindstorms NXT Roboters dar.


Infarotsensor

Sensor
Der Infrarotsensor (IRSEEKERV2 )besitzt 5 Detektoren, die in einem Radius von 240 Grad, Infrarotsignale erfassen können. Diese 5 Detektoren lassen sich in 9 Sektoren unterteilen um eine genaue Richtung des Infrarotsignales zu bestimmen. Basierend auf dem pyroelektrischen Prinzip, lässt sich sogar die Intensität der Infrarotstrahlen in den Detektoren bestimmen. Dadurch kann ein Abstand des Infrarotball`s ermittelt werden.



Kompasssensor

Er misst das Erdmagnetfeld und berechnet damit einen Steuerkurs für den Roboter. Der Sensor führt 100 Messungen pro Sekunde durch und übermittelt eine Zahl zwischen 0 und 359, die den Winkel zum Nordpol ausdrückt. Der Sensor verfügt über zwei Modi:
1.Im Lesemodus übermittelt der Sensor jedes Mal einen Wert, wenn er vom intelligenten Lego Mindstorms NXT-Stein einen Lesebefehl erhält.
2.Im Kalibriermodus kann der Sensor so eingestellt werden, dass er störende Magnetfelder des Roboter-Elektromotors, der Batterien usw. neutralisiert
Es wird einfacher sein , wenn der Roboter auf eine bestimmte Richting , die er folgen soll , eingerichtet wird .Die Werte können als relative oder absolute Werte angezeigt werden.



Hauptprogramm

Das Hauptprinziep des Hauptprogramms ist eine Endlosschleife, die aus "Ballsuche", "Ballfang", "Ausrichtung" und "Schuss" besteht.Die Schleife wiederholt sich bis sie Manuel abgebrochen wird . Davor wird die Richtung des Tores mit Hilfe des Kompasssensors eingepeichert .
Laufplan
Code












Ansteuerung der Aktoren

Als Aktuatoren haben wir nur die Motoren von NXT. Die nachfolgenden Befehle, beziehen sich auf die Möglichkeiten der Ansteuerung der Motoren

    • OnFwd() oder OnRev()
    • RotateMotor()
    • OnFwdReg() oder OnRevReg()
    • OnFwdSync() oder OnRevSync()
    • Off() oder Float()



Motor fährt geradeaus mit einer angegeben Geschwindigkeit
OnFwd(Ausgang_Motor, Leistung);


Motor fährt rückwärts mit einer angegeben Geschwindigkeit
OnRev(Ausgang_Motor, Leistung);


Motor rotiert mit einer angegeben Geschwindigkeit bis zu dem angegebenen Winkel
RotateMotor(Ausgang_Motor, Leistung, Winkel);


Regulierungsmodus, zum synchronen Motorenlauf in Fahrtrichtung Vorwärts
OnFwdReg(Ausgang_Motor, Leistung, REGMODE);


Regulierungsmodus, zum synchronen Motorenlauf in Fahrtrichtung Rückwärts
OnRevReg(Ausgang_Motor, Leistung, REGMODE);


Automatisches fahren einer Kurve durch Angaben eines Radius in Fahrtrichtung Vorwärts
OnFwdSync(Ausgang_Motor, Leistung, Radius);


Automatisches fahren einer Kurve durch Angaben eines Radius in Fahrtrichtung Rückwärts
OnRevSync(Ausgang_Motor, Leistung, Radius);


Motor bremst sofort ab
Off(Ausgang_Motor);


Motor läuft aus
Float (Ausgang_Motor);


Begriffe:
On = An; Fwd = Vorwärts; Rev = Rückwärts; Rotate = rotieren; Reg = Regulation; Off = Aus; Flout = gleiten


Link zum Video

Um unseren Roboter in Action zu sehen und um uns kurz vorzustellen klicke auf den / Link