Fundstück

Das ist das Framework, auf dem der Code der Nasa-Marsdrohne aufsetzt

Mars-Landung des Nasa-Rovers. (Bild: NASA/JPL-Caltech)

Lesezeit: 2 Min. Gerade keine Zeit? Jetzt speichern und später lesen

Das Framework auf dem der Code des jüngsten Mars-Entsandten der Nasa basiert, ist Open Source und Multiplattform-kompatibel und läuft damit auch auf deinem Raspberry PI.

Der Mars hat Besuch: Perseverance, wie das Roboterfahrzeug der Nasa heißt, ist am Donnerstagabend nach einer 472 Millionen Kilometer langen Reise sicher auf dem roten Planeten gelandet. Die Drohne führte die komplexe Landung auf der Marsoberfläche exakt so aus, wie die Nasa das geplant hatte. Was ihr vielleicht nicht wusstet: Der zugrundeliegende Code basiert auf einem Open-Source-Framework namens F‘ (F Prime).

Geschrieben in C++ mit Testing-Tools in Python

F Prime ist ein komponentenbasiertes Framework für die Entwicklung sogenannter Embedded Software. Ursprünglich entwickelt vom Jet Propulsion Laboratory, steckt das Framework hinter dem Code mehrerer Raumfahrt-Anwendungen. Es ist auf kleine Raumfahrtsysteme wie Cubesats, Smallsats und Instrumente zugeschnitten, findet aber auch in größeren Systemen Anwendung. Geschrieben wurde das Framework größtenteils in C++, zu kleineren Teilen steckt Python dahinter. Laut Security Code Analysis Platform LGTM ist der Code des Frameworks von herausragender Qualität: Der in Python geschriebene Anteil wurde mit A++ evaluiert, der größere „C++“-Part immerhin mit A.

Das Framework besteht aus mehreren Elementen:

Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

  • Einer Architektur, die die Flight-Software in separate Komponenten mit klar definierten Interfaces zerlegt; einem „C++“-Framework, das Kernfunktionen wie Message-Queues und Threads bereitstellt;
  • Modellierungswerkzeugen zur automatischen Codegenerierung und zur Spezifikation von Komponenten und Verbindungen;
  • Eine wachsende Sammlung von gebrauchsfertigen Komponenten und
  • Testing-Tools zur Durchführung von Unit- und Integration-Tests, die den Python-Anteil stellen.

Cmake, Git und mindestens Python 3.5 erforderlich

Die Installation des Frameworks erfordert Cmake, Git und Python 3.5 oder neuer. Die Readme des zugehörigen Repos auf GitHub empfiehlt außerdem die Installation von F Primes Python Dependencies – am besten in einer virtuellen Python-Umgebung, um Probleme auf Systemlevel zu vermeiden. Die vollständige Installationsanleitung findet ihr im Projekt unter INSTALL.md. Hier die wichtigsten Commands:

git clone https://github.com/nasa/fprime.git
cd fprime
pip install --upgrade wheel setuptools pip
pip install Fw/Python Gds/

Das Repo beinhaltet zwei Beispiel-Deployments: Eine Standardanwendung, anhand der ersichtlich wird, wie die Komponenten zusammengefügt werden sollten, und eine für den Raspberry PI. Die Standardanwendung ist mit Linux oder macOS kompatibel, sodass ihr euch auch ohne Embedded Hardware an dem Framework ausprobieren könnt. Die Raspberry-PI-Anwendung bietet Starthilfe in einem Embedded-Software-Kontext. Wenigstens eines davon solltet ihr klonen und ausführen – allein schon, um sicherzustellen, dass ihr das Framework korrekt installiert habt.

Meistgelesen

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Ein Kommentar
kb
kb

Es heißt Perseverance ;)

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 70 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Luca Caracciolo (Chefredakteur t3n) & das gesamte t3n-Team

Anleitung zur Deaktivierung