Autobrake internals: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Add example code)
m (Category)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
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 [[Autobrake|here]].
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 [[Autobrake|here]].


==Concepts==
== 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)
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==
== Aircraft Integration ==
The <tt>-set.xml</tt> 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.
The <tt>-set.xml</tt> 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.


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


===Configuration===
=== Configuration ===
Real-world devices differ in their interface and behaviour; this is expressed in FlightGear via the <tt>config</tt> 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.
Real-world devices differ in their interface and behaviour; this is expressed in FlightGear via the <tt>config</tt> 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.


Line 39: Line 39:
* '''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.
* '''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==
== Related content ==
* [[Autobrake]]
* [[Autobrake]]
[[Category:Aircraft enhancement]]

Latest revision as of 15:45, 19 August 2012

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