programa final

AttitudeEstimator/AttitudeEstimator.h

Committer:
yurindes
Date:
2018-11-30
Branch:
yuri
Revision:
8:1ad52489f6f3
Parent:
1:579511e9f0b8

File content as of revision 8:1ad52489f6f3:

#ifndef AttitudeEstimator_h
#define AttitudeEstimator_h

#include "mbed.h"
#include "MPU9250.h"
#include "Library.h"

/*
// Estimator constants
 float const pi = 3.14159265f;
 float const dt = 0.005f;
 float const rho = 0.05f;
*/


 // Attitude estimator class
 class AttitudeEstimator
 {
     public :
     // Class constructor
     AttitudeEstimator () ;
     // Initialize class
     void init () ;
     // Estimate Euler angles (rad ) and angular velocities ( rad /s)
     void estimate () ;
     // Euler angles ( rad)
     float phi , theta , psi ;
     // Angular velocities ( rad /s)
     float p, q, r;
     
     private :
     // IMU sensor object
     MPU9250 imu;
     // Calibrates gyroscope by calculating angular velocity bias (rad/s)
     void calibrate_gyro () ;
     // Estimate Euler angles (rad ) from accelerometer data
     void estimate_accel () ;
     // Estimate Euler angles (rad ) and angular velocities ( rad /s) from gyroscope data
     void estimate_gyro () ;
     // Euler angles ( rad) from accelerometer data
     float phi_accel , theta_accel ;
     // Euler angles ( rad) from gyroscope data
     float phi_gyro , theta_gyro , psi_gyro ;
     // Angular velocities bias ( rad /s)
     float p_bias , q_bias , r_bias ;

 };


#endif