I've been trying to understand how a Kalman filter used in navigation without much success, my questions are:
The gps outputs latitude, longitude and velocity.
While the IMU outputs acceleration and rate angles. To use A Kalman filter, measurements needs to be in the same units ? The solution I would think about is to first define an origin. then each time my robots move, convert the latitude and longitude into Cartesian frame in meters, then use these displacement in the Kalman filter along with the acceleration. Is this the way used in practice ?
Or, is there a relation between quaternions and latitude and longitude change ?
Or, is the velocity from the GPS alone used in the position estimate in a Kalman filter ?
-
$\begingroup$ Did you get an answer? If yes, can you post it? $\endgroup$– WilhelmCommented Jan 23, 2021 at 11:01
1 Answer
Yes, you have to match units. If you are fusing position you have to agree to use either rectangular units or degrees.
I saw you are from aviation background, so allow me to use some jargons. In general what people do is to use ECEF or some NED reference inertial frame. You set the vehicle origin w.r.t. to the IF and start integrating from there.
Is quite non orthodox to use gps velocity, but if this is the info you have, than you should use it. The more information, the better. If you do not have a magnetometer and a compass you can't track orientation very well, but you can estimate based on the velocity vectors you have.
Don't forget to account for coriolis effect, and centripetal acc when integrating.