BNO055 Units (Arduino)

Hello, I am trying to understand the sensor output of my BNO055

Currently I am publishing data via Rosserial which works fine:

The output is as follows:

According to the docs the linear accelearation should be in m/s² However it seems to be mm/s².

Furthermore, the arudino commands to change the units dont seem to work:

void setup()
{
delay(1000);
Wire.begin();
BNO_Init(&bno);
bno055_set_operation_mode(OPERATION_MODE_NDOF);
delay(1);
bno055_set_accel_unit(0x00); // m/s²
delay(1);
bno055_set_gyro_unit(0x01); // rps
delay(1);
bno055_set_euler_unit(0x01); // rad
delay(1);



nh.initNode();
nh.advertise(temp_pub);
nh.advertise(mag_pub);
nh.advertise(imu_pub);
nh.advertise(grav_pub);
Serial.begin(921600);
nh.loginfo("initialization done.");
}


Changing the values between 0x00 and 0x01 doenst seem to make any difference.

So my questions are:

1) What am I doing wrong with the arduino code
2) What are default units of the BNO055 in NDOF mode?

 

Best reply by Marc_3D

It was beause I didnt divide by the given LSB values

View original
1 reply
Resolved