ArduMower: Kartierung
Dieser Wiki-Beitrag ist Teil eines Projektes, welches im Rahmen vom Fachpraktikum Elektrotechnik im 6. Semester Mechatronik absolviert wurde. Ziel des Beitrags ist es, eine nachhaltige Dokumentation zu schaffen, welche die Ergebnisse festhält und das weitere Arbeiten am Projekt ermöglicht.
Autoren: Marcel Kreuer
Betreuer: Prof. Dr.-Ing. Schneider, Prof. Dr.-Ing. Mirek Göbel
Aufgabe
Die Aufgabe zu Meilenstein IV ist die Erstellung einer selbstlernenden Karte.
Der Weg zu diesem Ziel soll am Meilenstein II eine manuell vermessene Karte bereitstellen.
Erwartungen an die Projektlösung
- manuelle vermessene Karte mit GroundTruth System (MS2)
- Einbindung der Inertialnavigation zur Aktualisierung der Position des Roboters (MS3)
- Nutzen der Sensortasten zum Zweck der selbstlernenden Karte
Herangehensweise
In erster Instanz wurde die zu mähende Rasenfläche entlang der Perimeterschleife mit einem GroundTruth System vermessen. Die daraus resultierenden Messdaten wurden in Matlab eingelesen und zu einer Karte verarbeitet.
Die Karte selbst wurde als eine Matrix angelegt, wobei jedes Matrixelement eine Fläche von 0,25m x 0,25 m repräsentiert.
Die Kartenelemente sind wie folgt codiert:
Arduino Mega | ||
---|---|---|
Wert | Bedeutung | Bemerkung |
0 | Unbekannt | |
1 | Hindernis | Perimeterschleife oder Baum |
2 | Nicht Gemäht | |
3 | Gemäht | |
4 | ? | Frei für Mähstrategie |
5 | ? | Frei für Mähstrategie |
Die Auswertung der Messdaten ergab folgende mit Matlab generiert Karte:
Schnittstellen
Als Schnittstelle wurde die Matrix exportiert und kann dem Hauptprogramm zur Verfügung gestellt werden.
Der Programmblock der für die Karte zuständig ist hat folgende Schnittstellen:
Arduino Mega | |
---|---|
Eingang | Ausgang |
Inertial Navigation | Strategie |
Umfeldsensorik | |
PID |
Herausforderungen
Die Karte aus in nächster Instanz mit den Sensordaten der Initialnavigation gespeist werden. Damit kann der Tower sich in der Karte orientieren, uns seinen Standort dokumentieren.