mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
MulticopterLandDetector: remove arbitrary maximum altitude based on battery percentage
This commit is contained in:
parent
39a33a35ae
commit
c36c8d161c
@ -90,7 +90,6 @@ void MulticopterLandDetector::_update_topics()
|
||||
LandDetector::_update_topics();
|
||||
|
||||
_actuator_controls_sub.update(&_actuator_controls);
|
||||
_battery_sub.update(&_battery_status);
|
||||
_vehicle_angular_velocity_sub.update(&_vehicle_angular_velocity);
|
||||
_vehicle_control_mode_sub.update(&_vehicle_control_mode);
|
||||
_vehicle_local_position_setpoint_sub.update(&_vehicle_local_position_setpoint);
|
||||
@ -256,26 +255,12 @@ bool MulticopterLandDetector::_get_landed_state()
|
||||
|
||||
float MulticopterLandDetector::_get_max_altitude()
|
||||
{
|
||||
/* TODO: add a meaningful altitude */
|
||||
float valid_altitude_max = _param_lndmc_alt_max.get();
|
||||
|
||||
if (valid_altitude_max < 0.0f) {
|
||||
if (_param_lndmc_alt_max.get() < 0.0f) {
|
||||
return INFINITY;
|
||||
}
|
||||
|
||||
if (_battery_status.warning == battery_status_s::BATTERY_WARNING_LOW) {
|
||||
valid_altitude_max = _param_lndmc_alt_max.get() * 0.75f;
|
||||
} else {
|
||||
return _param_lndmc_alt_max.get();
|
||||
}
|
||||
|
||||
if (_battery_status.warning == battery_status_s::BATTERY_WARNING_CRITICAL) {
|
||||
valid_altitude_max = _param_lndmc_alt_max.get() * 0.5f;
|
||||
}
|
||||
|
||||
if (_battery_status.warning == battery_status_s::BATTERY_WARNING_EMERGENCY) {
|
||||
valid_altitude_max = _param_lndmc_alt_max.get() * 0.25f;
|
||||
}
|
||||
|
||||
return valid_altitude_max;
|
||||
}
|
||||
|
||||
bool MulticopterLandDetector::_has_altitude_lock()
|
||||
|
||||
@ -115,7 +115,6 @@ private:
|
||||
} _params{};
|
||||
|
||||
uORB::Subscription _actuator_controls_sub{ORB_ID(actuator_controls_0)};
|
||||
uORB::Subscription _battery_sub{ORB_ID(battery_status)};
|
||||
uORB::Subscription _vehicle_acceleration_sub{ORB_ID(vehicle_acceleration)};
|
||||
uORB::Subscription _vehicle_angular_velocity_sub{ORB_ID(vehicle_angular_velocity)};
|
||||
uORB::Subscription _vehicle_control_mode_sub{ORB_ID(vehicle_control_mode)};
|
||||
@ -124,7 +123,6 @@ private:
|
||||
uORB::Subscription _hover_thrust_estimate_sub{ORB_ID(hover_thrust_estimate)};
|
||||
|
||||
actuator_controls_s _actuator_controls {};
|
||||
battery_status_s _battery_status {};
|
||||
vehicle_angular_velocity_s _vehicle_angular_velocity{};
|
||||
vehicle_control_mode_s _vehicle_control_mode {};
|
||||
vehicle_local_position_setpoint_s _vehicle_local_position_setpoint {};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user