diff --git a/src/modules/control_allocator/VehicleActuatorEffectiveness/ActuatorEffectivenessRotors.cpp b/src/modules/control_allocator/VehicleActuatorEffectiveness/ActuatorEffectivenessRotors.cpp index 1669236b34..765d0dba47 100644 --- a/src/modules/control_allocator/VehicleActuatorEffectiveness/ActuatorEffectivenessRotors.cpp +++ b/src/modules/control_allocator/VehicleActuatorEffectiveness/ActuatorEffectivenessRotors.cpp @@ -265,15 +265,14 @@ ActuatorBitmask ActuatorEffectivenessRotors::getMotors() const return motors; } -// Helper to check if a vector is primarily aligned with a specific axis index bool ActuatorEffectivenessRotors::isAlignedWithAxis(const Vector3f &axis_abs, int primary_idx) { for (int i = 0; i < 3; ++i) { if (i == primary_idx) { - if (axis_abs(i) <= MAX_AXIS_NEGLIGIBLE) { return false; } + if (axis_abs(i) < MIN_AXIS_DOMINANT) { return false; } } else { - if (axis_abs(i) >= MIN_AXIS_DOMINANT) { return false; } + if (axis_abs(i) > MAX_AXIS_NEGLIGIBLE) { return false; } } } diff --git a/src/modules/control_allocator/VehicleActuatorEffectiveness/ActuatorEffectivenessRotors.hpp b/src/modules/control_allocator/VehicleActuatorEffectiveness/ActuatorEffectivenessRotors.hpp index 23198cea67..7ab4268809 100644 --- a/src/modules/control_allocator/VehicleActuatorEffectiveness/ActuatorEffectivenessRotors.hpp +++ b/src/modules/control_allocator/VehicleActuatorEffectiveness/ActuatorEffectivenessRotors.hpp @@ -141,6 +141,12 @@ private: const AxisConfiguration _axis_config; const bool _tilt_support; ///< if true, tilt servo assignment params are loaded + + /** + * Helper to check if a unit vector is primarily aligned with a specific axis index, meaning: + * | component along that axis | >= MIN_AXIS_DOMINANT + * | component along other axes | <= MAX_AXIS_NEGLIGIBLE + */ bool isAlignedWithAxis(const Vector3f &axis_abs, int primary_idx); struct ParamHandles {