code of robot bike
Dependencies: SDFileSystem mbed
Fork of Robot_Bicycle by
Diff: SensorFusion.h
- Revision:
- 0:830ddddc129f
- Child:
- 3:197b748a397a
diff -r 000000000000 -r 830ddddc129f SensorFusion.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SensorFusion.h Thu Jun 09 09:46:38 2016 +0000 @@ -0,0 +1,44 @@ +#ifndef SENSORFUSION_H_INCLUDED +#define SENSORFUSION_H_INCLUDED + +#include <math.h> + +#define FTimer 250.0f ///Hz +#define sample_time 1.0f/FTimer +#define LOOP_TIME_MS 1000.0f/FTimer +#define Alpha FTimer/25.0f +#define pi_const 3.1416f + +extern float axm, aym, azm, u1, u2, u3, mx, my, mz; +extern float Ac[3]; + +extern float axm_f, axm_f_old, u3aym_f, u3aym_f_old, u2azm_f, u2azm_f_old; +extern float aym_f, aym_f_old, u3axm_f, u3axm_f_old, u1azm_f, u1azm_f_old; +extern float azm_f, azm_f_old, u2axm_f, u2axm_f_old, u1aym_f, u1aym_f_old; + +extern float x1_hat, x2_hat, x3_hat; +extern float sinroll, cosroll, roll_angle, droll_angle, droll_angle_old; +extern float sinpitch, cospitch, yaw_ref, yaw_angle, yaw_angle_old, dyaw_angle, dyaw_angle_old; + +extern float mx_f, mx_f_old, u3my_f, u3my_f_old, u2mz_f, u2mz_f_old; +extern float my_f, my_f_old, u3mx_f, u3mx_f_old, u1mz_f, u1mz_f_old; +extern float mz_f, mz_f_old, u2mx_f, u2mx_f_old, u1my_f, u1my_f_old; + +extern float mx1_hat, mx2_hat, mx3_hat, m_sinyaw, m_cosyaw, m_yaw_angle; + +extern void get_9axis_data(unsigned char speed_state); + +extern float lpf(float input,float input_old,float frequency); +extern void x1_hat_estimat(float a_xm,float a_ym,float a_zm,float u_3,float u_2,float alpha); +extern void roll_fusion(float a_xm,float a_ym,float a_zm,float u_3,float u_1,float alpha); +extern void x3_hat_estimat(float a_xm,float a_ym,float a_zm,float u_2,float u_1,float alpha); +extern void m_x1_hat(float m_x, float m_y,float m_z,float u_3,float u_2,float alpha); +extern void m_x2_hat(float m_x,float m_y,float m_z,float u_3,float u_1,float alpha); +extern void m_x3_hat(float m_x,float m_y,float m_z,float u_2,float u_1,float alpha); +extern void m_yaw_fusion(void); +extern float Determinant(float x11, float x12, float x21, float x22); +extern float absolute(float value); + +extern void Reset_data(void); + +#endif // SENSORFUSION_H_INCLUDED