mc_pos_control: reset velocity derivatives

This commit is contained in:
Matthias Grob 2019-11-19 15:58:08 +01:00 committed by Mathieu Bresciani
parent b213e30597
commit b64abf48b2
2 changed files with 7 additions and 0 deletions

View File

@ -87,6 +87,7 @@ public:
float update(float input);
// accessors
void setU(float u) {_u = u;}
void reset() { _initialized = false; };
float getU() {return _u;}
float getLP() {return _lowPass.getFCut();}
float getO() { return _lowPass.getState(); }

View File

@ -702,6 +702,12 @@ MulticopterPositionControl::Run()
}
_old_landing_gear_position = gear.landing_gear;
} else {
// reset the numerical derivatives to not generate d term spikes when coming from non-position controlled operation
_vel_x_deriv.reset();
_vel_y_deriv.reset();
_vel_z_deriv.reset();
}
}