In addition to the user's position, Situm is able to estimate his orientation (bearing) with respect to the north. As shown in the following figure, the orientation is meassured in counter-clockwise radians with respect to the X axis of the building.



Situm estimates the orientation of the smarpthone by combining accelerometer, gyroscope and magnetometer information with the movement of the users and previous location estimates.  This sensor fusion is intelligent. For example, if a gyro is available, the usual magnetic interferences will not affect the estimation of the orientation and the orientation accuracy will be high. In devices that do not have a gyro, these interferences can cause momentary loss of orientation or incorrect turns, although these failures are usually temporary, quickly corrected by the system.



SensorHow is it used?ShortcommingsCorrections
AccelerometerProvides a common frame of reference (gravity) to estimate the 3D orientation of the smartphone.  Accelerometer information can be noisy if the user is moving.Situm stabilizes the information by means of intelligent fusion algorithms (with other sensor info, such as gyro and magnetometer).
GyroscopeMeassures the angular speed (rotation in 3 axis) of the smartphone, yielding accurate information of orientation changes. It does not provide an absolute with respect to the North.Even if the smartphone is still, gyroscope may still meassure a degree of rotation (bias).Situm corrects the bias by means of intelligent fusion of multiple sensors: accelerometer, magnetometer, etc.
Magnetometer

Provides absolute orientation with respect to the North. 


Electromagnetic interferences (electrical installations, machinery, metallic structures, etc) may induce errors on the orientation estimate.

From time to time, magnetometer may uncalibrate itself.



Situm is able to detect electromagnetic interferences, canceling out their influence (small interferences) or directly deactivating the magnetometer (large interferences).

Situm detects that the magnetometer is uncalibreted and deactivates it. It also suggests the user to perform a magnetometer calibration.



Accuracy and Displacement to First Fix


When the Situm positioning system is initialized, it starts from zero. During the first seconds, Situm has little information so the first locations may be slightly inaccurate/erratic. Little by little, the system receives sensor readings (Wifi, BLE, gyroscope, etc.) and the location estimate will converge  to an stable and accurate position.  


The convergence time of the orientation is usually called the Displacement To First Fix (DTFF). This value can be:

  • Near zero: if the magnetometer is working properly, accurate orientation can usually be produced from the start, even if the user does not move.
  • Few meters (5m-20m): if the magnetometer information is not available, there is no way to tell north from south without user displacement. Nevertheless, Situm can still estimate the orientation but after the user moves for a few meters.


The following table summarizes the DTFF and accuracy of the orientation estimate depending on a few factors.  

 

Sensors availablePhone in...Displacement To First FixAverage accuracy
Accelerometer, gyroscope, magnetometerHandNoHigh (+-15º)
PocketYes (5-20m)High  (+-15º)
Accelerometer, magnetometerHandNoMedium  (+-30º)
PocketYes (5-20m)Medium-Low (+-40º)
Accelerometer and gyroscope

or

Accelerometer, gyroscope and magnetometer is uncalibrated or under heavy interferences
HandYes (5-20m)Medium (+-30º)
PocketYes (5-20m)Medium (+-30º)
Accelerometer onlyHandOrientation can not be estimated
Pocket