Next Article in Journal
Numerical Analysis of Protection Method of Metallic Sub-Wavelength Concentric Arrays for Radially Polarized Light Selection and Its Applications
Next Article in Special Issue
Measurement and Estimation of Spectral Sensitivity Functions for Mobile Phone Cameras
Previous Article in Journal
Pose Estimation of Excavator Manipulator Based on Monocular Vision Marker System
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Lightweight Localization Strategy for LiDAR-Guided Autonomous Robots with Artificial Landmarks

1
School of Electronic and Information Engineering, Changchun University of Science and Technology, Changchun 130022, China
2
Suzhou Institute of Biomedical Engineering and Technology, Chinese Academy of Sciences, Suzhou 215163, China
3
Pilot AI Company, Hangzhou 310000, China
4
Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun 130033, China
*
Author to whom correspondence should be addressed.
Sensors 2021, 21(13), 4479; https://doi.org/10.3390/s21134479
Submission received: 6 May 2021 / Revised: 6 June 2021 / Accepted: 11 June 2021 / Published: 30 June 2021
(This article belongs to the Special Issue Recent Advances in Automated Measuring Systems)

Abstract

:
This paper proposes and implements a lightweight, “real-time” localization system (SORLA) with artificial landmarks (reflectors), which only uses LiDAR data for the laser odometer compensation in the case of high-speed or sharp-turning. Theoretically, due to the feature-matching mechanism of the LiDAR, locations of multiple reflectors and the reflector layout are not limited by geometrical relation. A series of algorithms is implemented to find and track the features of the environment, such as the reflector localization method, the motion compensation technique, and the reflector matching optimization algorithm. The reflector extraction algorithm is used to identify the reflector candidates and estimates the precise center locations of the reflectors from 2D LiDAR data. The motion compensation algorithm predicts the potential velocity, location, and angle of the robot without odometer errors. Finally, the matching optimization algorithm searches the reflector combinations for the best matching score, which ensures that the correct reflector combination could be found during the high-speed movement and fast turning. All those mechanisms guarantee the algorithm’s precision and robustness in the high speed and noisy background. Our experimental results show that the SORLA algorithm has an average localization error of 6.45 mm at a speed of 0.4 m/s, and 9.87 mm at 4.2 m/s, and still works well with the angular velocity of 1.4 rad/s at a sharp turn. The recovery mechanism in the algorithm could handle the failure cases of reflector occlusion, and the long-term stability test of 72 h firmly proves the algorithm’s robustness. This work shows that the strategy used in the SORLA algorithm is feasible for industry-level navigation with high precision and a promising alternative solution for SLAM.

1. Introduction

Autonomous mobile robots (AMRs) can significantly release manpower from heavy fetching tasks and boost efficiency and avoid human error from repeatable operations [1]. In particular, with the development of LiDAR-based navigation techniques, mobile robots could be located in “real time” in complex environments, and accurate localization is highly desired to ensure the performance and safety of autonomous mobile robots [2,3]. Navigation technology is one of the fundamentals in the field of automation and robotics. Lots of research activities and industry applications are conducted with Laser SLAM, inertial navigation, magnetic tapes, and Visual-SLAM techniques. Not like the typical SLAM approach, the laser-based reflector localization technique is the classic solution and has the advantages of high-precision localization, high-speed processing, and decent robustness with no accumulated errors. For example, automated guided vehicles (AGVs) and industrial forklift robots in the warehouse are the cases with the highest demand for the automation. The stringent requirements of localization make LiDAR-based reflector localization the best candidate so far.
Localization of mobile robots refers to the process in which mobile robots estimate their positions and pose angles through sensors’ perception techniques [4,5]. Recent progress in autonomous vehicles and LiDAR devices has dramatically reduced the cost of LiDAR hardware and pushed the LiDAR-based SLAM to become the most promising approach for self-driving vehicles and robots with great flexibility [6,7,8,9]. Laser-based SLAM can provide centimeter-level precision and does not need any extra modification of the environment [10]. However, the ability of mapping is still limited to the low-speed applications in a small and “feature-rich” environment. For unmanned vehicles or robots, the warehouse environment lacks the so-called “features”, and most scenes are quite similar from robot’s perception, which is one of the main obstacles causing navigation failure [11,12]. Many studies have been conducted about the sensor fusion technique, and Visual-SLAM is an alternative approach for 3D SLAM with low-cost camera [13], but it is gated by the computing capability. Another approach is the LiDAR-based localization technique assisted with artificial landmarks, which refers to the cylindrical reflectors in this study. Different from laser SLAM, which can realize localization and mapping simultaneously, the LiDAR-based reflector localization algorithm (RLA) requires the pre-installation of reflectors to provide enough “features” to help the localization process. Since RLA uses the static map as the localization reference, it has the characteristics of high localization accuracy, high stability, and high resistance to noise. Because the information of artificial landmarks can be clearly identified and processed referring to the existing map [14], there will be no cumulative error in the algorithm, which is a large advantage for long-term operation and highly desired for the industry applications.
Even artificial landmarks have been used in laser navigation for decades. There is still much research work ongoing about investigating novel functions and features for efficient matching and remarkably reducing the computation workload. The localization technique based on the trilateration method utilizes the adaptive unscented Kalman filter method to improve the accuracy of localization [15]. The tracking and localization algorithm are proposed to improve positional accuracy with the optimal triangular positioning method [16]. Farouk Ghallabi presented a localization algorithm by matching road perceptions from a 3D LIDAR sensor with HD map elements. This method estimates the position of the vehicle by matching the observed HRL with the HD map attributes [17]. Davide Ronzoni provided the algorithm for AGV self-localization based on landmark identification to solve the global localization problem for an industrial AGV moving in a known environment [18].
In this paper, we propose a “light-weight” reflector localization algorithm (SORLA) using 2D LiDAR data and the reflective cylinders as landmarks with precision of up to 6.45 mm. To the best of our knowledge, this is one of the most precise results in the field of industry-level autonomous robots. LiDAR-based localization with artificial landmarks is a relatively mature methodology for the industrial robotic applications [19,20]. It utilizes a “well-designed” 2D feature map to help improve localization precision and algorithm robustness. The feature map is composed with artificial landmarks, which are the highly reflective geometrical objects in 2D. The approach proposed in this work uses LiDAR-based data only to locate the robot without IMU’s association [21,22,23,24], which also isolates the impact of sensor noise [25]. With the help of the reflector matching mechanism, the estimated odometer information is used to track and predict the location under high speed [26]. The details will be discussed in detail in Section 2.4.

2. Materials and Methods

2.1. System Description

2.1.1. The Building of the Coordinate System

