Ask Your Question

Information on message sensor_msgs/Imu

asked 2013-02-01 06:06:15 -0500

Hi guyz,

I am new with ROS, and I am trying to use the output of the hector_mapping and my IMU data and fuse them into the robot_pose_ekf filter.

I wanted to have more information on the message units and frame of the data.

1)The angular_velocity is in rad/s or in deg/s ? 2)The linear acceleration are in g or in m/s^2 ?

3)What is the meaning of the covariance matrix? Shouldn't it be called the variance matrix? By definition :

The variance is a measure of how far a set of numbers is spread out.

The covariance is a measure of how much two random variables change together.

Since the measure of, for exemple, the acceleration, only depends on the accelerometers in the IMU, there is no point of using the covariance between the accelerometers, the gyrometers and the magnetometers since they are not related ...

Also, what are the units of the different covariance matrix?

I have also a suggestion: It could also be great documentation if each message description explained those information and not only the data types.


edit retag flag offensive close merge delete


There was a brief problem with the message documentation generator, recently fixed. See:

joq gravatar image joq  ( 2013-02-01 13:05:58 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2013-02-01 06:29:57 -0500

Karan gravatar image

The dimensions of the angular velocity is in rad/s. The linear acceleration goes with m/s^2. As far the covariance goes it means that how two random variables change with respect to each other, So in this case it means that how much change in a particular dimension is linked to the other. As an example the covariance between X and Y dimension, similarly X and Z , Y and Z and so on. It does not mean between different sensors.

As far the units of the covariance matrix is concerned i think it is in the same units as that of the measurement it is associated with.

edit flag offensive delete link more


Common units are defined in REP 103

tfoote gravatar image tfoote  ( 2013-09-05 12:21:12 -0500 )edit

answered 2015-02-17 23:57:54 -0500

asusrog gravatar image

if your IMU is outputting roll,pitch and yaw then your covariance matrix would be a 3x3 matrix. The diagonal elements represent variance of each measurement (eg: if variance of pitch is Ypp, roll is Xrr and yaw is Zyy). Cov[0][0] = Xrr; Cov[1][1] = Ypp; Cov[2][2] = Zyy;

You can also fill out the non-diagonal elements which represent co-variance (how two variables change ). But the diagonal elements themselves should be enough for robot_pose_ekf.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2013-02-01 06:06:15 -0500

Seen: 2,612 times

Last updated: Feb 17 '15