View Full Version : Discussion Kalman filter guru?
reedchristiansen
Dec 21, 2006, 11:09 AM
Ok,
Here is a question for kalman filter "enabled" people:
I have spent allot of time looking at the MNAV and rotomotion source - even implementing it in MATLAB using flight data. Here is what I (think) understand:
1. attitude estimation using accelerometer data for the measurement update. Basically to controll and estimate gyro drift. NO GPS or airspeed involvement.
Q1: Won't this approach have inherent errors in a coordinated turn - as the accelerometers will not indicate a turn, the measurement update attenuate the estimated roll angle causing the roll angle to measure low.
Q2: I have heard of people solving this problem using GPS data - Does any one have any information here?
2. velocity and position estimation: gps updates integrated accelerometer data for velocity,position, and accelerometer bias estimates. This seems pretty straight forward, but the inacuracies in the attitude estimation are causing lots of errors when rotating the accelerometers from the body frame to the inertial frame.
It seems these filters were mainly designed for helicopter use rather then fixed wing where coordinated turns are the name of the game.
Thoughts?
yuri_base
Dec 21, 2006, 11:41 AM
It is wrong to calculate attitude directly from accelerometer readings, because if the vehicle moves with acceleration a, the accelerometes will sense the "apparent" g-force, which will be (in vector form) g_apparent = g - a. This is where GPS comes to help, since it can measure acceleration a directly by differentiating the velocity vector.
All the code I've seen so far doesn't take this into account.
wadiprawita
Dec 21, 2006, 10:44 PM
Also don't forget to calculate the centrifugal force during continous turn / coodinate turn. For g and a maybe we can use a simple complimentary filter (low pass and high pass), but for centrifugal force I think we should use acceleration derived from GPS
-doni-
wadiprawita
Dec 21, 2006, 10:52 PM
If you have GPS high high update rate, calculate dynamic accel from here. To calculate centrifugal force you will need speed and angular rate (there several books and paper about this, try search INS mechanization). I measure speed and dynamic accel using uBlox TIM GPS, and gyro for angular rate.
acceleration from gravity = measured acceleration - centrifugal accel - dynamic accel
note that the sign can be opposite depends on how you see the vector direction. So I think it's quite impossible to separate the centrifugal force from the accelerometer measurement without gyro at least (if we believe that speed can be obtained by only integrating the accelerometer, ignoring the integration error).
-doni-
reedchristiansen
Dec 22, 2006, 10:52 PM
Doni,
I am also using a 4hz ublox unit with gyros. To get the gps acceleration do you simply difference the gps velocities then rotate back into body frame?
Reed
If you have GPS high high update rate, calculate dynamic accel from here. To calculate centrifugal force you will need speed and angular rate (there several books and paper about this, try search INS mechanization). I measure speed and dynamic accel using uBlox TIM GPS, and gyro for angular rate.
acceleration from gravity = measured acceleration - centrifugal accel - dynamic accel
note that the sign can be opposite depends on how you see the vector direction. So I think it's quite impossible to separate the centrifugal force from the accelerometer measurement without gyro at least (if we believe that speed can be obtained by only integrating the accelerometer, ignoring the integration error).
-doni-
electronic_pr
Dec 25, 2006, 01:18 AM
It is wrong to calculate attitude directly from accelerometer readings, because if the vehicle moves with acceleration a, the accelerometes will sense the "apparent" g-force, which will be (in vector form) g_apparent = g - a. This is where GPS comes to help, since it can measure acceleration a directly by differentiating the velocity vector.
All the code I've seen so far doesn't take this into account.
There are inertial guidance units that can compute both the attitude and the position ONLY from linear accelerometer readings. These units are called strapdown inertial guidance systems. Some of them have the accelerometers in the corners of a pyramid, others have the accelerometers in the corner of a thetraedron and so on.
The idea is that every infinitesimal rotation of the payload can be recorded by accelerometer through the centrifugal acceleration and tangential acceleration.
By employing smart software one can decouple the attitude induced acceleration from the translation induced accelerations.
I myself flew a "homemade" strapdown inertial guidance unit on a high altitude balloon in New Mexico early this fall and the results were encouraging!
Soyuz
wadiprawita
Dec 25, 2006, 09:15 PM
reedchristiansen,
Yes, I'm working with that now. From my previous experience, actually it's possible to use 4hz position only from GPS, and higher frequency attitude reference from other sensor (Paparazzi is like this), so for stable airframe we do not need INS mechanization.
My problem right now is, I need the accel from GPS to compensate the accelerometer reading (in order to get just the gravity accel) to get the roll and pitch wise tilt to correct the euler angle that will be converted to rotation matrix. And you're right in order to do this I use the rotation matrix from the previous step to rotate the North-East-Down accel from GPS to Body Frame. So the problem is something recursive (egg-chicken problem :) ).
Thank's
-doni-
Bg~
Dec 28, 2006, 05:18 PM
There are inertial guidance units that can compute both the attitude and the position ONLY from linear accelerometer readings.
I do not believe this is possible unless you have a 3-axis accelerometer at each point in the pyramid or tetrahedron, correct? So what yuri_base wrote is correct with regard to the use of a single 3-axis accelerometer. Strapdown simply refers to a lack of gimbals (meaning non-mechanical gyros are used) as far as I know.
Unterhausen
Dec 31, 2006, 08:07 PM
I think that putting a simple model of the airframe and control inputs into your Kalman filter will probably resolve a lot of the problems with the accelerometer. Although if you stall it, that could screw things up. It's an interesting problem.
ltapilot
Jan 01, 2007, 10:01 AM
All:
While it is always possible that I'm misinformed, I've been studying the UAV question for years and have never seen or even heard of a working system that performs well without gyros for measuring angular rate. While I could mathematically prove that rotations generally do cause SOME accelerations that MIGHT be measurable at one or more points on the airframe, the practical fact of the matter is that the INS sensors are usually mounted too near the CG and small bank angles generate too small of a delta-G for the acceleration to be measurable against even the smallest noise background. In short, if you're planning on doing a UAV or stability augmentation system of some sort then it is generally best to use a gyro for angular rate measurement.
vBulletin® Copyright ©2000-2009, Jelsoft Enterprises Ltd.