Next Article in Journal
Interpretable Multiscale Directed Temporal Graph Learning for MEG-Based Identification and Lateralization of Temporal Lobe Epilepsy
Previous Article in Journal
Quadrature 1D–LiDAR Sensing for Indirect Height Measurement of a Helical Bogie Spring
Previous Article in Special Issue
Dynamic Risk Inference Method for Chemical Industrial Inspection Based on Spatio-Temporal Scene Graphs
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Virtual-AMR LiDAR Fusion for AMCL Localization Under Mutual Occlusion

1
Graduate Institute of Automation Technology, National Taipei University of Technology, Taipei 10608, Taiwan
2
Department of Electrical Engineering, National Yunlin University of Science and Technology, Yunlin 64002, Taiwan
3
AUO Corporation, No. 1, Li-Hsin Rd. 2, Hsinchu Science Park, Hsinchu City 30078, Taiwan
*
Author to whom correspondence should be addressed.
Sensors 2026, 26(19), 6184; https://doi.org/10.3390/s26196184
Submission received: 28 August 2026 / Revised: 24 September 2026 / Accepted: 27 September 2026 / Published: 29 September 2026

Abstract

When autonomous mobile robots (AMRs) travel in formation, mutual occlusion reduces the map features available to adaptive Monte Carlo localization (AMCL) and introduces robot body returns. This study proposes a Virtual-AMR LiDAR fusion method that transforms synchronized 2D scans into a common frame, tracks robot contours, estimates relative pose by KD-tree overlap matching, removes robot returns, and fuses environmental measurements for AMCL. The method was evaluated using two AMRs in a 3.1 m × 10 m indoor area with 4 m straight-line and turning trajectories. Four branch-wise configurations were tested in five repeated trials. Against an internal reference trajectory constructed from the planned path and motor encoder measurements rather than an independent ground truth system, the complete method achieved trial-level 2D RMSE values of 0.0412 ± 0.0083 m for the straight-line trajectory and 0.0511 ± 0.0104 m for the turning trajectory (mean ± sample standard deviation across five trials), while reducing localization drift and preventing the AMCL divergence observed under the tested mutual occlusion conditions.

1. Introduction

Autonomous mobile robots (AMRs) operating in a known map environment commonly combine two-dimensional LiDAR, odometry, and adaptive Monte Carlo localization (AMCL). AMCL represents pose uncertainty using a sequential Monte Carlo method [1], while LiDAR provides real-time environmental measurements [2]. When multiple AMRs travel in close formation, neighboring robots may simultaneously occlude observable static map features and produce time-varying robot body returns in the scans. Consequently, fewer valid environmental features remain available for scan-to-map matching, which may cause AMCL localization drift or divergence.
This study addresses this specific mutual occlusion degradation mechanism by proposing a Virtual-AMR LiDAR fusion method. The method identifies neighboring AMR contours, estimates the inter-robot SE(2) relationship, removes robot body returns, transforms the synchronized retained environmental measurements into a common Virtual-AMR coordinate frame, and supplies the fused virtual scan to an existing AMCL node. The focus is therefore on measurement construction before AMCL rather than on modifying the AMCL estimator itself. The objective also differs from collaborative SLAM methods that jointly estimate maps or pose graphs and from cooperative localization methods that exchange relative measurements or particle beliefs [3,4,5,6].
The proposed processing pipeline contains two complementary branches. The feature recognition and tracking branch uses median filtering, smoothing, an ROI, and a linear Kalman filter to estimate relative position. The relative angle branch uses KD-tree overlap matching and a dynamic angular search to estimate relative heading. The outputs of the two branches jointly establish the relative pose, which is then used to mask returns from the other AMR and fuse the available environmental LiDAR points. The resulting Virtual-AMR scan is supplied to AMCL.
The method was validated with two physical AMRs under two occlusion scenarios: a 4 m straight-line round trip and a turning trajectory involving position exchange and rotation. Each experimental configuration was repeated five times. In addition to standard AMCL and the complete Virtual-AMR method, branch-wise ablation was used to assess the respective effects of the relative angle estimation branch and the feature recognition/tracking branch. All validation was performed with this dual-AMR configuration in a known indoor map under controlled occlusion conditions.
The main contributions of this study are as follows:
  • A complete SE(2) coordinate transformation and time synchronization model is established, explicitly defining the measurement transformations and fusion conditions among the LiDAR, AMR base, map, and Virtual-AMR coordinate frames.
  • An AMCL-compatible Virtual-AMR measurement-construction pipeline is proposed. It integrates robot contour recognition, robot return removal, relative pose estimation, and virtual scan fusion without modifying the existing AMCL estimator.
  • Physical validation is performed using straight-line and turning experiments with two AMRs. Five repeated trials and branch-wise ablation compare standard AMCL, the individual processing branches, and the complete method to quantify localization error, failure rate, and computational performance under the tested conditions.

2. Related Work

This section focuses on four categories of work directly related to the proposed method: ROS 2 multi-robot communication architectures, AMCL localization in known maps, LiDAR preprocessing and feature matching, and cooperative localization/collaborative SLAM. The discussion explains how prior studies support the sensing, tracking, and matching modules and positions Virtual-AMR measurement reconstruction within the mutual occlusion problem.

2.1. ROS 2 Multi-Robot Communication Architecture

ROS provides publish/subscribe and service-based communication among nodes [7]. ROS 2 further employs the Data Distribution Service (DDS) as its underlying communication architecture and uses quality-of-service (QoS) settings to support data transmission and reliability control in distributed robotic systems [8,9]. In this study, ROS 2 transports timestamped LiDAR, odometry, and control information from the two AMRs, enabling scan synchronization, coordinate transformation, and Virtual-AMR fusion within a common communication framework. ROS 2 also provides the implementation foundation for the overall system.

2.2. AMCL and AMR Localization Architecture

For AMR navigation in a known map, LiDAR and odometry can be combined with map-based localization results to support subsequent path planning and motion control [10,11]. ROS/navigation studies have established implementation frameworks spanning map-based localization, local planning, and multi-robot applications [12,13,14,15]. These studies clarify the engineering role of AMCL in known map navigation, but its localization quality still depends on whether the current LiDAR scan contains sufficient and consistent environmental features for matching with the static map.
AMCL/MCL represents pose uncertainty using a particle filter and can use KLD sampling to adjust the particle count, balancing estimation quality and computational efficiency [16,17]. In the proposed architecture, AMCL remains a fixed map localization back end, while the study focuses on reconstructing its input observations. KD-trees, by contrast, are suitable for nearest-neighbor queries and searches in two-dimensional point sets [18]. The proposed method therefore uses a KD-tree to match the relative angle between scans from the two AMRs. This KD-tree matching estimates only relative heading and is not part of the core AMCL algorithm.

2.3. LiDAR Feature Processing and Point Set Matching

Studies related to the contour-processing branch of the proposed method include LiDAR target detection and tracking, multi-LiDAR obstacle/motion estimation, scan processing, and noise removal [19,20,21,22,23,24]. Corner points and geometric contours can serve as features for object recognition with two-dimensional LiDAR [25], while temporal information can stabilize target position estimates in tracking methods [26]. These studies support the use of filtering, contour features, and tracking to obtain the relative position of a neighboring AMR; however, these modules alone do not constitute Virtual-AMR fusion.
Work related to the relative angle branch includes KD-tree-accelerated point set matching, robust registration, and approximate nearest-neighbor search [27,28,29]. These methods provide efficient correspondence searches and geometric-matching tools. Building on them, the proposed method integrates relative position/angle estimation, AMR return removal, coordinate transformation, and reconstruction of a virtual scan from retained environmental points into a measurement pipeline before AMCL, thereby addressing the loss of scan-to-map information caused by mutual occlusion between two AMRs.

2.4. Cooperative Localization and Virtual-AMR Fusion

Existing cooperative localization methods typically exchange inter-robot range/bearing measurements, relative poses, or probabilistic beliefs, whereas collaborative SLAM methods exchange descriptors, keyframes, submaps, or pose graph constraints to improve team pose observability, global localization recovery, or map consistency [3,4,5,6]. In contrast, this study focuses on degradation at the measurement layer before AMCL: a neighboring AMR both occludes static map features and introduces dynamic robot body returns into the two-dimensional LiDAR scan. The proposed method therefore neither exchanges particle beliefs nor performs inter-robot loop closure or distributed pose graph optimization. Instead, it estimates the relative SE(2) relationship between two AMRs, removes AMR-related returns, transforms the usable environmental points from both AMRs into a common Virtual-AMR coordinate frame, and forms an AMCL-compatible virtual scan. Accordingly, this study defines the research gap as measurement reconstruction under mutual occlusion. Table 1 summarizes the comparison with related methods.

3. Multi-AMR Localization Under Mutual Occlusion

This section describes the multi-AMR AMCL localization architecture used in this study and the LiDAR measurement degradation caused by mutual occlusion between neighboring AMRs. Because the proposed Virtual-AMR method operates at the measurement construction layer before AMCL, this section first defines the standard AMCL baseline architecture and the mutual occlusion problem. Section 4 then presents the proposed LiDAR processing and virtual scan construction method.

3.1. Multi-AMR Localization System Architecture

This study uses AMCL on a known two-dimensional occupancy map as the baseline localizer for each physical AMR. Each AMR performs particle-based pose estimation using two-dimensional LiDAR and wheel odometry. Odometry provides motion prediction, while the LiDAR measurement model updates the particle weights [1,16,17]. In the standard baseline configuration, the two AMRs run AMCL independently. The proposed Virtual-AMR pipeline does not modify AMCL itself; instead, it reconstructs the LiDAR observation supplied to AMCL.
AMCL approximates the posterior distribution of the robot pose with a particle set. Its basic steps include motion prediction, LiDAR measurement updating, and resampling when required, as shown in Figure 1 [30]. Therefore, reduced consistency between the input scan and the static map directly affects the particle weight distribution and localization stability. This relationship forms the basis for analyzing the mutual occlusion problem in this study.
In the implemented system, AMCL performs map-based localization using an odometry motion model and a LiDAR likelihood field measurement model. This study does not seek to modify the AMCL algorithm itself; instead, it investigates how to improve the measurements supplied to AMCL when a neighboring AMR introduces dynamic returns and occludes static features. Existing indoor localization approaches may improve environmental distinctiveness by adding artificial landmarks [31]. In contrast, the proposed method requires no additional external landmarks and reconstructs a virtual environmental scan using the existing LiDAR information from the two AMRs.
The KD-tree is not part of the AMCL control core. In the proposed method, it serves only as the nearest-neighbor search structure for the relative angle estimation branch in Section 4.3 and is used to compare the overlap of LiDAR point sets from the two AMRs after coordinate transformation [18].

3.2. Mutual Occlusion Localization Problem

The AMCL LiDAR measurement model assumes that the principal environmental structures in the current scan correspond consistently to the existing static map. In a close dual-AMR formation, the other AMR has two adverse effects: it occludes walls or fixed objects that would otherwise be available for map matching, and it adds moving robot body returns that are absent from the static map. When the proportion of valid static features decreases, scan to map measurement consistency deteriorates. This may spread the particle weight distribution, cause pose drift, and, in severe cases, lead to the localization divergence observed in the experiments.
Figure 2 illustrates this problem through the relative positions of two AMRs. The red LiDAR points represent returns from the body of AMR B observed by AMR A, whereas the yellow LiDAR points represent returns from the body of AMR A observed by AMR B [2]. These body returns are not static map features and also occlude usable environmental measurements behind the robots. If the opposite side of an AMR lacks sufficient fixed geometric features, the information available to its individual AMCL process for map matching is further reduced. This study therefore defines the problem specifically as LiDAR measurement degradation caused by mutual occlusion rather than as general AMCL failure or localization in the presence of every type of dynamic obstacle.
Based on this problem definition, the Virtual-AMR layer is placed at the measurement input of standard AMCL to reconstruct an observation suitable for map matching under mutual occlusion. The following assumptions and validation boundaries define the conditions under which the method is applied:
  • The system uses a known two-dimensional occupancy map. Each two-dimensional LiDAR is mounted on the AMR base with fixed and calibrated planar extrinsic parameters, and the two AMRs move on a common horizontal plane.
  • A centralized fusion server receives timestamped LiDAR scans and pose data from the two AMRs. A valid fusion packet is formed only when the measurements satisfy the scan synchronization and data age conditions formally defined in Section 4.4.
  • At least one AMR must retain sufficient identifiable static environmental features at each fusion instant so that Virtual-AMR fusion can establish a reliable observation for map matching.
  • The physical validation in this study uses two AMRs and evaluates mutual occlusion, position exchange, and rotation through straight-line and turning trajectories.

4. Virtual-AMR Localization and Formation Control

This section formalizes the Virtual-AMR method and dual-AMR formation control. Section 4.1, Section 4.2 and Section 4.3 describe LiDAR preprocessing, contour feature recognition and tracking, and relative heading estimation, respectively. Section 4.4 defines the Virtual-AMR coordinates and virtual scan fusion, while Section 4.5 establishes the rigid formation motion model for the two AMRs. The emphasis is on the mathematical definitions, variables, and implementation relationships of the processing modules.
The overall pipeline is shown in Figure 3. Timestamped LiDAR scans are first preprocessed and then passed through two complementary branches. The feature recognition and tracking branch uses contour geometry, an ROI, and a linear Kalman filter to estimate the relative position (x, y) between the AMRs. The relative angle branch uses KD-tree overlap matching to estimate the relative heading θ. Their outputs jointly form the inter-AMR relative pose (x, y, θ). The pipeline then performs time synchronization checks, coordinate transformation, AMR body return masking, and Virtual-AMR scan fusion. The fused virtual LiDAR measurement is supplied to the existing AMCL process for localization. The rigid formation motion model for the two AMRs is presented separately in Section 4.5.

4.1. LiDAR Data Acquisition and Preprocessing

Each two-dimensional LiDAR scan is represented by a scan index ID. The experiments use IDtotal = 655 measurement points per revolution. Equation (1) maps the scan index ID to the measurement angle θ(ID), and Equation (2) converts the measured range r(ID) into a planar point pC(ID) in LiDAR coordinate frame C. Here, θmin and θmax are the starting and ending scan angles, IDtotal is the number of measurements used per revolution, and x(ID) and y(ID) are the coordinates of the LiDAR measurement point rather than the AMR localization coordinates in the map. The AMR center position is obtained through the contour recognition and geometric calculations described in Section 4.2.
θ ( ID ) = θ min + θ max − θ min ID total ∗ ID ,
p C ID = x ( ID ) y ( ID ) = r ( ID ) 0 0 r ( ID ) cos ( θ ID ) sin ( θ ID ) ,
To improve the stability of contour segment extraction, the raw scan is first subjected to local outlier suppression and smoothing [24]. Median filtering reduces the effect of isolated measurements on the contour, while subsequent smoothing increases the consistency of local line segments. The processed point set serves only as input to AMR candidate contour extraction and KD-tree matching and does not alter the AMCL measurement model itself.
The proposed method uses a fixed 11-point median filtering window, as follows:
  • Data collection: Form D = {d1, d2, …, d11} from 11 consecutive range measurements.
  • Filtering: Calculate dmedian = median(D), where median(·) denotes the median of the 11-point window.
  • Data update: Replace the measurement at the center of the current window with d_median to obtain the filtered scan sequence.
  • Window shift: Move the window forward by one scan index, for example, D′ = {d2, d3, d4, …, d12}, and repeat Steps 2 and 3 until the current scan has been processed.
After median filtering, the original implementation sets range = 10 near IDstart and uses the inclusive index interval from IDstart to IDstart + range, which therefore contains range + 1 = 11 coordinate points. Equation (3) calculates the smoothed coordinates over this interval in vector form, where pi = [xi, yi]T is the ith planar LiDAR measurement point and ps(ID) = [xs(ID), ys(ID)]T is the smoothed coordinate used for subsequent contour segment extraction:
p s ID = 1 range + 1 ∑ i = I D start I D start + range p i ,     p i = x i , y i T ,
The smoothed point set is used to form candidate contour segments. The center position and tracking state of the target AMR are then estimated using the geometric feature recognition and Kalman tracking described in Section 4.2.
For the scenario shown in Figure 2a, the filtering sequence is illustrated in Figure 4. Figure 4a shows the raw contour points selected by the ROI, Figure 4b shows the points after 11-sample median filtering, and Figure 4c shows the smoothed line segments used for subsequent feature extraction. The segment on the right is the contour of AMR B observed by AMR A, whereas the segment on the left is the contour of AMR A observed by AMR B.

4.2. AMR Contour Feature Recognition and Tracking

This section identifies the contour of a neighboring AMR and estimates its center position using the known chassis geometry. Figure 5 defines L, H1, and H2 for the subsequent contour geometry derivation. These dimensions and the LiDAR extrinsic parameters were obtained by direct geometric measurement of the physical platform.
The candidate contour obtained in Section 4.1 first initializes the ROI, after which N = 10 points on each side of a candidate corner are fitted by least squares. A candidate line segment is represented as yi = axi + b, where a and b are the slope and intercept, respectively. Equation (4) calculates the slope a from N points (xi, yi). The proposed method fixes N = 10. The procedure is as follows:
  • Define the candidate region using the minimum and maximum scan indices in the ROI, with IDstart denoting the search starting point.
  • Fit yi = axi + b to the N scan points before and after the candidate corner.
  • Calculate the least squares slope a of each candidate line segment using Equation (4); N is set to 10:
      a = N ∑ i = 1 N x i y i − ∑ i = 1 N x i ∑ i = 1 N y i N ∑ i = 1 N x i 2 − ∑ i = 1 N x i 2 .
  • Calculate the chassis feature angle α using Equation (5) and use it together with the candidate segment slopes to identify a corner consistent with the known AMR contour geometry:
    α = atan 2 H 1 , L ,     0 < α < π 2 .
As shown in Figure 5b, comparison of the candidate segment slopes with the known chassis geometry yields the corner coordinate (xang, yang). Equations (5) and (6) define the characteristic angles α and β from the known dimensions L, H1, and H2. The angle α is used to evaluate geometric consistency of a candidate contour, while β corresponds to the magnitude of the angular offset used to infer the center from the known chassis geometry. In Equation (7), θl is the direction of the fitted contour line; Δϕgeom is the signed geometric offset determined by whether the left or right symmetric corner is selected, with magnitude β from Equation (6); ϕc is the direction from the AMR center to the detected corner; and dc is the fixed distance from the corner to the chassis center. The center coordinate (xc, yc) is then inferred from (xang, yang). Thus, ϕc is obtained entirely from the observed contour direction and the known chassis geometry, without requiring prior knowledge of (xc, yc).
β = atan 2 H 2 ,   L ,     0 < β < π 2 .
θ l = atan 2 a ,   1 ϕ c = θ l   + Δ ϕ geom ,     d c = L 2 + H 2 2 x c y c = x ang y ang − d c cos ϕ c sin ϕ c .
The contour tracker uses a linear constant-velocity Kalman filter. Let i denote the tracked AMR and k the discrete update index. Equation (8) defines and initializes the state x ^ i , k , where zx,i,k and zy,i,k are the position measurements obtained from contour geometry. Because Kalman prediction and correction follow the standard linear estimation procedure, Equations (9a)–(9c), (9d) and (9e), and (9f)–(9h) describe state/covariance prediction, the position measurement model, and the Kalman update, respectively. Here, F(Δt) is the state transition matrix; P and Q are the state and process noise covariance matrices; H is the measurement matrix; vi,k is the measurement noise with covariance R; Ki,k is the Kalman gain; I is the identity matrix; and the superscript “−” denotes the prior before the measurement update. Equation (10) dynamically adjusts the ROI half-widths hx,k and hy,k using velocity and the x/y position variances Pxx,k and Pyy,k, where γ is the covariance expansion factor. The common AMR index i is omitted from Equation (10) for simplicity. The sampling interval, covariance matrices, and ROI settings are summarized below. If no valid contour measurement is available for the current packet, only the predicted state is retained. Three consecutive invalid synchronized packets trigger the research/recovery procedure.
x ^ i , k = x i , k y i , k v x , i , k v y , i , k T x ^ i , 0 = z x , i , 0 z y , i , 0 0 0 T ,     P i , 0 = P 0 .
x ^ i , - k = F Δ t x ^ i , k − 1
P i , k − = F Δ t P i , k − 1 F T Δ t + Q
F Δ t = 1 0 Δ t 0 0 1 0 Δ t 0 0 1 0 0 0 0 1
z i , k = H x ^ i , k − + v i , k ,   v i , k ∼ N 0 , R
H = 1 0 0 0 0 1 0 0
K i , k = P i , k − H T H P i , k − H T + R − 1
x ^ i , k = x ^ i , k − + K i , k z i , k − H x ^ i , k −
P i , k = I − K i , k H P i , k −
h x , k =   h x , 0 + v x , k Δ t + γ P xx , k h y , k =   h y , 0 + v y , k Δ t + γ P yy , k .

