Dual control: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
No edit summary
No edit summary
(23 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Affected by HLA}}
[[File:Dualcontrolready.png]]
'''Dual Control''' is a system for [[FlightGear]] that adds basic support for shared control of an [[aircraft]] over the FlightGear [[Multiplayer Howto|multiplayer network]].
'''Dual Control''' is a system for [[FlightGear]] that adds basic support for shared control of an [[aircraft]] over the FlightGear [[Multiplayer Howto|multiplayer network]].


'''Note:''' [[FlightGear 1.9.0]] or later is needed to use Dual Control.
'''Note:''' [[FlightGear 1.9.0]] or later is needed to use Dual Control.


==Aircraft==
== Aircraft ==


Currently there are a small number of aircraft with dual control support:
Currently there are a small number of aircraft with dual control support:
* [[Zeppelin NT]], pilot and copilot (<tt>ZLT-NT</tt>, <tt>ZLT-NT-copilot</tt>). Available in FlightGear 1.9.0 and later.
* [[Airbus A320 Family]], pilot and co-pilot (<tt>A3xx-xx1</tt>, <tt>A320-copilot</tt>). Available from [http://gitorious.org/airbus-aircraft/a320 Gitorious project page]. Be sure to rename the aircraft directory to "A320-family" after checking out/downloading.
* [[Airbus A340-600]], pilot and co-pilot (<tt>A340-600</tt>, <tt>A346-copilot</tt>). Available in FlightGear 2.0 or later, Latest beta versions available on the forum.
* [[Blackburn Buccaneer]], pilot and systems officer (<tt>buccaneer</tt>, <tt>buccaneer-obs</tt>). Available in FlightGear 1.9.0 or later.
* [[Blackburn Buccaneer]], pilot and systems officer (<tt>buccaneer</tt>, <tt>buccaneer-obs</tt>). Available in FlightGear 1.9.0 or later.
* [[Grumman_F-14_Tomcat]], pilot and RIO (<tt>f-14b</tt>, <tt>f-14b-bs</tt>). Available in FlightGear 2.0 or later.
* [[Submarine_Scout]], pilot and observer (<tt>Submarine_Scout</tt>, <tt>Submarine_Scout-observer</tt>). Available in FlightGear/Git.
* [[Boeing 747-400]], pilot flying and pilot monitoring (<tt>747-400</tt>, <tt>747-400-fo</tt>). Available in FlightGear/Git.
* [[Boeing 747-400]], pilot flying and pilot monitoring (<tt>747-400</tt>, <tt>747-400-fo</tt>). Available in FlightGear/Git.
* [[Storch|Fieseler Fi 156 Storch]], pilot and passenger (<tt>Fi-156-de</tt>, <tt>Fi-156-passenger</tt>). Available in FlightGear/Git.
* c172p Skyhawk, pilot and copilot (<tt>c172p-pilot</tt> and <tt>c172p-copilot</tt>). Based on David Megginson's [[Cessna C172|c172p]] single control aircraft. Available from [http://www.gidenstam.org/FlightGear/DualControl/Aircraft the dual-control aircraft hangar]. The tar.gz archive for the aircraft should be extracted in [[$FG_ROOT]]/Aircraft/.
* [[Bombardier CRJ700]] (all variants), pilot and first officer (<tt>CRJ700</tt>, et al and <tt>CRJ700-firstofficer</tt>). Copilot can control aircraft using joystick and keyboard shortcuts but not toggle any switches. Available in FlightGear 2.0.0 or later. Improved dual control support available through development version at [http://gitorious.org/fg-skyops-aircraft/crj700-family Gitorious]. Be sure to rename the aircraft directory to "CRJ700-family" after checking out/downloading.
* [[fr/Douglas DC-3-C47]], pilot and copilot <u>can control aircraft</u>, and passenger 1 to 4 (<tt>dc-3</tt>, <tt>dc-3-copilot</tt>, <tt>dc-3-psg1</tt>, <tt>dc-3-psg2</tt>, <tt>dc-3-psg3</tt>, <tt>dc-3-psg4</tt>). Available in GIT.
* [[Embraer E-jets Family]], pilot and co-pilot (<tt>Embraer-17X</tt>, <tt>Embraer-17X-Copilot</tt>), Avaliable from http://theomegahangar.flymerlion.org
* [[Grumman F-14 Tomcat]], pilot and RIO (<tt>f-14b</tt>, <tt>f-14b-bs</tt>). Available in FlightGear 2.0.0 or later.
* [[Hughes OH-6 Cayuse]], pilot and co-pilot (<tt>OH-6</tt>, <tt>OH-6-cp</tt>). Available on [[Hughes OH-6 Cayuse|the wiki page]].
* [[ASK-13 sailplane|Schleicher ASK-13 glider]], pilot and passenger (<tt>ask13</tt>, <tt>ask13-passenger</tt>). Available in FlightGear/Git.
* [[ASK-13 sailplane|Schleicher ASK-13 glider]], pilot and passenger (<tt>ask13</tt>, <tt>ask13-passenger</tt>). Available in FlightGear/Git.
* [[Hughes OH-6 Cayuse]], pilot and co-pilot (<tt>OH-6</tt>, <tt>OH-6-cp</tt>). Available in FlightGear/Git.
* [[Submarine Scout]], pilot and observer (<tt>Submarine_Scout</tt>, <tt>Submarine_Scout-observer</tt>). Available in FlightGear 1.9.0 or later.
* c172p Skyhawk, pilot and copilot (<tt>c172p-pilot</tt> and <tt>c172p-copilot</tt>). Based on David Megginson's [[Cessna C172|c172p]] single control aircraft. Available from [http://www.gidenstam.org/FlightGear/DualControl/Aircraft the dual-control aircraft hangar]. The tar.gz archive for the aircraft should be extracted in $FG_ROOT/Aircraft/.
* [[Storch|Fieseler Fi 156 Storch]], pilot and passenger (<tt>Fi-156-de</tt>, <tt>Fi-156-passenger</tt>). Available in FlightGear 2.0.0 or later.
* [[Zeppelin NT]], pilot and copilot (<tt>ZLT-NT</tt>, <tt>ZLT-NT-copilot</tt>). Available in FlightGear 1.9.0 or later.


To connect the pilot and copilot selects each other in the Copilot dialog (FlightGear 2.0.0 or later) or set properties as explained in the usage instructions below.
To connect the pilot and copilot selects each other in the Copilot dialog (FlightGear 2.0.0 or later) or set properties as explained in the usage instructions below.
Line 21: Line 29:


<center>
<center>
[[Image:ZLT-NT-dual.jpg]]
[[File:ZLT-NT-dual.jpg]]
</center>
</center>
<center>
<center>
Line 27: Line 35:
</center>
</center>


==Usage instruction==
== Usage instruction ==
The system consists of two "aircraft":
The system consists of two "aircraft":


Line 50: Line 58:
The main part of the Dual Control system is a set of generic [[Nasal scripting language|Nasal]] modules and modified instrument files that form the core of the networked shared control functionality. See the link below for some more information.
The main part of the Dual Control system is a set of generic [[Nasal scripting language|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==
== External links ==


* [http://www.gidenstam.org/FlightGear/DualControl The main page for the Dual Control system.] Check here for the latest information.
* [http://www.gidenstam.org/FlightGear/DualControl The main page for the Dual Control system.] Check here for the latest information.


[[es:Control dual]]
[[pt:Controle duplo]]
[[Category:Dual control aircraft| ]]
[[Category:FlightGear feature]]
[[Category:FlightGear feature]]
 
[[Category:Multiplayer]]
[[es:Control dual]]

Revision as of 22:13, 26 December 2014

Caution  Developer information:

Some, and possibly most, of the details below are likely to be affected, or even deprecated, by the ongoing work on implementing and improving HLA support in FlightGear. For recent updates, please refer to HLA Timeline.
Please see: High-Level Architecture for further information
To avoid conflicting efforts, you are advised not to start working on anything directly related to this without first coordinating your ideas with FlightGear core developers using the FlightGear developers mailing list. talk page..

Dualcontrolready.png

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

Note: FlightGear 1.9.0 or later is needed to use Dual Control.

Aircraft

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

  • Airbus A320 Family, pilot and co-pilot (A3xx-xx1, A320-copilot). Available from Gitorious project page. Be sure to rename the aircraft directory to "A320-family" after checking out/downloading.
  • Airbus A340-600, pilot and co-pilot (A340-600, A346-copilot). Available in FlightGear 2.0 or later, Latest beta versions available on the forum.
  • Blackburn Buccaneer, pilot and systems officer (buccaneer, buccaneer-obs). Available in FlightGear 1.9.0 or later.
  • Boeing 747-400, pilot flying and pilot monitoring (747-400, 747-400-fo). Available in FlightGear/Git.
  • c172p Skyhawk, pilot and copilot (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/.
  • Bombardier CRJ700 (all variants), pilot and first officer (CRJ700, et al and CRJ700-firstofficer). Copilot can control aircraft using joystick and keyboard shortcuts but not toggle any switches. Available in FlightGear 2.0.0 or later. Improved dual control support available through development version at Gitorious. Be sure to rename the aircraft directory to "CRJ700-family" after checking out/downloading.
  • fr/Douglas DC-3-C47, pilot and copilot can control aircraft, and passenger 1 to 4 (dc-3, dc-3-copilot, dc-3-psg1, dc-3-psg2, dc-3-psg3, dc-3-psg4). Available in GIT.
  • Embraer E-jets Family, pilot and co-pilot (Embraer-17X, Embraer-17X-Copilot), Avaliable from http://theomegahangar.flymerlion.org
  • Grumman F-14 Tomcat, pilot and RIO (f-14b, f-14b-bs). Available in FlightGear 2.0.0 or later.
  • Hughes OH-6 Cayuse, pilot and co-pilot (OH-6, OH-6-cp). Available on the wiki page.
  • Schleicher ASK-13 glider, pilot and passenger (ask13, ask13-passenger). Available in FlightGear/Git.
  • Submarine Scout, pilot and observer (Submarine_Scout, Submarine_Scout-observer). Available in FlightGear 1.9.0 or later.
  • Fieseler Fi 156 Storch, pilot and passenger (Fi-156-de, Fi-156-passenger). Available in FlightGear 2.0.0 or later.
  • Zeppelin NT, pilot and copilot (ZLT-NT, ZLT-NT-copilot). Available in FlightGear 1.9.0 or later.

To connect the pilot and copilot selects each other in the Copilot dialog (FlightGear 2.0.0 or later) or set properties as explained in the usage instructions below.

Dual control enables a pilot and copilot to jointly fly the aircraft over the FlightGear multiplayer network. Depending on the aircraft the pilot and copilot 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 usually 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. Typically 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 needs 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.

In the current version the pilot and copilot can select each other in their Co/Pilot selection dialogs available from the "Zeppelin NT/c172p-dual-control"->"MP-(Co)Pilot" menus.

Alternatively the relevant properties can be set from the command line or via the property browser.

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