Library containing Crazyflie 2.0 controller classes: - Attitude estimator - Horizontal estimator - Vertical estimator - Attitude controller - Horizontal controller - Vertical controller - Mixer

Revision:
9:15058b4fa090
Parent:
8:d05fe9f8bfb6
Child:
11:fad579538b4c
--- a/Parameters/Parameters.h	Thu Sep 27 18:55:22 2018 +0000
+++ b/Parameters/Parameters.h	Fri Sep 28 15:08:41 2018 +0000
@@ -1,44 +1,52 @@
 #ifndef Parameters_h
 #define Parameters_h
 
+// Attitude and position interrupt frequencies
+const float f_att = 200.0f;         // Hz
+const float f_pos = 20.0f;          // Hz 
+const float dt_att = 1.0f/f_att;    // s
+const float dt_pos = 1.0f/f_pos;    // s  
+
 // Motor constants 
 const float alpha = 1.16e-07f;
 const float beta = 7.149e-10f;
 
 // Propeller constants
-const float kl = 1.726e-08f;    // N.s^2/rad^2
-const float kd = 1.426e-10f;    // N.m.s^2/rad^2
+const float kl = 1.726e-08f;        // N.s^2/rad^2
+const float kd = 1.426e-10f;        // N.m.s^2/rad^2
 
 // Quadcopter dimensions
-const float l = 0.033f;         // m
-const float m = 0.030f;         // kg
-const float I_xx = 16.0e-6f;    // kg.m^2
-const float I_yy = 16.0e-6f;    // kg.m^2
-const float I_zz = 29.0e-6f;    // kg.m^2
+const float l = 0.033f;             // m
+const float m = 0.030f;             // kg
+const float I_xx = 16.0e-6f;        // kg.m^2
+const float I_yy = 16.0e-6f;        // kg.m^2
+const float I_zz = 29.0e-6f;        // kg.m^2
 
-//
-const float g = 9.81f;
+// Gravity constant
+const float g = 9.81f;              // m/s^2
 
-// Attitude estimator parameters
-const float dt_att = 0.005f;    // s
+// Attitude estimator weighthing (accelerometer X gyroscope)
 const float rho = 0.02f;        
 
 // Attitude controller time constants
-const float T_phi = 0.12; //0.2f;       // s
-const float T_theta = 0.12; //0.2f;     // s
-const float T_psi = 0.2f;       // s
-const float T_p = 0.04f;        // s
-const float T_q = 0.04f;        // s
-const float T_r = 0.1f;         // s
+const float T_phi = 0.12f;          // s
+const float T_theta = 0.12f;        // s
+const float T_psi = 0.2f;           // s
+const float T_p = 0.04f;            // s
+const float T_q = 0.04f;            // s
+const float T_r = 0.1f;             // s
 
-// Position estimator parameters
-float const dt_pos = 0.05f;     // s       
+// Vertical estimator weighthing (measurement X prediction)
+const float rho_ver = 0.3f;        
 
 // Vertical controller time constants
 const float zeta = 0.7f;     
-const float omega_n = 2.0f;      // rad/s
+const float omega_n = 2.0f;         // rad/s
 const float K_z = pow(omega_n,2);       
-const float K_w = 2*zeta*omega_n;    
+const float K_w = 2*zeta*omega_n;  
+
+// Horizontal estimator weighthing (measurement X prediction)
+const float rho_hor = 0.1f;   
 
 // Horizontal controller time constants
 const float T_u = 2.0f;