PX4 Firmware
PX4 Autopilot Software http://px4.io
|
Generic, programmable, procedural control signal mixers. More...
Go to the source code of this file.
Classes | |
class | Mixer |
Abstract class defining a mixer mixing zero or more inputs to one or more outputs. More... | |
Generic, programmable, procedural control signal mixers.
This library implements a generic mixer interface that can be used by any driver or subsytem that wants to combine several control signals into a single output.
control value A mixer input value, typically provided by some controlling component of the system.
control group A collection of controls provided by a single controlling component.
actuator The mixer output value.
An actuator derives its value from the combination of one or more control values. Each of the control values is scaled according to the actuator's configuration and then combined to produce the actuator value, which may then be further scaled to suit the specific output type.
Internally, all scaling is performed using floating point values. Inputs and outputs are clamped to the range -1.0 to 1.0.
control control control | | | v v v scale scale scale | | | | v | +----—> mix <---—+ | scale | v out
Each scaler allows the input value to be scaled independently for inputs greater/less than zero. An offset can be applied to the output, as well as lower and upper boundary constraints. Negative scaling factors cause the output to be inverted (negative input produces positive output).
Scaler pseudocode:
if (input < 0) output = (input * NEGATIVE_SCALE) + OFFSET else output = (input * POSITIVE_SCALE) + OFFSET
if (output < LOWER_LIMIT) output = LOWER_LIMIT if (output > UPPER_LIMIT) output = UPPER_LIMIT
Mixing behaviour varies based on the specific mixer class; each mixer class describes its behaviour in more detail.
The precise assignment of controls may vary depending on the application, but the following assignments should be used when appropriate. Some mixer classes have specific assumptions about the assignment of controls.
control | standard meaning -----—+--------------------— 0 | roll 1 | pitch 2 | yaw 3 | primary thrust
Definition in file Mixer.hpp.