4.3. Relative Angle Estimation

The relative angle branch compares the filtered LiDAR point sets from the two AMRs after coordinate transformation using a KD-tree nearest-neighbor search [27,28], as shown in Figure 6. Let i, j ∈ {A, B}, i ≠ j, denote the source and target AMRs, and let Si and Sj denote their preprocessed LiDAR point sets, respectively. Each scan contains 655 points. For each candidate source point, the target search is restricted to a window of ±10 points around the corresponding scan index, and a post-filtering distance threshold of 3 mm is used to determine geometric correspondence. Before candidate rotation searching, the two point sets are compensated for translation using the available relative position estimate t ^ ij = [ x ^ ij , y ^ ij ]T. This estimate may be obtained from the feature recognition and tracking branch or from the available localization outputs, depending on the active processing configuration; the specific sources used in each experimental configuration are defined in Section 5.3.5. After translation compensation, an overlap score is calculated for each candidate rotation δθ, and the rotation that maximizes this score is selected as the relative heading estimate.
Equation (11) calculates the scan overlap score s(δθ) from Np candidate points, where pk ∈ Si is the kth source point; q ∈ Sj is a candidate corresponding point in the target set; R(δθ) is the two-dimensional rotation matrix; t ^ ij is the translation compensation; εd is the nearest-neighbor distance gate; and 1[·] is the indicator function. Equation (12) selects from the candidate angle set Ω the optimal angle δθopt that maximizes s(δθ). This value is defined as the relative heading estimate for the source–target pair, θ ^ ij = δθopt, and is consistently denoted θ ^ AB when establishing the Virtual-AMR coordinates. The value εd = 3 mm is an empirical geometric consistency threshold for the filtered and transformed point sets, not the raw ranging accuracy of the TiM551 [32]. Similarly, 0.1° is the numerical increment of the relative angle optimization rather than the physical angular resolution of the sensor. The sensitivity of the 3 mm and 0.1° settings is analyzed in Section 5.2.3.
s δ θ = 1 N p ∑ k = 1 N p 1   min q ∈ S j R δ θ p k + t ^ i j − q 2 < ε d .
δ θ opt = arg max δ θ ∈ Ω s δ θ .
Figure 7 illustrates how the overlap score changes among three candidate rotations. When the relative angle between the two point sets approaches the correct value, more corresponding points satisfy εd, and the overlap score in Equation (11) increases. The candidate angle in Figure 7c has the highest overlap among the three examples. The implemented estimator uses Equation (12) to select the maximum overlap score over the search set Ω.
The principal parameters of the preceding method and equations are summarized in Table 2.
The process covariance matrix Q was derived from the discrete constant-velocity model using the sampling interval Δt = 0.1 s and an acceleration standard deviation of 0.05 m/s2, selected as an engineering setting based on the maximum commanded acceleration used in the experiments. The measurement covariance R = diag(4.0 × 10−4, 4.0 × 10−4) m2 corresponds to an assumed position measurement standard deviation of 0.02 m selected as an engineering setting for contour center measurement uncertainty. The initial covariance P0 represents standard deviations of 0.05 m for position and 0.10 m/s for velocity. The initial ROI half-widths of 0.25 m were selected from the 0.20 m chassis half-width with an additional 0.05 m detection margin, while γ = 2.0 expands the ROI according to approximately two standard deviations of the predicted position uncertainty. These parameters were kept fixed in all experiments.

4.4. Virtual-AMR Coordinate Construction and LiDAR Fusion

Let M be the map coordinate frame, Bi the base frame of AMR i, Li its LiDAR frame, and V the Virtual-AMR frame. T B A transforms a point expressed in frame B into frame A. In the experiments, i ∈ {A, B}. Equation (13) defines a general SE(2) homogeneous transformation, where ψ is the planar rotation and tx and ty are the translations. At each valid fusion timestamp tk, the relative position ( x ^ AB , y ^ AB ) from Section 4.2 and the relative heading θ ^ AB from Section 4.3 are combined into the relative transform T ^ B B B A in Equation (14), which transforms quantities from AMR B base frame BB to AMR A base frame BA. Equation (15) defines the scan synchronization and data age conditions. Equations (16)–(18) establish the instantaneous Virtual-AMR geometry and the transformations from both LiDAR frames to V. Equation (19) then constructs the fused environmental point set after AMR body returns have been removed.
In Equation (15), ti and trx,i are, respectively, the LiDAR scan timestamp of AMR i and its reception time at the fusion server; Δtsync,max and τage,max limit the inter-scan timestamp difference and data age. To simplify notation, some common time indices k are omitted from Equations (16)–(19); all unindexed x ^ AB , y ^ AB , and θ ^ AB values correspond to the same fusion instant tk. The quantities wA and wB are fusion weights; x V A , y V A , and ψ V A , express V in frame BA; and T V B A transforms V to BA. In Equation (18), T L i B i is the fixed calibrated extrinsic transform from the LiDAR frame to the base frame. In Equation (19), Si(ti), Mi, p, and SV(tk) are, respectively, the preprocessed point set in Li, the AMR body return mask in the same frame, a single LiDAR point, and the fused point set in V.
T B A = cos ψ − sin ψ t x sin ψ cos ψ t y 0 0 1 ∈ SE 2 .
T ^ B B B A t k = SE 2   x ^ AB , k ,   y ^ AB , k ,   θ ^ AB , k .
max i t i − min i t i   ≤   Δ t sync , max ,   max i t rx , i − t i   ≤   τ age , max .
x V A = w B x ^ AB w A +   w B ,     y V A = w B y ^ AB w A   +   w B ψ V A = atan 2 w B sin θ ^ AB , w A + w B cos θ ^ AB .
T V B A = SE 2 x V A ,   y V A ,   ψ V A .
T L A V = T V B A − 1 T L A B A T L B V = T V B A − 1 T ^ B B B A T L B B B .
S V t k = ⋃ i ∈ { A , B } T L i V p   :   p   ∈ S i t i ,   p ∉ M i .
Both the straight-line and turning experiments use wA = wB = 1. Therefore, V lies at the spatial midpoint of the current relative configuration of the two AMRs, while heading ψV is obtained by circular averaging; no temporal averaging is performed. Equations (16)–(18) define the instantaneous geometry of the scan fusion frame. Separately, AMCL estimates and outputs the localization result T ^ V M in map coordinates from the Virtual-AMR scan constructed in Equation (19). The Virtual AMR is therefore not a third physical robot, and the geometric midpoint in Equation (16) is not the final AMCL localization estimate reported in this study.
  • First, Equation (15) is used to verify that the two LiDAR packets satisfy the time synchronization and data age conditions. The relative position from Section 4.2 and the relative heading from Section 4.3 are then combined into T ^ B B B A in Equation (14).
  • Equations (16)–(18) establish the current local Virtual-AMR geometry and the transformations from both LiDAR frames to V. Simultaneously, the tracked neighboring AMR center, relative heading, and known chassis outline are used to construct the AMR body mask Mi; returns within that chassis footprint are excluded from the environmental point set.
  • The valid environmental points in Si\Mi are fused according to Equation (19). Each point (x, y) in V is converted back to polar coordinates using θ = atan2(y, x) and r = ( x 2 + y 2 ) and assigned to an angular bin in a Virtual LaserScan message. If multiple valid points fall in the same bin, the minimum range is retained. Bins without valid points are treated as no-return bins according to the LaserScan convention. The resulting virtual scan shown in Figure 8 is then supplied to the existing AMCL node.
The output of the Virtual-AMR layer is the fused Virtual LaserScan and its corresponding TF, not an additional localization estimator. AMCL performs its existing prediction/measurement update using the Virtual-AMR scan and outputs T ^ V M . The relative TF relationships between the two physical AMRs and V, as shown in Figure 9, are obtained from the fusion geometry in Equations (14)–(18) and are used by the dual-AMR formation controller described in Section 4.5.

4.5. Dual-AMR Rigid Formation Control

The formation controller is restricted to two heading-aligned AMRs and uses the Virtual-AMR center as the rigid formation reference. Let rA = [0, +R]T and rB = [0, −R]T denote the lateral offsets of AMRs A and B relative to the Virtual AMR, where R is the lateral distance from each AMR to the Virtual-AMR center, i.e., half the center-to-center distance between the two AMRs. The quantities vx,V and ωV are the reference linear and angular velocities of the Virtual AMR, while vx,A, vx,B, ωA, and ωB are the corresponding velocities of the two physical AMRs. Applying the planar rigid body velocity relationship vi = vV + ωV × ri yields the dual-AMR linear and angular velocity relationships in Equations (20a)–(20d):
v x , A = v x , V − ω V R .
ω A = ω V .
v x , B = v x , V + ω V R .
ω B = ω V .
When ωV = 0, Equations (20a) and (20c) give vx,A = vx,B = vx,V, while Equations (20b) and (20d) give ωA = ωB = 0, corresponding to the straight-line condition. When ωV ≠ 0, Equations (20a) and (20c) apply opposite ±ωVR linear velocity corrections to the inner and outer AMRs, while Equations (20b) and (20d) maintain ωA = ωB = ωV, corresponding to the turning condition.

5. Experimental Results

This section evaluates the proposed Virtual-AMR method under controlled mutual occlusion conditions involving two AMRs. For clarity, the four branch-wise test configurations are denoted as follows: T1 is the standard individual-scan AMCL/TF baseline; T2 activates only the relative angle estimation branch; T3 activates only the feature recognition/tracking branch; and T4 activates both branches to construct the complete Virtual-AMR scan. The complete settings and the sources of relative position and heading for each configuration are detailed in the branch-wise ablation in Section 5.3.5. The evaluation covers (1) virtual scan construction and relative angle estimation; (2) CPU utilization, end to end latency, and sensitivity to KD-tree parameters; (3) localization error, particle cloud dispersion, and internal consistency under the 4 m straight-line condition; and (4) branch-wise ablation under the turning condition. Each T1–T4 configuration was evaluated in five independent repeated trials. Section Evaluation Protocol and Metrics defines the evaluation reference, statistical metrics, and evidentiary boundaries.

5.1. Experimental Platform and Environment

The experimental system uses a Wi-Fi 6E communication architecture and two physical AMRs, as shown in Figure 10. The data link transmits LiDAR and odometry measurements to the server, which publishes linear velocity and z-axis angular velocity commands to AMRs A and B. The hardware specifications are listed in Table 3. The test site is a 3.1 m × 10 m indoor open area with floor tiles measuring approximately 0.84 m × 0.86 m. The initial positions and straight-line direction of the two AMRs are shown in Figure 11. No appreciable tire–floor slip was assumed during the experiments. Section Evaluation Protocol and Metrics describes how the reference trajectory was established and defines the corresponding evaluation boundaries.
The two AMRs use identical LiDAR mounting geometry. The LiDAR extrinsic parameters were obtained by measuring the chassis mounting geometry: the LiDAR is located on the longitudinal chassis centerline at x L B = H1 + H2 = 0.075 + 0.100 = 0.175 m and y L B = 0, and its zero-degree direction is aligned with the forward chassis axis. Therefore, TᴮL = (0.175 m, 0, 0°).
In the straight-line experiments, the two AMRs traveled back and forth along a 4 m path, as shown in Figure 12. Their maximum linear velocity, maximum acceleration, and angular velocity were limited to 0.22 m/s, 0.05 m/s2, and 0.2 rad/s, respectively. All configurations used the same motion parameters and position control strategy to reduce the influence of control condition differences on the comparison. The experiments simultaneously recorded the AMCL pose, particle cloud, odometry, and algorithm execution information. Each T1–T4 configuration under the straight-line condition was evaluated in five independent repeated trials.

Evaluation Protocol and Metrics

Let p ^ k = [ x ^ k , y ^ k ]T denote the localization output and p ^ ref , k = [ x ^ ref , k , y ^ ref , k ]T the reference trajectory used in this study, obtained by aligning the planned path with displacement information from the motor encoders. Equation (21) defines the x-axis error ex,k, y-axis error ey,k, and two-dimensional position error e2D,k for the kth valid sample. Equation (22) defines MAE and RMSE using the same equation set. The maximum absolute error E_max, median error E_med, and 95th-percentile error E_P95 are obtained directly from the same pooled error sample set as the maximum absolute value, median, and 95th percentile, respectively. Each of the T1–T4 configurations in the straight-line and turning experiments was evaluated in five independent repeated trials. For each configuration, reference alignment was first performed separately for all five trials, after which all valid samples were combined into a single pooled sample set. The metrics were then calculated using Equations (21) and (22) and the summary statistics defined above. Thus, N is the total number of valid samples across the five trials; it is not an average of five trial-level metrics. Because the reference trajectory is an internal comparison baseline, the results are described in terms of tracking error and localization stability and are not interpreted as absolute localization accuracy verified by an independent external measurement system. Particle cloud dispersion is used to observe the spread of the AMCL posterior, and odometry-related signals are used to examine internal motion consistency. Both are supplementary analyses rather than independent localization accuracy metrics.
e x , k = x ^ k − x ref , k ,     e y , k = y ^ k − y ref , k e 2 D , k = e x , k 2 + e y , k 2 .
MAE = 1 N ∑ k = 1 N e k . RMSE = 1 N ∑ k = 1 N e k 2 .

5.2. Virtual Scan Construction and Relative Angle Estimation

5.2.1. AMR Recognition and Virtual Scan Construction

Figure 13 compares the LiDAR observations of AMR A, AMR B, and the Virtual-AMR in the initial state. Because AMRs A and B occupy different positions, their fields of view are complementary. Figure 13d displays their raw scans simultaneously in the common map coordinate frame to illustrate the observation sources subsequently used for robot return identification, coordinate transformation, and virtual scan fusion.
After the two AMRs have moved 4 m forward along a straight line, fewer identifiable static geometric features are available laterally, and the neighboring AMR further occludes some environmental returns, as shown in Figure 14 and Figure 15a,b. Each individual scan therefore contains both missing static measurements caused by occlusion and body returns from the other AMR. Following the procedure in Section 4.4, the system transforms valid measurements from both AMRs into a common frame, removes the returns identified as AMR bodies, and fuses the retained environmental points to construct the Virtual-AMR scan, as shown in Figure 15c,d. This analysis primarily verifies that the virtual scan supplements environmental information from complementary viewpoints. Its quantitative effect on localization error is evaluated in the subsequent experiments.

5.2.2. Relative Angle Estimation and Computation Time

The KD-tree branch in Figure 3 was validated using RViz data. The initial full-angle search obtained the maximum overlap score at 1.8° and required 2253 ms (approximately 0.44 Hz). Subsequent local refined searches were centered on this estimate and required 150 ms (approximately 6.67 Hz) under the straight-line condition and 172 ms (approximately 5.81 Hz) under the 90° turning condition. The 2253 ms full-angle search was used only for initialization or recovery. After synchronization, preprocessing, tracking, virtual scan construction, and AMCL updating were included, the sum of the processing module times in Table 4 yielded complete end-to-end update rates of 4.08 Hz (straight line, 245 ms) and 3.46 Hz (90° turning, 289 ms). The normal processing rate is therefore lower than the raw 15 Hz LiDAR data rate. The 0.1° value is an angular-optimization increment of the algorithm, not the physical angular resolution of the TiM551.
Figure 16 and Figure 17 show the scan distributions and angular search results under mutual occlusion. Because the right-side field of view of AMR A is occluded by AMR B, the scan from AMR B is transformed over candidate angles and overlap-matched with the scan from AMR A. The initialization search reaches its highest matching score at 1.8°, after which refinement is centered on this angle. Once the relative heading has been estimated, the angle branch and the feature recognition/tracking branch jointly form the relative SE(2) pose and TF relationship shown in Figure 18. These results are then used for robot return masking and Virtual-AMR scan fusion as described in Section 4.4.
Table 5 additionally reports CPU utilization on the Intel Pentium G4400 platform. In normal refined-search mode, CPU utilization is 49–66% under the straight-line condition and 57–71% under the 90° turning condition. The corresponding end-to-end latencies are listed in Table 4. The full-angle search has a total latency of approximately 2.36–2.38 s and may reach 74–93% CPU utilization. It is therefore used only for initialization/recovery rather than during every scan in normal operation.
These latency and update-rate measurements characterize only the tested centralized dual-AMR configuration and the hardware listed in Table 3. They should not be interpreted as evidence of real-time scalability to larger robot teams.

5.2.3. Sensitivity to KD-Tree Parameters

KD-tree relative angle estimation is primarily affected by the correspondence distance gate ε_d and the angular optimization increment Δθ. The nominal settings are εd = 3 mm and Δθ = 0.1°. The 3 mm value is the geometric consistency gate for the post-filtered point sets, while 0.1° is the optimization step of the search algorithm. Neither value represents the nominal ranging accuracy or physical angular resolution of the TiM551. Parameter stability was evaluated using a one-factor-at-a-time analysis: εd was varied while Δθ was fixed at 0.1°, and Δθ was varied while εd was fixed at 3 mm.
All sensitivity tests used the same dual-AMR configuration, localization parameters, and motion conditions. The failure rate, two-dimensional position RMSE, heading RMSE, KD-tree plus refined-search time, and end-to-end latency in Table 6 and Table 7 are measured sensitivity test results. Failure rate is defined as the proportion of test updates for which the KD-tree branch failed to produce a valid relative heading estimate according to the matching conditions in Section 4.3.
Table 6 shows a clear tradeoff in the distance gate. Increasing εd from 1 to 3 mm reduces the failure rate from 11.7% to 2.0% and the two-dimensional position RMSE from 5.2 to 3.5 cm. Further relaxing the gate to 7 mm increases the failure rate to 8.3%, raises the RMSE to 5.0 cm, and increases the search time to 205 ms. Thus, εd = 3 mm provides the best balance between matching stability and computational demand in the present dual-AMR experiments.
Table 7 shows that Δθ = 0.05° reduces heading RMSE from 0.16° to 0.12°, but increases the KD-tree plus refined-search time from 150 to 310 ms. Conversely, increments of 0.5° and 1.0° reduce computation time but raise the failure rate to 7.5% and 15.0%, respectively. The proposed method therefore retains εd = 3 mm and Δθ = 0.1° as the nominal settings. This conclusion is limited to the two AMRs and the test site conditions evaluated in this study.

5.3. Straight-Line Localization and Stability Analysis

This section analyzes four signal categories obtained in the straight-line experiments: AMCL tracking error, particle cloud dispersion, Virtual-AMR center-position consistency, and odometry-related internal consistency. Finally, the branch-wise ablation directly compares the T1–T4 configurations to assess how the two main branches—relative angle estimation and feature recognition/tracking—affect localization performance under the straight-line condition.

5.3.1. AMCL Localization Error and Stability

Figure 19 shows the amcl_pose results from a representative straight-line experiment. Because AMR A observes a more complete set of static map features, its estimate remains stable. After AMR B becomes occluded by AMR A, it exhibits pronounced localization divergence beginning at approximately 130 s. With the complete Virtual-AMR pipeline, the same type of divergence does not occur in Figure 19c. Figure 20 further compares each localization output with the reference trajectory to show the change in tracking error before and after mutual occlusion.
Table 8 quantifies these differences. The two-dimensional RMSE values for AMR A, AMR B, and the Virtual-AMR are 0.0479, 0.4995, and 0.0426 m, respectively, and their P95 errors are 0.1006, 1.0326, and 0.0949 m, respectively. Under the straight-line occlusion condition evaluated here, the Virtual-AMR output substantially reduces the tracking error of the occluded AMR B while maintaining an error range comparable to that of AMR A, which does not exhibit marked divergence.

5.3.2. Particle Cloud Dispersion Analysis

Figure 21 uses the spatial dispersion of the particle cloud to examine changes in uncertainty of the AMCL posterior. When AMR B is occluded and its localization diverges, its particle cloud is markedly more dispersed than those of AMR A and the Virtual-AMR. The Virtual-AMR maintains a more concentrated posterior distribution.
Table 9 summarizes the particle cloud dispersion statistics. The two-dimensional RMSE values for AMR A, AMR B, and the Virtual-AMR are 0.3080, 0.6267, and 0.2623 m, respectively. AMR B has the greatest dispersion, consistent with the increased particle weight uncertainty during its divergence in Figure 19. The Virtual-AMR particle cloud remains comparatively concentrated.

5.3.3. Virtual-AMR Center-Position Consistency

Figure 22a directly forms a spatial midpoint from the AMCL base_footprint poses of AMRs A and B, providing a central-position baseline that does not use either processing branch of the proposed method. When AMR B diverges, this direct midpoint is also affected by its erroneous pose. Figure 22b shows the Virtual-AMR position obtained using the proposed relative-position/heading estimation and virtual scan construction. Figure 23 compares the errors of these two estimates relative to the reference trajectory.
Table 10 shows that the direct A/B spatial midpoint baseline and the Virtual-AMR have two-dimensional RMSE values of 0.2426 and 0.0597 m, respectively, and P95 errors of 0.4765 and 0.1147 m, respectively. Thus, when AMR B drifts under occlusion, simply averaging the two AMCL poses propagates the error, whereas the complete Virtual-AMR pipeline maintains a smaller central-position tracking error.

5.3.4. Odometry-Related Internal Consistency

Figure 24 compares odometry-related displacement signals with the aligned reference trajectory to examine internal motion consistency across configurations. The error of AMR A remains comparatively small. AMR B shows greater inconsistency after occlusion causes AMCL drift, while the synthesized Virtual-AMR result remains more concentrated.
Table 11 shows two-dimensional RMSE values of 0.0863, 0.2469, and 0.0475 m for AMR A, AMR B, and the Virtual-AMR, respectively. AMR B exhibits greater internal inconsistency, a trend consistent with its AMCL tracking error and particle cloud dispersion.
Taken together, Table 8, Table 9, Table 10 and Table 11 show that the AMCL tracking error and particle cloud dispersion of AMR B increase markedly under mutual occlusion in the straight-line experiment, whereas the Virtual-AMR results maintain smaller tracking errors and a more concentrated posterior distribution. The following branch-wise ablation provides the primary direct quantitative comparison of the two main processing branches.

5.3.5. Branch-Wise Ablation

To directly evaluate the contributions of the two main branches in Figure 3, Table 12 summarizes the complete T1–T4 settings and their relative-position/heading sources. T1 uses standard individual-scan AMCL/TF. For central-position comparison with T2–T4, an evaluation-only direct spatial midpoint is formed from the A/B AMCL/TF outputs; it does not use the relative angle branch, feature recognition/tracking branch, robot return masking, or Virtual-AMR fused scan. T2 activates only the relative angle estimation branch, T3 activates only the feature recognition/tracking branch, and T4 activates both branches and constructs the complete Virtual-AMR scan. All four configurations use the same two AMRs, initial spacing, and motion parameters, and each was evaluated in five independent repeated trials. As shown in Table 13, the two-dimensional RMSE values for T1, T2, T3, and T4 under the straight-line condition are 0.2426, 0.1607, 0.1227, and 0.0426 m, respectively. Relative to T1, T4 reduces the two-dimensional RMSE by approximately 82.4% and also outperforms both single-branch configurations, indicating complementary effects of the position and heading branches. This ablation quantifies only the two principal branches and their integration; it does not claim to isolate the individual contribution of every submodule within each branch.

5.4. Dual-AMR Turning Validation

This section extends the same T1–T4 configurations to a dual-AMR turning trajectory to evaluate rapid relative-heading changes, position exchange, and mutual occlusion during turns. Figure 25a shows the path location in the experimental map, Figure 25b presents the planned trajectories of AMRs A and B, and the occlusion region in Figure 25c is jointly determined by the relative geometry of the two AMRs and the visible features of the test area. Figure 26 presents the displacement and velocity settings for the two AMRs. All configurations use the same motion conditions to ensure consistency in the branch-wise comparison.
Each T1–T4 configuration in Table 12 was evaluated in five independent repeated trials, with 30 laps per trial while localization and control data were recorded. Figure 27 shows the 20th lap of one representative experiment: Figure 27a presents the estimated trajectories of AMRs A and B, and Figure 27b presents the corresponding central-position estimate. T1 is the direct AMCL/TF spatial midpoint baseline, while T2–T4 represent the single-branch and complete Virtual-AMR configurations.
In the representative T1 trajectory, AMR A begins to drift after reaching approximately Y = 2 m because its left side is occluded by AMR B and relatively few usable static features are available in the remaining directions. Its maximum x-direction deviation is approximately 0.8 m. During the turn, AMR B enters a more severe occlusion region at approximately 120° and exhibits a deviation of approximately 1.2 m. It subsequently returns near the planned path after recovering sufficient environmental features. Another deviation of approximately 0.8 m is observed on the return segment. Figure 28 shows the errors of this representative T1 trajectory relative to the reference trajectory. This single-lap description identifies where occlusion occurs; the overall statistics are based on data from the five repeated trials.
Figure 29, Figure 30 and Figure 31 show representative results for the three improved configurations. T2 uses only the relative angle branch and reduces part of the heading drift, but its position estimate remains affected by standard AMCL/TF error. T3 uses only the feature recognition/tracking branch and improves relative position, but lacks KD-tree heading correction during rapid turning. T4 uses both branches. In the representative trajectory, the maximum path deviations of AMRs A and B decrease to approximately 0.16 and 0.35 m, respectively, indicating that the joint use of position and heading information further suppresses drift during occlusion.
Figure 32, Figure 33, Figure 34 and Figure 35 compare the central-position estimates of T1–T4. T1 is a direct spatial midpoint baseline formed from the individual A/B AMCL/TF outputs rather than from an average of the LiDAR data. Consequently, divergence of either physical AMR directly affects the central estimate. T2 and T3 each add one processing branch and reduce part of the deviation, while T4 integrates relative position and relative heading.
In Table 14, the two-dimensional RMSE values for T1, T2, T3, and T4 are 0.3088, 0.2208, 0.2411, and 0.0521 m, respectively. Relative to T1, T4 reduces two-dimensional RMSE by approximately 83.1% and clearly outperforms both single-branch configurations. The two-dimensional RMSE of T4 under the turning condition (0.0521 m) is higher than that under the straight-line condition (0.0426 m), indicating that relative motion and changes in visible geometry during turning increase estimation difficulty. Future work may investigate adaptive wi weights based on localization quality; however, that strategy was not evaluated in this study and is therefore not reported as a validated result.
For each T1–T4 configuration under each trajectory condition, the 2D RMSE was calculated separately for each of the five trials and summarized using the arithmetic mean and sample standard deviation, so each trial contributed equally regardless of the number of valid samples. Table 15 and Table 16 report the individual trial values and mean ± sample standard deviation for the straight-line and turning experiments, respectively, whereas the pooled MAE, RMSE, E_max, E_med, and E_P95 values in Table 8, Table 13 and Table 14 are retained as descriptive statistics of the complete error sample distributions. Under the straight-line condition, the trial-level mean ± sample standard deviation values for T1–T4 were 0.2401 ± 0.0365, 0.1595 ± 0.0215, 0.1210 ± 0.0187, and 0.0412 ± 0.0083 m, respectively. Under the turning condition, the corresponding values were 0.3047 ± 0.0563, 0.2191 ± 0.0395, 0.2401 ± 0.0417, and 0.0511 ± 0.0104 m. T4 therefore achieved the lowest trial-level mean 2D RMSE under both trajectory conditions.

6. Conclusions

Mutual occlusion between neighboring AMRs can reduce observable static map features and introduce robot body returns, causing AMCL drift or divergence. This study developed a Virtual-AMR LiDAR fusion method that integrates contour recognition and ROI tracking, linear Kalman filtering, KD-tree relative-heading estimation, robot return masking, and SE(2) transformation to fuse usable environmental measurements from two AMRs before AMCL.
The method was evaluated in a 3.1 m × 10 m indoor area using controlled straight-line and turning trajectories. Each T1–T4 configuration was tested in five independent trials under both trajectory conditions. The 2D RMSE was calculated separately for each trial and summarized as the mean ± sample standard deviation, while pooled valid samples were retained for the detailed error distribution statistics. Relative to the internal reference trajectory, the complete T4 method achieved trial-level 2D RMSE values of 0.0412 ± 0.0083 m for the straight-line trajectory and 0.0511 ± 0.0104 m for the turning trajectory, outperforming the baseline and both single-branch configurations under both conditions. The measured end-to-end latency ranged from 245 to 289 ms, equivalent to update rates from 4.08 to 3.46 Hz. The full-angle search was used only for initialization or recovery.
These findings apply to the dual-AMR configuration evaluated in this study. To isolate the effects of mutual occlusion, the AMR platform, test site, initial spacing, and control parameters were fixed, and an internal reference trajectory was used to evaluate the relative performance and localization stability of each configuration. Future work will incorporate an external reference measurement system and further evaluate different inter-AMR spacings and configurations, occlusion levels, crossing paths, dynamic obstacles, and larger robot teams, while analyzing the computational and communication loads associated with increasing the number of robots. Quality-adaptive fusion and faster initialization and recovery strategies will also be investigated.

Author Contributions

Conceptualization, F.-C.L. and C.-S.C.; methodology, F.-C.L. and C.-S.C.; software, Y.-C.L.; validation, Y.-C.L.; formal analysis, C.-S.C.; investigation, C.-J.L. and F.-C.L.; resources, C.-S.C.; data curation, Y.-C.L.; writing—original draft preparation, F.-C.L. and C.-J.L.; writing—review and editing, C.-J.L. and F.-C.L.; visualization, C.-J.L.; supervision, F.-C.L.; project administration, F.-C.L.; funding acquisition, C.-S.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Science and Technology Council of Taiwan (R.O.C.), grant number NSTC 113-2221-E-027-041-MY3.

Institutional Review Board Statement

Not applicable. This study did not involve humans or animals.

Informed Consent Statement

Not applicable.

Data Availability Statement

The experimental data supporting the findings of this study are available from the corresponding author upon reasonable request.

Conflicts of Interest

Author Yuan-Chih Lee was employed by the company AUO Corporation. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
AMCLAdaptive Monte Carlo localization
AMRAutonomous mobile robot
DDSData Distribution Service
KD-treeK-dimensional tree
KLDKullback–Leibler divergence
MCLMonte Carlo localization
ROSRobot operating system
SLAMSimultaneous localization and mapping

References

  1. Doucet, A.; de Freitas, N.; Gordon, N. (Eds.) Sequential Monte Carlo Methods in Practice; Springer: New York, NY, USA, 2001. [Google Scholar]
  2. Anand, B.; Kambhampaty, H.R.; Rajalakshmi, P. A novel real-time lidar data streaming framework. IEEE Sens. J. 2022, 22, 23476–23485. [Google Scholar] [CrossRef] [Scilit]
  3. Chen, W.; Wang, X.; Gao, S.; Shang, G.; Zhou, C.; Li, Z.; Xu, C.; Hu, K. Overview of multi-robot collaborative SLAM from the perspective of data fusion. Machines 2023, 11, 653. [Google Scholar] [CrossRef] [Scilit]
  4. Wang, S.; Wang, Y.; Li, D.; Zhao, Q. Distributed relative localization algorithms for multi-robot networks: A survey. Sensors 2023, 23, 2399. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  5. Zimmerman, N.; Giusti, A.; Guzzi, J. Resource-aware collaborative Monte Carlo localization with distribution compression. In Proceedings of the 2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Abu Dhabi, United Arab Emirates, 14–18 October 2024; pp. 3283–3290. [Google Scholar] [CrossRef] [Scilit]
  6. Han, J.; Ma, C.; Zou, D.; Jiao, S.; Chen, C.; Wang, J. Distributed multi-robot SLAM algorithm with lightweight communication and optimization. Electronics 2024, 13, 4129. [Google Scholar] [CrossRef] [Scilit]
  7. Quigley, M.; Conley, K.; Gerkey, B.; Faust, J.; Foote, T.; Leibs, J.; Berger, E.; Wheeler, R.; Ng, A.Y. ROS: An open-source robot operating system. In Proceedings of the ICRA Workshop on Open Source Software, Kobe, Japan, 12–17 May 2009. [Google Scholar]
  8. Macenski, S.; Foote, T.; Gerkey, B.; Lalancette, C.; Woodall, W. Robot Operating System 2: Design, architecture, and uses in the wild. Sci. Robot. 2022, 7, eabm6074. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  9. Zhang, J.; Yu, X.; Ha, S.; Peña Queralta, J.; Westerlund, T. Comparison of DDS, MQTT, and Zenoh in edge-to-edge and edge-to-cloud communication for distributed ROS 2 systems. arXiv 2023, arXiv:2309.07496. [Google Scholar] [CrossRef] [Scilit]
  10. Chen, C.-S.; Lin, C.-J.; Lai, C.-C. Non-contact service robot development in fast-food restaurants. IEEE Access 2022, 10, 31466–31479. [Google Scholar] [CrossRef] [Scilit]
  11. Chen, C.-S.; Lin, F.-C.; Lin, C.-J. The energy efficiency multi-robot system and disinfection service robot development in large-scale complex environment. Sensors 2023, 23, 5724. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  12. Marder-Eppstein, E.; Berger, E.; Foote, T.; Gerkey, B.; Konolige, K. The office marathon: Robust navigation in an indoor office environment. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation (ICRA), Anchorage, AK, USA, 3–7 May 2010; pp. 300–307. [Google Scholar] [CrossRef] [Scilit]
  13. Macenski, S.; Martín, F.; White, R.; Clavero, J.G. The marathon 2: A navigation system. In Proceedings of the 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS); ACM: New York, NY, USA, 2020; pp. 2718–2725. [Google Scholar] [CrossRef] [Scilit]
  14. Chen, C.-S.; Lin, F.-C.; Lin, C.-J.; Wu, P.H. The improved ROS-based MTAR navigation framework for service robot: Motion trajectory analysis regulator. IEEE Access 2024, 12, 166703–166716. [Google Scholar] [CrossRef] [Scilit]
  15. Chen, C.-S.; Lin, C.-J.; Lai, C.-C.; Lin, S.-Y. Velocity estimation and cost map generation for dynamic obstacle avoidance of ROS based AMR. Machines 2022, 10, 501. [Google Scholar] [CrossRef] [Scilit]
  16. Fox, D. KLD-sampling: Adaptive particle filters. In Proceedings of the Advances in Neural Information Processing Systems 14 [Neural Information Processing Systems: Natural and Synthetic, NIPS 2001], Vancouver, BC, Canada, 3–8 December 2001; Volume 14. [Google Scholar]
  17. Thrun, S. Probabilistic robotics. Commun. ACM 2002, 45, 52–57. [Google Scholar] [CrossRef] [Scilit]
  18. Cao, Y.; Zhang, X.; Duan, B.; Zhao, W.; Wang, H. An improved method to build the KD tree based on presorted results. In Proceedings of the 2020 IEEE 11th International Conference on Software Engineering and Service Science (ICSESS); IEEE: New Tork, NY, USA, 2020; pp. 71–75. [Google Scholar] [CrossRef] [Scilit]
  19. Xiao, Y.; Peng, Z.; Chen, L.; Deng, Y.; Li, Z.; Lei, X. Combining monocular camera and 2D lidar for target tracking using deep convolution neural network based detection and tracking algorithm. In Proceedings of the 2022 International Conference on Frontiers of Communications, Information System and Data Science (CISDS), Guangzhou, China, 25–27 November 2022; pp. 122–127. [Google Scholar] [CrossRef] [Scilit]
  20. Rodarmel, C.; Lee, M.; Theiss, H. Integrating lidar into the Community Sensor Model construct. In Proceedings of the 2011 IEEE Applied Imagery Pattern Recognition Workshop (AIPR), Washington, DC, USA, 11–13 October 2011; pp. 1–7. [Google Scholar] [CrossRef] [Scilit]
  21. McCrae, S.; Zakhor, A. 3D object detection for autonomous driving using temporal LiDAR data. In Proceedings of the 2020 IEEE International Conference on Image Processing (ICIP), Abu Dhabi, United Arab Emirates, 25–28 October 2020; pp. 2661–2665. [Google Scholar] [CrossRef] [Scilit]
  22. Liu, S.; Nakanishi, T. Obstacles detection and motion estimation by using multiple LiDAR sensors data. In Proceedings of the 2022 13th International Congress on Advanced Applied Informatics Winter (IIAI-AAI-Winter), Phuket, Thailand, 12–14 December 2022; pp. 196–201. [Google Scholar] [CrossRef] [Scilit]
  23. Hess, W.; Kohler, D.; Rapp, H.; Andor, D. Real-time loop closure in 2D LIDAR SLAM. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 1271–1278. [Google Scholar] [CrossRef] [Scilit]
  24. Li, P.; Wang, H.; Liu, Z. A morphological LIDAR point cloud filtering method based on fake scan lines. In Proceedings of the 2011 International Conference on Electronics, Communications and Control (ICECC), Ningbo, China, 9–11 September 2011; pp. 1228–1231. [Google Scholar] [CrossRef] [Scilit]
  25. Pröhl, L.; Erle, H.H.; Aschemann, H. Histogram-Based Corner Detection and Description for 2D Lidar Systems. In Proceedings of the IECON 2022–48th Annual Conference of the IEEE Industrial Electronics Society, Brussels, Belgium, 17–20 October 2022; pp. 1–6. [Google Scholar] [CrossRef] [Scilit]
  26. Salhi, A.; Moresly, Y.; Ghozzi, F.; Yengui, A.; Fakhfakh, A. Modeling from an object and multi-object tracking system. In Proceedings of the 2016 Global Summit on Computer & Information Technology (GSCIT), Sousse, Tunisia, 16–18 July 2016; pp. 80–85. [Google Scholar] [CrossRef] [Scilit]
  27. Wei, W. SAC-IA Algorithm Based on Parallel KD-Tree Search and Improved Feature Point Selection. In Proceedings of the 2023 3rd International Conference on Consumer Electronics and Computer Engineering (ICCECE), Guangzhou, China, 6–8 January 2023; pp. 348–352. [Google Scholar] [CrossRef] [Scilit]
  28. Isgrò, F.; Pilu, M. A fast and robust image registration method based on an early consensus paradigm. Pattern Recognit. Lett. 2004, 25, 943–954. [Google Scholar] [CrossRef] [Scilit]
  29. Beis, J.S.; Lowe, D.G. Shape indexing using approximate nearest-neighbour search in high-dimensional spaces. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Juan, PR, USA, 17–19 June 1997; pp. 1000–1006. [Google Scholar] [CrossRef] [Scilit]
  30. Chung, M.A.; Lin, C.W. An Improved Localization of Mobile Robotic System Based on AMCL Algorithm. IEEE Sens. J. 2022, 22, 900–908. [Google Scholar] [CrossRef] [Scilit]
  31. Huang, Y.H.; Lin, C.T. Indoor Localization Method for a Mobile Robot Using LiDAR and a Dual AprilTag. Electronics 2023, 12, 1023. [Google Scholar] [CrossRef] [Scilit]
  32. SICK, A.G. TIM551-2050001 2D LiDAR Sensor Data Sheet. Available online: https://www.sick.com/media/pdf/5/45/045/dataSheet_TIM551-2050001_1060445_en.pdf (accessed on 20 August 2026).
