Ich weiß nicht, ob dies öffentlich wäre, aber welche CPU / Mikrocontroller werden verwendet und welche Software wird auf dem Falcon 9 ausgeführt? Verwenden sie ein Betriebssystem oder ist es nur Bare-Metal-Programmierung?
Ich habe einige Modellraketenflugcomputer gefunden, die zum Kauf angeboten werden, und wollte nur wissen, welchen Ansatz SpaceX diesbezüglich verfolgt.
In dieser AMA des Softwareentwicklungsteams von SpaceX schrieben sie:
Wir haben viele Fragen dazu erhalten, wie C#/MVC/etc mit Raketen zu tun haben. Sie tun es nicht.
Über ihre Entwicklung sagten sie:
Das Flight Software Team besteht aus etwa 35 Personen. Wir schreiben den gesamten Code für Falcon 9-, Grasshopper- und Dragon-Anwendungen; und die Arbeit an der Kernplattform ausführen, auch an diesen Fahrzeugen; wir schreiben auch Simulationssoftware; Testen Sie den Flugcode; Schreiben Sie die Kommunikations- und Analysesoftware, die in unseren Bodenstationen eingesetzt wird. Wir arbeiten auch in Mission Control, um aktive Missionen zu unterstützen.
Das Team von Ground Software besteht aus etwa 9 Personen. Wir programmieren hauptsächlich in LabVIEW . Wir entwickeln die GUIs, die in der Missions- und Startsteuerung verwendet werden, damit Ingenieure und Bediener die Fahrzeugtelemetrie überwachen und die Raketen-, Raumfahrzeug- und Pad-Unterstützungsausrüstung steuern können. Wir schieben Daten mit hoher Bandbreite durch ein stark verteiltes System und implementieren komplexe Benutzerschnittstellen mit strengen Anforderungen, um sicherzustellen, dass die Bediener Raumfahrzeuge zeitnah steuern und bewerten können.
Sie sagten auch:
Dragon und Falcon 9 verwenden eine Linux -Version .
Sie haben leider auf diese Frage geantwortet:
Auf welche Art von Rechenleistung (CPU, RAM, Speicher usw.) haben Sie an Bord der Raketen und Kapseln selbst Zugriff? Was ist „intelligenter“, der Falcon 9 oder der Dragon?
mit:
100 Falken in Drachengröße oder 1 Drache in normaler Größe
Ich vermute also, dass alle weiteren Informationen streng geheim sind :)
SpaceX verwendet ein Actor-Judge-System, um seinen Raketen und Raumfahrzeugen eine dreifache Redundanz zu verleihen. Der Falcon 9 verfügt über 3 x86-Dual-Core-Prozessoren, auf denen auf jedem Kern eine Linux-Instanz ausgeführt wird. Die Flugsoftware ist in C/C++ geschrieben und läuft in der x86-Umgebung. Für jede Berechnung/Entscheidung vergleicht der "Flugstring" die Ergebnisse von beiden Kernen. Bei einer Inkonsistenz ist die Zeichenfolge fehlerhaft und sendet keine Befehle. Wenn beide Kerne die gleiche Antwort zurückgeben, sendet der String den Befehl an die verschiedenen Mikrocontroller auf der Rakete, die Dinge wie die Motoren und Gitterflossen steuern.
Die Mikrocontroller, die auf PowerPC-Prozessoren laufen, erhielten drei Befehle von den drei Flugketten. Sie fungieren als Richter, um die richtige Vorgehensweise zu wählen. Wenn alle drei Strings übereinstimmen, führt der Mikrocontroller den Befehl aus, aber wenn einer der 3 schlecht ist, werden die Strings verwendet, die zuvor richtig waren. Die Falcon 9 kann ihre Mission mit einem einzigen Flugstrang erfolgreich abschließen.
Die dreifache Redundanz verleiht dem System Strahlungstoleranz, ohne dass teure strahlungsgehärtete Komponenten erforderlich sind. SpaceX testet sämtliche Flugsoftware auf einer sogenannten Tischrakete. Sie legen alle Computer und Fluglotsen der Falcon 9 auf einem Tisch aus und verbinden sie wie auf einer echten Rakete. Sie führen dann einen vollständigen simulierten Flug mit den Komponenten durch und überwachen die Leistung und mögliche Fehler.
SpaceX-Ingenieure führen ein sogenanntes „Cutting the strings“ durch, bei dem sie einen Flugcomputer während der Simulation willkürlich abschalten, um zu sehen, wie er reagiert.
Dragon verwendet ein ähnliches dreifach redundantes System für seine Flugcomputer.
Bonus: Dragon V2 Control Panels sind modifizierte 17" Tesla Model S Touchscreens und enthalten die gleichen Nvidia Tegra SoCs. Sie sind nicht Teil der Flughardware und werden nur zur Anzeige der GUI verwendet. Nach einem Gespräch mit dem Dragon-Team auf der GDC2016 erscheint es Tesla-Hardware wird nicht verwendet, sie verwenden einige interessante Software auf Dragon 2. Sie verwenden Chromium und JavaScript für die Flugschnittstelle von Dragon 2. Die eigentlichen Flugcomputer laufen immer noch auf C++.
Quelle: Diskussion mit verschiedenen SpaceX-Ingenieuren auf der GDC 2015/2016
Update: Nach vier Jahren haben die Softwareingenieure von SpaceX bestätigt, dass die Displays von Crew Dragon mit Chromium und JS während einer Reddit AMA im Orbit sind.
Vedant Chandra
Benutzer
Jerard Puckett