AEP Gruppe C2: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(12 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Querregelung]]
[[Datei:Robo_C2.jpg|400px|rechts| Robo_C2]]
[[Datei:Robo_C2.jpg|400px|rechts| Robo_C2]]
== Vorwort ==
== Vorwort ==
Zeile 13: Zeile 14:
**Videoschnitt
**Videoschnitt
**Roboterbau
**Roboterbau
**LEGO Digital Designer - Bauanleitung
*Martin Vo
*Martin Vo
**Programmieren
**Programmieren
Zeile 22: Zeile 24:
**Präsentation
**Präsentation
**Roboterbau
**Roboterbau
**Konzeptionierung
<br />
<br />


== Praktikumsziele ==
== Praktikumsziele ==
*Die praktische Vertiefung von Informatikkenntnissen speziell in:
*Die praktische Vertiefung der Informatikkenntnisse speziell in:
**[http://de.wikipedia.org/wiki/Not_eXactly_C NXC (wiki)]
**[http://de.wikipedia.org/wiki/Not_eXactly_C NXC (wiki)]
**[http://de.wikipedia.org/wiki/Matlab Matlab(wiki)]
**[http://de.wikipedia.org/wiki/Matlab Matlab(wiki)]
**[http://de.wikipedia.org/wiki/Simulink Simulink(wiki)]
**[http://de.wikipedia.org/wiki/Simulink Simulink(wiki)]
**[http://de.wikipedia.org/wiki/Stateflow Stateflow(wiki)]
**[http://de.wikipedia.org/wiki/Stateflow Stateflow(wiki)]
*Vertiefung von Kenntnissen in prinzipiellen Aufbau von Mechtronischen Systemmen,
*Vertiefung der Kenntnisse in prinzipiellen Aufbau von Mechtronischen Systemmen,
*so wie das Erwerben der Grundkenntnisse in Mess-, Regelungs- und Digitaltechnik
*so wie das Erwerben der Grundkenntnisse in Mess-, Regelungs- und Digitaltechnik
**[http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT Lego Mindstorms NXT(wiki)]
**[http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT Lego Mindstorms NXT(wiki)]
Zeile 51: Zeile 54:
**Aktuatoren:
**Aktuatoren:
***drei Sensormotoren
***drei Sensormotoren
**Verbindungskabeln
**Verbindungskabel
**diverse LEGO-Bauteile
**diverse LEGO-Bauteile
*Maximaler Radeinschlagswinkel sollte 40° betragen.
*Maximaler Radeinschlagswinkel sollte 40° betragen.
Zeile 115: Zeile 118:
Für bessere Wendigkeit haben wir das Differenzialgetriebe auf hintere Achse verbaut.  
Für bessere Wendigkeit haben wir das Differenzialgetriebe auf hintere Achse verbaut.  
Der erste Servomotor dient für die vorwärts- und rückwärts Bewegungen mit der Hinterachse.
Der erste Servomotor dient für die vorwärts- und rückwärts Bewegungen mit der Hinterachse.
Zweites Servomotor für die Lenkung mit der Vorderachse.
Zweiter Servomotor für die Lenkung mit der Vorderachse.
Den Gierratensensor haben wir oben links angebracht in Fahrtrichtung und den Ultraschallsensor oben in Fahrtrichtung rechts damit der Roboter rechts nach Parkplatz suchen kann.
Den Gierratensensor haben wir oben links angebracht in Fahrtrichtung und den Ultraschallsensor oben in Fahrtrichtung rechts damit der Roboter rechts nach Parkplatz suchen kann.
Das NXT-Stein (Brick) wurde ergonomisch verbaut, somit alle Anschlüsse und Bedienelemente frei und leicht zugänglich sind.
Das NXT-Stein (Brick) wurde ergonomisch verbaut, somit alle Anschlüsse und Bedienelemente frei und leicht zugänglich sind.
Zeile 141: Zeile 144:
<br />
<br />
'''3D-Modelierung mit LEGO Digital Designer'''
'''3D-Modelierung mit LEGO Digital Designer'''
Bei 3D-Modellierung mit Hilfe von LEGO Digital Designer waren die bereits fertige 3D-Einzelteile sehr hilfreich und zeitsparend.
Bei 3D-Modellierung mit Hilfe von LEGO Digital Designer waren die bereits fertigen 3D-Einzelteile sehr hilfreich und zeitsparend.
Nach kurze Einarbeitung funktioniert die Modellierung fast problemlos.
Nach kurzer Einarbeitung funktioniert die Modellierung fast problemlos.
Einige Probleme gab es bei den Einzelteilen die nicht waagerecht oder senkrecht eingebaut wurden.
Einige Probleme gab es bei den Einzelteilen die nicht waagerecht oder senkrecht eingebaut wurden.
Die meisten Bauteile die verdreht eingebaut werden sollten, konnten einfach mit der Software nicht richtig platziert werden.
Die meisten Bauteile die verdreht eingebaut werden sollten, konnten einfach nicht mit der Software richtig platziert werden.
Diese Bauteile haben wir in der Bauanleitung extra erwähnt.
Diese Bauteile haben wir in der Bauanleitung extra erwähnt.


Zeile 153: Zeile 156:


Das Fahrzeug startet parallel zur Wand und fährt geradeaus stets parallel zur Wand mit Hilfe von der Querregelung mit den Daten vom Gyrosensor.
Das Fahrzeug startet parallel zur Wand und fährt geradeaus stets parallel zur Wand mit Hilfe von der Querregelung mit den Daten vom Gyrosensor.
Auf die rechte Seite wird während der Fahrt mit dem Ultraschallsensor die Abstände gemessen, sobald ein ausreichender Abstand in ausreichender Länge vorhanden ist,
Auf die rechten Seite werden während der Fahrt mit dem Ultraschallsensor die Abstände gemessen, sobald ein ausreichender Abstand (Breite) in ausreichender Länge vorhanden ist,
wurde die Parklücke gefunden und das Fahrzeug stoppt die suche, falls der Parkplatz nicht gefunden wurde, dann wird es weitergesucht bis eins gefunden wurde.
wurde die Parklücke gefunden und das Fahrzeug stoppt die Suche, falls der Parkplatz nicht gefunden wurde, dann wird es weitergesucht bis einer gefunden wurde.


Bevor das Einparkvorgang beginnt, fährt das Fahrzeug ganz kurz nach vorn, und beginnt erst dann den Einparkvorgang.
Bevor der Einparkvorgang beginnt, fährt das Fahrzeug ganz kurz nach vorn und anschließend stoppt.Hier nach beginnt der Einparkvorgang.
zu erst wird nach rechts eingeschlagen und das Fahrzeug beginnt rückwärts zu fahren bis das Fahrzeug mit dem Winkel von 40° zur Straße steht.
zu erst wird nach rechts eingeschlagen und das Fahrzeug beginnt rückwärts zu fahren bis das Fahrzeug mit dem Winkel von 40° zur Straße steht.
Anschließend wird die Lenkung voll nach links eingeschlagen bis das Fahrzeug wieder parallel zur Straße steht.
Das Fahrzeug fährt weiterhin rückwärts. Anschließend wird die Lenkung voll nach links eingeschlagen bis das Fahrzeug wieder parallel zur Straße steht.
Erst dann stoppt das Fahrzeug und fährt nicht mehr rückwärts.
Erst dann stoppt das Fahrzeug und fährt nicht mehr rückwärts.
Die Räder werden wieder gerade ausgerichtet, das Fahrzeug fährt kurz nach vorn bis es mittig in der Parklücke steht und stoppt.
Die Räder werden wieder gerade ausgerichtet, das Fahrzeug fährt kurz nach vorn bis es mittig in der Parklücke steht und stoppt.
Zeile 164: Zeile 167:


[[Datei:Software_Verlauf.jpg| Software Verlaufsplan]]
[[Datei:Software_Verlauf.jpg| Software Verlaufsplan]]
<br /><br />
== Fazit ==
Durch Teamarbeit haben wir auch komplexe Aufgaben einige auch unter dem Zeitdruck trotzdem gut gemeistert.
Unsere Kenntnisse wurden in mechatronische Systeme, in Mess-, Regelungs- und Digitaltechnik vertieft.
Die Arbeit mit Matlab und Simulink hat uns weitere sehr nützliche Ingenieurs-Tools näher gebracht.
Das Informatikpraktikum hat uns einige "Aha-Effekte" beschert, und uns die Möglichkeit gegeben praktische Erfahrungen zu sammeln.


== Downloads ==
== Downloads ==
Zeile 170: Zeile 181:
Zum entpacken brauchen Sie einen Programm zum ZIP-Dateien entpacken und anschließend ein Programm zum abspielen von mp4-Dateien.
Zum entpacken brauchen Sie einen Programm zum ZIP-Dateien entpacken und anschließend ein Programm zum abspielen von mp4-Dateien.


[[Datei:Video.zip| Video Herunterladen in ZIP-Format (MP4)]]
[[Medium:Video.zip| Video Herunterladen in ZIP-Format (MP4)]]
<br />
<br />


Zeile 176: Zeile 187:
Bauanleitung zum nachbauen des Fahrzeugs (als PDF)
Bauanleitung zum nachbauen des Fahrzeugs (als PDF)


[[Datei:Bauanleitung.pdf| Bauanleitung Herunterladen in PDF-Format]]
[[Medium:Bauanleitung.pdf| Bauanleitung Herunterladen in PDF-Format]]
<br /><br />
<br /><br />


Zeile 182: Zeile 193:
Damit Sie diese Datei öffnen können, benötigen Sie eine ZIP-Software [http://www.7-zip.de (7-zip Download)] und den [http://ldd.lego.com/de-de/download LEGO Digital Designer]
Damit Sie diese Datei öffnen können, benötigen Sie eine ZIP-Software [http://www.7-zip.de (7-zip Download)] und den [http://ldd.lego.com/de-de/download LEGO Digital Designer]


[[Datei:3D_robo_lxf.zip| ''3D-Modell in ZIP-Format'']]
[[Medium:3D_robo_lxf.zip| ''3D-Modell in ZIP-Format'']]
<br /><br /><br />
<br /><br /><br />


Zeile 193: Zeile 204:
* [http://tortoisesvn.net/index.de.html tortoisesvn.net]
* [http://tortoisesvn.net/index.de.html tortoisesvn.net]


== Feedback zum Artikel ==
== YouTube Video ==
--[[Benutzer:Ulrich Schneider|Ulrich Schneider]] ([[Benutzer Diskussion:Ulrich Schneider|Diskussion]]) 08:31, 19. Jun. 2014 (CEST)
{{#ev:youtube|http://youtu.be/izVa_K-Iw5o | 720 | | Autonomes Einparken - Team C2 |frame}}
* Wirkt noch unvollständig.
 
--[[Benutzer:Christo_Tsibadze|Christo Tsibadze]] ([[Benutzer Diskussion:Christo_Tsibadze|Diskussion]]) 19:17, 19. Jun. 2014 (CEST)
* Und wie ist es jetzt?




----
----
→ zurück zum Hauptartikel: [[Autonomes_Fahren_SoSe14|Autonomes Fahren SoSe14]]
→ zurück zum Hauptartikel: [[Autonomes_Fahren_SoSe14|Autonomes Fahren SoSe14]]

Aktuelle Version vom 27. Februar 2024, 10:17 Uhr

Robo_C2
Robo_C2

Vorwort

AEP - autonomes Einparken, war ein Projekt des zweiten Informatikpraktikums im Studiengang Mechatronik (Sommersemester 2014) an der Hochschule Hamm-Lippstadt(wiki). Für die wertvolle Unterstützung und Leitung des Projekts bedanken wir uns an den Prof. Ulrich Schneider.

Projektgruppe C2

  • Christo Tsibadze
    • HSHL-Wiki-Eintrag
    • Programmieren
    • Präsentation
    • Videoschnitt
    • Roboterbau
    • LEGO Digital Designer - Bauanleitung
  • Martin Vo
    • Programmieren
    • Präsentation
    • LEGO Digital Designer - 3D-Modell
    • LEGO Digital Designer - Bauanleitung
  • Benedikt Röper
    • Programmieren
    • Präsentation
    • Roboterbau
    • Konzeptionierung


Praktikumsziele

  • Die praktische Vertiefung der Informatikkenntnisse speziell in:
  • Vertiefung der Kenntnisse in prinzipiellen Aufbau von Mechtronischen Systemmen,
  • so wie das Erwerben der Grundkenntnisse in Mess-, Regelungs- und Digitaltechnik
  • last but not least:
    • Das Lösen von komplexen mechatronischen Aufgaben im Team!


Projekt-Vorgaben

NXT Brick
Ultraschall NXT



Der Aufbau des Roboters:

  • Der Fahrzeugaufbau sollte sich an der Realität orientieren, somit über eine angetriebene sowie eine lenkende Achse verfügen.
  • Die Konstruktion sollte mit Hilfe des LEGO Mindstorms NXT mit folgendem Inhalt realisiert werden:
    • einem programmierbaren NXT-Stein (NXT-Brick)
    • Sensoren:
      • Ultraschallsensor, für die Abstandsmessung zwischen sich und einem Objekt mit dem Messbereich 6 cm bis 255 cm, cm-genau.
      • Gierratensensor, für die Messung der Winkeländerung pro Zeit
      • Rotationssensor (eingebaut im Servomotor) mit 1° Genauigkeit
    • Aktuatoren:
      • drei Sensormotoren
    • Verbindungskabel
    • diverse LEGO-Bauteile
  • Maximaler Radeinschlagswinkel sollte 40° betragen.
  • Achsabstand (Toleranz ±10%) sollte doppelt so groß sein wie die Spurweite (Toleranz ±5%).
  • Differenzialgetriebe auf Hinterachse



Software Anforderungen:

  • Bei der Softwareumsetzung mit Matlab, sollten die Befehle aus der RWTH Toolbox zur Hilfe genommen werden.
  • Implementierung eines Reglers, mit dessen Hilfe der Roboter geradeaus fahren kann und gegebenfalls die Kursabweichungen korrigiert
  • Implementierung und Steuerung von vorhandenen Sensoren und Aktoren mit Matlab für diverse Aufgaben
  • Als Software-Versionsverwaltung sollten wir SVN benutzen

Prüfung

  • Unter Verwendung von Hard- und Software sollte der Auto-Roboter autonom geradeaus fahren und Parkplatz auf der rechten Seite suchen und einschließlich parken.







Realisierung


Wir wurden mit folgenden Aufgaben im laufe des Semesters auf die Prüfung (autonomes Einparken) gut vorbereitet:

1.Praktikumstermin

  • Roboter mit LEGO Mindstorms unter Berücksichtigung von den Vorgaben konstruieren
  • Implementierung des Gyrosensors
  • kurze Einarbeitung in Matlab und NXC
  • Ultraschallsensor seitlich anbringen
  • Differenzialgetriebe für die Wendigkeit (Tipp)

> Meilenstein 1 - Funktionstüchtiges Fahrzeug

  • Firmware update des Bricks
  • Motortreiber von RWTH Toolbox auf den Bricks laden
  • USB-Verbindung mit Matlab aufbauen
  • Messwerte der Batterie und des US-Sensors auslesen und plotten
  • Mit den SVN Standartfunktionen vertraut machen

> Meilenstein 2 - Verbindung mit Software und Hardware hergestellt, und mit den ersten Funktionen von Matlab und SVN vertraut gemacht

2.Praktikumstermin

  • Funktionen schreiben mit Gierratensensor, Werte auslesen und Winkel berechnen, Daten plotten
  • Offset-Bestimmung des Gyrosensors (Calibrierung)

> Meilenstein 3 - sich mit dem Gyrosensor vertraut gemacht

3.Praktikumstermin

  • Parallel zur Wand fahren mit Hilfe des Ultraschallsensors
  • Parallel zur Wand fahren mit Hilfe des Gyrosensors --> Regler Implementierung
  • Lineare Rampe implementieren für das sanfte Anfahren

> Meilenstein 4 - Querregelung und Rampe

4.Praktikumstermin

  • Task Parken schreiben, die entstandene Messwerte als Text-Datei speichern

> Meilenstein 5 - Funktion - Parken funktioniert

5.Praktikumstermin

  • sich mit Simulink und Stateflow vertraut machen und die vorherigen Funktionen hiermit umsetzen

> Meilenstein 6 -das Komplette Programm zum Einparken fertig für die Prüfung

Umsetzung - Hardware

Robo_2
Modellierung mit LEGO Designer
Bauanleitung erstellen


Robo_C2
Für bessere Wendigkeit haben wir das Differenzialgetriebe auf hintere Achse verbaut. Der erste Servomotor dient für die vorwärts- und rückwärts Bewegungen mit der Hinterachse. Zweiter Servomotor für die Lenkung mit der Vorderachse. Den Gierratensensor haben wir oben links angebracht in Fahrtrichtung und den Ultraschallsensor oben in Fahrtrichtung rechts damit der Roboter rechts nach Parkplatz suchen kann. Das NXT-Stein (Brick) wurde ergonomisch verbaut, somit alle Anschlüsse und Bedienelemente frei und leicht zugänglich sind. Außerdem wurde vorne ein Hilfs-Lenkungsrad angebracht damit man auch manuell per Hand die Lenkung gegebenfalls anfangs ausrichten kann.
Die Zusammengefassten Fahrzeugparameter können Sie in folgender Tabelle ablesen.

Fahrzeugparameter Wert
Fahrzeuglänge 262 mm
Fahrzeugbreite 165 mm
Spurweite vorn 160 mm
Spurweite hinten 154 mm
Achsabstand 190 mm
Max. Radeinschlagswinkel Links 40° (Tol. -5°)
Max. Radeinschlagswinkel Rechts 40° (Tol. -5°)


3D-Modelierung mit LEGO Digital Designer Bei 3D-Modellierung mit Hilfe von LEGO Digital Designer waren die bereits fertigen 3D-Einzelteile sehr hilfreich und zeitsparend. Nach kurzer Einarbeitung funktioniert die Modellierung fast problemlos. Einige Probleme gab es bei den Einzelteilen die nicht waagerecht oder senkrecht eingebaut wurden. Die meisten Bauteile die verdreht eingebaut werden sollten, konnten einfach nicht mit der Software richtig platziert werden. Diese Bauteile haben wir in der Bauanleitung extra erwähnt.

Umsetzung - Software


Die Software-Programmierung wurde mit hilfe von den Aufgaben aus dem Praktikumsterminen Schritt für Schritt durchgeführt. In folgendem Konzept zeigen wir Ihnen den Verlaufsplan des Auto-Roboters zum Parken.

Das Fahrzeug startet parallel zur Wand und fährt geradeaus stets parallel zur Wand mit Hilfe von der Querregelung mit den Daten vom Gyrosensor. Auf die rechten Seite werden während der Fahrt mit dem Ultraschallsensor die Abstände gemessen, sobald ein ausreichender Abstand (Breite) in ausreichender Länge vorhanden ist, wurde die Parklücke gefunden und das Fahrzeug stoppt die Suche, falls der Parkplatz nicht gefunden wurde, dann wird es weitergesucht bis einer gefunden wurde.

Bevor der Einparkvorgang beginnt, fährt das Fahrzeug ganz kurz nach vorn und anschließend stoppt.Hier nach beginnt der Einparkvorgang. zu erst wird nach rechts eingeschlagen und das Fahrzeug beginnt rückwärts zu fahren bis das Fahrzeug mit dem Winkel von 40° zur Straße steht. Das Fahrzeug fährt weiterhin rückwärts. Anschließend wird die Lenkung voll nach links eingeschlagen bis das Fahrzeug wieder parallel zur Straße steht. Erst dann stoppt das Fahrzeug und fährt nicht mehr rückwärts. Die Räder werden wieder gerade ausgerichtet, das Fahrzeug fährt kurz nach vorn bis es mittig in der Parklücke steht und stoppt. Fahrzeug ist geparkt, Ton wird abgespielt und ende...

Software Verlaufsplan

Fazit

Durch Teamarbeit haben wir auch komplexe Aufgaben einige auch unter dem Zeitdruck trotzdem gut gemeistert. Unsere Kenntnisse wurden in mechatronische Systeme, in Mess-, Regelungs- und Digitaltechnik vertieft. Die Arbeit mit Matlab und Simulink hat uns weitere sehr nützliche Ingenieurs-Tools näher gebracht.

Das Informatikpraktikum hat uns einige "Aha-Effekte" beschert, und uns die Möglichkeit gegeben praktische Erfahrungen zu sammeln.

Downloads

Screenshot vom Video

Zum herunterladen des Videos drücken Sie bitte auf "Datei:Video.zip" und anschließend auf "Video.zip". Zum entpacken brauchen Sie einen Programm zum ZIP-Dateien entpacken und anschließend ein Programm zum abspielen von mp4-Dateien.

Video Herunterladen in ZIP-Format (MP4)


Bauanleitung zum nachbauen des Fahrzeugs (als PDF)

Bauanleitung Herunterladen in PDF-Format

Hier können Sie den Roboter in 3D herunterladen. Sie wurde mit Hilfe von LEGO Digital Designer erstellt. Damit Sie diese Datei öffnen können, benötigen Sie eine ZIP-Software (7-zip Download) und den LEGO Digital Designer

3D-Modell in ZIP-Format


Weblinks

YouTube Video

Autonomes Einparken - Team C2



→ zurück zum Hauptartikel: Autonomes Fahren SoSe14