mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 23:13:34 +08:00
Boats: stop motors when commanding zero speed
This commit is contained in:
@@ -48,9 +48,10 @@ ActuatorEffectivenessCustom::getEffectivenessMatrix(Configuration &configuration
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// motors
|
// Motors
|
||||||
_motors.enablePropellerTorque(false);
|
_motors.enablePropellerTorque(false);
|
||||||
const bool motors_added_successfully = _motors.addActuators(configuration);
|
const bool motors_added_successfully = _motors.addActuators(configuration);
|
||||||
|
_motors_mask = _motors.getMotors();
|
||||||
|
|
||||||
// Torque
|
// Torque
|
||||||
const bool torque_added_successfully = _torque.addActuators(configuration);
|
const bool torque_added_successfully = _torque.addActuators(configuration);
|
||||||
@@ -58,3 +59,9 @@ ActuatorEffectivenessCustom::getEffectivenessMatrix(Configuration &configuration
|
|||||||
return (motors_added_successfully && torque_added_successfully);
|
return (motors_added_successfully && torque_added_successfully);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ActuatorEffectivenessCustom::updateSetpoint(const matrix::Vector<float, NUM_AXES> &control_sp,
|
||||||
|
int matrix_index, ActuatorVector &actuator_sp, const matrix::Vector<float, NUM_ACTUATORS> &actuator_min,
|
||||||
|
const matrix::Vector<float, NUM_ACTUATORS> &actuator_max)
|
||||||
|
{
|
||||||
|
stopMaskedMotorsWithZeroThrust(_motors_mask, actuator_sp);
|
||||||
|
}
|
||||||
|
|||||||
@@ -45,9 +45,15 @@ public:
|
|||||||
|
|
||||||
bool getEffectivenessMatrix(Configuration &configuration, EffectivenessUpdateReason external_update) override;
|
bool getEffectivenessMatrix(Configuration &configuration, EffectivenessUpdateReason external_update) override;
|
||||||
|
|
||||||
|
void updateSetpoint(const matrix::Vector<float, NUM_AXES> &control_sp, int matrix_index,
|
||||||
|
ActuatorVector &actuator_sp, const matrix::Vector<float, NUM_ACTUATORS> &actuator_min,
|
||||||
|
const matrix::Vector<float, NUM_ACTUATORS> &actuator_max) override;
|
||||||
|
|
||||||
const char *name() const override { return "Custom"; }
|
const char *name() const override { return "Custom"; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ActuatorEffectivenessRotors _motors;
|
ActuatorEffectivenessRotors _motors;
|
||||||
ActuatorEffectivenessControlSurfaces _torque;
|
ActuatorEffectivenessControlSurfaces _torque;
|
||||||
|
|
||||||
|
uint32_t _motors_mask{};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user