Multiplayer Aerial refueling

From FlightGear wiki
Jump to: navigation, search
An F-14 has connected its probe with the left drogue of a 707-TT tanker.
An EC-137D is flying behind a 707-TT tanker while the flying boom of the tanker is connected to the receptacle of the EC-137D.
An EC-137D is flying behind a 707-TT tanker while the flying boom of the tanker is connected to the receptacle of the EC-137D. The aircraft is seen from the boomer's view.
An F-15C is flying behind a 707-TT tanker while the flying boom of the tanker is connected to the receptacle of the F-15C.
An SR-71 is flying behind a 707-TT tanker while the flying boom of the tanker is connected to the receptacle of the SR-71.

User onox has created a modified 707-TT that can perform air-to-air refueling with a moving boom and drogues. When the receiving aircraft's receptacle or probe gets within a small distance of the boom or drogue, the boom or drogue will start 'tracking' that aircraft and move when the receiving aircraft moves. When the receiver disconnects, the tanker will publish in a text message the duration (in minutes and seconds) of contact.

Part of this work can be found in the KC-137R advanced tanker project.

Compatible aircraft

AAR can be performed with the 707-TT or the MV-22. The 707-TT provides a single flying boom at the end of the fuselage and two hose drum units that contain a hose and a drogue. The MV-22 can provide a single hose and drogue attached to its cargo door (Enable the drogue in the "Aircraft Options" dialog). Both aircraft require the ExpansionPack to allow the flying boom and drogues to move and follow aircraft. It is also needed to see the drogue and the hose. Download and install it in the usual $FG_AIRCRAFT folder (the folder where you normally install an aircraft).

Tanker
707
MV-22
Aircraft
F-14 (Use the "ORF" branch)
F-15 (Use the "ORF" branch)
A-10
B-1B
SR-71
MV-22 / CV-22
EC-137D

Both the tanker and the receiver need the ExpansionPack to see the drogues. The user flying the tanker needs to install the receiver aircraft as well in order to read the position of the receptacle/probe.

Lag settings

It is very important to adjust the lag settings in Multiplayer > Lag Settings. Make sure you have FlightGear 2016.1 or higher. To determine the lag, you should ping one of the multiplayer server that both the tanker and the receiving aircraft are going to use. For example, to ping mpserver01, open a terminal and type "ping mpserver01.flightgear.org". Determine the average ping in milliseconds and convert it to seconds. For example, a ping of 123 milliseconds becomes 0.123. Open Multiplayer > Lag Settings, enable "Master switch" and "Apply to close mp". Then adjust the slider of "Lag adjustment" to the measured ping time to the server; in our example, 0.123. Alternatively, you can open the "Internal properties" window (ignore this if you don't know what it is) and set /sim/multiplay/lag/offset directly.

Use an ethernet cable instead of wifi. Wifi may give you a very fluctuating ping time to the server.

If you try to approach the tanker, the tanker will display the distance between your receptacle/drogue and the boom/drogue. If the tanker appears closer to you than the text suggests, then you might need to add a few milliseconds (5, 10, or 20) to the "Lag adjument". Give FlightGear several seconds to adapt after moving the slider.

With correct lag settings, the receiver aircraft should be able to stay connected for several minutes. In fact, one user, flying an EC-137D, managed to stay connected for 18 minutes and 23 seconds (with position guidance from the boomer).

Using the drogues

Simply click on the Hose Drum Unit (HDU) to extend the hose and the drogue. The receiving aircraft needs to be within 3 meters of the drogue (this value might be lowered in the future) in order to connect with the drogue. The drogue will 'snap' to the probe and follow it, at least on the tanker's computer. On the receiving aircraft's computer it could look (visually) like it is not connected.

Using the flying boom

Press the r key to move the flying boom to the ready position. Press d to disconnect. Press Shift + d to move to the off position or to perform an emergency disconnect. While the boom is ready and able to track a nearby aircraft, the "READY" light should be lit on the boomer's panel.

To move the boom manually, hold Ctrl and then move the mouse. To extend/retract the telescope of the boom, release Ctrl and use the mouse scroll wheel.

The receiving aircraft needs to be within 1 meter of the nozzle of the boom. Once connected, you have a few extra meters of margin. With correct lag settings several people have demonstrated to stay connected for several minutes, even while in different continents.

Pilot Director Lights

Pilot Directory Lights showing the fwd/aft and up/down status of the boom.

The pilot director lights are visible in ALS and show to the receiving aircraft how close it is to the desired position. The left row with lights show the elevation of the boom (closest light means pilot has to go down (too close to tanker), farthest light means pilot must go up (get closer)). The right row shows how much the telescope has extended or retracted (closest light means pilot needs to get closer, farthest light means pilot is too close.

Left row Right row
Down and Up Forward and Aft

Modifying aircraft to be compatible with the flying boom or drogue

In order for the tanker to be able to detect compatible aircraft, the multiplayer model XML file of the aircraft that wants to have fuel needs to be modified. This needs to happen on the computer on which the tanker is running. For example, the F-14B's Models/f-14b.xml file contains:

<multiplay>
    <refuel>
        <offset-x-m type="double">-7.1969</offset-x-m>
        <offset-y-m type="double">1.0409</offset-y-m>
        <offset-z-m type="double">0.0387</offset-z-m>
        <type type="string">probe</type>
    </refuel>
</multiplay>

Aircraft that contain a receptacle, for connecting with the flying boom, should use the value "boom" instead of "probe". For example, the F-15C's Models/f15c.xml file contains:

<multiplay>
    <refuel>
        <offset-x-m type="double">-0.3457</offset-x-m>
        <offset-y-m type="double">-1.6912</offset-y-m>
        <offset-z-m type="double">0.7946</offset-z-m>
        <type type="string">boom</type>
    </refuel>
</multiplay>

Negotiating fuel flow

Once it has been implemented, this section will contain instructions how to make the receiving aircraft only add fuel when connected to the boom or a drogue.

Missing features

Aircraft are not able to negotiate a fuel flow with the tanker yet. Currently many aircraft use the generic aar.nas code which just adds fuel if the aircraft is within range of any tanker, even when the aircraft is not connected to the tanker. The maximum fuel flow depends on the type (boom, drogue, or drogue connected to boom), the specific maximum that the receiving aircraft can handle, and the state of the tanks of the tanker and receiving aircraft. Both the tanker and the receiving aircraft should publish this number (which might change continuously) in a property. Both aircraft then need to take the minimum and consider this to be the fuel flow that they can add/subtract from their tanks.

The flying boom simply moves to a position indicated by the mouse. In reality (in the KC-135) the mouse should control the two flight control surfaces on the boom. It would be appreciated if someone creates a JSBSim system that computes the lift/drag depending on state of the flight control surfaces and the current position.