From b571d704883d850242b879d02b86fcb6907941e6 Mon Sep 17 00:00:00 2001 From: tumbili Date: Mon, 8 Jun 2015 15:47:40 +0200 Subject: [PATCH] allow to give away some thrust for yaw control --- src/modules/systemlib/mixer/mixer_multirotor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/systemlib/mixer/mixer_multirotor.cpp b/src/modules/systemlib/mixer/mixer_multirotor.cpp index 369e6807d1..d520578a35 100644 --- a/src/modules/systemlib/mixer/mixer_multirotor.cpp +++ b/src/modules/systemlib/mixer/mixer_multirotor.cpp @@ -312,6 +312,9 @@ MultirotorMixer::mix(float *outputs, unsigned space, uint16_t *status_reg) } } else if(out > 1.0f) { + // allow to reduce thrust to get some yaw response + float thrust_reduction = fminf(0.15f, out - 1.0f); + thrust -= thrust_reduction; yaw = (1.0f - ((roll * _rotors[i].roll_scale + pitch * _rotors[i].pitch_scale) * roll_pitch_scale + thrust + boost))/_rotors[i].yaw_scale; if(status_reg != NULL) {