Dual control

From FlightGear wiki
Revision as of 13:49, 23 December 2008 by AndersG (talk | contribs) (→‎Aircraft)
Jump to navigation Jump to search

Dual Control is a system for FlightGear that adds basic support for shared control of an aircraft over the FlightGear multiplayer network.

Note: FlightGear/CVS (developer's version) or the upcoming Dec 2008 FlightGear release are needed to use Dual Control.

Aircraft

Currently there are currently a small number of aircraft with dual control support:

  • Zeppelin NT (ZLT-NT, ZLT-NT-copilot). Available in FlightGear 1.9.0 and later.
  • c172p Skyhawk with dual control (c172p-pilot and c172p-copilot). Based on David Megginson's c172p single control aircraft. Available from the dual-control aircraft hangar. The tar.gz archive for the aircraft should be extracted in $FG_ROOT/Aircraft/.


The aircraft enables a pilot and copilot to jointly fly the aircraft over the FlightGear multiplayer network. Pilot and copilot currently have shared control over primary flight controls, throttle, mixture and so on. Exactly which controls are shared varies between the aircraft but usually include elevator trim, flaps, brakes, cockpit switches, the radio stack and some instrument settings. The copilot has a subset of the full instrumentation (also depending on the aircraft), usually including airspeed, altimeter, VSI, HSI, turn coordinator, engine RPM and the radio stack. Nav/Comm 1 and the first VOR indicator is best controlled by the pilot, while Nav/Comm 2 and the corresponding VOR indicator is faster for the copilot.

ZLT-NT-dual.jpg Side-by-side presentation of the Zeppelin NT pilot's (left) and copilot's (right) views.

Usage instruction

The system consists of two "aircraft":

The pilot uses a special variant of the c172p, c172p-pilot. The pilot need to specify the callsign of the copilot (other copilots will be ignored). For the Zeppelin NT the aircraft names are ZLT-NT and ZLT-NT-copilot, respectively.

Pilot usage example:

fgfs --aircraft=c172p-pilot --prop:/sim/remote/pilot-callsign="someone" 

The copilot uses a special "aircraft", c172p-copilot, which piggybacks on the designated pilot and captures the local control inputs. A current limitation is that only the cockpit views are jitter free. There is also a noticeable delay between control inputs and effect, since they are passed via the the multiplayer protocol. The severity of this delay depend on round trip time and some other factors - the delay seems significantly longer than the round trip time itself which is due to buffering in the MP protocol receiver. That said, I have flown successfully as copilot in a setup with 100-120ms round trip time between both pilot and server and copilot and server (total delay >500ms). Landing is a bit exciting in that case, however.

Copilot usage example:

fgfs --aircraft=c172p-copilot --prop:/sim/remote/pilot-callsign="anybody"

Note: External views are jitter prone for the copilot.

Developer information

The main part of the Dual Control system is a set of generic Nasal modules and modified instrument files that form the core of the networked shared control functionality. See the link below for some more information.

External links