Diskussionsrunde: Spannende Diskussionen rund um Star Citizen.

Jeden Freitag ab 20 Uhr.

Roedas Dienstagsrunde: Star Citizen im Detail.

Jeden Dienstag ab 20:15 Uhr.

Home || Star Citizen Blog Posts

IFCS im Detail

Um uns mehr Details zum IFCS zu geben, hat Chris Robert den Entwickler John Pritchett gebeten, einen Artikel zu schreiben, der das System in Gänze vorstellt. Mitunter wird es darin sehr technisch. Ich hoffe, dass meine Übersetzung Euch hilft, die Innereien des Systems besser zu verstehen. Es ist wirklich ein interessantes System, welches sie dort aufgebaut haben. So viel wie hier wurde wahrscheinlich noch nie in ein Weltraumspiel investiert.
IFCS im Überblick


In Star Citizen, IFCS ist das Flugkontrollsystem, welches dafür da ist, den Piloten beim Steuern des Raumschiffs zu helfen. Es übersetzt die Eingaben des Piloten in das Feuern von Thrustern, um das geforderte Kommando umzusetzen, selbst wenn das Antriebssystem beschädigt ist.

Es ist ein adaptives System, welches eine Kombination an Sensoren und Feedback-Kontrollen benutzt, um die Fehler zwischen Zielzustand und dem aktuellen Zustand des Schiffes auf Null zu bringen. Es ist aber auch tolerant gegenüber Fehlern.

Es kann unterschiedliche Kombinationen aus Thruster verwenden und hat ein zusätzliches Control Moment Gyro System, um bei dem Verlust eines oder mehrerer Thruster das Schiff zu stabilisieren und unter der Kontrolle des Piloten zu halten, wenn möglich. Selbst mit nur einem Thruster kann der Pilot mit einigen Anstrengungen das Schiff aktiv steuern.


IFCS Subsysteme



Das IFCS besteht aus vielen Subsystemen, die zusammen arbeiten, um den Piloten Stabilität und Kontrolle über das Raumschiff zu bieten. Das System besteht aus:

IFCS Subsysteme


Propulsion and Attitude Control (PAC) – PAC beinhaltet typischerweise alle Thruster, die für Geradeaus- und Kurvenflug benötigt werden, sowie die zusätzliche Control Moment Gyro (CMG) Einheit, welche weitere Kontrolle über die Fluglage bietet. Zu PAC gehören auch die Schaltkreise und die Kontrollsoftware, welche die Einheiten steuern.

Primary Control System (PCS) – Das PCS ist die Schnittstelle zwischen Piloten und IFCS. Es übersetzt die Kommandos des Piloten in Aktionen, die auf virtuelle Kontrollvektoren angewandt werden und so das ideale Zeil darstellen, das der Pilot erreichen möchte. Die virtuellen Kontrollvektoren bestehen aus der Geschwindigkeit entlang jeder Kombination der Achsen, der Zeilrotationsrate um jede Kombination der Achsen, sowie der Referenzfluglage. Diese virtuellen Vektoren repräsentieren den idealen Zustand, den das Schiff unter perfekten Bedingungen erreichen würde. Jede Eingabe des Piloten ist relativ zu diesem virtuellen Vektoren, damit limitiert man den Effekt von externen Fehlern auf die Eingaben des Piloten.

Reaction Control System (RCS) – Der physische Zustand der virtuellen Vektoren des PCS wird vom erwarteten Thruster und CMG-Ausstoß überwacht, welches auf die Kontrollen des Piloten reagiert. Unter idealen Bedingungen, wird die gewünschte Fluglage des PCS genau mit der aktuellen Fluglage des Schiffes übereinstimmen. Aber Faktoren wie nichtoptimale Thruster oder Ausfälle, externe Einflüsse wie Waffenfeuer, Raketenexplosionen oder ähnliches, können dafür sorgen, dass die reelle Lage des Schiffes von der gewünschten abweicht.

Wenn das passiert, dann ist es die Aufgabe des RCS den Unterschied auf Null zu bringen. Es versucht  dies über das Nutzen der Thruster und des Control Moment Gyros. Sollte das Synchronisieren der virtuellen und realen Fluglage auch nach einer gewissen Zeit fehlschlagen, dann wird es die virtuellen  Vektoren auf die real erreichten zurücksetzen, damit der Pilot nicht verwirrt wird.

Anti-gravity System (AGS) – Das AGS erkennt und kompensiert Gravitation, sowie andere externe Kräfte, damit das Raumschiff in seiner Position relativ zur Quelle des Feldes verbleibt.

Turn Control System (TCS) – Das TCS assistiert den Piloten dabei stabile Kurven zu fliegen. Bei höheren Geschwindigkeiten können die Thruster eines Raumschiffes womöglich nicht genug Schub erzeugen, um eine stabile Kurve zu fliegen. Dann beginnt das Schiff zu sliden, was oft in einer Kollision endet. Ein Pilot wird normalerweise die Geschwindigkeit herabsetzen, wenn er eine Kurve fliegt. Das TCS kann aber das Gaspedal automatisch regeln und so die Vorwärtsgeschwindigkeit so anpassen, dass es zum Level des Kurvenschubs passt. Das System nimmt auch die optimale Einstellung zum Rollen mit in die Berechnung auf, um die richtige Kurvengeschwindigkeit zu berechnen.

G-force Control Mode (GCM) – Der GCM ist ein Sicherheitsmodus, welches versucht die Auswirkung von potentiell schädlichen Level von G-Kräften auf den Piloten zu vermeiden. Der primäre Fokus ist es, dass der vollständig fixierte Pilot nicht zu lange gefährlichen vertikalen G-Kräften ausgesetzt ist, da diese zu Blackout, Greyout, Redout, Desorientierung, Verlust des Bewusstseins und, wenn nicht vermindert, zum Tod führen.

Horizontale G-Kräfte extremer Stärke werden auch vermieden, da auch sie dem Piloten physische Schäden zuführen können, aber auch strukturelle Schäden am Raumschiff verursachen.

Zusätzlich zu diesen Standard-Subsystemen kann andere Funktionalität in fortgeschritteneren Systemen implementiert sein.


Arbeitsweise des IFCS



Das IFCS nimmt als Eingabe ein Kommando des Piloten, welches eine Menge an Operationen enthalten kann, aber letztlich in 3 Grade an Richtungen und 3 Grade an Rotationen übersetzt werden. Andere Eingaben des Piloten können als Parameter in verschiedenen Phasen des IFCS verwendet werden.

Sobald die Eingabewerte von den IFCS-Modi wie Kurvensteuerung (TCS) und G-Kräfte-Kontrolle (GCM) modifiziert wurden, werden die Geschwindigkeitslimits bestimmt. Die modifizierten Eingaben werden in das PCS gegeben, welches sowohl die Linear- sowie Drehgeschwindigkeits-PID-Controller enthält. Diese Kontrollfunktion berechnet die optimale Kraft und Drehmoment, welche auf den Masseschwerpunkt des Schiffes angewendet, die vom Pilot angeforderte Bewegung auslösen würde.

Zur gleichen Zeit wird die Fluglage in das RCS gegeben, wo die Positions-PID-Controller genutzt werden, um die reale Fluglage des Schiffes der Ziellage anzunähern, die durch das PCS vorgegeben wird. Die Kontrollfunktion wird Drehmoment erzeugen, welche optimaler Weise den Fehler bei der Fluglage in der nächsten Zeiteinheit auf Null bringen soll.

Letztlich wird ein Scan der vorhandenen Kräftefelder, meist der Gravitation, in das AGS gegeben, um die benötigte Gegenkraft zu berechnen.

Sobald die benötigten Kräfte und Drehmomente berechnet sind, werden die Antriebsressourcen beansprucht und zwar in Reihe der Priorität, der höchsten zuerst, bis zur niedrigsten. AGS-Bewegungen werden sofort ausgeführt, da ein Versagen bei der Erzeugung von genügend Gegenkraft katastrophal sein könnte.

Als nächstes werden RCS-Befehle ausgeführt. Diese werden zunächst vom Hauptantriebssystemen gespeist und falls diese nicht funktionieren wird das CMG eingesetzt. Danach kommt das PCS zum Zug, um Rotationen auszuführen. Auch hier wird zunächst das primäre Antriebssystem zuerst angesprochen und dann das CMG. Ganz am Schluss werden mit der niedrigsten Priorität die Richtungskontrollen durchgeführt.

Nach einer kurzen Zeit, wenn das Antriebssystem auf die IFCS-Kommandos reagiert hat, dann lesen Sensoren den aktuellen Status des Schiffes. Dieser kann durch Fehlfunktionen der Antriebssysteme oder nicht-ausgegliechenen externen Einwirkungen vom vorher berechneten Status abweichen. Das wird dann in die Kontrollschleife des IFCS eingespeist und der Prozess startet von neuem.


Kontrolle der Geschwindigkeit und Fluglage



Weil sich das IFCS nicht auf dem Antriebssystem verlassen kann, dass die angeforderte Bewegung ausgeführt wird, benutzt es PID-Feedback-Controller, um den Fehler zwischen dem gewünschten und gemessenen Zustand zu minimieren. Solche Controller werden auch im PCS zum Berechnen der optimalen Kraft und des Drehmoments genutzt, sowie im RCS, um die Fluglage zu stabilisieren.

PID-Controller für die Geschwindigkeit


PID-Controller können für eine Menge an verschiedener Charakteristiken konfiguriert werden. Bei der Geschwindigkeitskontrolle zum Beispiel wird ein übersteuernder Controller sehr schnell auf die Referenzgeschwindigkeit beschleunigen und sogar darüber hinaus gehen, um sich dann oszillierend auf die Endgeschwindigkeit einzustellen (siehe blaue Linie im oberen Bild).

