Jump to: navigation, search

Difference between revisions of "Location Manager"


(Possible Positioning Modes)
 
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The Location Manager controlls the different positioning services that are available for mobile devices. The current UBIK.Android application allows the user to use the network cell location, GPS, WiFi Fingerprinting, Dead Reckoning and LLA Marker tracking together. {{UBIK}} Positioning calculates, based on the captured location and on the geodata of the building, the highest plausible location of the device. To limit the positioning systems for the current usage, for example outdoor or indoor usage, the user has the possibility to appropriate mode in the settings.
+
=Android=
  
== Possible Positioning Modes ==
+
The Location Manager aims to calculate the device pose (position and orientation) as accurate as possible using various input sources. The performance of pose estimation can be characterised by the following measures:
There are three different modes available for the Location Manager. The names and defined behaviors are:
+
  
{| class="wikitable sortable"
+
* Accuracy --> describes the average offset between real and estimated device pose
 +
* Standard Deviation --> describes to which extend the estimated pose “jumps” around the real device pose
 +
* Update Rate --> describes how often the device pose can be updated.
 +
 
 +
To maximise the performance, the Location Manager combines and filters estimated poses from various Pose Estimation Systems based on their estimated error levels. Pose Estimation systems can be activated and deactivated using the [[Settings#AR_settings|Pose Estimation Systems Setting]]. Currently the following pose estimation systems are available:
 +
 
 +
{| class="wikitable" | width = "50%" style="text-align: center;"
 
|-
 
|-
! style="width:150px" | Mode !! style="width:100px" | GPS !! Network Cell Location !! Dead Reckoning !! style="width:100px" | LLA !! iBeacon Triangulation !! Routing data (of the building)
+
! Name !! Estimated Quantity !! Required Sensor Technology
 
|-
 
|-
| OUTDOOR_MODE || class="centeredCell" | {{bullet_full}} ||class="centeredCell" | {{bullet_full}} ||class="centeredCell" | {{bullet_full}} ||class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_empty}}|| class="centeredCell" | {{bullet_empty}}
+
| [[AR-Marker Device Pose Estimation|AR-Marker]] || Position and Orientation || Camera
 
|-
 
|-
| INDOOR_MODE || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_full}}
+
| [[Beacon Proximity|Beacon Proximity]] || Position || Bluetooth Low Energy (Bluetooth 4.0)
 
|-
 
|-
| [[UBIK_Client_Basics#iBeacon-Trilateration_Positioning|BEACON_TRILATERATION_MODE]] || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_empty}}
+
| [[Compass|Compass]] || Orientation || Accelerometer and Magnetometer
 
|-
 
|-
| [[UBIK_Client_Basics#iBeacon-Proximity_Positioning|BEACON_PROXIMITY_MODE]] || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_empty}}
+
| [[GPS|GPS]] || Position || GPS Sensor
 
|-
 
|-
| LLA_ONLY_MODE || class="centeredCell" | {{bullet_empty}}|| class="centeredCell" | {{bullet_empty}}|| class="centeredCell" | {{bullet_empty}}|| class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_empty}}|| class="centeredCell" | {{bullet_empty}}
+
| [[Gyroscope|Gyroscope]] || Orientation|| Gyroscope Sensor
 +
|-
 +
| [[Object Proximity Positioning|Object Proximity]] || Position || none
 +
|-
 +
| [[Step Detector|Step Detector]] || Position || Step Detector Sensor
 +
|-
 +
| [[Routing-Graph Snapping|Routing-Graph Snapping]] || Position || none
 
|}
 
|}
  
* INDOOR_MODE: the WiFi fingerprinting is based on the measured fingerprints of the building
+
Besides the stated systems, the user can utilize the position of GEO-Objects by clicking the {{key press|Use Location}}  button in the [[UBIK Client Basics#Context Menu|Context Menu]]. Pose estimation is started once the device pose is requested by another part of the application (e.g. [[POI_View|POI View]], [[Map_View|Map View]], [[UBIK_Client_Basics#Content Browser|Content Browser]]). If the specific device does not possess the required sensor technology of an active pose estimation system, a notification is shown.
* LLA_ONLY_MODE: allows the user to locate the device only by scanning LLA markers.
+
  
[[Category:Android|Location Manager]]
+
== Working Principle ==
  
== UI Representation ==
+
Internally the Location Managers uses an Extended Kalman Filter to combine and filter pose estimation systems, based on their probabilistic error levels. Each Pose Estimation System is therefore associated with a variance level (squared standard deviation), describing the expected uncertainty. Precise systems, such as [[AR-Marker]], are associated with a lower variance than inaccurate systems such as [[GPS]].
The different modes are available in the [[User_Specific_Settings|User Specific Settings]]:
+
  
<gallery widths="512" heights="300">
+
The Kalman Filter keeps track of the current device pose (= best estimate) and the associated uncerctainty. The operation is subdivided into two stages: Prediction and Correction.  
File:settings_main.png|1. Main view of the settings.
+
In the Prediction stage, the next pose (in time) is estimated using the [[Step Detector]] and [[Gyroscope]] Pose Estimation System. At this stage the uncertainty of the current device pose is increased, based on the elapsed time. If no [[Gyroscope]] or [[Step Detector]] is available only the uncertainty is increased.  
File:settings_list.png|2. Switch to the desired positioning mode.
+
As soon as a measurement from other Pose Estimation Systems is received, the current device pose is combined with the measured pose, based on their probabilistic error levels. The combined pose then serves again as the basement for the next prediction.  
File:settings_main2.png|3. Confirm with '''OK'''.
+
Consequently the Kalman Filter not only combines various Pose Estimation Systems based on their expected performance, but also accounts for the elapsed time between updates, reflecting the behavior of human walk.
</gallery>
+
  
 +
[[File:EKF.png|700 px|center|thumb|alt=Extended Kalman Filter|Extended Kalman Filter]]
 +
 +
 +
 +
 +
== Best Practices ==
 +
[[AR-Marker]] and [[Gyroscope]] are the most precise pose estimation systems. Thus it is adviced to activate them in any case. Especially in the proximity of POIs [[AR-Marker]] should be deployed, to provide a good AR-experience. Furthermore it is recommended to activate the [[Step Detector]] in scenarios, where the mobile device points into walking direction (i.e. the operator is not expected to walk sideward).
 +
In indoor environments and environments with strong magnetic fields the [[Compass]] and [[GPS]] Pose Estimation Systems should be deactivated. [[Routing-Graph Snapping]] should only be activated and configured where the user is in the proximity of the graph (e.g. on corridors).
 +
 +
 +
 +
 +
=UWP/WinX/Xamarin=
 +
The Location Manager controls the different positioning services that are available for mobile devices.
 +
 +
== PoseFusion ==
 +
There is a toggle for using the Posefusion functionality.
 +
 +
== Possible Positioning Modes ==
 +
There are three different modes available for the Location Manager. The names and defined behaviors of the three modes are:
 +
 +
{| class="wikitable sortable"
 +
|-
 +
! style="width:150px" | Mode !! style="width:100px" | [[GPS]] !! style="width:100px | [[Object Proximity Positioning|LLA]] !! style="width:100px | [[Beacon Proximity]]
 +
|-
 +
| USE_ALL || class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_empty}}
 +
|-
 +
| LLA_ONLY_MODE || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_empty}}
 +
|-
 +
| BEACON_PROXIMITY_MODE || class="centeredCell" | {{bullet_empty}} || class="centeredCell" | {{bullet_full}} || class="centeredCell" | {{bullet_full}}
 +
|}
  
  
  
 +
<headertabs/>
 
{{Clear}}
 
{{Clear}}
  
 
[[Category:Android|Location Manager]]
 
