Silvan Fuhrer
1ad66e606b
ControlAllocation: introduce convention for control surface deflection sign
...
- horizontal control surfaces: up=positive deflection
- vertical control surfaces (rudder): right=positive deflection
- mixed (V-Tail): up=positive deflection
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Beat Küng
5259877b1b
control_allocator: update matrix normalization
...
- only normalize rpy for MC matrices
- for thrust use the 3D vector, so it works for FW and tilt rotors as well
This keeps MC unchanged.
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
478724c9fe
EffectivenessTiltrotor: fix logic for matrix update
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
39d441317a
ActuatorEffectivenssTailsitterVTOL: only enable MC yaw control if more than 3 rotors
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Beat Küng
8c782b7cd9
control_allocator: add Custom + MC with tilts effectiveness
...
The param group is changed to Geometry, as this reflects the naming in the
QGC UI.
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
07306c4be3
control_allocator: add support for Tailsitter VTOL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Beat Küng
4c80adfaf1
control_allocator: implement trim + slew rate limits configuration
2021-12-24 20:06:13 -05:00
Beat Küng
8d9e2a28c4
control_allocator: add fixed-wing actuator effectiveness
2021-12-24 20:06:13 -05:00
Beat Küng
4d2a403afa
control_allocator: add rover actuator effectiveness
...
This can be generalized later
2021-12-24 20:06:13 -05:00
Beat Küng
70e46a194f
control_allocator: major refactoring & additions
...
- allow effectiveness matrix to select control allocator method
(desaturation algorithm)
- add actuator_servos publication
- add support for multiple matrices (for vtol)
- add updateSetpoint callback method to actuator effectiveness to allow it
to manipulate the actuator setpoint after allocation
- handle motor stopping & reversal
- add control surfaces & tilt servos
- handle standard vtol + tiltrotor
- rename MC rotors params & class to be more generically usable
- fixes and enables ActuatorEffectivenessRotorsTest
2021-12-24 20:06:13 -05:00
Beat Küng
9c767ff1ee
control_allocator: make effective source name a class member
2021-12-24 20:06:13 -05:00
Beat Küng
a0e43bca96
msg: remove unused vehicle_actuator_setpoint topic
2021-11-23 12:40:22 -05:00
Beat Küng
f99c2617ad
control_allocator: add module.yaml, add CA_MC_R_COUNT param & update defaults
2021-11-23 12:40:22 -05:00
Beat Küng
183ab8bbe7
control_allocator: avoid default argument for virtual method getEffectivenessMatrix
...
clang tidy error:
/__w/PX4-Autopilot/PX4-Autopilot/src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessMultirotor.cpp:50:34: error: default arguments on virtual or override methods are prohibited [google-default-arguments,-warnings-as-errors]
ActuatorEffectivenessMultirotor::getEffectivenessMatrix(matrix::Matrix<float, NUM_AXES, NUM_ACTUATORS> &matrix,
2021-10-18 18:45:19 -04:00
bresch
f09b34007e
CA: reload CA matrix to newly created CA class properly
...
Also remove the dependency of ActuatorEffectivenessMultirotor
to param update uORB topic; the CA module
sends a "force" parameter when needed
2021-09-11 15:07:49 -04:00
Daniel Agar
3e5e5ab1d5
control_allocator and angular_velocity_controller throttle parameter_update subscription
2021-01-18 11:25:37 -05:00
Beat Küng
c36340d29a
ActuatorEffectivenessMultirotor: set effectiveness to zero when computing the matrix
...
Just to be on the safe side.
2021-01-18 11:25:37 -05:00
Beat Küng
0e66b0876b
control_allocator: change SequentialDesaturation to existing MC mixer
...
And limit the operations to the number of configured outputs.
Only using the number of configured actuators reduces CPU load by ~2% on
F7 @1khz.
2021-01-18 11:25:37 -05:00
Beat Küng
308f614735
refactor control_allocator: directly get the effectiveness matrix when updated
...
Reduces stack + RAM usage
2021-01-18 11:25:37 -05:00
343cf5603e
initial control allocation support
...
- control allocation module with multirotor, VTOL standard, and tiltrotor support
- angular_velocity_controller
- See https://github.com/PX4/PX4-Autopilot/pull/13351 for details
Co-authored-by: Silvan Fuhrer <silvan@auterion.com >
Co-authored-by: Roman Bapst <bapstroman@gmail.com >
2021-01-18 11:25:37 -05:00