ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange

# help with matrix covariance

Hello

I have a differential robot + 2 encoders + IMU. I'm trying to implement the robot_localization package to merge the odometry and IMU data. In some forums, some authors affirm the need to fill in the covariance matrix of IMU messages and Odometry messages.

The covariance matrix that I have, I found on the internet, I do not know if they are correct. How can I find the values to fill a covariance matrix? Is there an example or general rule?

Below My Odom and IMU Messages...

## /odom

header:
seq: 735
stamp:
secs: 1559070711
nsecs: 593724715
frame_id: "odom"
child_frame_id: "base_footprint"
pose:
pose:
position:
x: 3.58344948396
y: 0.0485756406341
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0110481512963
w: 0.999938967314
covariance: [0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 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.001]
twist:
twist:
linear:
x: 0.145770311356
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.00531763536856
covariance: [0.0001, 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.0001]
---


/imu_raw

header:
seq: 3022
stamp:
secs: 1559070635
nsecs: 872518062
orientation:
x: 0.0243225097656
y: -0.0449829101562
z: 0.0723571777344
w: 0.996063232422
orientation_covariance: [0.0001, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.0, 0.0, 0.0001]
angular_velocity:
x: 0.79345703125
y: 0.06103515625
z: 7.99560546875
angular_velocity_covariance: [0.0001, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.0, 0.0, 0.0001]
linear_acceleration:
x: 0.078125
y: 0.0244140625
z: 1.00390625
linear_acceleration_covariance: [0.001, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.001]

edit retag close merge delete

Do you have an exact model of IMU that you are using? That's going to be helpful in answering this.

Those covariance values look a bit too good to be true. I found an article that does a decent job of explaining what these values are.

Sometimes, manufacturers will include covariance (it's rare, but super nice when it happens). Other times, you might just need to perform some experiments yourself.

( 2019-06-03 15:58:33 -0500 )edit

Hello

My IMU sensor Datasheet is as follows:

But I did not find anything that could be used as covariance ...

thank you

( 2019-06-04 06:20:02 -0500 )edit

Sort by ยป oldest newest most voted

I suggest using "Dynamic Reconfigure" (http://wiki.ros.org/dynamic_reconfigure) to find the best covariance matrix for your robot.

more