Entwicklung und Programmierung einer Robot Remote Control in LabVIEW: Anwendungen in der Nanostruktu
Der Mikrocontroller findet sich mittlerweile in einer Vielzahl von Systemen und ist aus dem täglichen Leben nicht mehr wegzudenken - vom Wecker am Morgen über die Sensoren in den heutigen Automobilen bis hin zu den leistungsstarken Prozessoren in Computern, Tablets und Smartphones.
Auch in der Robotik werden Mikroprozessoren eingesetzt, um einerseits präzise, statische Abläufe zu koordinieren, andererseits dynamische Anpassungen am Verhalten des Roboters vorzunehmen und auf Umwelteinflüsse zu reagieren.
Diese Arbeit entstand in einer Kooperation zwischen der Physikalischen Fakultät der Universität Regensburg und der Technischen Fakultät der Hochschule Regensburg und richtet sich an jeden, der sich der Roboterprogrammierung und -kommunikation widmen möchte. Sie erklärt kompakt die Grundprinzipien der LabVIEW-Programmierung und ausführlich die Verwendung des Vision Assistants von LabVIEW.
Als Experimentierplattform wird das kommerzielle, modulare Robotersystem RP6 der Firma Arexx Engineering verwendet und um diverse Aktoren und Sensoren erweitert. Der Roboter wird von drei Mikrocontrollern gesteuert, welche in einer Master-Slave-Hierarchie kommunizieren. Um dieses System von einem Personal Computer via Bluetooth zu überwachen und fernzusteuern, wird ein umfassendes Programm in der Programmierumgebung LabVIEW erstellt. Dieses visualisiert sämtliche Sensordaten, sendet Befehle an den Roboter und dient der Koordinierung automatisierter Routinen. Dabei können durch die erhöhte Rechenleistung des Personal Computers aufwendige Algorithmen angewendet werden. Unter Anderem wird in einer festgelegten Routine mit dem Vision Assistant ein vom Roboter übertragenes Kamerabild ausgewertet und verarbeitet.
Dieser Prozess wird dann auf ein Gebiet der Nanostrukturierung angewandt. Mittels Rastertunnelmikroskopie können Kohlenstoffmonoxydmoleküle auf einer Kupferoberfläche durch Bildverarbeitungsalgorithmen automatisiert gefunden und deren Positionen ausgegeben werden.
Dies dient als Basis, um künftig Moleküle automatisiert einzeln aufnehmen und zu ganzen elektrischen Schaltungen und Gattern im Nanometermaßstab zusammenfügen zu können.
Damit beginnt der Schritt von der Automatisierungstechnik eines Roboters zur automatisierten Strukturierung in der Nanometerskala.
Der Mikrocontroller findet sich mittlerweile in einer Vielzahl von Systemen und ist aus dem täglichen Leben nicht mehr wegzudenken - vom Wecker am Morgen über die Sensoren in den heutigen Automobilen bis hin zu den leistungsstarken Prozessoren in Computern, Tablets und Smartphones.
Auch in der Robotik werden Mikroprozessoren eingesetzt, um ...
Textprobe:
Kapitel 2.0, Details des Roboters:
Zunächst sollen Routinen und das Verarbeiten von Befehlen in LabVIEW an einem makroskopischen Modell, einem Robotersystem ‘RP6’ der Firma Arexx Engineerings, erprobt und angewendet werden.
Dieses System wird gewählt, da die darauf befindlichen Mikrocontroller aus der ATmega-Reihe stammen und daher in den Programmiersprachen ‘C’ und ‘CompactC’ beschrieben werden können. Die Systeme sind auch an ein I²C genanntes Kommunikationssystem angeschlossen. Dieser serielle Datenbus bildet die Hauptverkehrsader für alle Sensor- und Befehlsdaten zwischen den Mikrocontrollern. Außerdem bieten die drei zum RP6 gehörenden kommerziellen Plattformen umfangreiche Hardware, Sensoren und vorbereitete Anschlussmöglichkeiten, sowie eine umfangreiche Bibliothek zum Ansteuern der Aktoren, zum Auslesen der Sensordaten und zur Verwendung serieller Schnittstellen und des Bussystems I²C.
Ein weiteres Merkmal dieses Robotersystems ist der modulare Aufbau: Jedes weitere Modul kann ohne weitere Umstände auf das Vorhergehende gesteckt werden. Die Verbindung wird dabei durch zwei getrennte Bussysteme gewährleistet, den XBUS und den USRBUS [17]. Während der XBUS (von Expansion Bus, dem Erweiterungsbus) vom Hersteller Arexx bereits belegt ist mit den Leitungen des I²C, mit der Betriebs- und der Batteriespannung sowie mit einigen weiteren, für die kommerziellen Module wichtigen Leitungen, steht der USRBUS (von User Bus, dem Benutzerbus) mit seinen 14 Leitungen vollständig dem Anwender frei.
Im Folgenden wird der Roboter in Hard- und Software erläutert, Aktoren und Sensoren werden beschrieben und die auf die einzelnen Mikrocontroller geschriebenen Programme werden erklärt.
Danach werden eigene mechanische wie elektronische Erweiterungen aufgezeigt.
Es soll darauf hingewiesen werden, dass die auf den Mikrocontrollern befindlichen Programme grundsätzlich sogenannte ‘Open Source Software’ sind, also öffentliche, nicht durch Rechte geschützte Programme, welche teilweise vom Hersteller des RP6 selbst veröffentlicht werden. Sie sind den Anforderungen dieser Arbeit angepasst und erweitert sowie teilweise umstrukturiert worden.
2.1, Grundsätzliche Strukturen eines C-Programms für Mikrocontroller:
Zunächst soll eine allgemeine Struktur eines auf einem Mikrocontroller befindlichen Programms erläutert werden.
Ein Programm besteht aus einem Hauptteil, den Bibliotheken, dem Makefile und dem Hexfile. Der Hauptteil (das sogenannte Mainfile) sowie die Bibliotheken sind hier in den Hochsprachen ‘C’ und ‘CompactC’ geschrieben. In den Bibliotheken werden häufig verwendete Funktionen ausgelagert, wodurch eine einzige Funktion an einer Vielzahl von weiteren Ereignissen beteiligt sein kann. Das Makefile beinhaltet alle für das Beschreiben eines Mikrocontrollers wichtigen Argumente. Dies sind unter Anderem die Mikrocontrollerklasse, die Taktrate und die verwendeten Bibliotheken. Diese Kenntnisse sind wichtig, wenn das Programm kompiliert wird zu einem für den Mikrocontroller verständlichen Maschinencode, welcher in einem Hexfile gespeichert wird. Dieses Hexfile wird dann in den Hauptspeicher des Mikrocontrollers geladen.
Den wichtigsten Programmabschnitt stellt dabei der sogenannte Mainloop dar, eine Schleife, welche bis zum Zurücksetzen des Programms ununterbrochen abläuft. Sie kann folgendermaßen aussehen:
while (1) {…Programmfunktionen…}
Diese Schleife nennt sich while-Schleife und wird solange ausgeführt, bis ihr Argument, hier (1), nicht mehr wahr ist, also Null ist. Da die Eins stets verschieden von Null ist, wird die Schleife immer von Neuem ausgeführt.
In dieser Schleife werden alle wichtigen Programmfunktionen aufgerufen, welche dann abgearbeitet werden. Bei den hier verwendeten Programmen sind dies vorwiegend Funktionen zum Lesen oder Beschreiben der seriellen Schnittstelle und der Kommunikationssysteme zwischen den Mikrocontrollern, zum Auslesen von Sensordaten und zum Schalten von Aktoren wie den Motoren, den LEDs oder den Servomotoren.
Dabei können die im Mainloop aufgeführten Funktionen natürlich ihrerseits selbst Funktionen aufrufen, wobei die Funktionen sowohl im Mainfile als auch in den Bibliotheken stehen können [18, 19, 20].
Fabian Queck, B.Sc., wurde 1986 in Regensburg geboren. Sein Studium der Physik und der Nanoscience an der Universität Regensburg schloss er im Jahr 2012 mit dem akademischen Grad des Bachelor of Science erfolgreich ab. Bereits während des Studiums konnte er in vielen Kursen umfangreiches praktisches Wissen rund um die Robotik, die Mikrocontrollertechnik und die Programmierung sammeln. Dabei festigte sich sein Vorhaben, in diesem angewandten Zweig der Physik eine Abschlussarbeit über die Robotik zu schreiben.
Fabian Queck wird 2012 sein Masterstudium in Physik in Regensburg fortsetzen.
Versandkostenfreie Lieferung! (eBook-Download)
Als Sofort-Download verfügbar
- Artikel-Nr.: SW9783863418069
- Artikelnummer SW9783863418069
-
Autor
Fabian Queck
- Wasserzeichen ja
- Verlag Bachelor + Master Publishing
- Seitenzahl 73
- Veröffentlichung 01.02.2015
- ISBN 9783863418069