Robot path planning method and device and storage medium
By introducing the method of environmental complexity score and dynamic navigation mode switching in the robot navigation system, the problem of unreasonable utilization of navigation resources is solved, and the navigation accuracy and efficiency are achieved.
Patent Information
- Application Number
- CN202510398841.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2045-04-01
AI Technical Summary
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.
By determining the environmental complexity score based on the environment data during the robot's travel, and dynamically switching the navigation method according to the scoring threshold. If the environmental complexity score is higher than the preset threshold, a particle filtering algorithm is used to fuse ultra-wideband positioning results and lidar data to improve navigation accuracy and security.
Dynamic switching navigation methods enable robots to better adapt to environments of different complexities, improve navigation accuracy and security, and at the same time save computing resources and power in a simple environment and extend the running time of the robot.
Smart Images

Figure CN119901279A_ABST
Abstract
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 based on 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: Determine the environmental complexity score based on the environmental data during the robot's movement; 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; A navigation path is obtained according to the navigation information and a preset path planning algorithm.
[0007] In one embodiment, the step of fusing the ultra-wideband positioning result and the laser radar data based on a particle filter algorithm to obtain navigation information includes: 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.
[0008] In one embodiment, the step of determining the environmental complexity score according to the environmental data during the robot's movement includes: 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; The environment complexity score is obtained by performing a weighted average calculation based on the shelf density, the number of dynamic obstacles, and the ultra-wideband signal residual.
[0009] In one embodiment, the step of identifying dynamic obstacles according to the point cloud data and the image data to obtain the number of dynamic obstacles includes: 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.
[0010] In one embodiment, after the step of determining the environmental complexity score according to the environmental data during the robot's movement, the following steps are included: 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.
[0011] In one embodiment, 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 step includes: 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.
[0012] In one embodiment, after the step of obtaining a navigation path according to the navigation information and a preset path planning algorithm, the following steps are included: When it is detected that the ultra-wideband signal strength is less than a preset signal strength threshold, and the magnetic stripe noise is greater than a preset noise threshold, it is confirmed that the robot is in a signal interference area; The magnetic stripe signal output by the magnetic stripe sensor and the inertial measurement data output by the inertial measurement unit are fused to obtain the target navigation information.
[0013] In one embodiment, after the step of obtaining a navigation path according to the navigation information and a preset path planning algorithm, the following steps are included: 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.
[0014] In addition, to achieve the above-mentioned objectives, the present application also proposes a robot path planning device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the robot path planning method as described above.
[0015] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the robot path planning method described above are implemented.
[0016] This application proposes a robot path planning method, which uses the environmental complexity score as the basis for judging whether it is necessary to enable more complex sensor data. When the environmental complexity score is greater than the preset first score threshold and the environmental complexity is high, the ultra-wideband positioning result and the lidar data are integrated. The ultra-wideband positioning provides high-precision location 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 navigation methods enables the robot to better adapt to environments of different complexities. In simple environments, using a more basic navigation method can avoid unnecessary complex calculations and the use of high-energy consumption sensors, thereby saving computing resources and electricity and extending the robot's operating time. In complex environments, switching to a more accurate navigation method can ensure the accuracy and safety of navigation. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0019] Figure 1 A schematic diagram of a process flow provided for the first embodiment of the path planning method for the robot of the present application; Figure 2 A schematic diagram of a flow chart of a second embodiment of a path planning method for a robot of the present application; Figure 3 A schematic diagram of a process flow provided for the third embodiment of the path planning method for the robot of the present application; Figure 4 A schematic diagram of a process flow provided for a fourth embodiment of a path planning method for a robot of the present application; Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the robot path planning method in the embodiment of the present application.
[0020] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0021] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.
[0022] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0023] The main solution of the embodiment of the present application is: determine the environment complexity score based on the environmental data during the robot's movement; if the environment complexity score is greater than a preset first score threshold, obtain ultra-wideband positioning results and lidar data; fuse the ultra-wideband positioning results and the lidar data based on a particle filtering algorithm to obtain navigation information; obtain a navigation path based on the navigation information and a preset path planning algorithm.
[0024] In the fields of autonomous driving and robot navigation, the information required for navigation can be obtained based on 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.
[0025] 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.
[0026] In this embodiment, for the convenience of description, the following description is made taking the path planning of the robot as the execution subject.
[0027] The present application provides a solution that uses the environmental complexity score as the basis for determining whether more complex sensor data needs to be enabled. When the environmental complexity score is greater than the preset first score threshold and the environmental complexity is high, the ultra-wideband positioning results and the lidar data are integrated. The ultra-wideband positioning provides high-precision location 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 navigation methods enables the robot to better adapt to environments of different complexities. In simple environments, using a more basic navigation method can avoid unnecessary complex calculations and the use of high-energy consumption sensors, thereby saving computing resources and electricity and extending the robot's operating time. In complex environments, switching to a more accurate navigation method can ensure the accuracy and safety of navigation.
[0028] It should be noted that the execution subject 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, a device, etc. that can realize the above functions. The following takes the path planning device of a robot as an example to illustrate this embodiment and the following embodiments.
[0029] Based on this, the present application embodiment provides a path planning method for a robot, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the path planning method for the robot of the present application.
[0030] In this embodiment, the robot path planning method includes steps S10 to S40: Step S10, determining the environmental complexity score according to the environmental data during the robot's movement.
[0031] In this embodiment, environmental data is obtained through sensors configured on the robot, and the environmental complexity is evaluated based on the environmental data. Evaluation indicators of environmental complexity may include the number and density of obstacles such as shelves and goods in the warehouse, whether the width and layout of the aisles in the warehouse are complex and changeable, etc. The robot is equipped with a variety of sensors, such as lidar, camera, ultrasonic radar, and UWB (Ultra-Wideband) positioning tags. Lidar quickly scans the surrounding environment and generates point cloud data; the camera captures images or videos at a certain frame rate; the ultrasonic radar detects obstacles around the vehicle in close proximity in real time.
[0032] In this embodiment, the clocks of the sensors are synchronized through the PTP protocol (Precision Time Protocol).
[0033] Get data and its timestamp from each sensor on the robot. Use the PTP protocol to synchronize the clocks of each sensor to ensure that their timestamps have a unified time reference. Select the node of the robot's control center or central processing unit as the master clock, and other nodes equipped with sensors as slave clocks. The master clock periodically sends Sync messages to the network and records the timestamp t1 at the time of sending. 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 when the master clock sends the Sync message based on the Follow_Up message, solving the problem that the Sync message itself cannot directly carry the 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 receives the Delay_Request message. The round-trip delay between the slave clock and the master clock is calculated using the timestamps t1, t3, and t4. The calculation formula is: Delay = [(t4 - t1) - (t3 - t2)] / 2. Furthermore, the time offset between the slave clock and the master clock is calculated using the formula: Offset = (t2 - t1) - Delay. The calculated time offset value is obtained using the interface or function provided by the PTP protocol stack. The slave clock adjusts its own clock according to the time offset to achieve synchronization with the master clock.
[0034] Step S20: If the environment complexity score is greater than a preset first score threshold, ultra-wideband positioning results and lidar data are obtained.
[0035] In this implementation, the navigation mode is selected according to the complexity of the environment, and the data fusion and error compensation of sensors with different brands of communication interfaces are adapted through the protocol box. For environments with high environmental complexity, such as areas with densely stacked goods and frequent channel changes, multi-sensor fusion navigation technology is used, combined with data collected by lidar and inertial measurement units, to improve the robustness and accuracy of the navigation system. For environments with low environmental complexity, such as areas with regular shelf layouts and spacious channels, visual SLAM (simultaneous localization and mapping) is mainly used, and navigation is performed in a magnetic strip redundancy manner. Exemplarily, the first scoring threshold is 70. When the environmental complexity score is higher than 70, the high-precision three-dimensional environmental perception capability of the lidar can provide detailed obstacle information and accurate distance measurement, helping the robot to navigate safely and accurately in complex environments.
[0036] Step S30, fusing the ultra-wideband positioning result and the lidar data based on a particle filter algorithm to obtain navigation information.
[0037] In this embodiment, the position data sent by the UWB tag on the robot is received through the communication interface of the UWB base station. The received data is parsed to extract the position coordinates (X, Y, Z) and timestamp of the robot in the global coordinate system. The scanned point cloud data is received through the communication interface of the laser radar. 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 noise points in the point cloud data, and the point cloud data is converted from the local coordinate system of the laser radar to the global coordinate system. The point cloud data and the UWB data are fused according to a data fusion algorithm, which can be a Kalman filter algorithm or a particle filter algorithm.
[0038] In a feasible implementation, the step of fusing ultra-wideband positioning results and lidar data according to a particle filtering algorithm to obtain navigation information includes: generating an initial particle set according to the ultra-wideband positioning results; obtaining a predicted distance from an initial particle in the initial particle set to a lidar 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, updating a weight of the initial particle according to the likelihood value to obtain a second weight; updating the initial particle set according to the second weight to obtain a first particle set, and weighted averaging the states of the first particles in the first particle set to obtain the navigation information.
[0039] In the step of generating an initial particle set according to the ultra-wideband positioning result, a UWB positioning algorithm (such as TOA, TDOA, etc.) is used to calculate the initial positioning result of the robot. The initial positioning result can be a three-dimensional coordinate (x, y, z) or a two-dimensional coordinate (x, y). Determine the elements contained in the state vector of the particle. For example, the state vector includes (x, y, [z]), speed (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. The selection of the number of particles depends on the computing resources and the required accuracy.
[0040] Optionally, add small random perturbations to the state vector of each particle using a Gaussian distribution. For position, set the standard deviation σ_pos to represent the uncertainty of the position estimate. For velocity and direction, set the corresponding standard deviations σ_vel and σ_dir. For the state vector of each particle, draw a random value from the Gaussian distribution and add it 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 better explore the state space in subsequent steps.
[0041] In the step of obtaining the predicted distance from the initial particle in the initial particle set to the laser radar sensor and obtaining the difference between the predicted distance and the actual distance, the value that the laser radar may measure is predicted according to the state of the particle (such as position, speed, etc.). For example, when the three-dimensional position coordinates (x p ,y p , z p ), the three-dimensional position coordinates of the lidar sensor (x l ,y l , z l ). Use the Euclidean distance formula to calculate the distance from the particle position to the lidar sensor position , which is the distance that the laser radar may measure.
[0042] The likelihood value is obtained according to the difference value and the probability density function of the Gaussian distribution, and the weight of the initial particle is updated according to the likelihood value. In the step of obtaining the second weight, the likelihood value represents the probability of the actual measurement value of the laser radar appearing under a given particle state. Since the measurement value of the laser radar may be affected by noise, the predicted distance is further compared with the actual measurement value to calculate the likelihood value.
[0043] In this embodiment, Gaussian distribution is used to represent the measurement error, and the calculation formula of the likelihood value p(z|x) is: , where z is the actual measured value, x is the state of the particle, is the predicted measurement value.
[0044] The likelihood value represents the probability density of the actual measurement value z given the particle state x. When is smaller, the value of the exponential term is larger, so the likelihood value is also larger. 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, the weight of each particle is updated according to the likelihood value, so that particles that are more similar to the lidar measurement data obtain higher weights. The weight can be proportional to the likelihood value. For example, the weight of each particle is set 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 the particle, the more likely its state is close to the true state. By comparing the likelihood values of different particles, the weights of the particles are updated so that they more accurately reflect the true state of the target.
[0045] 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. The number of effective particles is calculated according to the weights of the particles to evaluate the degree of degradation of the particle set. The smaller the number of effective particles, the more degraded the particle set. For example, the particle weight set w1, w2, ..., w N , calculate the sum of weights , effective number of particles . If the number of effective particles is smaller, it means that the particle set is more degraded, that is, the weight distribution is more uneven. If the number of effective particles is greater than or equal to the threshold, the particle set and weights after the weight update are directly used for state estimation and uncertainty estimation. For each particle, extract its state value (such as position, speed, direction, etc.), use the particle weight as the weight coefficient, and calculate the weighted average of all particle states as the state estimation value. The calculation formula for state estimation is: ,in, is the estimated value of the state at time k, is the weight of the ith particle at time k, is the state value of the ith particle at time k, and N is the total number of particles. The difference (residual) between its state value and the state estimate is calculated, and the weight of the particle is used as the weight coefficient to calculate the weighted variance of these residuals to obtain the uncertainty of the state estimate.
[0046] If the number of valid particles is lower than a certain threshold, resampling is performed. The resampling method can be a systematic resampling, generating a uniformly distributed random number u from 0 to 1, calculating the cumulative weight of each particle, and finding the particle (where k = 1, 2, ..., N) that makes the cumulative weight exceed u + (k-1 / N) for the first time as the kth particle in the new particle set, and obtaining the second particle set. The state estimate is calculated based on the second particle set as the position information.
[0047] Step S40, obtaining a navigation path according to the navigation information and a preset path planning algorithm.
[0048] In this embodiment, a communication connection is established with robots of different brands, and a path request is received and sent. The path planning result is performed based on the position information obtained by fusing multiple sensor data, and the path planning algorithm can be A*, Dijkstra, etc.
[0049] In a feasible implementation, the optimal path from the current position to the target position is calculated according to the A* algorithm. The environment map is divided into grids, each grid representing a position. The grid where the static obstacle is located is marked as impassable, and the other grids are passable. According to the current position and target position of the robot, the starting and ending grids are determined, and the open list and the closed list are initialized. The open list contains the grids to be evaluated, and initially only contains the starting grid. The closed list contains the evaluated grids, which are initially empty. The path search is performed in a loop until the open list is empty or the end grid is found. During the loop search, the grid with the lowest f value is taken out 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 end point. The grid is marked as the current grid, removed from the open list, and added to the closed list. Check the adjacent grids of the current grid (four directions, up, down, left, and right, or consider more directions according to the mobility). 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 Manhattan distance or Euclidean distance as a heuristic function to calculate the h value from the adjacent grid to the end point, add the adjacent grid to the open list, and set its parent grid to the current grid; if the adjacent grid is already in the open list, but the new g value is lower, update the g value and f value of the adjacent grid, and update its parent grid to the current grid. After the loop search is completed, start from the end grid and trace back to the starting grid along the parent grid chain. Connect the grids passed in the backtracking process in order to form a path from the starting point to the end point. Output the path in the form of a coordinate sequence for use when the robot executes navigation instructions.
[0050] Optionally, a weight factor is introduced on the basis of the A* algorithm to consider the impact of time windows and safety distances on path planning. Then the evaluation function is f(n)=α*g(n)+β*h(n)+γ*t(n)+δ*s(n), where α, β, γ, δ are weight factors, t(n) is the cost associated with the time window (such as waiting time), and s(n) is the cost associated with the safety distance (such as the penalty for violating the safety distance). When allocating time windows, determine a suitable basic unit of time windows, such as 5 minutes, based on the robot's running speed and path length. Assign a priority to each robot, which can be determined based on factors such as the type of robot (such as heavy-load robot, light-load robot), the importance of the task (such as urgent order, regular order), etc. Create a time window allocation table to record the path usage rights of each robot in each time period. When a new path request arrives, dynamically adjust the time window allocation based on the robot's priority and the urgency of the task. Set a dynamic safety distance threshold at the intersection area or path convergence point. When the AGV approaches these areas, the safety distance is dynamically calculated and set based on the robot’s current state (speed, acceleration) and path planning results.
[0051] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 2 , step S10 may include steps S10 to S15: Step S11, acquiring point cloud data, first image data and ultra-wideband signal data of the robot during its movement.
[0052] In this embodiment, the robot is equipped with a variety of sensors, such as laser radar, ultra-wideband sensor, camera, etc. The laser radar quickly scans the surrounding environment and generates point cloud data; the millimeter wave radar continuously transmits and receives millimeter wave signals to obtain the distance, speed and angle information of the target; the camera takes images or videos at a certain frame rate; the ultrasonic radar detects obstacles around the vehicle in real time.
[0053] Step S12, extracting shelf feature information from the point cloud data, grouping the shelf feature information according to a clustering algorithm, and determining the shelves and shelf density.
[0054] In this embodiment, feature information of the shelf, such as edges, corner points, etc., is extracted from the preprocessed point cloud data. Optionally, edge extraction is performed from the point cloud data according to the edge detection function in PCL (Point Cloud Library). Corner points are identified using a corner detection algorithm, such as a corner detection algorithm based on curvature or normal change. The extracted edges and corner points are used as input to the clustering algorithm, and the DBSCAN algorithm is applied to cluster the points according to their density. Based on the clustering results, different shelf areas are identified. For each clustering result (i.e., each shelf area), the convex hull algorithm or the minimum bounding box algorithm is applied to determine the boundary and position of each shelf. The boundary points of each shelf are triangulated or regarded as polygons, and the area is calculated using the corresponding area calculation formula. The areas of all shelves are traversed, and the area values are added to obtain the total area occupied by the shelves. Shelf density = total area occupied by the shelves / total area of the warehouse.
[0055] Step S13: dynamic obstacle identification is performed according to the point cloud data and the first image data to obtain the number of dynamic obstacles.
[0056] In this embodiment, the dynamic obstacles are comprehensively judged based on the point cloud data obtained by the laser radar sensor and the image data obtained by the camera device. The repeated dynamic clusters and dynamic targets are removed, and the number of dynamic clusters and dynamic targets after removal of duplicates is confirmed as the number of dynamic obstacles.
[0057] In a feasible implementation, the step of determining dynamic obstacles based on 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 a point cloud cluster for each frame; obtaining the displacement of the cluster center of the point cloud cluster between adjacent frames, and marking the point cloud cluster whose displacement is greater than a preset displacement threshold as a dynamic cluster.
[0058] In this embodiment, point cloud data of consecutive frames are obtained from the laser radar sensor, and the point cloud data of each frame is clustered to obtain a point cloud cluster of each frame. The clustering method can be DBSCAN or Euclidean clustering algorithm. After obtaining the point cloud cluster, the center position of each cluster is calculated by the average value of all points in the cluster. For each cluster, the displacement of the cluster center between adjacent frames is calculated. If the displacement of a cluster between any two adjacent frames in the consecutive frames is greater than the preset displacement threshold, the cluster is marked as dynamic.
[0059] In a feasible implementation, the step of determining a dynamic obstacle based on image data may include: performing obstacle detection in the image data based on a target detection algorithm to obtain an obstacle bounding box; obtaining a moving speed of a center point of the obstacle bounding box, and marking an obstacle whose moving speed is greater than a preset moving speed threshold as a dynamic target.
[0060] In this embodiment, continuous video frames are obtained from the camera, and an object detection algorithm (such as YOLO, Faster R-CNN, etc.) is used for each frame to detect obstacle targets, and the bounding box of each obstacle target is obtained. The average value of the coordinates of the upper left corner and the lower right corner of the bounding box is used as the center coordinate of the bounding box. For each target, the pixel distance formula is used to calculate the displacement of the center of the bounding box between adjacent frames, and the pixel displacement is divided by the time interval to obtain the moving speed. If the moving speed of the center of the bounding box of a target in continuous frames is greater than the preset moving speed threshold, the target is marked as dynamic.
[0061] Step S14, obtaining prediction data according to a preset ultra-wideband positioning model, and obtaining an ultra-wideband signal residual between the prediction data and the ultra-wideband signal data.
[0062] Step S15, performing weighted average calculation according to the shelf density, the number of dynamic obstacles and the ultra-wideband signal residual to obtain the environment complexity score.
[0063] In this embodiment, the formula for scoring the environmental complexity is: Score = w1 × shelf density + w2 × number of dynamic obstacles + w3 × UWB residual, where w1, w2, and w3 are corresponding weights. The formula for scoring the environmental complexity comprehensively considers the three factors of shelf density, number of dynamic obstacles, and UWB residual, and assigns them different weights, which can comprehensively evaluate the complexity of the environment and provide a basis for dynamically switching the navigation mode according to the complexity of the environment.
[0064] Based on the first embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 3 After step S10, the robot path planning method may further include steps A10 to A20: Step A10: if the environment 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.
[0065] In this embodiment, the magnetic stripe information is obtained through the magnetic stripe sensor to indicate the position (such as distance, offset) and direction (such as heading angle) of the robot relative to the magnetic stripe. The image information in the environment is obtained through the camera of the visual SLAM (Simultaneous Localization and Mapping) system to indicate the position and direction of the robot relative to the environment map, as well as the position information of other objects in the environment (such as obstacles, landmarks, etc.). When the environmental complexity score is lower than the second scoring threshold, it means 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 simple environments while saving resources.
[0066] Step A20: Based on the Kalman filter algorithm, the magnetic stripe information and the second image data are fused to obtain the navigation information.
[0067] In this embodiment, the initial state estimate and initial error covariance matrix of the Kalman filter are set. The initial state estimate can be set based on the initial position, speed and other information of the robot. The system dynamic model (such as a 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 image information are obtained as observation data, and after the observation data is converted to the system state space, the difference between the observation data and the predicted state is calculated to obtain the observation residual. The state estimate is updated using the Kalman gain and the observation residual 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 precise position and direction of the robot at the current moment, which is used for the robot's path planning, obstacle avoidance and other navigation tasks.
[0068] In a feasible implementation, when the visual sensor may be affected by environmental interference or changes in illumination, resulting in the inability to stably track and match feature points, the current position and posture of the robot is determined based on the magnetic stripe information, and then path planning is performed. The following steps may be included: acquiring feature points in continuous frame images according to an image feature detection algorithm, and matching the feature points; acquiring 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, determining the navigation information according to the magnetic stripe information.
[0069] In this embodiment, an image feature detection algorithm (such as SIFT, SURF, ORB, etc.) is used to extract feature points in continuous frame images. Feature points are usually corner points, edge points, etc. in the image with significant grayscale changes or texture information. Use feature point matching algorithms, such as brute force matching, fast nearest neighbor matching, etc. to find matching feature point pairs between continuous frame images, and divide the number of successfully matched feature point pairs by the total number of feature point pairs to obtain the matching rate. When the matching rate is lower than the preset matching rate threshold, it is determined that the visual 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 route is obtained according to the activated magnetic permeability 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 arrangement and direction of the magnetic stripe are used to infer the current posture (such as orientation) of the robot. According to the current position and posture of the robot, as well as the target position, a feasible path of travel is planned. During the process of traveling, the visual SLAM matching rate is continuously monitored, and when the matching rate is greater than or equal to the preset threshold, it is switched back to the visual navigation mode.
[0070] Based on the first embodiment of the present application, in the fourth embodiment of the present application, the same or similar contents as those in the first embodiment can be referred to the above description, and will not be described in detail later. Figure 4 After step S10, the robot path planning method may further include steps B10 to B20: Step B10, when it is detected that the ultra-wideband signal strength is less than a preset signal strength threshold, and the magnetic stripe noise is greater than a preset noise threshold, it is confirmed that the robot is in a signal interference area.
[0071] In this embodiment, the original signal strength value between the UWB tag and the base station is read in real time through the programming interface, and the sliding window mean filtering algorithm is used to process the original signal strength values of several consecutive frames. For example, the original signal strength values of every 10 frames are averaged to obtain a filtered ultra-wideband signal strength value. Define a window with a length of 10 to store continuous signal strength data frames. Read the signal strength from the UWB base station in real time and store it in a sliding window in chronological order. When the number of data frames in the window reaches 10 frames, perform mean filtering. Perform arithmetic mean operation on the 10 frames of signal strength data in the window to obtain a filtered signal strength value. Set the signal strength threshold based on the statistical results of historical data. Compare the signal strength value with the preset threshold.
[0072] Optionally, the signal strength data of multiple base stations are integrated to construct a positioning equation, the position coordinates of the robot are solved using the least squares method, and the positioning residual is calculated. The positioning residual is minimized through iterative optimization. The ultra-wideband signal strength is obtained 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 interference from a single base station on the overall positioning result can be weakened.
[0073] In this embodiment, the analog signal output by the magnetic stripe sensor according to the change in the detected magnetic field strength is obtained. This signal reflects the relative position relationship between the magnetic stripe and the sensor. The analog signal is sampled by an analog-to-digital converter and converted into a digital signal. The sampled digital signal is bandpass filtered by a digital filter to retain the signal components within the working frequency band of the magnetic stripe. The signal within a continuous period of time is subjected to a sliding average operation to obtain a smooth baseline value, which is then subtracted from the original signal to obtain a corrected signal. By performing the correction, the influence of the drift of the signal baseline over time due to the characteristics of the sensor itself or environmental factors can be eliminated. The corrected signal is analyzed in the time domain to calculate the standard deviation and mean of the signal. The noise ratio is obtained by calculating the noise ratio according to the calculation formula: noise ratio = (standard deviation / mean) × 100%. The noise ratio threshold is set according to the needs of the actual application scenario.
[0074] Step B20, fusing 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.
[0075] In this embodiment, the position information is obtained from the magnetic stripe sensor, and the acceleration and angular velocity data are obtained from the inertial measurement unit. Define the state vector and observation vector. The state vector , where x, y, z are the position coordinates, vx, vy, vz are the velocity components, They are 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. 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. The state vector is updated using the data from 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 the state vector is updated, the state covariance matrix P is updated 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.
[0076] In this implementation, 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 navigation accuracy. The high-precision measurement capability of the data collected by the inertial measurement unit can make up for the shortcomings of magnetic stripe navigation in complex environments, ensuring that the robot can maintain stable navigation performance even in signal interference areas.
[0077] Based on the first embodiment of the present application, in the fifth embodiment of the present application, the same or similar content as the above-mentioned embodiment 1 can refer to the above introduction, and will not be repeated later. On this basis, the path planning method of the robot can also include: taking the navigation path as a node, adding edges according to the path connection relationship, and obtaining 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 for the target robot on the deadlock loop, and controlling the target robot to move according to the alternative path.
[0078] In this embodiment, the target path is abstracted as a node in the graph, each node represents a specific location and contains corresponding attribute information, such as location 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 the paths is abstracted as an edge in the graph. The direction of the edge indicates the direction of movement of the robot, and the weight of the edge can represent the time, distance or other cost required for movement. Use graph data structures (such as adjacency matrix, adjacency list, etc.) to represent the conflict prediction graph.
[0079] 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.
[0080] In this embodiment, the loop detection algorithm can be a graph search algorithm such as a depth-first search or a breadth-first search. Exemplarily, according to the depth-first search algorithm, the nodes and edges in the graph are traversed recursively or in a stack manner to find a path from the current node back to the 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 is not returned through the parent node of the node (that is, it is not a fallback path), it indicates that there is a loop. At this time, it is further determined whether the loop constitutes a deadlock loop. If each node in the loop is occupied by a different robot, and these robots are waiting for other resources in the loop to be released, a deadlock loop is formed.
[0081] In this embodiment, multiple alternative paths are provided for the robot. When a deadlock loop is detected to have a potential risk of deadlock, an alternative path is selected to continue the task. When generating a path, each generated alternative path is evaluated, including indicators such as path length, travel time, and obstacle density. Based on the evaluation results, the alternative paths are screened out in the order of the indicator ranking. The screened alternative paths are stored in the robot's control system, and the alternative paths are called when a conflict or deadlock occurs in the main path.
[0082] Based on the first embodiment of the present application, in the sixth embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction and will not be repeated later. The above-mentioned robot path planning method also includes fusing the maps of brand robots, including the following steps: formatting 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 system of the map data after the format conversion to obtain the second map data; obtaining the transformation parameters between the second map data according to the feature points in the second map data, and fusing the second map data according to the transformation parameters to obtain a standard map.
[0083] It is understandable that robots of different brands often use their own independent maps, and it is necessary to unify and integrate the maps to build a standard map applicable to all AGVs, so as to achieve centralized control and unified scheduling.
[0084] 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, and point cloud data of laser SLAM. The collected map data is cleaned and preprocessed by removing noise, erroneous data, and duplicate data. For example, for UWB signal data, abnormal signal strength values are removed; for visual image data, blurred or severely blocked images are removed; for magnetic stripe signal data, interference signals are filtered out; for point cloud data of laser SLAM, outliers and noise points are filtered out. After preprocessing, map data of different brands are converted into a unified format, maps in vector format are converted into raster format, and image data of different resolutions are adjusted to the same resolution.
[0085] In this embodiment, feature points or feature areas such as corner points and edges are extracted from the second map data according to feature extraction algorithms such as SIFT and SURF. Feature points or feature areas in different maps are matched according to the feature matching algorithm to find corresponding points. According to the matched feature point pairs, the ICP (Iterative Closest Point) algorithm or the NDT (Normal Distribution Transformation) algorithm is used to calculate the transformation parameters between maps, such as translation, rotation and scaling. The calculated transformation parameters are applied to the map data, and the map data of different brands are aligned to a unified coordinate system. The unified coordinate system can be based on the coordinate system of a certain brand of AGV, or a new coordinate system can be established with a fixed point in the working area as the origin. The map data of different brands are converted to a unified coordinate system. After the map data of different brands are aligned to the unified coordinate system, the weight value is 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 value, the map data of the same position are fused to generate a complete standard map.
[0086] 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 conversion matrix. For visual image data and point cloud data of laser SLAM, the relative position and posture of 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.
[0087] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the path planning method of the robot of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.
[0088] The present application provides a path planning device for a robot, and 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 so that the at least one processor can execute the path planning method for the robot in the above-mentioned embodiment one.
[0089] Reference below Figure 5 , which shows a schematic diagram of the structure of a robot path planning device suitable for implementing the embodiment of the present application. The robot path planning device in the embodiment of the present application may include but is not limited to mobile terminals such as laptop computers, personal digital assistants (PDA, Personal Digital Assistant), tablet computers (PAD, Portable Android Device), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The path planning device of the robot shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0090] like Figure 5 As shown, the path planning device of 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 to a random access memory (RAM) 1004. Various programs and data required for the operation of the path planning device of the robot are also stored in the random access memory 1004. The processing device 1001, the read-only memory 1002, and the random access memory 1004 are connected to each other via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems may be connected to the I / O interface 1006: input devices 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 1003 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 1009. The communication device 1009 may allow the path planning device of the robot to communicate wirelessly or wired with other devices to exchange data. Although the figure shows a path planning device of a robot with various systems, 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 have instead.
[0091] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. 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 the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.
[0092] The robot path planning device provided by the present application adopts the robot path planning method in the above embodiment, which can solve the technical problems of unreasonable use of navigation resources under different environmental conditions and difficulty in balancing navigation accuracy and efficiency. Compared with the prior art, the beneficial effects of the robot path planning device provided by the present application are the same as the beneficial effects of the robot path planning method provided by the above embodiment, and the other technical features in the robot path planning device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.
[0093] It should be understood that the various parts disclosed in this 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 any one or more embodiments or examples in a suitable manner.
[0094] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0095] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the path planning method of the robot in the above-mentioned embodiment.
[0096] The computer-readable storage medium provided in the present application may be, for example, 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: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM, Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM, CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination 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 frequencies (RF, Radio Frequency), etc., or any suitable combination of the above.
[0097] The computer-readable storage medium may be included in the path planning device of the robot; or may exist independently without being assembled into the path planning device of the robot.
[0098] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by the path planning device of the robot, the path planning device of the robot: determines the environment complexity score according to the environmental data during the robot's movement; if the environment complexity score is greater than a preset first score threshold, obtains ultra-wideband positioning results and lidar data; fuses the ultra-wideband positioning results and the lidar data based on a particle filtering algorithm to obtain navigation information; and obtains a navigation path according to the navigation information and a preset path planning algorithm.
[0099] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate 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 may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0100] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0101] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.
[0102] The readable storage medium provided by the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the path planning method of the above-mentioned robot, and can solve the technical problems of unreasonable use of navigation resources and difficulty in balancing navigation accuracy and efficiency under different environmental conditions. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the present application are the same as the beneficial effects of the path planning method of the robot provided by the above-mentioned embodiment, and will not be repeated here.
[0103] The present application also provides a computer program product, including a computer program, which implements the steps of the robot path planning method as described above when executed by a processor.
[0104] The computer program product provided by the present application can solve the technical problem of unreasonable use 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 computer program product provided by the present application are the same as the beneficial effects of the robot path planning method provided by the above embodiment, which will not be repeated here.
[0105] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are 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: Determine the environmental complexity score based on the environmental data during the robot's movement; 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; A navigation path is obtained according to the navigation information and a preset path planning algorithm.
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 determining the environmental complexity score according to the environmental data during the robot's movement includes: 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; The environment complexity score is obtained by performing a weighted average calculation based on the shelf density, the number of dynamic obstacles, and the ultra-wideband signal residual.
4. The robot path planning method according to claim 3, 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.
5. The robot path planning method according to claim 1, characterized in that: After the step of determining the environmental complexity score according to the environmental data during the robot's movement, the following steps are included: 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.
6. The robot path planning method according to claim 5, 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.
7. The robot path planning method according to claim 1, characterized in that: After the step of determining the environmental complexity score according to the environmental data during the robot's movement, the following steps are included: When it is detected that the ultra-wideband signal strength is less than a preset signal strength threshold, and the magnetic stripe noise is greater than a preset noise threshold, it is confirmed that the robot is in a signal interference area; The navigation information is obtained by fusing the magnetic stripe signal output by the magnetic stripe sensor and the inertial measurement data output by the inertial measurement unit.
8. 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.
9. 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 8.
10. 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 8 are implemented.
Citation Information
Patent Citations
Service mobile robot navigation method in dynamic environment
CN103558856A
Integrative irrigation system and irrigation method of water and fertilizer
CN107306765A
Electro-hydraulic combined steering engine state estimation method based on improved volume particle filter
CN108646710A
Multi-sensor fusion accurate positioning and autonomous navigation method
CN116576868A
Apparatus and methods for multi-sensor slam systems
WO2021125697A1
Cited By
High-precision electric sandwich board control system
CN120681514A