Robot path planning method and planning device
By obtaining road network information in the robot task point diagram model, generating paths in combination with the first and second planning methods, and re-planning in combination with the obstacle model, the problems of unreasonable path planning and untimely obstacle avoidance in complex dynamic environments are solved, and efficient and reliable path planning is achieved.
Patent Information
- Application Number
- CN202510265368.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-06
- Publication Date
- 2025-06-17
AI Technical Summary
In complex dynamic environments, it is difficult for the existing technology to balance the global optimal path and real-time obstacle avoidance, resulting in unreasonable robot path planning and untimely obstacle avoidance, which reduces work efficiency and reliability.
By obtaining the road network information in the robot task point diagram model, the first planning method is used to start the path planning from the starting task point, and then the ending task point is obtained, and then the opposite path planning is carried out in the second planning method to generate the first path from the starting task point to the end task point. At the same time, re-planning is carried out based on the obstacle model to ensure the real-time and feasibility of the path.
It realizes finding the optimal task path in complex dynamic environments and avoiding obstacles in real time, improving the efficiency and reliability of robot path planning.
Smart Images

Figure CN120160627A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of path planning, and particularly to a robot path planning method and a planning device. Background Art
[0002] In robot path planning, how to find an optimal task path in a dynamic and complex environment and be able to avoid obstacles in real time is a challenging problem. Especially when there are multiple task points in the scenario, the complexity of path planning increases exponentially, greatly increasing the planning difficulty. In addition, the positions of obstacles in a dynamic environment are constantly changing, making it difficult for traditional static path planning algorithms to effectively respond. Therefore, it is difficult for the existing technology to achieve a balance between the globally optimal path and real-time obstacle avoidance, resulting in problems such as unreasonable path planning and untimely obstacle avoidance when the robot executes tasks in a complex dynamic environment, reducing the working efficiency and reliability of the robot. Summary of the Invention
[0003] An embodiment of this application provides a robot path planning method, including:
[0004] Obtain the road network information marked in the robot task point graph model;
[0005] According to the road network information and each task point in the robot task point graph model, start path planning from the starting task point in a first planning manner to obtain an ending task point;
[0006] Start from the starting task point and the ending task point respectively, and perform opposite-direction path planning in a second planning manner to obtain a first path from the starting task point passing through all intermediate task points to the ending task point.
[0007] Optionally, the robot path planning method further includes:
[0008] Model the obstacles encountered during the robot's execution of the first path to obtain an obstacle model; the obstacle model includes target parameters, and the target parameters are used to make the path determined during path planning away from the obstacle model;
[0009] Based on the obstacle model, perform re-planning to obtain a second path, and the second path is used for the robot to reach the ending task point.
[0010] Optionally, the re-planning based on the obstacle model includes at least one of the following:
[0011] Re-plan the local path in the first path based on the obstacle model;
[0012] Update the road network information based on the obstacle model, and re-plan according to the updated road network information.
[0013] Optionally, the re-planning based on the obstacle model includes:
[0014] Perform an update operation on the road network information through the obstacle model;
[0015] In the case where the road network information changes based on the update operation, re-plan based on the updated road network information.
[0016] Optionally, if the road network information cannot be planned to a path between the current task point and the next task point after the update, reset the road network information.
[0017] Optionally, the path planning from the starting task point to the ending task point in the first planning method includes:
[0018] Sample the task points within the first preset range around the starting task point to obtain sampled task points;
[0019] Calculate the Euclidean distance between each sampled task point and the starting task point;
[0020] Sort the sampled task points in ascending order according to the Euclidean distance to obtain the sorted sampled task points;
[0021] Successively calculate the road network distance between each sorted sampled task point and the starting task point in the road network information;
[0022] If the road network distances of the preset first number continuously increase, use the first sorted sampled task point as the next starting task point;
[0023] Repeat the above process until the remaining task points are traversed, and use the last task point in the traversal process as the ending task point.
[0024] Optionally, the opposite-direction path planning from the starting task point and the ending task point respectively in the second planning method includes:
[0025] Perform forward planning from the starting task point, and successively plan the forward shortest path between the forward current task point and the forward next task point; where the direction starting from the starting task point is taken as the forward direction;
[0026] Perform reverse planning from the ending task point, and successively plan the reverse shortest path between the reverse current task point and the reverse next task point; where the direction starting from the ending task point is taken as the reverse direction;
[0027] When reaching the same task point through forward planning and backward planning, merge the forward shortest path and the backward shortest path to obtain the first path from the starting task point to the ending task point.
[0028] Optionally, the planning of the forward shortest path or the backward shortest path includes:
[0029] Sample the task points within the second preset range around the current task point and the transition points between the current task point and its next task point to obtain sampling points;
[0030] Calculate the Euclidean distance between each sampling point and the current task point;
[0031] Sort the sampling points in ascending order according to the Euclidean distance to obtain the sorted sampling points;
[0032] Successively calculate the road network distances between each sorted sampling point and the current task point in the road network information;
[0033] If the road network distances of the preset second quantity continuously increase, take the first sorted sampling point as the next starting sampling point;
[0034] Repeat the above process until all the remaining sampling points are traversed, and take the last sampling point in the traversal process as the ending sampling point;
[0035] Take the path between the current task point, the starting sampling point, the ending sampling point, and the next task point as the shortest path between the current task point and the next task point.
[0036] Optionally, the robot path planning method further includes:
[0037] Update the road network information according to the log information of the obstacle model, and the update process includes marking the paths affected by obstacles in the road network information as impassable paths according to the obstacle model.
[0038] The embodiment of the present application also provides a robot path planning device for path planning in a scenario with more than one task point, including:
[0039] An acquisition module configured to acquire the road network information marked in the robot task point graph model;
[0040] A task point planning module configured to perform path planning from the starting task point to the ending task point in a first planning manner according to the road network information and each task point in the robot task point graph model;
[0041] A path planning module, configured to start from the starting task point and the ending task point respectively, perform opposite-direction path planning in a second planning manner, and obtain a first path from the starting task point passing through all intermediate task points to the ending task point. Description of the Drawings
[0042] Figure 1 Flowchart of the first embodiment of the robot path planning method according to the embodiment of the present application;
[0043] Figure 2 For the embodiment of the present application Figure 1 Flowchart of step S200 therein;
[0044] Figure 3 For the embodiment of the present application Figure 1 Flowchart of step S300 therein;
[0045] Figure 4 Flowchart of the planning of the forward shortest path or the reverse shortest path in the robot path planning method according to the embodiment of the present application;
[0046] Figure 5 Flowchart of the second embodiment of the robot path planning method according to the embodiment of the present application;
[0047] Figure 6 For the embodiment of the present application Figure 5 Flowchart of step S500 therein;
[0048] Figure 7 Structure block diagram of the robot path planning device according to the embodiment of the present application. Detailed Description of the Embodiments
[0049] Various solutions and features of the present application are described herein with reference to the drawings.
[0050] It should be understood that various modifications can be made to the embodiments applied herein. Therefore, the above description should not be regarded as a limitation, but only as an example of the embodiments. Those skilled in the art will think of other modifications within the scope and spirit of the present application.
[0051] The drawings included in the specification and constituting a part of the specification illustrate the embodiments of the present application, and are used to explain the principles of the present application together with the general description of the present application given above and the detailed description of the embodiments given below.
[0052] These and other features of the present application will become apparent from the following description of the preferred forms of the embodiments given by way of non-limiting example with reference to the drawings.
[0053] It should also be understood that although the present application has been described with reference to some specific examples, those skilled in the art can surely implement many other equivalent forms of the present application.
[0054] When combined with the accompanying drawings, the above and other aspects, features, and advantages of the present application will become more apparent in view of the following detailed description.
[0055] Specific embodiments of the present application will be described hereinafter with reference to the accompanying drawings; however, it should be understood that the claimed embodiments are merely examples of the present application and can be implemented in various ways. Well-known and / or repetitive functions and structures are not described in detail to avoid obscuring the present application with unnecessary or redundant details. Therefore, the specific structural and functional details claimed herein are not intended to be limiting, but are merely used as a basis and representative basis for the claims to teach those skilled in the art to use the present application in substantially any suitable detailed structure in a variety of ways.
[0056] This specification may use the phrase "in one embodiment", "in another embodiment", "in yet another embodiment", or "in other embodiments", each of which may refer to one or more of the same or different embodiments according to the present application.
[0057] In the related art, robot path planning is usually to find an optimal or feasible path for a robot from a starting point to an ending point in a given static environment. However, in practical applications, the environment often changes dynamically. For example, new obstacles may appear in logistics warehousing, or the movement of people in the service field may change the environmental layout. Additionally, there are scenarios with multiple task points in practical applications. For example, in the substation inspection task environment, there are multiple task points. A large number of electrical equipment such as transformers, circuit breakers, disconnectors, and instrument transformers are distributed in the substation, and the inspection work of these equipment is all crucial, and the location of each equipment can be regarded as an independent task point. For the inspection work, how to traverse each task point orderly and obtain an optimal path therefrom has become a key problem to be solved urgently.
[0058] The robot path planning method provided by the embodiments of the present application is applicable to planning the path of a robot in a complex dynamic environment with more than one task point. By obtaining road network information and combining the first planning method and the second planning method, a first path from the starting task point through all intermediate task points to the ending task point can be generated, ensuring that the robot can complete the task according to the planned path in the actual scenario, and having high feasibility and practicability.
[0059] The robot path planning method of the present application will be described in detail below with reference to the accompanying drawings. Figure 1 is a flowchart of the robot path planning method according to the embodiments of the present application, asFigure 1 As shown, this method is used for path planning in scenarios with more than one task point, including the following steps:
[0060] S100. Obtain the road network information marked in the robot task point graph model.
[0061] In the embodiments of the present application, the robot task point graph model can be understood as a mathematical model for describing robot tasks and environments. It represents task points and the relationships between various task points in the form of a graph, which helps the robot perform operations such as path planning and task scheduling.
[0062] The robot task point graph model includes task points, edges, and attributes. Among them, task points can include relevant task information. For example, the inspection items of each electrical equipment in the substation inspection task, the type and quantity of goods in the logistics task, etc.
[0063] Edges represent the connection relationships between various task points. The weights of the edges can be set according to different requirements. For example, in robot path planning, the weight of an edge can be the distance between two task points, so that the robot can preferentially select a shorter path when planning the path; the weight of an edge can also be the time required to pass through the path corresponding to the edge, energy consumption, etc. In the actual environment, edges are affected by factors such as obstacles and channel restrictions. For example, in a substation, robots are not allowed to pass through certain areas, so the corresponding edges do not exist or the weights are set to extremely large values.
[0064] Both task points and edges can have their own attributes. The attributes of task points can include the priority of the task, time window (i.e., the task must be completed within a certain time period), etc.; the attributes of edges can include whether it is one-way traffic, the maximum allowed speed, etc. For example, in a hospital environment, in order to avoid disturbing patients, some channels may stipulate that robots can only travel in one direction, which can be reflected by the attributes of the edges.
[0065] For an environment where map data has been obtained, a robot task point graph model can be constructed according to the positions of task points and passable areas on the map. For example, in an indoor environment, the connection relationships between task points can be determined according to the room layout, door positions, etc.
[0066] For a dynamic environment, the robot can use sensors carried by itself to obtain real-time surrounding environment information and construct and update the graph model. For example, when the robot explores in an unknown environment, it detects obstacles and new task points through lidar, and continuously adds new nodes and edges to the graph model.
[0067] The road network information marked in the graph model can include basic connection information and road segment attribute information. Among them, the basic connection information can mark the connection status of road segments and the topological form of the road network. From the connection status of road segments, it can be determined how each task point is interconnected through road segments (edges). The topological form of the road network can include mesh, tree, star, etc. For example, in the graph model of robot task points for urban distribution, the road network is in a mesh form, and task points such as warehouses and customer receiving points are connected by road segments. There is a direct road segment connection from the warehouse to a certain customer receiving point, and there are also multiple alternative paths that need to pass through other intermediate task points. The road segment attribute information can include road segment length, travel time, travel direction, road segment type, road segment obstacle information, etc.
[0068] By accurately marking the road network information in the robot task point graph model, the robot can more comprehensively understand the task environment, make more reasonable path planning and decisions, and improve the efficiency and success rate of task execution.
[0069] S200. According to the road network information and each task point in the robot task point graph model, perform path planning starting from the starting task point in the first planning method to obtain the ending task point.
[0070] In the embodiment of the present application, a starting task point can be preset among each task point in the robot task point graph model. Starting from the starting task point, determine a reasonable traversal order for each task point in the first planning method, and finally determine the ending task point, so as to determine a general planning direction and task point order basis for subsequent path planning.
[0071] Among them, the first planning method can be a planning strategy based on the principle of the shortest distance, that is, find the next task point within the preset range of the starting task point according to the shortest path, and use the found task point as the starting point for finding its next task point. In the same way, until all task points are traversed to determine the final ending task point. Of course, the first planning method can also be a planning strategy based on the principle of the optimal time, considering factors such as the moving speed of the robot in the road network and the possible road conditions, to obtain the final ending task point. In addition, the first planning method can also be a complex planning strategy that comprehensively considers various factors such as energy consumption and task priority. The first planning method can select the corresponding planning strategy according to different application scenarios.
[0072] S300. Start from the starting task point and the ending task point respectively, and perform opposite-direction path planning in the second planning method to obtain a first path from the starting task point passing through all intermediate task points to the ending task point.
[0073] There is a series of intermediate task points between the starting task point and the ending task point obtained by the first path planning method, and these task points are the points that need to be passed through in the entire path planning. Starting from the starting task point, path planning is carried out towards the intermediate task points according to the second path planning method. At the same time, starting from the ending task point, path planning is also carried out towards the intermediate task points according to the second path planning method. Finally, the planning results starting from both ends are integrated, and all intermediate task points are connected to form a coherent route for task execution or movement, that is, the first path.
[0074] The second path planning method can also select corresponding planning strategies according to different application scenarios. For example, a planning strategy based on the principle of the shortest distance, a planning strategy based on the principle of the optimal time, and complex planning strategies considering various factors such as energy consumption and task priority.
[0075] In one embodiment, in the above step S200, as Figure 2 shown, the path planning from the starting task point to obtain the ending task point in the first path planning method includes:
[0076] S210. Sample the task points within the first preset range around the starting task point to obtain sampled task points.
[0077] Among them, the first preset range can be a circular area (with a radius of a certain preset value) centered on the starting task point, or a square area or an area of other shapes. For example, a circular area with a radius of 3 km centered on the starting task point is set, and then all task points within this circular area will be considered for sampling. The larger the sampling range, the more sampling points, the more paths to be judged, and the lower the probability of local minimum points.
[0078] S220. Calculate the Euclidean distance between each sampled task point and the starting task point.
[0079] S230. Sort the sampled task points in ascending order according to the Euclidean distance to obtain the sorted sampled task points.
[0080] Ascending order sorting arranges all sampled task points in ascending order of their Euclidean distance from the starting task point. The purpose of doing this is to first consider the sampled task points closer to the starting task point, because in many cases, a shorter straight-line distance is more likely to lead to the shortest path. For example, there are three sampled task points p1, p2, p3, and their Euclidean distances from the starting task point are 3, 5, and 2 respectively. The sorted order is p3, p1, p2.
[0081] S240. Calculate the road network distance between each sorted sampled task point and the starting task point in the road network information in turn.
[0082] S250. If the preset first quantity of road network distances continues to increase, then use the first sampled task point after sorting as the next starting task point.
[0083] S260. Repeat the above process until all remaining task points are traversed, and use the last task point in the traversal process as the ending task point.
[0084] It should be noted that the first preset range can be adjusted according to factors such as the actual task environment and the distribution density of task points. For example, in a small and task point-dense area, a smaller first preset range can be set; while in a large and task point-sparse area, a larger range needs to be set to ensure that a sufficient number of sampled task points can be collected.
[0085] Sample the task points within the first preset range around the starting task point, calculate the Euclidean distances, and sort them in ascending order, giving priority to the sampled task points closer to the starting task point. This helps to select relatively closer points as components of the subsequent path in the initial stage of path planning, enabling the total length of the planned path to be relatively short, improving the efficiency of the path, and reducing unnecessary long-distance movements. Additionally, in an actual road network or task execution environment, the shortest path between two points is not necessarily the straight-line distance, but is affected by factors such as the road network structure and road connection relationships. By calculating the road network distance, the true cost (such as time, distance, etc.) from one task point to another in the actual environment can be more accurately reflected, making the planned path more feasible and practical.
[0086] The preset first quantity is used to judge the change trend of the road network distance. Only when the road network distances of the preset first quantity continue to increase, will the first sampled task point after sorting be used as the next starting task point. The setting of this judgment condition can avoid blindly selecting a certain sampled task point as the next task point just because its Euclidean distance is close, preventing getting stuck in a locally optimal path selection.
[0087] In one embodiment, in the above step S300, as Figure 3 shown, the respectively starting from the starting task point and the ending task point, and performing opposite-direction path planning in a second planning manner includes:
[0088] S310. Start forward planning from the starting task point, and sequentially plan the forward shortest path between the forward current task point and the forward next task point; wherein, the direction starting from the starting task point is taken as the forward direction.
[0089] S320. Start reverse planning from the ending task point, and sequentially plan the reverse shortest path between the reverse current task point and the reverse next task point; wherein, the direction starting from the ending task point is taken as the reverse direction.
[0090] S330. When reaching the same task point through forward planning and backward planning, merge the forward shortest path and the backward shortest path to obtain the first path from the starting task point to the ending task point.
[0091] It can be understood that during the forward planning and backward planning processes, continuously check whether the paths in both directions reach the same task point. When it is found that both the forward path and the backward path reach the same task point, a meeting point is found. After finding the meeting point, merge the shortest path from the starting task point to the meeting point obtained by forward planning with the shortest path from the ending task point to the meeting point obtained by backward planning. In this way, a complete path from the starting task point to the ending task point is obtained, and this complete path is used as the first path.
[0092] Exemplarily, assume that the robot task point graph model includes task points A (starting task point), B, C, D, and E (ending task point). Forward planning starts from task point A and sequentially explores to task points B and C; backward planning starts from task point E and sequentially explores to task points D and C. When both forward planning and backward planning reach task point C, determine the forward shortest path from task point A to task point C (assume it is A -> B -> C) and the backward shortest path from task point E to task point C (assume it is E -> D -> C), and then merge these two paths to obtain the first path from the starting task point A to the ending task point E: A -> B -> C -> D -> E.
[0093] It should be noted that if there are multiple meeting points, further compare the path lengths obtained by merging under different meeting points, and select the shortest path as the first path.
[0094] By adopting the above strategy of bidirectional path planning, the path from the starting task point to the ending task point can be found more efficiently in a complex task environment.
[0095] In the above steps S310 and S320, as Figure 4 shown, the forward shortest path or the backward shortest path is planned in the same way, including:
[0096] S3110. Sample the task points within the second preset range around the current task point and the transition points between the current task point and its next task point to obtain sampling points.
[0097] It should be noted that there are multiple transition points between the current task point and its next task point, that is, there are multiple paths from the current task point to the next task point through different transition points.
[0098] The second preset range can be a circular area (with a preset radius) centered on the current task point, or a square area or an area of other shapes. For example, if a circular area with a radius of 5 km centered on the current task point is set, then all task points within this circular area and the transition points between the current task point and its next task point will be considered for sampling. The larger the sampling range, the more sampling points, the more paths to be judged, and the lower the probability of local minimum points.
[0099] S3120. Calculate the Euclidean distance between each sampling point and the current task point.
[0100] S3130. Sort the sampling points in ascending order according to the Euclidean distance to obtain the sorted sampling points.
[0101] Ascending order sorting arranges all sampling points in ascending order of their Euclidean distance from the current task point. The purpose of doing this is to consider the sampling points closer to the current task point first, because in many cases, a shorter straight-line distance is more likely to lead to the shortest path. For example, there are three sampling points q1, q2, q3, and their Euclidean distances from the current task point are 5, 8, and 6 respectively. The sorted order is q1, q3, q2.
[0102] S3140. Calculate the road network distances between each sorted sampling point and the current task point in the road network information in turn.
[0103] Different from the Euclidean distance, the road network distance is the actual passable distance between two points on the road network calculated considering the actual road directions and connections. For example, in a graph model, the Euclidean distance between two points is very short, but due to obstacles in the middle, the actual passable distance in the road network is very long.
[0104] Here, calculate the actual passable distances between each sorted sampling point and the current task point in the road network information in turn to obtain a set of road network distance data.
[0105] S3150. If the road network distances of the preset second quantity continuously increase, use the first sorted sampling point as the next starting sampling point.
[0106] By presetting the second quantity, the change trend of the road network distance can be judged. For example, the second quantity can be set to 3. When the road network distances of three consecutive sampling points increase in turn, it means that the path between the current task point and the first sorted sampling point is closer to the shortest path, and then use the first sorted sampling point as the next starting sampling point.
[0107] S3160. Repeat the above process until all remaining sampling points are traversed, and use the last sampling point in the traversal process as the ending sampling point.
[0108] Starting from the determined next starting sampling point, repeat the steps of calculating the Euclidean distance, sorting, calculating the road network distance, and judging the increment. Continuously screen out suitable sampling points until all sampling points have been processed. The last processed sampling point is determined as the end sampling point. This process is to gradually screen out a series of points that are most likely to form the shortest path.
[0109] S3170: Take the path between the current task point, the starting sampling point, the ending sampling point, and the next task point as the shortest path between the current task point and the next task point.
[0110] It can be understood that in the above planning process, when planning the forward shortest path, the current task point is the forward current task point; when planning the reverse shortest path, the current task point is the reverse current task point.
[0111] In the above embodiment, the path planning is started from the starting task point through the first planning method to obtain the ending task point. That is to say, given the task points to be traversed in the robot task point graph model, without knowing the traversal order of each task point, the first planning method can be used to perform one-way planning starting from the starting task point to obtain the traversal order of each task point, and at the same time, the ending task point is determined.
[0112] When using the second planning method for opposite-direction path planning, given the traversal order of each task point, search in opposite directions from the starting task point and the ending task point, and stop when the same task point is found to find the first path from the starting task point to the ending task point.
[0113] During the process of obtaining the ending task point by path planning starting from the starting task point using the first planning method, the first preset range and the first quantity set are related to the second preset range and the second quantity set during the opposite-direction path planning using the second planning method as follows:
[0114] The second preset range is greater than the first preset range, and the second quantity is greater than the first quantity.
[0115] That is to say, compared with the first planning method, the second planning method imposes more stringent constraints on the gradient descent process. During the process of using the second planning method for shortest path planning, a more stringent gradient descent can better handle complex environmental factors and constraint conditions, reduce path errors, and avoid the situation where the found path is only locally optimal rather than globally optimal, thereby providing more reliable path planning for users. When the robot searches for a path in an environment with dense obstacles, a more stringent gradient descent can more carefully consider the position of each point and the surrounding environment information, so as to more accurately evaluate the feasibility and cost of the path, help the robot avoid obstacles, and find a safe and efficient path.
[0116] As Figure 5 shown, the robot path planning method provided by the embodiment of the present application further includes:
[0117] S400. Model the obstacles encountered during the process of the robot executing the first path to obtain an obstacle model; the obstacle model includes target parameters, and the target parameters are used to make the path determined during the path planning process away from the obstacle model.
[0118] Specifically, methods such as geometric modeling method, grid method or artificial potential field method can be used to represent the shape, position, size and other characteristics of the obstacles in the actual environment in a way that can be understood and processed by a computer, so as to obtain an obstacle model. The target parameters included in the obstacle model are used to make the determined new path away from this obstacle model. For example, the target parameters can be the boundary coordinates of the obstacle, the radius (if the obstacle is approximately circular), the size (length, width, height, etc.). Combining these target parameters, a new path avoiding the obstacle can be calculated to ensure that the robot will not collide with the obstacle during the movement process.
[0119] Exemplarily, when using the artificial potential field method to model the obstacle, the obstacle can be regarded as a source generating repulsive force, and the target task point can be regarded as a source generating attractive force. The robot is affected by the attractive force and the repulsive force in this virtual potential field. The attractive force makes it tend to the target task point, and the repulsive force makes it away from the obstacle. The path is planned by calculating the force condition of the robot in the potential field.
[0120] S500. Re-plan based on the obstacle model to obtain a second path, and the second path is used to make the robot reach the end task point.
[0121] Specifically, the re-planning based on the obstacle model includes at least one of the following:
[0122] Re-plan the local path in the first path based on the obstacle model;
[0123] Among them, re-planning the local path in the first path can be specifically understood as re-planning the path in the first path affected by the obstacle, and the path in the first path that has not been executed and is not affected by the obstacle will not be re-planned.
[0124] Since re-planning a path often requires consuming certain computing resources and time, especially in a complex environment where the computational complexity of the path planning algorithm is relatively high. If the entire path is re-planned, even the unaffected parts are recalculated, it will lead to unnecessary computational overhead. Only re-planning the path affected by obstacles can significantly reduce the computational amount, quickly generate a new local path, enable the robot to adapt to environmental changes faster, continue to execute tasks, and improve the overall operating efficiency of the robot.
[0125] Update the road network information based on the obstacle model, and re-plan according to the updated road network information.
[0126] Among them, updating the road network information based on the obstacle model can be understood as making corresponding adjustments to the road network information according to the specific situation of the obstacles. For example, if an obstacle completely occupies a certain path, then this path needs to be marked as impassable in the road network information, and the corresponding connection relationship needs to be updated. Another example is that an obstacle cuts off the originally connected path, resulting in some paths being impassable. In this way, the path connectivity in the road network information needs to be re-evaluated and updated.
[0127] After the road network information is updated, if the original path plan is no longer applicable, it is necessary to re-plan the path according to the updated road network information. Considering the connectivity, distance, or travel time of the path, etc., plan a new path from the starting task point to the ending task point. For example, since an obstacle makes the first path impassable, re-plan according to the updated road network information to find other feasible alternative paths to ensure that the robot can avoid the obstacle and reach the ending task point.
[0128] Furthermore, in the above step S500, as Figure 6 shown, the re-planning based on the obstacle model includes:
[0129] S510. Perform an update operation on the road network information through the obstacle model;
[0130] Specifically, performing an update operation on the road network information can be to mark the passing state of the path, or to modify the connectivity of the path, or to add the accurate geographical coordinate information of the obstacle to the road network information. For example, if an obstacle completely occupies a certain path and makes it impassable for the robot, then mark the passing state of this path in the road network information as impassable. If an obstacle cuts off the direct connection between two originally connected paths, then delete or modify the corresponding path connection relationship in the road network information.
[0131] S520. When the road network information changes based on the update operation, re-plan based on the updated road network information.
[0132] It is understandable that if the road network information cannot be used to plan a path between the current task point and the next task point after the update, the road network information is reset.
[0133] The robot path planning method provided by the embodiment of the present application further includes:
[0134] Updating the road network information according to the log information of the obstacle model, and the updating process includes marking the paths affected by the obstacles in the road network information as impassable paths according to the obstacle model.
[0135] Among them, the log information of the obstacle model may include detailed contents such as the appearance time, disappearance time, specific position coordinates, and influence range of the obstacle. According to the obtained log information of the obstacle model, it can be analyzed which paths will be affected by the obstacle.
[0136] After determining the paths affected by the obstacle, mark these paths in the road network information and set them as impassable paths. In this way, when using the road network information for navigation, path planning or other related operations, the system will avoid selecting these paths and provide more accurate information for the user.
[0137] The robot path planning method provided by the embodiment of the present application is used for path planning in a scenario with more than one task point. By obtaining the road network information marked in the robot task point graph model, the road network structure in the scenario can be fully considered. For a complex multi-task point scenario, this method can perform reasonable path planning based on the road network information, adapt to different geographical environments and task distributions, thereby improving the ability of the robot to perform tasks in complex scenarios.
[0138] The robot path planning method provided by the embodiment of the present application first performs path planning from the starting task point in the first planning method to obtain the ending task point. This preliminary planning can quickly determine a general direction and goal, providing a basis for subsequent shortest path planning. Then, starting from the starting task point and the ending task point respectively, perform opposite-direction path planning in the second planning method. The opposite-direction planning method can narrow the search range and reduce redundant calculations. Compared with path planning from a single direction, it can find the path from the starting task point through all intermediate task points to the ending task point faster, thereby improving the efficiency of path planning and reducing the waiting time of the robot and the consumption of computing resources.
[0139] The robot path planning method provided by the embodiments of this application uses the artificial potential field method to model obstacles. By simulating the gravitational and repulsive forces between objects, the robot can move towards the target while avoiding obstacles. Global optimization of the entire environment and the robot's path is performed through graph optimization. Combining real-time obstacle avoidance and graph optimization, when the robot faces multiple tasks in a complex dynamic environment, on the one hand, it can quickly respond to obstacles and targets in the current environment using the artificial potential field method and adjust the path in real time; on the other hand, through graph optimization, the robot can analyze and plan the entire task sequence, anticipate possible problems and optimal path selections in advance. After completing a task, the robot can further optimize the path planning for future tasks based on the latest environmental information and task execution status, reducing unnecessary future computational workload, so as to efficiently execute multiple tasks in a complex environment, improving the overall efficiency and success rate of task execution.
[0140] In actual application scenarios, robots often need to handle multiple task points. How to plan the optimal path and achieve global obstacle avoidance is a key issue. This application comprehensively considers the relationships between multiple task points and the distribution of obstacles in the environment to perform optimal path planning. During the path planning process, fully considering the need for global obstacle avoidance, converting the complex global obstacle avoidance problem into multiple local obstacle avoidance problems for processing can greatly improve the efficiency and accuracy of path planning. This efficient multi-task processing and global obstacle avoidance ability further enhance the stability and efficiency of task execution, enabling the robot to reliably complete multiple tasks in a complex environment, reducing the risk of collisions during task execution and the probability of path planning failure.
[0141] Based on the same inventive concept, as Figure 7 shown, the embodiments of this application also provide a robot path planning device for path planning in scenarios with more than one task point, including:
[0142] An acquisition module configured to acquire the road network information annotated in the robot task point graph model.
[0143] A task point planning module configured to perform path planning from the starting task point to the ending task point in a first planning manner according to the road network information and each task point in the robot task point graph model.
[0144] A path planning module configured to perform opposite-direction path planning from the starting task point and the ending task point respectively in a second planning manner to obtain a first path from the starting task point passing through all intermediate task points to the ending task point.
[0145] Optionally, the task point planning module is further configured to:
[0146] Sample the task points within the first preset range around the starting task point to obtain sampled task points;
[0147] Calculate the Euclidean distance between each sampled task point and the starting task point;
[0148] Sort the sampled task points in ascending order according to the Euclidean distance to obtain the sorted sampled task points;
[0149] Successively calculate the road network distances between each sorted sampled task point and the starting task point in the road network information;
[0150] If the road network distances of the preset first quantity continuously increase, take the first sampled task point after sorting as the next starting task point;
[0151] Repeat the above process until all the remaining task points are traversed, and take the last task point in the traversal process as the ending task point.
[0152] Optionally, the path planning module is further configured as:
[0153] Perform forward planning starting from the starting task point, and successively plan the forward shortest path between the forward current task point and the forward next task point; wherein, the direction starting from the starting task point is taken as the forward direction;
[0154] Perform reverse planning starting from the ending task point, and successively plan the reverse shortest path between the reverse current task point and the reverse next task point; wherein, the direction starting from the ending task point is taken as the reverse direction;
[0155] When reaching the same task point through forward planning and reverse planning, merge the forward shortest path and the reverse shortest path to obtain the first path from the starting task point to the ending task point.
[0156] Optionally, the path planning module is further configured as:
[0157] Sample the task points within the second preset range around the current task point and the transition points between the current task point and its next task point to obtain sampled points;
[0158] Calculate the Euclidean distance between each sampled point and the current task point;
[0159] Sort the sampled points in ascending order according to the Euclidean distance to obtain the sorted sampled points;
[0160] Successively calculate the road network distances between each sorted sampled point and the current task point in the road network information;
[0161] If the road network distances of the preset second quantity continuously increase, take the first sampled point after sorting as the next starting sampled point;
[0162] Repeat the above process until all the remaining sampling points are traversed, and use the last sampling point in the traversal process as the end sampling point;
[0163] Take the path between the current task point, the starting sampling point, the ending sampling point, and the next task point as the shortest path between the current task point and the next task point.
[0164] A robot path planning device provided by an embodiment of the present application further includes:
[0165] A modeling module configured to model obstacles encountered during the process of the robot executing the first path to obtain an obstacle model; the obstacle model includes target parameters, and the target parameters are used to keep the path determined during the path planning process away from the obstacle model.
[0166] An updating module configured to update the road network information according to the log information of the obstacle model, and the updating process includes marking the paths affected by the obstacle in the road network information as impassable paths according to the obstacle model.
[0167] An embodiment of the present application further provides an electronic device, including a memory and a processor, where an executable program is stored in the memory, and the processor executes the executable program to perform the steps of the method described above.
[0168] The above embodiments are only exemplary embodiments of the present application and are not used to limit the present application. The protection scope of the present application is defined by the claims. Those skilled in the art can make various modifications or equivalent replacements within the essence and protection scope of the present application, and such modifications or equivalent replacements should also be regarded as falling within the protection scope of the present application.
Claims
1. A robot path planning method for performing path planning for a scene with more than one task point, comprising: Obtain the road network information marked in the robot task point graph model; According to the road network information and each task point in the robot task point graph model, path planning is started from the starting task point in a first planning manner to obtain an ending task point; Starting from the starting task point and the ending task point respectively, opposite path planning is performed in a second planning manner to obtain a first path from the starting task point through all intermediate task points to the ending task point.
2. The method according to claim 1, further comprising: Modeling obstacles encountered by the robot during execution of the first path to obtain an obstacle model; The obstacle model includes a target parameter, and the target parameter is used to make the path determined in the path planning process stay away from the obstacle model; Replanning is performed based on the obstacle model to obtain a second path, where the second path is used to enable the robot to reach the end task point.
3. The method according to claim 2, wherein the replanning based on the obstacle model comprises at least one of the following: Replanning a local path in the first path based on the obstacle model; The road network information is updated based on the obstacle model, and re-planning is performed according to the updated road network information.
4. The method according to claim 2, wherein the replanning based on the obstacle model comprises: Updating the road network information through the obstacle model; In the case where the road network information changes based on the update operation, re-planning is performed based on the updated road network information.
5. According to the method of claim 4, if the updated road network information makes it impossible to plan a path from the current task point to the next task point, the road network information is reset.
6. The method according to claim 1 or 2, wherein the step of planning a path from a starting task point to an ending task point in a first planning manner comprises: Sampling task points within a first preset range around the starting task point to obtain sampled task points; Calculate the Euclidean distance between each sampling task point and the starting task point; Sort each sampling task point in ascending order according to the Euclidean distance to obtain the sorted sampling task points; Calculate the road network distance between each sorted sampling task point and the starting task point in the road network information in turn; If the preset first number of road network distances continues to increase, the first sampled task point after sorting is used as the next starting task point; Repeat the above process until the remaining task points are traversed, and take the last task point in the traversal process as the end task point.
7. The method according to claim 1 or 2, wherein starting from the starting task point and the ending task point respectively, performing opposite path planning in a second planning manner comprises: Start forward planning from the starting task point, and plan the shortest forward path between the current task point and the next task point in turn; the direction from the starting task point is taken as the forward direction; Start reverse planning from the end task point, and plan the reverse shortest path between the reverse current task point and the reverse next task point in sequence; among which, the direction starting from the end task point is regarded as the reverse direction; When the same task point is reached through forward planning and reverse planning, the forward shortest path and the reverse shortest path are merged to obtain the first path from the starting task point to the ending task point.
8. The method according to claim 7, wherein the planning of the forward shortest path or the reverse shortest path comprises: Sampling task points within a second preset range around the current task point and transition points between the current task point and the next task point to obtain sampling points; Calculate the Euclidean distance between each sampling point and the current task point; Sort the sampling points in ascending order according to the Euclidean distance to obtain sorted sampling points; Calculate the road network distance between each sorted sampling point and the current task point in the road network information in turn; If the preset second number of road network distances continues to increase, the first sampling point after sorting is used as the next starting sampling point; Repeat the above process until the remaining sampling points are traversed, and take the last sampling point in the traversal process as the end sampling point; The path between the current task point, the starting sampling point, the ending sampling point and the next task point is taken as the shortest path between the current task point and the next task point.
9. The method according to claim 1, further comprising: The road network information is updated according to the log information of the obstacle model, and the updating process includes marking the paths affected by obstacles in the road network information as inaccessible paths according to the obstacle model.
10. A robot path planning device, used for path planning in a scene with more than one task point, comprising: An acquisition module configured to acquire the road network information marked in the robot task point graph model; A task point planning module is configured to start path planning from the starting task point to obtain the ending task point in a first planning manner according to the road network information and each task point in the robot task point graph model; The path planning module is configured to start from the starting task point and the ending task point respectively, perform opposite path planning in a second planning manner, and obtain a first path from the starting task point through all intermediate task points to the ending task point.