septentrio-gnss / septentrio_gnss_driver

ROS 1 & 2 driver for Septentrio GNSS & INS receivers
BSD 3-Clause "New" or "Revised" License
71 stars 37 forks source link

Angular velocity units in topic /imu #104

Closed abaeyens-imod closed 4 months ago

abaeyens-imod commented 8 months ago

Issue description

The angular velocities published in the topic /imu appear to be expressed in unit deg/s instead of rad/s. Following the ROS message definition, it was expected that they are expressed in the latter and not the former units.

As a result, all existing ROS nodes (which assume rad/s) get the impression that the platform is rotating about 60 times faster than in reality, which results in control issues.

Steps to reproduce the issue

  1. Setup Septentrio hardware and launch Septentrio ROS node.
  2. Log output of topic /imu.
  3. Rotate Septentrio setup at a known angular velocity, eg. 15°/s.
  4. Read/visualized the recorded angular velocities in log file.
  5. Compare the amplitude of the logged values with the applied known velocity.

What's the expected result?

The angular velocities are expressed in unit rad/s

What's the actual result?

The values are about 60 times larger than expected. They are probably expressed in °/s instead of rad/s

Additional details / screenshot

Graph created when rotating the Septentrio at a sine-modulated angular velocity in the order of 15 °/s: septentrio_imu_plotjuggler Visualization using Plotjuggler

septentrio_imu_rqt Visualization using rqt

Version

Compiled septentro_gnss_driver from source, branch ros2, HEAD commit 207c37bc.

We would appreciate if you could look into this. In case any other information is desired, please let know.

thomasemter commented 8 months ago

Thank you for the detailed bug report. This is indeed handled incorrect and will be fixed.

thomasemter commented 8 months ago

For a quick fix, you may change the following 3 lines: https://github.com/thomasemter/septentrio_gnss_driver/blob/ece8d66758843a8f95bf615894eb6374bd181e53/src/septentrio_gnss_driver/communication/message_handler.cpp#L558

abaeyens-imod commented 4 months ago

Thank you for resolving this!