I’m not sure where to ask this.
I’m working with pixhawk 1 and ardurover 4 and mavros.
I’m looking at /mavros/imu/data anda /mavros/imu/data_raw
Linear acceleration is reported the same for both messages.
imu/data has orientation while imu/data_raw don’t
And angular velocities are not the same. imu/data has one order of magnitude less thatn imu/data_raw.
Why is that? Is the output of some filter?
I’m not much of an expert re ROS but I imagine the 10x difference in values received in data_raw vs data is because data_raw comes from the RAW_IMU message which has unscaled values directly from the IMU. While “data” probably has scaled values that might come from the SCALED_IMU message.
So if for example, the IMU’s accelerometers provided the acceleration cm/s (to the autopilot) then “data_raw” would have these raw values and they would be 10x larger than the scaled values (in m/s) found in “data”.
The common.xml can be found here.
Hi @rmackay9, I’m not sure how or where SCALED_IMU is used. But SCALED accel seems to be in mG (from common.xml) and both data_raw and data msgs report 9.81 [m/seg2] on Z axis (as sensor_msg/Imu expect).
sensor_msg/Imu expect angular velocity in rad/sec.
imu/data add orientation to imu/data_raw so, I was thinking that “data” is the output of some filter. But I’m not sure where the messages are created, on ardupilot or on mavros.
BTW, is there a community about mavros where I can ask some questions?
Some times there are people in the vision-projects chat channel that know about ROS and mavros.