Robotics StackExchange | Archived questions

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

Comments

hi, how do you solve this? Could u give some help?

Asked by jinn on 2017-01-05 04:09:11 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