A dynamic path planning method and system of a library intelligent sorting robot
By using a top-mounted depth camera and wireless mesh technology in the library sorting robot system, a global pose set is generated and the path is dynamically planned, which solves the path intersection and collision problems in multi-robot collaborative operations and improves the system's operating efficiency and safety.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ZHOUKOU NORMAL UNIV
- Filing Date
- 2026-03-24
- Publication Date
- 2026-06-16
AI Technical Summary
In existing technologies, library sorting robots lack real-time sharing of global pose information when multiple robots work together, leading to path intersections, mutual blockages and collisions, which affect system operating efficiency and safety.
Point cloud data is acquired by scanning with a top-mounted depth camera, and rasterization is performed to generate a passable raster map. The pose data of multiple robots are detected in real time, and the global pose set is shared through wireless mesh interaction to dynamically search for conflict-free navigation paths.
It enables efficient collaborative operation of multiple robot systems, reduces the probability of deadlock and waiting time, improves overall throughput and security, and ensures efficient execution in complex dynamic environments.
Smart Images

Figure CN122217318A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a dynamic path planning method and system for an intelligent sorting robot in a library. Background Technology
[0002] In intelligent library systems, multiple sorting robots often work collaboratively to complete the tasks of sorting and moving books. These robots coexist in the same physical space with fixed facilities such as bookshelves and sorting stations, and need to autonomously navigate to designated locations according to task instructions. In existing technologies, robots typically rely on preset fixed paths or local sensors for obstacle avoidance. There is a lack of real-time sharing of global pose information among the robots, which makes it difficult to coordinate their routes when multiple robots are running simultaneously. This can easily lead to path intersections, mutual blockages, or even collisions, affecting the overall operational efficiency and safety of the system. Summary of the Invention
[0003] The purpose of this invention is to at least partially solve one of the technical problems existing in the prior art.
[0004] To achieve the above objectives, this invention provides a dynamic path planning method for a library intelligent sorting robot, comprising the following steps:
[0005] The work area consisting of the bookshelf area and the sorting station is scanned in advance using a top-mounted depth camera to obtain point cloud data including the edges of the bookshelves and the location of the sorting station;
[0006] The point cloud data is rasterized to obtain a passage raster map marked with the locations of the bookshelf area and the sorting station;
[0007] When the target robot receives the sorting task instruction, it performs real-time detection on multiple randomly distributed robots based on the passage grid map to capture the real-time pose data of each robot.
[0008] The real-time pose data is shared and interacted through a wireless mesh to obtain a global pose set containing the positions and orientations of all robots.
[0009] The sorting task instruction received by the target robot is parsed, the coordinates of the task endpoint are extracted, and a dynamic path search is performed on the task endpoint coordinates based on the passage grid map and the global pose set to generate a conflict-free navigation path that connects the robot's current position and the task endpoint while avoiding other robots.
[0010] This invention also provides a dynamic path planning system for a library intelligent sorting robot, comprising:
[0011] The scanning module is used to pre-scan the work area consisting of the bookshelf area and the sorting station using a top-mounted depth camera to obtain point cloud data including the edges of the bookshelves and the location of the sorting station;
[0012] The rasterization processing module is used to perform rasterization processing on the point cloud data to obtain a passage raster map marked with the locations of the bookshelf area and the sorting station.
[0013] The detection module is used to detect multiple randomly distributed robots in real time based on the passage grid map when the target robot receives the sorting task instruction, and to capture the real-time pose data of each robot.
[0014] The sharing module is used to interactively share the real-time pose data through a wireless grid to obtain a global pose set containing the positions and orientations of all robots;
[0015] The parsing module is used to parse the sorting task instructions received by the target robot, extract the coordinates of the task endpoint, and perform dynamic path search on the coordinates of the task endpoint based on the passage grid map and the global pose set to generate a conflict-free navigation path that connects the robot's current position and the task endpoint while avoiding other robots.
[0016] This invention provides a dynamic path planning method for a library intelligent sorting robot, comprising: pre-scanning the work area consisting of bookshelf areas and sorting stations using a top-mounted depth camera to acquire point cloud data including bookshelf edges and sorting station positions; rasterizing the point cloud data to obtain a passage grid map marked with the positions of bookshelf areas and sorting stations; when the target robot receives a sorting task instruction, real-time detection of multiple randomly distributed robots is performed based on the passage grid map to capture the real-time pose data of each robot, and the real-time pose data is shared interactively via a wireless grid to obtain a global pose set containing the positions and orientations of all robots. The system parses the sorting task instructions received by the target robot, extracts the coordinates of the task endpoint, and performs dynamic path search based on the traffic grid map and the global pose set to generate a conflict-free navigation path connecting the robot's current position to the task endpoint while avoiding other robots. This solves the technical problem of traditional technologies that struggle to coordinate routes when multiple robots are running simultaneously, leading to path intersections, blockages, and even collisions, which negatively impact overall system efficiency and safety. The solution effectively overcomes the risks of path intersections, blockages, and collisions caused by the lack of a unified coordination mechanism in multi-robot concurrent operation scenarios. By constructing a global pose set and a dynamic occupancy marking mechanism, the system can perceive and predict the movement trends of surrounding robots in real time, transforming passive obstacle avoidance into active planning, fundamentally eliminating deadlock and conflict risks. This not only significantly improves traffic flow and overall system throughput efficiency in intensive operation environments but also greatly enhances the safety and stability of multi-robot collaborative operation, ensuring efficient and continuous execution of book sorting tasks in complex dynamic environments. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a schematic diagram of a dynamic path planning method for a library intelligent sorting robot in one embodiment of the present invention;
[0019] Figure 2 This is a schematic diagram of a conflict-free navigation path in one embodiment of the present invention;
[0020] Figure 3 This is the present invention. Figure 1 A schematic diagram of the implementation process of S1 in the middle;
[0021] Figure 4This is the present invention. Figure 1 A schematic diagram of the implementation process of S3 in the middle;
[0022] Figure 5 This is a structural block diagram of the dynamic path planning system of a library intelligent sorting robot in one embodiment of the present invention;
[0023] The objectives, features, and advantages of this invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0024] The embodiments of the present invention are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention. The step numbers in the following embodiments are set only for ease of explanation, and there is no limitation on the order between the steps. The execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
[0025] The following describes in detail, with reference to the accompanying drawings, a dynamic path planning method for a library intelligent sorting robot according to an embodiment of the present invention. First, the dynamic path planning method for a library intelligent sorting robot according to an embodiment of the present invention will be described with reference to the accompanying drawings.
[0026] Figure 1 This invention provides a dynamic path planning method for a library intelligent sorting robot, comprising the following steps:
[0027] Step S1: The work site consisting of the bookshelf area and the sorting station is scanned in advance using a top-mounted depth camera to obtain point cloud data including the edges of the bookshelves and the location of the sorting station.
[0028] Specifically, a top-mounted depth camera performs line-by-line scanning of the work area consisting of the bookshelf area and the sorting station at a fixed frame rate. A laser emitting unit projects structured light onto the spine of the books and the edge of the station. The receiving end captures the displacement of the reflected light spot and calculates the depth value, generating a dense point cloud. After voxel filtering to remove outliers, this point cloud is projected into a two-dimensional map according to a preset grid size (e.g., 0.5m × 0.5m). Each grid cell is assigned a passage attribute label—the bookshelf-occupied area is marked as "no passage," the sorting station placement area is marked as "target point," and the open passage area is marked as "passable." The final output is a passage grid map with semantic annotations. In actual deployment, if a bookshelf experiences a sudden change in height due to temporary stacking of cardboard boxes, causing an abnormal increase in point cloud density in that area, the algorithm automatically identifies it as a dynamic obstacle and updates the corresponding grid state to ensure that subsequent path planning avoids that area. In this embodiment, the above solution directly drives environmental modeling through physical sensor data, avoiding the subjective errors of manually drawing maps, enabling the grid map to reflect changes in the physical layout on site in real time, and providing a high-confidence spatial benchmark for multi-machine collaboration. The top-mounted depth camera is usually installed on the ceiling beam, special bracket or high gantry in the work area (especially at the intersection of the bookshelf area and the sorting table or above the passage).
[0029] Step S2: The point cloud data is rasterized to obtain a passage raster map marked with the locations of the bookshelf area and the sorting station.
[0030] Specifically, after projecting the aforementioned point cloud data onto a horizontal reference plane, the system constructs a two-dimensional matrix based on a preset resolution (e.g., 0.5m × 0.5m). It then traverses each grid cell within the matrix and calculates the mean height and density variance of the point cloud it covers. If the point cloud height within a grid cell consistently exceeds the standard threshold for bookshelves and the density distribution is uniform, the area is identified as a bookshelf zone and assigned an impassable attribute. Conversely, if the height is below the sorting station's set value and the surface flatness meets the load-bearing characteristics, it is marked as a sorting station location. Other low-density blank areas are automatically classified as passable passageways, thus generating a passable grid map containing semantic labels. In actual operation, when a row of bookshelves experiences a sudden change in local point cloud height due to overflowing books, the algorithm can accurately identify its location rather than misjudging it as a temporary obstacle by comparing the height gradient change rate of adjacent grid cells, ensuring the stability of the map's topology. In this embodiment, the above scheme discretizes the continuous three-dimensional space into a grid network with attribute labels, which not only compresses the computational dimension of subsequent path search, but also directly embeds static environmental constraints, so that the robot does not need to repeatedly perform obstacle classification and judgment during the operation phase, which significantly improves the real-time response and decision certainty of the dynamic planning process.
[0031] Step S3: When the target robot receives the sorting task instruction, it performs real-time detection on multiple randomly distributed robots based on the passage grid map to capture the real-time pose data of each robot.
[0032] Specifically, once the target robot parses the sorting task instruction, it immediately invokes the onboard LiDAR and wireless mesh module to emit high-frequency detection beams to the surrounding area based on the effective search range defined by the access grid map. The system receives echo signals from each randomly distributed robot, calculates the time difference of flight to lock its physical coordinates, and simultaneously reads the heading angle data output by the onboard encoder, thereby capturing real-time pose data including position vectors and orientation angles. During this process, if a neighboring robot is performing a turning action in a narrow passage in the bookshelf area, its instantaneous pose change rate is high. The detection algorithm increases the sampling frequency and introduces Kalman filtering to smooth the noise, ensuring that the acquired real-time pose data is not distorted due to motion blur, and thus accurately maps it to the corresponding cell in the access grid map. In this embodiment, the above scheme actively constructs multi-machine spatial situational awareness at the moment of task triggering, integrating the dispersed individual states into global dynamic constraints, effectively avoiding conflicts between the planned path and the actual running trajectory caused by information lag, and providing a highly timely data base for the subsequent generation of conflict-free navigation paths.
[0033] Step S4: The real-time pose data is shared interactively via a wireless mesh to obtain a global pose set containing the positions and orientations of all robots.
[0034] Specifically, each robot broadcasts its encapsulated real-time pose data via a wireless mesh. Network nodes receive data packets from terminals with different IDs according to a preset time-slot rotation mechanism and perform timestamp alignment verification in their local buffers. If a robot near the sorting station loses a data packet due to signal obstruction, the system automatically triggers the relay forwarding logic of neighboring nodes to complete the missing pose fragments. Subsequently, all verified position coordinates and orientation angles are fused and stitched together according to a unified coordinate system, ultimately constructing a global pose set covering the entire work area and including the positions and orientations of all robots. During this process, even if multiple robots move towards each other in a narrow bookshelf aisle, the wireless mesh can ensure that the update latency of each pose is controlled within milliseconds thanks to its high concurrency throughput, avoiding spatiotemporal misalignment of the set data. In this embodiment, the above scheme uses a distributed communication architecture to replace centralized server forwarding, which not only eliminates the risk of single point of failure but also ensures that the global pose set can dynamically reflect the instantaneous topology of the multi-machine system, providing a highly consistent collaborative perception foundation for subsequent path search.
[0035] Step S5: Parse the sorting task instruction received by the target robot, extract the task endpoint coordinates, and perform dynamic path search on the task endpoint coordinates according to the access grid map and the global pose set to generate a conflict-free navigation path that connects the robot's current position and the task endpoint while avoiding other robots.
[0036] Specifically, after parsing the sorting task instructions, the target robot first locks the coordinates of the task endpoint. Then, starting from its current position, it inputs the improved A* search algorithm with the passage grid map as the static constraint layer and the global pose set as the dynamic obstacle layer. When expanding nodes, the algorithm not only verifies the passage attributes of grid cells but also calculates in real time the grid areas occupied by other robots within the predicted time step. If a candidate path point coincides with the projected position of a robot in the global pose set at the expected arrival time, the node is marked as a temporary restricted area and replanning is triggered. For example, when the target robot needs to cross a narrow passage in the bookshelf area and another robot is approaching from the opposite direction, the algorithm calculates the meeting time based on its real-time pose and actively inserts virtual blocking blocks in the passage grid map to guide the path to shift to the open grid to the side, thereby generating a conflict-free navigation path that connects the robot's current position to the task endpoint and avoids other robots. In this embodiment, the above scheme achieves deep fusion of static map and dynamic traffic flow by mapping the dynamic pose of multiple machines to a grid cost in the spatiotemporal dimension. This ensures that the generated path is geometrically reachable while meeting the collision avoidance requirements in the temporal dimension, and significantly reduces the deadlock probability and waiting delay in multi-machine collaborative operations.
[0037] like Figure 2 As shown in the black-and-white image of the library, four intelligent sorting robots are moving in an orderly fashion along illuminated paths. These paths are not pre-set tracks, but rather "conflict-free navigation paths" generated based on a rasterized map constructed from top-mounted depth camera scans, combined with global pose sharing and dynamic obstacle avoidance calculations. Each robot carries an independent sorting task, and its route dynamically adjusts according to the positions of its surrounding robots, ensuring efficient collaboration without collisions. The bright light trail in the center of the image is a visual representation of the dynamic path search in the technical solution: it connects the current pose with the task endpoint, carving out the optimal solution in the complex environment of densely packed bookshelves.
[0038] In this embodiment, the above solution effectively solves the problems of path intersection, mutual blocking, and collision caused by information silos when multiple robots operate concurrently in traditional library sorting scenarios by constructing a closed-loop control system of "static environment gridding - dynamic pose global sharing - real-time collaborative path planning". First, the passage grid map generated by the top-mounted depth camera realizes high-precision digital mapping of bookshelves and sorting stations in the work area, providing a unified static spatial benchmark for path planning. Second, the real-time pose interaction and sharing mechanism realized by the wireless grid breaks the limitations of single-machine perception, enabling the target robot to grasp the position and orientation of all robots in the field and construct a dynamic environment model with a global view. Finally, the dynamic path search strategy based on the global pose set transforms the motion state of other robots into dynamic constraints, actively avoiding potential conflict areas during the planning stage and generating a conflict-free navigation path that balances efficiency and safety. This solution not only significantly reduces the probability of deadlock and waiting time in multi-machine systems and greatly improves the overall throughput and smoothness of book sorting, but also ensures the safety of equipment and books in intensive operation environments through an active obstacle avoidance mechanism. It achieves a technological leap from "passive emergency obstacle avoidance" to "active collaborative planning", ensuring the long-term stable and efficient operation of the intelligent sorting system in complex and dynamic scenarios.
[0039] In a specific embodiment, such as Figure 3 As shown, the pre-scanning of the work area consisting of the bookshelf area and the sorting station using a top-mounted depth camera to obtain point cloud data including the edges of the bookshelves and the location of the sorting station includes:
[0040] S11, the work site is scanned frame by frame by the top-mounted depth camera to obtain depth image frames, and the coordinates of each pixel in the depth image frames are transformed to obtain a three-dimensional point cloud of the site.
[0041] S12, the on-site three-dimensional point cloud is layered and filtered based on a preset height threshold to obtain a bookshelf point cloud cluster and a sorting table point cloud cluster. The outer boundaries of the bookshelf point cloud cluster and the sorting table point cloud cluster are extracted respectively to obtain point cloud data containing the edge of the bookshelf and the position of the sorting table.
[0042] Specifically, in the implementation process, the top-mounted depth camera is first fixedly installed directly above the work site, with its optical axis vertically downwards covering the entire physical space consisting of the bookshelf area and the sorting table. Then, the camera scans the work site frame by frame at a preset frequency. Each scan outputs an original depth image frame, and the grayscale value of each pixel in the image frame directly corresponds to the physical distance from the camera's optical center to the object's surface. Next, the processing unit reads the depth image frame and, using the camera's intrinsic parameter matrix and distortion coefficients, performs reverse calculations through a pinhole imaging model to map each pixel in the two-dimensional pixel coordinate system to the three-dimensional camera coordinate system, thereby reconstructing a dense three-dimensional point cloud of the site. This process eliminates the geometric errors caused by lens distortion, ensuring that the spatial distribution of the point cloud strictly matches the actual physical scene.
[0043] After obtaining the 3D point cloud of the site, the system performs a layered filtering operation based on the differences in the geometric features of the bookshelves and sorting tables in the vertical direction: two height thresholds are preset, where the first height threshold corresponds to the minimum gap between the bottom of the bookshelf and the ground, and the second height threshold corresponds to the standard height of the sorting table surface from the ground. The system removes point clouds with Z-axis coordinates lower than the first height threshold as ground noise, while retaining point clouds with Z-axis coordinates between the first and second height thresholds as potential bookshelf point cloud clusters. This is because bookshelves usually have a multi-layered structure and their overall height is significantly higher than ground clutter. At the same time, point clouds with Z-axis coordinates close to the second height threshold and exhibiting large-area continuous planar features are classified as sorting table point cloud clusters. It should be noted that if the height of a certain area of point cloud is within the scope of the bookshelf but the horizontal density is extremely low, it is determined to be a passageway gap rather than a bookshelf entity. Through this spatial filtering based on height thresholds, the point cloud data of different functional areas are effectively separated, resulting in preliminary bookshelf point cloud clusters and sorting table point cloud clusters.
[0044] Furthermore, to accurately define obstacle boundaries, the system performs outer boundary extraction algorithms on the bookshelf point cloud cluster and the sorting table point cloud cluster respectively: For the bookshelf point cloud cluster, the convex hull algorithm or Alpha Shapes algorithm is used to search for the outermost discrete points of the point cloud cluster along the horizontal projection direction, and connect these extreme points to form a closed polygon. This polygon accurately outlines the geometric contour containing the edge of the bookshelf. Even if the bookshelf arrangement is not linear or has corners, the algorithm can still closely fit its actual edge; For the sorting table point cloud cluster, the plane fitting technique is used to determine the normal vector of the table surface, and then the abrupt changes in the point cloud around the table surface are extracted as boundary points to generate a rectangular or polygonal bounding box representing the position of the sorting table. For example, when there are L-shaped bookshelf groups in the work area, the outer boundary extraction operation will not simplify them into a single rectangle, but will generate matching L-shaped polygon data to ensure that the point cloud data containing the bookshelf edges can truly reflect the passage restrictions of narrow passages. Similarly, if there are temporary debris piled up around the sorting station, they will be automatically filtered in the boundary extraction stage because the height of the debris does not reach the second height threshold or is judged as a discontinuous plane. The final point cloud data will only contain standard sorting station location information.
[0045] In this embodiment, a precise conversion from raw optical signals to a structured environment model is achieved. It not only cleverly distinguishes between bookshelf areas and sorting stations with different shapes by using height thresholds, avoiding recognition failures caused by changes in lighting in traditional image processing, but also removes redundant noise by extracting outer boundaries, generating high-precision point cloud data containing the edges of bookshelves and the location of sorting stations. This provides a unique and reliable static data source for the subsequent construction of an unambiguous access grid map, fundamentally solving the technical problem of inconsistent environmental map construction in multi-robot systems.
[0046] In a specific embodiment, the step of rasterizing the point cloud data to obtain a passage raster map marked with the locations of the bookshelf area and the sorting station includes:
[0047] The coordinates of the three-dimensional point cloud of each point in the point cloud data are vertically projected to obtain a ground projection point set, and the boundary range of the ground projection point set is calculated to obtain the boundary of the work area.
[0048] The ground area within the boundary of the work area is uniformly divided based on the preset grid side length to obtain a grid cell array. Based on the grid cell array, each projection point in the ground projection point set is assigned to a specific location to obtain the number of landing points for each grid cell.
[0049] The number of landing points of each grid unit is determined based on a preset occupancy threshold to obtain occupied grids and free grids.
[0050] The occupied grid is categorized based on the position of the bookshelf edge and the sorting station to obtain the passage grid map.
[0051] Specifically, in the implementation, firstly, the three-dimensional coordinates of each point in the point cloud data, which includes the edge of the bookshelf and the location of the sorting station, obtained in the previous steps, are vertically projected along the Z-axis to map all spatial points onto the horizontal reference plane, thus forming a dense set of ground projection points. Next, the boundary range of this ground projection point set is calculated. By traversing the extreme values of the X and Y axes of all points in the point set, the smallest bounding rectangle that can completely enclose all projection points is determined. This rectangle is defined as the boundary of the work area. This effectively eliminates invalid space outside the work site and limits the subsequent calculations to the actual physical area formed by the bookshelf area and the sorting station. Subsequently, based on a preset grid side length, such as half the width of the robot chassis or 0.1 meters for a specific navigation accuracy requirement, the system constructs a uniform two-dimensional grid within the boundary of the work area, generating a grid cell array covering the entire field. On this basis, it traverses each projection point in the ground projection point set, calculates its grid cell index according to its planar coordinates, and assigns the point to the corresponding grid cell. After the statistics are completed, each grid cell has a number of landing points that represent the point cloud density in that area.
[0052] Furthermore, the system introduces a preset occupancy threshold for binarization determination: if the number of landing points in a grid cell is greater than the occupancy threshold, it indicates the presence of a physical obstacle in the area and marks it as an occupied grid; conversely, if the number of landing points is less than or equal to the occupancy threshold, it is considered an unobstructed area and marked as an empty grid. The selection of the occupancy threshold here is crucial and needs to be calibrated in conjunction with the point cloud noise characteristics and ground flatness. For example, if there are a small number of scattered point clouds at the bottom of the bookshelf, and the number of landing points does not reach the threshold, the algorithm will still classify it as an empty grid to avoid misjudging the passable space under the bookshelf as an obstacle. After completing the basic occupancy and vacancy classification, the system further utilizes the previously extracted geometric contours of the bookshelf edges and the coordinates of the sorting station to perform fine-grained category labeling on the generated occupancy grids: occupancy grids whose center points fall within the polygonal range of the bookshelf edge are uniformly assigned the attribute label "bookshelf occupancy grid"; occupancy grids whose center points are located within the sorting station's bounding box are labeled "sorting station grid"; and the remaining vacancy grids not labeled as occupancy are automatically identified as "accessible grids". For example, when a narrow passage is formed between two rows of bookshelves, the grid in the center of the passage becomes an accessible grid because it has no point cloud projection, while the grids adjacent to the sides of the bookshelves are labeled as bookshelf occupancy grids because of their dense point cloud projection. This processing method accurately restores the actual usable width of the passage. Similarly, even if the grids around the sorting station have scattered point clouds, as long as their positions conform to the sorting station coordinate definition, they will be forcibly classified as sorting station grids to prevent functional area identification errors caused by temporary debris interference. Ultimately, the attribute information of all grid cells is integrated into a complete access grid map. Each grid cell in the map not only contains the access status but also clearly distinguishes the specific type of obstacle.
[0053] In this embodiment, the above-mentioned scheme discretizes the continuous three-dimensional point cloud into grid units with semantic labels, realizing the structured expression of environmental information. It not only effectively filters sensor noise and ground reflection interference by utilizing the quantitative relationship between the number of landing points and the occupancy threshold, but also endows the map with semantic understanding capabilities by mapping the bookshelf edge and the sorting table position to the grid attributes. This enables the robot to distinguish between static fixed obstacles (bookshelves) and work functional areas (sorting tables), providing accurate underlying data support for subsequent path planning algorithms based on different cost weights. This significantly improves the accuracy of navigation and the logicality of task execution for multiple robots in complex bookshelf environments.
[0054] In a specific embodiment, the step of vertically projecting the coordinates of the 3D point cloud of each point in the point cloud data to obtain a ground projection point set includes:
[0055] By zeroing out the height values in the coordinates of the three-dimensional point cloud of each point in the point cloud data, a two-dimensional projection point that coincides with the ground plane of the work site is obtained, and the set of all two-dimensional projection points is constructed as the initial projection point set.
[0056] Based on the preset neighborhood radius parameter, spatial density clustering analysis is performed on the initial projection point set to identify projection point clusters with high-density clustering characteristics formed by the vertical projection of the bookshelf edge point cloud and the sorting table position point cloud.
[0057] The projection point cluster is separated from the initial projection point set to obtain an obstacle projection point set containing the vertical contours of the bookshelf area and the sorting table area, and a candidate passable point set composed of the remaining discrete projection points.
[0058] Morphological dilation is performed on each projection point in the obstacle projection point set to simulate the area occupied by the robot body outline on the two-dimensional plane, resulting in a dilated obstacle projection point set used to characterize physical obstacles and their safe avoidance distances.
[0059] The candidate passable point set is overlaid with the expanded obstacle projection point set for analysis. Projection points in the candidate passable point set that fall within the area covered by the expanded obstacle projection point set are removed to obtain the ground projection point set.
[0060] Specifically, in the implementation, firstly, the three-dimensional coordinates of each point in the point cloud data, which includes the edge of the bookshelf and the location of the sorting station, obtained in the previous steps, are vertically projected along the Z-axis to map all spatial points onto the horizontal reference plane, thus forming a dense set of ground projection points. Next, the boundary range of this ground projection point set is calculated. By traversing the extreme values of the X and Y axes of all points in the point set, the smallest bounding rectangle that can completely enclose all projection points is determined. This rectangle is defined as the boundary of the work area. This effectively eliminates invalid space outside the work site and limits the subsequent calculations to the actual physical area formed by the bookshelf area and the sorting station. Subsequently, based on a preset grid side length, such as half the width of the robot chassis or 0.1 meters for a specific navigation accuracy requirement, the system constructs a uniform two-dimensional grid within the boundary of the work area, generating a grid cell array covering the entire field. On this basis, it traverses each projection point in the ground projection point set, calculates its grid cell index according to its planar coordinates, and assigns the point to the corresponding grid cell. After the statistics are completed, each grid cell has a number of landing points that represent the point cloud density in that area.
[0061] Furthermore, the system introduces a preset occupancy threshold for binarization determination: if the number of landing points in a grid cell is greater than the occupancy threshold, it indicates the presence of a physical obstacle in the area and marks it as an occupied grid; conversely, if the number of landing points is less than or equal to the occupancy threshold, it is considered an unobstructed area and marked as an empty grid. The selection of the occupancy threshold here is crucial and needs to be calibrated in conjunction with the point cloud noise characteristics and ground flatness. For example, if there are a small number of scattered point clouds at the bottom of the bookshelf, and the number of landing points does not reach the threshold, the algorithm will still classify it as an empty grid to avoid misjudging the passable space under the bookshelf as an obstacle. After completing the basic occupancy and vacancy classification, the system further utilizes the previously extracted geometric contours of the bookshelf edges and the coordinates of the sorting station to perform fine-grained category labeling on the generated occupancy grids: occupancy grids whose center points fall within the polygonal range of the bookshelf edge are uniformly assigned the attribute label "bookshelf occupancy grid"; occupancy grids whose center points are located within the sorting station's bounding box are labeled "sorting station grid"; and the remaining vacancy grids not labeled as occupancy are automatically identified as "accessible grids". For example, when a narrow passage is formed between two rows of bookshelves, the grid in the center of the passage becomes an accessible grid because it has no point cloud projection, while the grids adjacent to the sides of the bookshelves are labeled as bookshelf occupancy grids because of their dense point cloud projection. This processing method accurately restores the actual usable width of the passage. Similarly, even if the grids around the sorting station have scattered point clouds, as long as their positions conform to the sorting station coordinate definition, they will be forcibly classified as sorting station grids to prevent functional area identification errors caused by temporary debris interference. Ultimately, the attribute information of all grid cells is integrated into a complete access grid map. Each grid cell in the map not only contains the access status but also clearly distinguishes the specific type of obstacle.
[0062] In this embodiment, the above-mentioned scheme discretizes the continuous three-dimensional point cloud into grid units with semantic labels, realizing the structured expression of environmental information. It not only effectively filters sensor noise and ground reflection interference by utilizing the quantitative relationship between the number of landing points and the occupancy threshold, but also endows the map with semantic understanding capabilities by mapping the bookshelf edge and the sorting table position to the grid attributes. This enables the robot to distinguish between static fixed obstacles (bookshelves) and work functional areas (sorting tables), providing accurate underlying data support for subsequent path planning algorithms based on different cost weights. This significantly improves the accuracy of navigation and the logicality of task execution for multiple robots in complex bookshelf environments.
[0063] In a specific embodiment, such as Figure 4 As shown, based on the access grid map, multiple randomly distributed robots are detected in real time to capture the real-time pose data of each robot, including:
[0064] S31, the current frame of the work site is acquired by the top-mounted depth camera to obtain the current depth image frame, and static background subtraction is performed on the current depth image frame based on the passage grid map to obtain the dynamic target point cloud;
[0065] S32, Based on a preset point cloud distance threshold, the dynamic target point cloud is spatially clustered to obtain multiple robot point cloud clusters;
[0066] S33, calculate the geometric center of each robot point cloud cluster to obtain the planar position coordinates of each robot, and extract the main axis direction of each robot point cloud cluster to obtain the heading angle of each robot. Combine the pose data based on the planar position coordinates and the heading angle to obtain the real-time pose data of each robot. The real-time pose data includes the grid coordinates and orientation angle of the robot in the passage grid.
[0067] Specifically, the moment the target robot receives the sorting task instruction, the system immediately triggers a real-time detection mechanism for multiple robots randomly distributed within the work area. This process first relies on the top-mounted depth camera to perform a current frame acquisition operation, obtaining a current depth image frame reflecting the current physical scene state. Then, it calls the pre-constructed access grid map as a static environment benchmark, comparing the 3D data in the current depth image frame with the pre-marked static occupied areas such as bookshelf occupancy grids and sorting table grids in the access grid map pixel by pixel, and performing static background subtraction processing. In this step, all point cloud data whose spatial coordinates coincide with the static occupied areas are regarded as background noise and are removed. The set of 3D points that do not coincide with the static map in spatial position is defined as dynamic target point cloud. These point clouds actually represent the entities that have been displaced in the work area, that is, the sorting robots that are running.
[0068] After obtaining the dynamic target point cloud, the system performs spatial clustering based on a preset point cloud distance threshold. This threshold is usually set to a value slightly larger than the robot's maximum physical size. For example, if the robot's diameter is 0.6 meters, the threshold can be set to 0.7 meters. The algorithm traverses every point in the dynamic target point cloud, calculates its Euclidean distance to neighboring points, and merges spatially adjacent points with a distance less than the threshold into the same set, thereby forming multiple independent robot point cloud clusters. Each robot point cloud cluster physically corresponds strictly to a sorting robot in the work site. Even if multiple robots intersect closely in a narrow passage, as long as the distance between their surface point clouds does not exceed the point cloud distance threshold, the algorithm can still distinguish them into different clusters through density peak detection, effectively avoiding identity confusion when multiple robots are close together.
[0069] Next, for each generated robot point cloud cluster, the system performs geometric center calculation and principal axis extraction operations: Geometric center calculation obtains the planar position coordinates representing the robot's centroid by solving for the arithmetic mean of the coordinates of all points within the cluster. These coordinates are directly mapped to specific grid indices in the passage grid. Principal axis extraction uses Principal Component Analysis (PCA) to calculate the covariance matrix of the robot point cloud cluster, extract the eigenvector corresponding to the largest eigenvalue as the principal axis of the cluster, and then calculate the robot's heading angle relative to the global coordinate system. For example, when a robot is elongated and moves diagonally in a passage, the major axis direction of its point cloud cluster is identified as the heading angle. Even if the point cloud distribution is uneven due to cargo stacking on the robot's surface, the PCA algorithm can still accurately determine its orientation based on the overall distribution trend. Finally, the system combines the calculated planar position coordinates and heading angles to generate real-time pose data containing grid coordinates and heading angles. This data fully describes the instantaneous state of each robot in the passage grid.
[0070] In this embodiment, high-precision real-time capture of the poses of multiple robots in complex dynamic environments is achieved. It not only effectively filters out static interference such as bookshelves and sorting stations by utilizing a traffic grid map, but also solves the problem of target separation and pose estimation during dense multi-robot operations by using point cloud distance thresholds and main axis extraction algorithms. This ensures that the target robot can obtain an accurate and real-time global pose set when planning a conflict-free navigation path, fundamentally avoiding collision accidents caused by pose perception lag or errors, and significantly improving the multi-robot collaborative efficiency and operational safety of the book sorting system.
[0071] In a specific embodiment, the step of interactively sharing the real-time pose data through a wireless mesh to obtain a global pose set containing the positions and orientations of all robots includes:
[0072] Broadcast address extraction is performed on the preset shared network segment address table in the local memory of the target robot to obtain the neighbor discovery address, and the neighbor discovery address is periodically probed through the wireless mesh to obtain the network address list of the online robot;
[0073] Based on the network address list, point-to-point communication links are established with each online robot through the wireless mesh;
[0074] The local clocks of each online robot are timestamped and synchronized with the system clock of the target robot to obtain a synchronization time reference.
[0075] Based on the aforementioned synchronization time reference, the real-time pose data sent by each online robot is received with time alignment through each of the aforementioned point-to-point communication links to obtain a set of time-series pose frames. The set of time-series pose frames is then subjected to coordinate parsing and orientation extraction to obtain a global pose set containing all online robot identifiers, grid coordinates, and orientation angles.
[0076] Specifically, after the target robot receives the sorting task instruction and calculates its real-time pose data, the system immediately initiates an interactive sharing mechanism based on the wireless mesh to build a global view. This process first accesses the pre-set shared network segment address table in the target robot's local memory, resolving the broadcast address used for device discovery within the local area network, i.e., the neighbor discovery address. Then, it sends periodic handshake probe messages to this neighbor discovery address through the wireless mesh interface. Other online robots in standby or running states in the work area return response signals after listening to these messages. Based on this, the target robot collects and organizes a list of network addresses of all active nodes of online robots in the current network topology. Next, the system traverses this network address list and uses the wireless mesh protocol stack to establish stable point-to-point communication links with each online robot in the list. This link not only handles data transmission but also serves as the physical channel for subsequent time synchronization. After the link is established, a clock synchronization operation is immediately performed. Specifically, the local clock of each online robot is compared with the system clock of the target robot, and the time offset between the two is calculated. A compensation command is issued to eliminate clock differences caused by crystal oscillator drift or network latency, obtaining a unified synchronization time reference for the entire network. This step is crucial for multi-machine collaboration because without a unified time scale, the data reported by different robots will not reflect the true relative positional relationship due to time misalignment. Based on this, the system strictly adheres to the synchronization time reference and receives real-time pose data periodically sent by each online robot through established point-to-point communication links. The receiving end verifies the timestamps carried in the data packets, retaining only valid data whose timestamps fall within the current synchronization time window and discarding outdated or premature abnormal packets, thus obtaining a strictly time-aligned set of temporally sequenced pose frames. This ensures that all data logically belong to the same snapshot. Subsequently, the processing unit performs deep analysis on the set of temporally sequenced pose frames, extracting the robot's unique identifier, the grid coordinates matched by the map, and the orientation angle representing the direction of motion from each frame of data. These discrete fields are then reorganized into structured records, ultimately converging into a global pose set containing all online robot identifiers, grid coordinates, and orientation angles. For example, when five robots are working simultaneously at a site, if one robot's reported data timestamp lags by 50 milliseconds due to network fluctuations, the system will determine the data as invalid based on the synchronization time base during the time alignment reception stage and request retransmission or discard it directly. This prevents the robot's "past" position from being misjudged as its "present" position, thus avoiding the path planning algorithm calculating collision trajectories based on erroneous information. Similarly, in a densely packed shelving area, multiple robots may turn simultaneously within adjacent grids. Only through precise orientation angle extraction and coordinate analysis can the global pose set accurately reflect which robot is facing north and which is facing east, thereby providing a precise basis for conflict-free scheduling.
[0077] This embodiment solves the core problem of spatiotemporal inconsistency of state information in distributed multi-robot systems. It not only eliminates data timing disorder caused by network transmission jitter by using a synchronized time base, but also ensures the integrity and real-time performance of the global pose set through reliable point-to-point transmission. This enables the target robot to grasp the precise dynamic distribution of all participants in the work site, providing a highly reliable data foundation for subsequent implementation of deadlock detection, dynamic obstacle avoidance, and collaborative path planning based on global information. This significantly improves the collaborative operation efficiency and safety redundancy of multi-robot systems in complex bookshelf environments.
[0078] In a specific embodiment, establishing point-to-point communication links with each online robot through the wireless mesh based on the network address list includes:
[0079] The real-time pose data of each robot is parsed, and the unique robot identifier corresponding to each robot point cloud cluster is extracted. Based on the unique robot identifier, a matching query is performed with the robot hardware address mapping table pre-stored in the local database to obtain a network address list containing the physical addresses of each online robot.
[0080] Based on the physical addresses of each online robot in the network address list, a link establishment request frame carrying a timestamp is broadcast to each target robot through the wireless mesh, and an acknowledgment response frame containing the current communication port status and protocol version information is received from each target robot based on the link establishment request frame. The acknowledgment response frame is parsed to obtain the communication handshake parameter set for establishing a handshake connection with each online robot.
[0081] Based on the communication handshake parameter set, an independent virtual transmission channel is allocated to each online robot through the wireless mesh, and bidirectional sliding window parameter negotiation is performed on the virtual transmission channel to obtain point-to-point communication links established with each online robot respectively.
[0082] Specifically, after obtaining the preliminary network address list, the system does not directly transmit the data. Instead, it first performs in-depth identity verification and address resolution operations. Specifically, it reverse-parses the real-time pose data of each robot captured and calculated by the top-mounted depth camera in the previous steps, extracts the robot's unique identifier code that strictly corresponds to each robot's point cloud cluster from the metadata field of the pose data packet. This identifier code is usually embedded in the robot controller's firmware and has global uniqueness. Subsequently, the system performs a high-precision matching query between the extracted robot unique identifier code and the robot hardware address mapping table pre-stored in the target robot's local database. This mapping table records the binding relationship between the identifier and the underlying network physical address (such as MAC address or static IP). Through this table lookup operation, the system converts the logical layer identity identifier into network layer routable physical addressing information, thereby generating a corrected network address list containing the precise physical addresses of each online robot.
[0083] This effectively avoids the problem of communication target loss caused by Dynamic Host Configuration Protocol (DHCP) address drift. Next, based on the physical addresses of each online robot in the network address list, the system drives the wireless mesh module to broadcast a link establishment request frame carrying a high-precision timestamp to each target robot in the list. This timestamp is used for subsequent replay attack defense and timing verification. Upon receiving the request frame, each target robot's communication protocol stack immediately checks its current resource load and sends back an acknowledgment frame containing its current communication port status (such as whether the port is occupied and the remaining buffer capacity) and protocol version information (ensuring compatibility between the two communication protocols and preventing parsing errors due to version iteration). The target robot receives and parses these acknowledgment frames, extracting key parameters such as the port number, encryption key negotiation seed, and maximum transmission unit to form a communication handshake parameter set for establishing a handshake connection with each online robot. Based on this, the system dynamically allocates an independent virtual transmission channel to each online robot via the wireless mesh according to the communication handshake parameter set. This channel logically isolates the data flow between different robots, preventing broadcast storm interference. Subsequently, the system initiates a bidirectional sliding window parameter negotiation process with each online robot. Both parties dynamically adjust the sending window size and acknowledgment timeout based on the current wireless signal strength and network congestion level to balance transmission rate and reliability, ultimately obtaining a stable, low-latency point-to-point communication link established with each online robot. For example, when an older model robot in the work area has a lower protocol version, the system will identify the version difference when parsing the acknowledgment response frame and automatically downgrade the communication strategy to adapt to the robot, ensuring that the link is not interrupted due to protocol incompatibility.
[0084] For example, in high-density concurrent scenarios with multiple robots, the system can limit the sending window of high-speed robots through sliding window parameter negotiation, preventing them from monopolizing bandwidth and causing lag in the uploading of pose data from low-speed robots. Once the point-to-point communication link is established, it serves as a dedicated channel for subsequent steps to achieve synchronous interaction of multi-source data, including real-time pose data, sorting task instructions, and conflict-free navigation paths, between robots, ensuring the real-time performance and completeness of control commands and status feedback.
[0085] In this embodiment, the above-mentioned scheme solves the technical problems of unstable multi-robot communication connections and data conflicts in complex electromagnetic environments through a four-order link establishment mechanism of "identity mapping - state handshake - channel isolation - parameter negotiation". It not only ensures the accuracy of communication targets by utilizing the strong binding relationship between the robot's unique identifier and the hardware address mapping table, but also realizes the adaptive allocation of network resources through bidirectional sliding window parameter negotiation. This enables the established point-to-point communication link to simultaneously carry high-frequency real-time pose data updates and sudden sorting task command issuance, effectively avoiding packet loss and out-of-order phenomena when multi-source data is mixed and transmitted. This lays a solid physical connection foundation for building a highly reliable, low-latency distributed robot collaborative control network and significantly improves the communication robustness and task response speed of the book sorting system in dynamic and changing environments.
[0086] In a specific embodiment, parsing the sorting task instructions received by the target robot and extracting the task endpoint coordinates includes:
[0087] The sorting task instructions received by the target robot are segmented by delimiters and matched with identifiers to obtain task type identifiers and operation object identifiers; wherein, the task type identifier includes a book retrieval instruction code or a book return instruction code, and the operation object identifier includes a book tag number or a table number.
[0088] Based on the operation object identifier, a key-value query is performed on the preset book location mapping table to obtain the associated bookshelf grid coordinates;
[0089] Based on the task type identifier, the endpoint is selected from the bookshelf grid coordinates or the preset table position grid coordinates to obtain the positioning coordinates of the task endpoint in the access grid.
[0090] Specifically, when the target robot receives a sorting task instruction from the host computer or scheduling center via the aforementioned point-to-point communication link, its internal processing unit first initiates the instruction parsing program. This program does not simply read the string, but performs strict delimiter segmentation and identifier matching operations on the instruction data stream according to a predefined communication protocol format. Specifically, the system uses specific start and end symbols to cut the continuous data stream into independent functional fields, and then searches for key feature codes in each field to accurately extract the task type identifier and the operation object identifier. In this process, the task type identifier is clearly parsed into a book retrieval instruction code or a book return instruction code that represents the nature of the operation. The former instructs the robot to go to the bookshelf to retrieve a book, while the latter instructs the robot to transport the book to a designated recycling point. The operation object identifier is parsed into a specific book tag number or station number, where the book tag number corresponds to a unique book index in the library collection system, and the station number corresponds to the specific physical workstation number on the sorting table. Next, the system uses the extracted operation object identifier as the query key to access the book location mapping table pre-stored in local storage or cloud database. This mapping table is essentially a high-dimensional index structure that establishes a two-way binding relationship between "book tag number and bookshelf grid coordinates". Through efficient hash lookup or binary tree traversal algorithm, the system quickly locates the bookshelf grid coordinates that are strictly associated with the book tag number. These coordinates precisely point to the specific grid cell in the access grid map where the target book is located. If the operation object identifier is a shelf number, the system directly calls the preset shelf grid coordinate library to obtain the corresponding fixed coordinate value. Subsequently, the logic judgment module executes the endpoint selection strategy based on the task type identifier obtained from the aforementioned analysis: if the task type identifier is a book retrieval command code, the system directly establishes the bookshelf grid coordinates obtained from the previous query as the destination of this task, that is, the positioning coordinates of the task endpoint in the passage grid, guiding the robot to navigate to the depth of the bookshelf to perform the retrieval operation; conversely, if the task type identifier is a book return command code, the system ignores the bookshelf coordinates and instead selects the preset grid coordinates of the operating object identifier (station number) as the positioning coordinates of the task endpoint in the passage grid, instructing the robot to transport the carried books to the designated sorting station.For example, when receiving an instruction containing a "book retrieval command code" and the book tag number "ISBN-978-xxx", the parsing module recognizes that a book retrieval action needs to be performed. It then retrieves the book's location from the book location mapping table, finding it in "Area A-05 Shelf-03" and converting it to coordinates (x=12, y=45) in the access grid. These coordinates are then set as the navigation endpoint. When the instruction changes to a "book return command code" and the station number "Station-02", the system directly retrieves the pre-defined center grid coordinates (x=80, y=10) of sorting station number 2 as the endpoint. This dynamic routing mechanism based on instruction type ensures that the robot can accurately distinguish between dynamically changing bookshelf areas and fixed sorting station areas based on the nature of the task. Furthermore, if the system detects that the object being operated on does not exist in the mapping table during parsing, it immediately triggers an exception handling process, returning an error code instead of generating invalid coordinates, preventing the robot from heading to the wrong blank area.
[0091] In this embodiment, an automated conversion from abstract task instructions to specific spatial coordinates is achieved. This not only ensures the robustness of instruction parsing by utilizing delimiter segmentation and identifier matching techniques, effectively resisting instruction distortion caused by communication noise, but also tightly couples the logical book index with the physical bookshelf grid coordinates through a book location mapping table. This eliminates the tediousness and errors of manual coordinate setting. Furthermore, a dynamic selection mechanism based on task type identifiers allows the same parsing architecture to flexibly adapt to two completely different operational scenarios: book retrieval and book return. This significantly improves the target robot's response speed and execution accuracy for complex sorting tasks, providing accurate target anchor points for generating conflict-free navigation paths and ensuring the automated closed-loop operation of the entire book sorting process.
[0092] In a specific embodiment, the step of dynamically searching the coordinates of the task endpoint based on the access grid map and the global pose set to generate a conflict-free navigation path connecting the robot's current position and the task endpoint while avoiding other robots includes:
[0093] Based on the grid coordinates of each robot in the global pose set, the corresponding passable grid in the passable grid map is temporarily occupied to obtain the dynamically occupied grid;
[0094] Based on the orientation angle of each robot, the forward adjacent grids of the dynamically occupied grid are marked as buffer zones to obtain a real-time traffic status map;
[0095] Based on the real-time traffic status map, a neighborhood expansion traversal is performed with the current grid coordinates of the target robot as the search starting point and the task endpoint coordinates as the search endpoint to obtain a candidate path node set. The neighborhood expansion traversal is to expand outward layer by layer from the search starting point to the adjacent passable grids and record the cumulative passage cost from each grid to the starting point. The candidate path node set is the set of all passable grids passed during the expansion process and their corresponding cumulative passage costs.
[0096] Based on the set of candidate path nodes, backtracking is performed node by node from the search endpoint along the direction of decreasing cumulative travel cost to the search starting point to obtain a conflict-free navigation path that connects the robot's current position and the task endpoint while avoiding other robots.
[0097] Specifically, after obtaining the precise coordinates of the task endpoint, the target robot immediately starts the dynamic path search program. This process first makes deep use of the global pose set generated in the previous steps, traverses the grid coordinates of all online robots in the set except itself, maps these coordinates to the passable grid map, and performs a temporary occupancy marking operation on the corresponding passable grids on the map, thereby generating a set of dynamic occupancy grids at the logical level. These grids represent the space currently occupied by the physical entities of other robots. Any planned path that crosses these grids will directly cause a collision.
[0098] The system further considers the robot's motion inertia and safety redundancy. Based on the orientation angle of each robot in the global pose set, it predicts the possible motion trend of the robot in the next moment. Specifically, it includes the forward adjacent grids of each dynamically occupied grid in its orientation direction into the risk area and marks these forward adjacent grids as buffer zones. This constructs a real-time accessibility state map containing multi-dimensional state information. In this map, the state of each grid cell is strictly defined as one of four mutually exclusive types: static occupancy representing fixed obstacles such as bookshelves or walls, dynamic occupancy representing the current position of other robots, buffer occupancy representing the area that other robots are about to enter, and passable without any obstacles. This subdivided state mechanism effectively solves the shortcomings of traditional static maps in predicting dynamic obstacles. Subsequently, the core path planning algorithm operates based on this real-time accessibility map. Using the target robot's current grid coordinates as the search starting point and the previously parsed task endpoint coordinates as the search endpoint, it performs a rigorous neighborhood expansion traversal. This traversal process employs a heuristic search strategy (such as the improved A* algorithm), expanding outwards layer by layer only to adjacent grids marked as "accessible" from the search starting point. For each expanded grid, the system not only records its parent node information but also calculates and records the cumulative access cost from that grid to the starting point in real time. This cost is typically composed of the geometric distance and the penalty weight for passing through buffered occupied areas. All accessible grids visited during the expansion process and their corresponding cumulative access costs together constitute the candidate path node set. If a statically or dynamically occupied grid is encountered during the expansion process, the branch is immediately pruned. If a buffered occupied grid is encountered, it is assigned a very high cost to reduce its probability of being selected, unless there is no other path.
[0099] Once the search endpoint is successfully included in the candidate path node set, the algorithm enters the backtracking phase. Based on the candidate path node set, starting from the search endpoint, the algorithm searches for the predecessor node with the minimum cost along the direction of decreasing cumulative travel cost, until it backtracks to the search starting point. This node-by-node backtracking process connects discrete nodes into a continuous trajectory, ultimately resulting in an ordered sequence of grid coordinates from the target robot's current grid coordinates to the task endpoint coordinates—a conflict-free navigation path. For example, in a narrow bookshelf aisle, if a robot is moving in the opposite direction, its current grid is marked as dynamically occupied, while the two grids in front of it are marked as buffer occupied. In this case, the search algorithm will automatically avoid this entire area, guiding the target robot to an adjacent wide aisle, even if this means a slight increase in cumulative travel cost, ensuring an absolute safe distance. Conversely, if the robot in front is moving away, and its forward buffer zone does not cover the target robot's predetermined route, the algorithm may allow the target robot to follow closely within a safe distance, demonstrating the flexibility of dynamic programming.
[0100] In this embodiment, real-time conflict-free navigation is achieved in a highly dynamic and crowded book sorting environment. It not only utilizes orientation angle prediction to construct a forward-looking buffer marking mechanism, effectively avoiding the risk of "ghosting" collisions caused by robot motion inertia, but also distinguishes between static, dynamic, and buffer occupancy states in the real-time traffic status map. This allows the path search algorithm to intelligently balance traffic efficiency and safe distance. The generated conflict-free navigation path ensures that the target robot can accurately reach the task endpoint while minimizing downtime caused by overly conservative avoidance strategies. This significantly improves the overall throughput and operational safety of the multi-robot system in intensive operation scenarios, ensuring the continuous and efficient execution of sorting tasks.
[0101] In a specific embodiment, the step of backtracking node by node from the search endpoint along the direction of decreasing cumulative travel cost to the search starting point based on the candidate path node set to obtain the conflict-free navigation path includes:
[0102] The cumulative passage cost of each node in the candidate path node set is subjected to eight-neighbor spatial difference operation to obtain the local cost gradient vector of each node. The local cost gradient vector of each node is then normalized to obtain the cost descent direction field of the node. The cost descent direction field records the unit direction vector from any node in the candidate path node set to the node with the minimum cumulative passage cost in its eight neighborhood.
[0103] The cost descent direction field is used to perform reverse node indexing on the search endpoint to obtain the coordinates of the predecessor node of the search endpoint. Based on the coordinates of the predecessor node and the search starting point, a node-by-node backtracking index is performed in the cost descent direction field until the search starting point is reached, thus obtaining the optimal backtracking path chain composed of the node coordinate sequence.
[0104] Based on a preset collinearity elimination threshold, the optimal backtracking path chain is fitted with straight line segments to obtain a fitted path node set. Then, based on the search start point and the search end point, the fitted path node set is subjected to endpoint anchoring and directional continuity filtering to obtain the conflict-free navigation path.
[0105] Specifically, after obtaining the candidate path node set containing all potentially feasible nodes, the system does not directly perform a simple pointer backpropagation. Instead, it first executes a mathematical reconstruction based on field theory. Specifically, it performs a strict eight-neighborhood spatial difference operation on the cumulative travel cost of each grid node in the candidate path node set. This operation constructs a local cost gradient vector reflecting the rate of cost change by calculating the cost difference between the central node and its eight neighboring nodes. Then, these vectors are normalized in direction, unifying their magnitude to a unit length while retaining only the direction information, thereby generating a cost descent direction field covering the nodes of the entire search area. This direction field is essentially a vector map, in which the unit direction vector stored in each grid cell points precisely to the neighboring node with the minimum cumulative travel cost within its eight-neighborhood. This forms a potential energy field structure similar to water flowing downhill. Subsequently, the path extraction algorithm uses the constructed cost descent direction field to perform reverse node indexing on the search endpoint. That is, it reads the unit direction vector stored in the grid where the search endpoint is located, finds the adjacent node it points to along the vector, and this node is the coordinate of the predecessor node of the search endpoint. Then, using the coordinates of the predecessor node as the new current point, it reads its vector guidance in the cost descent direction field again. This process is repeated node by node backtracking indexing. Each step strictly follows the cost reduction principle until the search starting point is finally indexed. This series of linked coordinate points constitutes the optimal backtracking path chain composed of the node coordinate sequence. Although this chain is topologically connected and cost-optimal, it often exhibits a sawtooth or stepped discrete feature, which can lead to motion jitter if directly used for robot control.
[0106] Therefore, the system must smooth the chain. Specifically, a preset collinearity elimination threshold is introduced, and the optimal backtracking path chain is fitted with straight line segments. The algorithm traverses the path chain from the starting point, judging whether three or more consecutive nodes are approximately on the same straight line. If the angle between adjacent line segments is less than the angle tolerance corresponding to the collinearity elimination threshold, these intermediate nodes are considered redundant and eliminated, and the broken line segments are merged into long straight line segments, thus obtaining a fitted path node set with a significantly reduced number of points. Finally, to ensure the geometric integrity and kinematic feasibility of the path, the system performs endpoint anchoring and directional continuity filtering on the fitted path node set based on the search start point and search end point. Endpoint anchoring forces the coordinates of the beginning and end of the path to be locked to the original search start point and task end point coordinates to prevent the start and end points from shifting due to fitting errors. Directional continuity filtering checks the curvature changes at the turning points of the path and inserts necessary transition points or fine adjustment points to eliminate abrupt changes in direction angles. Finally, a smooth, continuous, and conflict-free navigation path that conforms to the robot's motion constraints is output.
[0107] For example, in a long straight aisle between bookshelves, the original optimal backtracking path chain may appear as a zigzag staircase due to grid resolution limitations, containing dozens of tiny turning nodes. After collinearity elimination thresholding, these intermediate nodes on the same straight line are deleted in batches, leaving only the two key nodes at the aisle entrance and exit, forming a straight fitted line segment. This not only reduces the amount of data but also enables the robot to travel in a straight line at maximum speed instead of frequent acceleration and deceleration. As another example, when the path needs to bypass dynamically occupied grids to make a 90-degree turn, directional continuity filtering will automatically identify sharp geometric changes at the corner and insert arc transition points or Bézier curve control points into the fitted path node set according to the robot's minimum turning radius constraint, ensuring smooth robot posture during turning and avoiding damage to the mechanical structure.
[0108] This embodiment addresses the technical bottlenecks of traditional grid path planning, such as severe path jaggedness, high node redundancy, and uneven motion. It not only utilizes eight-neighbor spatial difference operations and direction normalization to construct a robust cost descent direction field, ensuring the global optimality of backtracking paths in complex multi-solution spaces, but also transforms discrete grid sequences into continuous and smooth trajectories that conform to robot kinematics through preset collinearity elimination thresholds and endpoint anchoring mechanisms. This significantly reduces the computational load and tracking error of the underlying motion controller, ensuring that the generated conflict-free navigation path retains obstacle avoidance safety while greatly improving the robot's operational stability and passage efficiency in book sorting scenarios, effectively extending equipment lifespan and reducing energy consumption.
[0109] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention. It should be noted that the information interaction, execution process, etc. between the above devices / units are based on the same concept as the method embodiments of this application. Their specific functions and technical effects can be found in the embodiment section of the control device, and will not be repeated here.
[0110] Please see Figure 5 , Figure 5 This is a schematic diagram of the framework of an embodiment of the dynamic path planning device for the intelligent sorting robot in the library according to this application. Figure 5 As shown, the dynamic path planning device of the library intelligent sorting robot includes a scanning module 1, which is used to scan the work site consisting of the bookshelf area and the sorting table in advance using a top-mounted depth camera to obtain point cloud data including the edges of the bookshelves and the position of the sorting table.
[0111] Rasterization processing module 2 is used to perform rasterization processing on the point cloud data to obtain a passage raster map marked with the locations of the bookshelf area and the sorting station.
[0112] The detection module 3 is used to detect multiple randomly distributed robots in real time based on the passage grid map when the target robot receives the sorting task instruction, and capture the real-time pose data of each robot.
[0113] The sharing module 4 is used to interactively share the real-time pose data through a wireless grid to obtain a global pose set containing the positions and orientations of all robots.
[0114] The parsing module 5 is used to parse the sorting task instructions received by the target robot, extract the coordinates of the task endpoint, and perform dynamic path search on the coordinates of the task endpoint based on the passage grid map and the global pose set to generate a conflict-free navigation path that connects the robot's current position and the task endpoint while avoiding other robots.
[0115] The above module is used to execute the steps of the dynamic path planning method for the intelligent library sorting robot.
Claims
1. A dynamic path planning method for a library intelligent sorting robot, characterized in that, Includes the following steps: The work area consisting of the bookshelf area and the sorting station is scanned in advance using a top-mounted depth camera to obtain point cloud data including the edges of the bookshelves and the location of the sorting station; The point cloud data is rasterized to obtain a passage raster map marked with the locations of the bookshelf area and the sorting station; When the target robot receives the sorting task instruction, it performs real-time detection on multiple randomly distributed robots based on the passage grid map to capture the real-time pose data of each robot. The real-time pose data is shared and interacted through a wireless mesh to obtain a global pose set containing the positions and orientations of all robots. The sorting task instruction received by the target robot is parsed, the coordinates of the task endpoint are extracted, and a dynamic path search is performed on the task endpoint coordinates based on the passage grid map and the global pose set to generate a conflict-free navigation path that connects the robot's current position and the task endpoint while avoiding other robots.
2. The dynamic path planning method for the intelligent sorting robot in the library according to claim 1, characterized in that, The process of pre-scanning the work area consisting of the bookshelf area and the sorting station using a top-mounted depth camera to obtain point cloud data including the edges of the bookshelves and the location of the sorting station includes: The work site is scanned frame by frame by the top-mounted depth camera to obtain depth image frames. The coordinates of each pixel in the depth image frame are transformed to obtain a three-dimensional point cloud of the site. The on-site 3D point cloud is layered and filtered based on a preset height threshold to obtain a bookshelf point cloud cluster and a sorting table point cloud cluster. The outer boundaries of the bookshelf point cloud cluster and the sorting table point cloud cluster are extracted respectively to obtain point cloud data containing the edge of the bookshelf and the position of the sorting table.
3. The dynamic path planning method for the intelligent sorting robot in the library according to claim 1, characterized in that, The step of rasterizing the point cloud data to obtain a passage raster map marked with the locations of bookshelf areas and sorting stations includes: The coordinates of the three-dimensional point cloud of each point in the point cloud data are vertically projected to obtain a ground projection point set, and the boundary range of the ground projection point set is calculated to obtain the boundary of the work area. The ground area within the boundary of the work area is uniformly divided based on the preset grid side length to obtain a grid cell array. Based on the grid cell array, each projection point in the ground projection point set is assigned to a specific location to obtain the number of landing points for each grid cell. The number of landing points of each grid unit is determined based on a preset occupancy threshold to obtain occupied grids and free grids. The occupied grid is categorized based on the position of the bookshelf edge and the sorting station to obtain the passage grid map.
4. The dynamic path planning method for the intelligent sorting robot in the library according to claim 1, characterized in that, Based on the access grid map, multiple randomly distributed robots are detected in real time to capture the real-time pose data of each robot, including: The current frame of the work site is acquired by the top-mounted depth camera to obtain the current depth image frame, and static background subtraction is performed on the current depth image frame based on the passage grid map to obtain the dynamic target point cloud; Based on a preset point cloud distance threshold, the dynamic target point cloud is spatially clustered to obtain multiple robot point cloud clusters; Geometric center calculation is performed on each robot point cloud cluster to obtain the planar position coordinates of each robot, and the principal axis direction is extracted from each robot point cloud cluster to obtain the heading angle of each robot. Based on the planar position coordinates and the heading angle, pose data is combined to obtain the real-time pose data of each robot. The real-time pose data includes the grid coordinates and orientation angle of the robot in the passage grid map.
5. The dynamic path planning method for the intelligent sorting robot in the library according to claim 4, characterized in that, The real-time pose data is shared and interacted with via a wireless mesh to obtain a global pose set containing the positions and orientations of all robots, including: Broadcast address extraction is performed on the preset shared network segment address table in the local memory of the target robot to obtain the neighbor discovery address, and the neighbor discovery address is periodically probed through the wireless mesh to obtain the network address list of the online robot; Based on the network address list, point-to-point communication links are established with each online robot through the wireless mesh; The local clocks of each online robot are timestamped and synchronized with the system clock of the target robot to obtain a synchronization time reference. Based on the aforementioned synchronization time reference, the real-time pose data sent by each online robot is received with time alignment through each of the aforementioned point-to-point communication links to obtain a set of time-series pose frames. The set of time-series pose frames is then subjected to coordinate parsing and orientation extraction to obtain a global pose set containing all online robot identifiers, grid coordinates, and orientation angles.
6. The dynamic path planning method for the intelligent sorting robot in the library according to claim 1, characterized in that, The step of dynamically searching the coordinates of the task endpoint based on the access grid map and the global pose set to generate a conflict-free navigation path connecting the robot's current position and the task endpoint while avoiding other robots includes: Based on the grid coordinates of each robot in the global pose set, the corresponding passable grid in the passable grid map is temporarily occupied to obtain the dynamically occupied grid; Based on the orientation angle of each robot, the forward adjacent grids of the dynamically occupied grid are marked as buffer zones to obtain a real-time traffic status map; Based on the real-time traffic status map, a neighborhood expansion traversal is performed with the current grid coordinates of the target robot as the search starting point and the task endpoint coordinates as the search endpoint to obtain a candidate path node set. The neighborhood expansion traversal is to expand outward layer by layer from the search starting point to the adjacent passable grids and record the cumulative passage cost from each grid to the starting point. The candidate path node set is the set of all passable grids passed during the expansion process and their corresponding cumulative passage costs. Based on the candidate path node set, the search endpoint is traced back node by node from the search starting point along the direction of decreasing cumulative travel cost to obtain the conflict-free navigation path.
7. The dynamic path planning method for the intelligent sorting robot in the library according to claim 8, characterized in that, The process of obtaining the conflict-free navigation path by backtracking node by node from the search endpoint along the direction of decreasing cumulative travel cost to the search starting point based on the candidate path node set includes: The cumulative passage cost of each node in the candidate path node set is subjected to eight-neighbor spatial difference operation to obtain the local cost gradient vector of each node, and the local cost gradient vector of each node is normalized to obtain the cost descent direction field of the node. The cost descent direction field is used to perform reverse node indexing on the search endpoint to obtain the coordinates of the predecessor node of the search endpoint. Based on the coordinates of the predecessor node and the search starting point, a node-by-node backtracking index is performed in the cost descent direction field until the search starting point is reached, thus obtaining the optimal backtracking path chain composed of the node coordinate sequence. Based on a preset collinearity elimination threshold, the optimal backtracking path chain is fitted with straight line segments to obtain a fitted path node set. Then, based on the search start point and the search end point, the fitted path node set is subjected to endpoint anchoring and directional continuity filtering to obtain the conflict-free navigation path.
8. A dynamic path planning system for a library intelligent sorting robot, characterized in that, A dynamic path planning method for executing the library intelligent sorting robot according to any one of claims 1 to 7, comprising: The scanning module is used to pre-scan the work area consisting of the bookshelf area and the sorting station using a top-mounted depth camera to obtain point cloud data including the edges of the bookshelves and the location of the sorting station; The rasterization processing module is used to perform rasterization processing on the point cloud data to obtain a passage raster map marked with the locations of the bookshelf area and the sorting station. The detection module is used to detect multiple randomly distributed robots in real time based on the passage grid map when the target robot receives the sorting task instruction, and to capture the real-time pose data of each robot. The sharing module is used to interactively share the real-time pose data through a wireless grid to obtain a global pose set containing the positions and orientations of all robots; The parsing module is used to parse the sorting task instructions received by the target robot, extract the coordinates of the task endpoint, and perform dynamic path search on the coordinates of the task endpoint based on the passage grid map and the global pose set to generate a conflict-free navigation path that connects the robot's current position and the task endpoint while avoiding other robots.