SunSpot steuert HTA-Roboter

Informatik

Studierende

Wehrli Simon

Bloechlinger Michael

Dozent

Diehl Roger

Experte

Chiappore Stefan

Aufgabenstellung

Ziel der Diplomarbeit ist die Entwicklung einer Steuerung für den HTA-Roboter, basierend auf der SunSPOT Technologie. Dafür ist die Einführung eines Java-fähigen Betriebsystems notwendig. Evaluation und Anpassung jenes Betriebsystems ist dabei ein Bestandteil dieser Arbeit. Wir unterteilen die Aufgabenstellung in folgende Teilaufgaben:

Roboter Betriebssystem mit Java

Bisher wurde auf dem HTA-Roboter Windows CE als Betriebssystem eingesetzt. Leider ist für diese Plattform keine Java Virtual Machine mehr erhältlich. Aus diesem Grund soll auf dem HTARoboter im Umfang dieser Arbeit ein Java-fähiges Betriebssystem installiert werden. Aufgrund der engen Zusammenarbeit der Hochschule Luzern und Sun Microsystems wird OpenSolaris als bevorzugtes Betriebssystem behandelt. Da jedoch OpenSolaris nur beschränkt als Embedded-Betriebssystem eingesetzt werden kann, ist auch eine Linux oder BSD basierte Variante denkbar.

Roboter API's

Für die Ansteuerung der Sensoren und Aktoren des HTA-Roboters ist eine in .net implementierte Software-Bibliothek vorhanden. Diese soll auf das neue Betriebssystem portiert und in die Javaumgebung integriert werden. In erster Linie ist die Ansteuerung des LM629 Bausteines für die Motorensteuerung notwendig. Weitere Sensoren und Aktoren, wie z.B. der Ultraschallsensor, werden als optional betrachtet.

SunSPOT Steuerung

Auf Basis der vorherigen Teilaufgaben wird eine SunSPOT Fernsteuerung für den HTA-Roboter entwickelt. Der Roboter wird mit einer SunSPOT-Basisstation ausgerüstet (USB-Anschluss) und greift auf jene mittels Java zu. Als Fernsteuerung dient ein batteriebetriebener SunSPOT Client. Basisstation und Client kommunizieren über das ZigBee Protokoll miteinander. Ziel ist es, für die Steuerung die in den SunSPOT’s integrierten Beschleunigungssensoren zu verwenden. Optional kann die Steuerung durch die Verwendung eines Handschuhs erweitert

Ergebnisse

Die Roboterplattform wurde bis anhin mit Windows CE betreiben. Javalösungen für Windows CE gibt es nur im kommerziellen Umfeld. Dadurch entstand das Bedürfnis nach einem alternativen, Java-lauffähigen
Betriebssystem. Nach umfangreichen Tests mit verschiedensten UNIX Derivaten entschieden wir uns für Debian als Betriebssystem.

Erst entsprechende Anpassungen an Debian ermöglichten einen reibungslosen Betrieb der Plattform in Kombination mit der SunSPOT Technologie. Eine weitere Teilaufgabe stellte die Portierung einer bereits bestehenden Programmbibliothek zur Ansteuerung der Motoren dar. Unsere Lösung ermöglicht die Entkopplung der hardwarenahen Software und lässt eine entsprechend elegante Einbindung in Java über JNI Aufrufe zu. Die Bibliothek stellt neben der Ansteuerung der Motoren auch Funktionen zum Auslesen des Distanzsensors und der Schalter zur Verfügung, sowie für die Ansteuerung der LED’s.

Die nun funktionsfähige Roboter API liess den Start der Konzipierung sowie Entwicklung der Steuerungssoftware zu. Der Roboter wird drahtlos mit einem SunSPOT Client gesteuert. Es handelt sich dabei um eine verteilte Software auf dem Client als auch auf dem Roboter. Als Kommunikationsprotokoll zwischen den Geräten wird ZigBee verwendet.

Roboter mit LEDs

Lösungskonzept

Die drei Nodes stellen die verwendeten physikalischen Geräte dar. Auf dem SunSPOT läuft die SPOT Applikation, auf dem Roboter die Steuerungs-Software und auf einem beliebigen Host eine Software zur Visualisierung der Sensordaten.

Deployment Diagramm

Ursprünglich stand die optionale Erweiterung der Robotersteuerung durch den Einsatz eines Handschuhs zur Diskussion. Diesen Ansatz haben wir jedoch zu Gunsten eines eigens entwickelten Steuerrads verworfen. Der Vollständigkeit halber überprüften wir die technische Realisierbarkeit des Handschuhs. Unsere Versuche erwiesen sich als erfolgreich und dieser Ansatz kann für anderweitige Projekte verfolgt werden.

Das Steuerrad vereint die Vorteile der SunSPOT Technologie, einer intuitiven Steuerung sowie die Möglichkeit des Einbezugs erweiterter Funktionen. In Zusammenarbeit mit Fritz Rothenbühler entstand somit, basierend auf der 3D Printer Technologie, ein auf unsere Bedürfnisse angepasstes Steuerrad. Dem Benutzer stehen Rückwärtsgang sowie die Möglichkeit einer Wende an Ort und Stelle zur Verfügung. Des Weiteren lässt sich die Steuerung per Knopfdruck aktivieren sowie deaktivieren. Die Steuerung selber funktioniert durch Neigen des Gerätes.

Steuerrad

Aufgetretene Probleme

Laut Aufgabenstellung ist OpenSolaris das bevorzugte Betriebssystem für den Betrieb der Roboter Plattform. Trotz unseren sehr grossen Bemühungen OpenSolaris auf der NETIPC-6A Hardware lauffähig zu bekommen, hat dies leider nicht funktioniert. Stattdessen haben wir uns für Debian als Betriebssystem entschieden.

Ausblick

Unsere Diplomarbeit trägt zudem zu einer neuen Verwendungsmöglichkeit des HTA-Roboters bei. Mit unserer Arbeit ermöglichen wir Studenten Java-Applikationen für den Roboter zu entwickeln. Das Projekt konnte erfolgreich abgeschlossen werden und wir sehen grossen Nutzen in den Ergebnissen für zukünftige Lehr- und Lernzwecke an der Hochschule Luzern.