Large covariance values in /poseupdate from Hector mapping
I'm trying to fuse an IMU with Hector SLAM's /poseupdate topic using robotlocalization (movebase needs odometry), but /poseupdate has huge covariance values, especially on yaw, which are getting in the way:
---
header:
seq: 6229
stamp:
secs: 1476302184
nsecs: 887035694
frame_id: map
pose:
pose:
position:
x: -0.968845367432
y: 0.239940643311
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.717722267805
w: 0.696329481134
covariance: [139.23130798339844, -4.342318534851074, 0.0, 0.0, 0.0, -5340.9833984375, -4.342318534851074, 93.05287170410156, 0.0, 0.0, 0.0, 718.5166015625, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -5340.9833984375, 718.5166015625, 0.0, 0.0, 0.0, 1196099.625]
---
header:
seq: 6230
stamp:
secs: 1476302184
nsecs: 912063694
frame_id: map
pose:
pose:
position:
x: -0.966373443604
y: 0.238426208496
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.717676196271
w: 0.696376964945
covariance: [138.5482635498047, -5.373541355133057, 0.0, 0.0, 0.0, -5026.064453125, -5.373541355133057, 105.44342803955078, 0.0, 0.0, 0.0, 1032.7490234375, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -5026.064453125, 1032.7490234375, 0.0, 0.0, 0.0, 1170601.375]
Asked by ronwalf on 2016-10-12 15:36:55 UTC
Answers
From an issue I submitted to Hector SLAM's Github page:
We are violating the specification of the geometry_msgs/PoseWithCovariance message here. What is output in the poseupdate message is not a covariance, but the Hessian calculated during the scan matching process (see ScanMatcher.h:184). It can be interpreted as the inverse of the covariance matrix up to a constant factor that depends on the variance of the distance measurement of a single laser ray and the map resolution.
The Hessian (or information matrix) has the advantage that its diagonal elements go to zero for maximum uncertainty instead of having to represent this situation with -1 like in other occurrences of variances in ROS.
Asked by ronwalf on 2016-11-23 11:48:30 UTC
Comments
hi, how do you solve this? Could u give some help?
Asked by jinn on 2017-01-05 04:09:11 UTC