Git Product home page Git Product logo

real_time_planet_tracking_system's People

Contributors

samhita-ganguly avatar shubhampaul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

real_time_planet_tracking_system's Issues

MPU9250BasicAHRS.ino Arduino: 'MahonyQuaternionUpdate' was not declared in this scope

C:\Users\Jonathan\Documents\Arduino\libraries\Real_Time_Planet_Tracking_System-master\MPU9250BasicAHRS.ino\MPU9250BasicAHRS.ino.ino: In function 'void loop()':

MPU9250BasicAHRS.ino:399: error: 'MahonyQuaternionUpdate' was not declared in this scope

MahonyQuaternionUpdate(ax, ay, az, gxPI/180.0f, gyPI/180.0f, gz*PI/180.0f, my, mx, mz);

                                                                                      ^

exit status 1
'MahonyQuaternionUpdate' was not declared in this scope

Kalman filter parameters

Hi Paul,

First of all thanks for you great article on hackster.io and the work done on the mpu9250 lib.

I have remarks and questions about this code:
in https://github.com/shubhampaul/Real_Time_Planet_Tracking_System/blob/master/MPU_fux_BNO_mBias/MPU_fux_BNO_mBias.ino line 244

`// global constants for 9 DoF fusion and AHRS (Attitude and Heading Reference System)
float GyroMeasError = PI * (40.0f / 180.0f); // gyroscope measurement error in rads/s (start at 40 deg/s)

float GyroMeasDrift = PI * (0.0f / 180.0f); // gyroscope measurement drift in rad/s/s (start at 0.0 deg/s/s)

// There is a tradeoff in the beta parameter between accuracy and response speed.
// In the original Madgwick study, beta of 0.041 (corresponding to GyroMeasError of 2.7 degrees/s) was found to give optimal accuracy.
// However, with this value, the LSM9SD0 response time is about 10 seconds to a stable initial quaternion.
// Subsequent changes also require a longish lag time to a stable output, not fast enough for a quadcopter or robot car!
// By increasing beta (GyroMeasError) by about a factor of fifteen, the response time constant is reduced to ~2 sec
// I haven't noticed any reduction in solution accuracy. This is essentially the I coefficient in a PID control sense;
// the bigger the feedback coefficient, the faster the solution converges, usually at the expense of accuracy.
// In any case, this is the free parameter in the Madgwick filtering and fusion scheme.

float beta = sqrt(3.0f / 4.0f) * GyroMeasError; // compute beta

float zeta = sqrt(3.0f / 4.0f) * GyroMeasDrift; // compute zeta, the other free parameter in the Madgwick scheme usually set to a small or zero value

#define Kp 2.0f * 5.0f // these are the free parameters in the Mahony filter and fusion scheme, Kp for proportional feedback, Ki for integral

#define Ki 0.0f`

float GyroMeasDrift = PI * (0.0f / 180.0f); means that this constant is 0 => 0/180 = 0 * Pi = 0. It means that the Gyro drift is considered to be 0 ?
This also means that float zeta = sqrt(3.0f / 4.0f) * GyroMeasDrift; the zeta parameter is 0 ?

I am not an IMU or Kalman filter specialist but I am confused with that as I understand that a good kalman filter parameter evaluation is quite crucial to getting reliable results.

Could you shed a light on why these 2 parameters would tend towards zero and thus not taking into accoun the Gyro drift over time if I am correct?

Also I have another question about the Accelero and Gyro bias vectors:

float gyroBias[3] = {0, 0, 0}, accelBias[3] = {0, 0, 0}; // Bias corrections for gyro and accelerometer

Shouldn't the bias be calculated during i.e. the selfTest or during accelero and gyro calibration ?
Regards

Regards

Romain

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.