Robot path planning method, device and robot
By analyzing and predicting obstacle data in real time and re-planning the path, the robot's convergence and CPU load problems when encountering obstacles are solved, and efficient and smooth obstacle avoidance is achieved.
Patent Information
- Application Number
- CN202111189190.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-12
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2041-10-12
AI Technical Summary
When existing robots track initial route operations, when encountering static or dynamic obstacles, the local planner is difficult to converge and cannot cope with large obstacles, which increases CPU load, and the obstacle avoidance path is not optimal, and the global planner switches in state. There will be lag and the work will not be smooth enough.
By obtaining and recording the path to be tracked, the obstacle data behind the current position point is analyzed in real time during the robot tracking process, and determine whether the preset conditions are met. If not, delete the path that does not meet the conditions and re-plan it. Obstacles are predicted in advance by predicting them in advance. Information is used to plan the path to ensure that the robot can avoid obstacles smoothly with the highest travel coverage.
It achieves smooth obstacle avoidance when encountering obstacles, reduces CPU load, avoids lag, and ensures the smoothness and efficiency of the robot's work.
Smart Images

Figure CN113867356B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of artificial intelligence, and in particular to a robot path planning method, device and robot. Background Art
[0002] As artificial intelligence technology matures, intelligent devices are gradually entering people's lives. In various market fields, artificial intelligence technology has begun to exert its strength, improving work efficiency through automation mode, thereby liberating labor. Because of this, customers have higher and higher requirements for the work efficiency of robots.
[0003] At present, the working mode of most robots on the market is that for large-scale work sites, the robots usually work in manually designated areas. Although this operation method can meet the needs of large-scale automatic operations, it is difficult to complete some specific tasks.
[0004] For example, when the robot is tracking the initial route, if a new static obstacle or dynamic obstacle appears and blocks the working path to be tracked, using the local planner to avoid the obstacle will cause problems such as failure to converge, inability to cope with large obstacles, increased CPU load, and non-optimal obstacle avoidance path. In addition, if only the global planner is used, there will be problems such as freezes when switching between states and the overall work is not smooth enough. Summary of the invention
[0005] The main purpose of the present invention is to disclose a robot path planning method, device and robot, so as to at least solve the problem in the related art that when the robot is tracking the initial route, when a new static obstacle or dynamic obstacle appears and blocks the working path to be tracked, using a local planner to avoid the obstacle will result in problems such as failure to converge, failure to cope with large obstacles, increased CPU load, and non-optimal obstacle avoidance path. In addition, if only the global planner is used, there will be problems such as freezes when switching states and the overall work is not smooth enough.
[0006] According to one aspect of the present invention, a robot path planning method is provided.
[0007] The robot path planning method according to the present invention includes: acquiring and recording a first path; in the process of the robot tracking the first path, analyzing in real time the obstacle data corresponding to the path within a predetermined distance range on the first path after the current position point; judging whether the obstacle data corresponding to the path within the predetermined distance range meets a preset condition; if the preset condition is not met, triggering a path planning operation, deleting a second path whose obstacle data does not meet the preset condition, and replanning a third path.
[0008] According to another aspect of the present invention, a robot path planning device is provided.
[0009] The robot path planning device according to the present invention includes: an acquisition module, which is used to acquire and record a first path; an analysis module, which is used to analyze in real time the obstacle data corresponding to the path within a predetermined distance range on the first path after a current position point during the process of the robot tracking the first path; a judgment module, which is used to judge whether the obstacle data corresponding to the path within the predetermined distance range meets a preset condition; and a path planning module, which is used to trigger a path planning operation when the preset condition is not met, delete the second path whose obstacle data does not meet the preset condition, and re-plan a third path.
[0010] According to yet another aspect of the present invention, a robot is provided.
[0011] The robot according to the present invention comprises: a memory and a processor, wherein the memory is used to store computer-executable instructions; the processor is used to execute the computer-executable instructions stored in the memory, so that the robot executes any one of the above methods.
[0012] According to the present invention, the path to be tracked is acquired and recorded, and in the process of the robot tracking the path, the obstacle data within a predetermined distance range on the path after the current position point is analyzed in real time; and the obstacle data is judged to determine whether to trigger the path planning operation. By adopting this method, the obstacle information of the path to be tracked by the robot is predicted and analyzed in advance, and the path planning operation is performed in advance during the robot tracking process, which solves the problem in the related art that when the robot tracks the initial route operation, when a new static obstacle or dynamic obstacle appears and blocks the working path to be tracked, the use of a local planner to avoid obstacles at this time will result in problems such as failure to converge, failure to cope with large obstacles, increased CPU load, and non-optimal obstacle avoidance paths. This ensures that the robot can achieve smooth obstacle avoidance for obstacles while meeting the highest travel coverage rate. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 is a flow chart of a robot path planning method according to an embodiment of the present invention;
[0014] Figure 2 is a flow chart of a robot path planning method according to a preferred embodiment of the present invention;
[0015] Figure 3 is a structural block diagram of a robot path planning device according to an embodiment of the present invention;
[0016] Figure 4 is a structural block diagram of a robot according to an embodiment of the present invention. DETAILED DESCRIPTION
[0017] The specific implementation of the present invention is described in detail below with reference to the accompanying drawings.
[0018] According to an embodiment of the present invention, a robot path planning method is provided.
[0019] Figure 1 is a flow chart of a robot path planning method according to an embodiment of the present invention. Figure 1 As shown, the robot path planning method includes:
[0020] Step S101: Acquire and record a first path;
[0021] Step S102: while the robot is tracking the first path, analyzing in real time obstacle data corresponding to a path within a predetermined distance range on the first path after the current position point;
[0022] Step S103: determining whether the obstacle data corresponding to the path within the predetermined distance range meets a preset condition;
[0023] Step S104: When the above preset conditions are not met, a path planning operation is triggered, the second path whose obstacle data does not meet the preset conditions is deleted, and a third path is replanned.
[0024] use Figure 1 The method shown in the figure obtains and records the path to be tracked. When the robot is tracking the path, it analyzes the obstacle data within a predetermined distance range on the path after the current position point in real time; and determines the obstacle data to determine whether to trigger the path planning operation. By adopting this method, the obstacle information of the path to be tracked by the robot is predicted and analyzed in advance, and the path planning operation is performed in advance during the robot tracking process. This solves the problem in the related technology that when the robot is tracking the initial route, static obstacles or dynamic obstacles appear and block the working path to be tracked. At this time, using the local planner to avoid obstacles will result in problems such as failure to converge, failure to cope with large obstacles, increased CPU load, and non-optimal obstacle avoidance paths. This ensures that the robot can achieve smooth obstacle avoidance for obstacles while meeting the highest travel coverage rate.
[0025] Of course, the first path mentioned above is a pre-set and saved path. In addition to obtaining the initial path by the user controlling the robot, other methods can also be used to obtain the initial path, for example, automatically exploring the environment to obtain environmental perception information, establishing a perception environment model, and using a global path planning algorithm to obtain the initial path. In the specific implementation process, real-time positioning and mapping can be performed based on laser sensor data, and then mapped to a grid map, so that the initial path of the robot can be saved on the grid map.
[0026] In the preferred implementation process, the first path mentioned above is mainly to provide the controller with a feasible optimal path for planning without deviating from the actual motion trajectory. For the first path, the recorded grid points can also be optimized and filtered, because considering the error of real-time positioning and mapping (SLAM), all path points may not be completely smooth and coherent. Therefore, it is necessary to filter out "burr" path points (referring to some path points that deviate far from the original path due to errors), optimize the direction of the path points, etc., to ensure the smoothness of the path.
[0027] Preferably, the obstacle data corresponding to the path within the predetermined distance range on the first path after the real-time analysis of the current position point may further include: for each path point in the path within the predetermined distance range, respectively pre-calculating the confidence of the grid corresponding to the path point, wherein the robot includes one or more sensors, and the confidence = the sum of the products of each weight and the obstacle data detected by the sensor corresponding to the weight;
[0028] The sum of the products of obstacle data detected by the sensor includes at least one of the following:
[0029] The first weight is the cost of the obstacle detected by the lidar sensor;
[0030] The second weight is the cost of the obstacle detected by the ultrasonic sensor;
[0031] The third weight is the cost of the obstacle detected by the TOF sensor;
[0032] Fourth weight * obstacle cost detected by multi-viewing sensor;
[0033] The fifth weight is the cost of the obstacle detected by the drop sensor;
[0034] The size of each weight is related to the sensor accuracy corresponding to the weight.
[0035] That is, the above confidence level is equal to: the first weight * obstacle cost value detected by the laser radar sensor, the second weight * obstacle cost value detected by the ultrasonic sensor, the third weight * obstacle cost value detected by the TOF sensor, the fourth weight * obstacle cost value detected by the multi-eye vision sensor, the fifth weight * obstacle cost value detected by the drop sensor, or one or more of the above weights. The values of the above weights can be set dynamically. Preferably, the size of each weight is related to the sensor accuracy corresponding to the weight. For example, if the accuracy of the multi-eye vision sensor is high, the weight value corresponding to the sensor is relatively large.
[0036] Preferably, in step S103, judging whether the obstacle data meets the preset condition may further include: for a path point in the path within the predetermined distance range, when the confidence of the grid corresponding to the path point is greater than or equal to a preset confidence threshold, determining that the obstacle data corresponding to the path point does not meet the preset condition. In other words, when the confidence of the grid corresponding to the path point is less than the preset confidence threshold, determining that the obstacle data corresponding to the path point meets the preset condition.
[0037] It should be noted that the second path may be just one continuous path, or there may be multiple continuous paths. When the confidences of the grids corresponding to the path points within the predetermined distance range on the first path may not all meet the preset conditions, the second path is a continuous path; when the confidences of the grids corresponding to the path points within the predetermined distance range on the first path may partially not meet the preset conditions, but partially meet the preset conditions, that is, these points are passable points, then the second path is multiple continuous paths. Correspondingly, when the second path is a continuous path, the third path is also a continuous path, and when the second path is multiple continuous paths, the third path is also multiple continuous paths.
[0038] When the robot is tracking the first path, it will analyze and predict the path of a certain distance (for example, 2 meters) after the current position of the robot in real time. As mentioned above, the confidence of the grid is mainly calculated by the obstacle data detected by each sensor of the robot and the weight value corresponding to each sensor. For example, a robot equipped with multiple sensors includes: lidar sensor, TOF sensor, ultrasonic sensor, binocular vision sensor, then the confidence calculation formula of each path point corresponding to the grid is as follows:
[0039] Confidence = weight 1 * obstacle cost value detected by lidar (for example, 100) + weight 2 * obstacle cost value detected by ultrasonic sensor + weight 3 * obstacle cost value detected by TOF sensor * + weight 4 * obstacle cost value detected by binocular sensor.
[0040] In the process of the robot tracking the above-mentioned first path (which may be the initial path), on the first path, if the confidence of a certain path point in the path of a certain distance length (for example, 2 meters) after the current position is less than the preset confidence threshold, it is determined that the obstacle data corresponding to the above-mentioned path point meets the above-mentioned preset conditions. Conversely, if the confidence of another path point on the first path of a certain distance length (for example, 2 meters) after the current position is greater than or equal to the preset confidence threshold, it is determined that the obstacle data corresponding to the above-mentioned path point does not meet the above-mentioned preset conditions, and one or more path points that do not meet the preset conditions need to be removed, and correspondingly, the second path (that is, the path to be deleted) is deleted, and the path (that is, the third path) is replanned.
[0041] Preferably, in step S104, re-planning the third path may further include:
[0042] S1: Starting from the starting point of the second path, start searching in the horizontal direction and the vertical direction;
[0043] S2: If no node of interest is found, continue searching along the diagonal direction;
[0044] S3: For the current node, if a node carrying a specific point is searched, the current node is determined as an interested node, wherein there is an obstacle point among the neighboring nodes of the specific point, and the distance cost of the parent node of the specific point passing through the specific point to reach the end point of the second path is smaller than the distance cost of any path that does not pass through the specific point to reach the end point;
[0045] S4: Starting from the current node, continue searching along the previous search direction, and execute S3 in a loop until the search reaches the above end point.
[0046] In the specific implementation process, the traditional A* module can be used to plan a path that meets the requirements and use this path to replace the second path. However, the path generated by the traditional A* module planning is "sawtooth-shaped", which does not meet the controller's requirements for the input path at all. Therefore, some optimization processing is needed to make the function values calculated by the originally symmetrical nodes have a certain deviation to break the original symmetry. The main purpose is to make non-horizontal or vertical path points smooth rather than tortuous.
[0047] In the preferred implementation process, the rule for adding the path points to the set of nodes to be visited can be controlled. This rule is formulated according to the actual robot's travel and obstacle avoidance path. The formulated rules are divided into straight line search and diagonal search. The main work is to find the node of interest. The neighbor grids in the middle do not need to be added to the set of nodes to be visited.
[0048] First, starting from the starting point, perform a straight line search (horizontally and vertically). If there is a node of interest, add the node to the set of nodes to be visited. If there is no node of interest, start a diagonal search. For example, for the current node, search and find a node carrying a specific point x (wherein, the specific point x means that there is an obstacle point in its neighbor node (neighbor), and the distance cost of the parent node p of the specific point x to reach the end point n through the specific point x is smaller than the distance cost of any path to the end point n that does not pass through x), determine the current node as a node of interest, and place it in the set of nodes to be visited. Then, starting from this current node, continue to start a new round of search along the previous search direction. For the searched nodes, start searching in the horizontal and vertical directions. If there is a node of interest, add the node to the set of nodes to be visited. For example, if the above-mentioned specific point x is searched in the horizontal direction, the above-mentioned specific point x is placed in the set of nodes to be visited.
[0049] It should be noted that the setting of the above-mentioned starting point and end point is usually determined according to the route travel order of the robot tracking the first path. The first path point passed is the starting point, and the later path point passed is the end point. Of course, the starting point and the end point can also be interchanged, that is, the first path point passed is called the end point, and the later path point is called the starting point.
[0050] Preferably, after replanning the third path, the following processing may also be included: establishing the third path based on the searched nodes of interest, the starting point, and the end point, wherein, for each node of interest, the first search direction vector of the previous node and the second search direction vector of the next node of the node of interest are vector-synthesized to obtain the tangent direction vector of the third path passing through the node of interest.
[0051] After using the above search method, it is found that the path direction of the node of interest is relatively mechanically the search direction of the current point, which will weaken the convergence effect of the planner. Therefore, it is necessary to optimize the path direction of each node of interest: for each node of interest, the direction of the current node of interest can be estimated by the directions of the two points before and after the node of interest, and the first search direction vector of the previous node of the node of interest and the second search direction vector of the next node of interest are vector synthesized to obtain the tangent direction vector of the third path passing through the node of interest. For example, the average value of the difference in the direction angles of the two points before and after is taken as the tangent direction angle of the third path of the node of interest.
[0052] Through the above processing, for the path formed by the nodes of interest, the inflection points with large angle differences can be found, and then the angles of the inflection points are optimized, so that the optimized path is smoother.
[0053] Preferably, in the process of the robot tracking the above-mentioned first path, the above-mentioned method also includes: analyzing the positioning information of the above-mentioned robot in real time, determining the deviation between the above-mentioned positioning information and the above-mentioned first path, and when the above-mentioned deviation is greater than a preset deviation threshold, triggering a path planning operation.
[0054] It should be noted that the triggering conditions for the above-mentioned path planning operation not only include the situations in the above-mentioned steps S102 to S104, but the path planning operation can also be triggered in the following situations: 1. Due to positioning errors, the robot deviates from the planned path (i.e., the initial path), and global path planning is required; 2. After the obstacle data obtained through sensor information determines the existence of special objects (for example, pedestrians, escalators, etc.), specific path planning is required.
[0055] In the embodiment of the present invention, by checking the global path, the path planning operation is set to a triggered execution mode instead of a fixed frequency execution mode, which can better reduce the consumption of the CPU.
[0056] Preferably, when the above-mentioned predetermined distance range is greater than the preset distance threshold, in step S104, re-planning the third path between the starting point and the end point of the above-mentioned second path may further include: on the above-mentioned first path, obtaining and recording multiple traversable nodes within the above-mentioned predetermined distance range and multiple trigger nodes that trigger the path planning operation; sorting the above-mentioned trigger nodes according to the robot tracking order, and for each trigger node, determining the order of the trigger node and the traversable node closest to the trigger node; between each trigger node and the traversable point closest to the trigger node, step by step performing the path planning operation according to the order of the trigger nodes, wherein, in the above-mentioned step-by-step path planning operation, the robot tracks on the first path before the first trigger node, and then continues to track according to the re-planned third path.
[0057] In the preferred implementation process, if a trigger path planning method is adopted, and the predicted planning distance after the current position point is long, the robot will no longer continue to perform path tracking and wait for the global path planning process. At this time, the robot may stop, and then start sharply after planning a new path, which will cause an unstable or swaying situation. In response to this problem, it can be determined whether the predetermined distance range on the first path after the previous position point is greater than the preset distance threshold. For example, the predetermined distance range is 5 meters, which is greater than the preset distance threshold of 3 meters. For the path planning within the 5-meter distance range, the path planning of the distance range can be gradually completed in the order of the robot tracking and traveling. In the path planning process, it is necessary to predetermine the traversable nodes and multiple trigger nodes that trigger the path planning operation, and sort these trigger nodes according to the robot tracking order. For each trigger node, determine the order of the trigger node and the traversable node closest to the trigger node; between each trigger node and the traversable point closest to the trigger node, the path planning operation is gradually performed in the order of the trigger nodes. During the specific implementation process, the robot tracks the path. When the obstacle data corresponding to the path points on the path within the predetermined 5-meter distance on the above initial path after real-time analysis of the current position point does not meet the preset conditions, the robot will not stop tracking due to the need to perform path planning operations, but will continue to track on the initial path before the first trigger node, and while tracking, perform the path planning operation between the first trigger node and the nearest passable node to the trigger node. After that, while tracking the re-planned route to bypass obstacles, the robot starts to perform the path planning operation between the second trigger node and the nearest passable node to the trigger node. Similarly, tracking and path planning can be set to execute synchronously, which effectively avoids the problem that the robot needs to stop and wait for planning to be completed before starting again due to the long distance required for path planning.
[0058] Preferably, after re-planning the third path, the following processing may also be included: splicing the first path after deleting the second path with the third path to generate a new path, and sending relevant information of the new path to the robot planner to perform tracking operations.
[0059] In the preferred implementation process, the first path with the second path removed and the third path can be combined and spliced to generate a new path, and the relevant information of the new path is sent to the robot planner to perform tracking operations. Among them, the planner can use "optimized TEB": that is, a series of discrete poses with time information are obtained from a given path, and then g2o (general graph optimization) is used to solve the sparse model multi-objective optimization problem, and these discrete poses are combined into trajectories that meet the shortest time, shortest distance and away from obstacles, while satisfying the robot's dynamic constraints (which can be formulated according to the actual robot's motion requirements).
[0060] It should be noted that according to the embodiment of the present invention, unlike the traditional method, there is no autonomous path clipping function in TEB and the application of the local map inside TEB, because the path splicing, combination and processing will be performed at the front end, and then sent to TEB for trajectory planning. In this way, the following technical effects can be achieved: 1. Effectively reduce the consumption of TEB operations; 2. Avoid "shortcuts". That is, if the target point is close to the robot and there is still a path to track, it will not go directly to the target point, and all tracking tasks will be completed. 3. It can complete the tracking of overlapping paths.
[0061] Furthermore, according to an embodiment of the present invention, the main improvement may be to adjust the penalty factor so that the robot can track the path more smoothly and can track a "return" route with a shorter spacing.
[0062] In addition, through multiple continuous postures, acceleration jump suppression constraints are added. Because in the planning process, it is inevitable to encounter a situation where the acceleration change rate is large. This will have a greater impact on the movement of the robot, so it is not enough to only constrain the speed and acceleration. Accurately controlling the change of acceleration can achieve more accurate motion control.
[0063] The following combination Figure 2 The above preferred embodiments are further described.
[0064] Figure 2 is a flow chart of a robot path planning method according to a preferred embodiment of the present invention. Figure 2 As shown, the robot path planning method includes:
[0065] Step S201: Obtain and record the initial path of the robot.
[0066] For example, real-time positioning and mapping are performed based on laser sensor data, and then mapped onto a grid map, so that the initial path of the robot (ie, the first path mentioned above) is saved on the grid map.
[0067] Step S202: When the robot is tracking the initial path, the path points in the path within a predetermined distance range on the initial path after the current position point are analyzed in real time to obtain the confidence of the grid corresponding to each path point.
[0068] Step S203: judging whether the confidence condition is met according to the confidence of the grid corresponding to the path point within the predetermined distance range. If the confidence condition is met, executing step S204, otherwise, executing step S208.
[0069] Step S204: When the confidences of the grids corresponding to the path points within the predetermined distance range all meet the confidence conditions, it is determined that the entire path within the predetermined distance range can continue to be tracked.
[0070] Step S205: The robot performs a path tracking operation.
[0071] Step S206: When the confidence of the grid corresponding to a path point on the path within the predetermined distance range does not meet the confidence condition, the path points (grid points) that do not meet the confidence condition are removed, and accordingly, the path composed of these path points is removed.
[0072] It should be noted that the path within the above-mentioned predetermined distance range may be just one continuous path, or there may be multiple continuous paths. When the confidences of the grids corresponding to the path points within the predetermined distance range on the initial path may not all meet the preset conditions, the path within the predetermined distance range is a continuous path; when the confidences of the grids corresponding to the path points within the predetermined distance range on the initial path may partially not meet the preset conditions, but partially meet the preset conditions, that is, these points are passable points, then the path within the predetermined distance range is multiple continuous paths.
[0073] Step S207: Obtain the starting point and end point of the path to be deleted (ie, the second path in this article), trigger the path planning operation, delete the path that does not meet the confidence condition, and re-plan the path.
[0074] Step S208: The initial path with part of the path deleted and the re-planned path are used to perform subsequent tracking operations. Then, step S205 is executed.
[0075] According to an embodiment of the present invention, a robot path planning device is also provided.
[0076] Figure 3 is a structural block diagram of a robot path planning device according to an embodiment of the present invention. Figure 3As shown, the robot path planning device may include: an acquisition module 30, used to acquire and record a first path; an analysis module 32, used to analyze in real time, during the process of the robot tracking the first path, obstacle data corresponding to a path within a predetermined distance range on the first path after a current position point; a judgment module 34, used to judge whether the determined obstacle data meets a preset condition; and a path planning module 36, used to trigger a path planning operation if the preset condition is not met, delete the second path that does not meet the preset condition, and re-plan a third path.
[0077] use Figure 3 In the device shown, the acquisition module 30 acquires and records the path to be tracked. When the robot is tracking the path, the analysis module 32 analyzes the obstacle data within a predetermined distance range on the path after the current position point in real time; the judgment module 34 determines the obstacle data to determine whether to trigger the path planning operation. The path planning module 36 replans the path after the path planning operation is triggered. The device is used to predict and analyze the obstacle information of the path that the robot is about to track in advance, and the path planning operation is performed in advance during the robot tracking process. This solves the problem in the related art that when the robot is tracking the initial route operation, when static obstacles or dynamic obstacles appear and block the working path to be tracked, the use of the local planner to avoid obstacles at this time will result in the problem of failure to converge, failure to cope with large obstacles, increased CPU load, and the obstacle avoidance path is not optimal. This ensures that the robot can avoid obstacles smoothly while meeting the highest travel coverage rate.
[0078] It should be noted that the preferred implementation of the combination of the modules in the above robot path planning device can be specifically referred to Figure 1 to Figure 2 The corresponding related descriptions and effects in the illustrated embodiments can be understood and will not be repeated here.
[0079] According to an embodiment of the present invention, a robot is provided.
[0080] Figure 4 is a structural block diagram of a robot according to an embodiment of the present invention. Figure 4 As shown, the robot according to the present invention includes: a memory 40 and a processor 42, wherein the memory 40 is used to store computer-executable instructions; the processor 42 is used to execute the computer-executable instructions stored in the memory, so that the robot executes the robot path planning method provided in the above embodiment.
[0081] The processor 42 may be a central processing unit (CPU). The processor 42 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or a combination of the above chips.
[0082] The memory 40 is a non-transitory computer-readable storage medium that can be used to store non-transitory software programs, non-transitory computer executable programs and modules, such as program instructions / modules corresponding to the robot path planning method in the embodiment of the present invention. The processor executes various functional applications and data processing of the processor by running the non-transitory software programs, instructions and modules stored in the memory.
[0083] The memory 40 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required by at least one function; the data storage area may store data created by the processor, etc. In addition, the memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 40 may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0084] The one or more modules are stored in the memory 40 and when executed by the processor 42, the following steps are performed: Figure 1 and Figure 2 The robot path planning method in the illustrated embodiment.
[0085] For details of the above robots, please refer to Figure 1 and Figure 2 The corresponding related descriptions and effects in the illustrated embodiments can be understood and will not be repeated here.
[0086] In summary, with the above-mentioned implementation mode provided by the present invention, unlike the traditional method, the obstacle information of the path that the robot is about to track is predicted and analyzed in advance, and the path planning operation is triggered in advance before reaching the obstacle, which can ensure that the robot can smoothly avoid obstacles while meeting the highest travel coverage rate. In addition, when the predicted planning distance after the current position point is long, it can be determined that the predetermined distance range on the first path after the previous position point is large, and the path planning of each stage of the distance range can be gradually completed in the order of robot tracking and traveling. Tracking and path planning can be set to be executed synchronously, and the robot is smooth and fluent in the process of tracking and traveling. This effectively avoids the problem that the robot needs to stop and wait for the planning to be completed before starting due to the long distance required for path planning. In addition, the path splicing, combination and processing will be performed at the front end, and then sent to the planner TEB for trajectory planning. It can effectively reduce the consumption of TEB operations, avoid the occurrence of "cutting corners", and complete the tracking of overlapping paths.
[0087] The above disclosures are only several specific embodiments of the present invention; however, the present invention is not limited thereto, and any changes that can be conceived by those skilled in the art should fall within the protection scope of the present invention.
Claims
1. A robot path planning method, characterized in that: include: Obtaining and recording a first path; In the process of the robot tracking the first path, analyzing in real time obstacle data corresponding to a path within a predetermined distance range on the first path after a current position point; Determining whether the obstacle data corresponding to the path within the predetermined distance range meets a preset condition; In the case where the preset condition is not met, a path planning operation is triggered, a second path whose obstacle data does not meet the preset condition is deleted, and a third path is replanned, wherein the replanning of the third path includes: S1: Starting from the starting point of the second path, start searching in the horizontal direction and the vertical direction; S2: If there is a node of interest, add the node to the set of nodes to be visited. If no node of interest is found, continue searching along the diagonal direction. S3: For the current node, if a node carrying a specific point is searched, the current node is determined as an interested node, wherein there is an obstacle point among the neighboring nodes of the specific point, and the distance cost of the parent node of the specific point passing through the specific point to reach the end point of the second path is smaller than the distance cost of any path that does not pass through the specific point to reach the end point; S4: Starting from the current node, continue searching along the previous search direction. For the searched node, start searching in the horizontal and vertical directions, and then loop through steps S2 and S3 until the search reaches the end point.
2. The method according to claim 1, characterized in that The obstacle data corresponding to the path within a predetermined distance range on the first path after the real-time analysis of the current position point includes: For each path point in the path within the predetermined distance range, the confidence of the grid corresponding to the path point is pre-calculated, wherein the robot includes one or more sensors, and the confidence = the sum of the products of each weight and the obstacle data detected by the sensor corresponding to the weight; The product of the obstacle data detected by the sensor includes at least one of the following: The first weight is the cost of the obstacle detected by the lidar sensor; The second weight is the cost of the obstacle detected by the ultrasonic sensor; The third weight is the cost of the obstacle detected by the TOF sensor; Fourth weight * obstacle cost detected by multi-viewing sensor; The fifth weight is the cost of the obstacle detected by the drop sensor; The size of each weight is related to the sensor accuracy corresponding to the weight.
3. The method according to claim 1, characterized in that Determining whether the obstacle data satisfies the preset condition includes: for a path point in the path within the predetermined distance range, when the confidence of the grid corresponding to the path point is greater than or equal to a preset confidence threshold, determining that the obstacle data corresponding to the path point does not satisfy the preset condition.
4. The method according to claim 1, characterized in that After re-planning the third path, it also includes: The third path is established based on the searched node of interest, the starting point, and the end point, wherein, for each node of interest, the first search direction vector of the previous node and the second search direction vector of the next node of the node of interest are vector synthesized to obtain the tangent direction vector of the third path passing through the node of interest.
5. The method according to claim 1, characterized in that During the process of the robot tracking the first path, the method further includes: The positioning information of the robot is analyzed in real time to determine the deviation between the positioning information and the first path, and when the deviation is greater than a preset deviation threshold, a path planning operation is triggered.
6. The method according to claim 1, characterized in that When the predetermined distance range is greater than a preset distance threshold, the re-planning of the third path includes: On the first path, acquiring and recording a plurality of traversable nodes within the predetermined distance range and a plurality of triggering nodes for triggering a path planning operation; The trigger nodes are sorted according to the robot tracking order, and for each trigger node, the order of the trigger node and the traversable node closest to the trigger node are determined; Between each trigger node and the traversable point closest to the trigger node, a path planning operation is performed step by step in the order of the trigger nodes, wherein in the step-by-step path planning operation, the robot tracks on a first path before the first trigger node, and then continues to track on the re-planned third path.
7. The method according to any one of claims 1 to 6, characterized in that After re-planning the third path, it also includes: The first path after deleting the second path is spliced with the third path to generate a new path, and relevant information of the new path is sent to the robot planner to perform a tracking operation.
8. A robot path planning device, characterized in that: include: An acquisition module, used for acquiring and recording the first path; An analysis module, used for analyzing in real time obstacle data corresponding to a path within a predetermined distance range on the first path after a current position point during the process of the robot tracking the first path; A judgment module, used to judge whether the obstacle data corresponding to the path within the predetermined distance range meets the preset conditions; A path planning module is used to trigger a path planning operation when the preset condition is not met, delete the second path whose obstacle data does not meet the preset condition and re-plan a third path, wherein the path planning module re-plans the third path including: S1: Starting from the starting point of the second path, start searching in the horizontal direction and the vertical direction; S2: If there is a node of interest, add the node to the set of nodes to be visited. If no node of interest is found, continue searching along the diagonal direction. S3: For the current node, if a node carrying a specific point is searched, the current node is determined as an interested node, wherein there is an obstacle point among the neighboring nodes of the specific point, and the distance cost of the parent node of the specific point passing through the specific point to reach the end point of the second path is smaller than the distance cost of any path that does not pass through the specific point to reach the end point; S4: Starting from the current node, continue searching along the previous search direction. For the searched node, start searching in the horizontal and vertical directions, and then loop through steps S2 and S3 until the search reaches the end point.
9. A robot comprising: A memory and a processor, characterized in that: Memory for storing computer-executable instructions; A processor is used to execute the computer-executable instructions stored in the memory, so that the robot performs the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Mobile robot obstacle avoidance navigation method and system
CN105116902A
Autonomous obstacle avoidance method, device and system
CN105425803A
Robot path planning method, device, electronic equipment and storage medium
CN110632921A