[[Category:Android|Location Manager]]
 +
[[Category:WinX|Location Manager]]
 +
[[Category:Xamarin|Location Manager]]
 +
[[Category:Client|Location Manager]]

Latest revision as of 09:31, 6 May 2022

[edit]

Android

The Location Manager aims to calculate the device pose (position and orientation) as accurate as possible using various input sources. The performance of pose estimation can be characterised by the following measures:

  • Accuracy --> describes the average offset between real and estimated device pose
  • Standard Deviation --> describes to which extend the estimated pose “jumps” around the real device pose
  • Update Rate --> describes how often the device pose can be updated.

To maximise the performance, the Location Manager combines and filters estimated poses from various Pose Estimation Systems based on their estimated error levels. Pose Estimation systems can be activated and deactivated using the Pose Estimation Systems Setting. Currently the following pose estimation systems are available:

Name Estimated Quantity Required Sensor Technology
AR-Marker Position and Orientation Camera
Beacon Proximity Position Bluetooth Low Energy (Bluetooth 4.0)
Compass Orientation Accelerometer and Magnetometer
GPS Position GPS Sensor
Gyroscope Orientation Gyroscope Sensor
Object Proximity Position none
Step Detector Position Step Detector Sensor
Routing-Graph Snapping Position none

Besides the stated systems, the user can utilize the position of GEO-Objects by clicking the Use Location button in the Context Menu. Pose estimation is started once the device pose is requested by another part of the application (e.g. POI View, Map View, Content Browser). If the specific device does not possess the required sensor technology of an active pose estimation system, a notification is shown.

Working Principle

Internally the Location Managers uses an Extended Kalman Filter to combine and filter pose estimation systems, based on their probabilistic error levels. Each Pose Estimation System is therefore associated with a variance level (squared standard deviation), describing the expected uncertainty. Precise systems, such as AR-Marker, are associated with a lower variance than inaccurate systems such as GPS.

The Kalman Filter keeps track of the current device pose (= best estimate) and the associated uncerctainty. The operation is subdivided into two stages: Prediction and Correction. In the Prediction stage, the next pose (in time) is estimated using the Step Detector and Gyroscope Pose Estimation System. At this stage the uncertainty of the current device pose is increased, based on the elapsed time. If no Gyroscope or Step Detector is available only the uncertainty is increased. As soon as a measurement from other Pose Estimation Systems is received, the current device pose is combined with the measured pose, based on their probabilistic error levels. The combined pose then serves again as the basement for the next prediction. Consequently the Kalman Filter not only combines various Pose Estimation Systems based on their expected performance, but also accounts for the elapsed time between updates, reflecting the behavior of human walk.

Extended Kalman Filter
Extended Kalman Filter



Best Practices

AR-Marker and Gyroscope are the most precise pose estimation systems. Thus it is adviced to activate them in any case. Especially in the proximity of POIs AR-Marker should be deployed, to provide a good AR-experience. Furthermore it is recommended to activate the Step Detector in scenarios, where the mobile device points into walking direction (i.e. the operator is not expected to walk sideward). In indoor environments and environments with strong magnetic fields the Compass and GPS Pose Estimation Systems should be deactivated. Routing-Graph Snapping should only be activated and configured where the user is in the proximity of the graph (e.g. on corridors).



UWP/WinX/Xamarin

The Location Manager controls the different positioning services that are available for mobile devices.

PoseFusion

There is a toggle for using the Posefusion functionality.

Possible Positioning Modes

There are three different modes available for the Location Manager. The names and defined behaviors of the three modes are:

Mode GPS LLA Beacon Proximity
USE_ALL IC Bullet Full.png IC Bullet Full.png IC Bullet Empty.png
LLA_ONLY_MODE IC Bullet Empty.png IC Bullet Full.png IC Bullet Empty.png
BEACON_PROXIMITY_MODE IC Bullet Empty.png IC Bullet Full.png IC Bullet Full.png