Home > Referenzen > SOFIA
p
r
o
j
e
k
t
p
o
r
t
r
a
i
t

Stratosphären-Observatorium für Infrarot-Astronomie - SOFIA

Stratosphären-Observatorium für Infrarot-Astronomie - SOFIA

Die Beobachtung astronomischer Objekte im Infrarotbereich ist von der Erdoberfläche aus nicht möglich, da der Wasserdampf der unteren Atmosphäre die kosmische Infrarotstrahlung nahezu vollständig absorbiert. Als kostengünstige Alternative zu einem satellitengestützten Teleskop beauftragten NASA und DLR den Bau eines Infrarotteleskops, das von einer Boeing 747SP in die Stratosphäre getragen wird.

Unter den extremen Bedingungen eines Fluges in 12 km Höhe muss der zentrale Parabolspiegel des SOFIA-Teleskops hochpräzise positioniert werden. 4D Engineering implementierte für die Teleskopsteuerung die komplette Software von zwei intelligenten Subsystemen.

Leistungen 4DE

  • Implementierung von "Master Control Processor" (MCP) und "Tracking Controller" (TRC) inklusive "Camera Controller" (CC)
  • Realisierung der zentralen Kommunikation mit dem Mission-Command-and-Control-System der NASA
  • Koordination aller Subsysteme der Teleskopsteuerung
  • Steuerung der CCD-Kameras und Prozessierung der Bilddaten für das Tracking
  • Realisierung der Tracking-Schleife

Eingesetzte Technologien

  • PowerPC
  • VMEbus
  • CAN-Bus
  • TCP/IP

  • Tornado / VxWorks
  • OO Design
  • ANSI C++

SOFIA - Teleskop

Herzstück des SOFIA Teleskops ist ein Parabolspiegel aus der Glaskeramik Zerodur von etwa 2,70 m Durchmesser und einem Gewicht von knapp einer Tonne. Die große Herausforderung an die Steuerung des Teleskops liegt darin, den sehr hohen Ansprüchen der Astronomen an die Präzision des Spiegels und seine Positionierung gerecht zu werden - und dies bei den rauen Umgebungsbedingungen in 12 km Höhe, die durch die Vibration des Flugzeugs noch weiter verschärft werden. Dementsprechend hoch sind die Anforderungen an die Teleskopsteuerung.

Die Grobausrichtung auf das Beobachtungsobjekt erfolgt durch das Flugzeug selbst, d.h. der Autopilot steuert die Boeing 747 so, dass sich das Beobachtungsobjekt im Blickfeld des Teleskop befindet. Die genaue Positionierung und Nachführung des Teleskops (Tracking) erfolgen dann mit Hilfe dreier CCD-Kameras. Mit den Aufnahmen der Kameras wird mittels Bildverarbeitung die Position eines Leitsterns bestimmt, aus der Korrekturwerte für die Teleskopantriebe abgeleitet werden. Ein Tracking auf den Rand eines ausgedehnten Objektes ist ebenfalls möglich (Limb Tracking)

Die Teleskopsteuerung ist primär als verteiltes System auf VME-Bus-Basis ausgelegt. Dies umfasst intelligente Systeme, wie die Zentraleinheit (Master Control Processor), Tracking Controller, drei Camera Controller, Servo Control Unit, Secondary Mirror Controller und andere mehr. Die Kommunikation zwischen den einzelnen VME-Bus Systemen erfolgt mittels TCP/IP über Ethernet/Fiberoptik. Eine tiefere Geräteschicht ist via CAN-Bus an die intelligenten Systeme gekoppelt, z.B. die Steuerung der Kameraköpfe, Filterräder, Power Distribution Unit, die Elektronik des Hauptspiegels, Temperatursensoren.

Teleskop-Steuerung von 4D Engineering

4D Engineering hat die komplette Software für die intelligenten Subsysteme "Master Control Processor" (MCP) und "Tracking Controller" (TRC) inklusive "Camera Controller" (CC) implementiert. Die Aufgabe dieser Systeme besteht zum einen in der zentralen Kommunikation mit dem "Mission Command and Control System" der NASA und der Koordination aller Subsysteme der Teleskopsteuerung. Zum anderen müssen die CCD-Kameras gesteuert sowie die Tracking-Schleife realisiert werden über die die Funktionen der Einzelkomponenten der Teleskopsteuerung zu einem Ganzen zusammengeführt werden.

Die System-Architektur ist schichtartig angelegt. Die unterste Schicht bilden das Echtzeitbetriebssystem VxWorks von WindRiver Systems und die Gerätetreiber. VxWorks hat sich als RTOS für harte Echtzeitanforderungen, speziell in großen und komplexen Anwendungen, sehr gut bewährt. Seine ausgebauten Netzwerkfähigkeiten und reichhaltigen Funktionsbibliotheken, verbunden mit der hostbasierten integrierten Entwicklungsumgebung Tornado, unterstützen die komfortable Cross-Entwicklung größerer Echtzeitsoftwaresysteme.

Eine von 4D Engineering entwickelte Basisschicht (Middleware) kapselt die Applikationsschicht vom Betriebssystem und stellt die projektspezifischen Dienste und die Infrastruktur zur Verfügung. Diese umfassen z.B. Klassenbibliotheken für das Tasksystem, Inter-Task-Kommunikation, TCO/IP Kommunikation, Datenhaltung, Logging

Hierauf setzt schließlich die Applikationsschicht auf, die als ereignisgesteuertes, nachrichtenbasiertes Multi-Task System realisiert ist. Das Tasksystem wird durch das strikt prioritätenbasierte präemptive Scheduling von VxWorks getrieben. Jede Task implementiert eine Zustandsmaschine, d.g., der Kontrollfluss wird durch Events bestimmt. Solche Events sowie alle anderen Daten werden zwischen den Tasks mittels Nachrichten (Messages) ausgetauscht, die in je einer Message Queue pro Task gepuffert werden. Eine solche Architektur hat sich gut bewährt und wird von 4D Engineering daher häufig eingesetzt um die Komplexität größerer Echtzeitanwendungen zu beherrschen.

Objektorientierte Methoden für komplexe Steuerungen

Die MCP und TRC/CC-Software wurde vollständig in ANSI C++ implementiert. Der OO Ansatz und C++ werden trotz bestehender Skepsis auch in der Echtzeit und Steuerungswelt immer häufiger eingesetzt. Denn bei genauer Kenntnis der dahinter stehenden Mechanismen und entsprechend sorgsamer Anwendung können die unbestrittenen Vorteile objektorientierter Programmierung genutzt werden, ohne dass es zu signifikantem Ressourcenverbrauch oder Performanceverlusten kommt. Gerade auch in diesem delikaten Bereich liegen die Stärke und das Know-How von 4D Engineering.