novatel / novatel_oem7_driver

ROS Driver for NovAtel OEM7 GNSS/SPAN Receivers
https://wiki.ros.org/novatel_oem7_driver
MIT License
108 stars 58 forks source link

IMU Data does not conform to REP105 #61

Open zdjeffri opened 2 years ago

zdjeffri commented 2 years ago

Describe the bug Despite #16, raw imu data still does not conform to REP105. This is important for certain applications in robot SLAM. I understand raw data is only reference to the sensor body (and this forward, right, up) is arbitrary and the INSSetRotation commands do not apply. The raw data can still easily be made ROS Compliant by remapping the gyros.

To Reproduce In RViz, you can see how the raw data is rotated 90* from the composite data.

Expected behavior Raw data should match (in orientation) the composite data. If the module is mounted as recommended, i.e. wire on back, pitching the vehicle forward should result in a backward acceleration vector viewing raw data.

Screenshots Actual: oem7raw_diverged Expected: oem7raw_converged

Additional context This is a simple fix. I will issue a pull request containing an additional publisher that has remapped the gyro/accel as needed for REP105

novatel-applications-engineering commented 2 years ago

Hi @zdjeffri, thank you for reaching out to us. We will work on reproducing this issue on our side and let engineering team know. We will update you once we learn more.

novatel-applications-engineering commented 2 years ago

Hi @zdjeffri, thank you for submitting a pull request (PR). After reviewing this PR. We have decided not to merge this into our current code base.

For OEM7, the raw IMU data is with respect to the IMU installation and the corresponding direction of the axis. Users have the ability to mount the IMU many different ways; for example, X axis forward, Z axis to the right, and Y axis pointing up. When the IMU is mounted in such position, the gyro information will need to change accordingly to be conformed to REP105. The current PR does not address these different IMU installation cases.

The fix provided to address #16 is Issue 16: Make IMU message REP105 compliant.; and it publishes the CORRIMUDATA, which is already in the vehicle frame and rotates it to conform with REP105. This is published in topic /gps/imu.

CORRIMUDATA is the IMU data corrected for gravity, earth's rotation, and estimated sensor error.

Would this solution work for you?

Please let us know.