Indoor Mobile Position Monitoring Model with iBeacon/Raspberry Pi 1 ― Overview


Our indoor positioning system TPC_IPS Ver1.0 was released on April 1, 2022.

We also plan to release IPS application templates "QuickIPS" and "TPC_IPS Web API" which allow interactions with external IPSs/RTLSs in the future.

This post describes "The Indoor Mobile Position Monitoring Model" that Raspberry Pi terminals (hereinafter referred to as "terminals" or "monitoring terminals") scan beacons and calculate the positions of the beacons. This model has various names including "Indoor Positioning System," "Asset Management System," " Indoor Location (Tracking) System," "Indoor Positioning System (IPS)," "Asset Tracking System," "Real-time Location System(RTLS) ," and so on, depending on vendors and system purposes. This blog mainly uses IPS as a term to describe this model.


 The system model for mobile positioning can be divided into submodels depending on their required attributes.

Request attribute Attribute description value
Number of positioning targets Whether there are many or few positioning targets Few | Many
Movement frequency Movement frequency of positioning target High frequency | Low frequency
Moving Speed Moving speed of positioning target High speed | Low speed
Positioning accuracy Required positioning accuracy High precision | Low precision
Real-time Time from positioning request to actual positioning Real-time | Non-real-time * 1
Positioning target Things to be positioned Beacons | Mobile terminals
App device Device for displaying positioning results Management terminals | Mobile terminals * 2

* 1: Non-real time allows a time difference of up to about one minute.
* 2: Management terminals can be mainly PCs and mobile phones.

The submodels include the following scenarios:
  1. Displays the player's own position and other players' positions on the player's smartphone in indoor games.
    Attributes: Few | High frequency | Fast | High precision | Real-time | Mobile terminals | Mobile terminals -> Indoor GPS model
  2. Displays the positions of players on the PC and the like in indoor sports such as hockey.
    Attributes: Many | High frequency | High speed | High accuracy | Real-time | Beacons | Mobile terminal -> Hockey model (Video of Quuppa, Finland)
  3. Staff grasp the positions of patients and residents in hospitals and nursing homes.
    Attributes: Many | High frequency | Low speed | Low accuracy | Non real-time | Beacons | Management terminasl -> Hospital model
  4. Manags the positions of products in factory assembly lines.
    Attributes: Many | High frequency | Low speed | Low precision | Non real-time | Beacons | Management terminals -> Factory process model
  5. Detects the positions of products in warehouses and storage.
    Attributes: Many | Low frequency | Low speed | Non real-time | Beacons | Management terminals -> Warehouse model

IPS specifications and operation methods also vary depending on the submodel. Our TPC_IPS under development targets the above 3 to 5 submodels.

[Memo] Drone Flight Control Model

  A lot of drones on the market are equipped with GPS to track their positions of themselves outdoors; however, GPS does not work indoors, near buildings, valleys, etc. where GPS signal reception is poor or unavailable. In such cases, using an IPS can be an option to track the positions of drones and control the flight. This allows program-controlled drones to transport goods, patrol and take photographs in  unmanned buildings and factories late at night.

However, IPS using iBeacons (BLE4 beacons) may cause huge positioning gaps of 1 meter or more, so it would be difficult to control drones in offices.
In this respect, a system using BLE5.1AoA compatible beacons or Ultra Wide Band (UWB) tags will be more effective because the positioning gap can be narrowed down to 1 m to 10 cm.

When applying an IPS, it is important to determine how much positioning accuracy the system can achieve.

System overview

The figure below shows a example that divides the area to be monitored into grids, places monitoring terminals (Raspberry Pi's, painted in pink in the figure) at the corner of each grid, and scans the beacon signals in the area. The blue marks in the figure describes beacons. These beacons are attached to mobile objects such as things and people. The distance between the Raspberry Pi's, that is, the length of the sides of each grid, should be smaller in places with many obstacles and people, or in environments where high positioning accuracy is required. On the contrary, the distance could be larger in places where there are few obstacles and people, or in environments where positioning accuracy is not important, and the number of terminals can be reduced.

[Fig. 1: Arrangement of Raspberry Pi monitoring terminals]
It is often impossible to place monitoring terminals in grids in a production environment.

Each Raspberry Pi keeps receiving beacon signals and sending the information to the application server; the server performs trilateration and calculates the position of each beacon based on the collected data.


There are multiple methods for calculating the positions of beacons, and we use trilateration this time.
All monitoring terminals (Raspberry Pi1 to Pi16) in Figure 1 are constantly reading (scanning) the beacon signals. Beacon signals have the strongest strength when they are issued; however, they will be attenuated according to the distance as they propagate through space. Since each Pi obtains the signal strengths and RSSI (Received Signal Strength Indication), the distance between the beacon and the terminal (Pi) is calculated from the degree of attenuation of the RSSI.

In the "Before" section of the figure below, there are circles centered on the terminals Pi2, Pi5, and Pi6, and the radius of each circle is the distance to the beacon. Trilateration estimates that the position of the beacon is at the point where the circles Intersect, or in the center of the area where those three circles overlap. Terminals other than Pi2, Pi5, and Pi6 also detect this beacon; however, Pi2, Pi5, and Pi6 are the closest three terminals so the accuracy will be higher.  Therefore,  trilateration is performed based on these three circles.

Next, suppose this beacon moves to the "After" position. Due to the movement, the terminals with the shortest distance are Pi12, Pi15, and Pi16. At this time, trilateration is performed using the circles of these closest terminals (distance between the terminals and the beacon).

Things to consider

At first glance, the positions of beacons seems to be easy to identify, but it is difficult to achieve the desirable results. The reasons are as follows:

RSSI accuracy

RSSI can measure the distance with reasonable accuracy when the distance between the terminal and the beacon is several tens of centimeters, but if it exceeds 1m, it is  strongly affected by multipath (multipath propagation) or other factors, and the signals will not be attenuated as officially stated. It happens very often that the distances calculated based on RSSI are far from the actual distances.

Problems of Trilateration

As mentioned above, the distance based on RSSI is unreliable. Also, trilateration often fails since three circles do not intersect as expected. In such a case, alternative positioning methods should be applied instead of concluding it as a trilateration error.

In the next post, we will actually measure RSSI and consider the calculated distance error between the terminal and the beacon in question,  and the difference from the actual distance. In addition, we will also describe our original RSSI/distance calibration method and the expansion of trilateration.

Improvements since April 2018 and IPS market trends

 This post was originally published in April 2018, and since then new products and technologies have been released.  We also keep developing and testing new methods. Here are some pieces of information to share before closing up this post:

Positioning method

The next post (published on August 9, 2018) and the next post  (published on July 12, 2019) describe the results of developing, testing, and verifying a prototype for RSSI, distance calibration, and trilateration. However, the positioning accuracy of trilateration based on RSSI And RSSI has its limit. In this respect, positioning using machine learning can improve the positioning accuraty compared to trilateration, although machine learning requires additional time and effort for learning. We also posted an article on December 26, 2020, regarding the positioning accuracy by machine learning, after creating a prototype system, testing and verifying it.

BLE5.1 AoA / AoD

Specifications Of BLE5.1 The AoA / AoD were announced in January 2019. This makes it possible for BLE5.1 compatible terminals (sensors) to acquire the direction (angle) where the beacon exists, in addition to the distance of the beacon itself. It is expected that the positioning accuracy will be narrowed down to 1m or less. However, even though more than two years have passed after the specifications were released, major vendors have not yet released BLE5.1 compatible transmitters and receivers (sensors).


At the end of April 2021, Apple released AirTag. iPhone 11/12 can can now perform AirTag positioning with high accuracy. The technology used for this positioning is called UWB, which is said to be capable of positioning with an error of 10cm. IPS's using UWB such as Ubisense and Zebra have been on the market for quite some time and have been having high reputations, however, they are quite expensive. Overseas IT-related media call AirTag "Game Changer," and it is expected that new IPS's using UWB will appear on the market in the near future.

IPS Related Blog Posts

  1. IPS Application Templates for FileMaker ― QuickIPS ―*
  2. Indoor Mobile Position Monitoring Model with iBeacon/Raspberry Pi 1  ―  Overview*
  3. Indoor Mobile Position Monitoring Model with iBeacon/Raspberry Pi 2   ―  RSSI/Distance Calibration and Trilateration*
  4. Indoor Mobile Position Monitoring Model with iBeacon/Raspberry Pi 3 ― Enhancement of Two-Circles-Oriented Trilateration (TCOT) and Measurement Results*
  5. Estimate the approximate position of the beacon with a small number of receivers in a large area such as Tokyo Dome(Google translate)
  6. Improving IPS Positioning Accuracy with Machine Learning *
  7. TIPS for making IPS testbeds(Google translate)
  8. Object Tracking for Visualizing The Movements of People and Objects on a Map*
  9. Send Location Information via UDP - TPC_IPS/QuickIPS Extension*
  • * indicates that original article translation into English has been completed by TPC.
  • "Google translate" indicates that clicking it will Google translate the original article, and may be translated into English in the near future by TPC.

TPC's IPS Products

No comments:

Post a Comment