Lightweight navigation method, system and computer device based on low-computing power platform
By improving Hector SLAM technology and combining Gauss-Newton iteration and sliding window algorithms, obstacle avoidance paths are generated, solving the problem of poor dynamic environment adaptability on low computing power platforms and realizing real-time navigation for intelligent guide devices.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-04
- Publication Date
- 2026-03-31
AI Technical Summary
Existing SLAM technology has poor adaptability to dynamic environments on low-computing-power platforms, and suffers from high latency, making it unable to meet the requirements for real-time obstacle avoidance.
A lightweight navigation method based on Hector SLAM technology is adopted. Sensor data is acquired and preprocessed to generate a target map and detect dynamic obstacles. Gauss-Newton iteration technology and sparse update strategy are used in combination with sliding window algorithm to generate obstacle avoidance path, reducing computational load and maintaining real-time performance.
It achieves improved adaptability to dynamic environments on low-computing-power platforms, reduces computing load and storage requirements, ensures the real-time performance and integrity of navigation, and is suitable for intelligent guide devices for the visually impaired.
Smart Images

Figure CN120760726B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of lightweight navigation technology, and in particular to a lightweight navigation method, system and computer device based on a low computing power platform. Background Technology
[0002] Lightweight navigation methods refer to efficient, real-time navigation technologies implemented on hardware devices with limited resources (such as low computing power, low power consumption, and low cost). SLAM (Simultaneous Localization and Mapping) is a core technology that enables robots to locate their own position in unknown environments and simultaneously build a map of the environment. It is widely used in fields such as autonomous driving, drones, service robots, and AR / VR.
[0003] SLAM technology relies on static map construction, so it is not robust enough against dynamic obstacles (such as pedestrians and vehicles), and requires more than 100,000 computing power, while low computing power platforms can only provide 10,000 to 20,000 computing power. Therefore, when SLAM technology is applied to low computing power platforms, it has poor adaptability to dynamic environments, high latency, and cannot meet the requirements of real-time obstacle avoidance. Summary of the Invention
[0004] This application provides a lightweight navigation method based on a low-computing-power platform, aiming to solve the technical problems in the prior art where SLAM technology has poor adaptability to dynamic environments and high latency when applied to low-computing-power platforms, thus failing to meet the requirements for real-time obstacle avoidance.
[0005] This application provides a lightweight navigation method based on a low-computing-power platform, including:
[0006] Acquire sensor data, including LiDAR data, IMU data, and encoder data;
[0007] The sensor data is preprocessed to obtain the target data;
[0008] The target pose is located based on Hector SLAM technology, and a target map corresponding to the location is generated.
[0009] Detect dynamic obstacles based on target data and target map, and generate dynamic obstacle trajectories;
[0010] An obstacle avoidance path is generated based on the dynamic obstacle trajectory;
[0011] Navigation instructions are generated based on obstacle avoidance paths, so that the intelligent guide device can operate according to the navigation instructions.
[0012] Preferably, the step of locating the target pose based on Hector SLAM technology and generating a target map corresponding to the location includes:
[0013] Preprocessed laser point cloud data and initial pose data are obtained based on the target data;
[0014] Generate a multi-resolution target map based on the target data;
[0015] The laser point cloud data and the multi-resolution target map are matched using the Gauss-Newton iteration technique to obtain matching data;
[0016] Generate optimal pose data based on the matching data and initial pose data;
[0017] Based on the matching data and the optimal pose data, the binary map grid within the preset range of the intelligent guide device is updated to obtain the target map corresponding to the optimal pose data.
[0018] Preferably, the step of matching the laser point cloud data and the multi-resolution target map based on the Gauss-Newton iteration technique to obtain matching data includes:
[0019] Preset minimum number of iterations;
[0020] The multi-resolution target map is divided into multiple map layers of different resolutions, wherein the order of division of the multiple map layers of different resolutions is from low resolution to high resolution;
[0021] Based on the Gauss-Newton iteration technique and the minimum number of iterations, the laser point cloud data and multiple map layers of different resolutions are scanned and matched according to the division order to obtain the matching results.
[0022] Preferably, after obtaining the target map corresponding to the optimal pose data, the method further includes:
[0023] Determine whether the target scene is located based on the target map;
[0024] If the target scene is in the target scene, extract line segment features, region features, and key point features based on the target map;
[0025] Construct binary descriptors based on line segment features, region features, and key point features;
[0026] Acquire the movement information of the intelligent guide device for the visually impaired, and determine whether the movement information meets preset conditions;
[0027] If the preset conditions are met, the current frame corresponding to the binary descriptor is saved as the current keyframe, and the current pose corresponding to the current keyframe is also saved.
[0028] Get the number of binary differences between historical keyframes and the current keyframe;
[0029] Determine whether the binary difference number is less than a preset value;
[0030] If the value is less than a preset value, the current keyframe is determined to be a closed-loop frame;
[0031] Obtain the adjacent frames of the closed-loop frame, and generate a pose graph including multiple pose nodes based on the closed-loop frame and the adjacent frames;
[0032] The positions of pose nodes on the pose graph are updated using the least squares method to obtain the current local pose graph.
[0033] The overlapping parts in the target map corresponding to the current local pose map are deleted, and the overlapping parts are replaced with the current local pose map based on the sparse update strategy.
[0034] Preferably, after the step of replacing the overlapping portion with the current local pose map based on the sparse update strategy, the method further includes:
[0035] The target map is compressed based on run-length encoding to obtain a binary raster map.
[0036] Preferably, the step of detecting dynamic obstacles and generating dynamic obstacle trajectories based on target data and target map includes:
[0037] Acquire laser point cloud data from the target data and randomly select a laser point as the target point;
[0038] Acquire multiple first laser points adjacent to the target point, and calculate the movement distance of the target point and the multiple first laser points;
[0039] The moving distances are filtered, and the first laser point corresponding to the preset distance is taken as the dynamic point to obtain multiple dynamic points;
[0040] A 2D pseudo-image is generated based on multiple dynamic points, and the 2D pseudo-image is input into the Tiny-YOLO model to output the positions of multiple dynamic obstacles. The Tiny-YOLO model is quantized from FP32 to INT8.
[0041] Dynamic obstacle trajectories are generated on the target map based on the locations of multiple dynamic obstacles.
[0042] Preferably, the step of generating an obstacle avoidance path based on the dynamic obstacle trajectory further includes:
[0043] Generate the original path based on the dynamic obstacle trajectory;
[0044] During the operation of the intelligent guide device according to the original path, the target map is divided into a long-term static layer, a short-term dynamic layer and a real-time obstacle layer based on the target data. The layer corresponding to the detected dynamic obstacle is the short-term dynamic layer.
[0045] Within the short-term dynamic layer, the real-time occupancy probability of the dynamic obstacle is calculated based on the dynamic obstacle trajectory;
[0046] Determine whether the real-time occupancy probability is lower than a threshold;
[0047] If the threshold is not lower than the threshold, the real-time obstacle layer is superimposed on the short-term dynamic layer based on the sliding window algorithm, and the presence of dynamic obstacles is detected. If they exist, the movement direction of the dynamic obstacle is determined according to the trajectory of the dynamic obstacle, and a first obstacle avoidance path is generated according to the movement direction. The intelligent guide device operates according to the first obstacle avoidance path.
[0048] If the value is below the threshold, the dynamic obstacle is removed from the short-term dynamic layer, and the intelligent guide device is controlled to return to the original path.
[0049] During the operation of the intelligent guide device according to the original path, the distance between dynamic obstacles and the sensor is detected in real time in a short-term dynamic layer. If the distance exceeds a preset value, a second obstacle avoidance path is generated.
[0050] Preferably, the step of preprocessing the sensor data to obtain the target data includes:
[0051] Invalid points are removed and dynamic points are filtered based on the lidar data to obtain the first lidar data.
[0052] The moving speed of the intelligent guide device is obtained, and the sampling density of the LiDAR data is controlled according to the moving speed.
[0053] The timestamp discrepancy between the first radar data and the IMU data is detected, and the IMU data is aligned to the laser scanning time based on the timestamp discrepancy to make the timestamps of the first radar data and the IMU data aligned.
[0054] Time integration is performed on the timestamp-aligned IMU data, and the angle change value between two laser scans is calculated. The angle change value is used as the initial rotation angle estimate.
[0055] The pulse-to-displacement and trajectory are obtained from the encoder data, and the initial pose estimate is obtained from the pulse-to-displacement and trajectory.
[0056] The first radar data, timestamp-aligned IMU data, initial rotation angle estimation, and initial pose estimation are stored as target data.
[0057] This application also provides a lightweight navigation system based on a low-computing-power platform, comprising: multiple modules, wherein the multiple modules are used to perform the steps of any of the methods described above.
[0058] This application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described method.
[0059] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.
[0060] The beneficial effects of this application are as follows: Based on a low-computing-power platform, the Hector SLAM technology is improved. While maintaining the original real-time performance, algorithm simplification, computational compression, and lightweight fusion strategies are used to sparsely update only local maps, further adapting it to low-computing-power platforms. To improve the applicability of Hector SLAM technology in dynamic environments, this application uses LiDAR to detect dynamic points and define dynamic obstacles. Obstacle avoidance paths are generated based on the trajectories of these dynamic obstacles. During map updates, a sliding window algorithm is used, making the algorithm lightweight. Sparse updates also reduce storage usage, achieving complete navigation functionality on a low-computing-power platform. Each step revolves around "reducing computational load and ensuring real-time performance," ultimately balancing performance and resource consumption, making it suitable for intelligent guide devices in educational and home service scenarios. Attached Figure Description
[0061] Figure 1 This is a schematic diagram of a method flow according to an embodiment of this application.
[0062] Figure 2 This is a schematic diagram of the internal structure of a computer device according to an embodiment of this application.
[0063] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0064] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0065] like Figure 1 , Figure 2 As shown, this application provides a lightweight navigation method based on a low-computing-power platform, applied to intelligent guide devices for the blind, including:
[0066] S1. Acquire sensor data, including LiDAR data, IMU data, and encoder data;
[0067] S2. Preprocess the sensor data to obtain target data;
[0068] S3. Based on Hector SLAM technology, the target pose of the data is located and a target map corresponding to the location is generated;
[0069] S4. Detect dynamic obstacles based on target data and target map and generate dynamic obstacle trajectories;
[0070] S5. Generate an obstacle avoidance path based on the dynamic obstacle trajectory;
[0071] S6. Generate navigation instructions based on the obstacle avoidance path so that the intelligent guide device can operate according to the navigation instructions.
[0072] As described in steps S1-S6 above, this application is based on a low-computing-power platform and applied to intelligent guidance devices for the blind. At the hardware level, the intelligent guidance device is equipped with multiple sensors, including but not limited to 2D LiDAR, IMU sensor, low-precision encoder, and ultrasonic / infrared sensor. Among them, the IMU sensor is used to collect angular velocity data, and the ultrasonic / infrared sensor serves as a redundant obstacle avoidance backup for the 2D LiDAR. The main control module can be a Raspberry Pi 4B (CPU usage <15%, memory <50MB) or a Jetson. Nano (an embedded AI computing module designed for edge computing and the Internet of Things (IoT) aims to bring modern artificial intelligence technology to small devices. At the software level, this application first acquires sensor data collected by various sensors, then performs unified preprocessing on the sensors. This removes invalid data and synchronizes LiDAR data, IMU data, and encoder data. LiDAR data preprocessing removes invalid data, IMU data preprocessing provides angular velocities for multiple dynamic points, and encoder data calculates displacement differences for multiple dynamic points. Therefore, by preprocessing and lightweightly fusing these three types of data, the predicted initial pose of the intelligent guide device can be obtained. Then, based on the initial pose and the preprocessed LiDAR data as target data, the target data's multiple poses are located using Hector SLAM technology, generating a target map corresponding to the location. It should be noted that the target map type in this application is a binary raster map, i.e., a sparse resolution map. Since this application is applicable to low-computing-power platforms and static or dynamic indoor environments, while traditional Hector SLAM technology is generally used in static indoor environments, and traditional Hector...) The map type corresponding to SLAM technology is a probabilistic raster map, i.e., global update. Therefore, when generating the target map, the memory occupied by the map in this application is approximately (200kb / 100 square meters), compared to global update (1MB / 100 square meters). This allows for sparse updates only to local maps while maintaining real-time performance through algorithm simplification, computational compression, and lightweight fusion strategies, thus further adapting to low-computing-power platforms. To improve Hector... The applicability of SLAM technology in dynamic environments is demonstrated in this application. Dynamic points are detected using LiDAR, and dynamic obstacles are defined. For example, adjacent frame difference method and grid occupancy state method can be used to mark dynamic points. Alternatively, long-term stable obstacle areas can be marked on the target map. If the current scan point is inconsistent with the point on the map and appears briefly, it can be identified as a dynamic obstacle. Dynamic obstacle trajectories are generated based on the dynamic obstacles, and obstacle avoidance paths are generated based on the dynamic obstacle trajectories. When generating obstacle avoidance paths, a sliding window algorithm can be used to consider the dynamic obstacle trajectories to generate local obstacle avoidance paths and global paths. In this way, navigation instructions can be generated based on the obstacle avoidance paths so that the intelligent guide device can operate according to the navigation instructions.This application utilizes hardware simplification, employing low-cost sensors and a Raspberry Pi 4B to reduce costs while ensuring computing power. It also improves Hector SLAM technology, enhancing its adaptability to dynamic environments. During map updates, a sliding window algorithm is used, making the algorithm lightweight, while the binary raster map reduces storage usage. This enables complete navigation functionality on a low-computing-power platform. Each step revolves around "reducing computational load and ensuring real-time performance," ultimately balancing performance and resource consumption, making it suitable for intelligent guide devices for the visually impaired in educational and home service scenarios.
[0073] In one embodiment, step S3, which involves locating the pose of the target data based on Hector SLAM technology and generating a target map corresponding to the location, includes:
[0074] S31. Obtain preprocessed laser point cloud data and initial pose data based on target data;
[0075] S32. Generate a multi-resolution target map based on the target data;
[0076] S33. Match the laser point cloud data and the multi-resolution target map based on the Gauss-Newton iteration technique to obtain matching data;
[0077] S34. Generate optimal pose data based on the matching data and initial pose data;
[0078] S35. Update the binary map grid within the preset range of the intelligent guide device based on the matching data and the optimal pose data to obtain the target map corresponding to the optimal pose data.
[0079] As described in steps S31-S35 above, the core of Hector SLAM is to directly perform pose estimation and map construction using LiDAR data, without relying on wheeled odometry. This embodiment, based on this, first limits the number of iterations to reduce computational load, then constructs a multi-resolution target map, i.e., the target map includes multiple layers of different resolutions. Next, it matches IMU angular velocity data, point cloud data, and the multi-resolution target map to obtain matching data. Finally, it generates optimal pose data based on the matching data and initial pose data. Specifically, the objective function can be optimized first, and the cost function modified: The original cost function is: , modified to Where i represents the index of the laser scanning point, pi represents the coordinates of the laser point in the target coordinate system, M(pi) represents the map matching score function, and Wi represents the static point weight coefficient. In the original function, all points participate in the optimization equally, resulting in poor dynamic adaptability (dynamic objects cause pose drift). This embodiment introduces a static point weight coefficient (dynamic point weight = 0), only optimizing static structures (the mapping clarity of static structures (walls / furniture) is improved by 45%), and dynamic objects no longer pollute the map (e.g., pedestrian "ghosts" disappear), thus improving dynamic adaptability. This can prevent low-computing-power platforms from making inaccurate pose estimations in dynamic environments. Secondly, it provides short-term pose predictions through IMU data, reducing matching failures caused by dynamic obstacle areas, thereby generating optimal pose data and enhancing positioning robustness. Finally, it updates the binary map grid within the preset range of the intelligent guide device based on the matching data and the optimal pose data to obtain the target map corresponding to the optimal pose data. For example, it only updates the area within 3 meters of the intelligent guide device, converting the probability grid map (occupying a probability of 0~100) into a 0 / 1 binary map grid to reduce memory usage.
[0080] In one embodiment, step S33, which involves matching the laser point cloud data and the multi-resolution target map based on Gauss-Newton iteration technology to obtain matching data, includes:
[0081] S331, Preset minimum number of iterations;
[0082] S332. Divide the multi-resolution target map into multiple map layers of different resolutions, wherein the division order of the multiple map layers of different resolutions is from low resolution to high resolution;
[0083] S333. Based on Gauss-Newton iteration technology and minimum number of iterations, the laser point cloud data and multiple map layers of different resolutions are scanned and matched according to the division order to obtain the matching result.
[0084] As described in steps S331-S333 above, firstly, the maximum number of iterations can be reduced from the default 10 to 3-5. If the residual of the current iteration decreases by less than 1%, the iteration is terminated in advance (to avoid invalid calculations). Then, the multi-resolution target map is divided into multiple map layers of different resolutions, and the original 5 layers are modified to 3 layers. First, coarse matching is performed on the low-resolution map layer, and then it is gradually refined to the high-resolution layer, thereby reducing the number of calculation layers. In this way, through a fast convergence method, it is more suitable for low-computing-power platforms.
[0085] In one embodiment, after step S35 of obtaining the target map corresponding to the optimal pose data, the method further includes:
[0086] S351. Determine whether the target scene is located based on the target map;
[0087] S352. If the target scene is in the target scene, extract line segment features, region features and key point features based on the target map;
[0088] S353. Construct binary descriptors based on line segment features, region features, and key point features;
[0089] S354. Obtain the movement information of the intelligent guide device for the visually impaired, and determine whether the movement information meets the preset conditions;
[0090] S355. If the preset conditions are met, save the current frame corresponding to the binary descriptor as the current keyframe and save the current pose corresponding to the current keyframe.
[0091] S356. Obtain the number of binary differences between historical keyframes and the current keyframe;
[0092] S357. Determine whether the binary difference number is less than a preset value;
[0093] S358. If it is less than a preset value, the current key frame is determined to be a closed-loop frame.
[0094] S359. Obtain the adjacent frames of the closed-loop frame, and generate a pose graph including multiple pose nodes based on the closed-loop frame and the adjacent frames.
[0095] S3510. Update the positions of pose nodes on the pose graph based on the least squares method to obtain the current local pose graph;
[0096] S3511. Delete the overlapping part in the target map that corresponds to the current local pose map, and replace the overlapping part with the current local pose map based on the sparse update strategy.
[0097] As described in steps S351-S3511 above, since traditional Hector SLAM technology does not involve loop closure detection, it will accumulate errors and cannot be corrected if it runs for a long time. Traditional loop closure detection technologies, such as Gmapping and Cartographer, are suitable for high-precision indoor mapping or large-scale scenes (factories, outdoors), and their computational load is high, making them unsuitable for low-computing-power platforms. Therefore, in order to correct the errors, this embodiment adopts lightweight loop closure detection, following the low-frequency triggering principle (activating detection when the robot enters a "suspected closed-loop area" (such as a corridor intersection); determining the motion mode through IMU or encoder (such as returning to the starting point after a long period of straight walking)). It determines whether it is in the target scene based on the target map. The target scene can be a specific scene (such as an intersection) or a scene where loop closure detection is triggered only when the accumulated error is large. If the target scene is being explored, line segment features, region features, and key point features are extracted from the target map. Line segment features are obtained by fitting line segments to a single-frame laser scan point cloud (e.g., using the Split-and-Merge algorithm), extracting the endpoint coordinates, length, and angle (relative to the coordinate system of the intelligent guide device). Region features are obtained by dividing the scanned point cloud into sector regions (e.g., every 30°), and calculating the number of points, average distance, and variance within each sector. Key point features are obtained by extracting corner points (e.g., points with maximum curvature) from the laser point cloud, calculating the relative distance and angle between corner points. A binary descriptor is then constructed. Specifically, the encoding method is as follows: line segment angles are discretized into 8 directions (45° intervals), represented by 3 bits. Line segment lengths are quantized into 4 levels (e.g., 0~1m, 1~2m, 2~3m, >3m), represented by 2 bits. Sector statistics (e.g., 1 for >5 points, 0 otherwise) generate an 8-bit binary code. All features are combined to generate a fixed-length binary descriptor (e.g., 256 bits). Example: A line segment: Angle = 30° (code 001), Length = 1.5m (code 01) → merged into 00101. A sector: Number of points = 7 (code 1) → 1. Final descriptor: concatenate all feature binary codes, such as 00101 1 01011 0... (total length 256 bits). When the intelligent guide device moves beyond a set distance (e.g., 1m) or rotates beyond an angle (e.g., 30°), the current frame is saved as a keyframe, and a frame is saved every fixed time interval (e.g., 10 seconds) to avoid high-frequency storage. A hash table is used to store the keyframe ID, binary descriptor, and corresponding pose (x, y, θ), where θ represents the angle between the robot's forward direction and the positive X-axis of the global coordinate system, and the database size is limited (e.g., a maximum of 50 keyframes are stored), and the oldest keyframe is discarded when the size exceeds this limit.Calculate the bit difference between the current frame descriptor and the historical keyframe descriptors. Example: 1010 vs. 1001 → Hamming distance = 2. Similarity threshold: If the Hamming distance is less than the threshold (e.g., 20 bits), the two frames are considered to possibly originate from the same location. Calculate the theoretical relative pose (Δx, Δy, Δθ) between the current frame and historical frames based on the matched keyframe historical poses. Verify the reasonableness of this relative pose using actual sensor data (e.g., encoder, IMU). If the theoretical relative pose deviates too much from the sensor data (e.g., position difference > 1m, angle difference > 30°), it is judged as a mismatch and is removed. Only add the keyframes of closed-loop matching and their adjacent frames (e.g., the previous 5 frames, the next 5 frames) to the pose graph. Optimize the pose of these nodes using the least squares method, rather than all nodes globally. Then adjust the map to align the local map: Based on the optimized pose, adjust the overlapping parts of the current local map (e.g., a 5m radius around it) and the historical map (only update static structures (e.g., walls), ignoring dynamic obstacle areas). Even better, during computation, binary operations are used for acceleration: bitwise operations (such as XOR + bit counting) are used to quickly calculate Hamming distance, replacing floating-point operations. The descriptor is divided into blocks (e.g., every 64 bits), and multiple threads are used to match different blocks simultaneously, converting the 256-bit binary descriptor into 32 bytes (256 / 8) for storage, reducing memory usage. Keyframe metadata is simplified: only the pose (x, y, θ) and descriptor are stored, not the original point cloud. Lightweight loop closure detection uses binary geometric descriptors, Hamming distance for fast matching, local optimization, and low-frequency triggering to identify whether the robot has returned to its historical position with low computational overhead and correct accumulated errors. Compared with traditional loop closure detection, it reduces resource consumption and achieves efficient loop closure recognition and error correction on low-computing-power platforms. Its core advantages are: 1. Low computational overhead: binary operations replace floating-point calculations, and Hamming distance accelerates matching; 2. Low storage requirements: compressed descriptors and keyframe metadata; 3. Real-time guarantee: dynamic triggering and local optimization limit the computation range. This embodiment is also applicable to scenarios such as indoor service robots and warehouse AGVs, which can effectively improve the positioning accuracy during long-term operation while avoiding resource overload.
[0098] In one embodiment, after step S3511 of replacing the overlapping portion with the current local pose map based on the sparse update strategy, the method further includes:
[0099] S35111. The target map is compressed based on run-length encoding to obtain a binary raster map.
[0100] In one embodiment, step S4, which detects dynamic obstacles based on target data and a target map and generates dynamic obstacle trajectories, includes:
[0101] S41. Obtain the laser point cloud data from the target data, and randomly select a laser point as the target point;
[0102] S42. Obtain multiple first laser points adjacent to the target point, and calculate the movement distance of the target point and the multiple first laser points;
[0103] S43. Filter the moving distances and take the first laser point corresponding to the preset distance as the dynamic point to obtain multiple dynamic points;
[0104] S44. Generate a 2D pseudo-image based on multiple dynamic points, and input the 2D pseudo-image into the Tiny-YOLO model to output the positions of multiple dynamic obstacles. The Tiny-YOLO model is quantized from FP32 to INT8.
[0105] S45. Generate dynamic obstacle trajectories on the target map based on the locations of the multiple dynamic obstacles.
[0106] As described in steps S41-S45 above, based on the adjacent frame difference method, the laser point cloud of the current frame is compared with that of the previous frame. Points whose displacement exceeds a threshold (e.g., 0.2 m / s) are marked as dynamic points, and false detections are reduced through statistical filtering (e.g., removing isolated points). A 2D pseudo-image is generated based on multiple dynamic points, and the 2D pseudo-image is input into the Tiny-YOLO model to output multiple dynamic obstacle positions. The Tiny-YOLO model is quantized from FP32 to INT8, and the model size is compressed from 20MB to 5MB. Dynamic obstacle trajectories are generated on the target map based on the multiple dynamic obstacle positions. Alternatively, the grid occupancy state method is used to mark long-term stable obstacle areas on the map. If the current scan point is inconsistent with the map and appears briefly, it is determined to be a dynamic obstacle. In addition, based on infrared / ultrasonic sensors, dynamic objects are detected in the blind zone of the lidar (e.g., low obstacles). If multiple sensors trigger anomalies simultaneously, they are determined to be dynamic obstacles.
[0107] In one embodiment, step S5, which generates an obstacle avoidance path based on the dynamic obstacle trajectory, further includes:
[0108] S51. Generate the original path based on the dynamic obstacle trajectory;
[0109] S52. During the operation of the intelligent guide device according to the original path, the target map is divided into a long-term static layer, a short-term dynamic layer and a real-time obstacle layer based on the target data. The layer corresponding to the detected dynamic obstacle is used as the short-term dynamic layer.
[0110] S53. Within the short-term dynamic layer, calculate the real-time occupancy probability of the dynamic obstacle based on the dynamic obstacle trajectory;
[0111] S54. Determine whether the real-time occupancy probability is lower than the threshold.
[0112] S55. If the threshold is not lower than the threshold, the real-time obstacle layer is superimposed on the short-term dynamic layer based on the sliding window algorithm, and the presence of dynamic obstacles is detected. If there are dynamic obstacles, the movement direction of the dynamic obstacles is determined according to the trajectory of the dynamic obstacles, and a first obstacle avoidance path is generated according to the movement direction. The intelligent guide device operates according to the first obstacle avoidance path.
[0113] S56. If the value is below the threshold, remove the dynamic obstacle from the short-term dynamic layer and control the intelligent guide device to return to the original path.
[0114] S57. During the operation of the intelligent guide device according to the original path, the distance between dynamic obstacles and the sensor is detected in real time in the short-term dynamic layer. If the distance exceeds the preset value, a second obstacle avoidance path is generated.
[0115] As described in steps S51-S57 above, the target map is divided into a long-term static layer, a short-term dynamic layer, and a real-time obstacle layer. The long-term static layer stores stable environmental structures (such as walls and shelves) and is updated infrequently (once per hour). The short-term dynamic layer records temporary obstacles (such as moving chairs and pedestrians) and is automatically cleared every 5-10 seconds. The real-time obstacle layer contains dynamic points detected in the current frame, used for immediate obstacle avoidance, and is updated every frame. A dynamic region probability decay model is constructed, and the variables in the formula are defined as follows: ; wherein, the P t Let P0 represent the initial occupancy probability when the dynamic obstacle is first detected, and λ represent the attenuation coefficient for different regions. In areas with frequent pedestrian traffic, rapid attenuation (larger λ value) may be required, while in semi-static environments (such as occasionally moving chairs), slow attenuation is possible. t represents the time step. The model's application process is as follows: 1. Detect dynamic obstacles → Mark as real-time obstacle layer; 2. Update every 0.1 seconds. 3. If P t< Threshold (0.2) → Remove from map; 4. If obstacle persists → Reset P0 through repeated detection and update the map to generate obstacle avoidance paths in various states. For example, in local path planning, based on the rolling window A* algorithm, the real-time obstacle layer is superimposed on the short-term dynamic layer in real time. If a dynamic obstacle is detected, path replanning is triggered immediately (frequency can be increased to 10Hz). For continuously moving obstacles (such as pedestrians), their future positions are predicted through Kalman filtering, and detour paths are planned in advance. If a dynamic obstacle enters a safe distance (such as 0.5m), an emergency stop or reverse movement is triggered. According to the direction of movement of the dynamic obstacle, the detour side is selected (such as overtaking on the left or waiting on the right). After the obstacle disappears, the original path is smoothly returned to avoid oscillation. Better yet, during path execution, the path is checked every 0.1 seconds to see if it is blocked by a dynamic obstacle. If it is blocked, replanning is performed. 1~2 alternative paths are generated in advance and quickly switched when the main path fails. By using a multi-layer map design, the real-time problem of dynamic environment modeling on low-computing-power platforms is solved. By automatically clearing temporary obstacles, the amount of map data can be reduced by 40%, thus reducing memory usage. By setting multiple obstacle avoidance paths, the obstacle avoidance module does not need to deal with expired obstacles, and the calculation latency is reduced by 35%. In the test (20 moving obstacle scenarios), the navigation success rate increased from 68% to 92%.
[0116] In one embodiment, step S2, which preprocesses the sensor data to obtain target data, includes:
[0117] S21. Based on the lidar data, invalid points are removed and dynamic points are filtered to obtain the first lidar data;
[0118] S22. Obtain the moving speed of the intelligent guide device and control the sampling density of the sampling lidar data according to the moving speed;
[0119] S23. Detect the timestamp discrepancy between the first radar data and the IMU data, and align the IMU data to the laser scanning time based on the timestamp discrepancy to make the timestamps of the first radar data and the IMU data aligned.
[0120] S24. Perform time integration on the timestamp-aligned IMU data and calculate the angle change value between two laser scans. Use the angle change value as the initial rotation angle estimate.
[0121] S25. Obtain pulse-to-displacement and trajectory based on encoder data, and obtain initial pose estimation based on pulse-to-displacement and trajectory;
[0122] S26. Store the first radar data, timestamp-aligned IMU data, initial rotation angle estimate, and initial pose estimate as target data.
[0123] As described in steps S21-S26 above, by removing invalid points and filtering dynamic points in the lidar data, the quality of lidar data is improved, the quality of dynamic environment mapping is enhanced, and reliable input is provided for Hector SLAM and obstacle avoidance. Controlling the sampling density can reduce the amount of computation while maintaining key features, and aligning the timestamps of the first lidar data and IMU data can solve the problem of spatiotemporal inconsistency among multiple sensors and reduce errors. Time integration of the timestamp-aligned IMU data can provide the original pose estimate for scan matching, and use it as the initial pose estimate for Hector SLAM scan matching, which can reduce the scan matching calculation time by 50%.
[0124] This application also provides a lightweight navigation system based on a low-computing-power platform, comprising: multiple modules, wherein the multiple modules are used to perform the steps of any of the methods described above.
[0125] like Figure 2 As shown, this application also provides a computer device, which can be a server, and its internal structure can be as follows: Figure 2 As shown, the computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores all data required for the process of a lightweight navigation method based on a low-computing-power platform. The network interface is used for communication with external terminals via a network connection. The computer program is executed by the processor to implement the lightweight navigation method based on the low-computing-power platform.
[0126] Those skilled in the art will understand that Figure 2 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer equipment on which the present application is applied.
[0127] An embodiment of this application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements any of the above-described lightweight navigation methods based on a low-computing-power platform.
[0128] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in this application and in the embodiments can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual-speed SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0129] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, apparatus, article, or method. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, apparatus, article, or method that includes that element.
[0130] The above description is only a preferred embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural changes made based on the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A low-complexity platform-based lightweight navigation method applied to a smart guiding device, characterized in that, The method comprises the following steps: acquiring sensor data, wherein the sensor data comprises lidar data, IMU data, and encoder data; preprocessing the sensor data to obtain target data; positioning the pose of the target data based on the Hector SLAM technology and generating a target map corresponding to the positioning; detecting dynamic obstacles based on the target data and the target map and generating a dynamic obstacle trajectory; generating an obstacle avoidance path according to the dynamic obstacle trajectory; generating a navigation instruction based on the obstacle avoidance path to enable the intelligent guide dog device to operate according to the navigation instruction; the step of positioning the pose of the target data based on the Hector SLAM technology and generating a target map corresponding to the positioning comprises: obtaining preprocessed laser point cloud data and initial pose data based on the target data; generating a multi-resolution target map according to the target data; matching the laser point cloud data and the multi-resolution target map based on the Gauss-Newton iteration technique to obtain matching data; generating optimal pose data according to the matching data and the initial pose data; updating the binary map grid within the preset range of the intelligent guide dog device based on the matching data and the optimal pose data to obtain a target map corresponding to the optimal pose data; the step of obtaining the target map corresponding to the optimal pose data further comprises the following steps: determining whether the target scene is in the target scene according to the target map; extracting line segment features, region features, and key point features according to the target map if the target scene is in the target scene; constructing a binary descriptor based on the line segment features, the region features, and the key point features; obtaining the movement information of the intelligent guide dog device and determining whether the movement information meets the preset condition; saving the current frame corresponding to the binary descriptor as a current key frame and saving the current pose corresponding to the current key frame if the preset condition is met; obtaining the binary difference number of the historical key frame and the current key frame; determining whether the binary difference number is less than a preset value; determining the current key frame as a loop frame if the binary difference number is less than the preset value; obtaining the adjacent frame of the loop frame and generating a pose graph comprising a plurality of pose nodes according to the loop frame and the adjacent frame; updating the position of the pose node on the pose graph based on the least squares method to obtain a current local pose graph; deleting the overlapping part in the target map corresponding to the current local pose graph and replacing the overlapping part with the current local pose graph based on a sparse update strategy.
2. The lightweight navigation method based on low-computing platform according to claim 1, wherein, The step of matching the laser point cloud data and the multi-resolution target map based on the Gauss-Newton iteration technique to obtain matching data comprises the following steps: presetting a minimum number of iterations; dividing the multi-resolution target map into a plurality of different resolution map layers, wherein the division order of the plurality of different resolution map layers is from low resolution to high resolution; scanning and matching the laser point cloud data and the plurality of different resolution map layers according to the division order based on the Gauss-Newton iteration technique and the minimum number of iterations to obtain a matching result.
3. The lightweight navigation method based on low-computing platform according to claim 1, wherein, The step of replacing the overlapping part with the current local pose graph based on the sparse update strategy further comprises the following steps: Compress the target map based on run-length encoding to obtain a binary raster map.
4. The low-compute platform-based lightweight navigation method of claim 1, wherein, The step of detecting dynamic obstacles and generating a dynamic obstacle trajectory based on the target data and the target map comprises: Obtaining laser point cloud data in the target data, and randomly selecting a laser point as a target point; Obtaining a plurality of first laser points adjacent to the target point, and calculating the moving distances of the target point and the plurality of first laser points; Screening the plurality of moving distances, and taking the first laser points corresponding to the moving distances satisfying a preset distance as dynamic points to obtain a plurality of dynamic points; Generating a 2D pseudo image based on the plurality of dynamic points, and inputting the 2D pseudo image into a Tiny-YOLO model to output a plurality of dynamic obstacle positions, wherein the Tiny-YOLO model is quantized from FP32 to INT8; Generating a dynamic obstacle trajectory on the target map according to the plurality of dynamic obstacle positions.
5. The low-compute platform-based lightweight navigation method of claim 1, wherein, The step of generating an obstacle avoidance path according to the dynamic obstacle trajectory further comprises: Generating an original path according to the dynamic obstacle trajectory; In the process of running the intelligent blind guiding device according to the original path, the target map is divided into a long-term static layer, a short-term dynamic layer and a real-time obstacle layer based on the target data, wherein a layer corresponding to a detected dynamic obstacle is taken as the short-term dynamic layer; In the short-term dynamic layer, a real-time occupancy probability of the dynamic obstacle is calculated according to the dynamic obstacle trajectory; It is judged whether the real-time occupancy probability is lower than a threshold value; If the real-time occupancy probability is not lower than the threshold value, the real-time obstacle layer is superimposed on the short-term dynamic layer based on a sliding window algorithm, and it is detected whether there is a dynamic obstacle, if there is, the motion direction of the dynamic obstacle is judged according to the dynamic obstacle trajectory, and a first obstacle avoidance path is generated according to the motion direction, and the intelligent blind guiding device runs according to the first obstacle avoidance path; If the real-time occupancy probability is lower than the threshold value, the dynamic obstacle is removed from the short-term dynamic layer, and the intelligent blind guiding device is controlled to return to the original path; In the process of running the intelligent blind guiding device according to the original path, the distance between the dynamic obstacle and the sensor is detected in the short-term dynamic layer in real time, and if the distance exceeds a preset value, a second obstacle avoidance path is generated.
6. The low-compute platform-based lightweight navigation method of claim 1, wherein, The step of preprocessing the sensor data to obtain target data comprises: Performing invalid point elimination and dynamic point filtering on the lidar data to obtain first radar data; Obtaining the moving speed of the intelligent blind guiding device, and controlling the sampling density of the sampled lidar data according to the moving speed; Detecting the timestamp deviation of the first radar data and the IMU data, and aligning the IMU data to the laser scanning moment through the timestamp deviation to align the timestamps of the first radar data and the IMU data; Time integrating the timestamp-aligned IMU data, and calculating the angle change value between two laser scans as an initial rotation angle estimation; Obtaining pulse rotation displacement and a track according to the encoder data, and obtaining an initial pose estimation according to the pulse rotation displacement and the track; Storing the first radar data, the timestamp-aligned IMU data, the initial rotation angle estimation and the initial pose estimation as target data.
7. A lightweight navigation system based on low-computing platform, characterized in that, Comprises: A plurality of modules for performing the steps of the method of any of claims 1 to 6.
8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that, The processor implements the steps of the method of any of claims 1 to 6 when executing the computer program.
Citation Information
Patent Citations
Air-ground cooperative unmanned system high-reliability positioning navigation method
CN119860777A