Lokalisierung und Kartografierung eines mobilen Lego Mindstorms Roboters
Autor: Christian Sievers
Betreuer: Prof. Schneider
Art: SDE Praktikum Systementwurf und Systemintegration
Thema
Autonome mobile Roboter müssen sich für beispielsweise Rettungseinsätze in unbekanntem Terrain zurecht finden. Hierzu müssen Sie sich eine Karte erstellen und sich in dieser Karte zurecht finden.
Ziel
Nutzen Sie einen EV3-Roboter, damit dieser den schnellsten Ausgang aus einem Labyrinth findet.
Umfang
Die Praktika habe laut Modulhandbuch folgenden Umfang
- Systementwurf Workload: 108h (45h Präsenz + 63h Selbststudium)
- Systemintegration Workload: 150h (60h Präsenz + 90h Selbststudium)
Der Umfang entspricht 258h. Bei einer 40 Stunden Woche entspricht dies ca. 7 Wochen.
Aufgabenstellung
Systementwurf
- Entwickeln Sie konsequent nach dem V-Modell.
- Aufstellung der Anforderungen
- Einarbeitung in die Programmierung des Lego Mindstorms EV3 Roboters mit Matlab/Simulink
- Ansteuerung des Roboters
- Auslesen der Umfeld- und Egosensoren
- Gestalten Sie verschiedene Labyrinthe (einfach bis schwer).
- Inbetriebnahme LiDAR am EV3
- Anbindung LiDAR an Simulink
- Objektbildung
- Tracking
- Kartografierung und Visualisierung des Roboterumfeldes
- Kartografierung mit XV11 Lidar bzw. RPLidar
- Umsetzung eines LiDAR-SLAM
Systemintegration
- Lokalisierung des Roboters in der Karte
- Einsatz von Deckenkamera und ArUco-Marker
- Bestimmung der Güte der Referenz
- Auffinden des Ausgangs aus einem Labyrinth anhand von Gütekriterien (z.B. Dauer, Weglänge, Energieverbrauch)
- Optimierung des Algorithmus anhand der Gütekriterien
- Test der Anforderungen entsprechend der Methoden der Vorlesung Reliability Engineering (statische und dynamische Code-Tests, Modul- und Systemtests)
- Testdokumentation
- Dokumentation nach wissenschaftlichem Stand
Erwartete Funktionen des Roboters
- Verbindung mit dem EV3 herstellen: Stellen Sie eine Verbindung des EV3 mit Matlab her.
- Fahren: Steuern Sie die den Roboter so an, dass er in eine gewünschte Richtung eine gewünschte Strecke fahren kann.
- Messung: Erfassen Sie die Umgebung des Roboters mit einem Sensor und Tragen Sie die Messwerte in einer selbstlarnenden Karten ein.
- Kartografierung: Bauen sie sukzessiv eine digitale Karte der Roboterumgebung auf.
- Lokalisierung: Nutzen Sie die Koppelnavigation aus der differentiellen Odometrie um den Roboter zu lokalisieren. Rekalibrieren Sie diese anhand der selbstlernenden Karte (z.B. über Scan-Matching).
- Ausgang: Finden Sie mit dem Pledge-Algorithmus den kürzesten Weg aus dem Labyrinth.
- Gütekriterien: Entwickeln Sie Gütekrieterien, um die Lösung zu bewerten. Dieses könnten sein:
- Gefahrene Strecken
- Anzahl Messungen
- Zeit
- Energieverbrauch
Anforderung
- Wissenschaftliche Vorgehensweise (Requirements, Projektplan, etc.)
- Wöchentliche Fortschrittsberichte
- Regelmeeting
- Projektvorstellung im Wiki
- ggf. Literaturrecherche mit Citavi
- Tägliche Datensicherung in SVN
Getting Started
- Nutzen Sie als ersten Ansatz den Pledge-Algorithmus, um aus dem Labyrinth zu finden.
- Nutzen Sie die Matlab Academy, um sich in Matlab Simulink einzuarbeiten.
- Sie benötigen Matlab R2018a.
- Simulink Toolbox oder RWTH Aachen Toolbox
Weblinks
- https://www.ev3dev.org/docs/tutorials/using-xv11-lidar/
- http://www.expli.de/anleitung/bauanleitung-hamster-labyrinth-selber-bauen-2504/
- https://www.youtube.com/watch?v=YTNw3izMivc
- Lego Mindstorms EV3 - Maze Solver **** elegante Lösung
- https://www.youtube.com/watch?v=agpedykGWqQ
- http://www.foerderverein-hands-on.de/de/lehrmaterial-shop.html
- https://www.google.de/imgres?imgurl=http%3A%2F%2Fst1.mpg-ge.de%2Ftl_files%2Fnews_bilder%2F2014%2FTdoT%2Flego.JPG&imgrefurl=http%3A%2F%2Fwww.mpg-ge.de%2Fnews%2Fitems%2Ftag-der-offenen-tuer-210.html&docid=UpgClzKxty3UkM&tbnid=A1FvkbURmgpC2M%3A&vet=10ahUKEwi4wIPWsJLUAhXHJlAKHaEWC3MQMwhdKC0wLQ..i&w=800&h=531&bih=1073&biw=1920&q=mindstorms%20labyrinth&ved=0ahUKEwi4wIPWsJLUAhXHJlAKHaEWC3MQMwhdKC0wLQ&iact=mrc&uact=8
- https://www.youtube.com/watch?v=Xj7e-eU6LoI
- https://www.google.de/imgres?imgurl=https%3A%2F%2Fi1.wp.com%2Fwww.rs-zusmarshausen.de%2Fhome%2Fwp-content%2Fuploads%2F2016%2F07%2FRobotik-Wahlfach-8.jpg%3Ffit%3D1200%252C900&imgrefurl=http%3A%2F%2Fwww.rs-zusmarshausen.de%2Fschueler%2Fschuelerwahlfaecher%2Frobotik%2F&docid=6pfDo6fhdjv57M&tbnid=hLDpRJDrpWVZeM%3A&vet=10ahUKEwiQ_azRsZLUAhVRKlAKHTNHBX049AMQMwhPKE0wTQ..i&w=1200&h=900&bih=1073&biw=1920&q=labyrinth%20bausatz&ved=0ahUKEwiQ_azRsZLUAhVRKlAKHTNHBX049AMQMwhPKE0wTQ&iact=mrc&uact=8
- Mindstorm in the labyrinth
Siehe auch
- Studentische Arbeiten bei Prof. Schneider
- Anforderungen an eine wissenschaftlich Arbeit
- Programmierrichtlinien für Matlab
- SVN Repositorium
→ zurück zum Hauptartikel: Studentische Arbeiten