Coder Social home page Coder Social logo

A couple of questions about kalman HOT 3 OPEN

balzer82 avatar balzer82 commented on June 14, 2024
A couple of questions

from kalman.

Comments (3)

balzer82 avatar balzer82 commented on June 14, 2024

Hi,
first of all: You will not get a side slip angle. The IMU is using accelerations (g pointing down to earth), turn rates and maybe magnetometer to get an orientation in 3D space. You want to compare this to the heading of the CTRV heading. But if the car is drifting, you have yawrate, which turns your CTRV model as well as the heading of the IMU. Both doing the same calculations.

The units are:

  • Lat/Lon in decimal degree (from GPS)
  • speed in km/h (from GPS)
  • course in degree (from GPS)
  • roll/pitch/yaw in degree (from IMU)
  • roll-/pitch-/yawrate in degrees/second (from IMU)
  • acclerations in m/s² (from IMU)

The coordinate system is as in DIN70000:

fahrzeug-koordinatensystem-din70000-940x469

Course offset is necessary because the output of the GPS sensor is 0 degree in north direction and then positive clockwise, the math for the CTRV model needs the heading 0 in east direction and positive counter-clockwise.

from kalman.

storerjeremy avatar storerjeremy commented on June 14, 2024

Hi,

Thanks for your quick response. That makes sense.

The IMU chip I am using is a Bosch BNO055 which does sensor fusion in the hardware and outputs Euler Angles either relative to the chip or absolute to magnetic north and other sensor fused values such as linear acceleration minus gravity and quaternions. The Euler Angle yaw value is in degrees 0 to 359 and will give me the heading/angle of the car at any point in time.

What I was hoping to do was to compare the Euler yaw value I get from the IMU +- a static offset that can be calculated when the car is not drifting to a corrected gps course over ground value using the CTRA or CTRV method. So when the car is not drifting the Euler yaw value +- the offset should equal the corrected gps course over ground and when the car is drifting the difference between the Euler yaw and gps course will be the drift angle.

My question would be can the CTRA or CTRV model be adjusted to still produce an accurate corrected latitude, longitude and gps course even when a car is drifting or at a large slip angle?

I have run some data through the CTRA model of a car turning a corner without drifting and with drifting see below.

Without drifting this is what it looks like, which looks good.
without-drifting

With drifting this is what is looks like, which doesn't look good but makes sense as there are higher gyro rates when drifting which throws the model out therefore making the corrected line further into the middle of the corner.
with-drifting

So is it possible to adjust the CTRA or CTRV model to make the "with drifting" corrected line look more like the "without drifting" line? or would it need a different model all together?

Thanks

from kalman.

balzer82 avatar balzer82 commented on June 14, 2024

I supervised a bachelor thesis some years ago, where we tried this, but had no luck. The drift angle (sideslip angle) is the angle between the direction of the car and the direction of the velocity vector of the center of mass. You can just calculate some noisy error differences between two filters but no real drift angle.

Solutions:

  • one GPS, one IMU, different Kalman Filter then proposed here
  • two GPS antennas, one in the front, one in the back
  • optical ground sensor

Take a look at this paper: Integrating INS Sensors With GPS Measurements for Continuous Estimation of Vehicle Sideslip, Roll, and Tire Cornering Stiffness

from kalman.

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.