novatel_span_driver icon indicating copy to clipboard operation
novatel_span_driver copied to clipboard

Missing covariance for the position estimate

Open jola6897 opened this issue 5 years ago • 2 comments

Hi,

thanks for providing this driver. I was testing this driver with a PwrPak7D and I noticed that covariance for x, y and z is zero all the time. As it turns out the covariance is read from the GNSS message but not written into the navsat/odom msg (see inspvax_handler() in novatel_span_driver/src/novatel_span_driver/publisher.py line 185-214).

Basically we need only to add something like: odom.pose.covariance[0] = pow(inspvax.latitude_std, 2) --> x covariance odom.pose.covariance[7] = pow(inspvax.longitude_std, 2) --> y covariance odom.pose.covariance[14] = pow(inspvax.altitude_std, 2) --> z covariance before publishing odom.

Since UTM coordinates (as far as I understand) have an associated distortion (which depends on x,y), I do not know if we can straight forward convert the standard deviation given in long, lat and altitude into UTM x,y,z.

Does anyone know how to handle this correctly?

jola6897 avatar Jan 23 '19 06:01 jola6897