Path Planning Method, Device and Storage Medium of Robot

By introducing an environment complexity scoring mechanism into the robot navigation system and dynamically switching navigation data sources and algorithms, the problem of unreasonable utilization of navigation resources is solved, and navigation accuracy and efficiency are achieved.

CN119901279BActive Publication Date: 2025-06-13SHENZHEN BANGQI MINE ELECTROMECHANICAL CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510398841.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-01
Publication Date
2025-06-13
Estimated Expiration
2045-04-01

AI Technical Summary

Technical Problem

Under different environmental conditions, the unreasonable utilization of navigation resources leads to the problem of difficulty in taking into account both navigation accuracy and efficiency.

Method used

By determining the environmental complexity score based on the environmental data during the robot's travel, if the score is greater than the preset threshold, the ultra-wideband positioning results and lidar data are obtained, and the data is fused based on the particle filtering algorithm to obtain navigation information, and the navigation path is obtained based on the navigation information and the preset path planning algorithm.

Benefits of technology

Dynamic switching of navigation methods allows robots to better adapt to environments of different complexities, save computing resources and power in simple environments, and extend running time; ensure navigation accuracy and safety in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119901279B_ABST
    Figure CN119901279B_ABST
Patent Text Reader

Abstract

The present application discloses a path planning method, device and storage medium for a robot, relating to the technical field of data processing, including: determining an environmental complexity score according to environmental data during the movement of the robot; if the environmental complexity score is greater than a preset first score threshold, acquiring an ultra-wideband positioning result and lidar data; fusing the ultra-wideband positioning result and the lidar data based on a particle filter algorithm to obtain navigation information; and obtaining a navigation path according to the navigation information and a preset path planning algorithm. The present application can enable the robot to better adapt to environments with different complexities by dynamically switching the navigation mode.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a robot path planning method, device and storage medium. Background Art

[0002] In the fields of autonomous driving and robot navigation, the information required for navigation can be obtained through sensors such as lidar, cameras, and inertial measurement units. Lidar can obtain high-precision three-dimensional environmental information, cameras can capture rich image information, and inertial measurement units can provide vehicle posture and motion information.

[0003] In order to solve the problem that a single sensor data may not provide sufficient accuracy and reliability, the data of multiple sensors are usually fused to improve the accuracy and reliability of navigation. For example, through feature matching technology, the features in the lidar data are matched with the features in the camera image to achieve the fusion of the two data. The fused data is used to build an environmental model, identify static and dynamic obstacles in the environment, and navigation elements. However, the environment changes dynamically on the navigation path, and the use of complex sensor data for fusion in a simple environment will result in unnecessary resource consumption. In a complex environment, the use of simple sensor data for fusion may lead to navigation failure or danger due to insufficient information.

[0004] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention

[0005] The main purpose of this application is to provide a robot path planning method, device and storage medium, aiming to solve the technical problems of unreasonable utilization of navigation resources under different environmental conditions and difficulty in balancing navigation accuracy and efficiency.

[0006] To achieve the above objectives, the present application proposes a robot path planning method, the method comprising:

[0007] Determine the environmental complexity score based on the environmental data during the robot's movement;

[0008] If the environment complexity score is greater than a preset first score threshold, obtaining an ultra-wideband positioning result and a lidar data;

[0009] fusing the ultra-wideband positioning result and the laser radar data based on a particle filter algorithm to obtain navigation information;

[0010] A navigation path is obtained according to the navigation information and a preset path planning algorithm.

[0011] In one embodiment, the step of fusing the ultra-wideband positioning result and the lidar data based on the particle filter algorithm to obtain navigation information includes:

[0012] Generate an initial particle set according to the ultra-wideband positioning result;

[0013] Obtain the predicted distance from the initial particles in the initial particle set to the lidar sensor, and obtain the difference value between the predicted distance and the actual distance;

[0014] Obtain the likelihood value according to the difference value and the probability density function of the Gaussian distribution, and update the weight of the initial particles according to the likelihood value to obtain the second weight;

[0015] Update the initial particle set according to the second weight to obtain the first particle set, and perform weighted averaging on the states of the first particles in the first particle set to obtain the navigation information.

[0016] In one embodiment, the step of determining the environmental complexity score according to the environmental data during the robot's movement includes:

[0017] Obtain the point cloud data, the first image data, and the ultra-wideband signal data during the robot's movement;

[0018] Extract the shelf feature information from the point cloud data, group the shelf feature information according to the clustering algorithm, and determine the shelves and the shelf density;

[0019] Perform dynamic obstacle recognition according to the point cloud data and the first image data to obtain the number of dynamic obstacles;

[0020] Obtain the predicted data according to the preset ultra-wideband positioning model, and obtain the ultra-wideband signal residual between the predicted data and the ultra-wideband signal data;

[0021] Perform weighted average calculation according to the shelf density, the number of dynamic obstacles, and the ultra-wideband signal residual to obtain the environmental complexity score.

[0022] In one embodiment, the step of performing dynamic obstacle recognition according to the point cloud data and the image data to obtain the number of dynamic obstacles includes:

[0023] Cluster the point cloud data to obtain point cloud clusters;

[0024] Obtain the displacement amount of the cluster centers of the point cloud clusters between adjacent frames, and mark the point cloud clusters with the displacement amount greater than the preset displacement amount threshold as dynamic clusters;

[0025] Perform obstacle detection in the first image data according to the target detection algorithm to obtain the obstacle bounding boxes;

[0026] Obtain the moving speed of the center point of the obstacle bounding box, and mark the obstacles with the moving speed greater than the preset moving speed threshold as dynamic targets;

[0027] Remove the duplicate dynamic clusters and dynamic targets, and confirm the number of dynamic clusters and dynamic targets after deduplication as the number of dynamic obstacles.

[0028] In one embodiment, after the step of determining the environmental complexity score according to the environmental data during the robot's travel, the following steps are included:

[0029] If the environmental complexity score is less than the preset second score threshold, obtain the magnetic stripe information output by the magnetic stripe sensor and the second image data output by the image sensor;

[0030] Based on the Kalman filtering algorithm, fuse the magnetic stripe information and the second image data to obtain the navigation information.

[0031] In one embodiment, before the step of fusing the magnetic stripe information and the second image data based on the Kalman filtering algorithm to obtain the navigation information, the following steps are included:

[0032] Obtain feature points in consecutive frame images according to the image feature detection algorithm, and match the feature points;

[0033] Obtain the number of successfully matched target feature points, and determine the matching rate according to the number of target feature points;

