diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-04-05 21:26:17 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-04-05 21:26:17 +0200 |
commit | ab60b13b6dbcf636b1889d2150d96aff8b26cfc9 (patch) | |
tree | 5145be25ec8f09effa661089a4560a1a9a5cebac /src/modules | |
parent | 4a0c6600887e900932f6888f1b8948816a1f00b4 (diff) | |
download | px4-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')
-rw-r--r-- | src/modules/fw_att_control/fw_att_control_main.cpp | 11 |
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; |