Ein untersteuernder Controller (lila) wird langsamer beschleunigen und die Endgeschwindigkeit erreichen ohne sie zu übertreffen. Ein exakt steuernder Controller (rot) beschleunigt genau die optimale Rate, um in minimaler Zeit die Zielgeschwindigkeit zu erreichen ohne sie zu übertreffen.

Die Controller des PCS, welche Linear- und Drehgeschwindigkeit kontrollieren, werden dynamisch optimiert. Basierend auf der Stärke der Eingabe des Piloten können sie von dezenter bis hinzu aggressiver Beschleunigung reichen. Piloten, die eine Vorliebe für die eine oder andere Art der Beschleunigung haben, können diese so bekommen.

Die tatsächliche Handlungszeit des IFCS-Controllers ist aber nicht nur von diesen Tuningparameter abhängig, sondern auch von den Komponenten des Antriebssystems.


Antriebssysteme



Thruster

Die primäre Antriebskomponente der meisten Schiffe sind Thruster. Das Flugmodell von Star Citizen hat ein 100% korrektes Schubmodell, welches den Ort des Thrusters relativ zum Massenschwerpunkt des Schiffes sowie die maximale Schubleistung und Reaktionszeit jedes Thrusters mit einbezieht.

Unter idealen Voraussetzungen sind die Thruster um den gedachten Massenschwerpunkt des Schiffes herum ausbalanciert angebracht. Damit kann das Schiff die Thruster optimal kontrollieren. In diesem einfachen Bild sind die oberen, hinteren Thruster um den Massenschwerpunkt herum ausbalanciert angebracht, so dass sie in Summe null Drehmoment um die Z-Achse erzeugen.

Ausbalancierte Thruster um den Massenschwerpunkt


Bei erlittenem Schaden, verändert sich der Massenschwerpunkt und destabilisiert das Thruster-System. Im folgenden Bild sind die Thruster nicht mehr um den Massenschwerpunkt herum balanciert. Wenn also die Thruster gezündet werden, wird das Schiff einem Drehmoment ausgesetzt, welches zu ungewollten Gieren führen würde.

Das IFCS wird versuchen dieses Drehmoment auszugleichen, indem andere Thruster genutzt werden, um eine Gegenkraft auszuwirken. Wenn das nicht möglich ist, dann wird versucht den Fehler durch die Verringerung der Schubleistung der Thruster herbeizuführen.

Nicht-balancierte Thruster um den Massenschwerpunkt


Schaden und andere Bedingungen können ebenso die Kapazität der Thruster, die Reaktionszeit oder die Zielgenauigkeit beeinträchtigen. Ein Thruster kann auch komplett ausfallen. Jede dieser Änderungen hat eine Auswirkung auf die Balance der Thruster und deshalb auch auf das Verhalten des Schiffes unter der Kontrolle des Piloten.



Control Moment Gyro

Jedes Schiff hat eine kleine Menge Sicherungsdrehmoment verfügbar, welches genutzt werden kann, wenn alle Thruster verloren sind. Dieses Drehmoment wird vom internen Control Moment Gyros bereitgestellt. Solange das CMG funktioniert, hat der Pilot minimales Drehmoment an jeder Rotationsachse zur Verfügung. Es ist ausreichend, um die Fluglage des Schiffes zu stabilisieren und kann genutzt werden, um das Schiff langsam hoch oder runter zu drehen.


Abschließende Bemerkungen



Dieses Dokument ist keine Beschreibung des IFCS in der Welt von Star Citizen, sondern eine Beschreibung des Flugkontrollmodells, welches im Spiel implementiert ist. Dieser Grad an Realismus ist notwendig, um ein System zu liefern, welches voll integriert und auch beeinflussbar ist, von der Umgebung, den Schadenszuständen, Änderungen der Massenverteilung, der Energieversorgung, Platzierung der Thruster und vieles mehr. IFCS ist ein System in der Entstehung und wird deshalb nicht perfekt sein zu jeder Zeit. Aber es imitiert die Realität.

Und letztlich wurde ein großer Aufwand betrieben, die Kontrollen des Schiffes auf die Kommandos des IFCS zu beschränken. Kein Spieler, keine KI und auch nicht das IFCS selbst kann jemals die Position, die Geschwindigkeit, die Rotation oder die Rotationsgeschwindigkeit des Schiffes direkt ändern. Die einzige Ausnahme ist die Initialisierung und die Korrektur übers Netzwerk. Damit ist garantiert, dass alle Raumschiffkontrollen konsistent sind und das Spiel niemals einen unfairen Vorteil gegenüber einem Spieler hat.

Quelle: RSI Comm-Link

1 Kommentar:

  1. Sauber JessieBlue ;D

    Wer diese 3Posts liest sollte spätestens jetzt klar sein das Star Citizen, alles andere als ein leicht zu bedienendes Casual Weltraumspiel wird! XD

    AntwortenLöschen