Datei:RoboSoccer Gruppe A1.png

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Originaldatei(900 × 1.600 Pixel, Dateigröße: 484 KB, MIME-Typ: image/png)

Autoren: Mohamed Soliman und Richard Stanislawiski und Noah Greis


Einleitung

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.

Bauteile

Prototyp




Unterkonstruktion

Der Roboter besteht aus 2 Motoen. 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.
Das dritte Rad ist passend geeignet , wodurch sich Bobby sehr gut drehen kann.


NXT-Brick

Der NXT- Brick ist das "Gehirn" von Dem Roboter . Bei ihm werden alle Sensoren und Motoren angeschlossen.




Infarot Sensor:

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.



Kompass:

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 Magnetfelderdes Roboter-Elektromotors, der Batterien usw. neutralisiert.
Die Werte können als relative oder absolute Werte angezeigt werden. Das erleichtert die Programmierung, wenn der Roboter einer bestimmten Richtung folgen soll.



Hauptproramm

Das Hauptprogramm besteht im Wesendlichen aus einer Dauerschleife welche die beiden Fubnktionen „zuballfahren“ und „ball“ enthält. Diese werden so lange ausgeführt bis das Programm manuell abgebrochen wird.

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

Ansteuerung der Sensor

Tastsensor:
Der Eingang X wird der Funktion des Sensors zugewiesen.
SetSensorTouch(IN_X)
Mit dieser Funktion, wird der Zustand (1/0) des Tastsensors ausgelesen.
Sensor(IN_X)


Kompasssensor:
Mit diesem Befehl wird der Kompass mit dem Eingang X verbunden
#define COMPASS IN_X
Mit der Funktion wird der Kompass ausgelesen und gibt einen Wert zwischen 0 und 359 raus
SensorHTCompass(IN_2)


Infarotsensor:
Mit diesem Befehl wir der Inferotsensor mit dem Eingang X verbunden
#define IRSEEKER IN_X


Mit der Funktion wird der Inferotsensor ausgelesen
ReadSensorHTIRSeeker2AC(IRSEEKER, dir, s1, s2, s3, s4, s5);


Link zum Video

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

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell16:37, 3. Feb. 2019Vorschaubild der Version vom 16:37, 3. Feb. 2019900 × 1.600 (484 KB)Mohamed Soliman (Diskussion | Beiträge)

Keine Seiten verwenden diese Datei.

Metadaten