[0034] When the matching rate is lower than the preset matching rate, determine the navigation information according to the magnetic stripe information.

[0035] In one embodiment, after the step of obtaining the navigation path according to the navigation information and the preset path planning algorithm, the following steps are included:

[0036] When it is detected that the ultra-wideband signal strength is less than the preset signal strength threshold and the magnetic stripe noise is greater than the preset noise threshold, confirm that the robot is in the signal interference area;

[0037] Fuse the magnetic stripe signal output by the magnetic stripe sensor and the inertial measurement data output by the inertial measurement unit to obtain the target navigation information.

[0038] In one embodiment, after the step of obtaining the navigation path according to the navigation information and the preset path planning algorithm, the following steps are included:

[0039] Take the navigation path as a node, add edges according to the path connection relationship, and obtain a conflict prediction graph;

[0040] Traverse the nodes and edges in the conflict prediction graph according to the loop detection algorithm to determine whether there is a deadlock loop;

[0041] If there is, obtain the alternative paths of the target robots on the deadlock loop, and control the target robots to move forward according to the alternative paths.

[0042] In addition, to achieve the above object, the present application also provides a path planning device for a robot, the device includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program is configured to implement the steps of the path planning method for the robot as described above.

[0043] In addition, to achieve the above object, the present application also provides a storage medium, the storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium, and when the computer program is executed by a processor, it implements the steps of the path planning method for the robot as described above.

[0044] The present application provides a path planning method for a robot, using the environmental complexity score as the basis for determining whether to enable more complex sensor data. When the environmental complexity score is greater than a preset first score threshold and the environmental complexity is high, the ultra-wideband positioning result and lidar data are fused. The ultra-wideband positioning provides high-precision position information, while the lidar can depict the three-dimensional structure of the surrounding environment in detail. The combination of the two can improve the accuracy and safety of navigation. Dynamically switching the navigation method enables the robot to better adapt to environments with different complexities. In a simple environment, a more basic navigation method is adopted, which can avoid unnecessary complex calculations and the use of high-power consumption sensors, thereby saving computing resources and power and extending the running time of the robot. In a complex environment, switching to a more accurate navigation method can ensure the accuracy and safety of navigation. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] The drawings here are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application.

[0046] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0047] Figure 1 It is a schematic flowchart provided for Embodiment 1 of the path planning method for the robot of the present application;

[0048] Figure 2Schematic flowchart provided for the second embodiment of the path planning method of the robot in this application;

[0049] Figure 3 Schematic flowchart provided for the third embodiment of the path planning method of the robot in this application;

[0050] Figure 4 Schematic flowchart provided for the fourth embodiment of the path planning method of the robot in this application;

[0051] Figure 5 Schematic diagram of the device structure of the hardware operating environment involved in the path planning method of the robot in the embodiments of this application.

[0052] The realization of the purpose, functional features and advantages of this application will be further described with reference to the embodiments and the accompanying drawings. Specific embodiments

[0053] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of this application and are not used to limit this application.

[0054] In order to better understand the technical solutions of this application, the following will be described in detail in combination with the drawings of the specification and specific embodiments.

[0055] The main solution of the embodiments of this application is: determine the environmental complexity score according to the environmental data during the movement of the robot; if the environmental complexity score is greater than a preset first score threshold, obtain the ultra-wideband positioning result and lidar data; fuse the ultra-wideband positioning result and the lidar data based on the particle filter algorithm to obtain navigation information; obtain the navigation path according to the navigation information and a preset path planning algorithm.

[0056] In the fields of autonomous driving and robot navigation, etc., information required for navigation can be obtained according to sensors such as lidar, cameras, and inertial measurement units. The lidar can obtain high-precision three-dimensional environmental information, the camera can capture rich image information, and the inertial measurement unit can provide the attitude and motion information of the vehicle.

[0057] To address the issue that a single sensor's data may not provide sufficient accuracy and reliability, data from multiple sensors is typically fused to enhance the accuracy and reliability of navigation. For example, through feature matching techniques, features in lidar data are made to correspond to features in camera images to achieve the fusion of the two types of data. The fused data is used to construct an environmental model to identify static and dynamic obstacles in the environment, as well as navigation elements. However, the environment along the navigation path changes dynamically. Employing complex sensor data fusion in a simple environment results in unnecessary resource consumption. In a complex environment, using simple sensor data for fusion may lead to navigation failure or danger due to insufficient information.

[0058] In this embodiment, for ease of description, the following elaborates with the path planning of a robot as the execution entity.

[0059] This application provides a solution that uses the environmental complexity score as a basis for determining whether to enable more complex sensor data. When the environmental complexity score is greater than a preset first score threshold, indicating a relatively high environmental complexity, the ultra-wideband positioning result and lidar data are fused. Ultra-wideband positioning provides high-precision position information, while lidar can detailedly depict the three-dimensional structure of the surrounding environment. Combining the two can improve the accuracy and safety of navigation. Dynamically switching the navigation method enables the robot to better adapt to environments of different complexities. In a simple environment, a relatively basic navigation method is adopted, which can avoid unnecessary complex calculations and the use of high-power-consuming sensors, thereby saving computing resources and power and extending the running time of the robot. In a complex environment, switching to a more accurate navigation method can ensure the accuracy and safety of navigation.

[0060] It should be noted that the execution entity of this embodiment can be a computing service device with network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device or apparatus capable of implementing the above functions. The following uses the path planning device of a robot as an example to illustrate this embodiment and the following embodiments.

[0061] Based on this, the embodiments of this application provide a path planning method for a robot, referring to Figure 1 , Figure 1 which is a schematic flowchart of the first embodiment of the path planning method for the robot of this application.

[0062] In this embodiment, the path planning method for the robot includes steps S10 to S40:

[0063] Step S10, determine the environmental complexity score according to the environmental data during the robot's movement.

[0064] In this embodiment, environmental data is obtained through sensors configured on the robot, and the environmental complexity is evaluated based on the environmental data. The evaluation indicators of environmental complexity may include the quantity and density of obstacles such as shelves and goods in the warehouse, and whether the width and layout of the passages in the warehouse are complex and changeable. The robot is equipped with a variety of sensors, such as lidar, cameras, ultrasonic radars, and UWB (Ultra-Wideband) positioning tags. The lidar quickly scans the surrounding environment to generate point cloud data; the cameras capture images or videos at a certain frame rate; the ultrasonic radars detect the obstacles in the immediate vicinity of the vehicle in real time.

