Giter VIP home page Giter VIP logo

Comments (4)

xeonqq avatar xeonqq commented on August 27, 2024

Hello, @rafaelmendy
I think in Paul's EKF, both delta angles (from gyro) and delta_velocity (from accelerometer) are used in the prediction step. The observation is the gps position and velocity. In order for Paul's Ekf to run, you would need a gps or motion capturing system in your design. Then roll and pitch you can simply calculate from the estimated quaternion. But if you just want to estimate roll and pith angles from a imu without gps, a complementary filter would also do the job.

from inertialnav.

rafaelmendy avatar rafaelmendy commented on August 27, 2024

Thanks for reply.
I don't understand, where in Paul formulas, accelerometer data are used to correct gyro integration?
In other implementations of kalman filter for ahrs or ins-gps, they use direct measurement of euler angles ( or quaternions) with accelerometers ( for example pitch=asin(ax/g)) to correct gyro integration errors. but i don't find any similar action for correcting gyro integration errors. ofcourse it has gps and velocity and also mags. but usually accelerometers have most important role in gyro integration errors correction.

from inertialnav.

xeonqq avatar xeonqq commented on August 27, 2024

@rafaelmendy you are right and I have similar observations over other implementations of AHRS, they do only use accelerometers to correct gyro bias. The thing with this formula pitch=asin(ax/g) is that accelerometer doesn't measure gravity but acceleration, so this formular is actually wrong for non-static object. That's why Paul's formulation of the system equations are more accurate, he uses accelerometer to calculate deltaVelocity. And I think accelerometers also take part in correcting gyro bias, as in this formula vNew = [vn;ve;vd] + [gn;ge;gd]*dt + Tbn*deltaVelocity; there is a Tbn which is the rotation matrix calculated from gyro, so accelerometers and gyro are still inter-related. In the end, EKF do the magic of estimating the gyro bias.

from inertialnav.

rafaelmendy avatar rafaelmendy commented on August 27, 2024

@xeonqq yes you are right. In dynamic tasks, formulas like something that i mentioned, is problematic. But actually this is the magic of kalman filter that fuse (1)gyro, with ability to compensate for high dynamics with integration, and (2) accelerometers for compensating integration errors in longer times. the only error that can not be handled with this fusion is long term accelerations like centrifugal acceleration in loiter movement. specially if the radius of loiter is small. in these situations only a position or ground speed sensing (like gps) can compensate the estimation error.
My question is that, how a simple gyro bias dynamic, that actually is a constant dynamic, can handle all integration error of gyros?
Is Paul's Estimation method heavily dependent on location and velocity estimation? on the other hand, if gps fails, what is the performance of Paul's method in estimation of attitude? maybe other methods that use accelerometer directly, will be better in such situations?

from inertialnav.

Related Issues (20)

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.