mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-02 03:49:12 +08:00
mc_pos_control: reset velocity derivatives
This commit is contained in:
committed by
Mathieu Bresciani
parent
b213e30597
commit
b64abf48b2
@@ -87,6 +87,7 @@ public:
|
|||||||
float update(float input);
|
float update(float input);
|
||||||
// accessors
|
// accessors
|
||||||
void setU(float u) {_u = u;}
|
void setU(float u) {_u = u;}
|
||||||
|
void reset() { _initialized = false; };
|
||||||
float getU() {return _u;}
|
float getU() {return _u;}
|
||||||
float getLP() {return _lowPass.getFCut();}
|
float getLP() {return _lowPass.getFCut();}
|
||||||
float getO() { return _lowPass.getState(); }
|
float getO() { return _lowPass.getState(); }
|
||||||
|
|||||||
@@ -702,6 +702,12 @@ MulticopterPositionControl::Run()
|
|||||||
}
|
}
|
||||||
|
|
||||||
_old_landing_gear_position = gear.landing_gear;
|
_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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user