[0065] In this embodiment, the clocks of the various sensors are synchronized through the PTP protocol (Precision Time Protocol).

[0066] Data and their timestamps are obtained from the various sensors on the robot. The clocks of the various sensors are synchronized using the PTP protocol to ensure that their timestamps have a unified time reference. The node of the control center or central processing unit of the robot is selected as the master clock, and the other nodes carrying sensors are used as slave clocks. The master clock periodically sends Sync messages to the network and records the timestamp t1 at the sending moment. After sending the Sync message, the master clock sends a Follow_Up message containing the timestamp t1 to the slave clock. The slave clock determines the time of the master clock when sending the Sync message based on the Follow_Up message, solving the problem that the Sync message itself cannot directly carry an accurate sending timestamp. After receiving the Sync message, the slave clock sends a Delay_Request message to the master clock after a fixed delay time and records the sending timestamp t3. After receiving the Delay_Request message, the master clock records the receiving timestamp t4 and sends the timestamp t4 back to the slave clock together with the Delay_Response message. After receiving the Delay_Response message, the slave clock determines the exact time when the master clock received the Delay_Request message. The round-trip delay with the master clock is calculated using the timestamps t1, t3, and t4, and the calculation formula is: Delay = [(t4 - t1) - (t3 - t2)] / 2. Further, the time deviation from the master clock is calculated, and the calculation formula is: Offset = (t2 - t1) - Delay. The calculated time deviation value is obtained using the interface or function provided by the PTP protocol stack. The slave clock adjusts its clock according to the time deviation to achieve synchronization with the master clock.

[0067] Step S20: If the environmental complexity score is greater than a preset first score threshold, obtain the UWB positioning result and lidar data.

[0068] In this embodiment, the navigation mode is selected according to the environmental complexity, and the protocol box is used to adapt the sensor data fusion and error compensation of different brand communication interfaces. For environments with high environmental complexity, such as areas with dense goods stacking and frequent channel changes, a navigation technology that combines multiple sensors is adopted, and data collected by lidar and inertial measurement units are combined to improve the robustness and accuracy of the navigation system. For environments with low environmental complexity, such as areas with regular shelf layouts and wide channels, visual SLAM (Simultaneous Localization and Mapping) is mainly used for navigation in a redundant magnetic stripe manner. Exemplarily, the first scoring threshold is 70. When the environmental complexity score is higher than 70, the lidar has a high-precision three-dimensional environmental perception ability, which can provide detailed obstacle information and accurate distance measurements to help the robot navigate safely and accurately in complex environments.

[0069] Step S30, based on the particle filter algorithm, fuse the ultra-wideband positioning result and the lidar data to obtain navigation information.

[0070] In this embodiment, through the communication interface of the UWB base station, the position data sent by the UWB tag on the robot is received. The received data is parsed to extract the position coordinates (X, Y, Z) and timestamp of the robot in the global coordinate system. Through the communication interface of the lidar, the scanned point cloud data is received. The point cloud data is converted from the original format to a format suitable for processing, such as a three-dimensional coordinate point set. A filtering algorithm is used to remove the noise points in the point cloud data, and the point cloud data is converted from the local coordinate system of the lidar to the global coordinate system. The point cloud data and the UWB data are fused according to the data fusion algorithm, and the data fusion algorithm can be a Kalman filter algorithm or a particle filter algorithm.

[0071] In a feasible implementation manner, the steps of obtaining navigation information by fusing the ultra-wideband positioning result and the lidar data according to the particle filter algorithm include: generating an initial particle set according to the ultra-wideband positioning result; obtaining the predicted distance from the initial particles in the initial particle set to the lidar sensor, and obtaining the difference value between the predicted distance and the actual distance; obtaining the likelihood value according to the difference value and the probability density function of the Gaussian distribution, updating the weight of the initial particle according to the likelihood value to obtain the second weight; updating the initial particle set according to the second weight to obtain the first particle set, and performing weighted averaging on the states of the first particles in the first particle set to obtain the navigation information.

[0072] In the step of generating the initial particle set based on the ultra-wideband positioning result, the initial positioning result of the robot is calculated using a UWB positioning algorithm (such as TOA, TDOA, etc.). The initial positioning result can be three-dimensional coordinates (x, y, z) or two-dimensional coordinates (x, y). Determine the elements included in the state vector of the particle. Exemplarily, the state vector includes (x, y, [z]), velocity (vx, vy, [vz]), and direction θ. Generate a set of particles centered on the UWB positioning result. The state vector of each particle is initialized to the UWB positioning result, and the choice of the number of particles depends on the computing resources and the required accuracy.

[0073] Optionally, add small random perturbations to the state vector of each particle using a Gaussian distribution. For the position, set the standard deviation σ_pos, which represents the uncertainty of the position estimate. For the velocity and direction, set the corresponding standard deviations σ_vel and σ_dir. For the state vector of each particle, draw random values from the Gaussian distribution and add them to the initial state vector. For example, for the position (x, y), generate two Gaussian random numbers δx and δy, and then update the particle's position to (x + δx, y + δy). By adding random perturbations, ensure that the particles have a certain diversity in the state space, which helps the particle filter to better explore the state space in subsequent steps.

[0074] In the step of obtaining the predicted distance from the initial particle in the initial particle set to the lidar sensor and obtaining the difference value between the predicted distance and the actual distance, predict the value that the lidar may measure according to the state of the particle (such as position, velocity, etc.). For example, when the three-dimensional position coordinates of the particle are (x p , y p , z p ), and the three-dimensional position coordinates of the lidar sensor are (x l , y l , z l ). Use the Euclidean distance formula to calculate the distance from the particle position to the lidar sensor position , and this distance is the predicted value that the lidar may measure.

[0075] In the step of obtaining the likelihood value according to the difference value and the probability density function of the Gaussian distribution and updating the weight of the initial particle according to the likelihood value to obtain the second weight, the likelihood value represents the probability of the actual measurement value of the lidar appearing under the given particle state. Since the measurement value of the lidar may be affected by noise, further compare the predicted distance with the actual measurement value to calculate the likelihood value.

[0076] In this embodiment, a Gaussian distribution is used to represent the measurement error, and the calculation formula for the likelihood value p(z∣x) is: , where z is the actual measurement value, x is the state of the particle, is the predicted measurement value.

[0077] The likelihood value represents the probability density of the actual measurement value z given the particle state x. When the difference is small, the value of the exponential term is large, so the likelihood value is also large. When the difference is large, the value of the exponential term decreases rapidly, and the likelihood value also decreases accordingly. After obtaining the likelihood value, update the weight of each particle according to the likelihood value, so that the particles more similar to the lidar measurement data obtain higher weights. The weight can be proportional to the likelihood value. For example, set the weight of each particle to its likelihood value divided by the sum of the likelihood values of all particles (normalized) to ensure that the sum of all weights is 1. The updated weight reflects the similarity between the particle state and the lidar measurement data. The higher the weight of a particle, the more likely its state is to be close to the true state. By comparing the likelihood values of different particles, update the weights of the particles to make them more accurately reflect the true state of the target.

[0078] In the step of updating the initial particle set according to the second weight to obtain the first particle set and performing a weighted average on the states of the first particles in the first particle set to obtain the navigation information, calculate the effective number of particles according to the weights of the particles to evaluate the degree of degradation of the particle set. The smaller the effective number of particles, the more degraded the particle set. Exemplarily, for the weight set w 1 , w 2 , …, w N , calculate the sum of the weights , and the effective number of particles . If the effective number of particles is smaller, it means that the particle set is more degraded, that is, the weight distribution is more uneven. If the effective number of particles is greater than or equal to the threshold, directly use the particle set and weights with updated weights for state estimation and uncertainty estimation. For each particle, extract its state value (such as position, velocity, direction, etc.), use the weight of the particle as the weight coefficient, and calculate the weighted average of the states of all particles as the state estimation value. The calculation formula for state estimation is: , where is the state estimation value at time k, is the weight of the i-th particle at time k, is the state value of the i-th particle at time k, and N is the total number of particles. Calculate the difference (residual) between its state value and the state estimation value, use the weight of the particle as the weight coefficient, and calculate the weighted variance of these residuals to obtain the uncertainty of state estimation.

[0079] If the number of effective particles is lower than a certain threshold, resampling is performed. The resampling method can be systematic resampling. Generate a random number u uniformly distributed from 0 to 1, calculate the cumulative weight of each particle, and find the particle for which the cumulative weight first exceeds u+(k - 1 / N) (where k = 1, 2, …, N) as the k-th particle in the new particle set, obtaining the second particle set. Calculate the state estimate value based on the second particle set as the position information.

[0080] Step S40, obtain the navigation path according to the navigation information and a preset path planning algorithm.

[0081] In this embodiment, establish a communication connection with robots of different brands, receive a path request and send it. The path planning result performs path planning based on the position information obtained by fusing the data of multiple sensors. The path planning algorithm can be A*, Dijkstra, etc.

[0082] In a feasible implementation manner, calculate the optimal path from the current position to the target position according to the A* algorithm. Divide the environmental map into grids, and each grid represents a position. Mark the grids where static obstacles are located as impassable, and other grids as passable. Determine the starting grid and the ending grid according to the current position and the target position of the robot, and initialize the open list and the closed list. The open list contains the grids to be evaluated, and initially only contains the starting grid. The closed list contains the grids that have been evaluated, and is initially empty. Perform a loop for path search until the open list is empty or the ending grid is found. During the loop search, take out the grid with the lowest f value from the open list, where the f value = g value + h value, the g value is the actual cost from the starting point to the current grid, and the h value is the heuristic estimated cost from the current grid to the ending point. Mark this grid as the current grid, remove it from the open list, and add it to the closed list. Check the adjacent grids of the current grid (in the four directions of up, down, left, and right, or consider more directions according to the movement ability). If the adjacent grid is in the closed list, skip it; if the adjacent grid is an obstacle grid, skip it; if the adjacent grid is not in the open list, calculate the g value from the starting point to the adjacent grid, use the Manhattan distance or the Euclidean distance as the heuristic function to calculate the h value from the adjacent grid to the ending point, add the adjacent grid to the open list, and set its parent grid as the current grid; if the adjacent grid is already in the open list, but the new g value is lower, then update the g value and the f value of the adjacent grid, and update its parent grid as the current grid. After the loop search ends, start from the ending grid and backtrack along the parent grid chain to the starting grid. Connect the grids passed through during the backtracking process in sequence to form a path from the starting point to the ending point. Output the path in the form of a coordinate sequence for the robot to use when executing navigation instructions.

[0083] Optionally, a weight factor is introduced based on the A* algorithm to consider the impact of the time window and safety distance on path planning. Then the evaluation function is f(n) = α*g(n) + β*h(n) + γ*t(n) + δ*s(n), where α, β, γ, and δ are weight factors, t(n) is the cost related to the time window (such as waiting time), and s(n) is the cost related to the safety distance (such as the penalty for violating the safety distance). When allocating the time window, a suitable basic unit of the time window is determined according to the running speed and path length of the robot, such as 5 minutes. A priority is assigned to each robot, and the priority can be determined according to factors such as the type of the robot (such as heavy-load robot, light-load robot), the importance of the task (such as urgent order, regular order), etc. A time window allocation table is created to record the path usage rights of each robot in each time period. When a new path request arrives, the time window allocation is dynamically adjusted according to the priority of the robot and the urgency of the task. A dynamic safety distance threshold is set at the intersection area or path convergence point. When the AGV approaches these areas, the safety distance is dynamically calculated and set according to the current state (speed, acceleration) of the robot and the path planning result.

[0084] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar content as that in the above-mentioned first embodiment can be referred to the above introduction and will not be described in detail hereinafter. On this basis, please refer to Figure 2 , step S10 may include steps S10 to S15:

[0085] Step S11, obtain the point cloud data, the first image data, and the ultra-wideband signal data during the movement of the robot.

[0086] In this embodiment, the robot is equipped with a variety of sensors, such as lidar, ultra-wideband sensors, cameras, etc. The lidar quickly scans the surrounding environment to generate point cloud data; the millimeter-wave radar continuously emits and receives millimeter-wave signals to obtain the distance, speed, and angle information of the target; the camera captures images or videos at a certain frame rate; the ultrasonic radar detects the obstacles in the close vicinity of the vehicle in real time.

[0087] Step S12, extract the shelf feature information from the point cloud data, group the shelf feature information according to the clustering algorithm, and determine the shelves and the shelf density.

[0088] In this embodiment, the feature information of the shelves, such as edges, corner points, etc., is extracted from the preprocessed point cloud data. Optionally, edge extraction is performed on the point cloud data according to the edge detection function in the PCL (Point Cloud Library). A corner point detection algorithm is used, such as a corner point detection algorithm based on curvature or normal change, to identify the corner points. The extracted edges and corner points are used as the input of the clustering algorithm, and the DBSCAN algorithm is applied to perform clustering according to the density of points. According to the clustering results, different shelf areas are identified. For each clustering result (i.e., each shelf area), a convex hull algorithm or a minimum bounding box algorithm is applied to determine the boundary and position of each shelf. Triangulation is performed on the boundary points of each shelf or it is regarded as a polygon, and the corresponding area calculation formula is used to calculate the area. The areas of all shelves are traversed, and the area values are added up to obtain the total area occupied by the shelves. Shelf density = total area occupied by the shelves / total area of the warehouse.

[0089] Step S13, perform dynamic obstacle recognition according to the point cloud data and the first image data to obtain the number of dynamic obstacles.

[0090] In this embodiment, dynamic obstacles are comprehensively judged according to the point cloud data obtained by the lidar sensor and the image data obtained by the imaging device. The repeated dynamic clusters and dynamic targets are removed, and the number of dynamic clusters and dynamic targets after deduplication is confirmed as the number of dynamic obstacles.

[0091] In a feasible implementation manner, the steps of determining dynamic obstacles according to the point cloud data may include: obtaining point cloud data of a preset number of frames, clustering the point cloud data of each frame to obtain point cloud clusters of each frame; obtaining the displacement of the cluster centers of the point cloud clusters between adjacent frames, and marking the point cloud clusters with the displacement greater than a preset displacement threshold as dynamic clusters.

[0092] In this implementation manner, continuous frames of point cloud data are obtained from the lidar sensor, and the point cloud data of each frame is clustered to obtain point cloud clusters of each frame. The clustering method may be the DBSCAN or Euclidean clustering algorithm. After obtaining the point cloud clusters, the center position of each cluster is calculated by the average value of all points within the cluster. For each cluster, the displacement of its cluster center between adjacent frames is calculated. If the displacement of a certain cluster between any two adjacent frames in consecutive frames is greater than the preset displacement threshold, then the cluster is marked as dynamic.

[0093] In a feasible implementation manner, the steps of determining dynamic obstacles according to the image data may include: performing obstacle detection in the image data according to the target detection algorithm to obtain an obstacle bounding box; obtaining the moving speed of the center point of the obstacle bounding box, and marking the obstacle with the moving speed greater than a preset moving speed threshold as a dynamic target.

[0094] In this embodiment, continuous video frames are obtained from a camera, and an object detection algorithm (such as YOLO, Faster R-CNN, etc.) is used for each frame image to detect obstacle objects, and the bounding box of each obstacle object is obtained. The average value of the upper left corner and lower right corner coordinates of the bounding box is used as the center coordinate of the bounding box. For each object, the pixel distance formula is used to calculate the displacement of the center of the bounding box between adjacent frames, and the moving speed is obtained by dividing the pixel displacement by the time interval. If the moving speed of the center of the bounding box of a certain object in consecutive frames is greater than the preset moving speed threshold, the object is marked as dynamic.

[0095] Step S14, obtain prediction data according to a preset ultra-wideband positioning model, and obtain the ultra-wideband signal residual between the prediction data and the ultra-wideband signal data.

[0096] Step S15, perform weighted average calculation according to the shelf density, the number of dynamic obstacles, and the ultra-wideband signal residual to obtain the environmental complexity score.

[0097] In this embodiment, the formula for the environmental complexity score is: Score = w1 × shelf density + w2 × number of dynamic obstacles + w3 × UWB residual, where w1, w2, and w3 are the corresponding weights. The formula for the environmental complexity score comprehensively considers three factors: shelf density, number of dynamic obstacles, and UWB residual, and assigns different weights to them, which can comprehensively evaluate the complexity of the environment and provide a basis for dynamically switching the navigation method according to the environmental complexity.

[0098] Based on the first embodiment of the present application, in the third embodiment of the present application, the same or similar content as in the above-mentioned first embodiment can be referred to the above introduction and will not be repeated hereinafter. On this basis, please refer to Figure 3 , after step S10, the path planning method of the robot may further include steps A10 to A20:

[0099] Step A10, if the environmental complexity score is less than a preset second score threshold, obtain the magnetic stripe information output by the magnetic stripe sensor and obtain the second image data output by the image sensor.

[0100] In this embodiment, magnetic stripe information is obtained through a magnetic stripe sensor, which is used to represent the position (such as distance, offset) and direction (such as heading angle) of the robot relative to the magnetic stripe. Image information in the environment is obtained through the camera of the visual SLAM (Simultaneous Localization and Mapping) system, which is used to represent the position and direction of the robot relative to the environmental map, as well as the position information of other objects in the environment (such as obstacles, landmark points, etc.). When the environmental complexity score is lower than the second scoring threshold, it indicates that the environment is relatively simple, the shelf density is low, and there are few dynamic obstacles. The visual SLAM (Simultaneous Localization and Mapping) mode is selected for navigation. This mode can provide sufficient navigation accuracy in a simple environment while saving resources.

[0101] Step A20: Based on the Kalman filtering algorithm, the magnetic stripe information and the second image data are fused to obtain the navigation information.

[0102] In this embodiment, the initial state estimate and the initial error covariance matrix of the Kalman filter are set. The initial state estimate can be set based on information such as the initial position and speed of the robot. The system dynamic model (such as the kinematic model) is used to predict the state of the robot at the next moment. The predicted state estimate and the predicted error covariance matrix are used to represent the prior estimate and uncertainty of the robot state. The magnetic stripe information and the image information are obtained as the observation data. After converting the observation data into the system state space, the difference between the observation data and the predicted state is calculated to obtain the observation residual. The Kalman gain and the observation residual are used to update the state estimate to obtain the posterior state estimate. And the error covariance matrix is updated to reflect the uncertainty of the updated state estimate. The posterior state estimate provides the accurate position and direction of the robot at the current moment, which is used for navigation tasks such as path planning and obstacle avoidance of the robot.

[0103] In a feasible implementation manner, when the visual sensor may be affected by environmental interference or light changes, resulting in the inability to stably track and match feature points, the current position and pose of the robot are determined based on the magnetic stripe information, and then path planning is performed. It may include the following steps: obtaining feature points in consecutive frame images according to the image feature detection algorithm and matching the feature points; obtaining the number of target feature points with successful matching, and determining the matching rate according to the number of target feature points; when the matching rate is lower than the preset matching rate, determining the navigation information according to the magnetic stripe information.

[0104] In this embodiment, an image feature detection algorithm (such as SIFT, SURF, ORB, etc.) is used to extract feature points from consecutive frame images. Feature points are usually points with significant gray-scale changes or texture information in the image, such as corner points and edge points. A feature point matching algorithm, such as brute-force matching or fast nearest-neighbor matching, is used to find matching feature point pairs between consecutive frame images. The matching rate is obtained by dividing the number of successfully matched feature point pairs by the total number of feature point pairs. When the matching rate is lower than the preset matching rate threshold, it is determined that the vision sensor is interfered. Exemplarily, when the matching rate of three consecutive frames is lower than 50%, the navigation information is determined according to the magnetic stripe information. When the magnetic stripe information on the robot's traveling route is obtained based on the activated magnetic guidance sensor, the current position of the robot in the global coordinate system is calculated according to the magnetic stripe information and the pre-laid magnetic stripe map. The current pose (such as the orientation) of the robot is deduced using the arrangement and direction of the magnetic stripes. According to the current position and pose of the robot, as well as the target position, a feasible traveling path is planned. During the traveling process, the visual SLAM matching rate is continuously monitored. When the matching rate is greater than or equal to the preset threshold, the robot switches back to the visual navigation mode.

[0105] Based on the first embodiment of the present application, in the fourth embodiment of the present application, the same or similar content as that in the above-mentioned first embodiment can be referred to the above introduction and will not be repeated hereinafter. On this basis, please refer to Figure 4 , after step S10, the path planning method of the robot may further include steps B10 to B20:

[0106] Step B10, when it is detected that the ultra-wideband signal strength is less than the preset signal strength threshold and the magnetic stripe noise is greater than the preset noise threshold, it is confirmed that the robot is in a signal interference area.

[0107] In this embodiment, the original signal strength value between the UWB tag and the base station is read in real time through a programming interface, and the sliding window mean filtering algorithm is used to process the original signal strength values of several consecutive frames. Exemplarily, the mean value of every 10 original signal strength values is taken to obtain a filtered ultra-wideband signal strength value. A window with a length of 10 is defined to store consecutive signal strength data frames. The signal strength is read in real time from the UWB base station and stored in the sliding window in chronological order. When the number of data frames in the window reaches 10 frames, mean filtering processing is performed. Arithmetic mean operation is performed on the 10 signal strength data in the window to obtain a filtered signal strength value. The signal strength threshold is set according to the historical data statistics results. The signal strength value is compared with the preset threshold.

[0108] Optionally, fuse the signal strength data of multiple base stations, construct a positioning equation, solve the position coordinates of the robot using the least squares method, and calculate the positioning residual. Through iterative optimization, minimize the positioning residual. Obtain the ultra-wideband signal strength by optimizing the positioning residual. By combining the data of multiple base stations for filtering, the errors and outliers that may exist in the data of a single base station can be reduced, and the impact of the interference of a single base station on the overall positioning result can be weakened.

[0109] In this embodiment, obtain the analog signal output by the magnetic stripe sensor according to the detected magnetic field strength change. This signal reflects the relative position relationship between the magnetic stripe and the sensor. Sample the analog signal through an analog-to-digital converter and convert it into a digital signal. Perform band-pass filtering on the sampled digital signal through a digital filter to retain the signal components within the working frequency band of the magnetic stripe. Perform a moving average operation on the signals within a continuous period of time to obtain a smooth baseline value, and then subtract this baseline value from the original signal to obtain the corrected signal. By performing the correction, the influence caused by the drift of the signal baseline over time due to the characteristics of the sensor itself or environmental factors can be eliminated. Perform time-domain analysis on the corrected signal and calculate the standard deviation and mean of the signal. Calculate the noise ratio according to the calculation formula of the signal-to-noise ratio: signal-to-noise ratio = (standard deviation / mean) × 100%, and obtain the signal-to-noise ratio. Set the signal-to-noise ratio threshold according to the requirements of the actual application scenario.

[0110] Step B20, fuse the magnetic stripe signal output by the magnetic stripe sensor and the inertial measurement data output by the inertial measurement unit to obtain the navigation information.

[0111] In this embodiment, obtain the position information from the magnetic stripe sensor and the acceleration and angular velocity data from the inertial measurement unit. Define the state vector and the observation vector. The state vector , where x, y, z are the position coordinates, vx, vy, vz are the velocity components, are the pitch angle, yaw angle, and roll angle respectively. The observation vector includes the position information provided by the magnetic stripe sensor and the attitude information provided by the IMU. The observation vector . Initialize the state covariance matrix P, the observation noise covariance matrix R, and the initial Kalman gain matrix K, , where, H is the observation matrix, which maps the state vector to the observation vector. Update the state vector using the data of the magnetic stripe sensor and the Kalman gain matrix K. The update formula is as follows: , where, X new is the updated state vector, X pred is the predicted state vector obtained in the prediction step, and Z is the observation vector. After updating the state vector, update the state covariance matrix P to reflect the new uncertainty. The update formula is as follows: , where, Pnew is the updated state covariance matrix, P pred is the predicted state covariance matrix obtained in the prediction step, and I is the identity matrix. The updated state vector contains more accurate navigation information.

[0112] In this embodiment, the magnetic stripe navigation provides a basic navigation path, and the inertial measurement unit can correct the position deviation of the robot in real time during driving, thereby improving the navigation accuracy. The high-precision measurement ability of the data collected by the inertial measurement unit can make up for the deficiencies of the magnetic stripe navigation in complex environments and ensure that the robot can maintain stable navigation performance in signal interference areas.

[0113] Based on the first embodiment of the present application, in the fifth embodiment of the present application, the same or similar content as in the above-mentioned Embodiment 1 can be referred to the above introduction and will not be repeated hereinafter. On this basis, the path planning method of the robot may further include: using the navigation path as a node, adding edges according to the path connection relationship to obtain a conflict prediction graph; traversing the nodes and edges in the conflict prediction graph according to the loop detection algorithm to determine whether there is a deadlock loop; if so, obtaining an alternative path of the target robot on the deadlock loop and controlling the target robot to travel according to the alternative path.

[0114] In this embodiment, the target path is abstracted as a node in the graph, and each node represents a specific position and contains corresponding attribute information, such as position coordinates, idle state (idle, occupied, etc.). In addition to the target path, the node can also be a charging station, a task end point, etc. The occupancy relationship between paths is abstracted as an edge in the graph. The direction of the edge represents the moving direction of the robot, and the weight of the edge can represent the time, distance, or other costs required for movement. A graph data structure (such as an adjacency matrix, an adjacency list, etc.) is used to represent the conflict prediction graph.

[0115] It should be noted that a loop refers to a path that starts from a node, passes through a series of edges and nodes, and finally returns to the starting node. If multiple robots wait for each other to release resources, a loop will be formed, that is, a deadlock loop.

[0116] In this embodiment, the loop detection algorithm can be a graph search algorithm such as depth-first search or breadth-first search. Exemplarily, according to the depth-first search algorithm, the nodes and edges in the graph are traversed recursively or by using a stack to find a path that can return to the current node starting from the current node. During the traversal process, the visited nodes and edges are recorded to avoid repeated visits. When it is found that a node has been visited and the current path does not return through the parent node of this node (i.e., it is not a backtracking path), it indicates that there is a loop. At this time, it is further determined whether this loop forms a deadlock loop. If each node in the loop is occupied by a different robot and these robots are all waiting for other resources in the loop to be released, a deadlock loop is formed.

[0117] In this embodiment, multiple alternative paths are provided for the robot. When it is detected that there is a potential deadlock risk in the deadlock loop, an alternative path is selected to continue executing the task. When generating a path, each generated alternative path is evaluated, including indicators such as path length, travel time, and obstacle density. According to the evaluation results, the alternative paths are screened out in the order of the indicator rankings. The screened alternative paths are stored in the control system of the robot and the alternative path is called when there is a conflict or deadlock in the main path.

[0118] Based on the first embodiment of this application, in the sixth embodiment of this application, the same or similar content as in the above-mentioned first embodiment can be referred to the above introduction and will not be repeated hereinafter. The above-mentioned path planning method for the robot further includes fusing the maps of brand robots, including the following steps: converting the format of the initial map data of each brand, converting the vector format map into a raster format, and / or unifying the resolution of the image map data; aligning and converting the coordinate systems of the map data after format conversion to obtain second map data; obtaining transformation parameters between the second map data according to the feature points in the second map data, and performing map fusion on the second map data according to the transformation parameters to obtain a standard map.

[0119] It can be understood that robots of different brands often use their own independent maps. It is necessary to construct a standard map applicable to all AGVs through map unification and fusion, so as to achieve centralized control and unified scheduling.

[0120] In this embodiment, map data of robots of different brands are collected and preprocessed. The map data may include UWB (Ultra-Wideband) signal data, visual image data, magnetic stripe signal data, point cloud data of laser SLAM, etc. The collected map data is cleaned, and preprocessing operations such as removing noise, error data, and duplicate data are performed. For example, for UWB signal data, abnormal signal intensity values are removed; for visual image data, images that are blurred or severely occluded are removed; for magnetic stripe signal data, interference signals are filtered; for point cloud data of laser SLAM, outliers and noise points are filtered. After preprocessing, the map data of different brands is converted into a unified format, the vector-format map is converted into a raster format, and image data with different resolutions is adjusted to the same resolution.

[0121] In this embodiment, corner points, edge feature points or feature regions are extracted from the second map data according to feature extraction algorithms such as SIFT and SURF. Feature points or feature regions in different maps are matched according to the feature matching algorithm to find corresponding points. According to the matched feature point pairs, the transformation parameters between the maps, such as translation, rotation, and scaling, are calculated using the ICP (Iterative Closest Point) algorithm or the NDT (Normal Distribution Transform) algorithm. The calculated transformation parameters are applied to the map data to register the map data of different brands under a unified coordinate system. The unified coordinate system can be based on the coordinate system of an AGV of a certain brand or a new coordinate system is established with a fixed point in the working area as the origin. The map data of different brands is converted to the unified coordinate system. After registering the map data of different brands into the unified coordinate system, weight values are set according to factors such as the accuracy, resolution, and reliability of the map data. The weight value of map data with high accuracy and high resolution should be larger. According to the weighted average method and the set weight values, the map data at the same position is fused to generate a complete standard map.

[0122] Exemplarily, for UWB signal data, the positional relationship between the UWB positioning tag and the anchor point is obtained, and the data in the UWB coordinate system is converted to the unified coordinate system using the transformation matrix. For visual image data and point cloud data of laser SLAM, the relative position and attitude between the sensor and the AGV body are obtained through camera calibration and lidar calibration, and then the data is converted to the unified coordinate system. For magnetic stripe signal data, the data in the magnetic stripe coordinate system is converted to the unified coordinate system through the laying position and direction of the magnetic stripe.

[0123] It should be noted that the above examples are only for understanding the present application and do not constitute a limitation on the path planning method of the robots in the present application. Based on this technical concept, more forms of simple transformations are within the protection scope of the present application.

[0124] The present application provides a path planning device for a robot. The path planning device for the robot includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the path planning method for the robot in the first embodiment above.

[0125] Reference is made below Figure 5 , which shows a schematic structural diagram of a path planning device for a robot suitable for implementing the embodiments of the present application. The path planning device for the robot in the embodiments of the present application may include, but is not limited to, mobile terminals such as laptop computers, personal digital assistants (PDAs), tablet computers (PADs), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The path planning device for the robot shown is merely an example and should not impose any limitation on the functions and usage scope of the embodiments of the present application.

[0126] As Figure 5 shown, the path planning device for the robot may include a processing device 1001 (such as a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. In the random access memory 1004, various programs and data required for the operation of the path planning device for the robot are also stored. The processing device 1001, the read-only memory 1002, and the random access memory 1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems may be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 may allow the path planning device for the robot to communicate with other devices wirelessly or wiredly to exchange data. Although the path planning device for the robot with various systems is shown in the figure, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems may be implemented or had alternatively.

[0127] In particular, according to the embodiments disclosed in the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present application include a computer program product that includes a computer program carried on a computer-readable medium, and the computer program includes program codes for executing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a read-only memory 1002. When the computer program is executed by a processing device 1001, the above functions defined in the methods of the embodiments disclosed in the present application are executed.

[0128] The path planning device of the robot provided by the present application adopts the path planning method of the robot in the above embodiments, and can solve the technical problem of unreasonable utilization of navigation resources under different environmental conditions and the difficulty in balancing navigation accuracy and efficiency. Compared with the prior art, the beneficial effects of the path planning device of the robot provided by the present application are the same as those of the path planning method of the robot provided in the above embodiments, and other technical features in the path planning device of the robot are the same as the features disclosed in the method of the previous embodiment, and will not be elaborated here.

[0129] It should be understood that each part disclosed in the present application can be implemented by hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in a suitable manner in any one or more embodiments or examples.

[0130] As described above, the above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present application, and all should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

[0131] The present application provides a computer-readable storage medium having computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the path planning method of the robot in the above embodiments.

[0132] The computer-readable storage medium provided by the present application may, for example, be a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory, optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, radio frequency (RF), etc., or any suitable combination of the above.

[0133] The above computer-readable storage medium may be included in the path planning device of the robot; or it may exist separately and not be assembled into the path planning device of the robot.

[0134] The above computer-readable storage medium carries one or more programs. When the one or more programs are executed by the path planning device of the robot, the path planning device of the robot is caused to: determine an environmental complexity score according to the environmental data during the movement of the robot; if the environmental complexity score is greater than a preset first score threshold, obtain an ultra-wideband positioning result and lidar data; fuse the ultra-wideband positioning result and the lidar data based on a particle filter algorithm to obtain navigation information; and obtain a navigation path according to the navigation information and a preset path planning algorithm.

[0135] Computer program code for performing the operations of this application can be written in one or more programming languages or combinations thereof. The above-mentioned programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN, Local Area Network) or a wide area network (WAN, Wide Area Network), or it can be connected to an external computer (for example, by using an Internet service provider to connect through the Internet).

