aboutsummaryrefslogtreecommitdiff
path: root/src/modules/fw_pos_control_l1
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-09-03 19:22:14 +0200
committerThomas Gubler <thomasgubler@gmail.com>2014-09-03 19:22:14 +0200
commit66c08c9b24aad4c0c646a7dca3e9ceb15241c3d9 (patch)
treea55ee05384be28a259aa4398c340fba47b3d4cfd /src/modules/fw_pos_control_l1
parent082cd5f95d82c31eff734ba3a4fb8c71077ac90d (diff)
parent139ca8c327a80b61213e2d75dd8819cf119d22d7 (diff)
downloadpx4-firmware-66c08c9b24aad4c0c646a7dca3e9ceb15241c3d9.tar.gz
px4-firmware-66c08c9b24aad4c0c646a7dca3e9ceb15241c3d9.tar.bz2
px4-firmware-66c08c9b24aad4c0c646a7dca3e9ceb15241c3d9.zip
Merge branch 'flarehorizontallimit' into fwlandingterrain
Conflicts: src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
Diffstat (limited to 'src/modules/fw_pos_control_l1')
-rw-r--r--src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp b/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
index ae8d69827..409b57d63 100644
--- a/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
+++ b/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
@@ -967,8 +967,11 @@ FixedwingPositionControl::control_position(const math::Vector<2> &current_positi
float bearing_airplane_currwp = get_bearing_to_next_waypoint(current_position(0), current_position(1), curr_wp(0), curr_wp(1));
float landing_slope_alt_rel_desired = landingslope.getLandingSlopeRelativeAltitudeSave(wp_distance, bearing_lastwp_currwp, bearing_airplane_currwp);
-
- if ( (_global_pos.alt < terrain_alt + landingslope.flare_relative_alt()) || land_noreturn_vertical) { //checking for land_noreturn to avoid unwanted climb out
+ /* Check if we should start flaring with a vertical and a
+ * horizontal limit (with some tolerance) */
+ if (((_global_pos.alt < terrain_alt + landingslope.flare_relative_alt()) &&
+ (wp_distance < landingslope.flare_length() + 5.0f)) ||
+ land_noreturn_vertical) { //checking for land_noreturn to avoid unwanted climb out
/* land with minimal speed */
// /* force TECS to only control speed with pitch, altitude is only implicitely controlled now */