ArduMower: Simulation

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen


Dieser Wiki-Beitrag ist Teil eines Projektes, welches im Rahmen vom Projekt Ardumower 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: Simon Kohfeld

Betreuer: Prof. Dr.-Ing. Schneider, Prof. Dr.-Ing. Mirek Göbel


Aufgabe

Erstellung einer Simulationsumgebung für den Ardumower und Erstellung eines Frameworks in Simulink als Softwaregerüst


Erwartungen an die Projektlösung

  • Ermöglicht den Test von Software
  • Bietet Basis für die Erstellung der Steuerungssoftware


Framework

Für die Implementierung des Ardumower über Simulink ist ein Framework notwendig, welches zwischen den Modi online und offline umschaltbar ist. Im Onlinemodus soll der Ardumower direkt über das Framework ansteuerbar sein, d.h. die Sensoren werden in Echtzeit ausgelesen und die Motoren in Echtzeit angesteuert. Im Offlinemodus soll das Ardumower-Verhalten simuliert und dargestellt werden. Dazu ist im Offlinemodus ein Fahrzeugmodell hinterlegt.


Umsetzung des Frameworks

Die Hauptsoftware wird vollständig in Matlab/Simulink realisiert, wodurch keine programmiersprachenübergreifenden Schnittstellen erforderlich sind. In Matlab wird eine Start-Datei erstelt, mit welcher das Modell der Hauptsoftware gestartet werden kann. In der Start-Datei kann kofiguriet werden, ob das Online- oder das Offlinemodell gestartet werden soll und welche Parameter in das Modell geladen werden. Für diese Funktion werden Pfade vorgegeben, aus welchen die entsprechenden Dateien geladen werden. Die Start-Datei ist in Abbildung 1 zu sehen.

Online-Modell

Das Online-Modell ist in Abbildung 2 dargestellt. Es besteht aus einem Sensorblock, welcher die jeweiligen Bibliotheken beinhaltet, um die einzelnen Sensoren auslesen zu können. Die ausgelesenen Sensordaten werden in dem folgendem Block aufbereitet für den Hauptsoftware Block. Der Hauptsoftware Block verwaltet die Bibliotheken für die Mähstrategie, für die Motorsteuerung, für die Kartierung und die Diagnose. Von dem Hauptsoftware Block aus werden die Signale an die Aktoren weitergegeben.

Offline-Modell

Das Offline-Modell in Abbildung 3 beinhaltet den Ablauf des Online-Modells. Zusätzlich ist ein Fahrzeugmodell des Ardumower integriert, mit welchem die Aktoren des Ardumower simuliert und dargestellt werden können. Das Offline-Modell dient dem einfachen und schnellen Testen von neuen Algorithmen ohne den Ardumower nutzen zu müssen.

Aktueller Entwicklungsstand

Die in Simulink erstellte Software kann für den Ardumower kompiliert und aufgespielt werden und es ist bereits möglich die Fahrmotoren anzusteuern. Momentan wird die Anbindung der wichtigen Sensoren in die Software vorgenommen. Aktuell werden der Bumper und die Ultraschallsensoren integriert. Diese können bereits über das Modell ausgelesen werden. Das Auslesen ist im Moment allerings noch Fehlerbehaftet, weshalb dort aktuell Debugging betrieben wird.

Ausblick zu Meilenstein 3

Für Meilenstein 3 ist es vorgesehen, die Simulationsumgebung in Betrieb zu nehmen. Diese ist zwar bereits funktionsfähig, wird allerdings bisher nicht genutzt. Das Team soll in die Simulationsumgebung eingewiesen werden, um die Vorteile dieser nutzen zu können. Zusätzlich sollen weitere Module in das Framework integriert werden. Dazu gehören der PID-Regler, der Schleifensensor und das WIFI-Modul. Außerdem soll die Planung von Modultests parallel vorgenommen werden. Bei guten Fortschritt der genannten Punkte werden zusätzlich die zu Meilenstein 4 vorgesehenen Module Mähstrategie, HMI und die Sicherheitsmodule hinzugefügt.