1 Introduction

Nowadays, many industries employ mobile robots to move goods and products efficiently from storage areas to the production lines within the warehouses. This kind of machine serves as an alternative to the customary belt-based transportation system. The increase of global export activity has led to a transformation from human performed activities to machine activities and the demand for quick delivery due to increasing e-commerce volumes and online trade. The Fourth Industrial Revolution, or Industry 4.0, aims at automating traditional manufacturing and industrial practices using modern smart technologies. Some of the pillars are machine-to-machine communication (M2M) or Internet of Things (IoT) to improve communication and self-monitoring, technologies enabling remote operations [1], or autonomous and intelligent systems for automatizing some human tasks like bin picking [2, 3] and quality inspection [4, 5] that make use of computer vision or artificial intelligence techniques even though a lot of industries perceive them as black-boxes [6].

Complex and dynamic industrial environments need to move and locate goods from storage units in warehouses passing through production facilities for manufacturing to arrive in retail stores. The localization and tracking of both autonomous systems and products in the whole production chain demands accurate estimations of the full pose of machines and production items.

Logistics robots can be used to carry heavy payloads, increasing the safety of human workers and reducing possible product damages. The introduction of autonomous robots in the production line led to a reduction in the cost of labor and an increase in efficiency compared to manual work. The use of novel sensing technologies along with intelligent machines enables further interesting applications that, for instance, allow human personnel or robots to identify and localize items and products easily [7] or update retail store inventory in real time [8].

The localization problem in industries could be categorized in outdoor localization [9, 10] considering logistics applications between plants and within plant facilities, or in indoor localization [11,12,13] that considers more common applications regarding the motion and storage of items within production plants. In the last decades, many approaches employing different sensing elements have been presented in the literature. Machine vision is probably the most used technology for the navigation of autonomous systems and recognition of objects [14,15,16]. Such approaches detect and identify features in the environment and therefore need stable and uniform lighting conditions. However, in real scenarios, such methods suffer from the presence of light interferences such as shadows or changing illumination characteristics if considering outdoor environments or the traversal of different locations or facilities. An additional issue comes from object similarities that pose difficulty in distinguishing between objects of the same type easily. The most promising solutions based on light detection are based on laser imaging detection and ranging (LIDAR) due to their flexibility and robustness. These approaches make use of the LIDAR to perceive and produce accurate maps of the environments and localize the robot motion as a consequence [17,18,19]. The same technology has been applied to identify and localize objects in applications that require considerable computing power and under specific environment setups [20, 21]. Lately, wireless techniques fostered the adoption of effective IoT solutions leveraging on different sources of information like Wi-Fi or Bluetooth signal strength indicator of radio frequency communications [22, 23], time of flight measurements [24], ultrasonic [25], or ultra wide band (UWB) communications [26]. Radio frequency identification (RFID) is one of the most promising technologies of the Internet of Things, and it has been widely applied in industry and retail applications due to its low cost. Moreover, compared to machine vision approaches, it is not affected by lighting conditions allowing its usage even in dark environments, and it has the advantage of uniquely identifying each tag by its associated ID.

In the following, multilateration techniques that employ time-of-arrival measurements will be applied to RFID phase signals to obtain estimations of the localization of passive RFID tags. The novel contribution of this research is to explore the possibility offered by multilateration and phase unwrapping for RFID tags 3D localization employing least-squares optimization methods and mobile robot navigation. Precise localization and ad hoc motion of a mobile robot allow reconstructing without discontinuities an unwrapped phase distance to be used as a pseudo range in the multilateration problem. Four methods are proposed, and their performance is assessed using three different datasets. The first two datasets contain virtual data that has been generated by simulation. The third one comes from an indoor experimental setup. According to the latest trends in RFID localization, the proposed algorithms show competitive performances concerning recent solutions in the literature.

Section 2 will discuss in detail recent findings in radio frequency communication applications for the localization and tracking of goods in warehouses and retail stores. Section 3 will introduce four different methods employing the least mean square optimization to solve the multilateration problem. Section 4 will present and discuss the experimental tests performed to assess the accuracy of the methods. Finally, Sect. 5 will conclude this manuscript.

2 Recent findings in radio frequency applications

A first consideration could emerge by analyzing the worldwide interest in radio frequency technologies in the latest years. Fig. 1 shows the comparison in the occurrence of some research terms in recent years obtained by Google trends. The search acronyms taken into account in the comparison are RFID, UWB, BLE (Bluetooth Low Energy), and IoT. As can be seen, RFID technology founds a large audience, and its results are comparable with the more general IoT term, especially in the last year.

Fig. 1
figure 1

Trends of the interest in the research keywords related to recent and promising radio frequency technologies in a span of 5 years (reported by Google)

Passive RFID tags require few electronic elements and no power source and thus are the preferred solutions for their reduced costs that allow their employment in applications requiring a large number of them. Each time a reader antenna interrogates a passive tag, it generates a backscatter signal at a certain strength in dBm referred to as received signal strength (RSS). The signal can be modeled with a standard radio frequency propagation model in free space [27]. The strength can be employed to obtain a rough estimation of the distance between the tag and the reader antenna. It is known as received signal strength indicator (RSSI), and its value is related to RSS but can differ depending on the specific radio chip manufacturer. However, this signal is affected by reflection, interference (constructive and destructive), and absorption. Anyway, it is possible to describe the signal attenuation as a function of the distance by considering uniform radiation patterns typical of omnidirectional antennas. Unfortunately, antennas of tags and readers are directional in practice introducing another source of disturbance that, along with the multipath effects, may invalidate the distance estimation. For such a reason, this kind of solution is limited to open space environments with low reflections. In order to efficiently estimate distances based on RSS only, there is the need to properly characterize several parameters like the antenna gains of both the reader and the tag, the alignment of the antennas, and others. As a consequence, the use of the RSS measurement has been limited to an extra source of information in the recent literature approaches [28].

RFID phase-based distance methods exploit consecutive measurements of the RFID signal phase over a short time. The method used to measure the distance can be either the phase difference of arrival (PDOA), the angle of arrival (AOA), or the time difference of arrival (TDOA). AOA techniques require specific setups to obtain good accuracy, and they are useful to determine the direction of traveling of tags. However, the need to have specific setups and knowledge of the antenna characteristics reduce their usage in industrial applications. TDOA methods need synchronization between the tags and the reader, and the backscattered signal lacks proper synchronization. On the contrary, PDOA allows having measurements that are less sensitive to reflections and multipath and could be obtained from equipment already adopted in industries for logging items.

Phase measurements could be achieved employing time domain, frequency domain, or spatial domain techniques [29]. The frequency-domain technique can be efficiently used for estimating the distance of tags and sampling the phase at different frequencies [30]. The spatial domain technique allows the computation of accurate directions of travel of tags and requires multiple antennas [31]. The time-domain approach allows both the computation of tags velocities and their direction of travel, enabling not only the localization but also the tracking of tags’ motion [32].

To avoid the need for multiple antenna systems and to increase the accuracy of localization, strategies in which a single antenna is moved in the environment to emulate a synthetic aperture radar (SAR) have been presented in the last years [33]. Given the grid-based structure of such algorithms, SAR approaches require large computation steps and were initially meant for offline reconstruction [34], but lately, online estimation results have been obtained employing optimization algorithms [35]. The antenna can be moved in the environment by means of a mobile robot allowing the sorting of RFID tags in libraries, manufacturing lines, or offices [36] or enabling robot localization strategies [37].

An approach to RFID tags localization by combining both the RSSI and the phase signals acquired by two moving antennas with different orientations has been proposed in [38]. The signal strength values are used to estimate the heights of the tags in the environment and also to compensate for the orientations and the materials on which the tags are attached. The lateral location of the tag is obtained from the phase information employing a matching function that considers the signal-to-noise ratio of each phase sample. An alternative SAR model based on multiple baseline synthetic arrays has been proposed in [39], where phase samples are evaluated in couples, comparing them with a baseline to understand which samples are mostly affected by multipath interference. This method showed an advantage compared to traditional SAR in an indoor experiment. A different multi-granularity SAR-based approach has been presented in [40] to obtain the high-probability region of the tag position by estimating the reflection coefficient. This method reduces the computational effort and has been proven in real experiments showing a centimeter-level localization accuracy.

