Konflikterkennung & -lösung in Echtzeit

Kai Lothar John
2017-06-19


Ich kam erstmalig 1999 mit der Luftfahrt in Kontakt als Entwickler für betriebliche Bildschirm-Software für Flugsicherungen. Bis dahin hatte ich nicht wirklich Ahnung von der Luftfahrt, außer dass ich den Film und das Buch Airport gesehen bzw. gelesen hatte. Ich war ein Nerd, wie er im Buche steht, der bis dahin tausende Stunden Computerspiele gespielt hatte. Und es schockierte mich, dass es auf modernen Flugsicherungsbildschirmen aussah wie bei Pong, dem in den 70igern beliebten Computerspiel: Ein paar Linien, ein paar Kästchen und irgendein Möchtegern-Nachglüh-Effekt. Ich habe damals selbstverständlich gelernt, dass Sachen, die in einem Computerspiel cool aussahen, in einem Flugverkehrskontrollraum nicht unbedingt hilfreich sind. Selbst der Nachglüh-Effekt diente hier durchaus einem Zweck.

Beruflich wechselte ich später von Bildschirm-Software zu Netzwerk-Software und schließlich zu Algorithmen. Anfang der 2000er stieß ich durch Zufall auf das Thema Konflikterkennung. Der Job, für den ich engagiert worden war, hatte eigentlich gar nichts mit Algorithmen zu tun. Vielmehr beinhaltete er Portierungstätigkeiten: die Implementierung von Plattform A und Modifizierung für Plattform B. Wenn ich mich recht entsinne, von DEC/Alpha zu GNU/Linux. Nachdem ich die Software portiert hatte und sie laufen ließ, stellte sich heraus, dass die Performance saumäßig war. Wie konnte es sein, dass im Zeitalter von Lara Croft Konflikterkennungssoftware in der Flugsicherung - eine sicherheitskritische Software - nicht einmal ein paar hundert wenn nicht sogar ein paar tausend Flugzeuge gleichzeitig verarbeiten konnte? So konnte es nicht weitergehen. Mein Ehrgeiz war geweckt und ich fing an, mich mit Algorithmen für die Konflikterkennung und -lösung näher zu befassen. 

Die Ausgangslage

In großen Höhen bewegen sich Flugzeuge in erster Linie horizontal, fliegen mit konstanter Geschwindigkeit geradeaus, und begeben sich nur gelegentlich in den Steig- oder Sinkflug; in Sachen computer-gestützte Berechnung nicht sonderlich spannend. Im kontrollierten unteren Luftraum verläuft Luftverkehr überwiegend vertikal. Die meisten Flugzeuge steigen entweder, um ihre Reiseflughöhe zu erreichen, oder sinken, wenn sie sich ihrem Zielflughafen nähern. Fluglotsen geben die notwendigen Freigaben für Steig- oder Sinkflüge und stellen sicher, dass die Flugzeuge konfliktfrei von ihrer derzeitigen Flughöhe zur Zielflughöhe gelangen. Dies ist eine beachtliche kognitive Leistung, neigt der Mensch doch in erster Linie dazu, in zwei Dimensionen zu denken.

Spock: He [Khan Noonien Singh] is intelligent, but not experienced. His pattern indicates two dimensional thinking.

Spock: Er [Khan Noonien Singh] ist intelligent, aber nicht erfahren. Seine Struktur deutet auf zweidimensionales Denken hin.

Star Trek II: Der Zorn des Khan

Ändern Flugzeuge die Flughöhe, ist das keine einfache, lineare Bewegung. Beim Steigen wird die Luft dünner und der Luftwiderstand nimmt ab. Während das Flugzeug steigt, beschleunigt es. Würde man die zurückgelegte Entfernung in Bezug zur Zeit aus Bodensicht aufmalen, würde die Trajektorie des Flugzeugs wie der obere Teil einer Parabel aussehen, die nach rechts hin offen ist. Es ist natürlich nicht wirklich eine Parabel. Die mathematischen Zusammenhänge sind etwas komplizierter. Allerdings stellt die Parabel schon eine ganz gute Annäherung dar. Wie zuvor schon erwähnt, ist die Vorstellung für das menschliche Gehirn nicht ganz trivial. Zur Veranschaulichung stellen wir uns hierzu ein Baseball-Szenario vor. Der Werfer wirft dem Schlagmann den Ball direkt und in gerader Linie zu. Der Schlagmann holt aus und trifft. Einfach. Jetzt nehmen wir an, der Werfer wirft den Ball direkt und in gerader Linie, aber der Ball beschleunigt, während er auf den Schlagmann zufliegt. Zu einem gewissen Zeitpunkt wird der Schlagmann seinen Schlag einleiten und ausholen. Allerdings beschleunigt der Ball weiterhin. In dem Augenblick, in dem der Schlagmann zuschlägt, ist der Ball jedoch schon weiter geflogen, als er angenommen hatte, und beschleunigt weiterhin. Wenn ein Flugzeug sinkt, sind die Verhältnisse umgekehrt. Der Luftwiderstand auf das Flugzeug nimmt zu, so dass es langsamer wird. Bezogen auf unser Baseball-Beispiel bedeutet dies, dass der Ball beim Näherkommen immer langsamer wird. Nachdem der Schlagmann ausgeholt hat und der Schläger nach vorne schwingt, bremst der Ball immer noch mitten in der Luft, und der Schläger wird den Ball sehr wahrscheinlich verfehlen.

Ab einer Höhe von 11 km werden die atmosphärischen Bedingungen dann wieder angenehmer. Von hier bis etwa 20 km Höhe gibt es keine Auswirkungen auf die Geschwindigkeiten beim Steigen oder Sinken. Die Geschwindigkeit bleibt konstant. 

Betrachtet man diese beiden Umstände, die bei der Änderung der Flughöhe eintreten können - Beschleunigung unterhalb von 11 km, konstante Geschwindigkeit darüber; oder erst das eine, dann das andere - wird deutlich, welche kognitive Leistung hier notwendig ist, um Konfliktfreiheit zu gewährleisten.

Positionen von Flugzeugen, Entfernungen dazwischen, ihre Kurse, Bewegungen und Trajektorien sind im Wesentlichen nur Geometrie. Ein Zweig der Mathematik, der seit Ewigkeiten existiert. Der entsprechende Zweig der Informatik wird als geometrische Algorithmen bezeichnet. Sie finden hauptsächlich im Bereich der Computergraphik ihren Einsatz, um Bilder auf den Bildschirm zu bringen, Computerspiele zu animieren oder visuelle Effekte in Filmen darzustellen; außerdem in geographischen Informationssystemen für die Abfrage bezüglich der näheren Umgebung ("Wo ist das nächste Restaurant?") und des Ortes ("Was ist hier?"). Um 2009 herum hatte ich eine Reihe von Algorithmen in einer Software zusammengestellt und modifiziert, die Luftlagesituationen von ein paar hundert Flugzeugen verarbeiten und Konflikte zwischen ihnen in wenigen Millisekunden erkennen konnten - auf einem einzigen Prozessor eines handelsüblichen Computers. Für Luftverkehrsmanagement sollte das genügen.

Die Software

Die Forschungsabteilung der DFS Deutsche Flugsicherung beauftragte mich 2011, Komponenten zur Konflikterkennung und -lösung für ihren Forschungsprototypen CATO Controller Assistance Tools zu entwickeln. Die Tools unterstützen die Fluglotsen auf zwei Arten: Sie informieren die Fluglotsen über aktuell bestehende Konflikte und sie führen kontinuierlich umfangreiche Freigabe-Simulationen durch.

Die erste Funktion ist für den Fluglotsen wie ein zweites Paar Augen. Die kognitive Arbeitsbelastung von Lotsen in dichten Verkehrssituationen kann sehr anspruchsvoll sein. Die Software soll sicherstellen, dass kein Konflikt der Aufmerksamkeit des Lotsen entgeht. So wie Hunde bellen, um sicherzustellen, dass kein Vorkommnis unbemerkt bleibt.