For the generality of setup, LiDAR is installed at the center of the robot, which means that the position of LiDAR can be used to represent the position of the robot in a two-dimensional configuration. In this research, two coordinate systems are established respectively: the global coordinate system O X Y and the robot coordinate system O R X R Y R centered on the mobile robot, where the center of the robot coordinate system is O R (Figure 1).
The LiDAR device will obtain a full frame of scanning data set from each rotation as { ( d j , θ j ) , σ j | j = 1 , 2 , , n } , where d j is the linear distance between the j-th data point from the LiDAR center, θ j is the azimuth angle of the j-th data point in the polar coordinate system centered on LiDAR, and σ j is the reflection intensity value of the j-th data point. The x and y coordinate of the j-th data point in the robot coordinate system is:
{ R x j = d j cos ( θ j ) R y j = d j sin ( θ j )
Suppose that the robot’s pose in the global coordinate system is ( x g , y g , θ g ) , where x g and y g is the position of the robot coordinate system with center O R in the global coordinate system, and θ g is the rotation angle of the robot coordinate system in the global coordinate system.

2.1.2. LiDAR-Based Localization System

A series of cylindrical reflectors with high reflectivity are installed in the actual warehouse environment. LiDAR is installed on the top of the mobile robot to collect the scanning data of the surrounding environment, avoiding any occlusion. The navigation system consists of the “SORLA” program (Figure 2), a Pepper-Fuchs R2000 Laser Scanner, and a CAN bus device. The CAN bus device is used to receive the control messages and send out localization data messages in the specific format.
When the robot is moving at a high speed, the SLAM algorithm is prone to odometry errors. One solution is to correct the errors by using extra sensors such as IMU, However, this will require extra hardware with the calibration process and will increase integration cost. The advantage of the navigation system in this study is that, due to the use of motion compensation algorithms and reflector sequencing optimization, the system only needs LiDAR data to suppress the odometry error caused by the acceleration or deceleration.
Here, we define two modes: initialization mode and navigation mode. The location of the reflectors used in the initialization mode and the navigation mode are stored in the “initialization reflector map” and the “navigation reflector map”, respectively. The advantage is that the reflector layout of the navigation mode does not rely on the geometric relationship to determine the location, as the initialization mode does. The current pose can be estimated from the “last-step” localization result and the motion compensation algorithm. Firstly, the initial position and orientation can be acquired in the initialization mode, then navigation mode can be performed subsequently to track the location changes in real-time; finally, the position of the mobile robot in the global coordinate system is calculated by the SVD algorithm [27,28].
The navigation system establishes a 2D real-time navigation map (Figure 3) composed of the reflectors by processing the scan data of the laser scanner on the surrounding environment. In order to obtain the location and orientation information independently, the geometrical relation of the reflectors in the initialization mode has to be easily distinguishable. The area in the red rectangle is the initialization area. The red dot represents the “real-time” position of the mobile robot, each green dot represents the “ideal position” of the reflectors from the reflector map, and the black dots around them are the real time data from the laser scanner. We call the reflector used for initialization mode the “initialization reflector” and the reflector used for navigation mode the “navigation reflector”.

2.2. Extraction Algorithm of the Reflector Center Position

The extraction of the center point of the reflector is an important prerequisite of the reflector matching. Our analysis indicates that the accuracy of the reflector center point has a significant impact on the final localization accuracy of the system. The extraction algorithm is composed of three steps: (i) the extraction of the raw reflector data, (ii) the clustering of the reflector data, and (iii) the estimation of the reflector center. For the convenience of the following description, we call the reflector data in the initialization reflector map and navigation reflector map the “referential reflector data” and the reflector data in the actual site extracted by the reflector center extraction algorithm the “detected reflector data”.

2.2.1. The Extraction of the Raw Reflector Data

Because of the high reflectivity of the reflectors, the returned light intensity from the reflectors is much stronger than other objects and the background. Therefore, the raw reflector data can be simply picked up from the laser scanning data by selecting a proper light intensity threshold. Suppose the LiDAR frame contains n data points: { M j = ( d j , θ j ) , σ j | j = 1 , 2 , 3 , , n } . In order to quickly and accurately distinguish the reflector data from the background, only the data of which the distance is greater than or equal to d min are extracted; by filtering the reflection intensity, m raw reflector data points are selected { M k = ( d k , θ k ) , σ k | k = 1 , 2 , 3 , , m | 1 k m } . When the data points in M j meet the following conditions, they are considered the raw reflector data points:
{ d k d min σ k σ min σ k = max { σ p 1 , σ p 1 , σ p 1 | p = 2 , 3 , 4 , n 1 }
Here, σ min is the threshold of the targeted reflection intensity, and d min is the minimum distance to distinguish a reflector.

2.2.2. Clustering of the Reflector Data

Practically, there are always some noise signals in the background of the data filtered by the reflection intensity. Therefore, it is very necessary to group the raw reflector data into the reflector clusters, and each cluster represents all data points from one single reflector. For example, if the distance and angle differences of two points are less than the threshold values, the two points can be from the identical reflector. In this step, the distance threshold Dk and the angle threshold φk of adjacent data points are set, and the diameter of each reflector is R0. Assuming that the raw reflector data are divided into q reflector data sets by the clustering method, the algorithm passes through the following constraints to traverse and compare the distance and angle of the adjacent raw reflector data points to obtain the data set belonging to the same reflector:
{ | d k d k 1 | D k | θ k θ k 1 | φ k ,
where φ k = { 180 0 R 0 π d k | k = 2 , 3 , 4 m } , d k < d k 1 , the angle between the adjacent points and the center line of the LiDAR is φ. A vertical point is set on the longer distance d k 1 to introduce L (Figure 4). It is not hard to work out from the simple geometric relation. β = α / 2 , L = tan β d k sin α . Therefore, it can be concluded that:
D k = L = tan ( α / 2 ) d k sin α .

2.2.3. The Estimation of the Reflector Center

Since the reflector intensity profile from a single reflector cluster shows a nonlinear distribution, a Gauss fitting technique [29] is used to locate the center peak location, which also can be used to present the highest possible location of the reflectors. In this section, the center position of the reflector is estimated by fitting the peak value of the reflection intensity with the Gaussian function. In Figure 5, the reflected intensity profile at the closer location decreases more sharply from the center peak, while the reflection intensity profile at the larger distance shows a flattened trend. By applying adaptive parametric fitting, the Gaussian curve is able to appropriately present the center of the reflectors. Therefore, the reflection intensity σ f of the central point in the reflector data set M r can be obtained. Suppose there are s data points in the r-th reflector data set, forming a collection S 1 = { 0 , 1 , 2 , s } , u S 1 . Then, the reflection intensity of the r-th reflector data set σ r can be obtained by polynomial fitting:
log ( σ r ) = p 1 u 2 + p 2 u + p 3 .
The coefficients of the Gaussian fitting model are further determined:
a = e ( p 3 p 1 3 p 2 2 4 ) , b = p 1 p 2 2 , c = 1 p 1 .
Divide S 1 into 4s elements to get S 2 , w S 2 , then the fitting reflection intensity σ g corresponding to the element in S 2 obtained by Gaussian fitting model is as follows:
σ g = a e ( ( ( w b ) 2 c ) ) .
Thus, σ f = max ( σ g ) , and the index of the data corresponding to σ f is I f . Let the first point in the r-th reflector data set be ( d 1 , θ 1 , σ 1 ) , the last point is ( d e n d , θ e n d , σ e n d ) , an angle threshold value θ λ is set to determine the angle θ f of the center point of the r-th reflector data point set, where θ λ is:
θ λ = ( θ e n d θ 1 ) I f 4 s ,
where θ f = θ 1 + θ λ . The point with the largest reflection intensity in the r-th reflector data set ( d m , θ m , σ m ) is found, the index of the corresponding data point is Im , the interval threshold = min ( ( s I m ) , ( I m 1 ) ) is set, and d f is the mean value of the distance between the data points in the interval [ ( I m ) , ( I m + ) ] of the r-th reflector data set:
d f = d ( I m ) + + d ( I m + ) 2 .
From above, the coordinates of the center point of the r-th reflector data point collection in the robot coordinate system are calculated as ( x r , y r ) , and this coordinate is used to represent the actual position of the r-th reflector extracted from the raw data of LiDAR scanning,
{ x r = d f cos ( θ j ) y r = d f sin ( θ j ) .

2.3. Reflector Matching Algorithm in Initialization Mode

Before navigation starts, it needs to obtain the initial location and angle of the robot by running the initialization mode, and the number of initialization reflectors is at least 3 to guarantee the initial localization calculation. The initialization reflector map is a set of reflector position coordinates used to obtain the initial position calculation. The design principle of the initialization reflector should be as follows. (1) The distance difference between any two reflectors should be greater than 300 mm, and (2) the angle difference between every two reflectors should be greater than 6 . In this step, the navigation system first finds three or more detected reflectors nearest to the mobile robot to form the candidate pool for the initial location calculation. The initial location of the mobile robot is obtained by matching the distance and angle value of the candidate pool with the referential reflector pool picked up from initialization reflector map by the simple searching mechanism.
It is assumed that there are N ( N 3 ) detected reflectors in the optimal matching area; the coordinate of the r-th detected reflector is N r = { ( d r , θ r ) , | r = 1 , 2 , , N 1 } , and M ( M 3 ) referential reflectors in the initialization reflector map; the coordinates of the i-th referential reflector are M i = { ( x i , y i ) | i = 1 , 2 , , M 1 } . Then, the distance vector between each two detected reflectors and each two referential reflectors can be obtained, respectively:
N d i s tan c e = [ d 1 , 2 , d 1 , 3 , d 1 , N , d 2 , 3 , d 2 , 4 , , d 2 , N , d N 1 , N ] .
M d i s tan c e = [ d 1 , 2 , d 1 , 3 , d 1 , M , d 2 , 3 , d 2 , 4 , , d 2 , M , d M 1 , M ] .
According to the geometric principle, N ( N 1 ) ( N 2 ) / 6 angles will be formed between any three of the N detected reflectors. Suppose that the linear distance between the r-th detected reflector and the (r-1)-th detected reflector is a , the one between the r-th detected reflector and the (r + 1)-th detected reflector is b , and the one between the (r-1)-th detected reflector and the (r + 1)-th detected reflector is c . The matching angle reference value θ r between the three detected reflectors is represented by the angle value θ corresponding to the line c ; we can obtain the following results:
θ r = θ = arccos ( a 2 + b 2 c 2 2 a b ) ,
the angle vector between each three detected reflector and each three referential reflector can be acquired, respectively:
N a n g l e = [ θ 1 , θ 2 , θ 3 , θ N ( N 1 ) ( N 2 ) 6 ] .
M a n g l e = [ θ 1 , θ 2 , θ 3 , θ M ( M 1 ) ( M 2 ) 6 ] .
In order to make use of the above distance vector and angle vector to match the reflector quickly and accurately, we set the distance matching error threshold as z f and angle matching error threshold as g f . The absolute value of the difference between each distance value of the distance vector N d i s tan c e between the detected reflectors and each distance value of the distance vector M d i s tan c e between the referential reflectors is calculated, and the distance difference matrix of reflector Z d i s tan c e is obtained:
Z d i s tan c e = [ Z 11 Z 12 Z 13 Z 1 N Z 21 Z 22 Z 23 Z 2 N Z 31 Z 32 Z 33 Z 3 N Z M 1 Z M 2 Z M 3 Z M N ] ,
where Z M , N = | d M 1 , M d N 1 , N | .
Considering extreme small or large angles in the polygon are vulnerable to measurement error or noise, we only recognize the effective angle data between θ = 5 ~ 175 . Similarly, the absolute value of the difference between each angle value of the angle vector N a n g l e between the detected reflectors and each angle value of the angle vector M a n g l e between the referential reflectors are calculated, and the matrix of the angle difference of the reflector G a n g l e is obtained:
G a n g l e = [ G 11 G 12 G 13 G 1 N G 21 G 22 G 23 G 2 N G 31 G 32 G 33 G 3 N G M 1 G M 2 G M 3 G M N ] ,
where G M N = | θ M ( M 1 ) ( M 2 ) 6 θ N ( N 1 ) ( N 2 ) 6 | .
Take the minimum value of each column in the distance difference matrix Z d i s tan c e and the angle difference matrix G d i s tan c e , compared with z f and g f respectively. If Z i j in the distance difference matrix Z d i s tan c e is within z f , and the distance between the i-th referential reflector and the j-th detected reflector is matched successfully, then G i j and g f are further compared. Therefore, the i-th referential reflector and the j-th detected reflector constitute a pair of matched reflector combinations.

2.4. Navigation Localization Algorithm

2.4.1. Motion Compensation Algorithm

Unlike the initialization mode, the navigation mode uses a guess-and-matching strategy to make the guess on the “most-possible” reflector candidates and performs the matching calculation to obtain the location. When the robot moves with low speed, the travelling distance between two adjacent points is small, so the previous location can be directly used as initial guess location for the next round of calculation. However, with the high speed or fast turning angle speed, such an assumption will introduce a distance or angle error and cannot be ignored. This section proposes a motion compensation algorithm, which effectively eliminates the odometer error caused by high-speed movement.
The navigation system first uses a motion compensation algorithm to predict the real-time pose of the mobile robot during the movement to form a desired pose sequence. The estimated location is used to complete the navigation reflector matching in the navigation mode. Since the pose history of the robot from the previous moment is known, the pose and velocity estimates of the previous moment are used to predict the pose and speed of the current moment; each time the calculation is completed, the laser odometer will be recorded to form the robot’s trajectory and rotation trajectory histogram.
Because the scanning frequency of LiDAR is high, we assume that there is no significant change in the robot’s speed and angular velocity in a scanning period, and the scanning period of LiDAR is t . In order to obtain the key parameters of the robot motion model, suppose that the pose of the robot at the last moment is ( x p , y p , θ p ) , and the time period from time zero to the previous time is divided into 2N time periods according to the scanning period; correspondingly, the velocity trajectory and rotation trajectory of the robot from time zero to the previous time are also divided into 2N sub-trajectories according to the scanning period. Here, a digital averaging filter is used to smooth out the speed changes across adjacent N calculations. Then, the horizontal velocity v x , vertical velocity v y , and angular velocity θ v at the current moment are:
{ v x = 1 N t i = 1 N X 1 , i v y = 1 N t i = 1 N Y 1 , i θ v = 1 N t i = 1 N θ 1 , i ,
where X 1 , i , Y 1 , i are the horizontal and vertical offsets corresponding to the i-th scan period ( i N ) in the (N~2N)-th sub-motion trajectory; θ 1 , i is the angular offset corresponding to the i-th scanning period of the (N~2N)-th sub-rotation trajectory.
The x acceleration a x , y acceleration a y and angular acceleration a θ corresponding to the current moment are:
{ a x = 1 N t ( ( i = 1 N X 1 , i ) ( i = 1 N X 2 , i ) ) a y = 1 N t ( ( i = 1 N Y 1 , i ) ( i = 1 N Y 2 , i ) ) a θ = 1 N t ( ( i = 1 N θ 1 , i ) ( i = 1 N θ 2 , i ) ) .
where X 2 , i , Y 2 , i are the x and y offsets corresponding to the i-th scan period ( i N ) in the (0~N)-th sub-motion trajectory; θ 2 , i is the angular offset corresponding to the i-th scanning period of the (0~N)-th sub-rotation trajectory.
Then, the pose of the robot at the current moment estimated by the motion compensation algorithm is ( x e , y e , θ e ) :
{ x e = x p + 1 N i = 1 N X 1 , i y e = y p + 1 N i = 1 N Y 1 , i θ e = θ p + 1 N i = 1 N θ 1 , i .
Due to the fact that the reflector is prone to matching failure when the robot is accelerating or decelerating, the navigation system can perform compensation calculations on the position of the detected reflectors according to the motion compensation algorithm.
Suppose that the LiDAR scans k detected reflectors during movement, and these reflectors form a collection of detection reflectors r e f k . Among them, the coordinate of the j-th detected reflector in the robot coordinate system is K j = { ( x j , y j ) , σ r | j = 1 , 2 , 3 , , k } ; then, the position ( x j j , y j j ) after optimizing the position of the j-th detected reflector at the current moment by using the motion compensation algorithm is:
{ x j j = x j v x t ( k j / k ) y j j = y j v y t ( k j / k ) .

2.4.2. Reflector Matching Algorithm in Navigation Mode

Because the current pose can be estimated according to the motion compensation algorithm, the position of the navigation reflectors can be set arbitrarily in practical application, which can greatly reduce the complexity of setting the position of the reflector in the actual warehouse environment. The matching process of sequential comparison of distance and angle errors is cumbersome and inefficient, so the matching weight value w combining distance and angle error is proposed in this part.
In the localization process, if the distance range of the detected reflectors is too large, the distance error factor in the matching weight w will be dominant; if the range is too small, the angle error factor will play a leading role accordingly. Therefore, ( d n e a r , d f a r ) is used to screen the appropriate reflector range to balance the error factor in the matching weight. Therefore, the navigation system screens out the n detected reflectors that are within the range of ( d n e a r , d f a r ) from the robot based on the scanning results of the LiDAR to form a set of detected reflectors r e f n and calculate the distance matrix D n and angle matrix A n between the robot and each detected reflector at this time.
In order to improve the calculation speed of the localization algorithm, it is also necessary to sort D n so that the navigation system can start to match the detected reflectors close to the robot. Since the motion compensation algorithm in the previous section can estimate the current position of the robot, the navigation system can filter out the m referential reflectors in the reflector map within the range of ( d n e a r , d f a r ) from the estimated position to form the referential reflectors r e f m .The distance matrix D m and the angle matrix A m between the current position of the robot and each referential reflector are further calculated, and D m is sorted in the same way.
D n = [ d n 1 d n 2 d n 3 d n n ] , A n = [ θ n 1 θ n 2 θ n 3 θ n n ] , D m = [ d m 1 d m 2 d m 3 d m m ] , A m = [ θ m 1 θ m 2 θ m 3 θ m m ] .
The matching weight value w of the navigation reflector is calculated and compared with the weight threshold w σ to filter out the matching reflector combination.
w = σ d ο σ a ,
σ d = [ d n 1 d m 1 d n 2 d m 1 d n 3 d m 1 d n n d m 1 d n 1 d m 2 d n 2 d m 2 d n 3 d m 2 d n n d m 2 d n 1 d m 3 d n 2 d m 3 d n 3 d m 3 d n n d m 3 d n 1 d m m d n 2 d m m d n 3 d m m d n n d m m ] ,
σ a = [ θ n 1 θ m 1 θ n 2 θ m 1 θ n 3 θ m 1 θ n n θ m 1 θ n 1 θ m 2 θ n 2 θ m 2 θ n 3 θ m 2 θ n n θ m 2 θ n 1 θ m 3 θ n 2 θ m 3 θ n 3 θ m 3 θ n n θ m 3 θ n 1 θ m m θ n 2 θ m m θ n 3 θ m m θ n n θ m m ]
Taking the minimum value w j , i of the i-th column in w, if w j , i is within the matching weight threshold w σ , it means that the i-th reflector in the detected reflector set r e f n and the j-th reflector in the referential reflector set r e f m are successfully matched.

2.5. The Calculation of Mobile Robot’s Position

To solve the localization issue with the artificial landmark approach, most algorithms use the trilateral localization method to calculate the position of the robot in the global coordinate system [30,31]. However, this approach has some drawbacks. When there is a measurement error present in reflector data, the three circles do not intersect at one point anymore, and the method will fail with a large error.
The particle filter is the technique to estimate the localization from a finite set of weighted random samples to approximate the posterior probability density of any particle state [32]. However, it heavily depends on the initial state, the number of particles used in calculation, and may have the convergence issue. For the navigation problem, except the position and angle, velocity, acceleration, and angular velocity could all be solved at the same time but require significant computing power. Quite different from particle filtering, the SVD algorithm only calculates the rotation vector and translation vector between the robot coordinate system and the global coordinate system with few computing resources. Therefore, SVD algorithm is used in this strategy to calculate the position of the robot in the global coordinate system.
During the matching process, the position matrix A of n detected reflectors and the position matrix B of n referential reflectors can be acquired; then, the rotation vector R and translation vector t of the position coordinate matrix can be calculated.
Where
B = RA + t.
In order to calculate the rotation vector R and translation vector t, it is necessary to calculate the mean coordinates of two reflector position sets A and B; then, the mean coordinates of detected reflector position matrix A and referential reflector position matrix B are as follows:
{ μ A = ( x m A , y m A ) = 1 n i = 1 n ( x A i , y A i ) μ B = ( x m B , y m B ) = 1 n i = 1 n ( x B i , y B i ) ,
μ A and μ B are equivalent to the central coordinates of the position matrix A and B. In order to calculate the rotation vector R, it is required to eliminate the influence of the translation vector t; therefore, the above reflector position matrix should be re-centered to generate the new reflector position matrix A n and B n , and the covariance matrix H between the point sets should be calculated:
{ A n i = [ A i μ A ] B n i = [ B i μ B ] H = i = 1 n A n i B n i T = i = 1 n ( A i μ A ) ( B i μ B ) T .
In the SVD algorithm, U, S, and V of matrix H can be obtained, and the optimized rotation vector R between A and B can be calculated:
[ U , S , V ] = S V D ( H ) ,
R = V U T .
Ultimately, the translation vector t can be obtained by R:
t = R μ A + μ B .
The obtained rotation vector R and translation vector t are shown in Figure 6. The position coordinate of the robot in the robot coordinate system is ( x l , y l ) , and the inverse operation is performed to obtain the position coordinate ( x g , y g ) in the corresponding global coordinate system:
[ x g , y g ] = ( R 1 ( [ x l , y l ] t ) ) T ,
The orientation θ g of the robot in the global coordinate system is as follows:
θ g = arctan ( R ( 2 , 1 ) R ( 1 , 1 ) ) 180 π .

3. Experimental Results

The scanning frequency of the Pepper-fuchs R2000 is set to 20 Hz. The R2000 has a field of view (FOV) of 360 degrees with the angular resolution of 0.25 degrees; detection range could reach 30 m with a nominal resolution of 1 mm and a maximum measured noise of 20 mm [33]. The SORLA navigation software runs on the embedded computer with i5-6200u CPU (2.3 GHz) and 4 GB mem. During the runtime, the average CPU usage is about 12%, and the average physical mem usage is 25%.
To fully test the robustness of reflector matching, failure test cases are designed and the errors such as reflector displacement are created. The algorithm is also examined for some extreme cases in which some reflectors are blocked. It can be verified by the following experiments that the localization accuracy of the navigation system in this work reaches a high level for the practical industrial applications, and the system still performs well when the robot is moving at high speed or the reflectors have small displacement.

3.1. Localization Accuracy in Initialization Mode

In a practical warehouse, a forklift or AGV always starts the navigation from the initial zone. The initialization mode is designed to calibrate the initial position shifts caused by misalignment from warehouse operation and make the system more robust to operate. In this experiment, three cases with different numbers of initialization reflectors were set to verify the effect of the number of initialization reflectors on localization accuracy in the initialization mode and localization accuracy in each case; the number is set to 3, 4, and 5 respectively. The global coordinates of reflectors are (−1744, −652), (1854, −1838), (784, 676), (−636, 757), and (−3850, −1335), with the unit of mm. The experimental environment is shown in Figure 7.
Localization data are obtained at nine different locations. The position error and orientation angle error obtained in the three cases are shown in Figure 8. It can be seen that the localization accuracy of the initial point is not necessarily related to the number of initialization reflectors, and it is not true that the more the number of reflectors, the higher the localization accuracy of the initial point. The experimental results show that the maximum X-direction localization error of the initial position is 18.4 mm, the maximum Y-direction localization error is 8.1 mm, and the maximum angle error is 1.29 deg, which meets the localization accuracy requirements of industrial application environment; the localization error statistics in X- and Y- directions are shown in Table 1 and Table 2, and the angle error statistics are shown in Table 3.
The optimal triangular positioning method based on angle measurement also uses five reflectors to perform static positioning at nine different positions [16]. Table 4, Table 5 and Table 6 are the comparisons of the positioning method in initialization mode and the optimal triangular positioning method in the X-direction positioning error, the Y-direction positioning error, and the orientation error, respectively. The localization method in this study shows more accurate results of the X -direction and angle. It is worth mentioning that even with such high resolution, the maximum noise of 20 mm will be converted to the same amount of variation to LiDAR data and contaminate the localization precision. By applying the proposed strategy, the localization precision can be improved to 6 mm very stably, which is one of the best localization results of AGV both for academy and industry.

3.2. The Influence of Motion Speed on Navigation Accuracy

In this part, we demonstrate the performance of the algorithm proposed in Section 2.4.1. This experiment is designed to verify the localization accuracy of the system in high-speed movement. First, four initialization reflectors and eight navigation reflectors are set up along a corridor, as shown in Figure 9. The localization error results are shown in Figure 10; the robot moves along the straight line at the speed of 0.7, 1.4, 2.8, and 4.2 m/s, respectively. The location estimation error and the reflector matching error become large in the case of high-speed movement, so results indicate that the average error and maximum error of localization increase with the movement speed. The location error caused by faster speed is well compensated with the help of motion compensation. Therefore, the navigation system is quite durable for the robot under high-speed movement, and the localization accuracy remains at a high level.

3.3. The Influence of Motion Compensation Algorithm on High-Speed Turning

Since the navigation system has a motion compensation algorithm to accurately estimate the position of the robot at the next moment, it can achieve the accurate location under high-speed movement and also supports accurate localization for the case of fast turning. Figure 11 shows the accumulated robot’s path and the converted navigation map for each movement. The locations of reflectors are all marked with the identification numbers. When the motion compensation mode is enabled, the trajectory of the robot movement is shown in Figure 11a with a speed of 2.6 m/s, and the robot makes a sharp turn with the angular velocity of 1.4 rad/s. There is no navigation failure happened caused by angular mismatch during the navigation. When the motion compensation mode is disabled, the robot moves along the path with the same speed, and the navigation system has a large localization error around the corner, which results in the navigation failure, as shown in Figure 11b. Therefore, the experimental result has verified that the motion compensation algorithm can handle the large angle velocity properly, which is critical for forklift operation in the warehouse.

3.4. The Influence of Relative Displacement of the Reflector on Navigation Accuracy

Due to human disoperation and some random errors in the warehouse environment, the reflector installation location may vary from the original locations in the map. The navigation system in this algorithm is designed to complete accurate localization when the displacement is presented in the reflector layout. This experiment is designed to investigate the algorithm’s capability to handle the reflector displacement. The systematic displacement is created for the navigation reflectors in the navigation map from the experimental settings; to observe the influence of the relative displacement of the navigation reflectors on the localization accuracy, the relative displacement of 0, 10, 20, and 30 mm of each navigation reflector is set, respectively, to allow the robot to move along the same straight line at a speed of 0.4 m/s. The layout of reflectors is shown in Figure 9. The localization error results are shown in Figure 12 and Table 7; it can be seen from the results that with the increase of the relative displacement between the ideal position and the actual position of the navigation reflectors, the navigation localization accuracy will decrease slightly. This shows that the navigation system has a strong resistance to the error of reflector location.

3.5. Validation of Navigation Recover Mechanism

In the actual navigation process of mobile robots, they often encounter situations in which the navigation fails because of the obstruction of the reflectors. When the navigation failure happens, the system will switch to the initialization mode and recalculate the current position of the robot; if the calculation is successful, the system will recover and resume the navigation mode from a new location.
The navigation system determines the navigation status and outputs the navigation status value through the CAN Bus Analyzer. According to the root mean square (RMS) error of reflector matching results, the navigation system decides the navigation status in four levels: status 1, 2, 3, and 4. Status 1 refers to the RMS error between the ideal location and the actual location of the reflector being between 1 and 10, status 2 refers to the RMS being between 10 and 100, status 3 refers to the RMS being between 100 and 500, and navigation status 4 refers to the navigation failure and the RMS being above 1000. During the experiment, there is a corridor next to the experimental site where the reflector is installed. The robot moves back and forth between the corridor and the experimental site 10 times. When the mobile robot enters the corridor, the laser scanner cannot detect the reflectors, because the reflectors are blocked by the wall, which eventually causes the navigation failure. If the robot returns to the experimental site, the system will restart the navigation mode again. The actual scene of the system scanning is shown in Figure 13, and the actual size of the rectangular experimental area in Figure 13 is 11.4 × 6 m. The navigation status data collected by the system are shown in Figure 14. It can be seen that the robot can successfully restart the navigation mode after each navigation failure.

3.6. System Stability Test

In addition, the navigation system can work effectively and robustly for a long time. The CAN Bus Analyzer outputs the navigation status data, and the system can run continuously for 72 h. During the experiment, the mobile robot randomly moves to a new location every 2 h. The experimental results show that the navigation status is basically maintained at 1 and 2, sometimes it jumps to 3, and there no navigation failure happened. This indicates that the navigation and the memory usage of the system are able to run for a long time in a relatively stable situation. The navigation status and trajectory curves during the experiment are shown in Figure 15.

4. Conclusions

In this work, the localization strategy with cylindrical reflectors and laser-data only has been introduced in great detail. The SORLA algorithm has shown high precision, strong robustness, low requirements on the computing hardware, and “real-time” localization with high-speed moving and fast-turning capability. SORLA is designed to operate in two successive operational modes. (1) In initialization mode, the reflector layout are defined by the distinctive geometrical relationship. This mode is required to initialize the robot location before the navigation task or loses track on the location and needs to relocate. (2) In navigation mode, the reflector layout could be deployed in the large area without the limitation of the geometric relationship. This is feasible due to the fact that the probability of the LiDAR locations of multiple “features” could be solved by the SVD algorithm. By introducing the reflector extraction, motion compensation, and reflector matching mechanism, the algorithm only needs LiDAR data to complete the high-precision localization without the help of any other sensors. Since there may be errors in the installation of the navigation reflector, we design the positive and negative experiments, and the results show the algorithm can handle the reflector displacement or the reflector occlusion relatively well.
According to the experimental results, the localization error of the navigation system is about 6.45 mm for the speed of 0.4 m/s and 9.87 mm when the speed reaches 4.2 m/s, and still works well with the angular velocity of 1.4 rad/s at turn, which is suitable for real-time localization requirements at high speed or fast turning. Although our strategy is durable for laser navigation with a lightweight computing workload, it is possible that the “feature extraction” part could be replaced by other techniques, such as the laser contour profile or visual segmentation solution, and this makes the strategy workflow a more promising alternative to Laser SLAM or Visual SLAM.

Author Contributions

Conceptualization, X.C., Y.G. and Q.S.; data curation, S.W. and Y.L.; formal analysis, S.W., Q.S. and G.D.; investigation, W.X. and Y.L.; methodology, Q.S., G.D., Q.Z. and S.W.; software, Q.S., G.D. and Q.Z.; supervision, Q.S. and X.C.; validation, S.W. and Q.S.; writing—original draft, S.W. and Q.S.; writing—review and editing, S.W., Q.S. and X.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China (#61975228).

Data Availability Statement

The MATLAB code of the SORLA presented in this study is available in [https://github.com/unlogical0327/RLA_V15_Implementation] (accessed on 21 January 2019). Video clips captured for an unmanned forklift and SORLA software screen record could be found at [https://github.com/unlogical0327/SORLA] (accessed on 24 May 2021).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Park, S.; Hashimoto, S. Autonomous mobile robot navigation using passive RFID in indoor environment. IEEE Trans. Ind. Electron. 2009, 56, 2366–2373. [Google Scholar] [CrossRef]
  2. Song, Q.; Zhao, Q.; Wang, S.; Liu, Q.; Chen, X. Dynamic path planning for unmanned vehicles based on fuzzy logic and improved ant colony optimization. IEEE Access 2020, 8, 62107–62115. [Google Scholar] [CrossRef]
  3. Rubio, F.; Valero, F.; Llopis-Albert, C. A review of mobile robots: Concepts methods theoretical frame work and applications. Int. J. Adv. Robotic Syst. 2019, 16, 2. [Google Scholar] [CrossRef] [Green Version]
  4. Song, Z.; Wu, X.; Xu, T.; Sun, J.; Gao, Q.; He, Y. A New Method of AGV Navigation Based on Kalman Filter and a Magnetic Nail Localization. In Proceedings of the 2016 IEEE International Conference on Robotics and Biomimetics (ROBIO), Qingdao, China, 3–7 December 2016; pp. 952–957. [Google Scholar] [CrossRef]
  5. Yang, S.; Kim, T.; Kuc, T.; Park, J. Geomagnetic Localization of Mobile Robot. In Proceedings of the 2017 IEEE International Conference on Mechatronics (ICM), Churchill, VIC, Australia, 13–15 February 2017; pp. 123–127. [Google Scholar] [CrossRef]
  6. Doer, C.; Scholz, G.; Trommer, G.F. Indoor laser-based SLAM for micro aerial vehicles. Gyroscopy Navig. 2017, 8, 181–189. [Google Scholar] [CrossRef]
  7. Krinkin, K.; Filatov, A.; Filatov, A.Y.; Huletski, A.; Kartashov, D. Evaluation of Modern Laser Based Indoor SLAM Algorithms. In Proceedings of the 22nd Conference of Open Innovations Association (FRUCT), Jyvaskyla, Finland, 15–18 May 2018; pp. 101–106. [Google Scholar] [CrossRef]
  8. Gao, R.Q.; Song, Q.; Liu, H.; Gao, J.B.; Wang, X.Y.; Gong, Y.B.; Chen, X.H.; Gao, J.S. Design of near-infrared reconfigurable metalens on silicon-on-insulator (SOI) platform with fabry-perot phase shifter. Optics Commun. 2019, 466, 56–63. [Google Scholar] [CrossRef]
  9. Gao, R.Q.; Song, Q.; Gao, J.B.; Liu, H.; Wang, X.Y.; Chen, X.H.; Gao, J.S. A Novel Design Method of Large-Aperture Metalens and Investigation of Electrical Focus-Tuning Mechanism with Phase Shifter Structures. In Proceedings of the SPIE/COS Photonics Asia, Beijing, China, 11–13 October 2018. [Google Scholar] [CrossRef]
  10. Lin, W.; Hu, J.; Xu, H.; Ye, C.; Li, Z. Graph-Based SLAM in Indoor Environment Using Corner Feature from Laser Sensor. In Proceedings of the 32nd Youth Academic Annual Conference of Chinese Association of Automation (YAC), Hefei, China, 19–21 May 2017; pp. 1211–1216. [Google Scholar] [CrossRef]
  11. Beinschob, P.; Reinke, C. Graph SLAM Based Mapping for AGV Localization in Large-Scale Warehouses. In Proceedings of the 2015 IEEE International Conference on Intelligent Computer Communication and Processing (ICCP), Cluj-Napoca, Romania, 3–5 September 2015; pp. 245–248. [Google Scholar] [CrossRef]
  12. Reinke, C.; Beinschob, P. Strategies for Contour-Based Self-Localization in Large-Scale Modern Warehouses. In Proceedings of the 2013 IEEE 9th International Conference on Intelligent Computer Communication and Processing (ICCP), Cluj-Napoca, Romania, 5–7 September 2013; pp. 223–227. [Google Scholar] [CrossRef]
  13. Tomažič, S.; Škrjanc, I. An automated indoor localization system for online bluetooth signal strength modeling using visual-inertial SLAM. Sensors 2021, 21, 2857. [Google Scholar] [CrossRef] [PubMed]
  14. Mitterer, T.; Gietler, H.; Faller, L.-M.; Zangl, H. Artificial landmarks for trusted localization of autonomous vehicles based on magnetic sensors. Sensors 2019, 19, 813. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  15. Guo, S.; Yan, Z.X.; Song, T.; Xu, Z.; Zeng, L.D. Improvement of localization with artificial landmark for mobile manipulator. Int. J. Adv. Robot. Syst. 2019, 16, 4. [Google Scholar] [CrossRef] [Green Version]
  16. Guo, S.; Fang, T.-T.; Song, T.; Xi, F.-F.; Wei, B.-G. Tracking and localization for omni-directional mobile industrial robot using reflectors. Adv. Manuf. 2018, 6, 118–125. [Google Scholar] [CrossRef]
  17. Ghallabi, F.; Mittet, M.; EL-HAJ-SHHADE, G.; Nashashibi, F. LIDAR-Based High Reflective Landmarks (HRL)s for Vehicle Localization in an HD Map. In Proceedings of the 2019 IEEE Intelligent Transportation Systems Conference (ITSC), Auckland, New Zealand, 27–30 October 2019; pp. 4412–4418. [Google Scholar] [CrossRef] [Green Version]
  18. Ronzoni, D.; Olmi, R.; Secchi, C.; Fantuzzi, C. AGV Global Localization Using Indistinguishable Artificial Landmarks. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 287–292. [Google Scholar] [CrossRef]
  19. Kim, J.; Chung, W. Localization of a mobile robot using a laser range finder in a glass-walled environment. IEEE Trans. Ind. Electron. 2016, 63, 3616–3627. [Google Scholar] [CrossRef]
  20. Palacín, J.; Martínez, D.; Rubies, E.; Clotet, E. Mobile robot self-localization with 2D push-broom LIDAR in a 2D map. Sensors 2020, 20, 2500. [Google Scholar] [CrossRef]
  21. Moreno, H.; Valero, C.; Bengochea-Guevara, J.M.; Ribeiro, Á.; Garrido-Izard, M.; Andújar, D. On-ground vineyard reconstruction using a LiDAR-based automated system. Sensors 2020, 20, 1102. [Google Scholar] [CrossRef] [Green Version]
  22. Zhang, C.; Zhan, Q.; Wang, Q.; Wu, H.; He, T.; An, Y. Autonomous dam surveillance robot system based on multi-sensor fusion. Sensors 2020, 20, 1097. [Google Scholar] [CrossRef] [Green Version]
  23. Liu, F.; Li, X.; Wang, J.; Zhang, J. An adaptive UWB/MEMS-IMU complementary kalman filter for indoor location in NLOS environment. Remote. Sens. 2019, 11, 2628. [Google Scholar] [CrossRef] [Green Version]
  24. Bordoy, J.; Schott, D.J.; Xie, J.; Bannoura, A.; Klein, P.; Striet, L.; Hoeflinger, F.; Haering, I.; Reindl, L.; Schindelhauer, C. Acoustic indoor localization augmentation by self-calibration and machine learning. Sensors 2020, 20, 1177. [Google Scholar] [CrossRef] [Green Version]
  25. Xu, Z.; Guo, S.; Song, T.; Zeng, L. Robust localization of the mobile robot driven by LiDAR measurement and matching for ongoing scene. Appl. Sci. 2020, 10, 6152. [Google Scholar] [CrossRef]
  26. Davidek, D.; Klecka, J.; Horak, K.; Novacek, P. Odometer module for mobile robot with position error estimation. IFAC-Papers OnLine 2016, 49, 346–351. [Google Scholar] [CrossRef]
  27. Hojabri, H.; Mokhtari, H.; Chang, L. A generalized technique of modeling analysis and control of a matrix converter using SVD. IEEE Trans. Ind. Electron. 2011, 58, 949–959. [Google Scholar] [CrossRef]
  28. Ravankar, A.; Hoshino, Y.; Emaru, T.; Kobayashi, Y. On a hopping-points SVD and hough transform based line detection algorithm for robot localization and mapping. Int. J. Adv. Robot. Syst. 2016, 13, 98. [Google Scholar] [CrossRef] [Green Version]
  29. Lee, H.W.; Park, H.J.; Lee, J.H.; Song, M. Accuracy improvement in peak positioning of spectrally distorted fiber Bragg grating sensors by Gaussian curve fitting. Appl. Opt. 2007, 46, 2205–2208. [Google Scholar] [CrossRef]
  30. Chen, X.; Zou, S. Improved Wi-Fi indoor positioning based on particle swarm optimization. IEEE Sens. J. 2017, 17, 7143–7148. [Google Scholar] [CrossRef]
  31. Xu, H.; Ding, Y.; Wang, R.; Shen, W.; Li, P. A novel radio frequency identification three-dimensional indoor navigation system based on trilateral positioning algorithm. J. Algorithms Comput. Technol. 2016, 10, 158–168. [Google Scholar] [CrossRef] [Green Version]
  32. Gustafsson, F.; Gunnarsson, F.; Bergman, N.; Forssell, U.; Jansson, J.R.; Karlsson, R.; Nordlund, P.J. Particle filters for positioning navigation and tracking. IEEE Trans. Signal Process. 2002, 50, 425–437. [Google Scholar] [CrossRef] [Green Version]
  33. Available online: https://www.pepperl-fuchs.com/usa/en/classid_53.htm?view=productdetails&prodid=86559 (accessed on 7 June 2021).
Figure 1. The coordinate system description.
Figure 1. The coordinate system description.
Sensors 21 04479 g001
Figure 2. “SORLA” program architecture diagram.
Figure 2. “SORLA” program architecture diagram.
Sensors 21 04479 g002
Figure 3. Real-time navigation map.
Figure 3. Real-time navigation map.
Sensors 21 04479 g003
Figure 4. Calculation method of distance threshold Dk between the adjacent data points.
Figure 4. Calculation method of distance threshold Dk between the adjacent data points.
Sensors 21 04479 g004
Figure 5. Fitting results of Gaussian function on the reflection intensity of the reflector data at different distances.
Figure 5. Fitting results of Gaussian function on the reflection intensity of the reflector data at different distances.
Sensors 21 04479 g005
Figure 6. Rotation vector R and translation vector t.
Figure 6. Rotation vector R and translation vector t.
Sensors 21 04479 g006
Figure 7. The experimental layout environment of 5x initialization reflectors.
Figure 7. The experimental layout environment of 5x initialization reflectors.
Sensors 21 04479 g007
Figure 8. Initial point localization error in initialization mode.
Figure 8. Initial point localization error in initialization mode.
Sensors 21 04479 g008
Figure 9. The actual layout environment of reflectors.
Figure 9. The actual layout environment of reflectors.
Sensors 21 04479 g009
Figure 10. Localization accuracy at different speeds.
Figure 10. Localization accuracy at different speeds.
Sensors 21 04479 g010
Figure 11. Robot motion trajectory and navigation map: (a) motion compensation mode turned on; (b) motion compensation mode turned off.
Figure 11. Robot motion trajectory and navigation map: (a) motion compensation mode turned on; (b) motion compensation mode turned off.
Sensors 21 04479 g011
Figure 12. Localization error of the navigation reflectors with relative displacement.
Figure 12. Localization error of the navigation reflectors with relative displacement.
Sensors 21 04479 g012
Figure 13. System real-time navigation map: (a) normal navigation mode; (b) navigation mode failure in the corridor.
Figure 13. System real-time navigation map: (a) normal navigation mode; (b) navigation mode failure in the corridor.
Sensors 21 04479 g013
Figure 14. Navigation status change trend.
Figure 14. Navigation status change trend.
Sensors 21 04479 g014
Figure 15. System stability experiment for long-term operation: (a) navigation status; (b) navigation trajectory curve with time elapse.
Figure 15. System stability experiment for long-term operation: (a) navigation status; (b) navigation trajectory curve with time elapse.
Sensors 21 04479 g015
Table 1. X position error.
Table 1. X position error.
The Number of ReflectorMean (mm)Maximum (mm)Std. Deviation (mm)
39.0518.45.67
47.6415.74.69
57.8913.43.96
Table 2. Y position error.
Table 2. Y position error.
The Number of ReflectorMean (mm)Maximum (mm)Std. Deviation (mm)
33.525.32.21
44.128.12.44
53.366.02.13
Table 3. Orientation error.
Table 3. Orientation error.
The Number of ReflectorMean (deg)Maximum (deg)Std. Deviation (deg)
30.641.070.32
40.481.070.32
50.621.290.37
Table 4. The comparison in X position error.
Table 4. The comparison in X position error.
MethodMean (mm)Maximum (mm)
Optimal triangulation positioning algorithm based on angle measurement13.3417.58
Positioning algorithm in initialization mode7.8913.4
Table 5. The comparison in Y position error.
Table 5. The comparison in Y position error.
MethodMean (mm)Maximum (mm)
Optimal triangulation positioning algorithm based on angle measurement2.26.0
Positioning algorithm in initialization mode3.366.0
Table 6. The comparison in orientation error.
Table 6. The comparison in orientation error.
MethodMean (deg)Maximum (deg)
Optimal triangulation positioning algorithm based on angle measurement0.891.81
Positioning algorithm in initialization mode0.621.29
Table 7. Localization error of the navigation reflectors with relative displacement.
Table 7. Localization error of the navigation reflectors with relative displacement.
Relative Displacement (mm)Mean (mm)Maximum (mm)Std. Deviation (mm)
06.45225.08
108.82266.37
208.84266.27
3012.17359.11
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Wang, S.; Chen, X.; Ding, G.; Li, Y.; Xu, W.; Zhao, Q.; Gong, Y.; Song, Q. A Lightweight Localization Strategy for LiDAR-Guided Autonomous Robots with Artificial Landmarks. Sensors 2021, 21, 4479. https://doi.org/10.3390/s21134479

AMA Style

Wang S, Chen X, Ding G, Li Y, Xu W, Zhao Q, Gong Y, Song Q. A Lightweight Localization Strategy for LiDAR-Guided Autonomous Robots with Artificial Landmarks. Sensors. 2021; 21(13):4479. https://doi.org/10.3390/s21134479

Chicago/Turabian Style

Wang, Sen, Xiaohe Chen, Guanyu Ding, Yongyao Li, Wenchang Xu, Qinglei Zhao, Yan Gong, and Qi Song. 2021. "A Lightweight Localization Strategy for LiDAR-Guided Autonomous Robots with Artificial Landmarks" Sensors 21, no. 13: 4479. https://doi.org/10.3390/s21134479

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop