The Role of the RFID Polarization Mismatch in the Simultaneous Localization and Mapping Problem

Several localization algorithms exploit the dependence of the phase shift of the backscattered RFID signal on the tag to the reader distance. However, in some configuration setups, the phase shift also depends on the relative orientation between the tag’s and the reader’s antenna. In this paper we investigate the effects of this dependence on the Simultaneous Localization and Mapping (SLAM) problem, by comparing the approach where this dependence is included in the measurement model with the approach where it is rather compensated through a time varying phase offset subject to estimation. Simulation and experimental results show that the algorithm which includes this dependence in the measurement model provides better performances with respect to the other approach. Some indications and numerical results are also reported in the paper to evaluate if this dependence may be beneficial in solving the SLAM problem.

The Role of the RFID Polarization Mismatch in the Simultaneous Localization and Mapping Problem Emidio Di Giampaolo , Francesco Martinelli , and Fabrizio Romanelli , Graduate Student Member, IEEE Abstract-Several localization algorithms exploit the dependence of the phase shift of the backscattered RFID signal on the tag to the reader distance.However, in some configuration setups, the phase shift also depends on the relative orientation between the tag's and the reader's antenna.In this paper we investigate the effects of this dependence on the Simultaneous Localization and Mapping (SLAM) problem, by comparing the approach where this dependence is included in the measurement model with the approach where it is rather compensated through a time varying phase offset subject to estimation.Simulation and experimental results show that the algorithm which includes this dependence in the measurement model provides better performances with respect to the other approach.Some indications and numerical results are also reported in the paper to evaluate if this dependence may be beneficial in solving the SLAM problem.

I. INTRODUCTION
R OBOT localization is an important issue in many application domains.Several approaches, like the one proposed in this paper, exploit UHF-RFID signals and passive tags to determine the robot location (see, e.g., [1], [2], [3], [4], [5], [6]).As observed in the survey paper [7], one of the most relevant robot localization approaches based on the RFID technology is the one where proprioceptive sensors (like wheel encoders) are combined with the phase shift in the signal backscattered by UHF RFID passive tags.This is also the approach considered in this paper.In several applications the RFID reader is onboard the robot and the tags are located in the environment (e.g., on the ceiling, like in this paper).When the position of the tags is not known, as in the case here considered, a Simultaneous Localization and Mapping problem arises, where both the robot position and the tag location must be estimated.
One of the main issues investigated in this framework is the phases ambiguity, according to which several tag-reader distances produce the same phase shift in the backscattered signal.This is a relevant problem and a vast literature has been devoted to solve it (see, e.g., [1], [8], [9], [10], [11]).However, in some configuration setups, namely when the tag's and the reader's antennas are, respectively, linearly and circularly polarized (or vice-versa), the phase in the RFID signal also depends on the relative orientation between the two antennas.This phenomenon is not relevant in applications where the orientation between the two antennas is not changing or, on the contrary, it can be exploited, as in [12], to estimate the rotation of a tagged object placed at a constant distance from the reader.
The change in the phases due to this phenomenon can also be considered as a time varying offset in the phase measurements (see also [13]), which can be included among the estimated variables, as done, e.g., in [14], [15].
The estimation of a time varying offset, where the dynamic is completely ignored, is expected to produce worse performances with respect to the case this phenomenon is included in the measurement model and thus considered in the estimation algorithm.Initial results in this direction have been reported in [16], in a tag localization context, where the objective was to estimate the relative position of a tag with respect to a mobile unit.We observed, based on simulation results, that the approach where this phenomenon is included in the measurement model outperforms the algorithm where only a time varying offset subject to estimation was considered to compensate the phase variation.This paper extends the work in [16] mainly in three directions: • we consider a SLAM problem, where both the robot position and the tag's locations in the environment must be estimated; • an experimental comparison is reported in addition to simulation results; • we include, mainly based on simulation results, some indications on which setup may be more beneficial to solve the SLAM problem between the case the phase dependence on the orientation is not present (e.g., both circularly polarized antennas) or is present (e.g., reader and tag with, respectively, circularly and linearly polarized antennas).The SLAM solution approach considered in this paper is based on the algorithm presented in [15], which is slightly modified to deal with the different measurement model, where the phenomenon of the dependence of the phase measurements on the antenna's orientation is present.This phenomenon, to the best of the authors knowledge, has never been considered before in the literature in a SLAM context.Since SLAM based on RFID phase measurements is becoming more and more considered in the literature, this paper investigates the following issues: 1) the RFID setups where this phenomenon could occur; 2) the effects of not considering this phenomenon in the measurement model when present; 3) if the presence of this phenomenon (when modeled) may improve the performance of a SLAM algorithm.This last issue, connected with the degree of observability of the system, may provide useful guidelines in the selection of the antenna of the tags.
The paper is organized as follows: in Section II we define the problem and introduce some notation.In Section III we present the approach proposed to solve the problem defined in Section II.Some numerical results are reported in Section IV, to compare the proposed approach with the method presented in [15] (Section IV-A) and to investigate about possible benefits on the SLAM problem which may come from the dependence of the phase measurements on the antenna's orientation (Section IV-B).A detailed discussion on the simulation results, focusing on the comparison amongst the various cases analyzed in the paper, is presented in Section IV-C.An experimental comparison with the approach proposed in [15] is reported in Section V while some concluding remarks are drawn in Section VI.

