New multirotor mixer; builds, not yet tested.

This commit is contained in:
px4dev
2012-08-15 00:46:15 -07:00
parent 3edd6c86f2
commit 5198a9daf7
7 changed files with 361 additions and 30 deletions
+3 -20
View File
@@ -1,24 +1,7 @@
Multirotor mixer for PX4FMU
===========================
This file defines passthrough mixers suitable for driving ESCs over the full
input range.
Channel group 0, channels 0-3 values 0.0 - 1.0 are scaled to the full output range.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 0 20000 -10000 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 0 20000 -10000 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 0 20000 -10000 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
This file defines a single mixer for a quadrotor in the X configuration, with 10% contribution from
roll and pitch and 20% contribution from yaw and no deadband.
R: 4x 1000 1000 2000 0
+27 -1
View File
@@ -125,4 +125,30 @@ operations, the values stored in the definition file are scaled by a factor of
Multirotor Mixer
................
The multirotor mixer is not yet defined.
The multirotor mixer combines four control inputs (roll, pitch, yaw, thrust)
into a set of actuator outputs intended to drive motor speed controllers.
The mixer definition is a single line of the form:
R: <geometry> <roll scale> <pitch scale> <yaw scale> <deadband>
The supported geometries include:
4x - quadrotor in X configuration
4+ - quadrotor in + configuration
6x - hexcopter in X configuration
6+ - hexcopter in + configuration
8x - octocopter in X configuration
8+ - octocopter in + configuration
Each of the roll, pitch and yaw scale values determine scaling of the roll,
pitch and yaw controls relative to the thrust control. Whilst the calculations
are performed as floating-point operations, the values stored in the definition
file are scaled by a factor of 10000; i.e. an factor of 0.5 is encoded as 5000.
Roll, pitch and yaw inputs are expected to range from -1.0 to 1.0, whilst the
thrust input ranges from 0.0 to 1.0. Output for each actuator is in the
range -1.0 to 1.0.
In the case where an actuator saturates, all actuator values are rescaled so that
the saturating actuator is limited to 1.0.