NASA gibt Roboter-Software frei

Die Jet Propulsion Labs haben Teile der Software, welche bereits den Mars Exploration Rover alias "Spirit" steuerte, unter eine Open-Source-Lizenz gestellt.

In Pocket speichern vorlesen Druckansicht 30 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Fabian Richter
  • Benjamin Benz

Die NASA hat auf der Webseite des Jet Propulsion Labs (JPL), das zum California Institute of Technology gehört, eine erste Betaversion ihrer Robotersteuersoftware CLARAty freigegeben. Die hauptsächlich vom "Mars Technology Program" finanzierte "reusable Robotic Software" stellt Schnittstellen und allgemeine Roboterfunktionen bereit. Sie steht unter der Open-Source-Lizenz TSPA (Technical Data & Software Publicly Available) und enthält Funktionen zur Bestimmung der Position, Navigation, Bewegung und Planung.

CLARAty liegt eine zweischichtige Architektur zu Grunde, bei der die abstrakte obere Schicht deklarativ ist und sich um Dinge wie Pfadplanung kümmert. Die untere Schicht ("Layer") ist hingegen prozedural und widmet sich der Steuerung, Navigation und Ansteuerung der Hardware. Die Erfinder von CLARAty betonen in der FAQ, dass es sich um ein objektorientiertes Programmiermodell mit verschiedenen Abstraktionsebenen handelt. Dennoch muss sich der Programmierer nicht um die interne Schichtstruktur kümmern, sondern kann direkt auf die API zugreifen. Einige Tutorials sollen den Einstieg erleichtern.

Als Zielsysteme nennt die NASA Linux und VxWorks für x86- sowie PowerPC-Prozessoren. Programmiert wird der Roboter dann in C++ mit dem Compiler aus der gcc-suite. Eine Integration in Microsofts Visual C++/.NET ist in Planung.

Im Moment gehören zu CLARAty 44 Module, welche etwa 100.000 Zeilen Quellcode umfassen. Dies entspricht in etwa 10 Prozent aller CLARAty- und 30 Prozent aller generischen Module, welche in Zukunft freigegeben werden sollen. Die NASA teilt die verfügbaren Repositories in den frei zugänglichen Public- und den (auch zukünftig) internen Private-Bereich. Zu den freien Teilen gehört unter anderen eine Mathematikbiliothek zur Berechnung von Matrizen und der Umrechnung von Koordinaten. Außerdem findet man Routinen zur Bewegungssteuerung für Roboter mit Rädern, Beinen oder einer Mischung aus beidem. Andere Routinen kümmern sich um die Ansteuerung und Auswertung von analogen sowie digitalen Ein- und Ausgängen, von Kameras und Motoren.

Bevor man die Software herunterlädt, braucht man ein Tool namens "YAM Lite" (Yet another Make), das sich um Abhängigkeiten zwischen den einzelnen CLARAty-Modulen kümmert und den Code aus den Repositories lädt. YAM Lite läuft unter Linux, Solaris und OS X. Für Windows braucht man die Cygwin-Umgebung. (Fabian Richter) / (bbe)