GNSS HDOP & VDOP integration with insfilterAsync

8 次查看(过去 30 天)
At the bottom of the GNSS Simulation Overview page, it says the following: "The HDOP and VDOP values can be used as diagonal elements in measurement covariance matrices when combining GNSS receiver position estimates with other sensor measurements using a Kalman filter."
I am using a GNSS-IMU insfilterAsync filter for pose/orientation estimations, currently without considering the accuracy of the GNSS signal. I have the HDOP and VDOP values for every GNSS reading, so if I can implement these by updating the measurement covariance matrices, it would be really helpful. However, I can't find out how to do this.
Is anybody able to provide more information about how to do this?

采纳的回答

Ryan Salvo
Ryan Salvo 2021-4-8
Hi WIll,
Here is a simple example showing how you can do this.
Thanks,
Ryan
% Construct filter and GNSS.
filt = insfilterAsync;
gnss = gnssSensor;
% Specify velocity measurement covariance.
Rvel = 0.01^2;
% Specify ground truth position and velocity.
truePosition = [0 0 0];
trueVelocity = [0 0 0];
% Get new GNSS measurement.
[lla, gnssVel, status] = gnss(truePosition, trueVelocity);
% Construct measurement covariance matrix diagonals.
Rpos = [status.HDOP^2, status.HDOP^2, status.VDOP^2];
% Update filter state.
fusegps(filt, lla, Rpos, gnssVel, Rvel);
  1 个评论
Will
Will 2021-4-8
Hi Ryan,
This is just what I was looking for, many thanks! I've implemented it and it has improved my pose estimations.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by