ROS Industrial Indoor Positioning System

August 13, 2018
IMC drives
August 13, 2018

Indoor positioning is the basic need of technologies required for Industry 4.0. Some examples of these technologies are autonomy of unmanned mobile robots, personnel and asset tracking, personnel navigation and location-based services. With the realization of technologies, applications like autonomous mobile robots, monitoring efficiency (OEE, KPI, reliability) of equipments, dynamic routing for mobile robots, real time stock tracking, location-based emergency detection can be developed in order to increase the productivity.

The objective is to develop an open source generic algorithms and ROS package for any absolute indoor positioning system which produces TDOA data. The ROS package, algorithms and related documentation will be published for system developers and users immediately after FTP with Apache License 2.0. This ROS package will be compatible with other ROS stacks and packages like robot_localization, move_base, navigation etc. In addition this ROS package will contain a ROS node developed for the calculation of KPI parameters. Software quality assurance will be considered. Maintenance for the package will be supported by Inovasyon Muhendislik Ltd.

IPS ROS Package Setup


Studies and Solutions

1D Positioning: The developed algorithm, locates tags that moves on a straight line. Start and end points of line and positions of coordinates must be known.

2D Positioning: The proposed system, locates tag that moves on a ground plane therefore it is a 2D positioning system. TDOA measurements are used, so only anchors transmit and tags are passive listeners.

3D Positioning: The proposed system, locates tag that moves in a 3D office environment. TDOA measurements are used, so only anchors transmit and tags are passive listeners.

Calculation of Estimated Error (Accuracy Analysis)

2D positioning algorithm calculates the position of the tag. In order to evaluate the practical usage of the algorithm in the industry, the sensitivity of the result to the noise at the input must be analyzed. Therefore, it is important to find the parameters that the variance of the output depends on and the relation with them when the tag is at a fixed point. The purpose of this study is to estimate the error in the calculated 2D position with the analysis mentioned above.

For 2D, probable error can be expressed in common with CEP, DRMS, R95, 2DRMS. These values show the minimum radius of circle (centered at the true position) containing the position estimate with the approximate probability given below.

CEP: 50%

DRMS: 65%

2DRMS: 95%

R95: 95%

For instance, If CEP is 2 meters, 50% of calculated positions have error smaller than 2 meters. For this study, DRMS is used for measure of estimated error for 2D respectively. DRMS is defined as follows:



Comparison of estimated DRMS with experimental DRMS at 6 test points:








Experimental DRMS








Accuracy Analysis DRMS








Anchor Selection

Indoor localization systems must be scalable, because the localization may be applied in a large indoor area such as hangar, factory etc. In order to cover a large area, more than 3 or 4 anchors must be used since the signal of an anchor may not reach to whole area. In that case, mobile robot has to choose the anchors whose signals will be used in position calculation. Due to the effect of the anchor geometry on the accuracy of the position calculation, it is important to choose the right anchors.

In literature PDOP is the term describing the quality of the geometry and in 2D it can be defined as:



Low PDOP value refers to good anchors geometry therefore indicates high accuracy. The purpose of study is to select the right anchors for high positioning accuracy using low PDOP selection criteria. The 2 example cases are given below:

Case 1:

Case 2:

Key Performance Indicators (KPI) Calculation

Key performance indicators is a type of performance measurements. KPIs evaluate the success of work such as organization, algorithm, activity ect. Different KPIs can be defined for different case. The important point is that choosing right KPIs provides a right evaluation of the success of the work.

The purpose of this study is to define location based KPIs for mobile robots.

The main duty of a mobile robot is mobility, therefore movement is considered as work. The basic outputs of positioning systems (time and location) are used as inputs of the proposed KPIs. Based on time and location information, “distance taken” and the “motion time” can be calculated. These calculations can also be done on a regional basis using location. Regions can be defined with corners coordinates.

  • KPI 1: Distance Travelled
  • KPI 2: Idle Time
  • KPI 3: Motion Time
  • KPI 4: Efficiency
  • KPI 5: Region Based Distance Travelled
  • KPI 6: Region Based Total Time
  • KPI 7: Region Based Idle Time
  • KPI 8: Region Based Motion Time
  • KPI 9: Region Based Efficiency

Real Time Implementation of ROSINPS

In addition to the algorithm development and tests in Matlab of anchor selection, position, estimated error and KPI parameters’ calculation; these works were implemented on a robot (AGV) in a laboratory environment as a real time application. In the implementation of this application, TDOA values were transmitted through the anchors under the AnchorScan message. These TDOA values were used by developed ros nodes and related results are published. Related figure and video link is given below:

Real time application video link:


For the details:

Related tutorial: