07-23-2020 10:15 AM - edited 07-23-2020 02:34 PM
Hello,
When we use the gyroscope in NDoF or IMU modes for example, we do not get the raw data that the gyroscope returns.
We realize this by using the GYROONLY mode : for low angular speeds, the gyroscope behaves differently than in the NDoF and IMU modes.
I am currently recovering the data from the usb stick on a python script, I would like to have both the gyroscope of the GYROONLY mode and the Euler angles of the M4G mode.
I tried changing modes in a while loop but it takes about 0.2 seconds which is too much.
Do you have a solution ? Or maybe you could explain to me how to use the magnetometer data from AMG mode to get Euler angles like M4G mode should. What I don't understand is that the displayed values of the magnetometer in the AMG and M4G modes are not the same!
Solved! Go to Solution.
07-24-2020 06:14 AM
The AMG mode is used to output the raw data of three MEMS sensor individually.
The M4G mode is one of the fusion mode. the magnetic sensor got calibrated and compensated by algorithm.
So the magnetic sensor data will be different under these two modes.
There is no way to have two modes working parallel in current BNO055 FW.
Can you tell me more detail about the gyroscope difference between NDOF and IMU mode?
In the fusion mode, we just try to remove the offset of gyro by the fusion lib. the gyro data should be same under both mode. Only heading value is different for those two modes.
07-24-2020 11:15 AM - edited 07-24-2020 02:54 PM
Thanks for your answer,
There is no gyroscope difference between NDoF and IMU mode, but there is one with GYROONLY mode.
In NDoF and IMU modes, when the gyroscope is close to 0: a little higher or lower, an algorithm modifies the gyroscope data so that it oscillates around 0. In GYROONLY mode, there is no this compensation, it is therefore possible to detect on average the low speeds by having calculated and calibrated in advance the noise of the gyroscope (this noise depend to each USB stick : for two same USB stick, i got 0.06 for the pitch rate of the first and 0.18 for the pitch rate of the second).
Do you have any documentation to switch from raw magnetometer to M4G mode magnetometer / angles.
On the internet I found a formula where heading is determined with the magnetometer but pitch and roll are determined with the accelerometer. But yet in M4G mode, the pitch and roll seem good (they are not relative).
Furthemore it is pitch and roll that I want to use because heading does not seem precise in M4G mode.
07-24-2020 08:40 PM
Yes, the differnece between gyroonly and fusion mode is expected.
in gyroonly mode, the output is gyro raw data, then we just output what gyro detected
in fusion mode, we set threshold to detect a still position. if the output of raw gyro low than the threshold, the fusion lib will output as 0 and indicate that device is not moving. this is also combinated with other sensor output as fused output of gyro.
Currently we don't have such document you desired.