Feature/unit selection and fixing wrong scale values #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, we found a bug with all BNO055 drivers that we tried and decided to fix this one and implement the unit selection feature of the BNO055.
The Bug
The
linear_acceleration
scale factor is set to1000
, but has to be100
.From the BNO055 Data Sheet - 3.6.1 Unit selection - Table 3-17: Accelerometer Unit settings:
One annoyance
Only the linear acceleration would used as acceleration data witch doesn't include gravity.
This one will include the gravity vector.
This won't.
Why do we want included gravity?
The gravity vector can be used to get information about the tilt of the robot, which is especially useful in 3D mapping.
See Cartographer ROS - Why is IMU data required for 3D SLAM but not for 2D?
If there is a need to get the acceleration data without gravity, we could implement two different solutions:
Unit Parameters
We added a few parameters to select the units of the data output. This is documented in the readme as well.
It is highly adviced to use the default values to adher to REP 103.
unit.angular_velocity
"rps"
"rps"
unit.linear_acceleration
"mps2"
"mg"
"g"
unit.magnetic_field
"T"
"uT"
unit.temperature
"C"
"F"