ASF Gruppe A4 - SoSe18: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 88: Zeile 88:
Die Implementierung der ersten Praktikumsaufgaben wurde in MATLAB umgesetzt, später wurde, wie auch schon im Informatikpraktikum I - WS17/19,  NXC verwendet.
Die Implementierung der ersten Praktikumsaufgaben wurde in MATLAB umgesetzt, später wurde, wie auch schon im Informatikpraktikum I - WS17/19,  NXC verwendet.


NXT spezifische MATLAB-Befehle siehe [https://de.mathworks.com/hardware-support/lego-mindstorms-matlab.html LEGO MINDSTORMS NXT Support from MATLAB<ref> LEGO MINDSTORMS NXT Support from MATLAB - https://de.mathworks.com/hardware-support/lego-mindstorms-matlab.html </ref>]
NXT spezifische MATLAB-Befehle siehe [https://de.mathworks.com/hardware-support/lego-mindstorms-matlab.html LEGO MINDSTORMS NXT Support from MATLAB<ref> LEGO MINDSTORMS NXT Support from MATLAB - https://de.mathworks.com/hardware-support/lego-mindstorms-matlab.html </ref>], [http://www.mindstorms.rwth-aachen.de/trac/wiki/Documentation RWTH - Mindstorms NXT Toolbox for MATLAB - Toolbox Documentation<ref> RWTH - Mindstorms NXT Toolbox for MATLAB - Toolbox Documentation - http://www.mindstorms.rwth-aachen.de/trac/wiki/Documentation </ref>]
   
   
NXC-Befehle siehe [http://www.brgkepler.at/~robotik/home/documents/BRG_Kepler_Tutorial_NXC.pdf Einführung in die Programmierung mit NXC<ref> Einführung in die Programmierung mit NXC - http://www.brgkepler.at/~robotik/home/documents/BRG_Kepler_Tutorial_NXC.pdf </ref>], [https://www.daniel-braun.com/buch/roboter-programmieren-mit-nxc/ Buch „Roboter programmieren mit NXC für LEGO Mindstorms NXT“<ref> Buch "Roboter programmieren mit NXC für LEGO Mindstorms NXT" - https://www.daniel-braun.com/buch/roboter-programmieren-mit-nxc/ </ref>],  
NXC-Befehle siehe [http://www.brgkepler.at/~robotik/home/documents/BRG_Kepler_Tutorial_NXC.pdf Einführung in die Programmierung mit NXC<ref> Einführung in die Programmierung mit NXC - http://www.brgkepler.at/~robotik/home/documents/BRG_Kepler_Tutorial_NXC.pdf </ref>], [https://www.daniel-braun.com/buch/roboter-programmieren-mit-nxc/ Buch „Roboter programmieren mit NXC für LEGO Mindstorms NXT“<ref> Buch "Roboter programmieren mit NXC für LEGO Mindstorms NXT" - https://www.daniel-braun.com/buch/roboter-programmieren-mit-nxc/ </ref>],  

Version vom 28. Juni 2018, 16:56 Uhr

Autoren und Gruppenmitglieder: Rina Muçaj, Jan Pinter und Levin Baumeister


Einleitung

Die Aufgabe bestand darin ein Lego Mindstorms NXT Fahrzeug zu konstruieren und zu programmieren, sodass dieses nach dem gegebenen Regelwerk in der Lage ist autonom einer Fahrspur auf dem Boden zu folgen. Dies geschieht im Rahmen des Informatikpraktikum II, SS 18 mit Professor Ulrich Schneider. Weitere Informationen unter Autonomes Fahren SoSe18.

Gruppenmitglieder und ihre Aufgaben

Rina Muçaj

  • Konstruktion des Roboters
  • Bearbeitung der inhaltlichen Fragen der jeweiligen Praktikumstermine
  • Erstellung des Videos
  • Verfassen des HSHL-Wiki-Artikels

Jan Pinter

  • Konstruktion des Roboters
  • Entwicklung der Fahrstrategie
  • Umsetzung der Fahrstrategie in Quellcode
  • Erstellung des Videos

Levin Baumeister

  • Konstruktion des Roboters
  • Entwicklung der Fahrstrategie
  • Erstellung des Bauplans
  • Verfassen des HSHL-Wiki-Artikels

Verwendete Softwaretools

Verwendete Hardware

  • LEGO MINDSTORMS NXT Education (Set 9797)[10]
  • LEGO Education Resource Set (Set 9695)[11]
  • NXTCam-v4, Vision Subsystem - Camera for NXT or EV3[12]

Das Lego Set 9797 bildet zusammen mit dem Lego Set 9695 die Grundlage des Roboters, inklusive der Motoren, der Steuerungseinheit (NXT Brick) und der Basis-Sensoren (Tastsensor). Damit der Roboter jedoch in der Lage ist autonom zu fahren, wird die NXTCam-v4 (Vision Subsystem - Camera for NXT or EV3) verwendet.

BEARBEITEN Die genaue Zusammensetzung der Hardware ist der Bauanleitung und dem Modell (öffnen mit LEGO Digital Designer 4.3) zu entnehmen: Datei:A5 Bauanleitung.pdf, Datei:A5 Modell.zip.

Bei der Entwicklung der Hardwarezusammensetzung standen folgende Punkte im Vordergrund:

  • Leicht zu wartende und solide Bauweise
  • Direkt angetriebene Lenkachse
  • Verstellbare Kamerahalterung
  • Leichte Anschließbarkeit

ANIMATION?

BOLDERGALLERIE?




Übersicht der Position der Sensoren und der Aktoren

Fahrstrategie

Bei der Entwicklung der Spielstrategie standen folgende Punkte in Vordergrund:

  • Dynamische Fahrt zum Ball
  • Schnellst mögliches Erkennen der unmittelbaren Ballnähe
  • Sicheres Greifen des Balls, mit mehrmaliger Überprüfung und Absicherung
  • Kürzester Ausrichtungsweg zum gegnerischen Tor
  • Sicherer und schneller Schuss in Richtung des gegnerischen Tors
  • Erkennung einer Blockade

PAP Diagramme

Motor A, Motor B: Antriebsmotoren
Motor C: Fang- und Schussmotor

Umsetzung in NXC und MATLAB

Die Implementierung der ersten Praktikumsaufgaben wurde in MATLAB umgesetzt, später wurde, wie auch schon im Informatikpraktikum I - WS17/19, NXC verwendet.

NXT spezifische MATLAB-Befehle siehe LEGO MINDSTORMS NXT Support from MATLAB[13], RWTH - Mindstorms NXT Toolbox for MATLAB - Toolbox Documentation[14]

NXC-Befehle siehe Einführung in die Programmierung mit NXC[15], Buch „Roboter programmieren mit NXC für LEGO Mindstorms NXT“[16], Programmierung LEGO NXT Roboter mit NXC [17] und NXC Programmer's Guide [18]. (In diesen Dokumenten befindet sich auch eine Übersicht der Sensoren und Aktoren).

Main-Funktion aus dem Quellcode:

 task main()
{
  SetSensorLowspeed(IN_4);
  SetSensorLowspeed(IN_2);
  SetSensorTouch(S1);
  TextOut(0, LCD_LINE1, "Links  - Osten");
  TextOut(0, LCD_LINE2, "Rechts - Westen");
  do{                                         //Linker oder Rechter Kopf zur Torwahl
    if(ButtonPressed(BTNLEFT, true))
    {tor=0; starten=true;}
    if(ButtonPressed(BTNRIGHT, true))
    {tor=1; starten=true;}
   }while(starten==false)
   while(true)                                //Endlosschleife
   {
     Suchen();
   }
} 


YouTube-Video

Video zum Roboter "Robo Fighter"

Video-Beschreibung:
Herausgeber: Rina Muçaj, Levin Baumeister und Jan Pinter
Hochschule: Hochschule Hamm-Lippstadt
Studiengang: Mechatronik 1. Semester
Projektkurs: Informatikpraktikum I (Gruppe A5)
Betreuer: Prof. Dr. Ing.-Schneider
Musik: Epic - Royalty Free Music[19]
Praktikumsziel: Konstruktion und Programmierung eines LEGO-Mindstorm zur autonomen Spurführung in der Programmiersprache NXC und MatLab

Zusammenfassung

Lerneffekt

  • Programmierung eines mechatronischen Systems
  • Vertiefung der Programmierkenntnisse mit der Sprache C und Matlab
  • Zusammenhänge zwischen den Bauteilen (Sensoren, Aktoren) verstehen
  • Erfahrungen mit dem Einsatz von verschiedenen Filtern
  • Erfahrung mit Bild- und Videobearbeitungsprogrammen

Ausblick

Der Roboter...

Literaturverzeichnis

  1. MATLAB - https://de.mathworks.com/products/matlab.html
  2. RWTH - Mindstorms NXT Toolbox for MATLAB - http://www.mindstorms.rwth-aachen.de/
  3. Bricx Command Center - http://bricxcc.sourceforge.net/
  4. NXC - https://de.wikipedia.org/wiki/Not_eXactly_C
  5. LEGO Digital Designer 4.3 - http://ldd.lego.com/de-de
  6. PapDesigner - http://friedrich-folkmann.de/papdesigner/Hauptseite.html/
  7. muvee Reveal Encore 2018 - https://www.muvee.com/
  8. Captura Version 6.0.1 - http://mathewsachin.github.io//
  9. Hilfeseite des Wikimedia-Projekts - http://meta.wikimedia.org/wiki/Help:Editing/de
  10. http://robotsquare.com/2012/02/18/understanding-nxt-versions/
  11. http://www.nxtprograms.com/help/parts/9797.html
  12. http://www.mindsensors.com/ev3-and-nxt/14-vision-subsystem-camera-for-nxt-or-ev3-nxtcam-v4
  13. LEGO MINDSTORMS NXT Support from MATLAB - https://de.mathworks.com/hardware-support/lego-mindstorms-matlab.html
  14. RWTH - Mindstorms NXT Toolbox for MATLAB - Toolbox Documentation - http://www.mindstorms.rwth-aachen.de/trac/wiki/Documentation
  15. Einführung in die Programmierung mit NXC - http://www.brgkepler.at/~robotik/home/documents/BRG_Kepler_Tutorial_NXC.pdf
  16. Buch "Roboter programmieren mit NXC für LEGO Mindstorms NXT" - https://www.daniel-braun.com/buch/roboter-programmieren-mit-nxc/
  17. Programmierung LEGO NXT Roboter mit NXC - https://gym-leibnitz.lima-city.de/robotik/wp-content/uploads/2016/01/NXC_Tutorial_DE.pdf
  18. NXC Programmer's Guide - http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/index.html
  19. Epic - Royalty Free Music - https://www.bensound.com/royalty-free-music/track/epic


Alle verwendeten Bildmaterialien auf dieser Seite wurden eigenständig erstellt.


→ zurück zum Hauptartikel: Informatikpraktikum 2 SoSe17