Skip to content

[bug] Units break REP103 and are not consistent  #23

Description

@Darkproduct

We tried a view BNO055 driver for ROS2 and found a bug in all of them. To adhere to REP 103 the messages have to use SI units.

In this package there are two problems:

  1. The acceleration factor is 1000 where it has to be 100
  2. The magnetometer unit is in μT and not T the factor hast to be 16000000 and not 16

The Bug

The linear_acceleration scale factor is set to 1000, but has to be 100.
From the BNO055 Data Sheet:

  • 3.6.1 Unit selection - Table 3-17: Accelerometer Unit settings:
Unit Representation
m/s² 1 m/s² = 100 LSB
mg 1 mg = 1 LSB
  • 3.6.1 Unit selection - Table 3-19: Magnetometer Unit settings:
Unit Representation
μT 1 μT = 16 LSB

Info

In the end, we decided to use the ros2_bno055_driver from RoverRobotics-archive, because we only have an RPi4 and python is not that performant. Here are our fixes RoverRobotics-archive/ros2_bno055_driver#6. But because this is the upstream repository of ros-foxy-bno055, it would be beneficial for other to fix it here as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions