Indoor positioning system selection

For autonomous robots, drones, forklifts, cranes, VR/AR, people, and other industrial applications

Since there are many applications for indoor positioning and real-time locating systems, the selection process is not trivial.

Different RTLSs are tuned for different applications. There are many criteria to be weighed before the final selection is made.

If some essential criteria for selection are missing or even incorrectly explained, please email us at, and we will address it.

Accuracy of tracking

Accuracy of tracking is arguably the most important criterion for indoor positioning system, because indoor space is more packed and problems due to imprecise tracking is more critical indoors than outdoors.

Marvelmind indoor positioning system is the world’s most accurate commercially available indoor positioning system for industrial applications. It is ~10 times more accurate than UWB and ~100 more accurate than BLE.

Relative vs. absolute accuracy of tracking

Indoor positioning system deals with multiple coordinate systems. Also, there is a so-called absolute accuracy and relative accuracy.

There could be many explanations and definitions, but the practical implementation and usability is very simple:

– If you want absolute distances in meters – it is the absolute accuracy

– If you want to drive from A to B precisely – it is the relative accuracy

Often, you have to choose between the two in order to get an optimal solution meeting multiple contradicting criteria – costs, size, power consumption, location update rate, etc.

Absolute distance measurement

In some cases, the RTLS is used not for XY or XYZ positioning, but for mere distance measurements. But the distances must be measured accurately. For example, laser distance meters is a classical example of such 1D “positioning systems”.

Similarly, optical devices have been used for the distance measuments. It is difficult to call them RTLS or IPS, but they are close relatives.

RTK GPS is clearly a positioning system and can be used for absolute distance measurements as a 3D distance between point 1 and point 2.

However, there are cases, when neither laser meters nor RTK GPS nor optical systems are feasible:

GNSS-denied areas – no GPS or RTK GPS is available

– When there is too bright light and laser spot is simply not visible

– When objects are moving or the laser spot is reflected elsewhere

– When there is fog or other visual or laser light obstructions

Location update rate

Along with tracking accuracy, the location update rate is a critical criterion for RTLS and indoor positioning systems.

RTLS is called a real-time locating system, not for nothing. It must be real-time. However, the definition of real-time is pretty broad and fuzzy. For asset tracking in a warehouse, even one location update per minute is real-time. However, for an FPV drone or a VR/AR system, even a 100Hz location update may not be overly sufficient.

Typical location update rate expectations vary with applications:

People: ~0.2-4Hz

Forklifts/vehicles: ~0.5-8Hz

Robot/AGVs: ~8Hz

Drones: ~8-100 Hz

VR/AR: ~30-400Hz

Sport: ~1-100Hz

Cranes: ~0.1-2Hz

Marvelmind indoor positioning system provides up to 40Hz location update rate – for smaller submaps – with a typical update rate of 8-16Hz – on par with classical GPS.

To reach the maximum possible update rate, follow our recommendations: How to increase the location update rate and reduce latency?

To reach even higher update rate, use special optional SW features, for example: Location update rate boost

Study how accuracy and update rate are linked: Does accuracy depend on the location update rate?

Obviously, the higher the update location update rate, the better. However, other parameters affect the overall performance. Therefore, we recommend using the optimum location update rate – not necessarily the highest achievable – subject to other requirements and the criteria weights:

– Lower update rate increases the battery lifetime proportionally

– With more latency => more processing => more robust tracking

– With more latency => more averaging => more accuracy

– With lower update rate – lower chances of echos in small rooms

– With lower update rate – simpler (less expensive) solutions


Latency in RTLS is a time between the objects real physical location and our knowledge about the location. Though, RTLS is a real-time locating system, the knowledge about the location always comes with a delay. The delay is latency.

Latency is closely linked with the location update rate but is not the same thing:

– Usually, latency = 1/location update rate + t_add

– t_add – additional time loss: processing, transmission, etc.

– Thus, the latency is always more than 1/location update rate

– It is relatively easy to get a very high location update rate

– It is more difficult to get low latency

See how to minimize the latency of indoor position measurements.


If you consider using Marvelmind Indoor “GPS”, remember that we have three architectures – IA, NIA, and MF NIA – and each is tuned for a slightly different application.

If you need to make a quick and safe choice, choose the Starter Set Super-MP. The set supports all three architectures.

Speed of deployment

It is very important how easy is to deploy the system.

For example, some systems – RSSI-based on “fingerprintingIPS systems require calibration by definition. It can be rather cumbersome and time-consuming. Ultimately, it increases the total cost of ownership of the system.

Marvelmind indoor positioning system can be deployed for a basic 2D/3D open area of up to 1,000m2 in under 5 minutes.

Deployment of more complex systems consisting of multiple rooms and multiple submaps totally depends on the complexity of the area rather than the sheer size. It can take between several hours to several weeks.

Cloud and privacy

Many indoor positioning systems require cloud to operate. It is not a terrible solution, but details shall be well understood:

– Your private location and other data goes somewhere

– At any moment you can be cut off the system

– There could be data interruptions

– More latency due to more IP hops

– Cloud nearly always means monthly costs and subscriptions

Marvelmind uses no cloud for its indoor positioning system

We don’t use cloud in the Marvelmind indoor positioning system:

– All data stays within the premises. Cloud is not required

– All calculations and measurements are done on site

– The system is scalable because more beacons – more capacity

Cloud-based solution bring many positive elements – speed of changes, always up-to-date SW, etc. – but it is not without caveats the users be aware of.

Ingress protection (IPxx)

Indoor positioning systems are designed to work primarily indoors. However, the definition “indoor” is somewhat fuzzy:

– Is a forklift running via the bay in and out indoors or outdoors?

– Is it indoors where there is no rain?

– Is an open warehouse with a bare roof but open elsewhere indoors?

– Is a colossal meat freezer indoors or what?

There are many cases, when equipment requires ingress protection (IP) though the system is supposed to be indoors.

Be realistic about what IP rating means and what it doesn’t:

– IP67 means that the device is not killed by submerging into water

– IP67 (submerging) doesn’t claim it shall work with a rain

– IP67 doesn’t tell anything about a long-term exposure

– IP67 doesn’t guarantee anything with salty or dirty water

– Dust has a very special definition as well

– IP67 may not protect against your type of dust

– IP67 doesn’t say anything about the temperature range

– IP67 says nothing about ice, snow, etc.

To sum up:

– Be realistic. IPxx marks are more marketing than an actual thing

– Always discuss your real and specific needs in detail and in advance

– Protect against long-term exposure to ingress

– Use shades, umbrellas, and similar

– Avoid any batteries, if possible

– Apply special protection on joints/connectors after assembly

– Remember there are ultrasound membranes – be careful with them

Price is a crucial element of any product or solution. But the total cost ownership may be as important as the price. Remember, there are many associated costs apart from the price of the solution:

– Subscription fee: per tag, per area, per project, per location update

– Cost of Maintenance

– Deployment cost: wiring, permits, interruption time

– Warranty costs

– Potential lost revenue

And many, many more.

See detailed discussion in the article: How much does indoor positioning system cost?

Marvelmind Robotics is very open about prices and costs:


– Software licenses: download all base software free

– Order optional software items to extend the functionality

Cost of planning and deployment

Extended warranty

The power supply of stationary beacons is a significant criterion in RTLS selection, and it substantially contributes to the complexity and cost of the network because:

– There are many stationary beacons in large RTLS

– Wiring for power may contribute to a high cost

– Replacing batteries can also be a major cost factor

– Recharging of tens or hundreds of beacons – another source of costs

– There could be costs due to RTLS interruptions related to charging

The recommended option to supply stationary beacons is a basic AC-DC converter. When combined with the internal battery of the Super-Beacons that can run the beacon without interruption for several days, it gives peace of mind and confidence that the RTLS will not be affected by power outages and no power-related maintenance (replacing or recharging batteries) is required.

Recommended power supply for stationary beacons

However, in some cases, there is no fixed electricity at all. In this case, external batteries are the best choice. There are several options available for different capacities and ingress protection levels.

Often, you can see impressive figures of a tag running 1-5 years with a single battery. That is a cool figure, but how useful is it in practice?

Always ask with what update rate this was measured.

In RTLS, the battery lifetime is often easier to measure, not in the years, months, weeks, or days of functioning, but in the number of location updates the battery supports before being depleted.

Thus, if you have a 1Hz or 10Hz location update rate, your battery life will scale nearly proportionally to the location updates. Of course, when the time becomes many months or even several years, there is a plateau in the battery lifetime. The location update decrease doesn’t contribute to the battery lifetime increase anymore.

Accurate indoor positioning system

But the key message for the assessment is still the same: ask what update rate was used in the measurement of the battery lifetime and compare whether the update rate suits you.

Is a very long battery lifetime for mobile beacons essential at all?

Of course, the longer battery lifetime the battery. However, there is always a tradeoff. Thus, the big question whether a very long (weeks to years) battery lifetime for mobile beacons is essential at all…

In many cases, the answer is that it is not essential:

– Unlike stationary beacons, mobile beacons are easily accessible

– Often, one shift – 8-12 hours – is enough

– For drones, even 1h is enough because its battery dies sooner

– For forklifts, robots, and AGVs fixed power supply is readily available

There are applications when the weight of mobile beacons (tags) is one of the most important criteria:

Tracking of micro-drones

People tracking

– Some other special applications

For people tracking, different types of mobile beacons exist to match the needs optimally. It is not only about the weight but also about the shape and form overall:





– Belt

Tolerance to interference

RTLS can experience external interference. It may disrupt some location updates or can block the system entirely.

The types of interference to watch particularly depends on the used technology, but the approach is the same:

– Identify what can interfere with the used positioning technology

– Check whether there are sources of interference theoretically

– Run real tests using the starter sets on site – before deployment

– Identify the sources, if any

– Choose alternative architectures or even RTLS

Interference to RTLS

Here are examples of potential interference sources:

– Ultrasound noise for Marvelmind ultrasound-based Indoor “GPS”

– Strong radio in the same ISM band – for Marvelmind

– Overcrowded ISM bands (2.4GHz and 5.6GHz) for BLE and WiFi

– Any strong radio for UWB

– Other UWB systems for UWB

– Too dark or too bright for optical systems

– Glass for LIDARs

– Too dark or black materials for LIDARs

– Too bright for LIDARs

– Other sources of light or IR light for LIDAR or other optical

Each system has solutions to combat the interference. Study them and discuss them with the manufacturers.

Indoor positioning system systems provide location by definition. However, direction is something entirely different. In many cases, it is even more difficult to get, but it is often crucially important, for example, for autonomous robots or drones

Magnetometers (compasses) do not work reliably indoors due to ferromagnetic materials, electrical currents, and even magnets distorting the Earth’s magnetic field, thus making the orientation unreliable or impossible.

IMUs/gyros do not give orientation. They provide a change of direction. Misunderstanding about IMU is widespread. Thus, there must be a mechanism to find the direction or pose, which is a non-trivial task.

Marvelmind’s recommendation is to use the Paired Beacons approach:
– You install two mobile beacons with a base between them

– The base must be as large as allowed by your mobile object

– Each beacon’s location is measured accurately

– Knowing the locations, it is possible to calculate the orientation

Is it possible not to use the Paired Beacon because the size of the mobile object is too small to have a sufficient base? – yes, it is possible. 

– It is possible in dynamic only

– The algorithm becomes notably more complex

The autopilot of the robot or drone must handle the algorithm and complications linked with it, which can be more difficult or even impossible in some cases.

What complication? – well, to work, you must drive or fly 30-100cm straight in a random direction, and only then will you learn your initial pose. But! If you were next to the cliff or the wall and chose the wrong direction, it could be your robot’s or drone’s last drive or flight, respectively.

What could the algorithm be? Let’s discuss on the example of a micro-drone:

– The drone’s Mini-TX emits ultrasound after a command by a modem

– Drone sends its IMU (gyro) data to the modem

– Stationary beacons measure the distances based on ToF

– Stationary beacons report the measurements to the modem

– Modem calculates the current location of the hedge (drone)

– Modem records the location of the drone as a point A

– Modem is using the IMU data to lock the IMU readings

– The drone flies straight in a random direction using IMU

– It is easy to fly straight using IMU, but you don’t know where it flies

– After 30-100cm, the drone is in location B

– Using A and B coordinates, IMU data, the modem calculates the pose

– Modem is sharing the pose with the drone if needed

– Modem is using the pose for the autopilot

It was an initial lock. Then, the algorithm must constantly compensate for the drift of the gyroscope. It is also rather complex.

As you can see, there are many steps in the algorithms. Thus, when and if possible, it is much easier to use the Paired Beacons configuration and receive the precise drone’s or robot’s pose in static. And only when it is absolutely not possible – for example, for micro-drones, to use the Paired Beacons configuration or a magnetometer, the single beacon configuration shall be used to determine the direction.

Example of an autonomous flight using a single-beacon configuration:

Example of an autonomous robot using a single-beacon configuration:

Learn more on the subject: How to get direction/orientation.

RTLS are designed to provide location. But how do you get it? From which device? In which protocol? How easy is it connect physically and integrate to your system?

External interfaces of Marvelmind beacon

Interfaces and integration checklist:

– Types of physical interfaces?

– Wired: UART, virtual UART over USB, RS485, CAN, Ethernet?

– Voltage levels? UART 3.3V and 5V are not necessarily compatible

– GPIOs? How many? What functions?
– Special functions on physical pins?

– Geo-fencing trigger?

– Wireless: Bluetooth, WiFi, ISM radio, Zigbee, LoRa?

– Possibility of sending and receiving user data?

– Is soldering required?

– Standard or proprietary or complex to find connectors?

– Connectivity for data and connectivity for power?

– Protocols: open and published or closed?

– Integration code samples available?

– In what programming languages are the code samples and the API?

– API – open and available?

– Source code: open or proprietary?

– Libraries?

– Code samples to integrate?

– IP connectivity?

– Is cloud required?

– Bandwidth and latency requirements for wireless networks

You can get data from mobile beacons or modems.

Mobile beacon:

– Critical for autonomous robots and drones

– Important for people and forklifts – to receive tasks

– Modem: to track people or assets


– To track people or assets

Indoor positioning systems provide location data. But what for? – to do something with it. What to do, for example?

– Send commands to a robot based on its location

– Warn users based on their location – geo-fencing

– Stop machinery based on its location – geo-fencing

– Allocate tasks based on people’s location

Also, it is essential and useful to get other data from mobile objects:

– Telemetry: battery voltage, the position of working substance, etc.

– Turn on and off something on the robots, AGVs, or forklifts

– Receive RFID or QR code data

Thus, there is a need for sending data to and receiving data from mobile objects. Check that the system you are selecting supports this.

Often, users try to employ parallel wireless networks to do that: Bluetooth, WiFi, LoRa, Zigbee. But it is another layer of complexity, vulnerability, or failures.

Marvelmind indoor positioning system supports up to 50kbps to and from mobile beacons with a few tens of millisecond latency which is more than enough for typical telemetry, data, or commands. Use Marvelmind’s internal wireless connectivity to send and receive your mobile data. No additional wireless layer (Bluetooth, WiFi, LoRa, etc.) is required.

Network capacity – and RTLS and IPS is not an exception – is a word with many meanings. Thus, let’s check it carefully:

– Maximum area of coverage?

– How many network elements are supported?

– How many beacons (stationary+mobile) are supported?

– How many mobile beacons (tags) are supported totally?

– How many mobile beacons can be tracked at the same time?

– What is the update rate per system?

– What is the update per mobile beacon?

– What is the data throughput capacity? Per system? Per beacon?

– Capacity in 2D and in 3D configuration?

In short, there are many different “capacities”. Check which is meant when reading.

Marvelmind indoor positioning system supports:

– Up to 250 beacons (stationary + mobile) out of the box

– With a special SW update – a few thousand beacons

– With Multi-Modem Architecture – tens of thousands of beacons

Existing network capacity is essential. But not less, it is crucial ta have the possibility to scale if needed.

Marvelmind indoor positioning system is very scalable by design:

– Each submap contains up to 4 stationary beacons

– Each submap can serve thousands of mobile beacons

– Each modem can currently support up to 250 submaps = map

– Each modem can currently serve up to 250 beacons

– Super-Super-Modem can control thousands of submaps

As you can see, there are layers and hierarchies. This approach enables virtually no upper limit to the capacity of the networks, i.e., the network is very scalable.

There are many non-core properties of an RTLS that can make it preferred, for example:

– It is possible to use Super-Beacons as stationary or mobile

– You can purchase X amount and switch between the modes

– Ask whether it is possible to UWB tag as an anchor and vice versa

– You can use Super-Beacons in IA, NIA, or MF NIA

Marvelmind indoor positioning system is very scalable by design:

– Each submap contains up to 4 stationary beacons

– Each submap can serve thousands of mobile beacons

– Each modem can currently support up to 250 submaps = map

– Each modem can currently serve up to 250 beacons

– Super-Super-Modem can control thousands of submaps

As you can see, there are layers and hierarchies. This approach enables virtually no upper limit to the capacity of the networks, i.e., the network is very scalable.

That sounds like an obvious comment, but nobody wants to be left with equipment and software that is either unclear on how to use or doesn’t work as intended. Check for the real available support before you order.

Marvelmind Robotics is very open with architectures, protocols, and prices and provides several layers of support:


YouTube channel

– Detailed Operating Manual

Placement Manual

Open interfaces and protocols

Code samples

– Chat on the website (bottom-right corner)

– Email:

– Zoom, MS Teams, etc.

– Full remote deployment via TeamViewer or AnyDesk, etc.

– Dedicated training via Zoom

– Supervision on-site by Marvelmind representatives (for larger cases)


There are many ways we can support you. Just let us know: We are always happy to help.

Scroll to Top