Projekt 54: Mission on Mars (Fortsetzung)

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Quelle: www.MathWorks.com

Im Rahmen des Praktikums der angewandten Elektrotechnik im Modul ingenieurwissenschaftliche Vertiefung II des Masterstudienganges Business and Systems Engineering ist es die 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 [2] 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 Arbeiten der Vorgruppe fertiggestellt werden können, sind noch weitere Bauteile nötig. Diese Bauteile sind in der unteren Abbildung aufgelistet und dienen unter anderem zur Verbindung der Spannungsversorgung (Batterie) mit der Elektronik. Des Weiteren eine Sicherung gegen Überlast sowie ein Hautschalter. Außerdem beinhaltet die Bestellung ein Kugellager mit Gewindestange. Dies wird in das dritte Rad darstellen, welches Kontakt mit dem Boden hat.


Bill of Material (BOM) vom Wintersemester 2017/2018

Graphik einer möglichen Marsoberfläche [1].


Des Weiteren wurde ein Konzept für eine Marsoberfläche ausgearbeitet. Hier sollten zwei Kunststoffplatten (á 1,50 x 3,00 m) mit einem Bild der Marsoberfläche bedruckt werden. Zur Begrenzung der Platten sollten vier Kunststoffplatten (á 3,00 x 0,30 m) 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 und ist im SVN-Projektordner zu finden.

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 Schalter für die Spannungsversorgung.

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.

Projektplan des Projektes 54 im Wintersemester 2017/2018 [3].

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. Prof. 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 dieser Problematik wurde das Projektziel angepasst. Die Planungsphase wurde Ende Oktober 2017 abgeschlossen und dauerte drei 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 sechs 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 von der Vorgruppe selbst erstellte 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 drei 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 zwei Wochen und konnte Mitte Januar fertiggestellt werden. Die gesamte dritte Phase dauerte insgesamt fünf 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 drei 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 Bereiche 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 dem mini Computer. Des Weiteren wird ein kurzer Überblick über die Spannungsversorgung sowie Kommunikationswege der Komponenten gegeben. Zu beachten ist, dass alle Datenblätter, die 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 [4].

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 Bildabfolge 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 ähnlichen Endgeräten 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 den 12 analogen Eingängen können auch komplexere Systeme realisiert werden. Des Weiteren ist eine Vielzahl von sog. Shields erhältlich, die dem Anwender eine Erweiterung des Arduinos auf genau seinen Anwendungsfall ermöglichen. 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, Magneten, 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:

Ausgangssignal des Encoder [5].


  • 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
Erstellte Versorgungs- und Kommunikationsplatine [3].

Die Spannungsversorgung des Mars Roboters wird mit einem 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 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.


Schematischer Aufbau zur Visulaisierung der Versorgungs- und Kommunikationswege [3].


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 Linien die Kommunikationswege. Zu erkennen ist, dass nur die Versorgungs-/ Kommunikationsplatine sowie die Arduino Hardware direkt mit der Batterie verbunden sind. Das Raspberry Pi benötigt unbedingt eine konstante Gleichspannung von 5V. Diese Spannung wird mit ausreichender Leistung von der Versorgungsplatine zur Verfügung gestellt.

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. Mittels serieller Schnittstelle kann über von uns definierte Funktionen mit dem Mikrocontroller Arduino DUE kommuniziert werden und die Motoren können auf Funktion überprüft werden.

Serielle Schnittstellen mit den möglichen Funktionen des Roboters [3].

Momentan ist es dem Marsroboter möglich sechs mögliche Funktionen auszuführen. Die Anwahl dieser Funktionen wurde mittels Zustandsautomat ermöglicht. Die Funktion werden in drei Kategorien eingeteilt. 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ührt 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. Die Nachfolgerung hat dann die Aufgabe, 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

Der aktuelle Stand des Mars Rovers [3].

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 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 einem 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. 1,0 1,1 "Compétition de Programmation Robotique @ Maker Faire" von MathWorks, Paris 2014.
  2. "MathWorks Mars Rover - Hardware Bill of Materials (BOM) and Assembly Guide" von Paul Cox, 2015.
  3. 3,0 3,1 3,2 3,3 3,4 "Eigene Darstellung" von T. Kempe und J. Averesch, Lippstadt 2017.
  4. "Kurzdatenblatt des Raspberry Pi Model B" von RS-Components, www.rs-components.com/raspberrypi.
  5. "Magnetic Encoders - Two Channel Hall Effect Encoder" von ShaYangYe, www.ShaYangYe.com.

Weblinks

Projektunterlagen

Da alleine die MathWorks Unterlagen zum nachvollziehen und fortführen des Projektes die maximale Dateigröße von 2 MB überschreiten, ist es uns nicht möglich gewesen die wichtigen Dokumente zum Nachbauen des Roboters als .zip- Datei hochzuladen.

Bedauerlicherweise ist es uns daher nicht möglich die Projektunterlagen von Mathworks und die Eigenleistungen zum Nachbauen des Roboters anzufügen.

Selbstverständlich sind alle benötigten Unterlagen in dem SVN-Projektordner hinterlegt.

Damit ein kleiner Einblick zum Nachbau des Projektes möglich ist, haben wir die Bauanleitung des MarsRovers in Folgenden angefügt. Außerdem ist die Aussschreibung des Wettbewerbs von der Messe Innorobot Paris verlinkt.

Bauanleitung (Hardware): Datei:Bauanleitung MarsRover.pdf

Ausschreibung des Wettbewerbs (Software): Datei:Descriptif Compétition Programmation Robotique.pdf

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



→ zurück zum Hauptartikel: Kategorie:ProjekteET_MTR_BSE_WS2017