Start a new topic

Heading precision


I want to use the 3Space sensor as a heading sensor on a rotating (horizontal) machine. I'm only interested in relative heading; no precision related to North pole.

The rotation speed is below 10 turn/s.

For test purposes, I've placed the embedded 3Space sensor on a turning table (wood) which as a quadrature encoder (512 steps) attached to its rotation center ( ball bearing).

A microcontroller based circuit translate the quadrature signals into a rotation index which is synchronized with the output of the 3Space sensor. At reset the quad swing index is initialized at 0 same with the 3Space index.

The 2 indexes are then transmitted serially to a PC, captured then analysed in Excel.

Every time the quad index changes, its value and the 3Space heading are transmitted to the PC.

Later on I've also repeated the tests where I manually trigger the transmission in order to leave the 3Space sensor to settle.

Theoretically the 2 indexes should be similar or at least a few index_units away but the results show up to 30 unit ( 1unit= 1/512, or 30units= 21 degrees) difference.

At the beginning, I had a maximum difference of 56 degrees but after doing a Sphere calibration the difference as improved but I still get ~21 degrees.


1) is it normal to get such a big difference in heading (YAW) ?

2) Is it possible to improve the results? 

I've also tested the time response where I bring the turning table to a stop and checked the time it takes for the heading to stop moving. It may take up to 5 seconds which is too much for our application.


3)  Is it possible to get response time below 1second?

4) How can I improve the time response without degrading too much the heading precision?


(I've attached the Excel file)

1 Comment

Hi Jacques,

We would not expect to see this much this much error in the yaw reading. Our sensors have an accuracy of ±1º on average You mentioned that you have been running sphere calibration on the sensor. In the most recent version of the Suite, we have a new calibration method called "Gradient Descent", which we expect would give you much more accurate results. In recent correspondence you have mentioned having trouble running the latest version of the Suite -- hopefully we can remedy this so you are able to use this future. If not, we would be able to provide you with a script which will help you gather calibration parameters using gradient descent without needing to run the Suite. 

Something else you may need to check is if there are are any magnetic forces affecting the sensor's compass reading -- this may throw off the orientation as well. Are the ball bearing or any other objects in the vicinity of the sensor potentially magnetic?

I would also recommend calibrating the gyroscope if you haven't already. With a well-calibrated sensor experiencing no magnetic interference, the orientation reading should be calculated almost instantaneously. You may also be able to mitigate the settling issue by raising the trust values for the accelerometer and compass.

Let me know if you have any questions!

Login or Signup to post a comment