An UWB-based System for Localization inside Merchant Vessels

Vessels are nowadays widely used for goods transportation. To ensure their physical integrity, they must be periodically surveyed, searching for defects, e.g. cracks and corrosion. The inspection process is carried out at a great cost due to the arrangements required to allow the surveyors to reach any point of the structure, while guaranteeing their safety. In recent years, the idea of introducing robots in the inspection of ships is being investigated. In this line, we propose two contributions for the estimation of 3D position inside vessels, making use of UWB technology. Since this technology is typically affected by the presence of metallic elements, we firstly propose a filtering method to improve the tag-anchor distance estimates. The second contribution consists in a novel method based on ICP to estimate the position of the UWB tag making use of point-to-sphere correspondence. Both contributions have been evaluated using several datasets taken inside a real vessel. The results show that our methods are able to provide satisfactory position estimates inside that environment.


I. INTRODUCTION
Among the different ways for transporting goods around the world, vessels are one of the most cost effective. Different kinds of merchant ships sail national and international waters transporting gas, petroleum products, coal, ore, grain, containers, etc. Regardless of their type, all the vessels are affected by different kinds of defects that may appear due to several factors, including structural overload, error in the vessel design, the use of sub-standard materials, poor weldings or coating breakdown, among others. From a simpler point of view, vessel structures can be affected by two main defective situations: cracks and corrosion.
To ensure the integrity of the vessel hulls, they undergo periodical inspection procedures including both internal and external structures. These inspections are currently performed by Classification Societies following a set of strict rules which ensure that the vessel satisfies seaworthiness criteria.
To perform a complete hull inspection, the vessel has to be emptied and situated in a dockyard (and probably in a drydock) where staging and platforms are installed to allow the surveyors to reach all the structures and elements that must be evaluated. To illustrate the enormity of this procedure, the This work is partially supported by projects ROBINS (EU-H2020, GA 779776), PGC2018-095709-B-C21 (MCIU/AEI/FEDER, UE) and PRO-COE/4/2017 (Govern Balear, 50% P.O. FEDER 2014-2020 Illes Balears). complete survey of a Very Large Crude Carrier (VLCC) can mean the visual assessment of more that 600.000 m 2 of steel.
Besides, on many occasions, the surveys are carried out in hazardous environments due to the presence of toxic and/or flammable gasses, or require the human surveyors to be lifted to significant heights to reach certain areas. Consequently, although accidents are extremely rare, when they arise they can have serious consequences. For all this, the total cost of a single surveying can exceed $1M once you consider all the aspects that ensure a safe and effective operation.
The European project ROBINS [1] (following the steps of previous EU projects MINOAS [2] and INCASS [3], [4]) proposes the use of robots to facilitate the inspection process of vessels. The idea is to use different flying vehicles and crawlers to reach all the structures of the vessel hull, providing the human surveyor with images and/or other valuable data, such as thickness measurements of the metallic plates.
To perform an effective inspection of the vessel using a robot, it is important to record its position in order to know, for example, the coordinates where a crack is located or where a suspicious corrosion spot is arising. Furthermore, the position estimates allow us to revisit previously recorded locations in order to evaluate the progression of problematic points. This paper focuses on 3D position estimation inside vessel compartments (as a GPS-denied environment) by means of Ultra-Wide-Band technology. This technology allows us to know the position of a tag regarding a constellation of anchors situated in the environment where the vehicle is operating. For example, to inspect a cargo hold, the idea is to attach the anchors in known locations on the walls of the compartment, so that the UWB-based system is supposed to be able to provide the coordinates of the tag installed in the robotic platform. Unfortunately, the quality of the estimated position is severely affected by the presence of metallic elements, which is the case inside a merchant vessel. To deal with this issue, the first contribution of this paper consists in a filtering method to improve the quality of the estimated distances from the tag to each anchor, which will be later used for the position estimation of the tag.
On the other hand, as a second contribution, we propose a method for estimating the position of the tag using the well known Iterative Closest Point (ICP) algorithm. This is a widely used algorithm to estimate the roto-translation between two clouds of points, typically collected using a LiDAR or a depth camera. In this paper, we propose a modified ICP algorithm which makes use of the position of the anchors to perform a point-to-sphere correspondence to estimate the 3D position of the UWB tag.
The rest of the paper is organized as follows: Section II reviews the main categories of UWB-based methods for position estimation, and illustrates the performance of a commercial system in a metallic environment; Section III describes a filter to improve the anchor-tag distance estimates; Section IV introduces the ICP-based method to estimate the tag position; Section V reports some preliminary results using the two methods presented for several datasets recorded inside a real vessel; finally, Section VI states some conclusions and proposes future work.