Whether the tag motion is greater than half of the wavelength between two subsequent measurements, the computed phase difference exceeds \(2\pi\), and the antenna is unaware of how this can be determined. In order to efficiently use the phase difference measurement, the phase angle signal should be conveniently wrapped to become continuous in cases where the reader value presents jumps. The unwrapping technique has been recently introduced in RFID localization to eliminate the phase cycle ambiguity obtaining promising results [41]. Another approach to RFID localization is to exploit geometrical properties by computing hyperbolic intersections [42, 43]. A hyperbola is the locus of points where the difference of the distance to the two foci is constant. Therefore, placing the antennas on the foci, the target tag lies on the hyperbola curve, and the hyperbolic intersection may solve the localization problem.

Many RFID localization techniques focus on bidimensional localization since, given the knowledge of the warehouse environments and where the goods are stored, 2D solutions provide an efficient way to localize the products on shelves or boxes. However, lately, some approaches to 3D localization for warehouse logistics can be found in the literature. Motroni et al. [44], for instance, employ two RFID reader antennas on a mobile robot to estimate the 3D location of passive RFID tags exploiting synthetic apertures and the backscattered signal phase. The method does not require any reference tags or large phased array antennas. Real-time 3D positioning has been obtained on SAR-based methods with the application of the particle swarm optimization with a two-antenna setup [45]. Tzitzis et al. [46] recently proposed a novel method for 3D RFID tags localization by moving an antenna attached to a mobile robot and forcing a non-straight path motion. Results present a mean error of 35 cm in a scenario involving tags placed on different vertical planes. An optimized interferometric SAR-based 3D localization has been presented by Liang et al. [47] allowing fast estimations with a median accuracy of 18.4 cm on a moving single-antenna setup. All these recent findings confirm the RFID technology as one of the most promising solutions for warehouse logistics and goods tracking that will enable new scenarios in the upcoming industry of the future.

3 Methods

This manuscript focuses on the application of multilateration algorithms for RFID tag localization.

Fig. 2
figure 2

Schematics of the RFID communication. r is the distance between the reader and tags antennas. \(\theta _{TX}\), \(\theta _{RX}\), and \(\theta _{Tag}\) depend upon the electronic circuits and compose the phase offset \(\phi _0\)

Fig. 3
figure 3

Two-sheeted hyperboloid in canonical form

Fig. 4
figure 4

Moving the antenna from position 1 to position 2 the RFID tag lays on a hyperboloid

Given a mobile robot equipped with a reader antenna and a tag positioned in the surrounding environment, at any robot motion, the relative distance r between the tag and the antenna varies along the path. A phase observation sequence can be acquired as the tag is interrogated multiple times by the moving reader antenna, and a relative phase history of the complex signal is obtained from the signal phase variation. The equation that relates the phase difference to the distance is given by:

$$\begin{aligned} \Delta \phi _n = \left( \frac{2\pi }{\lambda }\,2\Delta r\right) mod \, 2\pi \end{aligned}$$
(1)

where the \(\Delta\) operator represents the difference of the values at two consecutive time steps, \(\phi _n\) is the phase signal at time instant n, and \(\lambda\) is the free-space wavelength of the radiated field. It has to be noted that, by using a differential reading, there is no need to estimate the phase offset \(\phi _0\) that depends upon tags and antenna electronic circuits characteristics (see Fig. 2).

Solving a multilateration problem is equivalent to computing the intersection of two-sheeted hyperboloids (quadric surfaces) in the 3D space. The tag location can be found on the hyperboloid surface by knowing the pose of the robot at two different time instants and the phase difference between the two measurements. Figure 3 shows a two-sheet hyperboloid in classic form, while Fig. 4 shows the locus of the possible tag positions (one sheet of the hyperboloid) generated by moving the antenna from position 1 to position 2. The tag position can be found at the intersection between two hyperboloids by adding a third measurement. With a fourth reading, it is possible to determine the precise location of the tag. Furthermore, it is possible to increase the estimation accuracy of the localization procedure by using additional measurements.

Naming \(P = [ x , y, z]\) the position and coordinates of a tag, and \(P_i = [ x_i , y_i, z_i]\) the i-th position of the moving antenna, the distance ranges can be computed as:

$$\begin{aligned} r_i = \Vert P_i - P \Vert = \sqrt{(x_i-x)^2 + (y_i - y)^2 + (z_i - z)^2} \end{aligned}$$
(2)

Without losing generality, it is possible to consider the measurements referred to the first reading \(r_1\) and define:

$$\begin{aligned} m_i = r_i -r_1 \,\,, \,\,\, \,\,\, \,\,\, i=(2,3,4, \dots , n) \end{aligned}$$
(3)

In the TDOA literature, \(m_i\) are pseudo ranges representing the time difference of a traveling wavefront touching each antenna position.

It is worth noticing that the ambiguity generated by the phase cycle has been addressed by using an unwrapping algorithm to efficiently use the presented method. This method adjusts the phase angles by adding multiple cycles when absolute jumps between consecutive phase samples are greater than or equal to the jump tolerance \(\pi\). Naming the unwrapped phase \(\phi ^u\), the procedure is equivalent to:

$$\begin{aligned} \phi ^u_0&= \phi _0 \end{aligned}$$
(4)
$$\begin{aligned} \phi ^u_i&= \phi _i - 2\pi * \left\lfloor {\frac{\phi _i-\phi ^u_{i-1}}{2\pi }+\frac{1}{2}}\right\rfloor \end{aligned}$$
(5)

3.1 Least mean squares method 1

A least mean squares (LMS) method can be applied to find a 3D estimation of the tag pose. The procedure involves the definition of a system of equations that represent the squares of the ranges Eqs. (2) and (3).

$$\begin{aligned} {\left\{ \begin{array}{ll} (x - x_1)^2 + (y - y_1 )^2 + (z - z_1)^2 = r_1^2 \\ (x - x_2)^2 + (y - y_2 )^2 + (z - z_2)^2 = (r_1+m_2)^2 \\ \,\, \dots \\ (x - x_n)^2 + (y - y_n )^2 + (z - z_n)^2 = (r_1+m_n)^2 \end{array}\right. } \end{aligned}$$
(6)

Subtracting the first row from the others, it follows:

$$\begin{aligned} (P-Pi)^2 - (P-P_1)^2 = r_1m_i + m_i^2 \end{aligned}$$
(7)

After a few passages

$$\begin{aligned}&(P-P_i)^2 - (P-P_1)^2 = \end{aligned}$$
(8)
$$\begin{aligned} = { [(P-P_i) - (P-P_1)][(P-P_i) + (P-P_1)]} \end{aligned}$$
(9)
$$\begin{aligned} = {(P-P_i-P+P_1)(P-P_i+P-P_1+P_1-P_1)} \end{aligned}$$
(10)
$$\begin{aligned} =&- (P_i -P_1)2(P-P_1) + (P_i-P_1)^2 \end{aligned}$$
(11)

the following matrix form is obtained:

$$\begin{aligned} 2 A (P-P_1) = c + r_1 d \end{aligned}$$
(12)

with

$$\begin{aligned} A=\left[ \begin{array}{cc} (P_2 - P_1)^T \\ (P_3 - P_1)^T \\ \dots \\ (P_n - P_1)^T \end{array} \right] , \, c = \left[ \begin{array}{cc} \Vert P_2 - P_1\Vert ^2 - m_2^2 \\ \Vert P_3 - P_1\Vert ^2 - m_3^2 \\ \dots \\ \Vert P_n - P_1\Vert ^2 - m_n^2 \end{array} \right] \end{aligned}$$
(13)

and \(d = [-m_2 \,, -m_3 \,, \dots \,, -m_n]^T\) which LMS solution is obtained as:

$$\begin{aligned} (P-P_1) = \frac{1}{2}A^+(c+r_1d) , \,\, A^+ = (A^TA)^{-1}A^T \end{aligned}$$
(14)

A solution in the quadratic form of \(r_1\) can be obtained by assigning \(C = \frac{1}{2}A^+c\) and \(D = \frac{1}{2}A^+d\) and squaring the Eq. (14) to obtain

$$\begin{aligned} (\Vert D\Vert ^2 -1) r_1^2 + 2 C^T D r_1 + \Vert C \Vert ^2 = 0 \end{aligned}$$
(15)

It is worth noticing that if the z measure does not change during the antenna trajectory (e.g., during planar motion), the A matrix results degenerate and it is not possible to obtain a 3D estimation.

3.2 Least mean squares method 2

Starting again from (6), and analogously subtracting the first row from the others, it is possible to refactor Eq. (7) obtaining the following formulation:

$$\begin{aligned} -2(P_i-P_1)^TP+\Vert P_i\Vert ^2 - \Vert P_1\Vert ^2 = r_1m_i+m_i^2 \end{aligned}$$
(16)

The system can be written in matrix form as:

$$\begin{aligned} 2A\left[ \begin{array}{cc} P \\ r_1 \end{array} \right] = b \end{aligned}$$
(17)

with

$$\begin{aligned} A = \left[ \begin{array}{cc} (P_2 - P_1)^T &{} m_2\\ (P_3 - P_1)^T &{} m_3\\ \dots \\ (P_n - P_1)^T &{} m_n \end{array} \right] ,\, b = \left[ \begin{array}{c} \Vert P_2\Vert ^2 - \Vert P_1\Vert ^2 - m_2^2\\ \Vert P_3\Vert ^2 - \Vert P_1\Vert ^2 - m_3^2\\ \dots \\ \Vert P_n\Vert ^2 - \Vert P_1\Vert ^2 - m_n^2 \end{array} \right] \end{aligned}$$
(18)

and a LMS solution can be found solving for:

$$\begin{aligned} \left[ \begin{array}{cc} P \\ r_1 \end{array} \right] = \frac{1}{2} A^+ b \end{aligned}$$
(19)

where \(r_1\) is equal to \(\Vert P-P_1\Vert\) but is computed without any constraint.

3.3 Least mean squares method 3

The previous method could be extended to employ multiple antenna readings. The main problem with this approach is that the reference for the antenna readings cannot be related to the position \(P_1\) of the first reading but is unique for each antenna. In particular, considering the case when two antennas have been placed on a mobile robot, calling U the first antenna (upper) and L the second one (lower), the following equations can be written:

$$\begin{aligned} {2(P_{iU}-P_{1U})^TP+ r_{1U}m_{iU} = \Vert P_{iU}\Vert ^2 - \Vert P_{1U}\Vert ^2 - m_{iU}^2 }\end{aligned}$$
(20)
$$\begin{aligned} {2(P_{iL}-P_{1L})^TP+ r_{1L}m_{iL} = \Vert P_{iL}\Vert ^2 - \Vert P_{1L}\Vert ^2 - m_{iL}^2} \end{aligned}$$
(21)

Moving to matrix form, an LMS solution can be found from

$$\begin{aligned} \left[ \begin{array}{cc} P \\ r_{1U} \\ r_{1L} \end{array} \right] = \frac{1}{2} A^+ b \end{aligned}$$
(22)

with

$$\begin{aligned} A = \left[ \begin{array}{ccc} (P_{2U} - P_{1U})^T &{} m_{2U} &{} 0\\ (P_{3U} - P_{1U})^T &{} m_{3U} &{} 0\\ \dots \\ (P_{nU} - P_{1U})^T &{} m_{nU} &{} 0 \\ (P_{2L} - P_{1L})^T &{} 0 &{} m_{2L} \\ (P_{3L} - P_{1L})^T &{} 0 &{} m_{3L} \\ \dots \\ (P_{nL} - P_{1L})^T &{} 0 &{} m_{nL} \end{array} \right] \end{aligned}$$
(23)

and

$$\begin{aligned} b = \left[ \begin{array}{c} \Vert P_{2U}\Vert ^2 - \Vert P_{1U}\Vert ^2 - m_{2U}^2\\ \Vert P_{3U}\Vert ^2 - \Vert P_{1U}\Vert ^2 - m_{3U}^2\\ \dots \\ \Vert P_{nU}\Vert ^2 - \Vert P_{1U}\Vert ^2 - m_{nU}^2\\ \Vert P_{2L}\Vert ^2 - \Vert P_{1L}\Vert ^2 - m_{2L}^2\\ \Vert P_{3L}\Vert ^2 - \Vert P_{1L}\Vert ^2 - m_{3L}^2\\ \dots \\ \Vert P_{nL}\Vert ^2 - \Vert P_{1L}\Vert ^2 - m_{nL}^2\\ \end{array} \right] \end{aligned}$$
(24)
Fig. 5
figure 5

Intersection between two two-sheeted hyperboloids. The cyan line shows the intersection curve that lays on a plane

3.4 Least mean squares method 4

In this method, the intersection between two-sheet hyperboloids is computed starting from single-antenna readings.

$$\begin{aligned} {\left\{ \begin{array}{ll} \sqrt{(x - x_1)^2 + (y - y_1 )^2 + (z - z_1)^2} = r_1 \\ \sqrt{(x - x_2)^2 + (y - y_2 )^2 + (z - z_2)^2} = r_2 \\ \,\, \dots \\ \sqrt{(x - x_n)^2 + (y - y_n )^2 + (z - z_n)^2} = r_n \end{array}\right. } \end{aligned}$$
(25)

Subtracting the first equation from the i-th equation, we obtain the equation of a hyperboloid and squaring the result it follows:

$$\begin{aligned} 2P^T(P_i-P_1)-\Vert P_1\Vert ^2-\Vert P_i\Vert ^2 + m_i^2 = -2m_ir_1 \end{aligned}$$
(26)

If we select the i-th and the k-th readings, and we compute the equation as above, it is possible to subtract the first from the second to obtain the equation of a plane where the intersection between two-sheet hyperboloids lays. Fig. 5 shows an example of intersection locus between two hyperboloids.

Fig. 6
figure 6

Trajectory of the two simulated antennas in synthetic dataset 1. The position of a tag and the estimations obtained from the presented methods are shown according to the visible symbols legend

Fig. 7
figure 7

Boxplot of the 3D localization error of the methods in dataset 1

The resulting plane can be computed as:

$$\begin{aligned} P^Tv+c=0 \end{aligned}$$
(27)

where the normal vector v is defined as

$$\begin{aligned} v = 2[(P_k-P_1)m_i-(P_i-P_1)m_k] \end{aligned}$$
(28)

and the constant term c given by:

$$\begin{aligned} c = m_i(\Vert P_1\Vert ^2-\Vert P_k\Vert ^2+m_k^2) - m_k(\Vert P_1\Vert ^2-\Vert P_i\Vert ^2+m_i^2) \end{aligned}$$
(29)

Considering all possible intersection planes, an estimation of the best intersection point (tag location) could be obtained with an LMS procedure.

In the case of planar motion of the antenna, all the intersecting planes will be perpendicular to the motion path and no clue will be given about the z-coordinate of the intersection.

4 Experiments

Three different datasets have been employed to analyze the performances of the proposed methods. The first two datasets contain virtual data that has been generated by simulation. The third dataset comes from an indoor experimental setup. All the datasets provide positions and respective phase signals of two moving antennas and fixed tags.

Synthetic datasets allowed the executions of multiple Monte Carlo simulations over different noise conditions considering signal reflections, multipath, electrical, and thermal noises. The real dataset shows the correspondence of the estimated performance with actual data. The measured 2D and 3D errors on each experiment are defined as:

$$\begin{aligned} 2D_{error}=\sqrt{(x -\hat{x})^2 + (y - \hat{y})^2}\,, \end{aligned}$$
(30)
$$\begin{aligned} 3D_{error}=\sqrt{(x -\hat{x})^2 + (y - \hat{y})^2 + (z - \hat{z})^2} \end{aligned}$$
(31)

with (xyz) the exact location of a tag and \((\hat{x},\hat{y}, \hat{z})\) its estimated position.

4.1 Synthetic dataset 1

The first dataset has been generated in MATLAB simulating the motion of two antennas on a free workspace measuring the phase signal of a tag positioned in \(P_{tag} =[ -1, -0.5, 1.5]\). The two antennas are distanced 0.25 cm from each other on the z-axis, and they are supposed to be mounted on top of a mobile robot, which moves along a path composed of three segments. The upper antenna starts at \(P_{1U}= [0.5, -2.0, 1.2]\), while the lower antenna is at \(P_{1L}=[ 0.5, -2.0, 0.95]\). Antenna 1 moves on a three-segment path: the first segment starts from \(P_{1U}\) and moves on the x-axis for 100 steps of 5 cm stride; in the second segment, the motion continues on the y-axis for other 100 steps; and in the last segment, the antenna moves back on the x-axis for 100 steps reaching the final position of \(P_{300U} = [0.5, 3.0, 1.2]\). Antenna 2 moves accordingly, and the resulting path is visible in Fig. 6. The z-coordinate of each antenna is generated with random noise of 1 mm for numerical stability of the algorithms.

In this simulation, no multipath effects are considered, and the generated phase signals are combined with a zero-mean Gaussian noise with 0.1 rad standard deviation. The simulation has been repeated 100 times to verify the methods’ robustness to varying conditions like not modeled thermal noise.

Concerning the 2D localization error, results show reliable estimations by all the methods since the highest 2D distance error has been obtained by method 1 and was equal to a 7-mm mean with a 4-mm standard deviation. The 3D position estimations display larger errors as expected (Fig. 7). Method 4 resulted more sensible to the planar motion of the antennas showing a larger standard deviation. Methods 2 and 3 are similar as expected, but method 3 presented a lower variability. Method 1 performs slightly better than the other methods in the 3D localization reversing the results obtained in 2D localization. It is worth noticing that the computational time for all the methods allows an online estimate of the tag positions since it is between 3 and 8 ms for a 300 readings trajectory on an Intel Core i7 620M at 2.67 GHz running the methods as m-functions under Matlab 2018a.

Fig. 8
figure 8

Example trajectory performed by the virtual antenna on a single run of the Monte Carlo simulation of the synthetic dataset 2. The plot shows the position of two tags and their estimated position by the presented methods

Fig. 9
figure 9

Bar plot of the average tag position estimation distance error obtained from the presented methods on the synthetic dataset 2. Both 2D and 3D distance errors are shown

4.2 Synthetic dataset 2

The second dataset has been generated attaching an antenna on a mobile robot simulated inside the Gazebo simulator under ROS and employing the RFID plugin presented in [48]. This plugin allows for the simulation of RFID phase signals according to the equation:

$$\begin{aligned} \phi _n = \left( \phi _0 + \frac{2\pi }{\lambda }\,2\,D\right) mod \, 2\pi , \end{aligned}$$
(32)

from which Eq. (1) can be obtained. The robot has been moved inside a free workspace on all the three axes to generate a synthetic aperture on the x, y, and z coordinates. A Monte Carlo simulation has been performed by analyzing 100 test paths and random tag locations to obtain statistical information about the localization performance of the methods. The phase signals have been generated considering a Gaussian noise with zero mean and 0.1 rad standard deviation.

Figure 8 shows one example trajectory and two tags placed in the synthetic environment along with localization results by the proposed methods. It is visible that the error of the estimation for all the methods is of centimeter order. It could be explained by the trajectory motion involving all three axes, and consequently, the methods present no singular matrices and no evident numerical errors in the matrix inversions.

Figure 9 shows a bar plot of the mean error distances obtained in this dataset by the proposed methods.

Comparing the results obtained within this dataset with the results from dataset 1, it is evident that the antenna motion along the z-coordinate improves the estimation accuracy of an order of magnitude.

Fig. 10
figure 10

Hardware equipment employed for the experimental dataset. The mobile robot is a Pioneer3-AT with two RFID antennas mounted on a pole

4.3 Experimental dataset

An experimental measurement campaign was carried out in an indoor environment employing a Pioneer 3-AT UGV manufactured by MobileRobots. Two UHF-RFID circularly polarized WANTENNAX019 antennas by C.A.E.N. RFID [49] and an Impinj Speedway Revolution R420 [50] reader were installed on top of the robot (Fig. 10). The upper and lower antennas have been placed at 125 cm and 75 cm in height, respectively.

The robot is skid-steering with a four-wheel drive and can rotate on the place with a zero radius. The robot has an array of 16 sonars arranged along the four sides and a computer connected to a microcontroller that interfaces with the motors and manages the odometer update and the obstacle detection by using the sonar sensors. Laser data have been captured employing a Hokuyo laser range finder (UTM-30LX). An Impinj Monza R6 chip tag with a sensitivity of -22.1 dBm was placed inside an office. The reader input power was set to \(P_{TX}= 27\) dBm, and the measurements were acquired at a frequency of \(f_0 = 865.7\) MHz (ETSI Channel 4).

The robot has been moved inside the indoor environment employing a joystick interface, and the antenna paths have been estimated by a simultaneous localization and mapping (SLAM) algorithm with a centimeter order accuracy [51]. Robot motion followed a curve path around the tag as shown in Fig. 11. To have statistical significance, this kind of movement has been repeated 10 times, and each time, a sample of 100 readings from the acquired measurements has been selected for comparison. In Fig. 11, one of the acquired motion is shown along with the obtained tag localization estimations from the proposed methods.

The experiments were run on an office presenting metallic elements like structural beams, computers, electronic devices that could cause electrical interference, reflective surfaces like walls, and office desks producing multipath phenomena. Despite these disturbances sources, the obtained 2D localization accuracy resulted promising, while 3D localization is shown to be competitive concerning the most recent literature. Figure 12 shows the localization error obtained in the experimental dataset 3.

Fig. 11
figure 11

Trajectory performed by the antennas around an RFID tag during one motion of the mobile robot. The tag location, the antenna positions, and the proposed methods estimations are shown

Fig. 12
figure 12

Localization errors of the proposed methods for 2D and 3D estimations

Table 1 A comparison with state-of-the-art methods concerning the 2D localization error

Concerning 2D localization, Table 1 shows a comparison with results from SOTA algorithms. In particular, recent methods employing the phase unwrapping strategies are reported, as well as the Tagoram [52] reference algorithm. Tagoram has been shown to achieve mm-level accuracy in well-known and laboratory structured environments, while it is reported to have a median error accuracy of 12.3 cm employing 4 antennas in a less controlled experiment and with a computation time of at least 2.5 seconds. As it is visible from the table, all four methods show good accuracy in 2D localization in a real scenario.

Concerning 3D localization, referring to Table 2, all the presented methods obtained a mean accuracy lower than 34.8 cm as reported in [46], where the computation time is around 50 seconds, and not suitable for online estimation. Considering the results in [47], the methods 2 and 4 obtain comparable accuracy taking into account the variance of the estimation while, method 3, which employs a dual antenna setup, achieves a mean error of 13 cm, thus improving on the result obtained by such method.

Table 2 A comparison with state-of-the-art methods concerning the 3D localization error

5 Conclusion

The ongoing industrial revolution demands efficient logistics and inventory management in warehouses. The mobile robotics sector is growing more and more, intending to satisfy such demands. Efficient robot motion and planning depend on precise localization, mapping, and awareness of the environment. The overall efficiency mainly relies on specialized sensing technologies to track the robot’s motion and measure the positions of the items with accuracy. Recent attempts employing radio frequency identification (RFID) in a 3D environment have been made to localize the items properly. This manuscript addresses the problem of RFID tag localization by using multilateration techniques that employ time-of-arrival measurements on RFID phase signals to obtain estimations of the localization of passive RFID tags. Given a mobile robot equipped with a reader antenna and a tag positioned in the surrounding environment, the motion of the antenna generates a synthetic aperture. The system receives the phase measurements from the RFID tags and generates a distance model through phase unwrapping. Solving a multilateration problem is equivalent to computing the intersection of two-sheeted hyperboloids in the 3D space. By knowing the pose of the robot at two different time instants and the phase difference between the two measurements, the tag location can be found on the hyperboloid surface. The tag position can be found at the intersection between two hyperboloids by adding a third measurement. With a fourth reading, it is possible to determine the precise location of the tag. Furthermore, it is possible to increase the estimation accuracy of the localization procedure by using additional measurements.

Formulating the system of equations that represent the squares of the ranges between the tag coordinates and the varying position of the moving antennas, the least-squares optimization method is applied to explore four methods. Three approaches are based on single-antenna reading, while the other one leverages multiple antenna readings to estimate the position of passive RFID tags. Such methods are tested using three different datasets. The first two datasets contain virtual data that has been generated by simulation. The third one comes from an indoor experimental setup. Synthetic datasets allowed the executions of multiple Monte Carlo simulations over different noise conditions considering signal reflections, multipath, electrical, and thermal noises.

It has to be noticed that the motions that involve a synthetic aperture on all the 3D coordinates improve the methods estimations. Additionally, in the case of environmental noises, like multipath, reflections, unmodelled antenna properties, and thermal disturbances, the use of multiple antennas shows better accuracy. Limitation to the usability of the proposed techniques comes from the maximum feasible motion between two antenna readings that depends on the lambda parameter and should be satisfied to obtain smooth unwrapped phase distances. If this constraint is not guaranteed, the reconstructed phase distance could show holes compromising the accuracy of the reconstruction. It is recommendable to design the antenna motion accordingly, and, if a mobile robot is used for the antenna motion as in the experimental tests, the robot localization and navigation algorithm should satisfy such constraints.