mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-11 02:18:29 -04:00
Plane: added Q_LAND_ALTCHG parameter
this is the threshold height change over 4 seconds for a landing to be detected. It can be raised if landing detection is very slow
This commit is contained in:
parent
c32b7823e8
commit
fc7a8a1a19
@ -434,6 +434,15 @@ const AP_Param::GroupInfo QuadPlane::var_info2[] = {
|
|||||||
// @Path: ../libraries/AC_AttitudeControl/AC_WeatherVane.cpp
|
// @Path: ../libraries/AC_AttitudeControl/AC_WeatherVane.cpp
|
||||||
AP_SUBGROUPPTR(weathervane, "WVANE_", 30, QuadPlane, AC_WeatherVane),
|
AP_SUBGROUPPTR(weathervane, "WVANE_", 30, QuadPlane, AC_WeatherVane),
|
||||||
|
|
||||||
|
// @Param: LAND_ALTCHG
|
||||||
|
// @DisplayName: Land detection altitude change threshold
|
||||||
|
// @Description: The maximum altitude change allowed during land detection. You can raise this value if you find that landing detection takes a long time to complete. It is the maximum change in altitude over a period of 4 seconds for landing to be detected
|
||||||
|
// @Units: m
|
||||||
|
// @Range: 0.1 0.6
|
||||||
|
// @Increment: 0.05
|
||||||
|
// @User: Standard
|
||||||
|
AP_GROUPINFO("LAND_ALTCHG", 31, QuadPlane, landing_detect.detect_alt_change, 0.2),
|
||||||
|
|
||||||
AP_GROUPEND
|
AP_GROUPEND
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2991,7 +3000,7 @@ bool QuadPlane::land_detector(uint32_t timeout_ms)
|
|||||||
// we only consider the vehicle landed when the motors have been
|
// we only consider the vehicle landed when the motors have been
|
||||||
// at minimum for timeout_ms+1000 and the vertical position estimate has not
|
// at minimum for timeout_ms+1000 and the vertical position estimate has not
|
||||||
// changed by more than 20cm for timeout_ms
|
// changed by more than 20cm for timeout_ms
|
||||||
if (fabsf(height - landing_detect.vpos_start_m) > 0.2) {
|
if (fabsf(height - landing_detect.vpos_start_m) > landing_detect.detect_alt_change) {
|
||||||
// height has changed, call off landing detection
|
// height has changed, call off landing detection
|
||||||
landing_detect.land_start_ms = 0;
|
landing_detect.land_start_ms = 0;
|
||||||
return false;
|
return false;
|
||||||
|
@ -402,6 +402,9 @@ private:
|
|||||||
uint32_t lower_limit_start_ms;
|
uint32_t lower_limit_start_ms;
|
||||||
uint32_t land_start_ms;
|
uint32_t land_start_ms;
|
||||||
float vpos_start_m;
|
float vpos_start_m;
|
||||||
|
|
||||||
|
// landing detection threshold in meters
|
||||||
|
AP_Float detect_alt_change;
|
||||||
} landing_detect;
|
} landing_detect;
|
||||||
|
|
||||||
// throttle mix acceleration filter
|
// throttle mix acceleration filter
|
||||||
|
Loading…
Reference in New Issue
Block a user