# Information on message sensor_msgs/Imu

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.

Cheers!

edit retag close merge delete

Sort by » oldest newest most voted 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.

more 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 = Xrr; Cov = Ypp; Cov = 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.

more