aboutsummaryrefslogtreecommitdiff
path: root/src/lib/ecl/attitude_fw/ecl_yaw_controller.h
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2013-10-15 19:05:23 +0200
committerThomas Gubler <thomasgubler@gmail.com>2013-10-24 17:39:43 +0200
commit17e0c5053ece4cbf53e659b5f60d640beaab7d50 (patch)
tree60c3f64242249f74154dbcb05e3932207dc0cd12 /src/lib/ecl/attitude_fw/ecl_yaw_controller.h
parentcb5e5e914351754356c85e61f2394d1cf91db71f (diff)
downloadpx4-firmware-17e0c5053ece4cbf53e659b5f60d640beaab7d50.tar.gz
px4-firmware-17e0c5053ece4cbf53e659b5f60d640beaab7d50.tar.bz2
px4-firmware-17e0c5053ece4cbf53e659b5f60d640beaab7d50.zip
wip, fw att ctrl: coordinated turn
Diffstat (limited to 'src/lib/ecl/attitude_fw/ecl_yaw_controller.h')
-rw-r--r--src/lib/ecl/attitude_fw/ecl_yaw_controller.h30
1 files changed, 4 insertions, 26 deletions
diff --git a/src/lib/ecl/attitude_fw/ecl_yaw_controller.h b/src/lib/ecl/attitude_fw/ecl_yaw_controller.h
index 66b227918..fe0abb956 100644
--- a/src/lib/ecl/attitude_fw/ecl_yaw_controller.h
+++ b/src/lib/ecl/attitude_fw/ecl_yaw_controller.h
@@ -50,39 +50,17 @@ public:
float control(float roll, float yaw_rate, float accel_y, float scaler = 1.0f, bool lock_integrator = false,
float airspeed_min = 0, float airspeed_max = 0, float aspeed = (0.0f / 0.0f));
- void reset_integrator();
- void set_k_side(float k_a) {
- _k_side = k_a;
- }
- void set_k_i(float k_i) {
- _k_i = k_i;
- }
- void set_k_d(float k_d) {
- _k_d = k_d;
- }
- void set_k_roll_ff(float k_roll_ff) {
- _k_roll_ff = k_roll_ff;
- }
- void set_integrator_max(float max) {
- _integrator_max = max;
+ float get_desired_rate() {
+ return _rate_setpoint;
}
private:
uint64_t _last_run;
- float _k_side;
- float _k_i;
- float _k_d;
- float _k_roll_ff;
- float _integrator_max;
-
- float _last_error;
+ float _rate_setpoint;
float _last_output;
- float _last_rate_hp_out;
- float _last_rate_hp_in;
- float _k_d_last;
- float _integrator;
+ float _max_deflection_rad;
};