Comments (3)
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:
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.
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.
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.
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.
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)
- Yawrate HOT 1
- constants, some undocumented
- CTRA Model HOT 1
- CTRA Model is uncorrect,need to update HOT 2
- Ein paar Fragen
- dt paramter in kalman filter HOT 3
- LinAlgError: Singular matrix HOT 1
- what is the meaning of this pictures?
- How is the process noise covariance matrix calculated ( Whats the actor Matrix G)? HOT 2
- URGENT HELP HOT 3
- Got error in kalman gain calculation
- Implement filter to model acceleration and velocity from noisy position
- In the CTRA, why there's no control input? HOT 1
- numpy version??
- what does 'm' signify in the Kalman filter ? HOT 1
- Abuse of notation
- Not an issue, a question HOT 3
- Extended-Kalman-Filter-CTRV.ipynb won't load. HOT 3
- Question about magic speed divider HOT 1
- GPS Lever Arm Offset HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kalman.