Package Summary
The indoor_localization package
- Maintainer: Elcin Erdogan <elcin.erdogan AT inovasyonmuhendislik DOT com>
- Author:
- License: BSD
- Source: git https://github.com/inomuh/indoor_localization.git (branch: master)
Contents
The package is currently in development phase.
ROSinPS Project
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 of this project is to develop an open source generic ROS package for absolute indoor positioning. In order to make the ROS package sensor independent, a specific message type called sensor_msgs/AnchorScan that includes the coordinates and TDOA measurements of the anchors from which signal received will be defined. At the end of the project, an open source generic ROS package and necessary indoor algorithms will be developed for indoor positioning system developers and users. This ROS package will be compatible with other ROS stacks and packages like robot_localization, move_base, navigation etc. In addition, in this ROS package, a ROS node will be 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
1D Positioning Algorithm
The developed algorithm, locates tags that moves on a straight line. Although the system is a 1D localization system, the lines can be in 3D environment. Using Time Difference of Arrival (TDOA) measurements and making tags as passive receivers, the limit on the number of tags is removed. In this method, there is no need for time synchronization between anchors and tags.
An iterative method is proposed to overcome the complexity of calculations to implement the system with low computational power. In this procedure, only two anchors are enough in order to locate all tags which are able to receive the transmissions of anchors.
The sample usage of the system is given in figure below. S and A represent anchors and Ti represent tags.
|
Decawave development kits are used in tests which has a good performance among other UWB transceivers. The developed algorithm was tested in the office environment. Although normally, tag and anchors have Line of Sight (LOS), during the tests, sometimes LOS has been lost since the movement of personel.
Coordinates of points are measured with cm resolution according to the origin. A ruler was constructed on the line L1-L2. Anchors S, A and B are placed which are not far than 10m from each other. In previous works, it was observed that anchors can be far away as much as 100m from each other.
Tests are done at 6 different tag distance - d which are 0.15m, 0.30m, 0.45m, 0.60m, 0.75m, 0.90m. The refresh rate is selected as 25Hz. Theoretically, it can be beyond 100Hz. At each distance, 3000 measurements are logged as is without any outlier rejection, filter or calibration.
The logged measurements can be found in:https://github.com/inomuh/indoor_localization.git
The histogram and fitted gaussian pdf graphs of test results are shown in figure below:
|
Mean, mean error, standart deviation for each test are given in table below:
Distance(d) |
Mean(µ)(m) |
Mean Error(µe)(m) |
Std. Deviation(m)(σ) |
0.15m |
0.174 |
0.024 |
0.112 |
0.30m |
0.306 |
0.006 |
0.05 |
0.45m |
0.443 |
0.007 |
0.028 |
0.60m |
0.605 |
0.005 |
0.042 |
0.75m |
0.710 |
0.04 |
0.024 |
0.90m |
0.899 |
0.001 |
0.081 |
2D Positioning Algorithm
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. In this method, there is no need for time synchronization between anchors and tags. Since tags do not transmit, theoretically there is no limit in the number of tags which can be located by the system.
Iterative method is proposed to overcome the complexity of calculations to implement the system with low computational power. In this procedure, only three anchors are enough in order to locate all tags which are able to receive the transmissions of anchors.
Tests are done at 6 different points of the tag which are;
|
x(m) |
y(m) |
z(m) |
P1 |
2.25 |
1.35 |
1.72 |
P2 |
3.60 |
1.35 |
1.72 |
P3 |
4.95 |
1.35 |
1.72 |
P4 |
2.25 |
2.7 |
1.72 |
P5 |
3.60 |
2.7 |
1.72 |
P6 |
4.95 |
2.7 |
1.72 |
At each test points, 3000 measurements are logged as is without any outlier rejection, filter or calibration.
The graph of 2D test results is shown in figure below. Red dots indicate the real points and blue dots indicate the measurement results:
|
Mean, mean error, standart deviation for each test are given in table below:
Points |
Mean(µ)(m) |
Mean Error(µe)(m) |
Std.Deviation(m)(σ) |
P1 |
(2.293, 1.373) |
0.197 |
0.124 |
P2 |
(3.607, 1.360) |
0.151 |
0.097 |
P3 |
(4.947, 1.355) |
0.115 |
0.072 |
P4 |
(2.271, 2.705) |
0.215 |
0.144 |
P5 |
(3.601, 2.704) |
0.158 |
0.104 |
P6 |
(4.955, 2.695) |
0.122 |
0.075 |
3D Positioning Algorithm
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. In this method, there is no need for time synchronization between anchors and tags as before. Since tags do not transmit, theoretically there is no limit in the number of tags which can be located by the system.
Also, iterative method is proposed to overcome the complexity of calculations to implement the system with low computational power. In this procedure, only four anchors are enough in order to locate all tags which are able to receive the transmissions of anchors.
Tests are done at 8 different points of the tag which are;
|
x(m) |
y(m) |
z(m) |
P1 |
2.70 |
1.35 |
0.44 |
P2 |
3.60 |
1.35 |
0.44 |
P3 |
2.70 |
2.25 |
0.44 |
P4 |
3.60 |
2.25 |
0.44 |
P5 |
2.70 |
1.35 |
1.72 |
P6 |
3.60 |
1.35 |
1.72 |
P7 |
2.70 |
2.25 |
1.72 |
P8 |
3.60 |
2.25 |
1.72 |
At each test points, 3000 measurements are logged as is without any outlier rejection, filter or calibration.
The graph of 3D test results is shown in figure below. Red dots indicate the real points, blue dots indicate the measurement results and black dots indicate the places of anchor S,A,B and C :
|
Mean, mean error, standart deviation for each test are given in table below:
Points |
Mean(µ)(m) |
Mean Error(µe)(m) |
Std.Deviation(m)(σ) |
P1 |
(2.66, 1.37, 0.40) |
0.146 |
0.096 |
P2 |
(3.59, 1.4, 0.44) |
0.136 |
0.095 |
P3 |
(2.65, 2.28, 0.42) |
0.226 |
0.205 |
P4 |
(3.55, 2.40, 0.38) |
0.269 |
0.223 |
P5 |
(2.74, 1.33, 1.71) |
0.093 |
0.04 |
P6 |
(3.58, 1.36, 1.72) |
0.097 |
0.063 |
P7 |
(2.66, 2.29, 1.72) |
0.132 |
0.087 |
P8 |
(3.58, 2.34, 1.71) |
0.203 |
0.178 |
Acknowledgements
Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components.
More information: rosin-project.eu
|
This project has received funding from the European Union’s Horizon 2020 |