On Sat, 10 Nov 2007, Vivian Meazza wrote:
Anders is hard at work extending this into a co-pilot facility - watch this
space. Meanwhile - if you are on MP we're aboard and watching you :-).
In case that made you curious, I can provide a preview since my
prototype has now reached a somewhat useable state.
Pilot and copilot currently have shared control over aileron, elevator,
rudder, throttle, mixture, elevator trim, flaps and brakes. The copilot
has a limited subset of the instrumentation.
The system consists of two aircraft:
- The pilot uses a modified variant of the c172p from FlightGear/CVS.
The pilot need to specify the callsign of the copilot (other copilots
will be ignored). Note: if your designated copilot uses another aircraft
than c172p-copilot some of his/her control input will still affect your
aircraft..
Usage example:
fgfs --aircraft=c172p-pilot --prop:/sim/remote/pilot-callsign=copilot
- 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 view (ctrl-v)
is jitter free. There is also a noticable 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.
Since being part of a control loop most likely wasn't in the
design spec. for the multiplayer protocol I think we can improve this.
E.g. by allowing the pilot side to bypass the deliberate
delay/interpolation of control inputs from the copilot.
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, though.
The deliberate delay added by AIMultiplayer can be significant - I have
seen (rare) 5 sec delays on my LAN - I think some unfortunate
interaction during the startup of the pilot and copilot fgfs instances
messed up the AIMultiplayer lag tuning.
Usage example:
fgfs --aircraft=c172p-copilot --prop:/sim/remote/pilot-callsign=pilot
The prototype is available here:
http://www.gidenstam.org/FlightGear/misc/c172p-dual_fgfsCVS.tar.gz
(See http://www.gidenstam.org/FlightGear/misc/ for updates and some other
small projects.)
Observations/Comments:
- In FlightGear/plib the fixed nearplane setting of 10ft cuts away most of
the aircraft for the copilot.
- The AIMultiplayer processing of incoming MP data adds a deliberate delay
which sometimes seems to become excessive ( 5 sec on a LAN?).
I know some extra delay is needed to make animation of MP aircraft
smooth and avoid extrapolation, but it would be nice to be able to
reduce or disable it for the control inputs from the copilot. A property
below multiplayer[x]/controls/ in the AI/MP subtree to control this
would be nice.
- In the long run I think we'd want the MP system to support something
similar to publish/subscribe - e.g. the properties sent from the copilot
is only interesting for the pilot and the extended aircraft state
sent(/published) by the pilot aircraft is only interesting to the
copilot or anyone else riding in the cockpit.
Currently everybody in the neighbourhood receives the data.
Have fun piloting!
Cheers,
Anders
--
---
Anders Gidenstam
mail: anders(at)gidenstam.org
WWW: http://www.gidenstam.org/FlightGear/JSBSim-LTA/
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel