mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-01 18:00:34 +08:00
control_allocator: fix weak authority matrix check & update
- use max(fabsf(val)) instead of max(val) - use correct actuator count
This commit is contained in:
@@ -501,11 +501,17 @@ ControlAllocator::update_effectiveness_matrix_if_needed(EffectivenessUpdateReaso
|
||||
ActuatorEffectiveness::EffectivenessMatrix &matrix = config.effectiveness_matrices[i];
|
||||
|
||||
for (int n = 0; n < NUM_AXES; n++) {
|
||||
if (matrix.row(i).max() < 0.05f) {
|
||||
for (int m = 0; m < _num_actuators[i]; m++) {
|
||||
matrix(n, m) = 0.f;
|
||||
bool all_entries_small = true;
|
||||
|
||||
for (int m = 0; m < config.num_actuators_matrix[i]; m++) {
|
||||
if (fabsf(matrix(n, m)) > 0.05f) {
|
||||
all_entries_small = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (all_entries_small) {
|
||||
matrix.row(n) = 0.f;
|
||||
}
|
||||
}
|
||||
|
||||
// Assign control effectiveness matrix
|
||||
|
||||
Reference in New Issue
Block a user