08-01-2023 08:57 PM
Hello to all this community!
We have a bno055 mounted on a motorized camera that can be moved on both pitch and yaw (tilt and pan) directions using 2 motors.
This device is going to be mounted on a boat, so we need to get accurate pitch and yaw relative angles (we don't need absolute values) for stabilization purposes.
Pitch direction works like a charm, but yaw does not when the device rotates at slow peeds (1 or 2 degrees per second).
What we see is that yaw angle reported by sensor's fusion embedded algorithm "freezes", in terms that the device keeps rotating but yaw angle stops updating.
Also we noticed that this happens when devices rotates at a constant speed. If we increase/decrease speed, or we stop rotating altogether, then yaw angle resumes updating.
Any help will be greately appreciated.
Alex.
08-03-2023 04:00 AM
Hi,
Thanks for your inquiry.
BNO055 6DoF sensor fusion uses accel data and gyro data to output pitch/roll/yaw Euler angles. The magnetometer is turned off or not used. Pitch or roll angle is mainly from the accel for static update while gyro is helping for dynamic update. When the work together BNO055 is able to output accurate and dynamic pitch/roll angles. However, yaw angle is only from gyro data in 6DoF sensor fusion. Rotating at constant speed on yaw should not be a problem. The problem is the rotating speed is too low for example at 1dps or 2dps. Because the gyro noise is about 0.1dps ~ 0.3dps, BNO055 sensor fusion may not be able to update yaw angle all the time. You may consider to use a optical encoder to detect yaw angle.
Thanks.