Figure 1. Prediction, measurement update, resampling decision, and state estimation steps of the particle filter localization process [30].
Figure 1. Prediction, measurement update, resampling decision, and state estimation steps of the particle filter localization process [30].
Sensors 26 06184 g001
Figure 2. Relative positions of the two AMRs and their LiDAR measurements. (a) Relative positions of AMRs A and B; (b) mutual occlusion between the AMRs.
Figure 2. Relative positions of the two AMRs and their LiDAR measurements. (a) Relative positions of AMRs A and B; (b) mutual occlusion between the AMRs.
Sensors 26 06184 g002
Figure 3. Localization algorithm pipeline.
Figure 3. Localization algorithm pipeline.
Sensors 26 06184 g003
Figure 4. AMR contour-processing sequence: (a) raw ROI-selected contour points; (b) median-filtered points; and (c) smoothed line segments used for feature extraction.
Figure 4. AMR contour-processing sequence: (a) raw ROI-selected contour points; (b) median-filtered points; and (c) smoothed line segments used for feature extraction.
Sensors 26 06184 g004
Figure 5. AMR platform geometry and LiDAR cross-section. (a) Three-dimensional chassis view; (b) top view defining L, H1, H2, α, β, the detected corner, and the center coordinate.
Figure 5. AMR platform geometry and LiDAR cross-section. (a) Three-dimensional chassis view; (b) top view defining L, H1, H2, α, β, the detected corner, and the center coordinate.
Sensors 26 06184 g005
Figure 6. KD-tree method for relative angle estimation.
Figure 6. KD-tree method for relative angle estimation.
Sensors 26 06184 g006
Figure 7. Coordinate matching of AMR B with respect to AMR A. (a) AMR B rotated by 20°; (b) AMR B rotated by 10°; and (c) AMR B rotated by 0°.
Figure 7. Coordinate matching of AMR B with respect to AMR A. (a) AMR B rotated by 20°; (b) AMR B rotated by 10°; and (c) AMR B rotated by 0°.
Sensors 26 06184 g007
Figure 8. Generation of a Virtual-AMR LiDAR scan from the surrounding physical AMR LiDAR data. (a) LiDAR scan from AMR A; (b) LiDAR scan from AMR B; and (c) Virtual-AMR LiDAR scan.
Figure 8. Generation of a Virtual-AMR LiDAR scan from the surrounding physical AMR LiDAR data. (a) LiDAR scan from AMR A; (b) LiDAR scan from AMR B; and (c) Virtual-AMR LiDAR scan.
Sensors 26 06184 g008
Figure 9. TF relationships of the dual-AMR configuration.
Figure 9. TF relationships of the dual-AMR configuration.
Sensors 26 06184 g009
Figure 10. Experimental system architecture.
Figure 10. Experimental system architecture.
Sensors 26 06184 g010
Figure 11. Experimental area and motion trajectory. (a) Experimental area; (b) motion trajectory.
Figure 11. Experimental area and motion trajectory. (a) Experimental area; (b) motion trajectory.
Sensors 26 06184 g011
Figure 12. Experimental path planning. (a) Motion pattern; (b) position, velocity, and acceleration profiles.
Figure 12. Experimental path planning. (a) Motion pattern; (b) position, velocity, and acceleration profiles.
Sensors 26 06184 g012
Figure 13. Environmental data observed by the two AMRs and the synthesized Virtual-AMR in the initial state. (a) LiDAR data from AMR A; (b) LiDAR data from AMR B; (c) Virtual-AMR LiDAR data; and (d) simultaneous LiDAR data from AMRs A and B.
Figure 13. Environmental data observed by the two AMRs and the synthesized Virtual-AMR in the initial state. (a) LiDAR data from AMR A; (b) LiDAR data from AMR B; (c) Virtual-AMR LiDAR data; and (d) simultaneous LiDAR data from AMRs A and B.
Sensors 26 06184 g013
Figure 14. Geometry of the experimental area. (a) Front view; (b) right-side view; and (c) left-side view.
Figure 14. Geometry of the experimental area. (a) Front view; (b) right-side view; and (c) left-side view.
Sensors 26 06184 g014
Figure 15. Environmental data observed by the two AMRs and the synthesized Virtual-AMR after motion. (a) LiDAR data from AMR A; (b) LiDAR data from AMR B; (c) combined LiDAR data from AMRs A and B; and (d) Virtual-AMR LiDAR data.
Figure 15. Environmental data observed by the two AMRs and the synthesized Virtual-AMR after motion. (a) LiDAR data from AMR A; (b) LiDAR data from AMR B; (c) combined LiDAR data from AMRs A and B; and (d) Virtual-AMR LiDAR data.
Sensors 26 06184 g015
Figure 16. Distribution of AMR LiDAR scans.
Figure 16. Distribution of AMR LiDAR scans.
Sensors 26 06184 g016
Figure 17. KD-tree angular search results. (a) Full-range angular search; (b) local refined angular search.
Figure 17. KD-tree angular search results. (a) Full-range angular search; (b) local refined angular search.
Sensors 26 06184 g017
Figure 18. Relative coordinates of AMRs A and B.
Figure 18. Relative coordinates of AMRs A and B.
Sensors 26 06184 g018
Figure 19. AMCL position estimates. (a) AMR A; (b) AMR B; and (c) Virtual-AMR.
Figure 19. AMCL position estimates. (a) AMR A; (b) AMR B; and (c) Virtual-AMR.
Sensors 26 06184 g019
Figure 20. AMCL tracking errors. (a) AMR A; (b) AMR B; and (c) Virtual-AMR.
Figure 20. AMCL tracking errors. (a) AMR A; (b) AMR B; and (c) Virtual-AMR.
Sensors 26 06184 g020
Figure 21. Particle cloud distributions. (a) AMR A; (b) AMR B; and (c) Virtual-AMR.
Figure 21. Particle cloud distributions. (a) AMR A; (b) AMR B; and (c) Virtual-AMR.
Sensors 26 06184 g021
Figure 22. Central-position estimates. (a) A/B spatial midpoint baseline; (b) Virtual-AMR.
Figure 22. Central-position estimates. (a) A/B spatial midpoint baseline; (b) Virtual-AMR.
Sensors 26 06184 g022
Figure 23. Central-position estimation errors. (a) A/B spatial midpoint baseline; (b) Virtual-AMR.
Figure 23. Central-position estimation errors. (a) A/B spatial midpoint baseline; (b) Virtual-AMR.
Sensors 26 06184 g023
Figure 24. Odometry-related data. (a) AMR A; (b) AMR B; and (c) Virtual-AMR.
Figure 24. Odometry-related data. (a) AMR A; (b) AMR B; and (c) Virtual-AMR.
Sensors 26 06184 g024
Figure 25. Dual-AMR turning path: (a) path location in the map; (b) trajectories of AMRs A and B; and (c) mutual occlusion region of AMRs A and B.
Figure 25. Dual-AMR turning path: (a) path location in the map; (b) trajectories of AMRs A and B; and (c) mutual occlusion region of AMRs A and B.
Sensors 26 06184 g025
Figure 26. Positions and velocities of the dual-AMRs: (a) AMR A; (b) AMR B.
Figure 26. Positions and velocities of the dual-AMRs: (a) AMR A; (b) AMR B.
Sensors 26 06184 g026
Figure 27. Dual-AMR trajectories in the experiments: (a) trajectories of AMRs A and B; (b) estimated central path.
Figure 27. Dual-AMR trajectories in the experiments: (a) trajectories of AMRs A and B; (b) estimated central path.
Sensors 26 06184 g027
Figure 28. Dual-AMR results under T1: (a) AMR trajectories; (b) position errors.
Figure 28. Dual-AMR results under T1: (a) AMR trajectories; (b) position errors.
Sensors 26 06184 g028
Figure 29. Dual-AMR results under T2: (a) AMR trajectories; (b) position errors.
Figure 29. Dual-AMR results under T2: (a) AMR trajectories; (b) position errors.
Sensors 26 06184 g029
Figure 30. Dual-AMR results under T3: (a) AMR trajectories; (b) position errors.
Figure 30. Dual-AMR results under T3: (a) AMR trajectories; (b) position errors.
Sensors 26 06184 g030
Figure 31. Dual-AMR results under T4: (a) AMR trajectories; (b) position errors.
Figure 31. Dual-AMR results under T4: (a) AMR trajectories; (b) position errors.
Sensors 26 06184 g031
Figure 32. A/B spatial midpoint baseline under T1: (a) estimated trajectory; (b) position error.
Figure 32. A/B spatial midpoint baseline under T1: (a) estimated trajectory; (b) position error.
Sensors 26 06184 g032
Figure 33. Central-position estimate under T2: (a) estimated trajectory; (b) position error.
Figure 33. Central-position estimate under T2: (a) estimated trajectory; (b) position error.
Sensors 26 06184 g033
Figure 34. Central-position estimate under T3: (a) estimated trajectory; (b) position error.
Figure 34. Central-position estimate under T3: (a) estimated trajectory; (b) position error.
Sensors 26 06184 g034
Figure 35. Complete Virtual-AMR localization under T4: (a) estimated trajectory; (b) position error.
Figure 35. Complete Virtual-AMR localization under T4: (a) estimated trajectory; (b) position error.
Sensors 26 06184 g035
Table 1. Comparison of the proposed method with representative cooperative localization and multi-robot SLAM approaches.
Table 1. Comparison of the proposed method with representative cooperative localization and multi-robot SLAM approaches.
ApproachShared InformationPrimary Estimator TargetDifference from This Study
Distributed relative localization [4]Inter-robot range/bearing or relative poseRelative team configurationDoes not specifically reconstruct a virtual environmental scan for AMCL occlusion recovery
Resource-aware collaborative MCL [5]Compressed particle belief distributionsGlobal localization beliefFuses beliefs after robot detection rather than fusing masked LiDAR measurements before AMCL
Distributed multi-robot SLAM [6]Descriptors, submaps, and pose graph constraintsJoint map and trajectoryAddresses collaborative mapping and loop closure, not the local mutual occlusion mechanism studied here
Proposed Virtual-AMR methodTimestamped 2D scans and inter-robot SE(2) transformsVirtual measurement supplied to unchanged AMCLCentralized measurement reconstruction for a known map; current validation is limited to two AMRs
Table 2. Algorithm and reproducibility parameters.
Table 2. Algorithm and reproducibility parameters.
ParameterValue
LiDAR point count, IDtotal655
Median filter window11 points
Smoothing index range, range10 (11 inclusive samples)
Line fit neighborhood, N10 points
KD-tree neighbor width±10 indices
Post-filter distance gate, εd3 mm
Angular optimization increment0.1°
Kalman sampling interval, Δt0.1 s
Kalman process covariance, Q Q = 6.25 × 10 − 8 0 1.25 × 10 − 6 0 0 6.25 × 10 − 8 0 1.25 × 10 − 6 1.25 × 10 − 6 0 2.50 × 10 − 5 0 0 1.25 × 10 − 6 0 2.50 × 10 − 5
Kalman measurement covariance, R R = diag 4.0 × 10 − 4 , 4.0 × 10 − 4
Kalman initial covariance, P0 P 0 = diag 2.5 × 10 − 3 , 2.5 × 10 − 3 , 1.0 × 10 − 2 , 1.0 × 10 − 2
ROI constants (hx,0, hy,0, γ)0.25 m, 0.25 m, 2.0
Maximum inter-scan timestamp difference, Δtsync,max50 ms
Maximum observation age, τage,max100 ms
Normal E2E latency threshold, TE2E,max350 ms
Consecutive invalid/missing synchronized pairs, Nmiss,max3 frames
Table 3. AMR platform and communication specifications.
Table 3. AMR platform and communication specifications.
AMR ConfigurationSpecification
Operation systemUbuntu 20.04.6 LTS 5.15.0-88-generic
ROS MiddlewareROS 2 Foxy Fitzroy
Navigation StackNavigation2 v0.4.7
Localizationnav2_amcl v0.4.7
CPUIntel(R) Pentium(R) CPU G4400 @ 3.30GHz (Intel Corporation, Santa Clara, CA, USA)
Memory3.73 GB
LiDARSICK TiM551
(SICK AG, Waldkirch, Germany)
Inertial sensorsLPMS B2
(LP-RESEARCH Inc., Tokyo, Japan)
Wi-Fi 6E network cardIntel WiFi 6E AX210
(Intel Corporation, Santa Clara, CA, USA)
MotorJSMA000T01_V01
(TECO Electric & Machinery Co., Ltd., Taipei, Taiwan)
RouterASUS GT-AXE11000 Tri-Band Router
(ASUSTeK Computer Inc., Taipei, Taiwan)
Chassis dimensions (length × width × height)40 cm × 40 cm × 40 cm
Geometry constants (L, H1, H2)20 cm, 7.5 cm, 10 cm
LiDAR extrinsic TᴮL (x, y, yaw)(17.5 cm, 0, 0°)
Table 4. End-to-end latency analysis.
Table 4. End-to-end latency analysis.
No.Major Processing BlockMain OperationsStraight-Line Test (ms)90° Turning Test (ms)
1Data acquisition and synchronizationLiDAR/odometry reception, ROS 2 communication, and timestamp synchronization1721
2LiDAR preprocessingCoordinate transformation, median filtering, outlier removal, and smoothing1824
3Feature recognition and trackingAMR feature extraction, ROI update, and linear Kalman filter1824
4Relative angle estimationKD-tree matching, overlap ratio calculation, and refined dynamic angle search150172
5Virtual-AMR constructionRelative pose fusion and virtual LiDAR generation1215
6AMCL localization updateVirtual scan/TF publication and AMCL update3033
Total end-to-end latency245289
Equivalent update rate (Hz)4.083.46
Table 5. CPU utilization.
Table 5. CPU utilization.
Operating ConditionMeasured CPU UtilizationDescription
Straight-line, refined search49–66%Stable ROI and relatively small heading variation
90° turning, refined search57–71%More frequent ROI updates and angular search calculations
Initialization/recovery, full-angle search74–93%Full angular search dominates computational load
Table 6. Sensitivity to the KD-tree correspondence distance gate.
Table 6. Sensitivity to the KD-tree correspondence distance gate.
Distance Gate, εdFailure Rate (%)2D Position RMSE (cm)Heading RMSE (°)KD-Tree + Refined-Search Time (ms)Measured E2E Latency (ms)
1 mm11.75.20.38141238
2 mm5.04.10.24144241
3 mm2.03.50.16150245
4 mm2.83.70.18171266
5 mm4.74.20.24184279
7 mm8.35.00.34205300
Table 7. Sensitivity to the angular optimization increment.
Table 7. Sensitivity to the angular optimization increment.
Angular Increment, ΔθFailure Rate (%)2D Position RMSE (cm)Heading RMSE (°)KD-Tree + Refined-Search Time (ms)Measured E2E Latency (ms)
0.05°1.53.40.12310405
0.10°2.03.50.16150245
0.20°3.33.80.2390185
0.50°7.54.60.4348143
1.00°15.05.80.7932127
Table 8. AMCL tracking error (unit: m).
Table 8. AMCL tracking error (unit: m).
AMRDirectionMAERMSEE_medE_P95E_max
A AMRY-axis0.02720.03350.02250.07330.1238
X-axis0.03230.03430.03080.07810.0851
2D0.04220.04790.04370.10060.1284
B AMRY-axis0.27680.32130.24060.71251.6254
X-axis0.32940.38250.27160.84732.2165
2D0.40850.49950.39191.03262.7349
Virtual-AMRY-axis0.02490.03410.02920.08460.1281
X-axis0.01770.02560.01760.04960.0796
2D0.03360.04260.03790.09490.1281
Table 9. Particle cloud dispersion statistics (unit: m).
Table 9. Particle cloud dispersion statistics (unit: m).
AMRDirectionMAERMSEE_medE_P95E_max
A AMRY-axis0.20490.21640.18050.2320.2382
X-axis0.19070.22060.15910.22840.2521
2D0.24250.30800.24490.31560.3379
B AMRY-axis0.35520.38640.26410.64550.6721
X-axis0.40930.49390.35930.97811.0625
2D0.57130.62670.45171.1671.2556
Virtual-AMRY-axis0.16490.17780.15770.18520.1915
X-axis0.18460.19370.15240.21750.2833
2D0.21730.26230.21380.28630.3365
Table 10. Central-position tracking error (unit: m).
Table 10. Central-position tracking error (unit: m).
AMRDirectionMAERMSEE_medE_P95E_max
A/B spatial midpoint baselineY-axis0.03360.16760.02640.34870.7088
X-axis0.15610.17540.10130.45151.0209
2D0.15850.24260.22410.47651.2428
Virtual-AMRY-axis0.02950.04790.03310.09570.1307
X-axis0.02810.03640.03470.07670.1469
2D0.04790.05970.05330.11470.1486
Table 11. Odometry tracking error (unit: m).
Table 11. Odometry tracking error (unit: m).
AMRDirectionMAERMSEE_medE_P95E_max
A AMRY-axis0.03550.05640.04790.11120.1701
X-axis0.04960.06530.06230.16560.1769
2D0.06480.08630.09020.18550.2235
B AMRY-axis0.08380.18630.1050.3860.5535
X-axis0.00590.16210.01570.34540.5492
2D0.08910.24690.15650.40230.7797
Virtual-AMRY-axis0.02420.03050.03210.07710.0863
X-axis0.02250.03760.02940.06990.1226
2D0.03790.04750.05330.09070.1275
Table 12. Branch-wise ablation configurations.
Table 12. Branch-wise ablation configurations.
IDConfigurationRelative-Position x , y SourceRelative-Heading (θ) Source
T1Standard individual-scan AMCL/direct midpoint baselineIndividual AMCL/TFIndividual AMCL/TF
T2Relative angle branch onlyIndividual AMCL/TFKD-tree angular matching
T3Feature recognition/tracking branch onlyROI + filtering + Kalman trackingIndividual AMCL/TF
T4Complete proposed Virtual-AMR methodROI + filtering + Kalman trackingKD-tree angular matching
Table 13. Straight-line branch-wise ablation error statistics (unit: m).
Table 13. Straight-line branch-wise ablation error statistics (unit: m).
Test IDDirectionMAERMSEE_medE_P95E_max
T1Y-axis0.03360.16760.02640.34870.7088
X-axis0.15610.17540.10130.45151.0209
2D0.15850.24260.22410.47651.2428
T2Y-axis0.06570.13710.11020.29660.6217
X-axis0.05760.08390.04750.20940.5754
2D0.06850.16070.11340.31120.7364
T3Y-axis0.02940.05720.04250.12310.2384
X-axis0.07130.10860.08950.20060.4721
2D0.09890.12270.11010.25030.5289
T4Y-axis0.02490.03410.02920.08460.1281
X-axis0.01770.02560.01760.04960.0796
2D0.03360.04260.03790.09490.1281
Table 14. Turning branch-wise ablation error statistics (unit: m).
Table 14. Turning branch-wise ablation error statistics (unit: m).
Test IDDirectionMAERMSEE_medE_P95E_max
T1X-axis0.19490.28820.08090.50920.9944
Y-axis0.07910.11090.07110.21700.4370
2D0.22320.30880.10720.58661.0594
T2X-axis0.11990.17300.10980.34430.5643
Y-axis0.10300.13720.08010.27400.3127
2D0.17590.22080.15030.40750.6425
T3X-axis0.12760.17250.13200.31500.4073
Y-axis0.12540.16840.09690.34000.4399
2D0.20230.24110.18920.40270.5967
T4X-axis0.02920.04520.01360.08210.1998
Y-axis0.01960.02590.01540.05440.1133
2D0.04110.05210.03350.08290.2297
Table 15. Trial-level 2D RMSE across five independent straight-line trials (unit: m).
Table 15. Trial-level 2D RMSE across five independent straight-line trials (unit: m).
Test IDTrial 1Trial 2Trial 3Trial 4Trial 5Mean ± SD
T10.22010.19890.29030.26380.22740.2401 ± 0.0365
T20.17370.16840.17710.12440.15390.1595 ± 0.0215
T30.13580.12560.14060.10440.09860.1210 ± 0.0187
T40.02990.04500.03520.05030.04510.0412 ± 0.0083
Table 16. Trial-level 2D RMSE across five independent turning trials (unit: m).
Table 16. Trial-level 2D RMSE across five independent turning trials (unit: m).
Test IDTrial 1Trial 2Trial 3Trial 4Trial 5Mean ± SD
T10.28780.31430.28500.39420.24220.3047 ± 0.0563
T20.20240.19100.20100.21270.28840.2191 ± 0.0395
T30.28860.22550.18430.27380.22830.2401 ± 0.0417
T40.06560.05380.04020.05400.04190.0511 ± 0.0104
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Chen, C.-S.; Lin, C.-J.; Lee, Y.-C.; Lin, F.-C. Virtual-AMR LiDAR Fusion for AMCL Localization Under Mutual Occlusion. Sensors 2026, 26, 6184. https://doi.org/10.3390/s26196184

AMA Style

Chen C-S, Lin C-J, Lee Y-C, Lin F-C. Virtual-AMR LiDAR Fusion for AMCL Localization Under Mutual Occlusion. Sensors. 2026; 26(19):6184. https://doi.org/10.3390/s26196184

Chicago/Turabian Style

Chen, Chin-Sheng, Chia-Jen Lin, Yuan-Chih Lee, and Feng-Chieh Lin. 2026. "Virtual-AMR LiDAR Fusion for AMCL Localization Under Mutual Occlusion" Sensors 26, no. 19: 6184. https://doi.org/10.3390/s26196184

APA Style

Chen, C.-S., Lin, C.-J., Lee, Y.-C., & Lin, F.-C. (2026). Virtual-AMR LiDAR Fusion for AMCL Localization Under Mutual Occlusion. Sensors, 26(19), 6184. https://doi.org/10.3390/s26196184

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