RoboSoccer Gruppe A1 - WS 17/18

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Im Modul Informatik 1 des Studiengangs Mechatronik ist ein Informatikpraktikum vorgesehen. Im Praktikum wurden Gruppen von bis zu 3 Personen eingeteilt, die sich gemeinsam mit dem Thema RoboSoccer beschäftigen sollten. Die Aufgabe bestand darin, ein Roboter mithilfe von Lego Mindstorms zu konstruieren, welcher in der Lage ist, Fussball spielen zu können

RobbyTobby

Team und Aufgabenverteilung

Jonas Wrede: Programmierung, Dokumentation, Lego Digital Designer
Dominic Mähling: Programmierung, Konstruktion des Fahrzeugs, Lego Digital Designer
Kevin Hustedt: Programmierung, Dokumentation, Konstruktion des Fahrzeugs

Hardware

Als erstes musste ein Fahrzeug mit den Bauteilen von Lego Mindstorms konstruiert werden. Die Konstruktion sollte möglichst klein und wendig werden. Zum Steuern des Roboters und finden des Balls werden verschiedene Sensoren benutzt:

Infrarotsensor

Touchsensor

Kompasssensor

Fahrzeugparameter

Parameter Wert
Länge in mm 310
Breite in mm 148
Höhe in mm 247
Spurweite in mm 125
Breite Fangvorichtung in mm 70
Breite Fangarm in mm 56

Software

Die ersten Praktikumstermine wurde mit Matlab und der zusätzichen Mindstorms NXT Toolbox der RWTH Aachen programmiert. Matlab ist Skript basierte Programmiersprache, die vorrangig genutzt wird um Probleme nummerisch zu lösen. Hier wurde schrittweise ein Programm zum geregelten Fahren und autonomen Einparken mit Computeranbindung entwickelt.

In den letzten Praktikumsterminen wurde Simulink genutzt um den evaluierten Programmablaufplan auch ohne Computeranbindung nutzen zu können. Simulink ist eine Umgebung in Matlab, wo anhand von verschiedenen Schaltblöcken, welche logisch miteinander verbunden werden, Programme erstellt werden können.

Einparkkonzept

Programmablaufplan


Geradeausfahren und Lücke suchen
Der Ultraschallsensor und der Gyrosensor werden vor Beginn der Fahrt kalibriert. Die Kalibrierungswerte wurden experimentell ermittelt und in die Kalibrierungswerte im Simulink-Baustein der Sensoren eingetragen. Beim Start der Fahrt steht das Fahrzeug parallel auf der Fahrbahn. Um eine ungewollte Querabweichung zu vermeiden wird anhand der Werte des Gyrosensors eine Regelung gewährleistet um bei einer Abweichung entsprechend gegenlenken zu können. Während der geregelten Geradeausfahrt misst der Ultraschallsensor den Abstand zu Hindernissen an der rechten Seite. Wenn der Abstand ausreichend ist wird zusätzlich die Länge der Lücke mithilfe des Motordrehgebers gemessen. Ist die Lücke zu klein fährt das Fahrzeug weiter geradeaus und wiederholt die Vorgänge bis eine passende Lücke gefunden wird. Wird eine passende Lücke gefunden muss das Fahrzeug noch ein Stück weiter geradeausfahren, da der Ultraschallsensor nicht ganz hinten am Fahrzeugverbaut ist, und anschließend werden die Motoren gestoppt und der Einparkvorgang beginnt.


Einparken
Bei Beginn des Einparkvorgangs werden die Räder um 40° nach rechts eingeschlagen und das Fahrzeug fährt rückwärts, bis das Fahrzeug in einem Winkel von 40° steht. Sobald das Fahrzeug in dem Winkel von 40° steht werden die Räder um 40° nach links eingeschlagen und das Fahrzeug fährt weiterhin rückwärts, bis das Fahrzeug geradesteht. Wenn das Fahrzeug geradesteht, fährt es ein Stück geradeaus um sich mittig in der Parklücke zu positionieren. Danach werden alle Motoren gestoppt und das Fahrzeug hat den Einparkvorgang beenedet.


Links

YouTube-Video
SVN-Ordner
RWTH - Mindstorms NXT Toolbox