scieee AI-readable full text Open interactive document viewer

PosGNN: A Graph Neural Network Based Multimodal Data Fusion for Indoor Positioning in Industrial Non-Line-of-Sight Scenarios

Muthineni, Karthik; Artemenko, Alexander; Abode, Daniel; Vidal, Josep; Najar, Montse

Full text

Received 29 October 2025; accepted 5 November 2025. Date of publication 10 November 2025; date of current version 27 November 2025. The review of this article was coordinated by Editor Itzik Klein. Digital Object Identifier 10.1109/OJVT.2025.3630970 PosGNN: A Graph Neural Network Based Multimodal Data Fusion for Indoor Positioning in Industrial Non-Line-of-Sight Scenarios KARTHIK MUTHINENI 1,2, ALEXANDER ARTEMENKO 2,DANIELABODE 3, JOSEP VIDAL 1(Senior Member, IEEE), AND MONTSE NÁJAR 1(Senior Member, IEEE) 1Department of Signal Theory and Communications, Universitat Politècnica de Catalunya (UPC), 08034 Barcelona, Spain 2Corporate Sector Research and Advance Engineering, Robert Bosch GmbH, 71272 Renningen, Germany 3Department of Electronic Systems, Aalborg University, 9220 Aalborg, Denmark CORRESPONDING AUTHOR: KARTHIK MUTHINENI (e-mail: kar[email protected]). This work was supported in part by the European Union’s Horizon 2020 Research and Innovation Programme through the Marie Sklodowska-Curie under Grant Agreement 956670 and in part by MCIN/AEI/ 10.13039/501100011033 and ERDF A way of making Europe as part of Project 6-SENSES under Grant PID2022-138648OB-I00. ABSTRACT In industrial environments, the wireless infrastructure is functional for offering services such as communication and positioning of industrial assets. However, the frequently occurring Non-Line-of-Sight (NLoS) conditions in industrial scenarios cause the wireless receiver to have positional information from a limited and varying number of wireless transmitters between consecutive time steps, leading to ambiguities in wireless infrastructure-based positioning. In this paper, we propose PosGNN, a novel data fusion solution based on the Graph Neural Network (GNN) approach that allows us to estimate the position of the User Equipment (UE) by fusing the positional information from the available wireless transmitters at each time step with the UE sensor technology. The performance of the proposed method is assessed using an experimental setup of Ultra-Wideband (UWB) technology as wireless infrastructure at 3.7−4.2 GHz frequency band, the Inertial Measurement Unit (IMU) as UE-side sensor, and the Automated Guided Vehicle (AGV) as the target UE to be positioned. The experimental results demonstrate the exceptional performance of our approach over the conventional model-based approach, Extended Kalman Filter (EKF), and the data-driven approach, Deep Neural Network (DNN), achieving an average positioning error of less than 15 cm in harsh industrial environments. INDEX TERMS Automated guided vehicle, graph neural network, industrial environment, inertial measurement unit, positioning, ultra-wideband. I. INTRODUCTION Manufacturing industry played a fundamental role in contributing to the European Gross Domestic Product (GDP), accounting for around 14.5% of value to the European economy [1]. This boost in economic value is a testament to the success of incorporating new advanced digital innovations in Operational Technology (OT) as envisioned by Industry 4.0 (I4.0) during the past decade. Noticing the benefits contributed by I4.0, the European Commission put forward the Industry 5.0 (I5.0) strategy to further extend the cooperation between humans and digital machines. Autonomous mobile robots, such as Automated Guided Vehicles (AGVs), that can work alongside humans to support physical tasks are considered one of the enabling technologies for I5.0 [1].The role of AGVs in industrial processes includes transporting products around different areas of industry, performing quality inspections of machines through high-definition cameras, and working alongside humans on complex jobs. Technologically, fulfilling these roles requires a reliable indoor positioning system. Therefore, this paper focuses on the indoor positioning service for AGVs in complicated multipath-dominant industrial Non-Line-of-Sight (NLoS) scenarios. The communication systems for the Factory of the Future (FoF) are transitioning towards wireless standards, enabling © 2025 The Authors. This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ VOLUME 7, 2026 15 MUTHINENI ET AL.: POSGNN: A GNN BASED MULTIMODAL DATA FUSION FOR INDOOR POSITIONING manufacturing to be flexible, mobile, and efficient. In such cases, wireless Radio Frequency (RF) based positioning has also gained much attention from industries. The mature wireless RF-based indoor positioning systems currently in use include Wireless Fidelity (Wi-Fi) [2], Radio Frequency Identification (RFID) [3], and Ultra-Wideband (UWB) [4].The UWB technology has the highest positioning accuracy due to its large bandwidth, which favors timing measurements. However, in challenging environments like industrial settings, the positioning accuracy of the UWB system is affected by the frequent occurrence of NLoS and multipath conditions due to the presence of heavy metallic objects. Several works have been presented to overcome the shortcomings of UWB positioning through NLoS identification [5],[6] and NLoS mitigation [7],[8],[9] techniques. However, the efficiency of these techniques in large-scale industrial scenarios is yet to be known. Over the past few years, techniques to enhance wireless infrastructure-based positioning accuracy by fusing information from onboard User Equipment (UE) sensors have been widely explored, which is also the main scope of this paper. A. PRIOR ART 1) CONVENTIONAL DATA FUSION METHODS The commonly used multimodal fusion algorithms can be divided into filtering-based and optimization-based [10].The filtering-based algorithms combine the motion model of the target with sensor measurements to estimate the target’s state. The well-known algorithms under this category include Particle Filters [11], Kalman Filters [12], and Multi-Bernoulli Filters [13]. On the other hand, optimization-based algorithms use a cost function and estimate the state of the target by minimizing the cost function. Weighted Least Squares (WLS) and graph optimization are commonly used algorithms under this category. In [11], UWB-odometer fusion was proposed for enhancing the positioning accuracy of a mobile robot using the Dynamic Window-Based Particle Filter (DWBPF) technique. However, the proposed approach requires an accurate initial position estimate. A multi-sensor fusion between UWB and IMU was presented in [12]. The fusion was performed using an Extended Kalman Filter (EKF). However, the noise distribution was considered Gaussian, which is not always true, especially indoors, due to multipath and NLoS conditions. Authors in [13], proposed an Extended Target Gaussian Inverse Wishart Bernoulli filter (ET-GIW-Ber) to estimate position and extent (e.g., shape, size, and orientation) of the target in a UWB network. The approach uses a Bernoulli Random Finite Set (RFS) framework to model the target’s presence or absence, thereby estimating its position. Furthermore, the target’s shape/extent is modeled as an ellipsoid with time-varying characteristics. However, the performance of the approach is limited to tracking a single target. The work in [14] proposes a coordinate matching technique to determine the transformation relationship between UWB and Light Detection and Ranging (LiDAR) estimated coordinates, thereby establishing a common reference frame for fusing the measurements. Nevertheless, this approach is susceptible to location ambiguities if the selected samples lie on the same plane. The hybrid positioning approach of fusing data from UWB, IMU, and camera sensors was presented in [15] to solve the problem of time offset between the sensors under investigation during the position estimation process. Despite that, the analysis was limited to using only a single range estimate (single UWB anchor). The systematic drawbacks of the approaches mentioned above lie in their nature of dealing with the noisy and nonlinear observations. For instance, the EKF assumes that the noise model in the position estimation process is Gaussian. If this assumption does not hold in real-world industrial settings, the performance of EKF can degrade, leading to inaccurate position estimates [16]. Moreover, models such as the EKF, Unscented Kalman Filter (UKF), and Particle Filters require a well-defined motion model of the target to estimate its position. However, in an industrial environment where the target AGV is known to take complex movements, it is strenuous to define the mathematical motion model accurately. On the other hand, WLS is sensitive to outliers in the measurements. A few erroneous measurements can severely distort the positioning results unless a robust cost function is incorporated to mitigate their impact. As for the graph optimization, a loop closure detection is necessary. Sensor noise and dynamic environments (e.g., industries) can prevent the system from recognizing previously visited locations. In the absence of loop closures, graph optimization leads to accumulating drift in the graph, progressively degrading the accuracy of position estimates. Therefore, the need for efficient positioning approaches that can handle non-linear observations in dynamic industrial environments has motivated the study of data-driven methods. 2) MACHINE-LEARNING-BASED DATA FUSION METHODS Recently, Machine-Learning (ML) approaches have emerged as candidate solutions for sensor and/or data fusion tasks. In [10], a deep-learning-based Visual Inertial UWB fusion (VIU-Net) for indoor positioning was proposed. The camera images and IMU accelerations are used to estimate the relative pose between two consecutive frames of images. Meanwhile, UWB estimates the pose in the global coordinate system. The two pose estimations are fused to provide an accurate target position estimate. In [17], Neural Networks (NN) were used to fuse the Wi-Fi measurements with the inertial navigation. The results show that the fusion achieved with NNs outperforms the EKF and UKF in terms of achievable positioning accuracy. After all, ML models proposed in the above works cannot generalize to the changes in receiving the positional information from a varying number of wireless transmitters. In other words, these ML models use a fixed number of features as input. If the number of input features received during the inference phase differs from those used during the training phase, these ML models will fail to provide output. In 16 VOLUME 7, 2026 complex industrial environments, the positional information obtained by the target from a set of transmitters can vary abruptly as the target traverses through the industry, requiring an ML-based positioning solution to adapt to the input changes. These limitations were solved by introducing Graph Neural Networks (GNNs). In [18], a special type of GNN known as the Graph Attention Network (GAT) model was proposed to enhance the positioning accuracy of the UWB system in NLoS scenarios, reducing positioning errors by 73.9%. The authors of [19] designed a High-Order Graph Neural Network (HoGNNLoc) to estimate the user location from a series of fingerprints containing WiFi received signal measurements. The work in [20] presented a Graph Location Network (GLN) to estimate the user location from multiple camera images. Authors in [21] introduced an advanced MLenhanced sensor fusion framework for achieving seamless indoor–outdoor positioning by integrating UWB and Global Navigation Satellite System (GNSS) measurements. This study leverages two extreme gradient boosting (XGBoost) models to dynamically estimate the positional uncertainty of UWB and GNSS sensors using a rich ensemble of features, including ranging residuals and geometric integrity parameters. These data-driven uncertainty estimates are integrated into an Adaptive Kalman Filter (AKF) to enable context-aware sensor weighting and continuous accuracy across challenging transition zones. The proposed method has demonstrated superior robustness and precision on real-world industrial datasets, achieving a mean positioning error of 0.16 m. In [22],a two-phase indoor positioning framework was proposed that integrates Received Signal Strength Indicator (RSSI) fingerprints from Long-Term Evolution (LTE), Bluetooth, WiFi, and the smartphone’s onboard camera to achieve decimeterlevel accuracy. The coarse positioning phase employs Support Vector Machine (SVM)–based classification to fuse LTE and Bluetooth signal fingerprints for region identification. In the refined positioning phase, WiFi RSSI measurements are converted into radio images via linear mapping and subsequently fused with camera images using pyramid decomposition and pixel-level image fusion, generating spatially enriched representations for precise position estimation. A Convolutional Neural Network (CNN) regressor is then trained on these fused features to infer fine-grained coordinates. Experimental validation in a real-world indoor environment achieved a mean absolute error of 0.41 m. The work in [23] introduces a dynamic model switching framework for adaptive WiFi-based indoor positioning. The proposed method dynamically identifies and applies the most suitable model among RSS fingerprinting, Round Trip Time (RTT) fingerprinting, hybrid RSS-RTT fingerprinting, and RTT trilateration, based on real-time signal characteristics and environmental context. The framework leverages raw RSS, RTT data, and NLoS information, which are processed through a Random Forest–based weighted model selection algorithm to enable context-aware model adaptation. Comprehensive experiments conducted across four diverse indoor environments demonstrated that the approach achieves submeter-level accuracy, delivering up to 0.8 m precision. B. LIMITATIONS OF PRIOR ART The works mentioned in the prior art did not consider the impact of the intricate industrial environment on the achievable wireless infrastructure-based indoor positioning accuracy. The distributed wireless infrastructure consisting of several transmitters might not have Line-of-Sight (LoS) with the target AGV at all time instances due to frequently occurring NLoS conditions in the industrial environment. As a result, the number of transmitters available to the AGV for positioning can vary abruptly between consecutive time instants. Therefore, the underlying positioning solution should be able to provide the position estimates even under such challenging situations. Conventional position estimation approaches, such as the EKF, UKF, and Particle Filters, are well-known for providing position estimates even when the number of transmitters available to the AGV varies abruptly. However, these approaches have drawbacks as outlined in Section I-A. On the other hand, the traditional ML models work with a fixed number of features as inputs that match the structure seen during the training phase. This poses significant limitations for traditional ML-based positioning solutions in real-world industrial environments where the number of input features (e.g., transmitters) can vary over time and requires the underlying positioning solution to adapt to these variations. Recently, a graph-based ML solution known as GNN was introduced, which can adapt to input changes during the inference phase without requiring retraining of the model. Although there are few works on GNN-based positioning, the analysis in these works has been limited to only one sensor modality without considering GNN for sensor and/or data fusion [18],[19],[20]. In addition, there is little or no focus on evaluatíng the ability of GNN to adapt to the varying input changes dynamically during inference. C. NOVELTY AND CONTRIBUTIONS In this paper, we enhance the indoor positioning accuracy of mobile target AGV through real-world experiments in an industrial environment by leveraging PosGNN, a GNN-based data fusion between the wireless infrastructure and AGV’s onboard sensor measurements. Our proposed PosGNN solution differs from the prior art and contributes to the literature in the following ways. rAbility to adapt to input changes: PosGNN offers a transformative advantage for AGV positioning in environments where the number of input features (e.g., transmitters) varies over time. Opposed to the works of prior art in [10],[11],[12],[13],[14],[15],[16], [17],[18],[19],[20],[24], where the target positioning is performed by assuming that the number of transmitters available to the target is static and does not change over time, we focus on AGV positioning under realistic industrial settings. The PosGNN models the number of transmitters available to the AGV as a graph at a given time instant. This graph-based formulation enables PosGNN to adapt to any number of transmitters without requiring structural modifications or retraining VOLUME 7, 2026 17 MUTHINENI ET AL.: POSGNN: A GNN BASED MULTIMODAL DATA FUSION FOR INDOOR POSITIONING the model. Furthermore, an iterative message passing is performed across the graph to enable PosGNN to learn the spatial relationships between the input features. rEnhancing accuracy through data fusion: The PosGNN is also used as a data fusion unit to fuse the measurements from the wireless infrastructure and UE-side sensors. To the best of our knowledge, PosGNN is the first purpose-built GNN-based data fusion model designed to fuse measurements from two different sensor modalities and enhance the AGV indoor positioning accuracy in a complex industrial environment. rExperimental validation: We set up the UWB system as our wireless infrastructure in a real indoor industrial scenario and collect measurements on channel 2 in the 3.7−4.2 GHz band with a bandwidth of 500 MHz. Additionally, the commercial IMU sensor available in the target AGV is utilized as the UE-side sensor, whose measurements are fused with UWB using PosGNN. As for the target, the AGV from Bosch Rexroth was used. We validate the performance of PosGNN in realistic industrial settings and benchmark against EKF [12] and a two-stage cascaded Deep Neural Network (DNN) [16]. II. SYSTEM MODEL AND PROBLEM FORMULATION This section describes the system model, including the key components and underlying working principles of UWB and IMU. We then formulate the problem associated with the system under consideration. A. SYSTEM MODEL This study considers the UWB system deployed with two types of devices - anchor and tag. The anchors serve as transmitters, which transmit the downlink pulses, allowing the tag serving as a receiver to estimate the distance towards the anchors. A total of K anchors are deployed in the industrial environment at various positions with known 2D position coordinates represented as {panc =(xanc ,yanc),panc ∈ R2,anc ∈{1,2, ..., K}}. While the unknown position of the tag is indicated by {ptag =(xtag ,ytag),ptag ∈R2}.The signal transmissions of the UWB system can be scheduled using Time Division Multiple Access (TDMA). Each device in the network is provided with a time slot to transmit and receive messages. Furthermore, the synchronization among the anchors is done with the synchronization beacons sent by the master anchor at every Tsperiod. Each TDMA frame contains a broadcast and response slots for the respective anchors. The tag broadcasts a message within the broadcast slot, followed by the reception of messages from the K anchors in the corresponding K response slots. With the tag knowing the start time of each response slot and the anchor to which it is allotted, the K Time of Flights (ToF) are computed, which are converted to the K distance measurements dtag through Single Sided Two-Way Ranging (SS-TWR) technique [25]. The IMU sensor integrated into the AGV provides the linear accelerations and angular velocities in x,y,zaxis. The measurements provided by the IMU sensor are relative to its body coordinate frame, which needs to be converted to the global coordinate frame using a yaw angle and a rotation matrix as ax ayGL =cos()sin() −sin() cos()ax ayLL ,(1) where [ax,ay]T GL and [ax,ay]T LL indicate the accelerations in global and local coordinates frames. The procedure for computing the yaw angle and removing the influence of gravity on acceleration measurements is provided in [16].In addition, for our fusion algorithm to be effective in fusing the measurements between the wireless infrastructure UWB and the UE sensor IMU, we, in turn, use the accelerations measurements to estimate the distance traversed by the AGV as dimu =vt+1 2at2, with vbeing the velocity, the time interval tbetween two consecutive IMU measurements, and the total acceleration aexperienced by the AGV formulated as a=((ax)2 GL +(ay)2 GL) 1 2. The LiDAR is used as a ground truth sensor, which provides the 2D position coordinates represented as {plidar =(xlidar ,ylidar)}. B. PROBLEM FORMULATION The AGV is equipped with three different sensors S∈{s1,s 2,s 3}: UWB tag, IMU, LiDAR, and moves along a pre-defined trajectory given as P=⎡ ⎢ ⎢ ⎢ ⎢ ⎣ p1 p2 . . . pN ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ ,pn=⎡ ⎢ ⎣ xAGV n yAGV n ⎤ ⎥ ⎦(2) where pnis the position of the AGV at the n-th time step with N being the maximum. The measurements recorded by the sensors on the AGV along its trajectory are represented by (S) =(S) 1, (S) 2, ...,  (S) N, where S nindicates the measurement from the sensors S at n-th time. For the UWB tag, the true state corresponds to the distance measurements between the tag and the anchors dtag ncomputed from the SS-TWR at n-th time, while the true state of the IMU sensor corresponds to the distance traversed by the AGV dimu nat n-th time. In our specific industrial scenario, as the AGV moves in its trajectory, the LoS links between the tag and the anchors vary continuously. This results in the tag having distance measurements to limited and/or varying numbers of anchors at each time step. The number of anchors the tag detects at n-th time is represented by ζn.Letdk nindicate the distance computed by the tag at n-th time towards anchor k. Therefore, the collection of distance measurements at n-th time is given as dtag n={d1 n,d2 n,...,dKn n}, where Kn=| ζn| provides information about the total anchors for which distance measurements are obtained at n-th time. To fuse the measurements between dtag nand dimu n, we intend to use the ML approach. This is motivated by the fact that the ML approaches can learn the non-linear relationships, underlying 18 VOLUME 7, 2026 FIGURE 1. Proposed PosGNN data fusion and positioning framework. (a) The star graph represents the positioning system, with the central node (AGV with a UWB tag) attributed by the distance estimate from the IMU sensor and peripheral nodes with known positions of the UWB anchors. Edges represent estimated distances by the UWB tag to each of the anchors. (b) The PosGNN architecture involves sequential Neural Network (NN) processing of messages from each node, aggregation via a Mean function, nonlinear transformation by the update NN, and the readout NN to estimate the position of AGV. system dynamics, and noise characteristics from the input data. The dataset for the ML model is represented as {(gq,oq)Q q=1,gq∈{dimu q,dtag q}}, where gqis the input feature vector, oqis the corresponding label representing the ground truth position of the AGV, and Q is the total number of training samples. The input feature vector can be rearranged into a matrix as G=⎡ ⎢ ⎢ ⎣ gT 1 . . . gT Q ⎤ ⎥ ⎥ ⎦ =⎡ ⎢ ⎢ ⎣ dimu 1d1 1d2 1... dK 1 . . .. . .. . ..... . . dimu Qd1 Qd2 Q... dK Q ⎤ ⎥ ⎥ ⎦ ,(3) where each row gT qindicates an input feature vector of q-th sample and K=| ζ|, whose size varies for each sample. The problem of interest is: given the input feature vector of varying numbers of features and an output label for each sample, how to optimize the ML model to provide the position estimations of AGV? We use the Mean Square Error (MSE) as the loss function LMSE(), with indicating the trainable parameters such as weights and biases. The loss function quantifies the difference between the true plidar and estimated values ˆp as LMSE()=1 Q Q  q=1plidarq−ˆpq2.(4) Therefore, the problem is formulated as finding the position estimate ˆpqthat minimizes the given loss function. III. PROPOSED POSGNN ARCHITECTURE This section presents our proposed data-driven fusion and positioning solution, PosGNN, for the problem mentioned in (4). The GNNs are a type of NN specifically designed to process graph-structured data. They offer an advantage in handling data of varying sizes, unlike traditional feedforward NN architecture [26]. This capability is essential for addressing the challenge of having varying input feature vector sizes as mentioned in (3). This is because, in an industrial setting, the UWB tag has access to positional information from a limited and/or varying number of UWB anchors due to obstacles between the tag and multiple anchors. In the following sections, we describe the two main components of the proposed GNN-based data fusion framework, including the positioning system’s graph representation and the PosGNN architecture. A. GRAPH REPRESENTATION OF THE POSITIONING SYSTEM To apply GNN to solve (4), the first step is to model the data at every time step nas a graph G(n,En,An), where n,En, Anrepresent the set of nodes, edges, and adjacency matrix of the graph, respectively. To this end, we consider a star graph as shown in Fig. 1(a), where the AGV is represented as the central node denoted as λAGV n. The node is attributed to the distance traversed by the AGV based on IMU acceleration data, dimu n.TheKnanchors available to the AGV at time nare represented by the peripheral nodes with attributes indicating the position of the corresponding anchors, so that anchor 1 is represented with node λ1 nand attributed by [x1 n,y1 n]Tas showninFig.1(a). Eventually, we can define the set of nodes in the star graph as {λAGV n,λ 1 n,λ 2 n,...,λ Kn n}. The star graph VOLUME 7, 2026 19 MUTHINENI ET AL.: POSGNN: A GNN BASED MULTIMODAL DATA FUSION FOR INDOOR POSITIONING is completed by outgoing edges drawn from the peripheral nodes to the central node, where the set of edges at time ncan be represented as En={(λk n,λ AGV n)|k=1,2,...,Kn}. The edges are attributed to the estimated distance dtag n= {d1 n,d2 n, ..., dKn n}between the tag and the anchors involved at n-th time step. B. GRAPH NEURAL NETWORKS The GNNs have become a widely adopted NN architecture for learning from graph-structured and non-Euclidean data. The general architecture of GNNs is based on the messagepassing framework introduced in [27]. Within this framework, each layer of the GNN comprises three primary components: message computation, message aggregation, and node update functions. During message computation, each node gathers information from its neighbors by computing messages based on their features and the features of the connecting edges, typically implemented using an NN that applies a nonlinear transformation. The messages received from neighboring nodes are then combined using a permutation-invariant function, such as the mean, sum, or maximum. Subsequently, the node updates its own feature vector using the aggregated message, often through another NN or a simple nonlinear function. The output of each layer is an updated embedding for each node, capturing both its own features and the structure of its local neighborhood. By stacking multiple layers, GNNs can capture increasingly global information across the graph. Finally, a readout function is applied to produce taskspecific outputs. C. DESIGN OF POSGNN The proposed PosGNN architecture is based on a messagepassing GNN and is illustrated in Fig. 1(b). The goal is to estimate the 2D position vector [ˆxn,ˆyn]Tof the AGV node λAGV n, using a star-structured graph that models the positioning system. We describe the key components of the PosGNN below: message computation, message aggregation, update, and readout functions. 1) MESSAGE COMPUTATION To compute messages for the central node λAGV n, each peripheral node provides a feature vector composed of its position and the corresponding edge feature: fk n=xk n,yk n,dk nT . Each feature vector fk nis processed by a message computation NN, i.e., NNc, producing a message embedding: mk p,n=NNcfk n∈R×1, where is the output dimension of NNc. The central node also contributes a feature vector consisting of the inertial measurement dimu nand two constant dummy values cto ensure shape consistency: fc,n=c,c,dimu nT ,mc,n=NNcfc,n∈R×1. 2) MESSAGE AGGREGATION All messages from peripheral nodes {mk p,n}Kn k=1are concatenated with the central message mc,nand aggregated using a mean function: ma,n=Mean m1 p,n,...,mKn p,n,mc,n∈R×1. 3) UPDATE FUNCTION The aggregated message ma,nis passed through an update NN, i.e., NNuwith nonlinear activation to produce a node embedding of size : mu,n=NNuma,n∈R×1. 4) READOUT FUNCTION Since the number of peripheral nodes Knmay vary with the number of available UWB anchors, we include Knas an additional input to the readout NN, i.e., NNr. The input to NNris the concatenation of mu,nand Kn, and the output is normalized using a sigmoid activation function to yield the estimated AGV position: [ˆxn,ˆyn]T=NNrmu,n,Kn. D. TRAINING PROCEDURE To train the PosGNN, we consider a dataset of Z graphs collected along a trajectory, each paired with a corresponding ground-truth label. The dataset is divided into B mini-batches, where each mini-batch contains Y graphs. Let denote the learnable parameters of the PosGNN. For each mini-batch, a forward pass is performed and the expected gradient of the loss function defined in (4) is computed over the mini-batch: EYLMSE(). The parameters are then updated using mini-batch gradient descent as follows: τ=τ−1−βEYLMSE(),(5) where βis the learning rate and τdenotes the training iteration. The entire training procedure is outlined in Algorithm 1. E. KEY PROPERTIES OF THE POSGNN 1) EQUIVARIANCE TO THE PERMUTATION OF UWB ANCHOR NODES An important property of the PosGNN design is its ability to remain consistent regardless of the order of UWB anchor nodes. This means that the PosGNN will reliably predict the position of the AGV [ ˆxn,ˆyn]T, even if the order of the UWB anchor nodes in the input changes. In other words, the output of the PosGNN remains stable no matter how the input UWB anchor nodes are arranged. This can be easily understood from Fig. 1(b). The same message computation function is 20 VOLUME 7, 2026 FIGURE 2. Experimental setup in an industrial scenario. (a) AGV equipped with the UWB tag, IMU (inside AGV), and LiDAR. (b) The surrounding environment of AGV with natural obstacles. (c) Artificial obstacles along the trajectory of AGV and a side view between the UWB tag and one of the deployed UWB anchors. Algorithm 1: Training Algorithm for PosGNN. 1: Input :Data={G(n,En,An), on; n=1,2,...,N} 2: Initialize :,β 3: repeat 4: D={G(n,En,An),on}Sample mini-batch 5: [ ˆxn,ˆyn]T=τ(D)Forward pass 6: Compute loss using (4) 7: Update τusing (5) 8: until τ−τ−1< used to process the node feature and edge feature of each UWB anchor. Additionally, the chosen aggregation function, the mean, is permutation equivariant, producing the same output regardless of the input order. 2) ABILITY TO GENERALIZE TO DIFFERENT NUMBERS OF UWB ANCHORS As previously stated, the number of UWB anchors accessible by the AGV at a given time step can vary depending on the LoS conditions. Consequently, the geometric relationship between anchors and the target AGV changes drastically in a complex industrial environment. Our PosGNN is designed to handle these drastic changes because it learns representations from the graph topology, as shown in Fig. 1(a), rather than relying on the absolute geometry of anchor-target pairs. In particular, PosGNN focuses on the connectivity patterns and relative interactions between nodes in the graph rather than fixed geometric layouts. When geometric relationships change (e.g., target AGV moving to a region with a different set of anchors’ visibility), the PosGNN can still learn to infer positions based on node and edge features. If the anchor-target geometry changes, the graph structure (and its associated features) will change accordingly. The PosGNN can learn to weigh messages differently based on these changing conditions, effectively adjusting to anchor-target geometric changes. In addition, to enable our PosGNN architecture to generalize and TAB LE 1. Average Inference Time Comparison (In Milliseconds) Per Position Estimate Using PosGNN, EKF, and DNN Methods scale to a different number of anchors, a graph-level feature indicating the number of anchors Knvisible to the AGV at time step nis added, as shown in Fig. 1(b). The effectiveness of Knas branch input to the PosGNN architecture is discussed in Section IV-B. IV. EXPERIMENTAL SETUP AND RESULTS In this section, we provide details of our experimental setup and present the positioning results of PosGNN along with a comparison to the benchmarks. In addition, Table 1shows the average inference time required by each positioning solution to provide a position estimate. Our positioning solutions are implemented using Python and designed to run on the Linux platform, featuring a 13th Gen Intel Core i7-13850HX CPU with 20 cores and 30 GB of RAM. A. EXPERIMENTAL SETUP We consider a cluttered indoor industrial environment at ARENA2036, located on the University of Stuttgart, Germany campus. Fig. 2depicts the experimental setup and scenario under investigation. The physical environment consists of a large, partially open space with high concrete walls, columns, a staircase, metallic storage racks, steel pipes, and plastic containers. The Area of Interest (AoI) for positioning roughly spans about 20 m ×25 m. The Qorvo DWM1001 C UWB transceiver modules have been used in our experiments. The UWB channel 2 in the frequency band of 3.7−4.2 GHz and a bandwidth of 500 MHz is used. A total of six UWB modules are configured as anchors VOLUME 7, 2026 21 MUTHINENI ET AL.: POSGNN: A GNN BASED MULTIMODAL DATA FUSION FOR INDOOR POSITIONING and are deployed at the corners of the AoI at a height of 2 m from the ground. A UWB module configured as a tag is connected to the AGV at a height of 1 m from the ground. The IMU sensor considered in our work corresponds to a commercially available IMU combining accelerometer and gyroscope from Bosch, equipped within the AGV. The Activeshuttle from Bosch Rexroth is used as a target AGV for carrying out the experiments. The LiDAR on the AGV provides the 2D position coordinates along the trajectory, which are used as a ground truth for our experiments. The PosGNN training dataset is collected through a measurement campaign in the experimental AoI. A pre-defined training trajectory has been designed and sent to the target AGV. The UWB tag and the IMU sensors onboard the AGV collect their respective measurements as the AGV traverses the pre-defined training trajectory. Thereafter, the measurements collected were used to generate training and validation graphs for the PosGNN. A total of 10000 training graphs were generated with a minimum of 3 and a maximum of 6 anchors. For any data-driven algorithm, achieving optimal performance on new or unseen data is essential. Therefore, the performance of PosGNN is evaluated on two new test trajectories, Trajectory 1 and Trajectory 2, that differ from the training trajectory. Regarding the PosGNN architecture, the message computation NN consists of fully connected layers with 3, 64, and 128 neurons per layer. The number of input neurons, 3, matches the size of the input tensor, which is the concatenation of a node feature and the edge feature, as showninFig.1(b). The number of neurons in the hidden layer and the output layer was determined through experimental validation. The number of neurons in the input layer of the update NN is set to 128 to match the dimension of the output of the message computation function. The hidden and output layers have 64 and 16 neurons, respectively. The structure of the readout NN is 17,8,2, with 17 input neurons matching the size of the output neurons of the updated NN and the additional graph-level feature. The number of output neurons, 2, represents the estimated [ ˆx,ˆy]Tcoordinates of the AGV. An Adaptive Moment Estimation (ADAM) optimizer was used. The parameters of the GNN were carefully selected based on numerical validation from the dataset collected from the experimental trajectory. B. EXPERIMENTAL RESULTS 1) TRAJECTORY 1 The first trajectory designed for the AGV is illustrated in Fig. 3. The complex industrial environment poses several challenges for wireless signal propagation, weakening the signal as it travels to the UE and thereby compromising wireless connectivity with the respective transmitter. This phenomenon is empirically observed in our industrial scenario. To this end, the number of anchors detected by the tag connected to the AGV varies between 3 (minimum) and 6 (maximum) at a given time step as the AGV moves along its trajectory, as shown in Fig. 3. This variation in the number of anchor FIGURE 3. The number of UWB anchors detected by the UWB tag connected to the AGV along trajectory 1. FIGURE 4. Positioning error obtained along individual path lengths for a given number of UWB anchors along trajectory 1. detections is critical for positioning accuracy due to the following reasons. First, well-distributed or evenly dispersed anchors in the environment (e.g., forming a polygon around the target) represent good geometry, resulting in a lower Geometric Dilution of Precision (GDOP) [28]. The target AGV can see multiple anchors from different directions, which reduces blind spots and provides more independent distance measurements. On the other hand, drop or uneven anchor detections represent poor geometry relative to the AGV’s position, resulting in a high GDOP, thereby affecting the achievable positioning accuracy. Second, the availability of more anchors can provide redundant measurements. If one of the anchors’ data is noisy, others can compensate for it using outlier rejection mechanisms [29]. Such mechanisms cannot be used if fewer anchors are detected, making the positioning system vulnerable to measurement noise. Qualitative Analysis: The positioning error obtained with the proposed PosGNN method at the individual path lengths is depicted in Fig. 4. The path length constitutes the total distance traveled by the AGV along the given path in a geometric space. In addition, we also show the number of anchors detected by the tag at individual path lengths along the trajectory. We point the reader to the path length of 6.9 m, where the number of anchors detected by the tag is 6. The PosGNN fuses the measurements obtained from these 6 anchors with the IMU measurements to provide a position estimate of AGV. 22 VOLUME 7, 2026 It is to be noted that despite the number of anchors detected by the tag at 7 m being less than 6, the PosGNN was able to fuse the measurements from the detected anchors with the IMU to provide a position estimate of AGV. This shows PosGNN’s ability to adapt dynamically to input changes during the inference phase or runtime. One of the goals of this work is to show the effectiveness of PosGNN in enhancing positioning accuracy by fusing the UWB and IMU measurements even in situations where the number of detected anchors is limited. Henceforth, at the path length of 18 m, the positioning error obtained with the PosGNN by fusing measurements from only 3 anchors with the IMU is 0.1 m, proving the effectiveness of PosGNN in performing data fusion. Looking at the curve of the positioning error, one can note that at specific path lengths, the positioning error obtained with the PosGNN is greater than 0.3 m. For instance, at a path length of 8.2 m, the positioning error obtained with the PosGNN by fusing measurements from 3 anchors with the IMU was 0.44 m. The primary reason for yielding high positioning error is due to high GDOP, which quantifies the poor geometry of anchors relative to the AGV’s position, affecting the position estimates [28]. The positioning accuracy is better when the target AGV remains within the polygon formed by the anchors. Once the target AGV moves outside the polygon, the geometry of the anchors becomes skewed, making position estimation more sensitive to small measurement errors (e.g., UWB distances), unless the polygon formed by the anchors is extended or dynamically adapted (e.g., using mobile anchors or Simultaneous Localization And Mapping techniques). However, the current work does not employ mobile anchors. On the other hand, the PosGNN relies on message passing over the graph for providing position estimates. If the geometry of the anchors detected at a given time step results in high GDOP, the edge features (e.g., UWB distances) passing through the graph become less informative, particularly along certain directions (e.g., poor anchor coverage along one axis). This weakens the PosGNN’s ability to learn meaningful spatial relationships and differentiate between similar UWB distances that correspond to different positions. The potential solution to minimize such errors is to have a geometry-aware PosGNN architecture. This implies feeding the GDOP value computed by the UWB tag at a given time step, based on the visible anchors, as an input node or edge feature to the PosGNN. Moreover, attention mechanisms can be employed to assign weights to the anchors based on the GDOP, enabling the model to learn to downweight contributions from anchors with high GDOP. The model can be trained on samples collected under a wide range of GDOP conditions, as it can increase the robustness of the PosGNN to various geometric changes. Quantitative Analysis: Next, we evaluate the positioning performance of our proposed PosGNN method and benchmark against the model-based approach, e.g., EKF [12], and data-driven approach, e.g., a two-stage cascaded DNN [16]. It is to be noted that the traditional ML models, such as DNN [16], do not adapt to changes in the input feature vector size like that of PosGNN. Therefore, positioning with DNN FIGURE 5. Trajectory 1 - The estimated trajectory of AGV with different positioning approaches. FIGURE 6. CDF of 2D positioning error for trajectory 1. was evaluated with a fixed number of input features, i.e., six anchors. Fig. 5shows the trajectory maps of AGV computed with the PosGNN, EKF, and DNN compared with the ground truth. Examining the trajectory maps reveals that the positioning using EKF exhibits obvious deviations compared to the ground truth. The non-linearity and noise from the surrounding environment mainly cause this. Similarly, positioning with DNN also suffers from large deviations from the ground truth. On the other hand, the proposed PosGNN method can reduce the errors along the trajectory, achieving an average positioning error of 12 cm compared to the average positioning error of 25 cm achieved with the EKF and an average positioning error of 18 cm achieved with DNN. In addition, the positioning performance of PosGNN, DNN, and EKF in terms of Cumulative Distribution Function (CDF) is presented in Fig. 6. From the CDF curves in Fig. 6,the PosGNN method provides a significant improvement over the EKF and DNN. For instance, with EKF, the positioning error is about 0.25 m, and with DNN, the positioning error is about 0.17 m for 50% of the cases. With our proposed PosGNN method, the positioning error is less than or equal to 0.14 m VOLUME 7, 2026 23