Projekt 54: Mission on Mars (Fortsetzung)
Im Rahmen des Praktikums der angewandten Elektrotechnik im Modul ingenieurwissenschaftliche Vertiefung II des Masterstudienganges Business and Systems Engineering ist es unsere Aufgabe den Mars-Roboter, welcher von der Vorgruppe im WS15/16 gebaut wurde, fertigzustellen, technisch in Betrieb zu nehmen und zu programmieren. Des Weiteren soll eine Marsoberfläche gebaut werden, auf die der Roboter fahren kann. Die Ergebnisse dieses Projektes sollen während der Abschlusspräsentation in Form einer Messe vorgeführt werden, zusätzlich soll ein spektakuläres Video die Funktion visualisieren. Ziel des Beitrages ist, eine nachhaltige Dokumentation zu schaffen, welche die Ergebnisse festhält und das weitere Arbeiten am Projekt ermöglicht.
Autoren: Averesch Julia, Kempe Tim
Betreuer: Prof. Schneider
Aufgabe
Nachbauen der „Mission On Mars Robot Challenge 2015“ von MathWorks.
Erwartungen an die Projektlösung
- Einarbeitung in die bestehenden MathWorks-Unterlagen
- Aufbau und des Mars Rovers
- Inbetriebnahme mit Simulink
- Realisierung des Versuchsaufbaus (Mars)
- Machen Sie spektakuläre Videos, welche die Funktion visualisieren.
- Test und wiss. Dokumentation
Schwierigkeitsgrad
Mittel (***)
Einleitung
MathWorks veranstaltete drei Jahre lang auf der Innorobo-Messe in Paris einen Roboter-Programmierwettbewerb „Mission on Mars Robot Challenge“. Dabei war es die Mission der Teams den Planten Mars zu erkunden und bestimmte Standorte zu identifizieren und Hindernisse zu vermeiden. Ein 3D-gedruckter Roboter mit Arduino und Raspberry Pi Boards sowie eine fertige Marsoberfläche, wurde den Teams zur Verfügung gestellt. Die Aufgabe der Teams bestand darin, dass von MathWorks zur Verfügung gestellte Robotersimulationsmodell zu verbessern und die MATLAB- und Simulink-Algorithmen zu optimieren[1].
In dem Projekt „Mission on Mars“ an der Hochschule Hamm-Lippstadt geht es darum, den Mars Rover gemäß den MathWorks Unterlagen nachzubauen und entsprechend zu programmieren. So soll der Mars Rover aus einer selbsterstellen Mars Oberfläche bestimme Flecken bzw. Kraterformen mit der Kamera erkennen und finden. Neben dem Mars Rover und seiner Programmierung, muss auch eine entsprechende Mars Oberfläche gebaut werden.
Verwendete Bauteile
Damit die Arbeit der Vorgruppe fertiggestellt werden kann wurden noch folgende Bauteile benötigt. Diese dienen unter anderem zur Spannungsversorgung, für das Schalter anbringen und eine Schraube wurde gegen ein Kugellager getauscht.
Des Weiteren wurde sich ein Konzept für eine Marsoberfläche überlegt. Hier sollten 2 Kunststoffplatten (a 1,50 x 3,00 m) mit einem Bild der Marsoberfläche bedruckt werden. Zur Begrenzung der Platten sollten 4 Kunststoffplatten (a 3 x 0,3m) dienen, die mit Aluminiumwinkeln und Flügelschrauben befestigt werden. Diese Kunststoffplatten könnten bei Bedarf auch bedruckt werden. Ein entsprechendes Angebot wurde bei der Firma Neon-Licht Werbung Redeker aus Hamm eingeholt. Dieses ist im Projektordner hinterlegt.
Aufgrund der Größe der Marsoberfläche wird ein Bild mit einer sehr großen Auflösung benötigt. Diese wurde mit Hilfe des Programms Photoshop erstellt.
Leider war es uns nicht möglich, die Marsoberfläche laut dem Angebot zu beschaffen, da die Mittel für das Jahr 2017 der Hochschule aufgebraucht waren. Eventuell ist im Jahr 2018 eine Beschaffung der Marsoberfläche möglich. Für die Abschlusspräsentation wurde von MathWorks aus England eine Marsoberfläche zur Verfügung gestellt.
Projekt
Der Mars-Roboter war von der Vorgruppe mechanisch fertiggestellt worden. Die 3D-Bauteile wurden gedruckt und zusammengebaut, sodass die Hardware des Mars-Roboters übernommen werden konnte. Leider fiel bei der Sichtung der Unterlagen auf, dass viel nicht dokumentiert worden ist und die selbstgefertigte Platine nicht beschrieben wurde. Desweiten fehlte noch ein Konzept für die Stromversorgung, sowie eine Sicherung und ein An/Aus-Schalter.
Projektplan
Im Projektplan werden die einzelnen Arbeitsvorgänge im Groben sowie die zeitliche Dauer dargestellt. So kann man sehr gut den aktuellen Stand während des Projektes erkennen und zum Schluss lässt sich ermitteln wie viel Zeit die einzelnen Aufgaben in Anspruch genommen haben.
Das Projekt wurde in die vier großen Aufgabenbereiche Planung, Theoretische sowie praktische Realisierung und die Vorbereitung der Abschlusspräsentation unterteilt. In der erste Phase der Planung wurde eine Anforderungserhebung erstellt, der Roboter gesichtet, das Material geplant, eine BOM erstellt, der Aufwand geschätzt und der IST-Zustand des Roboters analysiert. Des Weiteren wurde ein Termin mit Hr. Schneider vereinbart, in dem die genaue Umsetzung der Marsoberfläche besprochen wurde, auf unvollständige Unterlagen hingewiesen wurde und auf das Problem bzgl. der Projektzeit hingewiesen wurde. Aufgrund diese Problematik wurde das Projektziel für uns heruntergeschraubt. Die Planungsphase wurde Ende Oktober 2017 abgeschlossen und dauerte 3 Wochen.
In der zweiten Phase der Theoretischen Realisierung wurde für die Marsoberfläche Ideen gesammelt, Angebote eingeholt und ein Bild zum Bedrucken der Marsoberfläche gesucht und mit Photoshop bearbeitet. Zudem konnte angefangen werden sich in die vollständigen Unterlagen einzuarbeiten und somit die Nachdokumentation zu erstellen, ein Spannungsversorgungskonzept und Kommunikationskonzept zu entwickeln. Diese Phase wurde Anfang Dezember abgeschlossen und dauerte 6 Wochen.
Die dritte Phase der praktischen Realisierung wurde in zwei Teilphasen unterteilt, der Hardware und der Software. Damit der Roboter in Betrieb genommen werden konnte musste die Spannungsversorgung hergestellt werden, Schalter angebracht und Sicherung angebracht werden, die selbstgemachte Platine überprüft und angepasst werden. Zudem wurde eine Schraube noch gegen ein Kugellager getauscht. Die Teilphase der Hardware konnte Ende Dezember abgeschlossen werden und dauerte somit 3 Wochen. Nach der Fertigstellung der Hardware konnte die Software fertiggestellt werden, hier wurde ein Testprogramm zur Sensor-Aktor Überprüfung in der Arduino Umgebung getestet, welches während der Hardwarefertigstellung geschrieben und entwickelt wurde. Diese Teilphase dauerte 2 Wochen und konnte Mitte Januar fertiggestellt werden. Die gesamte dritte Phase dauerte insgesamt 5 Wochen
In der letzten Projektphase der Vorbereitung der Abschlusspräsentation wurde der Wiki-Artikel mittels gesammelter Informationen aus den vorherigen Projektphasen erstellt, das Video gedreht und geschnitten, sowie die Stellwand bestückt. Diese Projektphase wurde zeitgleich mit der Software angefangen, sodass für die letzte Projektphase 3 Wochen geplant wurden, um pünktlich zur Abschlusspräsentation fertig zu werden.
Der ausführliche Projektplan ist ebenfalls in den Projektunterlagen hinterlegt.
Projektziel
Das Projektziel ist es, den Roboter soweit fertigzustellen, dass sich dieser auf einer Marsoberfläche bewegen kann. Die Marsoberfläche soll ebenfalls fertiggestellt werden.
Projektdurchführung
Die Projektdurchführung wird hier als Systembeschreibung dargestellt, unterteilt in die zwei Bereich Hardware und Software.
Hardware
Innerhalb des Kapitels Hardware werden die Hauptkomponenten kurz beschreiben und die Funktion im Mars Roboter erläutert. Dabei liegt das Augenmerk auf den Sensoren, Aktoren sowie dem Miktrocontroller und mini Computer. Des Weiteren wird ein kurzer Überblick über die Spannungsversorgung sowie Kommunikationswege der Komponenten gegeben. Zu beachten ist, dass alle Datenblätter, welches eines der folgenden Komponenten beschreibt bzw. auf die verwiesen wird, im Projektordner zu finden sind.
Raspberry Pi Model B
Der Raspberry Pi Model B ist ein kleiner leistungsstarker Computer, welcher auf der ARM- Architektur (Arcon Reduced Instruction Set Computer Machines) basiert. Da ein Raspberry Pi Model B werder über Festplatten noch über SSD Speichermedien verfügt, wird eine SD- Karte zur Datenspeicherung benötigt. Dieser kleine Computer ist besonders für leistungsintensive Grafikanwendungen geeignet. Im Rahmen des Mars Roboters wird der Raspberry Pi Model B zum einen genau für solche Grafikanwendungen, und zwar zur Bildverarbeitung verwendet. Die zweite Aufgabe des Raspberry Pi ist es, über W-Lan eine Kommunikation mit einem Notebook und Matlab/ Simulink zu ermöglichen.[2]
Microsoft LifeCam
Die Microsoft LifeCam ist eine USB Kamera mit HD Auflösung. Anhand dieser Kamera ist es dem Mars Roboter möglich, Informationen aus der Umwelt zu erfassen. Diese Informationen in Form von einem Bild bzw. einer Bildabfolgen können im Weiteren mit dem Raspberry Pi verarbeitet werden.
Raspberry Pi® WLAN-Stick
Dieser USB-Adapter ermöglicht dem Anwender eine drahtlose Kommunikation mit Datenübertragungsgeschwindigkeiten von bis zu 150 MBit/s. Dadurch kann der in Zukunft autonom fahrende Mars Roboter drahtlos mit einem Notebook oder ähnlichem kommunizieren.
Arduino DUE
Das Arduino Due ist ein Arduino-Board, das auf einem 32-Bit-ARM-Core-Mikrocontroller basiert. Anders als beim Raspberry Pi, ist das Arduino Board so konzipiert, dass relative einfach digitale und analoge Signal mit dem Arduino Board verarbeitet werden können. Mit den 54 digitalen Eingangs- / Ausgangspins sowie 12 analogen Eingängen können auch komplexere Systeme realisiert werden. Des Weiteren ist eine Vielzahl von sog. Shields erhältlich. Diese Shields ermöglichen dem Anwender eine Erweiterung des Arduinos auf genau seinen Anwendungsfall. Bei dem Mars Roboter wird ein Motor Shield als Erweiterungsmöglichkeit verwendet.
Arduino Motor Shield
Das Arduino Motor-Shield basiert auf dem Brückentreiber L298 zum Steuern von induktiven Lasten wie Relais, Magnete, Gleichstrom- und Schrittmotoren. Das Arduino Motor Shield ermöglicht die Ansteuerung von bis zu zwei Gleichstrommotoren. Bei beiden Motoren können Drehzahl und Drehrichtung unabhängig voneinander kontrolliert werden. Außerdem ist die Strommessung jedes einzelnen Motors möglich. Beim Mars Roboter Projekt sind die zwei Gleichstrommotoren, an das Motor Shield angeschlossen.
Dabei sieht die Pin Belegung der zwei Motoren wie folgt aus:
Motor rechts | Motor links | |
---|---|---|
PWM Ausgang | 3 | 11 |
Laufrichtung | 12 | 13 |
Bremse | 9 | 8 |
Strommessung | A0 | A1 |
DC Getriebemotor mit Encode
Der DC Getriebemotor setzt sich zum einen aus dem Aktor, Gleichstrommotor mit Getriebe und zum anderen aus dem Sensor, dem Encoder zusammen. Aus dem Datenblatt zum Motor lassen sich folgende technische Eigenschaften entnehmen:
- Versorgungsspannung: 6 V DC
- Stromaufnahme Leerlauf: 220 mA
- Drehzahl Leerlauf: 150 U/min
- Stromaufnahme Last: 480 mA
- Drehzahl Last: 125 U/min
Zu dem Getriebe kann aus den Datenblatt eine Getriebeübersetzung von 1/52,734 entnommen werden.
Zu dem Einkanaligen Encoder mit Hall Effekt kann aus den Datenblatt die Pin Belegung von Motor und Encoder entnommen werden:
- Schwarz: Motor +
- Rot: Motor –
- Braun: Vcc
- Grün: GND
- Blau: Hall Sensor A Vout
- Violett: Hall Sensor B Vout
Des Weiteren kann aus dem Datenblatt das Ausgangssignal des Encoders entnommen werden. Die Periodendauer T des gezeigten Encoder Signals A bzw. B entspricht einer Motorumdrehung.
Die beiden Encoder für das rechte und das linke Rad sind an den folgenden Pins angeschlossen.
Encoder rechts | Encoder links | |
---|---|---|
Encoder Spur A | 18 | 16 |
Encoder Spur B | 19 | 17 |
Versorgungs- und Kommunikationsplatine
Die Spannungsversorgung der Mars Roboters wird mit einer 7,4 V Lithium Polymer Akku realisiert. Da das Raspberry Pi eine Versorgungsspannung von 5 V benötigt, hat Mathworks in den Unterlagen das Layout einer Platine hinterlegt. Diese Platine stellt zum einen eine feste Gleichspannung von 5 V bereit. Des Weiteren ist die Platine so entworfen, dass diese sowohl auf das Arduino Board als auch auf des Raspberry Pi gesteckt wird und somit die elektrische Verbindung der I²C Schnittstelle realisiert. Die Pinbelegung ist ebenfalls in den Projektunterlagen zu finden. Darüber hinaus befinden sich auf der Unterseite dieser Platine die zwei Motorstecker. Die Sensorsignale werden über diese Platine direkt an die Arduino Pins weitergeleitet. Das Signal zum Ansteuern der Motoren kommt vom Arduino Motor Shield. Nach dem durchführen von Anpassungen auf der Platine, wie dem einlöten benötigter Pin´s sowie dem suchen und entfernen von unerwünschten Lötbrücken, kann die Funktion dieser Platine gewährleistet werden. Sollte in Zukunft diese Platine neu produziert werden müssen, ist zu empfehlen, das zweiseitige Platinen Layout von Mathworks zu verwenden. Des Weiteren wäre es von Vorteil den Leiterbahnabstand zu erhöhen, um bei Lötarbeiten Lötbrücken zu vermeiden.
Der schematische Aufbau zur Visualisierung der Versorgungswege und Kommunikationswege wurde in einem Schaubild dargestellt.
Dabei zeigen die dicken blauen Linien die Spannungsversorgungswege und die dünnen blauen Linie die Kommunikationswege.
Software
Nachdem die Hardware mit den Aktoren und Sensoren sowie der Spannungsversorgung vorhanden ist, kann die Inbetriebnahme erfolgen. Im Rahmen von diesem Projekt ist ein Softwareprogramm entstanden, welches die Funktion der Aktoren und Sensoren überprüft und eine Bewegung des Mars Roboters zulässt. Über die serielle Schnittstelle kann über von uns definierte Funktionen mit dem Mikrocontroller Arduino DUE kommuniziert werden.
Momentan ist es dem Marsroboter möglich sechs mögliche Funktionen auszuführen. Die Anwahl dieser Funktionen wurde mittels Zustandsautomat ermöglicht. Die Funktion lassen sich in drei Kategorien einteilen. Zum einen die Manuellen Funktionen. Dazu gehören geradeausfahren, rückwärtsfahren, Rechtskurve und Linkskurve. Des Weiteren beinhaltet das Programm die Funktion Automatikmodus. Wählt man diese an führ der Mars Roboter ein automatisch ablaufendes Programm durch. Die dritte Kategorie ist das Setzen von Parametern, insbesondere in diesem Fall das Einstellen der Robotergeschwindigkeit. Anhand von diesem Programm konnte die Funktionsfähigkeit des Roboters getestet werden.
Projektfortführung
Der Roboter hat nun den Stand, wie der Roboter, die die Projektteilnehmer der Mission on Mars Challenge am Anfang des Projektes bekommen haben. Am Roboter selber muss soweit nichts mehr verändert werden, sodass das Nachfolgerteam sofort mit der Implementierung in Matlab/Simulink beginnen kann. Es geht nun darum, dass MathWorks Programm soweit zu verbessern, dass der Roboter immer intelligenter wird und möglichst wenig Zeit und wenig Weg beim Auffinden von Marskratern benötigt.
Ergebnis
Im Verlauf des Projektes sind einige Probleme aufgetreten. Das Hauptproblem des Projektes ist die unzureichende Dokumentation der Vorgruppe gewesen. Aktuell ist der Roboter somit Fahrbereit, sodass ihm die nächste Projektgruppe künstliche Intelligenz mit der Software Matlab/Simulink (nur mit Version 2014a möglich) einhauchen kann. Ein Startprogramm der Firma MathWorks ist in den Projektunterlagen bereits vorhanden. Somit ist der Stand des Projektes genau der, bei dem die Teilnehmer der Roboterchallenge in Frankreich eingestiegen sind. Sie haben einen MarsRoboter von der Firma MathWorks zur Verfügung gestellt bekommen und auch das entsprechende Programm. Ihre Aufgabe war es, dass Programm soweit zu verbessern, dass sie die Challenge gewinnen können.
Zusammenfassung
Abschließend lässt sich sagen, dass das Projekt noch viel mehr Zeit benötigt hätte, um es optimal abzuschließen. Die Nachdokumentation und die festgelegten Laboröffnungszeiten sorgten gerade schon am Anfang des Projektes für ein paar zeitliche Schwierigkeiten. Dennoch konnten wir sehr viel über den Umgang, Verknüpfung und Programmierung von Mikrocontrollern untereinander lernen und dieses Wissen sofort in die Praxis umsetzen. Wir konnten zum einen die wirtschaftlichen Bereiche kennenlernen, wie z.B. mit dem Projektbudget auskommen. Des Weiteren wurde klar, wie wichtig Teamarbeit, eine gute Planung und strukturiertes Vorgehen sind. Zum anderen konnten wir technische Erfahrungen sammeln und haben z.B. unsere Erfahrungen im Löten weiter ausbauen können. Alles in allem hat das Projekt sehr viel Spaß gemacht, auch wenn es sehr Zeitintensiv war.
Literatur
[1]Datei:Descriptif Compétition Programmation Robotique.pdf
[2]Datei:Kurzdatenblatt Rasberry Pi model B.pdf
[3]Datei:Magnetic-encoders.pdf
Weblinks
Projektunterlagen
YouTube Video
Projekt 54: Mission on Mars (Fortsetzung)
→ zurück zum Hauptartikel: Angewandte Elektrotechnik (WS 17/18)
Mathworks Challenge 2015
Maker Faire Paris: Mission on Mars Robot Challenge
Weblinks
- Mission on Mars Robot Challenge: Presentation of the Rover Robot
- Projekt 54: Mission on Mars, Stand WS 15/16
→ zurück zum Hauptartikel: Kategorie:ProjekteET_MTR_BSE_WS2017
- ↑ "Compétition de Programmation Robotique @ Maker Faire" von MathWorks, Paris 2014.