A mobile robot navigation positioning adaptive switching system
By constructing a quantitative model rich in environmental features and a lightweight sensor state prediction model, and dynamically switching positioning modes, the problem of unstable positioning of mobile robots in complex environments is solved, and seamless positioning output with high continuity and high reliability is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ANHUI HELI YUFENG INTELLIGENT TECHNOLOGY CO LTD
- Filing Date
- 2026-03-16
- Publication Date
- 2026-06-09
AI Technical Summary
In existing technologies, mobile robots struggle to achieve high continuity and high reliability positioning across all scenarios in complex and ever-changing environments. Single-sensor positioning sources are susceptible to external interference, and pre-dividing positioning areas is labor-intensive and resource-intensive, reducing deployment efficiency.
A quantitative model rich in environmental features and a lightweight sensor state prediction model are constructed to evaluate the effectiveness of the positioning source in real time and dynamically switch the positioning mode. Using laser point cloud, RTK satellite data and IMU data, sensor reliability is predicted through GRU network. Multi-sensor fusion is combined with extended Kalman filter to achieve adaptive positioning switching.
Achieve seamless positioning output in complex environments, avoid pose jumps, improve operational continuity and environmental adaptability, and ensure positioning stability and reliability.
Abstract
Description
Technical Field
[0001] This invention relates to the field of mobile robot navigation and positioning technology, specifically to a mobile robot navigation and positioning adaptive switching system. Background Technology
[0002] Mobile robots are widely used in industrial inspection, logistics distribution, and outdoor operations. The stability and reliability of navigation and positioning are the core prerequisites for ensuring the completion of their tasks. However, the actual operating environment of mobile robots is complex and varied, and a single sensor positioning source is difficult to adapt to the positioning requirements of all scenarios: in indoor or occluded environments, RTK positioning signals are weak and cannot achieve effective positioning; in environments with sparse features or unconstrained conditions (such as long corridors), LiDAR is difficult to achieve accurate matching and positioning with the map; and visual sensors are easily affected by factors such as light intensity and weather changes, resulting in poor positioning stability.
[0003] To address the limitations of single-sensor localization, existing technologies typically employ a strategy of pre-delineating several areas and assigning a fixed navigation and localization mode to each area. The robot then switches to the corresponding localization mode upon arriving at the designated area. However, this strategy has significant drawbacks: even within the designated area, the corresponding navigation and localization source may become unstable due to external interference, such as RTK becoming unreliable in open outdoor environments due to solar storms. Furthermore, pre-surveying and delineating localization mode areas requires substantial manpower and resources, significantly increasing the difficulty of actual deployment, reducing deployment efficiency, and making it difficult to adapt to complex and dynamic operating environments.
[0004] Therefore, how to achieve adaptive switching of positioning strategies based on real-time environmental perception and sensor state assessment without relying on pre-defined regions has become a key technical challenge to improve the continuity and reliability of mobile robot positioning in all scenarios. Summary of the Invention
[0005] This invention provides a navigation and positioning adaptive switching system for mobile robots. It does not require pre-dividing the positioning area. By constructing a quantitative model with rich environmental features and a lightweight sensor state prediction model, it evaluates the effectiveness of the positioning source in real time and dynamically switches the positioning mode, thereby achieving seamless positioning output with high continuity and high reliability in complex and changing environments.
[0006] To achieve the above objectives, the present invention adopts the following technical solution:
[0007] A mobile robot navigation and positioning adaptive switching system includes:
[0008] Positioning the decision-making level:
[0009] The environmental feature richness detection module is configured to construct an equivalent 2D scanning frame based on laser point cloud, calculate the normalized environmental feature score by the effective laser beam ratio, local line segment direction entropy and bending angle, and identify under-constrained environments by combining the ratio of normal vector covariance eigenvalues.
[0010] The sensor condition deterioration prediction module deploys a lightweight time-series prediction model. The input includes a time-series window containing the number of RTK satellites, the effectiveness of the laser point cloud, and its interpolation markers. The output is the probability of reliability degradation of RTK and LiDAR within the next 50ms and the switching decision label.
[0011] The positioning mode decision unit is configured to generate a unique optimal positioning mode instruction by comprehensively considering environmental feature scores, under-constraint judgment results, sensor state prediction results, and the current RTK positioning status.
[0012] The pose calculation layer includes an initialization module, a laser matching module, an RTK pose calculation module, and a multi-sensor fusion module. It is configured to activate the corresponding module according to the positioning mode command and output the six-degree-of-freedom pose, covariance matrix, and positioning health. The multi-sensor fusion module uses an extended Kalman filter for multi-source fusion and maintains continuous transmission of the state vector and covariance matrix during mode switching.
[0013] The positioning health is obtained by weighted fusion of matching confidence, EKF uncertainty normalization term and sensor weighted health status; the positioning mode decision unit is also configured to monitor the positioning health, and when it is continuously lower than the safety threshold for more than a preset time, generate a safe docking command and output a hardware alarm signal to the motion controller through the GPIO pin.
[0014] Preferably, when the environmental feature richness detection module identifies an underconstrained environment, the positioning mode decision unit reduces the priority of the laser-dominated positioning mode and prioritizes the multi-sensor fusion positioning mode.
[0015] Preferably, the lightweight temporal prediction model of the sensor state deterioration prediction module adopts a GRU network combined with a temporal attention mechanism. The input tensor contains 16 frames of 3-dimensional temporal features and integrates scene type embedding vectors. The output results are dual-task: the regression task predicts the probability of reliability degradation, and the classification task outputs a binary switching decision label.
[0016] Preferably, the multi-sensor fusion module operates a loosely coupled EKF at a frequency of 100Hz, fusing laser-matched pose, RTK pose, IMU pre-integration, and wheel speed and odometer readings, and dynamically adjusting the observation weights of each sensor.
[0017] Preferably, the initialization module prioritizes using the pose in the RTK Fixed state as the initial value. If this is not available, it falls back to NDT coarse alignment plus ICP refinement laser map matching.
[0018] Preferably, the sensor layer is configured to acquire laser point cloud, GNSS / RTK, IMU and wheel speed meter data, and output the health status information of each sensor.
[0019] Preferably, the IMU in the sensor layer triggers high-precision timestamp marking via DRDY interrupt and reads data via SPI interface; the wheel speed meter obtains position counts via LS7366R decoding chip and integrates anti-slip signals from Hall sensor.
[0020] Preferably, the application layer is configured to subscribe to the pose, covariance matrix, and positioning health, trigger a relocation request when the positioning health is lower than a first threshold, and pause the path planning task after receiving a safe docking instruction.
[0021] The beneficial effects of this invention are as follows:
[0022] This invention constructs a quantitative model rich in environmental features (based on the ratio of effective laser beam proportion, directional entropy, and normal vector covariance eigenvalues) to identify sparse feature regions and geometrically degraded regions (such as long corridors and elevators) in real time. Combined with a lightweight temporal prediction model (GRU + temporal attention), it predicts the risk of RTK or laser reliability degradation 50ms in advance, dynamically generates four-modal positioning switching commands (RTK-dominated / laser-dominated / multi-sensor fusion / safe docking), and sends them out with low latency through named pipe FIFO. Thus, in complex scenarios such as indoor-outdoor transition zones, GNSS denied zones, and geometrically degraded environments, it achieves seamless and continuous output of positioning services, avoids pose jumps, and significantly improves the operational continuity and environmental adaptability of mobile robots. Detailed Implementation
[0023] Example 1:
[0024] The navigation and positioning adaptive switching system provided by this invention is suitable for mobile robots that need to operate continuously indoors and outdoors and traverse complex topologies. It can effectively cope with challenges such as dynamic changes in sensor availability, environmental geometric degradation, and cross-domain coordinate consistency. Typical applications include:
[0025] First, warehouse logistics robots, specifically as follows:
[0026] High-density shelving area (rich in features): Relying on a high-density vertical structure, it achieves high-precision laser map matching;
[0027] Open sorting area (feature sparse): Relies on RTK to provide global drift-free pose to compensate for the lack of laser features;
[0028] Loading and unloading area (indoor-outdoor transition zone): During the rapid attenuation / recovery of GNSS signals, smoothly switch between RTK and multi-sensor fusion modes to ensure positioning continuity;
[0029] Second, the park inspection robots, as detailed below:
[0030] In areas with greenery obstruction (partial satellite signal blockage), RTK is prone to degrading to Float state, and the system automatically enhances the weights of IMU and wheel speed meter.
[0031] Main road sections (open outdoor areas): RTK is the primary method, supplemented by laser point cloud correction for long-term drift;
[0032] Underground pipelines / tunnels (GNSS complete rejection + geometric underconstraint): Enable tightly coupled EKF fusion framework to suppress unobservable drift along the pipeline direction and maintain reliable pose estimation;
[0033] Third, building delivery robots, as detailed below:
[0034] Inside the elevator car (enclosed metal space, no effective features): positioning health can only be estimated in the short term by relying on IMU and wheel speed, and the positioning health drops rapidly, triggering rapid repositioning after exiting the elevator.
[0035] Long straight corridor (feature under-constraint): Identify geometric degradation caused by parallel walls, disable pure laser positioning, and force fusion of IMU heading and odometry constraints;
[0036] Lobby / Atrium Area (Rich in Features): High-confidence map matching is achieved using non-repeating structures such as columns and decorations, serving as anchor points for floor positioning.
[0037] Example 2:
[0038] The robot body embedded navigation and positioning adaptive switching system provided by the present invention consists of a sensor layer, a positioning decision layer, a pose calculation layer and an application layer;
[0039] (i) The sensor layer is responsible for collecting three types of data: environmental geometric features, satellite positioning, and robot motion state. At the same time, it outputs the health status information of each sensor, providing raw data support for subsequent positioning decisions and pose calculations.
[0040] Based on the raw data and status information input from the sensor layer, the positioning decision layer completes the quantitative determination of environmental features and the prediction of sensor status trends, and finally outputs the optimal positioning mode decision command.
[0041] The pose calculation layer receives the positioning mode instructions issued by the positioning decision layer, executes the corresponding algorithm process, and outputs the robot's six-degree-of-freedom pose and its covariance matrix in the global map coordinate system, providing continuous, consistent and reliable positioning services for the upper navigation and control module.
[0042] The application layer subscribes to the global pose and health information published by the pose calculation layer for business logic such as path planning, obstacle avoidance decision-making, elevator calling, and task status reporting. When the positioning health is below the threshold, it can actively trigger a relocation request or enter a safe docking mode to ensure operational safety.
[0043] Example 3:
[0044] The sensor layer consists of a lidar (Hesai PandarXT-16), a GNSS / RTK receiver (u-bloxZED-F9P), an IMU (Bosch BMI088), and a wheel odometer (high-resolution incremental encoder (2048 lines) + Hall sensor for anti-slip).
[0045] (i) The Hesai PandarXT-16 lidar outputs through dual UDP channels. Specifically, it outputs a frame of point cloud data in sensor_msgs / msg / PointCloud2 format every 100ms through port 2368, which includes three-dimensional coordinates, reflection intensity and timestamp. At the same time, it outputs device health status information in pandar_msgs / msg / DeviceStatus format through port 8308, which includes internal lidar temperature, motor speed, effective point cloud ratio and power supply voltage.
[0046] The Hesai PandarXT-16 lidar transmits point cloud data to the embedded main control unit (NVIDIA Jetson Xavier NX) of the mobile robot via an Ethernet RJ45 interface. This main control unit is equipped with 8GB of shared LPDDR4x memory, runs the Linux Ubuntu 22.04LTS operating system, and is equipped with a 256GB M.2 NVMe solid-state drive (sequential read / write speed of approximately 2000MB / s). The system is built on ROS 2 HumbleHawksbill and utilizes the shared memory transmission mechanism of the ROS 2 DDS middleware to significantly reduce inter-process communication latency. Actual measurements show end-to-end transmission of point cloud data.
[0047] (ii) The RTK receiver (model u-blox ZED-F9P) outputs UBX binary protocol data stream at a baud rate of 230400bps through the UART interface and transmits it to the embedded main control unit of the mobile robot (model NVIDIA Jetson Xavier NX).
[0048] The RTK receiver is configured to publish UBX-NAV-PVT messages at a frequency of 20Hz, including WGS84 latitude and longitude, ellipsoidal altitude, ground speed, number of satellites, HDOP / VDOP and RTK positioning status (Fixed / Float / Single), and to publish UBX-NAV-SAT messages at a frequency of 5Hz, providing the carrier-to-noise ratio C / N0 of each satellite to ensure that the information required for positioning calculation is complete and available.
[0049] (III) The inertial measurement unit (IMU, model Bosch BMI088) is configured to output raw triaxial angular velocity and acceleration data at a frequency of 100Hz and enable the data ready DRDY interrupt signal. The NVIDIA Jetson Xavier NX embedded main control unit of the mobile robot listens to the DRDY signal through GPIO, and adds a high-precision timestamp based on the monotonic clock in the interrupt service routine. Then, it actively reads the raw data in the IMU register through the SPI interface. The driver completes the zero bias calibration and unit conversion in the real-time thread in user space and encapsulates the results into structured binary data for use by the upper-layer module.
[0050] (iv) The A / B phase quadrature pulse signals of the wheel odometer are connected to the dedicated decoding chip LS7366R. The NVIDIA Jetson Xavier NX embedded main control unit of the mobile robot reads the 32-bit position count value inside the LS7366R through the SPI interface at a frequency of 50Hz, and calculates the pulse increment per unit time by combining it with the high-precision timestamp. The main control drive converts it into linear speed and cumulative mileage accordingly. At the same time, it integrates the anti-slip signal of the Hall sensor to suppress or mark abnormal wheel speeds.
[0051] Example 4:
[0052] The positioning decision layer consists of an environmental feature richness detection module, a sensor state degradation prediction module, and a positioning mode decision unit.
[0053] (i) The environmental feature richness detection module runs as an independent local process on the NVIDIA Jetson XavierNX embedded main control unit. It subscribes to the preprocessed sensor_msgs / msg / PointCloud2 data stream from the LiDAR via the ROS 2 shared memory mechanism Fast DDS SHM, and performs the following operations based on this:
[0054] Constructing an equivalent 2D scan frame: Based on the real-time 3D point cloud output by Hesai PandarXT-16, the laser line with the smallest absolute value of pitch angle is selected, and the set of horizontal scan points is extracted to form an equivalent 2D laser scan data frame.
[0055] Feature extraction: Based on the 2D scan frame, all laser beams are traversed, the number of points where the ranging value falls within the effective range is counted, the effective beam ratio is calculated, and a sliding window is used for the effective point set. Within each window, local line segments are fitted by the least squares method, and the direction angle between adjacent line segments and the direction distribution entropy of the normal vector of all line segments are further calculated.
[0056] Generate a normalized richness score: The proportion of effective points, directional entropy, and average fold angle are weighted and fused through configurable weights, and a unified environmental feature richness score is generated through Sigmoid mapping, with a value range of [0.0, 1.0].
[0057] Decision output: Based on normalized scores and preset thresholds, semantic labels are output and published to the localization mode decision unit in real time through ROS 2 Topic. This serves as a key basis for the adaptive pose calculation strategy, thereby ensuring the robot's continuous and robust localization capability in complex topological environments.
[0058] (ii) Sensor deterioration prediction module: A lightweight time-series prediction model is deployed on NVIDIA Jetson Xavier NX. The health status time-series data of each sensor (including the number of RTK satellites, the effectiveness of laser point cloud, and the mean and variance of IMU angular velocity and acceleration) is subscribed to through ROS 2 Topic. The onboard GPU / DLA accelerates inference and outputs the failure probability of each sensor in the short term at a frequency of 5Hz. The inference results are published through ROS 2 Topic and adopt the RELIABLE QoS strategy, which allows the positioning mode decision unit to dynamically adjust the sensor weights or switch the positioning mode in advance.
[0059] (iii) The positioning mode decision unit integrates the environmental feature richness score and the sensor state deterioration prediction results to generate the optimal positioning mode command;
[0060] The localization mode decision unit sends instructions to the pose calculation layer unidirectionally through a named pipe FIFO, avoiding scheduling uncertainty in the ROS 2 communication stack;
[0061] Furthermore, when the positioning health status remains below the safety threshold for more than 500ms, the positioning mode decision unit outputs a hardware alarm signal through the GPIO1_10 pin, directly notifying the motion controller to enter a safe docking state to ensure system functional safety.
[0062] Example 5:
[0063] The training process of the time series prediction model is as follows:
[0064] (1) Input feature acquisition:
[0065] The number of RTK satellites and the effectiveness of the laser point cloud were both sampled at a frequency of 100Hz, and temporal features were constructed using a 160ms sliding window (16 frames):
[0066] X(rtk)=[s(t-15), s(t-14), ⋯, s(t)]∈R 16 ;
[0067] X(lidar)=[e(t-15),e(t-14),⋯,e(t)]∈R 16 ;
[0068] Each frame is accompanied by an interpolation label x(i)∈{0,1}, where 0 represents the original observation and 1 represents the interpolation, forming a label sequence X=[x(t-15), x(t-14), ..., x(t)]∈{0,1} 16 ;
[0069] When RTK or LiDAR loses a single frame of data due to communication jitter, if the driving layer does not receive new data within a 10ms period, it performs zero-order hold interpolation (i.e., copies the previous value) based on the previous valid frame and sets the interpolation flag x(i)=1; if more than 3 frames are missing consecutively, the entire window is discarded. This mechanism ensures the continuity of the temporal model input and informs the model that the current frame is not the original observation through the interpolation flag, avoiding misjudgment of degradation trends.
[0070] The three are concatenated according to time steps to form the main input tensor X(time) = stack. t i=t-15 ([s(i), e(i), x(i)])∈R 16×3 ;
[0071] Meanwhile, the scene type is represented by a type label c∈{0,1,2} (0 represents warehouse obstruction, 1 represents open outdoor area, and 2 represents dynamic dense sorting area), which is mapped to a vector z(c)=Embed(c)∈R through a learnable embedding layer. dcmb ;
[0072] Let X(time)∈R 16×3 Flatten to R 48 , with scene embedding z(c)∈R dcmb After splicing, input it into the subsequent network;
[0073] (2) Output label annotation: Based on the end time t of the window, observe the actual reliability score change 50ms backward and generate dual task labels, as follows:
[0074] The reliability scores for both RTK and laser point clouds are output at a frequency of 100Hz (one frame every 10ms). The maximum reliability degradation within the next 50ms is defined, and the normalized weighted degradation probability P is calculated accordingly.rtk P lidar ∈[0,1];
[0075] RTK decrease probability P rtk :
[0076] The reliability score at the current moment is r rtk t ;
[0077] The lowest score in the next 50ms is r rtk min (t+50)=min τ∈(t,t+50] r rtk τ ;
[0078] The decrease is Δr rtk =r rtk t -r rtk min (t+50);
[0079] If Δr rtk =0, then P rtk =0;
[0080] Otherwise, introduce a descent rate weight w∈{1.0, 1.2}:
[0081] If min τ∈(t,t+10] r rtk τ ≤r rtk t If the value is -5, then w = 1.2; otherwise, w = 1.0.
[0082] Therefore, P rtk =min[w×(Δr rtk / 5), 1];
[0083] LiDAR descent probability P lidar :
[0084] The reliability score at the current moment is r lidar t ;
[0085] The lowest score in the next 50ms is r lidar min (t+50) =min τ∈(t,t+50] r lidar τ ;
[0086] The decrease is Δr lidar =r lidar t -r lidar min(t+50);
[0087] If Δr lidar =0, then P lidar =0;
[0088] Otherwise, introduce a descent rate weight w∈{1.0, 1.2}:
[0089] If min τ∈(t,t+10] r lidar τ ≤r lidar t If the value is -5, then w = 1.2; otherwise, w = 1.0.
[0090] Therefore, P lidar =min[w×(Δr lidar / 5), 1];
[0091] The reliability score range is assumed to be [0,10], and the maximum meaningful decrease is set to 5 points. If the actual range is different, the normalization denominator can be adjusted accordingly.
[0092] Switch to the "Prepare for Decision" tab:
[0093] Define the following parameters:
[0094] Binary trigger label Y rtk Y lidar ∈{0,1}, where 1 indicates that mode switching needs to be initiated, and 0 indicates that mode switching does not need to be initiated;
[0095] The initial threshold τ0 = 0.6;
[0096] Adaptive adjustment of threshold τ dyn ; Subsequent iterations and optimizations will be made based on the training results. When the validation set recall rate is ≥99%, the threshold should not be increased. Priority should be given to ensuring high recall and avoiding false alarms.
[0097] If P rtk ≥τ dyn or P rtk ≥0.5 and P lidar If Y is ≥0.7, then rtk =1, otherwise Y rtk =0;
[0098] If P lidar ≥τ dyn or P rtk ≥0.7 and P lidar If ≥0.5, then Y lidar =1, otherwise Y lidar =0;
[0099] (3) Sample screening, as follows:
[0100] It covers typical operational scenarios such as warehouse shelters, open outdoor areas, and sorting areas with dense dynamic targets, ensuring that the sample size of each scenario is no less than 20%.
[0101] The focus will be on strengthening the collection and annotation of difficult samples, increasing the proportion of key samples whose sensor scores slowly decline but ultimately lead to positioning anomalies to 30%.
[0102] Strictly remove invalid samples caused by sensor disconnection, data frame loss, etc., resulting in a total of no less than 50,000 valid samples.
[0103] Scene coverage optimization: Cover at least three typical operational scenarios (warehouse obstruction, outdoor open space, and sorting area with dynamic target density), with each scenario having a valid sample ratio of no less than 20%;
[0104] Hard sample reinforcement: A "static pre-embedding + dynamic mining" strategy is adopted; the proportion of hard samples (including slow degradation, sudden drop in missed alarms, false triggers, multimodal collaborative failures, etc.) in the initial training set is no less than 30%; during training, missed triggers (FN) and false triggers (FP) samples are tracked in real time, and through batch-level resampling, the proportion of hard samples in each training batch is no less than 40%;
[0105] Invalid sample removal: Strictly remove samples with sensor disconnection, frame loss within the window (≥1 missing frame), and discontinuous timing (frame interval ≥ [9.9ms, 10.1ms]); each sample window corresponds to 50ms (6 frames in total), and samples with inconsistent frame number or timing are removed; finally, no less than 50,000 high-quality, scene-balanced valid samples are retained.
[0106] (4) Data input partitioning:
[0107] Basic partitioning: The entire set of 50,000 samples was strictly partitioned in chronological order as follows:
[0108] Training set (first 70% of the time period)
[0109] Validation set (the middle 20% of the time period)
[0110] The test set (the last 10% of the time period, used only for final evaluation, and not used for any training or hyperparameter tuning)
[0111] Layered verification and adjustment:
[0112] Training set: Within the specified time period, through oversampling or filtering, ensure that the proportion of typical scenarios is ≥20% and the proportion of difficult samples is ≥30%;
[0113] Validation / Test Set: Maintain the original time distribution and do not force stratification; if there are missing scenarios, their potential impact on generalization should be noted in the evaluation.
[0114] Cross-validation supplement:
[0115] During the model development phase, 5-fold forward time series cross-validation was used for hyperparameter tuning.
[0116] The data is divided into 5 segments in chronological order. The kth segment is used for training and the k+1th segment is used for validation (k=1-4).
[0117] The final model performance is reported only on the last 10% of the independent test sets to ensure unbiased evaluation.
[0118] (5) Time series data preprocessing, as follows:
[0119] Timing alignment: All data is synchronized based on hardware timestamps, using a 160ms timing window (16 frames in total, frame interval 10±0.1ms), and windows that do not meet the standard are discarded;
[0120] Outlier handling:
[0121] RTK satellite count (integer): Samples with fewer than 4 and greater than 30 were removed;
[0122] Sensor scoring: Extreme values are removed using the 3σ principle of the training set;
[0123] For gaps ≤ 3 frames: continuous features are linearly interpolated and smoothed, discrete features are filled with the median and constrained to a single-frame variation ≤ 3; for gaps > 3 frames, the entire window is removed.
[0124] Feature standardization: Temporal features use the training set Z-Score, and scene features use One-Hot.
[0125] Contextualized enhancement: After basic enhancement, a degradation mode is injected according to the specific scenario;
[0126] RTK: Warehouse (1-2 frames, sudden drop of 5-10 chips), Outdoor (5 frames, gradual drop of 1 chip).
[0127] Laser: Sorting area (single frame drops sharply by 0.2 and then stabilizes), warehousing (linearly changes from 1 to 0.5 over 16 frames);
[0128] All enhancements were followed to verify physical rationality;
[0129] (6) Model structure design: The model adopts a lightweight multi-task temporal network architecture of GRU (Gated Recurrent Unit) + temporal attention mechanism + multi-task MLP (Multilayer Perceptron) to predict the reliability degradation risk of RTK and LiDAR in the future short time window in real time.
[0130] The model receives a time series of length 16, corresponding to the sensor state sampled at 10-millisecond intervals over the past 160 milliseconds. Each frame contains three feature dimensions: number of RTK satellites (integer), laser point cloud effectiveness, and interpolation label. The input tensor shape is (batch_size, 16, 3), which preserves the semantics of the original physical quantities and introduces prior information on data quality.
[0131] The input sequence first passes through a GRU layer with 32 hidden units and an output shape of (batch_size, 16, 32). The GRU effectively captures the dynamic evolution of the sensor state within a 160-millisecond window through its gating mechanism (update gate and reset gate), specifically the continuous decrease in the number of satellites or the stepwise decay of laser efficiency.
[0132] To avoid treating all time steps the same, the model introduces an adaptive temporal attention layer, which is applied to each hidden state h output by the GRU. t ∈R 32 Calculate the importance weight α t ∈[0,1], satisfying And a 32-dimensional context vector is generated through weighted fusion: ∈R 32 ;
[0133] This mechanism enables the model to automatically focus on the most discriminative time step, especially recent sharp drops in frames or the onset of degradation, while suppressing interference from interpolated frames or stable segments, significantly improving sensitivity to sudden degradation.
[0134] Considering the significant differences in the impact of different operating scenarios (such as warehouses, outdoor areas, and sorting areas) on sensor reliability, the model explicitly incorporates scenario category information, mapping discrete scenario labels to dense vectors e through a 16-dimensional embedding layer. scene ∈R 16 And concatenate it with the context vector to form z=[c;e scene ]∈R 48 ;
[0135] This design allows the model to dynamically adjust the judgment threshold according to the scene, making it more sensitive to RTK degradation in heavily obscured warehouse environments, while trusting laser data more in open areas.
[0136] The fused 48-dimensional features first enter a shared MLP layer with 64 neurons, ReLU activation function, and Dropout of 0.2 to extract general high-level representations. Then the network branches into two independent task heads: a regression branch and a classification branch, to achieve functional decoupling.
[0137] The regression branch is used to predict the reliability degradation probability P of RTK and LiDAR within a future window.rtk P lidar ∈[0,1], its hidden layer has 32 neurons, the activation function is ReLU, the dropout is 0.2, and the output layer has 2 neurons, the activation function is Sigmoid;
[0138] The classification branch is used to output the binary switching decision label Y. rtk Y lidar ∈{0,1}, the direct drive control system performs redundant switching, with 32 hidden layer neurons, ReLU activation function, and Dropout of 0.3, and 2 output layer neurons with Sigmoid activation function;
[0139] Loss function design: The model is a hybrid regression and classification task. A weighted hybrid loss function is designed to prioritize the accuracy of the classification task (switching decision), as follows:
[0140] Regression task loss: The mean squared error loss (MSE) is used to calculate the error between the predicted decrease probability and the true probability, denoted as L. reg ;
[0141] Classification task loss: Binary cross-entropy loss (BCE) is used to calculate the error between the predicted decision and the actual decision, denoted as L. cls ;
[0142] Hybrid loss function: Introducing task weight coefficients α, L total =α×L cls +(1-α)×L reg Since classification decision directly determines whether the system triggers switching preparation, it is the core function of the model and its recall rate must be prioritized to avoid missed triggers. Regression probability is used to assist in the judgment, and its weight can be appropriately reduced. Accordingly, the classification task has a higher weight. Based on the validation set ablation experiment, setting α=0.7 can maintain the coefficient of determination R of the regression task while ensuring a classification recall rate ≥99%. 2 ≥0.9;
[0143] Model training configuration:
[0144] Optimizer: Adam optimizer, initial learning rate l r =1×10 -4 Weight decay = 1 × 10 -4 Dynamic parameters β1=0.9, β2=0.999;
[0145] Learning rate scheduling strategy: Every 10 epochs of training, the current learning rate is multiplied by 0.9 and decayed. The minimum learning rate is set to 1×10^6. -6 ;
[0146] Training rounds and early stopping strategy: The number of training rounds is set to 200. If the validation set loss does not decrease for 10 consecutive rounds, training is stopped to avoid overfitting.
[0147] Training objectives: For classification tasks, recall ≥99% and precision ≥95%; for regression tasks, the coefficient of determination R0. 2 ≥0.9; Model size ≤5MB.
[0148] Example 6:
[0149] The pose calculation layer runs on the NVIDIA Jetson Xavier NX embedded main control unit and consists of an initialization module, a laser matching module, an RTK pose calculation module, and a multi-sensor fusion module.
[0150] (i) The initialization module is responsible for the initial pose estimation when the system starts up or a relocation request is made. It adopts a priority strategy, as follows:
[0151] RTK initialization is preferred: If the RTK receiver u-blox ZED-F9P is in the Fixed state, i.e., fixType=4 and HDOP≤1.0, then the global pose output by the RTK pose calculation module is directly used as the initial value.
[0152] Fallback to laser map matching: If RTK is invalid or unavailable, the laser matching module is triggered to register the current frame laser point cloud with the preloaded global point cloud map. First, coarse alignment is performed using the NDT (Normal Distributions Transform) algorithm, and then refined using ICP (Iterative Closest Point) to output the initial pose.
[0153] After successful initialization, the pose calculation layer enters continuous tracking state and broadcasts via / tf2;
[0154] (ii) The laser matching module is activated when the laser-dominated mode is activated in the positioning decision layer. It receives the preprocessed sensor_msgs / msg / PointCloud2 data and adopts the NDT+ICP hybrid registration strategy: firstly, it quickly searches for the initial pose value based on NDT, and then performs sub-centimeter-level fine registration with ICP. The output pose accuracy is better than ±3cm (1σ) in the feature-rich region, and a matching score (0-1) is attached as a local confidence index.
[0155] (III) In open outdoor scenes, when the RTK positioning status is Fixed, the RTK pose calculation module is activated, parses the UBX-NAV-PVT and UBX-NAV-HPPOSLLH messages output by u-blox ZED-F9P, and performs the following processing: converts WGS84 latitude and longitude and ellipsoidal height to local ENU coordinate system or UTM projected coordinate system, and parses the UBX-NAV-RELPOSNED message to directly obtain the high-precision heading angle;
[0156] (iv) The multi-sensor fusion module adopts a loosely coupled but state-continuous extended Kalman filter (EKF) framework, which receives the pose estimation and covariance information output by each subsystem at a frequency of 100Hz, and maintains the continuous transmission of EKF state vector and covariance matrix when switching positioning modes, thereby achieving a quasi-tight coupling effect, avoiding the problem of original data synchronization, and ensuring the smoothness of switching.
[0157] Positioning Health H loc ∈[0,1] is calculated in real time by the pose calculation layer and is defined as:
[0158] H loc =w1×S match +w2×[1-trace(P) / P max ]+w3×Q sensor ;
[0159] Among them, S match ∈[0,1] represents the confidence level of the current primary positioning source, which is dynamically determined according to the activated positioning mode: in laser-dominated mode, the laser matching score is taken; in RTK-dominated mode, the pre-set confidence value based on the RTK solution state is taken; and in multi-sensor fusion mode, the weighted fusion confidence level is taken.
[0160] P is the six-DOF pose covariance matrix output by the Extended Kalman Filter (EKF). max This is a preset upper limit threshold for the covariance matrix, used to normalize uncertainty;
[0161] Q sensor ∈[0,1] represents the weighted health status of the currently active sensor, which comprehensively reflects factors such as IMU zero-bias stability, wheel speedometer slippage status, laser point cloud efficiency, and RTK satellite geometric distribution;
[0162] The weights satisfy w1+w2+w3=1, with the default configuration being w1=0.5, w2=0.3, and w3=0.2. They can be adjusted online via the ROS 2 parameter server.
[0163] Example 7:
[0164] The application layer runs on the same embedded main control unit (NVIDIA Jetson Xavier NX), serving as the interface for high-level task planning and human-computer interaction of the robot. It subscribes to the global pose and health information published by the pose calculation layer for business logic such as path planning, obstacle avoidance decision-making, elevator calling, and task status reporting.
[0165] When the location health is below the threshold, the application layer can actively trigger a relocation request or enter a safe docking mode to ensure operational safety.
[0166] The application layer is implemented through ROS 2 Node, and is completely decoupled from the underlying sensor layer, localization decision layer and pose calculation layer. It only relies on the standardized pose interface to ensure the portability and maintainability of the system.
[0167] Example 8:
[0168] The implementation steps of the navigation and positioning adaptive switching system provided by this invention are as follows:
[0169] Step 1: System startup and initialization:
[0170] Step 1-1, Hardware power-on and self-test, details are as follows:
[0171] The NVIDIA Jetson Xavier NX mobile robot main control unit is powered on and then automatically starts the Linux Ubuntu 22.04 LTS operating system and the ROS 2 Humble Hawksbill core service;
[0172] Simultaneously, all devices in the sensor layer (LiDAR, GNSS / RTK receiver, IMU, wheeled odometer) are powered on and initialized through a preset hardware self-test process. The LiDAR motor starts and completes speed calibration, the RTK receiver searches for satellite signals, the IMU completes initial zero-bias calibration, and the wheeled odometer decoding chip LS7366R resets its count.
[0173] Steps 1-2, software environment loading, are as follows:
[0174] On the one hand, the main control unit automatically loads the ROS 2 Lifecycle Node, sequentially activating the sensor driver node, positioning decision node, pose calculation node, and application layer service node; on the other hand, it automatically loads pre-configured parameters (including sensor communication baud rate, data transmission frequency, environmental feature scoring weight, positioning threshold, coordinate system transformation parameters, etc.), initializes the ROS 2 DDS shared memory transmission channel, creates a named pipe FIFO between the positioning decision layer and the pose calculation layer, and completes the establishment of communication links between modules.
[0175] Steps 1-3, global map and configuration loading, are detailed below:
[0176] The application layer node loads the preset global point cloud map (for laser matching), coordinate system transformation parameters (WGS84 and ENU / UTM coordinate system mapping relationship) and scene configuration file (positioning mode priority and threshold adaptation parameters for different operation scenarios).
[0177] Initialize the EKF filtering framework for the pose calculation layer, set the parameters of the state equation and observation equation, and initialize the covariance matrix;
[0178] The sliding window size, fitting parameters, and Sigmoid mapping coefficients of the environment feature richness detection module are determined in the location decision layer. The lightweight time series prediction model is then started and the model weights are loaded.
[0179] Step 2, Initial pose acquisition:
[0180] Step 2-1, sensor data preheating acquisition, details are as follows:
[0181] Once all devices in the sensor layer have entered a stable operating state, the main control unit collects initial data from each sensor through the corresponding interface. Specifically, the lidar outputs the first frame of 3D point cloud and device status information, the RTK receiver outputs the initial satellite search results and positioning status, the IMU outputs stable three-axis angular velocity and acceleration data, and the wheel odometer outputs the initial counting status. After processing by the driver program, the data from each sensor is published for the first time through ROS 2 Topic.
[0182] Step 2-2: The pose calculation layer initialization module starts and executes the priority localization strategy, as follows:
[0183] Prioritize verifying the validity of RTK positioning: parse the RTK receiver's UBX-NAV-PVT message to determine if it is in Fixed state (fixType=4) and HDOP≤1.0;
[0184] If the above conditions are met, the WGS84 latitude and longitude and ellipsoidal height are directly extracted and converted into the ENU / UTM coordinate system pose corresponding to the global map as the initial pose;
[0185] If the RTK does not reach the Fixed state or HDOP>1.0, the initialization module sends a command to the laser matching module to perform NDT coarse alignment between the pre-processed equivalent 2D scan frame of the lidar and the preloaded global point cloud map, and then refines it through the ICP algorithm to output the initial pose;
[0186] If the laser matching score is ≥0.8 (confidence level meets the standard), the initial pose is valid;
[0187] If the score is less than 0.8, the system will output an initialization failure alarm at the application layer, triggering manual intervention or re-matching the map.
[0188] Steps 2-3, initial pose broadcast and system readiness, are as follows:
[0189] After the initial pose is confirmed to be valid, the pose calculation layer broadcasts the transformation relationship between the initial pose and the global map coordinate system via the / tf2 topic;
[0190] The positioning decision layer and the application layer synchronously receive initial pose information and complete their own state initialization.
[0191] The system outputs a positioning ready signal via GPIO, and the application layer enters a task waiting state;
[0192] The initialization phase is now complete.
[0193] Step 3: Continuous positioning and dynamic adaptive switching:
[0194] Step 3-1, real-time acquisition and preprocessing of sensor data, as detailed below:
[0195] LiDAR: Every 100ms, it outputs 3D point cloud data through the RJ45 interface, which is transmitted to the main control unit via ROS 2 DDS shared memory. The preprocessing module deployed on the main control unit selects the laser line with the smallest pitch angle to generate an equivalent 2D scan frame, and simultaneously analyzes and publishes the equipment status information (temperature, speed, etc.).
[0196] RTK receiver: Outputs UBX-NAV-PVT messages at a frequency of 20Hz, transmits them to the main control unit via UART at a baud rate of 230400bps, and parses information such as latitude and longitude, ground speed, and RTK status, while simultaneously publishing UBX-NAV-SAT messages at 5Hz.
[0197] IMU: Outputs raw data at a frequency of 100Hz. The main control unit listens for the DRDY interrupt signal through GPIO and adds a high-precision timestamp. After reading the data through the SPI interface, it completes zero-bias calibration and unit conversion, and encapsulates it into structured data for publication.
[0198] Wheel Odometer: The main control unit reads the 32-bit position count of the LS7366R via SPI at a frequency of 50Hz, calculates the pulse increment by combining the timestamp, converts it into linear speed and cumulative mileage, and integrates the Hall sensor signal to mark abnormal wheel speed;
[0199] Step 3-2, positioning decision analysis and pattern instruction generation, is as follows:
[0200] (I) Environmental Feature Richness Assessment: The environmental feature richness detection module subscribes to the preprocessed point cloud data from the LiDAR and sequentially performs LiDAR data validity judgment, underconstrained environment identification, and comprehensive feature score generation, as follows:
[0201] (1) Effective laser beam judgment: Traverse each laser beam in the current frame of laser data and determine whether its ranging value is within the effective ranging range of the lidar (the typical effective range of Hesai PandarXT-16 is 0.5m to 200m, which can be adjusted through configuration).
[0202] If the ranging value is within the valid range, it is determined to be a valid laser beam, and the valid number is accumulated. The valid laser number is compared with a preset threshold (which can be configured online through the ROS 2 parameter server, with a typical value of 60% of the total number of laser beams).
[0203] If the number of effective beams is greater than or equal to the threshold, it indicates that the reliability of the current laser data meets the requirements and can be used for subsequent environmental feature analysis.
[0204] If the number of effective beams is less than the threshold, the current laser data is marked as unreliable, and the sensor state deterioration prediction module is triggered to focus on monitoring the health status of the lidar.
[0205] (2) Based on the effective laser beams selected above, perform feature recognition of the underconstrained environment (long corridor), specifically by following these steps:
[0206] Normal vector calculation: For each effective laser beam, select its 5 neighboring laser beams (6 laser beams in total), extract the 3D coordinates of these 6 laser beams in the laser coordinate system, and fit the local space plane using the least squares method. If the fitting residual is less than a preset threshold, the fitting is considered successful, and the unit normal vector of the plane is extracted. ,in ;
[0207] Normal vector matrix construction: Arrange the normal vector parameters of all effective laser beams row-wise to construct matrix M:
[0208] ;
[0209] Where N is the number of effective beams;
[0210] Eigenvalue analysis and environmental assessment: For the covariance matrix M T M is decomposed into eigenvalues to obtain three non-negative eigenvalues ε1≤ε2≤ε3; the ratios τ1=ε1 / ε3 and τ2=ε2 / ε3 are calculated.
[0211] Two configurable thresholds τ are preset. 1,th =0.05 and τ 2,th =0.2;
[0212] If τ1<τ 1,th And τ2 < τ 2,th If the current environment is unconstrained, it is determined to be an underconstrained environment, a typical example of an underconstrained environment is a long corridor; otherwise, it is a non-underconstrained environment.
[0213] (3) Comprehensive feature scoring and semantic label generation: Based on the confirmation that the laser data is valid, the following calculations are further performed:
[0214] Percentage of effective points (number of effective laser beams / total number of beams);
[0215] A sliding window line fitting is performed on the equivalent 2D scan frame to calculate the angle between the directions of adjacent line segments and the direction distribution entropy of all normal vectors.
[0216] The above indicators (effective point ratio, directional entropy, and average fold angle) are fused by configurable weights and then normalized by Sigmoid mapping to generate a richness score S∈[0.0,1.0].
[0217] The final semantic tags combine the following information to generate four types of output:
[0218] If S≥0.7 and is not under-constrained, then the semantic label is feature-rich;
[0219] If 0.3 ≤ S < 0.7 and is not under-constrained, then the semantic labels are feature-sparse.
[0220] If S < 0.3, then the semantic label has no features;
[0221] If the under-constraint determination is true, regardless of the S value, the semantic label is under-constraint - long corridor;
[0222] This semantic tag is published to the location pattern decision unit in real time via ROS 2 Topic;
[0223] If the semantic label is determined to be an underconstrained long corridor, the decision unit will prioritize the use of a multi-sensor tightly coupled fusion localization strategy (fusion of IMU, wheel speedometer and laser) to avoid pose drift along the corridor direction caused by geometric degradation of single laser matching. This provides a more comprehensive and reliable environmental perception basis for adaptive switching and ensures the robot's continuous and robust localization capability in complex topological scenes.
[0224] (ii) Sensor Degradation Prediction: The time-series prediction model deployed on NVIDIA Jetson Xavier NX receives a 16-bit input sequence every 160ms. Using the TensorRT engine, inference is accelerated on GPU / DLA, and the model outputs the probability P of reliability degradation for both RTK and LiDAR within the next 50ms. rtk P lidar and the corresponding switching decision Yrtk Y lidar The inference results are published via ROS 2 Topic with a RELIABLE QoS policy to ensure that critical messages are not lost;
[0225] The positioning mode decision unit subscribes to the Topic and receives Y rtk Or Y lidar Then, in the next control cycle, the corresponding sensor switching preparation process is triggered, that is, the multi-sensor fusion model parameters are loaded in advance, and the current effective pose is cached as the initial fusion state, thereby achieving smooth and low-latency positioning mode migration.
[0226] If the time-series prediction model outputs a switching decision Y=1, the localization decision unit immediately triggers the switching preparation process, preloads the multi-sensor fusion model parameters, and caches the current valid pose as the fusion reference.
[0227] (III) Positioning mode decision: The positioning mode decision unit generates the optimal positioning mode command in real time based on multi-source sensing and prediction information to ensure positioning continuity, accuracy and security;
[0228] The positioning mode decision unit is activated only under the following conditions:
[0229] The system has completed initialization, and IMU calibration and sensor time synchronization have been completed.
[0230] Current location health status H loc >0, meaning it is not in a persistent failure state;
[0231] All input signals (RTK, LiDAR, environmental assessment, prediction model output) are valid and the time synchronization error is ≤1ms.
[0232] If the prerequisites are not met, maintain the previous valid command or enter the safe docking preparation state;
[0233] The positioning mode decision unit includes the following inputs:
[0234] Environmental feature richness assessment results: normalized richness score, semantic label, effective laser beam ratio, and normal vector eigenvalue ratio;
[0235] Sensor state prediction: the probability of RTK score decline within the next 50ms, output by a lightweight time series model;
[0236] System status: RTK status and positioning health;
[0237] Based on the above information, a unique optimal positioning mode instruction is generated according to the following logic, and the instruction type is one of the following four:
[0238] Laser-based positioning;
[0239] RTK-driven positioning;
[0240] Multi-sensor fusion positioning;
[0241] Prepare for safe docking;
[0242] This instruction is sent to the pose calculation layer via a named pipe FIFO with a delay of <1ms to ensure the real-time performance of the control closed loop.
[0243] The decision logic is executed in priority order, from high priority to low priority. Once a match is found, the corresponding instruction is output and the decision is stopped. The decision logic is as follows:
[0244] (1) If all of the following triggering conditions are met, the RTK dominant positioning instruction will be output;
[0245] RTK is currently in a Fixed state (fixType=4) and HDOP ≤1.0;
[0246] The probability P of RTK reliability degradation within the next 50ms rtk <0.2 (low risk);
[0247] The application layer did not indicate that it was indoors or in a GNSS denied area;
[0248] (2) If all of the following triggering conditions are met, NDT+ICP matching is triggered. If the matching score is ≥0.8, a laser-dominated positioning command is output; otherwise, the mode is downgraded to fusion mode.
[0249] The probability P of RTK failure or RTK reliability degradation within the next 50ms rtk ≥0.5;
[0250] Environmental semantic labels are feature-rich;
[0251] The probability P of LiDAR reliability degradation within the next 50ms lidar <0.3;
[0252] (3) If any of the following triggering conditions are met, a multi-sensor fusion positioning command will be forcibly output, and the extended Kalman filter (EKF) will dynamically adjust the observation weights of IMU, wheel speedometer, laser, and RTK (if available);
[0253] The environment is labeled as under-constrained.
[0254] Environmental richness score S < 0.3;
[0255] The probability P of RTK reliability degradation within the next 50ms rtk ≥0.4 and the probability P of LiDAR reliability degradation within the next 50ms lidar ≥0.4;
[0256] (4) If none of the above conditions are met, then output a multi-sensor fusion positioning command;
[0257] Step 3-3, pose calculation and real-time output, is as follows:
[0258] (1) Laser-dominated mode:
[0259] The laser matching module employs a hybrid NDT+ICP registration strategy, which completes sub-centimeter-level fine registration based on real-time point cloud and global map, and outputs pose and matching score.
[0260] (2) RTK-dominated mode:
[0261] The RTK pose calculation module parses the UBX-NAV-PVT and UBX-NAV-HPPOSLLH messages output by u-blox ZED-F9P, completes the transformation from WGS84 latitude, longitude and altitude to the local ENU or UTM coordinate system, and parses the UBX-NAV-RELPOSNED message to obtain the high-precision heading angle, outputting a globally consistent RTK pose.
[0262] (3) Multi-sensor fusion mode:
[0263] The multi-sensor fusion module operates a loosely coupled extended Kalman filter (EKF) at a frequency of 100Hz, fusing laser-matched pose, RTK pose, IMU pre-integration, and wheel speed and odometer measurements. It dynamically adjusts the observation weights of each sensor and maintains continuous transmission of state vector and covariance during mode switching, outputting the fused pose and its covariance matrix P.
[0264] (4) Pose publishing: The pose calculation layer will encapsulate the final output six-DOF pose, covariance matrix and positioning health into a synchronization message, and publish it to the application layer through ROS 2 Topic at a frequency of not less than 50Hz to ensure that the downstream modules obtain a low-latency and highly consistent positioning status.
[0265] Steps 3-4, application layer business response and dynamic adaptation, are as follows:
[0266] The application layer subscribes to the pose, covariance matrix, and localization health H published by the pose calculation layer through ROS 2 Topic. loc It is used for high-level business logic such as path planning, dynamic obstacle avoidance, and elevator calling.
[0267] If the health level is H loc If H is ≥0.6 (default normal threshold, configurable via parameter server), the task will execute normally; if H loc If the value is less than 0.6, a relocation request is actively sent to the positioning decision layer.
[0268] When the robot enters predefined special scenarios such as indoor-outdoor transition zones or elevator cars, the application layer, based on semantic maps or environmental recognition module outputs, issues scenario type prompts to the localization decision layer. The localization decision layer combines these prompts with environmental geometric degradation assessments and sensor failure prediction results to further optimize the timing of localization mode switching and the target mode.
[0269] Steps 3-5 involve dynamically switching between positioning modes, as detailed below:
[0270] When the richness of environmental features decreases or the reliability prediction of sensors deteriorates, the positioning decision layer generates new positioning mode instructions in real time.
[0271] After receiving the instruction, the pose calculation layer dynamically activates the corresponding calculation module. If it switches to the multi-sensor fusion mode, it initializes the state vector of the extended Kalman filter (EKF) with the current optimal pose (from laser or RTK) and its covariance matrix to ensure smooth filter startup. If it switches to the single-sensor dominant mode, it disables the EKF and directly outputs the pose estimate of the corresponding module.
[0272] During mode switching involving EKF, seamless transfer of state and covariance effectively suppresses pose jumps and ensures the stability of positioning output.
[0273] After the handover is complete, the pose calculation layer returns a handover confirmation message to the positioning decision layer, which includes the handover execution status (success / failure) and the positioning health H of the first frame after the handover. loc This forms a closed-loop verification mechanism, supporting the decision-making level to dynamically optimize and switch strategies.
[0274] Step 4: Exception handling and security control, as detailed below:
[0275] Abnormal status monitoring: The system subscribes to the location health status H in real time through the security monitoring module. loc and the health status of each sensor; if H loc If the value is less than 0.4 and lasts for more than 500ms, it is considered a positioning failure. At the same time, if any of the following situations occur, it is considered a sensor failure: the effective point cloud ratio of the lidar is continuously less than 30% (within a 1-second window), the RTK is in Single state for 3 consecutive seconds, the IMU zero bias change occurs (the rate of change of angular velocity exceeds the threshold), or the wheel speedometer slippage indicator is activated.
[0276] The security response is executed as follows:
[0277] Hardware alarm trigger: The safety monitoring module outputs a high-level hardware alarm signal through the GPIO1_10 pin, which is directly connected to the safety input port of the motion controller to trigger emergency deceleration;
[0278] Positioning strategy degradation: The positioning decision layer switches to degradation mode based on the status of available sensors. If laser is effective but RTK is ineffective, laser-dominated positioning is enabled. If only IMU and wheel speedometer are available and healthy, short-term dead reckoning based on pre-integration is initiated, and their fusion weight in EKF is increased if they are healthy. If all positioning sources fail, a safe docking command is triggered immediately.
[0279] Application layer emergency handling: After receiving a hardware alarm or software abnormal event, the application layer immediately terminates the current task, initiates safe docking path planning, controls the robot to stop smoothly with a deceleration of ≤0.3 m / s², and reports the "task interruption - positioning failure" status to the remote monitoring center;
[0280] Fault recovery attempt: After the robot comes to a stop, the system automatically executes the sensor recovery process: soft reboot or power cycle is performed on the faulty sensor (such as LiDAR, RTK module), and the initial pose acquisition is retried (RTK is prioritized, and it falls back to LiDAR matching); if the positioning health level recovers to above 0.6 within 60 seconds, the alarm is cleared by pulling GPIO1_10 low or sending the CLEAR_ALARM command, and the application layer recovery task is executed; if the recovery fails 3 times in a row, the system remains in a safe docked state, the local fault indicator light is lit, and it waits for manual inspection;
[0281] Step 5: System shutdown and resource reclamation, as detailed below:
[0282] Task completion trigger: The application layer receives the task completion instruction issued by the upper-layer scheduling system, or the system stop instruction sent by the operator through the human-machine interface, and initiates the orderly stop process;
[0283] Modules are stopped in an orderly manner: Through the ROS 2 lifecycle management mechanism, each functional node is stopped in reverse order of dependency: first, the application layer business node is stopped, then the positioning decision node is stopped, then the pose calculation node is stopped, and finally each sensor driver node is stopped; before stopping the sensor driver, the positioning decision layer sends a "sensor sleep" command to each driver node, so that the hardware controlled by it, such as LiDAR, RTK receiver, IMU, etc., enters a low power state.
[0284] Data archiving and resource release: The main control unit compresses and archives the complete positioning log of this operation (including time-synchronized pose data, sensor health status, positioning mode switching records, alarm events and recovery logs) to the specified directory of the M.2 NVMe solid-state drive; then it releases the ROS 2 DDS communication domain resources, named pipe (FIFO) handles, dynamic memory buffers, and closes all open file descriptors and device nodes;
[0285] System shutdown: After confirming that all user space processes and resources have been reclaimed, the main control unit calls the operating system shutdown interface, all peripherals remain in a low power state, and the system safely powers down.
Claims
1. A mobile robot navigation and positioning adaptive switching system, characterized in that, include: Positioning the decision-making level: The environmental feature richness detection module is configured to construct an equivalent 2D scanning frame based on laser point cloud, calculate the normalized environmental feature score by the effective laser beam ratio, local line segment direction entropy and bending angle, and identify under-constrained environments by combining the ratio of normal vector covariance eigenvalues. The sensor condition deterioration prediction module deploys a lightweight time-series prediction model. The input includes a time-series window containing the number of RTK satellites, the effectiveness of the laser point cloud, and its interpolation markers. The output is the probability of reliability degradation of RTK and LiDAR within the next 50ms and the switching decision label. The positioning mode decision unit is configured to generate a unique optimal positioning mode instruction by comprehensively considering environmental feature scores, under-constraint judgment results, sensor state prediction results, and the current RTK positioning status. The pose calculation layer includes an initialization module, a laser matching module, an RTK pose calculation module, and a multi-sensor fusion module. It is configured to activate the corresponding module according to the positioning mode command and output the six-degree-of-freedom pose, covariance matrix, and positioning health. The multi-sensor fusion module uses an extended Kalman filter for multi-source fusion and maintains continuous transmission of the state vector and covariance matrix during mode switching. The positioning health is obtained by weighted fusion of matching confidence, EKF uncertainty normalization term and sensor weighted health status; the positioning mode decision unit is also configured to monitor the positioning health, and when it is continuously lower than the safety threshold for more than a preset time, generate a safe docking command and output a hardware alarm signal to the motion controller through the GPIO pin.
2. The mobile robot navigation and positioning adaptive switching system according to claim 1, characterized in that, When the environmental feature richness detection module identifies an underconstrained environment, the positioning mode decision unit reduces the priority of the laser-dominated positioning mode and prioritizes the multi-sensor fusion positioning mode.
3. The mobile robot navigation and positioning adaptive switching system according to claim 1, characterized in that, The lightweight temporal prediction model of the sensor condition deterioration prediction module adopts a GRU network combined with a temporal attention mechanism. The input tensor contains 16 frames of 3-dimensional temporal features and integrates scene type embedding vectors. The output results are dual-task: the regression task predicts the probability of reliability degradation, and the classification task outputs a binary switching decision label.
4. The mobile robot navigation and positioning adaptive switching system according to claim 1, characterized in that, The multi-sensor fusion module operates a loosely coupled EKF at a frequency of 100Hz, fusing laser-matched pose, RTK pose, IMU pre-integration, and wheel speed and odometer readings, and dynamically adjusting the observation weights of each sensor.
5. The mobile robot navigation and positioning adaptive switching system according to claim 1, characterized in that, The initialization module prioritizes the pose in the RTK Fixed state as the initial value. If it is not available, it falls back to NDT coarse alignment plus ICP refinement laser map matching.
6. The mobile robot navigation and positioning adaptive switching system according to claim 1, characterized in that, Positioning Health H loc The calculation formula is: H loc =w1×S match +w2×[1-trace(P) / P max ]+w3×Q sensor ; Among them, S match ∈[0,1] is the confidence level of the primary source, P is the EKF covariance matrix, P max Q is a preset upper limit threshold for the covariance matrix. sensor ∈[0,1] represents the weighted health status of the sensor, and w1+w2+w3=1.
7. The mobile robot navigation and positioning adaptive switching system according to claim 1, characterized in that, The sensor layer is configured to acquire laser point cloud, GNSS / RTK, IMU and wheel speed meter data, and output the health status information of each sensor.
8. The mobile robot navigation and positioning adaptive switching system according to claim 7, characterized in that, The IMU in the sensor layer triggers high-precision timestamp marking via DRDY interrupt and reads data via SPI interface; the wheel speed meter obtains position counts via LS7366R decoding chip and integrates anti-slip signals from Hall sensor.
9. A mobile robot navigation and positioning adaptive switching system according to claim 1, characterized in that, The application layer is configured to subscribe to the pose, covariance matrix, and positioning health. When the positioning health is lower than a first threshold, a relocation request is triggered. After receiving a safe docking instruction, the path planning task is paused.
10. A mobile robot navigation and positioning adaptive switching system according to any one of claims 1-9, characterized in that, The mobile robot is deployed in industrial inspection or logistics delivery scenarios that require traversing indoor-outdoor transition zones, GNSS-blocked areas, and geometrically degraded regions.