II. NOTATION AND PROBLEM FORMULATION
We consider a Simultaneous Localization and Mapping (SLAM) problem, where both the robot pose and the position of the RFID tags must be estimated.
The robot is a unicycle like mobile unit.At sampling time k, its pose is denoted by p k = (x rk , y rk , θ k ), being (x rk , y rk ) the robot position and θ k its orientation (see Fig. 1).
Let L be the number of RFID tags in the environment.Tag i, comprising a linearly polarized antenna, is located in an unknown position (x i , y i ), i = 1, 2, . . ., L on the ceiling of the environment, which height is roughly known.
All the coordinates introduced so far are expressed with respect to an absolute reference frame, which is defined by taking the origin in the initial robot position (referred to the phase center of the reader's antenna), vertical axis z (i.e., the floor is parallel to the plane (x, y)) and the x-axis along the direction identified by the initial orientation of the robot.According to this definition, the z coordinate of the reader's antenna phase center during the robot motion is always 0 while h represents the distance between the ceiling hosting tags and the plane where the phase centre of the reader's antenna moves.For brevity, in the following h will be referred to as the ceiling height, even if it actually represents the tag's heights with respect to the reader's antenna.
The measurements available to solve the problem are the encoder readings associated with the two actuated wheels of the robot and the phase shift in the RFID signal backscattered by the tags on the ceiling.The reader, equipped with a circularly polarized antenna, is assumed onboard the robot.
Fig. 1.Schema of the model setup with the robot used in the experiments: p k robot's pose, P T,i i-th tag position.Both p k and P Ti are defined with respect to the phase centre of reader's and tag's antenna, respectively.h is the distance between parallel planes: the ceiling hosting tags and the plane where the phase centre of reader's antenna moves.P H,i is the projection of the tag's phase centre onto the plane of the reader while ρ i,k and β i,k are respectively the distance and the bearing of P H,i with respect to the reader's antenna.γ is an angle referred to the boresight of reader's antenna.
The value of the constants K R and K L , which can be determined through a suitable calibration procedure, will be indicated in the numerical tests together with the value of the gap d between the left and the right wheels.
As for the phase measurements at time instant k, they depend on the distance D i,k between the phase centres of reader's and the i-th tag's antenna and on the kind of used antennas.Since we consider a circularly polarized reader's antenna and a linearly polarized tag's antenna, phase measurements also account for the rotation of the robot during its path as explained in [12] and in [16].The phase of the backscattered signal measured by the reader is: where 2K 0 D i,k accounts for the round trip between the phase centres of reader's and tag's antenna (with K 0 = 2π/λ, being λ the wavelength of the signal), n φ,k is a 0 mean Gaussian random variable with standard deviation σ φ that models the measurement error and φ ofs,i is a phase offset that depends on the specific tag i. θ p,k instead is a quantity that depends on the instantaneous relative orientation between reader's antenna and tag's antenna as explained in the following.In our scenario the reader's antenna points toward the ceiling, i.e., the boresight direction is parallel to the z axis in Fig. 1.That direction is assumed to be along γ = 0 in the scheme of Fig. 1.Since a circularly polarized antenna changes its polarization from circular to elliptical or linear as a function of angle γ (the radiation pattern of the reader's antenna is rotational symmetric), we introduce a parameter AR(γ ) called axial ratio that is a measure of the ellipticity of the radiated field (0 < AR < 1).Depending on the direction of the link between reader and tag antennas, it accounts for the polarization of reader antenna when the robot moves.In that condition, we have [12]: where θ k = θ k − i represents the relative orientation between the reader's and the tag's antennas (which orientation is shown as unit vectors vk and t, respectively, in Fig. 1).
As an example, we show in Fig. 2 the phase of the backscattered signal when the robot follows a straight path toward the tag and then it comes back turning on itself (Fig. 2

(a)).
A tag is placed in T(0, 0.3, 2.5) while the robot starts from S(−1, 0, 0), arrives at P(0, 0, 0) with a straight path, then comes back after a rotation of 180 o .The phase of the received signal shows different behaviours along the straight path (dashed line) and during rotation (continuous line) (Fig. 2 (b)).
If AR ≈ 1, as it occurs when the tag is detected by the robot in the vicinity of its projection (i.e., for small values of γ ), θ p,k ≈ θ k − i and (1) simplifies in: where the offset φ oi = φ ofs,i − 2 i also includes the constant angle i .This is the measurement model adopted in our simulation and experimental results.
According to the notation introduced so far, the problem addressed in this paper is the estimation of the robot pose p k and of the position (x i , y i ), i = 1, 2, . . ., L of all the RFID tags.Since the phase offset φ oi in the expression of the phase measurements (see Eq. ( 3)) is usually unknown, it will be included among the estimated quantities.Due to the considered setup where tags are located on the ceiling above the reader's antenna, the effect of a perturbation on the phase offset φ oi is roughly equivalent to a proper perturbation on the ceiling height h (i.e., as also observed in [17], a ceiling height h and an offset φ oi roughly provide the same phase measurements of a ceiling height h + δ h and offset φ oi + δ oi for proper δh and δ oi ).As a consequence, the estimation of the offset will allow to compensate also possible ceiling unevenness and the errors associated with the ceiling height measurement.

III. SOLUTION APPROACH
The solution approach to solve the SLAM problem defined in Section II is based on the algorithm presented in [15], which is modified to take into account the dependence of the phases on the antenna's orientation in the measurement model.The details of the algorithm can be found in [15].For convenience, however, a sketch of the structure of the approach, together with the description of the main differences with respect to [15], is reported in this section.
The main core of the algorithm is an EKF-SLAM which estimates both the robot pose p k = (x r,k , y r,k , θ k ) at time k, and the position (x i , y i ) and the offset φ oi , i = 1, 2, . . ., L, of the L tags.The state of the EKF-SLAM algorithm is then given by The prediction step of the filter exploits the robot motion model and the encoder readings u e Rk and u e Lk , associated respectively with the right and the left wheel of the robot, to determine an a priori estimate X− k+1 and its covariance matrix P − k+1 .The a priori estimate is given by: where f denotes the robot unicycle dynamics and the constant dynamics of the tag variables (constant since tags are not moving and the offsets are assumed constant quantities).The equation to obtain the a priori covariance matrix is as follows: where F k and W k are, respectively, the Jacobian matrices of the state dynamics f (X, u e R , u e L ) with respect to the state X and to Authorized licensed use limited to the terms of the applicable license agreement with IEEE.Restrictions apply.Then, the correction step of the EKF-SLAM uses as measurements the estimate of the range ρ i,k = (x r,k − x i ) 2 + (y r,k − y i ) 2 and the bearing β i,k = θ k − atan2(y i − y r,k , x i − x r,k ) of the projection on the floor of each detected tag i at time step k, to determine the posteriori estimate Xk+1 and its covariance matrix P k+1 .
As in [15], the estimate of (ρ i,k , β i,k ) (and of the phase offset φ oi as well) is obtained by a Multi Hypothesis Extended Kalman Filter (MHEKF), one for each tag i.The MHEKF comprises a set of EKF instances initialized with a different estimate ( ρi,0 , βi,0 ) (the initial estimate φoi,0 = 0 is the same for all the EKF instances).This is performed in view of the phase periodicity (according to which a phase measurement may correspond to several tag-reader distances) and of the independence of the phase measurement on the bearing of the tag, i.e., different possible ρ i,0 and β i,0 may produce the same phase measurement φ i,0 .
Each EKF instance in the MHEKF associated to tag i is fed with the encoder readings and with the phase measurements φ i,k of the RFID signal backscattered by tag i and its likelihood is weighed according to the agreement with the measurements.The instance with the largest weight is selected to provide the range and the bearing estimate of tag i.A schema of the structure of the overall algorithm is reported in Fig. 3.In the figure, the main difference of the solution proposed in this paper with respect to the one described in [15] is highlighted by the red dashed line associated with the estimate θk of the robot orientation produced by the main EKF-SLAM algorithm.This estimate, unlike in [15], is fed in each MHEKF to produce the expected phase measurement, which, according to (3), for tag i and instance , is given by: where is the estimated distance between the reader and tag i considering the estimate ρ i,k of the range of tag i provided by instance of the MHEKF associated with tag i.Similarly, φ oi,k is the estimate of the offset of tag i provided by the same instance.Eq. ( 6) is different from the one considered in [15], where the phase measurement was considered independent of the relative orientation between the tag and the reader's antennas and thus the term 2 θk was not included in the expression of the expected measurement.
An additional difference concerns the standard deviation σ φ o associated with the dynamics of the offset φ oi of each tag i.Since this is a constant quantity and its value is not supposed to change during the observation, in this paper we take σ φ o = 0. On the contrary, it was different from 0 in [15] to compensate with a time varying offset the unmodeled dependence of the phases on the change of the orientation between the tag and the reader's antennas due to the robot motion.It must be remarked that the standard deviation σ φ o,0 of the initial offset estimate is in any case taken large enough to model the fact that the offset is completely unknown and may take any value in (0, 2π) (e.g., σ φ o,0 can be taken equal to 2π/3).

IV. NUMERICAL INVESTIGATION AND EXAMPLES
This section shows the simulations that have been performed to assess the performances of the presented method.In particular, the considered scenario is a 2 × 2 m 2 indoor environment where UHF-RFID data have been generated synthetically and corrupted by Gaussian noise.
The agent moving around the environment is a robot performing random paths similar to those represented in Fig. 4 Fig. 4. Simulation scenario considered in Section IV, with the tags in position (1.0, 0.0), (1.0, 1.5), (0.0, 1.0) and one random robot trajectory.The small green square box represents the starting point of the considered trajectory, which is 7.89 m long and is covered in 1000 simulation steps.The small green circle represents where the robot stops.and that are created by picking the robot's beginning position and orientation at random, as well as by numerically generating the odometry measurements with a Gaussian error.The robot moves straight forward at a steady pace, covering around 1 cm in each time step.The robot covers around 5 • every time step while turning.The duration T of the simulations considered in this section is 1000 steps, corresponding to an average of about 8 m of traveled distance (depending on the number of turns performed).
The parameters of the robot are as follows: d = 26 cm is the distance between the actuated wheels, K R = K L = 0.01 cm are the parameters characterizing the error in the encoder readings (as defined in Section III).The UHF-RFID tags are located at a height h = 2.5 m with respect to the robot antenna and the estimated height is perturbed over each simulation adding a Gaussian random variable with a standard deviation of 3 cm (this is due to the fact that the ceiling height is known with a certain approximation).Furthermore, the unknown offset φ o on the phase measurements depending on the hardware is also considered in the simulations as a random value from 0 to 360 degrees, different in each simulation.
A set of simulations is reported in Section IV-A to illustrate the behavior of the proposed approach in a noisy environment, where phase measurements are characterized by a Gaussian noise with standard deviation σ φ = 10 • and with the phase measurements being dependent on the robot orientation θ ; here we make a comparison between the proposed approach and the approach presented in [15].Furthermore, in Section IV-B, a set of simulations is reported to explore the benefits which may come in the solution to the SLAM problem whether or not the phase measurements depend on the antenna's orientation.Finally, a discussion on the simulation results, focusing on the comparison amongst the case where phases are orientation independent and the case they are dependent (modeled or unmodeled), is presented in Section IV-C.

A. First Simulation Set
In this section, the results of a set of 1000 simulations are reported to compare the algorithm where the dependence of the phase measurements on the robot orientation is modeled (as in this paper) and the case it is not modeled (as in the algorithm in [15]).Specifically, the phase measurements have been generated in both cases according to Eq. ( 3), where also the robot orientation has been taken into account.
Each simulation comprises 1000 steps and is run with random generated robot paths, as described at the beginning of Section IV.For each simulation, the difference d ij between the estimated and the true inter-tag distance between tags i and j has been computed for all the three tags.The values d 12 , d 13 , d 23 (and their mean d ij ) reported in Table I are the average values over 1000 simulations, where the distances have been computed at the end of each simulation.The values in bold represent the best values.It can be observed that, even if the average performance of the two methods reported in the table is comparable, the presented method provides a good estimate for two distances over three ( d 13 and d 23 ) while the other method presents a good behavior only for d 13 .
Furthermore, for each simulation, the difference d i between the estimated and the true distance between the robot and tag i has been computed, together with its average for all the three tags.The results are reported in Table II, where the values in bold represent the best obtained values.The values d 1 , d 2 , d 3 reported in Table II are the average values over 1000 simulations, where the distances have been computed at the end of each simulation.
In order to better evaluate the performances, the difference between the true and estimated robot heading θ k at the end of each simulation has been computed and the average amongst 1000 simulations is 2.34 • for the presented method and 3.57 • for the method presented in [15].
Overall, from these results, it can be observed that the presented method provides in general slightly better performances with respect to the method presented in [15], in particular as it concerns the robot localization task.

B. Second Simulation Set
A set of simulations is reported in this section in order to compare the case the phase measurements depend on the antenna's orientation (this is the situation considered in this paper) and the case this dependence is not present.
So, differently from the set presented in Section IV-A, in one case the phase measurements have been generated according to Eq. ( 3), where also the robot orientation has been taken into account and where the presented method has been applied whereas in the other case the phase measurements are not dependent upon the robot orientation and the method presented in [15] has been applied.In this simulation set, 1000 simulations (each one comprising 1000 steps) have been run with random generated robot paths, as described at the beginning of Section IV.For each simulation, the difference between the estimated and the true inter-tag distance has been computed for all the three tags; also, the average inter-tag distance between the three tags has been reported in Table III The difference between the estimated and the true distance between the robot and the tags, together with its average for all the three tags, is reported in Table IV, where the values in bold represent the best obtained values.The values d 1 , d 2 , d 3 reported in Table IV are the average values over 1000 simulations, where the distances have been computed at the end of each simulation.
In order to better evaluate the performances, the difference between the true and estimated robot heading θ k at the end of each simulation has been computed and the average amongst 1000 simulations is 3.61 • for the orientation dependent modeled method and 3.88 • for the method with orientation independent.Fig. 5. Comparison between the ground truth path (blue in the picture) and the path estimated with the presented SLAM algorithm (red) for a simulation run.The initial robot position is depicted as a green square while the last robot position is depicted as a green circle.Fig. 6.Robot absolute tracking error for a simulation run.The picture reports the errors when the presented method has been applied (orange), when the method in [15] has been applied with the measurements without dependency from the orientation (green) and when the method in [15] has been applied with orientation dependency (blue).
According to all the results reported in this section, it may be observed that the dependence of the phases on the antenna's orientation does not significantly affect the (steady state) performance, which remains comparable to the one obtained when this dependence is not present.

C. Discussion on the Results
The ground truth path and the estimated path for a simulation run has been reported in Fig. 5, showing how the path estimated with the presented method is very close to the ground truth path.Furthermore, an analysis of the absolute robot tracking and tag localization errors has been made.Specifically, for the absolute robot tracking error, Fig. 6 reports the error evolution over time-step for three cases: where the presented method has been applied, where the method in [15] has been applied with the measurements without dependency from the orientation and where the method in [15] has been applied with orientation dependency.From the figure, it is possible to see that the absolute robot tracking error is not significantly affected by the orientation dependence phenomenon on the phases as long it is modeled in the algorithm.Fig. 7. Tag 1 absolute localization error for a simulation run.The picture reports the errors when the presented method has been applied (orange), when the method in [15] has been applied with the measurements without dependency from the orientation (green) and when the method in [15] has been applied with orientation dependency (blue).Fig. 8. Tag 2 absolute localization error for a simulation run.The picture reports the errors when the presented method has been applied (orange), when the method in [15] has been applied with the measurements without dependency from the orientation (green) and when the method in [15] has been applied with orientation dependency (blue).Fig. 9. Tag 3 absolute localization error for a simulation run.The picture reports the errors when the presented method has been applied (orange), when the method in [15] has been applied with the measurements without dependency from the orientation (green) and when the method in [15] has been applied with orientation dependency (blue).
The absolute tag localization error has been also taken into account for analysis for the three tags considered in the simulation environment.The results are depicted in Figs. 7, 8 and 9.
Here it can be seen that, even if the orientation dependency does not significantly affect the steady state performance, it Fig. 10.Histograms of the robot localization error (in m).The top histogram reports the errors for the presented method (orange), the middle histogram shows the errors for the method in [15] with orientation dependency (blue) and the bottom histogram depicts the errors for the method in [15] without orientation dependency (green).Fig. 11.Histograms of the tag localization error for tag 1 (in m).The top histogram reports the errors for the presented method (orange), the middle histogram shows the errors for the method in [15] with orientation dependency (blue) and the bottom histogram depicts the errors for the method in [15] without orientation dependency (green).
slightly improves the convergence rate of the absolute tag localization error (for each tag) to its steady state value.
In order to further analyze the simulation results, the histogram of the robot localization errors obtained in the different simulations has been reported in Fig. 10.From the picture it can be seen how the presented method achieves better absolute results, compared to the other cases.The histograms for tag localization errors are also reported in Figs.11, 12 and 13.Here, for more clearness, the tags in position (1.0, 0.0), (1.0, 1.5), (0.0, 1.0) have been named Tag 1, Tag 2 and Tag 3, respectively.For all the histograms, the tag localization errors are reported for the presented method, for the method in [15] with the measurements without dependency from the orientation and for the method in [15] with the measurements with orientation dependency.The tag localization error histograms show that the errors are distributed, mainly, between two groups: small (< 0.5 m) and big (> 3 m) localization errors.This is due to the fact that the MHEKF algorithm, in the first time-steps, may provide tags range and bearing estimates that are associated to instances far from the true values.After this transient, however, the algorithm is usually able to hook to the right instances so the tag localization error decreases significantly (as it can also be seen from Fig. 12. Histograms of the tag localization error for tag 2 (in m).The top histogram reports the errors for the presented method (orange), the middle histogram shows the errors for the method in [15] with orientation dependency (blue) and the bottom histogram depicts the errors for the method in [15] without orientation dependency (green).Fig. 13.Histograms of the tag localization error for tag 3 (in m).The top histogram reports the errors for the presented method (orange), the middle histogram shows the errors for the method in [15] with orientation dependency (blue) and the bottom histogram depicts the errors for the method in [15] without orientation dependency (green).
Figs. 7, 8 and 9).High values for the errors in the histograms are probably due to some MHEKFs which present outliers that can cause a divergent estimate.
Also the histograms of the tag localization errors show that the dependence of the phase measurements on the robot orientation, as long as modeled, provides slightly better absolute performances with respect to the other cases.
Afterwards, Table V shows the average of the root mean square error (RMSE) for the robot estimated trajectory (RMSE r ) and for the tags estimated location (RMSE t 1 , RMSE t 2 and RMSE t 3 ) over the 1000 simulations.The table compares the results for the presented method, for the method presented in [15] without the dependency from the orientation and for the method in [15] with the measurements with orientation dependency.The bold values represent the lowest RMSEs showing that the dependence of the phase measurements on the robot orientation (as long as modeled) provides better performances with respect to the other cases: this depends on the faster convergence rate of the estimation error (observed in Figs. 7, 8  and 9) which allows to reduce the robot localization error and in general the drift of the entire reconstructed map.
Finally, an analysis of the time requirements has been made for the presented method.While the main EKF-SLAM algorithm presents a complexity O(L 3 ) (where L is the number of tags), the complexity of all the MHEKFs is linear with L and with the number of instances considered.For a large range of values of L (the number of tags), the overall approach may present a linear complexity with respect to L since the (linear) computational burden associated with the MHEKFs may prevail over the one (cubic) associated with the EKF-SLAM.This is illustrated in the following.Specifically, a set of simulations has been made in order to compute the average computation time for each cycle of the algorithm.The simulations have been run on MATLAB and the hardware that has been used is a Laptop equipped with an Intel Core i7-12700 processor, 16 GB RAM.For each simulation, the number of tags has been increased by 3 (up to 30 tags) and the average computation time has been saved.The results of this set of simulations are reported in Fig. 14.From this picture it is possible to deduce that the relationship between the number L of tags and the computation time is linear, confirming, as mentioned, that even with 30 tags the (cubic) computational complexity of the EKF-SLAM is negligible with respect to the (linear) complexity associated with the MHEKFs.From a development perspective, however, it has to be noted that the performances can be extremely improved since the MHEKF filters in the current implementation are computed sequentially and that can be parallelized in a multi-core implementation, thus heavily reducing the computation time.
The same set of simulations has been used in order to analyze the relationship between the number of tags compared to the RMSE for the robot estimated trajectory.The results are reported in Fig. 15, where it is possible to see that the RMSE error decreases when the number of tags increases up to 21 tags and then it remains stable at 0.015 m.From this we can state that no improvement (in terms of estimation performances) for the current simulation scenario can be achieved with more than 21 tags.However, if we compare the RMSE for 3 tags (0.0165 m) with that for 21 tags (0.015 m), there is only a 10% reduction.

V. EXPERIMENTAL RESULTS
A series of experimental tests has been carried out indoors, in an office setting.A modified unicycle-like vehicle with differential drive kinematics, with d = 38.2cm and K R = K L = 0.01 cm serves as the basis for the experiments' robot.
A motion planner has been designed for the high level control and is mounted on the robot's Raspberry Pi 4 running the Linux Ubuntu 20.04 OS.In order to regulate the low level references to the motors and the encoder readings, an Arduino Mini is also added.
The reader antenna, a right-handed circularly polarized microstrip patch antenna with 7 dBi of gain, is mounted atop the robot at a height of 32 cm above the ground.The reader (M6e ThingMagic), which is wirelessly operated by a remote Computer and a Raspberry Pi 4 within the robot, delivers the antenna with power of 25 dBm and gathers measured data at a rate of 15 Hz while the robot travels at a speed of 0.2 ms −1 .UHF-RFID wave measurements have been made at a frequency of 868 MHz.
The tags were created with an antenna linearly polarized.Its thin profile (less than 1 cm thick) makes them a good candidate for ceiling mounting using a tiny metallic ground plane.About h = 2.5 m separates the plane where the tags are placed from the plane where the reader antenna is placed.
The tests used a robot that moved independently along a path while gathering information from encoders and a UHF-RFID reader.Offline, the generated algorithms were fed with the data gathered throughout the runs in order to evaluate their performance.For one of the experiments covered in this section, an estimated robot route and a map of the surrounding area are shown in Fig. 16, where it has also been compared to the SLAM estimated path presented in [15].From the zoom of the final part of the trajectory, it is possible to observe how the presented method achieves a more precise reconstruction of the robot trajectory with respect to the other method.
The robot is often asked to traverse a rectangle while making two rotations in the vicinity of the tags.The robot continuously follows the desired trajectory.The real trajectory was significantly different from the nominal rectangular one due to various types of disturbances, as seen by the trajectory that the SLAM program was able to rebuild.Fig. 16.A map of the environment under consideration showing the robot's beginning location and orientation (which indicates the global frame used) as well as the (x, y) positions of the three tags that were taken into consideration for the experiment.The final ground truth position is also depicted as a red square.The SLAM estimated paths for the presented method and for the method presented in [15] are depicted in orange and green, respectively.In top left a zoom on the final part of the estimated trajectory is reported to show the distance from the last ground truth position.In the experiments considered in this section there is no ground truth for the total trajectory since we only measured the robot's final location at the end of its mission, which enabled us to calculate the performance indexes we are interested in this study.In particular, considering the same experiment of Fig. 16, we report in Tables VI and VII the true and the estimated distances d ij among tags (i, j ∈ {1, 2, 3}) and, respectively, the true and the estimated distance d i of the final robot position from the projection on the floor of the three tags (i = 1, 2, 3).The d ij and d i estimated distances have been computed both for the presented method and for the methodology presented in [15] for comparison.In Tables VI and VII we also reported the estimation errors for the methodology presented in [15] and for the presented method in the last two columns.
In the tables, the bold values are the values closer to the true distances.In addition to incorporating phase offset estimation within the algorithm, as the offset cannot be considered a constant quantity, the proposed algorithm also takes into account the antenna rotation in the phase measurement model, producing a more accurate estimation, that also reflects positively in the SLAM metrics.In order to better evaluate the performances of the presented method, the difference between the true and estimated robot heading θ k at the end of each experimental test has been computed and the average is 4.89 • , while for the method presented in [15] is 5.77 • .
Furthermore, the error between the final estimated and ground truth robot position has been computed and also the error between the final estimated tag location and the ground truth tag location.
The error average for 4 different experimental runs are presented in Table VIII for the presented method and for the method presented in [15]; the table reports the lowest values for the errors (highlighted in bold).
As it is shown in the tables, the presented method (orientation dependent modeled) performs better than the methodology chosen for comparison (orientation dependent unmodeled).
Finally, the proposed algorithm is in part able to also adapt to unmodeled phenomena and to produce an acceptable behavior, where these unmodeled phenomena include multipath effects, which produce quite wrong or even missing measurements, and systematic errors like the approximate knowledge of system parameters, including the wheel and the robot dimension.

VI. CONCLUSION
A mobile unit equipped with wheel encoders and a RFID reader moves in an indoor environment where RFID passive tags are located in unknown position on the ceiling.The tags have linearly polarized antennas while the reader has a circularly polarized antenna.As a consequence, the phase shift in the backscattered UHF RFID signal, not only depends on the tag to the reader distance but also on the relative orientation between the reader's and the tag's antennas.This dependence has been captured by some authors by considering a time varying phase offset which, if subject to estimation, may compensate this phenomenon.
In this paper it is shown through numerical and experimental results that, when considering a Simultaneous Localization and Mapping (SLAM) problem, better performances can be achieved if this dependence is considered in the measurement model.Therefore, when including this dependence in the measurement model, the phase offset may be considered a constant quantity.However, since it is often unknown, it will be in any case included among the estimated variables.
As an additional contribution, the paper investigates on the benefit which may come in the SLAM solution from a dependence of the phase measurements on the relative orientation between the reader's and the tag's antennas.Based on numerical results, it seems that this dependence (present, e.g., in the case of tag's and reader's antennas, respectively, linearly and circularly polarized) does not significantly affect the steady state value of relative SLAM metrics, like the ones related to the shape of the reconstructed map and to the estimated robot position inside this map.However, this dependence seems to improve the transient behavior of the algorithm, with a tag position estimation error converging slightly faster to its steady state value.This allows to estimate the absolute robot trajectory (and the absolute position of the tags as well) with a smaller drift, thus obtaining slightly lower absolute estimation errors.An analytical and an experimental activity in this direction may be the subject for future investigation.

Fig. 3 .
Fig.3.Schema of the proposed approach: red dashed is the robot orientation estimate θk which is fed into the MHEKF blocks.For simplicity, the estimate of the phase offset φ oi (internal to each MHEKF) is not reported in the figure.thenoise characterizing the encoder readings u e R and u e L .Q k is a 2 × 2 diagonal matrix with elements K R |u e R,k | and K L |u e L,k |, which represent, respectively, the variance of the encoder noise for the right and the left wheel (K R and K L being two positive constants).Then, the correction step of the EKF-SLAM uses as measurements the estimate of the range ρ i,k = (x r,k − x i ) 2 + (y r,k − y i )2 and the bearing β i,k = θ k − atan2(y i − y r,k , x i − x r,k ) of the projection on the floor of each detected tag i at time step k, to determine the posteriori estimate Xk+1 and its covariance matrix P k+1 .As in[15], the estimate of (ρ i,k , β i,k ) (and of the phase offset φ oi as well) is obtained by a Multi Hypothesis Extended Kalman Filter (MHEKF), one for each tag i.The MHEKF comprises a set of EKF instances initialized with a different estimate ( ρi,0 , βi,0 ) (the initial estimate φoi,0 = 0 is the same for all the EKF instances).This is performed in view of the phase periodicity (according to which a phase measurement may correspond to several tag-reader distances) and of the independence of the phase measurement on the bearing of the tag, i.e., different possible ρ i,0 and β i,0 may produce the same phase measurement φ i,0 .Each EKF instance in the MHEKF associated to tag i is fed with the encoder readings and with the phase measurements φ i,k of the RFID signal backscattered by tag i and its likelihood is weighed according to the agreement with the measurements.The instance with the largest weight is selected to provide the range and the bearing estimate of tag i.A schema of the structure of the overall algorithm is reported in Fig.3.In the figure, the main difference of the solution proposed in this paper with respect to the one described in[15] is highlighted by the red dashed line associated with the estimate θk of the robot orientation produced by the main EKF-SLAM algorithm.This estimate, unlike in[15], is fed in each MHEKF to produce the expected phase measurement,

Fig. 15 .
Fig. 15.Relationship between the number of tags and Root Mean Square Error (in m) for robot estimated trajectory of the presented algorithm.

R |u Rk |) is a zero-mean Gaussian ran- dom variable with variance K R |u Rk | proportional to the true wheel displacement u Rk . Being u Rk unknown, this variance will be approximated in the following by K R |u e Rk |. The same argument applies to the left wheel, characterized by a noise n Lk
, where the values in bold represent the best values.The values d 12 , d 13 , d 23 reported in Table III are the average values over 1000 simulations, where the distances have been computed at the end of each simulation.

TABLE V ROOT
MEAN SQUARE ERROR (IN M) FOR ROBOT ESTIMATED TRAJECTORY AND FOR TAGS ESTIMATED LOCATION (AVERAGE OVER 1000 SIMULATIONS) Fig. 14.Relationship between the number of tags and per-cycle computation time of the presented algorithm.

TABLE VI TRUE
AND ESTIMATED INTER-TAG DISTANCES WITH CORRESPONDING ERRORS (IN CM)

TABLE VII TRUE
AND ESTIMATED DISTANCES (IN CM) OF THE ROBOT FROM THE ESTIMATED TAGS WITH CORRESPONDING ERRORS

TABLE VIII AVERAGE
ERROR (IN M) FOR ROBOT ESTIMATED POSITION AND FOR TAGS ESTIMATED LOCATION AT THE END OF THE EXPERIMENTS (4 RUNS)