II. POSITION ESTIMATION USING UWB
The literature comprises a number of contributions describing different methods for position estimation using UWB systems. These algorithms can be classified into five categories depending on how they measure the distance between the tag and the anchors [5]. These categories are time of arrival (TOA), angle of arrival (AOA), received signal strength (RSS), time difference of arrival (TDOA) and hybrid algorithms.
In this paper we focus on the TOA methods. Commercial devices using methods in this category typically provide, apart from the position estimate, the estimated distances from the tag to each one of the anchors. These measures can be used to feed position estimation methods different from the one used by the device itself, allowing to explore other possibilities.
It is important to note that the accuracy of any UWB positioning system is affected by several factors, such as the location of the anchors, the size of the area to cover, the presence of obstacles, the materials of the elements in the environment, etc. Regarding this last point, some manufacturers alerts that the presence of metallic materials can affect the position estimates in an unpredictable way, resulting in a decrease of the accuracy, and recommends keeping a distance above 20 cm between the antenna and any metallic element.
In order to check the usability of a UWB device inside a vessel with a metallic structure, we have performed some experiments. By way of example, Fig. 3[top-left] shows in blue the positioning estimates provided by the Pozyx kit 1 when performing a rectangle-like path of about 14×6 m, keeping a constant height and using eight anchors which have been situated surrounding the operation area. As can be observed, the measures provided by the estimation algorithm are very noisy and a priori useless.

III. THE ANCHOR-RANGE FILTER
In order to get better position estimates in the presence of metallic structures, we propose a previous filtering stage devised to improve the estimation of the distances between the tag and each one of the anchors. This consists in a filtering 1 www.pozyx.io process which is carried out for each anchor separately and that pursues providing only good distance measures. In this way, the subsequent position estimation algorithm will proceed only when good quality ranges are available.
The proposed filter comprises two stages. On the one hand, the first stage is intended to remove the peaks that appear in the distance estimate. To do so, the estimated measure is compared with the previous one, and only if the difference is below a certain threshold τ (in absolute terms), the measure is considered valid. Otherwise, the measure is discarded.
On the other hand, the second stage consists in a mean filtering process. This stage provides the mean of the N last measures, as long as these measures are all valid and consecutive (with no invalid measures in between). When a peak is detected or when the corresponding anchor can not be found, the mean filter is reset and it does not provide further measurements until N consecutive valid distances have been received.

IV. THE POINT-TO-SPHERE ICP
In this section we propose a novel algorithm for position estimation using the tag-anchor distances. This method is here applied to UWB data but it could be also applied to other cases where a system provides the distance from a moving tag to a set of anchors located in known coordinates.
The method consists in a modified version of ICP which performs point-to-sphere correspondences. Let A = {a 1 , ..., a l } be the collection of l ≥ 4 anchors fixed in a 3D environment and let us consider a single moving tag situated at distances {r 1 , ..., r l } from the anchors. We can draw the spheres S = {s 1 , ..., s l } with radius {r 1 , ..., r l } centred at the last known (or estimated) location of the tag. The algorithm consists in estimating the 3D translation of the tag (and the spheres) necessary to achieve that all the anchors a i ∈ A lie on the surface of the corresponding sphere s i ∈ S, for all i ∈ [1, l].
Similarly to the point-to-line ICP [6], the algorithm iteratively estimates the translation required to reduce the distance from each sphere s i ∈ S to the corresponding anchor a i ∈ A. To do so, the method computes, at every iteration j, the closest point of each sphere to the corresponding anchor, obtaining a set of matching points C j = {c 1j , ..., c lj }. This points are used to estimate the translation for the current iteration by means of a root mean square point-to-point distance metric minimization technique. Notice that, unlike [6], our approach does not require estimating any rotation. In the following iteration, the set of closest points is updated (obtaining C j+1 ), which are used to update the estimated translation. For a better understanding, the 2D version of this process is depicted in Fig. 1.
The algorithm iterates until the update in the estimated translation is very-small (due to convergence of ICP) or a maximum number of iterations is reached. In our case, since the ICP algorithm always starts from the previous estimated location and the frequency of the UWB system is relatively high (around 10 Hz in the case of Pozyx), the ICP loop normally converges in a few iterations. Notice that this method allows considering an unlimited number of anchors. In order to discard noisy and incorrect ranges and to obtain the best possible estimate with the information available, our method makes use of RANSAC [7] to obtain the set of anchors which results in the position estimate with the lowest error, i.e. which allows the best anchor-sphere matching during the ICP process. RANSAC iteratively selects a random set of m ∈ [4, l] anchors. Then the ICP process is executed using only these anchors and an auxiliary position estimate is obtained. Given this estimate, all the anchors which roughly match with the corresponding translated sphere are accounted for inliers, and are then used to compute the global estimate error. After performing a finite number of iterations with random selections of anchors 2 , the final set of anchors to be used in the ICP process is the one which, providing the larger number of inliers, gets the lowest global error.
On the other side, unlike other methods for position estimation using UWB systems, our proposal based on ICP allows estimating a 3D translation even when, occasionally, less than 4 anchors are available. In this case, the algorithm will provide an estimate that satisfies the range conditions for the available anchors. The error committed during this estimation process will depend on the number of anchors available, as well as on their location. This allows operating in high dynamic conditions where anchors are eventually not detected due to the presence of obstacles, electromagnetic noise, etc. Nevertheless, in line with the idea that we want to obtain only good estimates, when RANSAC is not able to provide a good set of anchors (i.e. the best set of anchors comprises less than m inliers) we cancel the position estimation process and the algorithm waits for the next distance measurements.

V. EXPERIMENTAL RESULTS
The two methods described in sections III and IV have been evaluated with datasets taken using a Pozyx UWB kit inside a cargo hold of a Ro-Ro type vessel. Firstly, we have configured the anchor-range filter to remove the peaks and noise from the distance measures provided by the system. In this regard, Fig. 2 compares, for two different anchors, the original measures (shown in blue) with the filtered measures (shown in red). These results have been obtained configuring the peak filter threshold to τ = 2 m and the mean filter size to N = 5 measures. As can be observed, using these values, the method is able to filter out the peaks that appear in the original measures, and to smooth the values of those which have been considered as valid, while it does not introduce a significant delay. Notice that a distance of 0 m is used to indicate that the range is non-valid and, thus, the corresponding anchor is not usable for the later position estimation.
Next, we have evaluated the performance of the ICPbased method for estimating the position of the tag. Figure 3 compares the results obtained for four datasets corresponding to different trajectories. The results provided by the Pozyx kit are shown in blue, while the estimations provided by our ICP method fed with the filtered ranges are shown in red. To facilitate the comparison, the plots presented are the top-down views (2D projections) of the four trajectories. The values for the Z axis are comparable to the measures corresponding to the X/Y axes. The plots also include a black 14×6 m rectangle for reference. In the first row, the plot shown to the left corresponds to an experiment involving a rectangle-like trajectory, while the plot shown to the right corresponds to the same trajectory performed twice. Similarly, the plots shown in the second row report results for eight-like trajectories, performed once and twice, respectively.
As can be observed, the plots resulting from the position estimates provided by the Pozyx kit are very noisy and quite different from the real trajectory, especially in the short transects along the Y axis. This bad performance is attributed to the presence of the metallic structures of the vessel. On the contrary, the plots corresponding to the position estimates obtained using our ICP-based method and the anchor-range filter closely resemble the trajectory actually carried out.

VI. CONCLUSIONS AND FUTURE WORK
In this work we have reported on two contributions for self-localization using UWB technology, focusing on operating inside metallic vessels. On the one hand, we have presented a filtering method to improve the tag-anchor distance estimates. This method, comprising two stages, has proved to be useful to obtain good quality measures from noisy data. Furthermore, this filter allows us discerning between valid and non-valid output values, preventing the latter to be posteriorly used in the position estimation process.
On the other hand, we have presented the idea of using the ICP algorithm to estimate the position of the tag. This method, which has not been previously used for UWB systems, has been modified to estimate the 3D translation of the tag by means of point-to-sphere correspondences. The method has been evaluated in different experiments performed with data collected inside a real vessel, where the Pozyx kit fails. In all cases, the trajectory obtained with our method is of a reasonably good quality.
As future work, we plan to use the presented approaches to estimate the position of a Micro Aerial Vehicle (MAV). In this regard, the UWB-based position estimates are planned to be fused within an EKF with data provided by other sensors installed onboard the MAV, namely a LiDAR, a laser altimeter, a barometric pressure sensor and an IMU.
Related to the above, we plan to use the height provided by a height estimator module as initial guess in the translation estimation performed by the ICP algorithm. This is expected to contribute to the convergence regarding the Z axis when the anchors can not be situated at sufficiently different heights.