[0136] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of the code, and this module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutively represented blocks may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0137] The modules involved in the embodiments described in this application can be implemented in software or in hardware. Among them, the name of the module does not constitute a limitation on the unit itself in some cases.

[0138] The readable storage medium provided by this application is a computer-readable storage medium. The computer-readable storage medium stores computer-readable program instructions (i.e., computer programs) for performing the above-mentioned path planning method of the robot, and can solve the technical problem of unreasonable utilization of navigation resources under different environmental conditions and the difficulty of balancing navigation accuracy and efficiency. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by this application are the same as those of the path planning method of the robot provided by the above embodiments, and will not be elaborated here.

[0139] The present application also provides a computer program product, including a computer program which, when executed by a processor, implements the steps of the path planning method of the robot as described above.

[0140] The computer program product provided by the present application can solve the technical problem that the utilization of navigation resources is unreasonable under different environmental conditions, and it is difficult to balance navigation accuracy and efficiency. Compared with the prior art, the beneficial effects of the computer program product provided by the present application are the same as those of the path planning method of the robot provided by the above embodiments, and will not be elaborated herein.

[0141] The foregoing are only partial embodiments of the present application, and thus do not limit the patent scope of the present application. Any equivalent structural transformation made under the technical concept of the present application by using the content of the specification and drawings of the present application, or any direct / indirect application in other related technical fields, is included in the patent protection scope of the present application.

Claims

1. A robot path planning method, characterized in that: The path planning method of the robot comprises: Acquire point cloud data, first image data, and ultra-wideband signal data of the robot during its movement; Extracting shelf feature information from the point cloud data, grouping the shelf feature information according to a clustering algorithm, and determining the shelf and shelf density; Performing dynamic obstacle recognition according to the point cloud data and the first image data to obtain the number of dynamic obstacles; Acquire prediction data according to a preset ultra-wideband positioning model, and acquire an ultra-wideband signal residual between the prediction data and the ultra-wideband signal data; Performing weighted average calculation according to the shelf density, the number of dynamic obstacles and the ultra-wideband signal residual to obtain an environment complexity score; If the environment complexity score is greater than a preset first score threshold, obtaining an ultra-wideband positioning result and a lidar data; fusing the ultra-wideband positioning result and the laser radar data based on a particle filter algorithm to obtain navigation information; Obtaining a navigation path according to the navigation information and a preset path planning algorithm; If the environmental complexity score is less than a preset second score threshold, obtaining magnetic stripe information output by the magnetic stripe sensor, and obtaining second image data output by the image sensor; Based on the Kalman filter algorithm, the magnetic stripe information and the second image data are fused to obtain the navigation information.

2. The robot path planning method according to claim 1, characterized in that: The step of fusing the ultra-wideband positioning result and the laser radar data based on a particle filter algorithm to obtain navigation information comprises: Generate an initial particle set according to the ultra-wideband positioning result; Obtaining a predicted distance from an initial particle in the initial particle set to a laser radar sensor, and obtaining a difference value between the predicted distance and the actual distance; Obtaining a likelihood value according to the difference value and a probability density function of a Gaussian distribution, and updating a weight of the initial particle according to the likelihood value to obtain a second weight; The initial particle set is updated according to the second weight to obtain a first particle set, and the states of the first particles in the first particle set are weighted averaged to obtain the navigation information.

3. The robot path planning method according to claim 1, characterized in that: The step of identifying dynamic obstacles according to the point cloud data and the image data to obtain the number of dynamic obstacles comprises: Clustering the point cloud data to obtain point cloud clusters; Acquire the displacement of the cluster center of the point cloud cluster between adjacent frames, and mark the point cloud cluster whose displacement is greater than a preset displacement threshold as a dynamic cluster; Performing obstacle detection in the first image data according to a target detection algorithm to obtain an obstacle bounding box; Obtaining the moving speed of the center point of the obstacle boundary box, and marking the obstacles whose moving speed is greater than a preset moving speed threshold as dynamic targets; The repeated dynamic clusters and dynamic targets are removed, and the number of dynamic clusters and the number of dynamic targets after removal of duplicates are confirmed as the number of dynamic obstacles.

4. The robot path planning method according to claim 1, characterized in that: Before the step of fusing the magnetic stripe information and the second image data based on the Kalman filter algorithm to obtain the navigation information, the following steps are included: Acquire feature points in continuous frame images according to an image feature detection algorithm, and match the feature points; Obtaining the number of successfully matched target feature points, and determining a matching rate according to the number of target feature points; When the matching rate is lower than a preset matching rate, the navigation information is determined according to the magnetic stripe information.

5. The robot path planning method according to claim 1, characterized in that: After the step of obtaining a navigation path according to the navigation information and a preset path planning algorithm, the method further includes: Taking the navigation path as a node, adding edges according to the path connection relationship to obtain a conflict prediction graph; Traversing the nodes and edges in the conflict prediction graph according to a loop detection algorithm to determine whether there is a deadlock loop; If so, an alternative path of the target robot on the deadlock loop is obtained, and the target robot is controlled to move according to the alternative path.

6. A robot path planning device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the robot path planning method according to any one of claims 1 to 5.

7. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the robot path planning method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Integrative irrigation system and irrigation method of water and fertilizer

    CN107306765A

  • Multi-sensor fusion accurate positioning and autonomous navigation method

    CN116576868A