combine visual odometry data from ccny_rgbd with encoders/IMU
Hello Ros-community,
I want to combine the visual odometry from a kinect with IMU and encoder data. I think it must be possible with the EKF-package for a good calculated robot-pose. With the ccny_rgbd i try to make simultaneously a 3D map and use the published vo data for the robot pose. If I use just the vo data, the robot pose jump sometimes when it turns too fast around. Is it possible to combine all information to visualize the current best hypothesis about the robot's pose? Is a scan-matcher maybe the right way?
Edit: I try to use the laser_scan_matcher. It could not find the node. I think it doesnt work, because it is just for fuerte available and i installed groovy. But i found a very easy way to combine them: just set in the EKF package visual odometry to TRUE. NOW i get a big Error: Covariance specified for measurement on topic vo is zero
I found this:
Each measurement that is processed by the robot pose ekf needs to have a covariance associated with it. The diagonal elements of the covariance matrix cannot be zero. This error is shown when one of the diagonal elements is zero. Messages with an invalid covariance will not be used to update the filter.
With rostopic echo /vo i get these infos:
child_frame_id: '' pose: pose: position: x: 0.0725274412988 y: -0.0736182447672 z: -0.00655200519239 orientation: x: -0.00375973887428 y: -0.00384862482967 z: 0.0079803370668 w: 1.00007968675
covariance: [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, 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]
twist: twist: linear: x: 0.0 y: 0.0 z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
Why is the covariance matrix zero? Is it because vo of ccny_rgbd could t generate the covariances? or is this option not implemented?