Die zweite Funktion ist etwas weniger offensichtlich. Eine Freigabe-Simulation befasst sich mit Fragen der Art "Wie würde sich die Luftlage voraussichtlich entwickeln, wenn Flugzeug A auf Höhe H freigegeben würde? Wäre die daraus entstehende Luftlage frei von Konflikten?" Die Software führt diese Simulationen umfassend durch: Für jedes zu betrachtende Luftfahrzeug, für jede freigebbare Flugfläche, für jede freigebbare Steigrate, für jeden freigebbaren Kurs, für jeden freigebbaren Wegpunkt, wie würde sich die Luftlage entwickeln, wenn dies die erteilte Freigabe für dieses Flugzeug wäre? Würde sich die Luftlage konfliktfrei entwickeln? Wie ein Schachcomputer ermittelt die Software die Konsequenzen der möglichen nächsten Schritte. Informationen, die auf diese Weise gewonnen werden, werden den Fluglotsen dann bei Bedarf dargestellt.

Wann immer ein Menü für eine zu erteilende Freigabe geöffnet wird, werden alle verfügbaren Optionen auf dem Bildschirm farbkodiert angezeigt. Für jede Option gibt es einen Hinweis darauf, ob eine Freigabe frei von Konflikten wäre, ob sie einen Konflikt erzeugen oder ob sie zusätzliche Einschränkungen benötigen würde, um frei von Konflikten zu bleiben. Die Darstellung dieser Information in einer angemessenen Weise vermittelt dem Fluglotsen ein zusätzliches Situationsbewusstsein. Normalerweise schauen sie auf einen platten Bildschirm und beobachten den Luftverkehr aus der Vogelperspektive. Die Darstellung aller verfügbaren Flugflächen in vertikaler Form oder die zur Verfügung stehenden Kurse in Form eines Tortendiagramms - alle farbkodiert, um Konflikte oder zusätzliche Einschränkungen anzuzeigen - vermittelt eine Ich-Perspektive, d.h. der Fluglotse sieht die Situation aus der Perspektive der Flugzeuge, denen eine Freigabe erteilt werden soll. 

Die Software ist inzwischen mehrfach validiert und wurde als praktikabel für eine deutlich höhere Zahl an Luftverkehr gegenüber heute eingestuft bei gleichbleibender bzw. steigender Sicherheit.

Die Zukunft

Die Software kann durch Parallelisierung und Auswahl geeigneter Hardware für große Verkehrsmengen verwendet werden. Die Validierungsergebnisse aus dem konventionellen Luftverkehrsmanagementumfeld haben dies ebenfalls gezeigt. Aber wäre es nicht spannend zu sehen, wie die Software reagieren würde, wenn die Hardware stattdessen schrumpfen würde?

La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.

Perfektion ist erreicht, nicht wenn es nichts mehr hinzuzufügen gibt, sondern wenn nichts mehr weglassen werden kann.

Antoine de Saint-Exupéry

Ich habe die Konflikterkennungsalgorithmen auf einem Raspberry Pi implementiert, mit zufriedenstellendem Ergebnis. Zwar war die Konflikterkennung nicht ganz so schnell wie auf eigens dafür abgestellten Flugsicherungscomputern. Aber der Raspberry Pi war in der Lage, eine angemessene Menge derzeitigen Verkehrsaufkommens auf Konflikte zu untersuchen. Für umfassende Freigabe-Simulationen, ist der Pi natürlich nicht ausgestattet. Aber ich habe schon ein Auge auf den Jetson geworfen - eine von NVidias Embedded-GPUs - um zu sehen, wie die Software auf diesen Beschleunigern läuft.

Radarsensoren sind in den letzten Jahren kleiner und kleiner geworden. Ich bin mir sicher, dass man effiziente Verkehrsanalyse-Algorithmen auf kleinen Geräten wie dem Raspberry Pi oder dem Jetson laufen lassen kann. Damit erhielten wir IoT-Verkehrsmanagementgeräte für den täglichen Gebrauch; und das nicht nur für Luftverkehr sondern für jegliche Art von Verkehr.

In diesem Sinne,
ad astra