Autobrake internals

From FlightGear wiki
Jump to navigation Jump to search

This page discusses the operation of the generic, C++ based autobrake system. It is assumed the reader is familiar with the general concepts of autobrakes as discussed here.

Concepts

The code is built around the notion of steps, with 0 being off/disarmed, and positive steps (up to a limit) corresponding to increasing braking severity. Steps above and below this range are ignored; the Boeing rotary selectors use 0 to represent 'disarmed' and '-1' to represent 'off'. RTO mode is defined as a step value; it can be negative, positive, and overlap the valid step range out be outside it. Overlapping the range is typically used to make the 'maximum' step automatically select RTO mode if activated while on the ground (eg, in Airbuses)

Aircraft Integration

The -set.xml file should specify the configuration parameters as discussed below. An autopilot controller should be created to relate the target-decel-ft-sec property to the fcs-brake property, using gains that are appropriate to the aircraft.

For YASim based aircraft, the gear section of the FDM XML file should be updated to use /autopilot/autobrake/left-brake-output and right-brake-output to control the wheel brakes as appropriate. For JSBSim aircraft, this connection is done in JSBSim.cxx.

<sim>

 <systems>
  <autopilot>
   <name>Autobrake System</name>
   <path>Aircraft/.../Systems/autobrake.xml</path>
  </autopilot>
 </systems>

Where Aircraft/.../Systems/autobrake.xml can be a copy of 777-200/Systems/777-autobrake.xml (for YASim aircraft) or 747-400/Systems/autobrake.xml (for JSBSim).

Configuration

Real-world devices differ in their interface and behaviour; this is expressed in FlightGear via the config properties. If you encounter a real-world device that can't be modelled by the current code, ask on the developer mailing list; support can probably be added. There is also a possibility of adding Nasal callbacks to allow scripted behaviour for various conditions.

</sim>

<autopilot>
 <autobrake>
  <step type="int">-1</step> 
  <config>
   <idle-throttle type="double">0.10</idle-throttle>
   <pilot-input type="double">0.25</pilot-input> 
  </config>
 </autobrake>
<autopilot>
  • step:
  • idle-throttle: the value of /controls/engine[n]/throttle at which the system may engage.
  • pilot-input: input from pilot's brake pedals at which the system should disarm. This has (almost) no effect on keyboard-simmers, but can make quite a difference for pedal-simmers.

Related content