Autopilot configuration reference: Difference between revisions

Jump to navigation Jump to search
correct some headline level mess
(conditional input values)
(correct some headline level mess)
Line 116: Line 116:
  </reference>
  </reference>


==== Conditional Input Values ====
==== Conditional input values ====
The direct inputs of controller and filter elements support so called input value lists. This is useful, if the input should be connected to one of many separate inputs like autopilots connected to NAV1, NAV2 or the GPS. The well known <tt>&lt;condition&gt;</tt> element is allowed within an input value element. The input value list will be traversed until the first input value with a successful condition is found. The behavior is much like the switch statement in programming languages.
The direct inputs of controller and filter elements support so called input value lists. This is useful, if the input should be connected to one of many separate inputs like autopilots connected to NAV1, NAV2 or the GPS. The well known <tt>&lt;condition&gt;</tt> element is allowed within an input value element. The input value list will be traversed until the first input value with a successful condition is found. The behavior is much like the switch statement in programming languages.
  <reference>
  <reference>
Line 138: Line 138:
== filter ==
== filter ==


==== gain ====
=== gain ===
==== exponential ====
=== exponential ===
==== double-exponential ====
=== double-exponential ===
==== moving-average ====
=== moving-average ===
==== noise-spike ====
=== noise-spike ===
==== reciprocal ====
=== reciprocal ===


=== pid-controller ===
== pid-controller ==
The [http://en.wikipedia.org/wiki/PID_controller PID controller] is the swiss army knife of automation and this implementation is suitable for most situations. It has a builtin anti-windup logic, and usage of <max> and <min> elements for calmping the output is mandatory. The most important thing to know is that this controller 'does not' compute absolute output values but an offset from the current value of the output property. This can lead to unexpected behavior if the current value of the output property is unknown when the controller is enabled. This behavior is different to that of the pi-simple-controller.
The [http://en.wikipedia.org/wiki/PID_controller PID controller] is the swiss army knife of automation and this implementation is suitable for most situations. It has a builtin anti-windup logic, and usage of <max> and <min> elements for calmping the output is mandatory. The most important thing to know is that this controller 'does not' compute absolute output values but an offset from the current value of the output property. This can lead to unexpected behavior if the current value of the output property is unknown when the controller is enabled. This behavior is different to that of the pi-simple-controller.
The xml element creating a pid controller is <tt><pid-controller></tt>.
The xml element creating a pid controller is <tt><pid-controller></tt>.
Line 174: Line 174:
|}
|}


=== pi-simple-controller ===
== pi-simple-controller ==
This controller implements a PI controller. Other than the PID controller, it computes absolute output values, regardless of the value of the output property. It can by configured as an I-only, P-only or PI-controller. It has anti windup logic if <min> and <max> elements are present.
This controller implements a PI controller. Other than the PID controller, it computes absolute output values, regardless of the value of the output property. It can by configured as an I-only, P-only or PI-controller. It has anti windup logic if <min> and <max> elements are present.
The xml element creating a PI controller is <tt><pi-simple-controller></tt>
The xml element creating a PI controller is <tt><pi-simple-controller></tt>
Line 184: Line 184:
: gain of the integrator component
: gain of the integrator component


=== predict-simple ===
== predict-simple ==


=== logic ===
== logic ==

Navigation menu