aboutsummaryrefslogtreecommitdiff
path: root/src/modules/fw_att_control/fw_att_control_main.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-04-05 21:26:17 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-04-05 21:26:17 +0200
commitab60b13b6dbcf636b1889d2150d96aff8b26cfc9 (patch)
tree5145be25ec8f09effa661089a4560a1a9a5cebac /src/modules/fw_att_control/fw_att_control_main.cpp
parent4a0c6600887e900932f6888f1b8948816a1f00b4 (diff)
downloadpx4-firmware-ab60b13b6dbcf636b1889d2150d96aff8b26cfc9.tar.gz
px4-firmware-ab60b13b6dbcf636b1889d2150d96aff8b26cfc9.tar.bz2
px4-firmware-ab60b13b6dbcf636b1889d2150d96aff8b26cfc9.zip
fw_att_controller: Forcing actuator scaling to at least minimum speed
Diffstat (limited to 'src/modules/fw_att_control/fw_att_control_main.cpp')
-rw-r--r--src/modules/fw_att_control/fw_att_control_main.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/modules/fw_att_control/fw_att_control_main.cpp b/src/modules/fw_att_control/fw_att_control_main.cpp
index 522e8c3e6..2f84dc963 100644
--- a/src/modules/fw_att_control/fw_att_control_main.cpp
+++ b/src/modules/fw_att_control/fw_att_control_main.cpp
@@ -669,8 +669,15 @@ FixedwingAttitudeControl::task_main()
airspeed = _airspeed.true_airspeed_m_s;
}
- float airspeed_scaling = _parameters.airspeed_trim / airspeed;
- //warnx("aspd scale: %6.2f act scale: %6.2f", airspeed_scaling, actuator_scaling);
+ /*
+ * For scaling our actuators using anything less than the min (close to stall)
+ * speed doesn't make any sense - its the strongest reasonable deflection we
+ * want to do in flight and its the baseline a human pilot would choose.
+ *
+ * Forcing the scaling to this value allows reasonable handheld tests.
+ */
+
+ float airspeed_scaling = _parameters.airspeed_trim / ((airspeed < _parameters.airspeed_min) ? _parameters.airspeed_min : airspeed);
float roll_sp = _parameters.rollsp_offset_rad;
float pitch_sp = _parameters.pitchsp_offset_rad;