Robot path planning method and apparatus
Patent Information
- Application Number
- CN202510326314.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-19
- Publication Date
- 2026-09-29
AI Technical Summary
[0003]目前市面上存在一些机器狗的路径规划算法,用于实现机器狗的路径规划,现有的机器狗路径规划算法如DWA(Dynamic Window Approach,动态窗口法)虽然可以为机器狗自动进行路径规划,该算法不仅计算负担较大,导致规划效率低,而且规划出的路径准确性较差,容易使机器狗于障碍物发生碰撞和陷入“死胡同”
[0051]上述机器人路径规划方法和装置,响应于第一路径规划指令,根据机器人的当前移动信息和目标位置信息,确定机器人从当前位置移动至目标位置的候选全局路径。根据候选全局路径关联的障碍物的障碍物位置信息,确定机器人沿候选全局路径移动的第一碰撞情况。根据候选全局路径和第一碰撞情况,确定机器人从当前位置移动至目标位置的目标全局路径。本申请在接收到第一路径规划指令时,首先根据机器人的当前移动信息和目标位置信息,确定机器人从当前位置移动至目标位置的候选全局路径,再根据候选全局路径关联的障碍物的障碍物位置信息,确定机器人沿候选全局路径移动的第一碰撞情况。最后根据候选全局路径和第一碰撞情况,确定机器人从当前位置移动至目标位置的目标全局路径,不仅有效的提升了路径确定效率,还有效提升了确定的目标全局路径的准确性和安全性,以避免机器人与障碍物发生碰撞和陷入“死胡同”的情况发生。
Smart Images

Figure CN122835381A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, specifically to a robot path planning method and apparatus. Background Technology
[0002] Robot dogs, as a type of quadrupedal bionic robot, have received widespread attention and application in recent years. Their background technologies involve multiple fields, primarily including robotics, computer vision, sensor technology, mechanical design, artificial intelligence, and control systems. Artificial intelligence and control systems provide robot dogs with intelligent behavior and decision-making capabilities. Through artificial intelligence technologies such as deep learning and reinforcement learning, robot dogs can achieve autonomous learning and environmental adaptation. Simultaneously, the control system is responsible for coordinating the movement of various components, enabling the robot dog to move and operate according to preset goals.
[0003] Currently, there are some path planning algorithms for robot dogs on the market. Existing robot dog path planning algorithms such as DWA (Dynamic Window Approach) can automatically plan paths for robot dogs. However, this algorithm not only has a large computational burden, resulting in low planning efficiency, but also has poor accuracy in planning paths, which can easily cause robot dogs to collide with obstacles and get stuck in dead ends. Summary of the Invention
[0004] Therefore, it is necessary to provide a robot path planning method and apparatus that can improve path accuracy and safety in response to the above-mentioned technical problems.
[0005] In a first aspect, this application provides a robot path planning method, the method comprising:
[0006] In response to the first path planning instruction, based on the robot's current movement information and target position information, a candidate global path is determined for the robot to move from its current position to the target position;
[0007] Based on the obstacle position information of the obstacles associated with the candidate global path, determine the first collision situation when the robot moves along the candidate global path;
[0008] Based on the candidate global paths and the first collision, determine the target global path for the robot to move from its current position to the target position.
[0009] In one embodiment, the current movement information includes current position information, current speed, and current heading angle; based on the robot's current movement information and target position information, a candidate global path is determined for the robot to move from its current position to the target position, including:
[0010] Based on the robot's current movement information and state transition rules, the predicted position information of each path point between the current position and the target position, as well as the predicted heading angle of the robot at each path point, are determined. The state transition rules include position transition rules used to characterize the positional relationship between two adjacent path points and heading angle transition rules used to characterize the heading angle relationship between two adjacent path points.
[0011] Based on the first path planning model, target location information, predicted location information of each path point, and the robot's predicted heading angle at each path point, candidate global paths are determined.
[0012] In one embodiment, the method further includes:
[0013] The equivalent wheelbase is determined based on the distance between the robot's forelimbs and hindlimbs;
[0014] Based on the robot's velocity variables, heading angle variables, and equivalent wheelbase, establish the robot's heading angle transfer rules.
[0015] In one embodiment, the obstacle location information includes the location information of each object point on the obstacle; based on the obstacle location information of the obstacles associated with the candidate global path, determining the first collision situation for the robot moving along the candidate global path includes:
[0016] Based on the obstacle location information associated with the candidate global path, the obstacles are clustered to obtain the corresponding clusters.
[0017] Based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, the first collision situation of the robot moving along the candidate global path is determined.
[0018] In one embodiment, based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, the first collision situation of the robot moving along the candidate global path is determined, including:
[0019] Based on the coordinate information of each object point in the cluster, determine the maximum and minimum coordinate information of the cluster; where the maximum coordinate information includes the maximum x-coordinate and the maximum y-coordinate; the minimum coordinate information includes the minimum x-coordinate and the minimum x-coordinate.
[0020] Determine the maximum and minimum coordinates of the robot as it moves to each path point along the candidate global path;
[0021] Based on the maximum and minimum coordinate information of the clusters, as well as the maximum and minimum coordinate information of the robot, the second collision situation of the robot moving along the candidate global path is determined.
[0022] Based on the cluster center location information, determine the distance between the robot center location and the cluster center location when the robot is at each path point;
[0023] Based on the distance between the robot's center position and the center position of the cluster at each path point, and the radius information of the cluster, the third collision situation of the robot moving along the candidate global path is determined.
[0024] Based on the second and third collision scenarios, the first collision scenario is determined when the robot moves along the candidate global path.
[0025] In one embodiment, determining the first collision condition for the robot to move along the candidate global path based on the second and third collision conditions includes:
[0026] If the second collision scenario is a collision and / or the third collision scenario is a collision, the first collision scenario is determined to be a collision scenario in which the robot moves along the candidate global path.
[0027] In one embodiment, determining the target global path for the robot to move from its current position to the target position based on the candidate global path and the first collision condition includes:
[0028] In the case of a collision in the first collision scenario, the contour line of the robot moving along the candidate global path is determined. Based on the obstacle position information of the obstacle associated with the contour line and the candidate global path, the fourth collision scenario of the robot moving along the candidate global path is determined.
[0029] In the fourth collision scenario where no collision occurs, the candidate global path is taken as the target global path for the robot to move from its current position to the target position.
[0030] In one embodiment, the method further includes:
[0031] In the fourth collision scenario where a collision exists, the candidate global path is updated, and based on the updated candidate global path, the operation of determining the first collision scenario where the robot moves along the candidate global path is returned, based on the obstacle position information of the candidate global path and the obstacles associated with the candidate global path.
[0032] In one embodiment, after determining the target global path for the robot to move from its current position to the target position based on the candidate global path and the first collision condition, the method further includes:
[0033] In response to the second path planning instruction, the target path point is determined from the target global path based on the robot's position information and the planned step size;
[0034] Based on the second path planning model and path constraints, the target local path for the robot to reach the target path point is determined; wherein, the path constraints include at least one of path length, arrival time, path smoothness, path safety, velocity variation range, and acceleration variation range.
[0035] Secondly, this application provides a robot path planning method, the apparatus comprising:
[0036] The first determining module is used to respond to the first path planning instruction and determine the candidate global path for the robot to move from the current position to the target position based on the robot's current movement information and target position information.
[0037] The second determining module is used to determine the first collision situation when the robot moves along the candidate global path based on the obstacle position information of the obstacles associated with the candidate global path.
[0038] The third determination module is used to determine the target global path for the robot to move from its current position to the target position based on the candidate global paths and the first collision situation.
[0039] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program and the processor performs the following steps:
[0040] In response to the first path planning instruction, based on the robot's current movement information and target position information, a candidate global path is determined for the robot to move from its current position to the target position;
[0041] Based on the obstacle position information of the obstacles associated with the candidate global path, determine the first collision situation when the robot moves along the candidate global path;
[0042] Based on the candidate global paths and the first collision, determine the target global path for the robot to move from its current position to the target position.
[0043] Fourthly, this application also provides a computer-readable storage medium on which a computer program is stored, and which, when executed by a processor, performs the following steps:
[0044] In response to the first path planning instruction, based on the robot's current movement information and target position information, a candidate global path is determined for the robot to move from its current position to the target position;
[0045] Based on the obstacle position information of the obstacles associated with the candidate global path, determine the first collision situation when the robot moves along the candidate global path;
[0046] Based on the candidate global paths and the first collision, determine the target global path for the robot to move from its current position to the target position.
[0047] Fifthly, this application also provides a computer program product comprising a computer program that, when executed by a processor, performs the following steps:
[0048] In response to the first path planning instruction, based on the robot's current movement information and target position information, a candidate global path is determined for the robot to move from its current position to the target position;
[0049] Based on the obstacle position information of the obstacles associated with the candidate global path, determine the first collision situation when the robot moves along the candidate global path;
[0050] Based on the candidate global paths and the first collision, determine the target global path for the robot to move from its current position to the target position.
[0051] The aforementioned robot path planning method and apparatus, in response to a first path planning instruction, determine candidate global paths for the robot to move from its current position to the target position based on the robot's current movement information and target position information. Based on the obstacle position information of obstacles associated with the candidate global paths, a first collision scenario is determined for the robot moving along the candidate global paths. Based on the candidate global paths and the first collision scenario, a target global path is determined for the robot to move from its current position to the target position. Upon receiving the first path planning instruction, this application first determines candidate global paths for the robot to move from its current position to the target position based on the robot's current movement information and target position information. Then, based on the obstacle position information of obstacles associated with the candidate global paths, a first collision scenario is determined for the robot moving along the candidate global paths. Finally, based on the candidate global paths and the first collision scenario, a target global path is determined for the robot to move from its current position to the target position. This not only effectively improves the efficiency of path determination but also effectively improves the accuracy and safety of the determined target global path, thereby avoiding collisions with obstacles and situations where the robot gets stuck in a dead end. Attached Figure Description
[0052] Figure 1 This is an application environment diagram of a robot path planning method provided in this embodiment;
[0053] Figure 2 This is a flowchart illustrating the first robot path planning method provided in this embodiment;
[0054] Figure 3 This is a flowchart illustrating the process of determining candidate global paths provided in this embodiment;
[0055] Figure 4This is a schematic diagram illustrating the principle of global path planning provided in this embodiment;
[0056] Figure 5 This is a flowchart illustrating the process of determining the first collision scenario when the robot moves along a candidate global path, as provided in this embodiment.
[0057] Figure 6 This is a schematic diagram illustrating the principle of obstacle clustering provided in this embodiment;
[0058] Figure 7 This is a schematic diagram illustrating the principle of the second collision detection provided in this embodiment;
[0059] Figure 8 This is a flowchart illustrating the process of determining the target global path provided in this embodiment;
[0060] Figure 9 This is a flowchart illustrating the process of determining the target local path for the robot to reach the target path point, as provided in this embodiment.
[0061] Figure 10 This is a flowchart illustrating the second robot path planning method provided in this embodiment;
[0062] Figure 11 This is a structural block diagram of a robot path planning device provided in this embodiment;
[0063] Figure 12 This is an internal structural diagram of the computer device provided in this embodiment. Detailed Implementation
[0064] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0065] The path planning method provided in this application can be applied to robot path planning, or to how to control a robot to perform path planning. Optionally, the robot path planning method can be executed by the robot or by a server. Furthermore, the robot path planning method can also be executed through interaction between the robot and the server; that is, the method can be applied to situations such as... Figure 1In the application environment shown, server 104, in response to the first path planning instruction, determines a candidate global path for robot 102 to move from its current position to the target position based on the robot 102's current movement information and target position information; and determines a first collision situation for robot 102 moving along the candidate global path based on the obstacle position information of the obstacles associated with the candidate global path. Finally, server 104 determines the target global path for robot 102 to move from its current position to the target position based on the candidate global path and the first collision situation.
[0066] Server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers. Robot 102 refers to an automated machine capable of performing various tasks, typically controlled by a computer program. In this application, the robot mainly refers to a quadruped robot, i.e., a robot dog.
[0067] In one embodiment, Figure 2 This is a flowchart illustrating a robot path planning method according to an embodiment of this application, applied to... Figure 1 Taking the server in the example, the method includes the following steps:
[0068] S201, in response to the first path planning instruction, determines a candidate global path for the robot to move from its current position to the target position based on the robot's current movement information and target position information.
[0069] The first path planning instruction refers to the control instruction that determines the candidate global path for the robot to move from its current position to the target position. Current movement information refers to the robot's movement information at the current moment, which may include current position information, current speed, and current heading angle. Target position information refers to the position information of the target point that the robot wants to reach. Candidate global paths refer to the alternative paths the robot can take to move from its current position to the target position.
[0070] Optionally, in this embodiment, the update cycle of the global path can be preset, such as 1s, 5s, 10s, or 20s. When the current cycle is detected to be ending, the first path planning command is automatically triggered. That is, the global path is automatically updated according to the update cycle.
[0071] As an optional implementation of this application, in response to the first path planning instruction, the robot's current movement information and target position information are input into the path planning model, and the path planning model outputs a candidate global path for the robot to move from the current position to the target position.
[0072] As another optional implementation of this application, in response to the first path planning instruction, the robot's current movement information, target position information, and obstacle position information between the current position and the target position are input into the path planning model, and the path planning model outputs a candidate global path for the robot to move from the current position to the target position.
[0073] As an optional implementation of this application, in response to a first path planning instruction, the robot's current movement information and target position information are input to the navigation device, and the navigation device outputs a candidate global path for the robot to move from its current position to the target position. The navigation device may be a device or module with path planning functionality.
[0074] S202, based on the obstacle position information of the obstacles associated with the candidate global path, determine the first collision situation when the robot moves along the candidate global path.
[0075] The first collision scenario refers to the collision between the robot and obstacles associated with the candidate global path during the robot's movement along the candidate global path. An obstacle is an object existing around the candidate global path that may collide with the robot. Obstacle position information refers to the position information of each point on the obstacle, such as the position information of points on the obstacle's outline. Obstacle position information can be acquired by robot scanning or provided by other devices.
[0076] Optionally, in this embodiment, path points can be selected in the candidate global path to determine the robot's contour information at each path point. The robot's contour information at each path point is then matched with the obstacle position information of the obstacles. Based on the matching result, the first collision situation of the robot moving along the candidate global path is determined. For example, if the matching result indicates the existence of an overlapping area, then the first collision situation is determined to be a collision.
[0077] S203, based on the candidate global paths and the first collision situation, determine the target global path for the robot to move from its current position to the target position.
[0078] The target global path refers to the path that the robot will eventually take from its current position to the target position.
[0079] As an optional implementation of this application, if there is no collision in the first collision situation, the candidate global path is used as the target global path for the robot to move from the current position to the target position.
[0080] As another optional implementation of this application, if the first collision situation is that a collision exists, the candidate global path is updated to obtain the updated candidate global path, and then the process returns to execute S202.
[0081] The aforementioned robot path planning method, in response to a first path planning instruction, determines candidate global paths for the robot to move from its current position to the target position based on the robot's current movement information and target position information. Based on the obstacle position information of obstacles associated with the candidate global paths, it determines a first collision scenario for the robot moving along the candidate global paths. Based on the candidate global paths and the first collision scenario, it determines the target global path for the robot to move from its current position to the target position. Upon receiving the first path planning instruction, this application first determines candidate global paths for the robot to move from its current position to the target position based on the robot's current movement information and target position information. Then, based on the obstacle position information of obstacles associated with the candidate global paths, it determines the first collision scenario for the robot moving along the candidate global paths. Finally, based on the candidate global paths and the first collision scenario, it determines the target global path for the robot to move from its current position to the target position. This not only effectively improves the efficiency of path determination but also effectively improves the accuracy and safety of the determined target global path, thereby avoiding collisions with obstacles and getting stuck in dead ends.
[0082] In one embodiment, to more accurately determine candidate global paths, the current movement information in this embodiment includes current position information, current speed, and current heading angle. Based on this, such as... Figure 3 As shown, an optional implementation of S201 includes:
[0083] S301, based on the robot's current movement information and state transition rules, determine the predicted position information of each path point between the current position and the target position, as well as the predicted heading angle of the robot at each path point.
[0084] The state transition rules include position transition rules, which characterize the positional relationship between two adjacent path points, and heading angle transition rules, which characterize the heading angle relationship between two adjacent path points. Predicted position information refers to the predicted position information of each path point the robot will traverse between the current position and the target position. Predicted heading angle refers to the predicted heading angle of the robot as it passes through each path point.
[0085] As an optional implementation of this application, the predicted position information of the next path point can be determined based on the robot's current position information, current speed, current heading angle, and position transfer rules. Similarly, the predicted position information of each path point between the current position and the target position can be determined. The position transfer rules can be represented by the following formulas (1) and (2). Specifically, the predicted position information of each path point can be determined based on the following formulas (1) and (2):
[0086] (1)
[0087] (2)
[0088] In formulas (1) and (2), x i x represents the x-coordinate of the i-th path point; i+1 The x-coordinate of the (i+1)th path point is represented by y. i The y-coordinate represents the position of the i-th path point; i+1 This represents the y-coordinate of the (i+1)th path point; v xi This represents the velocity component of the robot at the i-th path point on the horizontal axis; v yi This represents the velocity component of the robot at the i-th path point on the ordinate; v xi Based on It is determined that v represents the robot's velocity at the i-th path point; v represents the robot's heading angle at the i-th path point; yi Based on It has been confirmed.
[0089] Another optional implementation of this application is to determine the predicted heading angle information for the next path point based on the robot's current speed, current heading angle, and heading angle transfer rules. This process is repeated to determine the predicted heading angle of the robot at each path point.
[0090] Optionally, one possible implementation of establishing the heading angle transfer rule in this embodiment is to determine the equivalent wheelbase based on the distance between the robot's forelimbs and hindlimbs. The heading angle transfer rule for the robot is established based on the robot's velocity variable, heading angle variable, and equivalent wheelbase. In this embodiment, an optional implementation of determining the equivalent wheelbase based on the distance between the robot's forelimbs and hindlimbs is to determine the equivalent weight based on the robot's flexibility; the product of the equivalent weight and the distance between the robot's forelimbs and hindlimbs is used as the equivalent period; preferably, the equivalent weight ranges from 0.2 to 0.5. Optionally, the heading angle transfer rule in this embodiment can be characterized by the following formula (3):
[0091] (3)
[0092] In formula (3) This represents the robot's heading angle at the (i+1)th path point; Let v represent the heading angle of the robot at the i-th path point; v represent the velocity of the robot at the i-th path point; and L represent the equivalent wheelbase.
[0093] S302, based on the first path planning model, target position information, predicted position information of each path point, and predicted heading angle of the robot at each path point, determine the candidate global path.
[0094] The first path planning model refers to the path planning model used to plan the global path for the robot to move from its current position to its target position.
[0095] Optionally, in this embodiment, the first path planning model can be a path planning model equipped with the Hybrid A* algorithm. Hybrid A* is a path smoothing planning algorithm with radius constraints, and its algorithmic idea comes from the A* algorithm. The A* algorithm is a heuristic search algorithm that finds the optimal path from the initial node to the target node in a graph. First, a two-dimensional grid map is established; then, the optimal path is determined based on the robot's current position and the target position. However, the global path planned by the traditional Hybrid A* algorithm is as follows: Figure 4 The upper figure shows that only robot fault avoidance was considered, resulting in discontinuous curvature, excessive turning angles, long path lengths, and uncoordinated robot movement in the planned path. In this application, the robot possesses higher flexibility. Compared to traditional path planning objects that can only move in four directions, the robot in this application can move in eight directions (e.g., left-front, right-front, left-rear, and right-rear). Therefore, when using the HybridA* algorithm for path planning in this application, the heading angle is also considered. The planned path is as follows: Figure 4 As shown in the diagram below, this not only increases the smoothness of the path and prevents the robot from making large turns, but also allows it to more flexibly bypass obstacles or adjust its path in complex environments.
[0096] In this embodiment, based on the robot's current movement information and state transition rules, the predicted position information of each path point between the current position and the target position, as well as the predicted heading angle of the robot at each path point, are determined. Based on the first path planning model, the target position information, the predicted position information of each path point, and the predicted heading angle of the robot at each path point, candidate global paths are determined. The state transition rules include position transition rules characterizing the positional relationship between two adjacent path points and heading angle transition rules characterizing the heading angle relationship between two adjacent path points. This embodiment considers not only the robot's current position information but also its current heading angle and current speed, as well as the robot's own structure, effectively improving the accuracy, smoothness, coordination, and matching degree between the candidate global paths and the robot.
[0097] In one embodiment, to more accurately determine the first collision situation as the robot moves along the candidate global path, such as Figure 5As shown, one optional implementation of S202 includes:
[0098] S501, based on the obstacle location information of the obstacles associated with the candidate global path, the obstacles are clustered to obtain the clusters corresponding to the obstacles.
[0099] In this context, a cluster refers to a set of object points on an obstacle, obtained after processing the obstacle into instances. It should be noted that if there is more than one obstacle, each obstacle needs to be clustered to obtain a cluster for each obstacle.
[0100] Optionally, in this embodiment, based on the obstacle location information of the obstacles associated with the candidate global path, the obstacles are clustered using the K-means algorithm to obtain the clusters corresponding to the obstacles, such as... Figure 6 As shown, after clustering, each obstacle ( Figure 6 The black graphic blocks in the image (representing obstacles) form a cluster.
[0101] S502, based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, determine the first collision situation of the robot moving along the candidate global path.
[0102] Optionally, in this embodiment, the maximum and minimum coordinate information of the cluster are determined based on the coordinate information of each object point in the cluster; wherein, the maximum coordinate information includes the maximum x-coordinate and the maximum y-coordinate; and the minimum coordinate information includes the minimum x-coordinate and the minimum y-coordinate. The maximum and minimum coordinate information of the robot when it moves to each path point along the candidate global path are determined. Based on the maximum and minimum coordinate information of the cluster, and the maximum and minimum coordinate information of the robot, a second collision scenario for the robot's movement along the candidate global path is determined. Based on the center position information of the cluster, the distance between the robot's center position and the center position of the cluster at each path point is determined. Based on the distance between the robot's center position and the center position of the cluster at each path point, and the radius information of the cluster, a third collision scenario for the robot's movement along the candidate global path is determined. Based on the second and third collision scenarios, a first collision scenario for the robot's movement along the candidate global path is determined.
[0103] In this embodiment, an optional implementation for determining the second collision situation of the robot moving along the candidate global path based on the maximum and minimum coordinate information of the clusters and the robot's maximum and minimum coordinate information is as follows: The maximum and minimum coordinate information of the robot at each path point are compared with the maximum and minimum coordinate information of the cluster group. Only when collisions occur in both the horizontal and vertical coordinates is the second collision situation of the robot moving along the candidate global path determined to be a collision. Specifically, as shown... Figure 7 As shown, Figure 7 In this context, A represents the obstacle, B represents the robot, and the formula for determining if a collision has not occurred is shown in formula (4):
[0104] (4)
[0105] In formula (4) , , , These represent the robot's maximum x-coordinate, minimum x-coordinate, maximum y-coordinate, and minimum y-coordinate at a certain path point, respectively. , , , Let x, y, x, y represent the maximum x-coordinate, minimum x-coordinate, maximum y-coordinate, and minimum y-coordinate of a certain obstacle, respectively; || represents an OR relationship. That is to say, as long as any condition in formula (4) is met, it means that the second collision case is that there is no collision.
[0106] In this embodiment, an optional implementation for determining the third collision situation of the robot moving along the candidate global path based on the interval distance between the robot's center position and the center position of the cluster at each path point, and the radius information of the cluster, is as follows: A collision threshold is determined based on the radius information of the cluster; the interval distance of the robot at each path point is compared with the collision threshold; based on the comparison result, the third collision situation of the robot with the obstacle at each path point is determined. Specifically, if there is an interval distance smaller than the collision threshold, the third collision situation of the robot moving along the candidate global path is determined to have a collision. If there is no interval distance smaller than the collision threshold, the third collision situation of the robot moving along the candidate global path is determined to have no collision. An optional implementation for determining the collision threshold based on the radius information of the cluster in this embodiment is to use 3r / 2 as the collision threshold; where r represents the radius information of the cluster.
[0107] In this embodiment, an optional implementation for determining the first collision condition for the robot's movement along the candidate global path based on the second and third collision conditions is as follows: If the second and / or third collision conditions indicate a collision, the robot's movement along the candidate global path is determined to have a collision. In other words, if a collision occurs in either the second or third collision condition, the first collision condition is considered to have a collision. If neither the second nor the third collision condition indicates a collision, the robot's movement along the candidate global path is determined to have no collision. This improves the accuracy of collision detection, and compared to traditional collision algorithms, the collision detection method in this application significantly reduces the computational burden and improves collision detection efficiency.
[0108] In this embodiment, obstacles are clustered based on their location information associated with the candidate global path, resulting in corresponding clusters. The first collision scenario for the robot moving along the candidate global path is determined based on the coordinates of each object point within the cluster, as well as the center position and radius of the cluster. This embodiment not only effectively reduces the computational burden in determining the first collision scenario but also improves the accuracy of the determined scenario.
[0109] Based on the above embodiments, in order to further enhance the security of the planned target global path, such as Figure 8 As shown, one optional implementation of S203 includes:
[0110] S801, if the first collision condition is that a collision exists, determine the contour line of the robot moving along the candidate global path, and determine the fourth collision condition of the robot moving along the candidate global path based on the obstacle position information of the contour line and the obstacles associated with the candidate global path.
[0111] Here, the contour line refers to the contour line formed when the robot moves along the candidate global path, calculated based on the robot's outer contour.
[0112] Optionally, in this embodiment, if the first collision scenario indicates a collision, the contour line along which the robot moves along the candidate global path is determined. Based on the intersection of the contour line and the obstacle position information of the obstacles associated with the candidate global path, the fourth collision scenario is determined. Specifically, if the intersection indicates an intersection, the fourth collision scenario is determined to be a collision; otherwise, if the intersection indicates no intersection, the fourth collision scenario is determined to be a non-collision. It should be noted that, to reduce the difficulty of determining the fourth collision scenario, the path points where collisions occur in the second or third collision scenarios can be determined first. Then, only the contour line around that path point needs to be determined. The intersection of this contour line and the obstacle position information of the obstacles associated with the candidate global path is used to determine the fourth collision scenario, which improves the efficiency and reduces the difficulty of determining the fourth collision scenario.
[0113] S802, in the case that there is no collision in the fourth collision situation, the candidate global path is taken as the target global path for the robot to move from the current position to the target position.
[0114] Optionally, in this embodiment, if a collision exists in the fourth collision scenario, the candidate global path is updated, and based on the updated candidate global path, the operation of determining the first collision scenario—based on the obstacle position information of the candidate global path and the obstacles associated with it—is returned. An optional implementation of updating the candidate global path in this embodiment is to first identify the path points in the candidate global path that have collisions, optimize these path points, and then update the candidate global path, effectively improving the efficiency of updating the candidate global path.
[0115] In this embodiment, if a collision exists in the first collision scenario, a contour line for the robot to move along the candidate global path is determined. Based on the obstacle position information of the contour line and the obstacles associated with the candidate global path, a fourth collision scenario for the robot to move along the candidate global path is determined. If no collision exists in the fourth collision scenario, the candidate global path is used as the target global path for the robot to move from the current position to the target position. Based on this embodiment, the safety of the determined target global path is further improved.
[0116] In one embodiment, after determining the target global path for the robot to move from its current position to the target position based on the candidate global paths and the first collision situation, as follows: Figure 9 As shown, an optional implementation of a robot path planning method includes:
[0117] S901, in response to the second path planning command, determines the target path point from the target global path based on the robot's position information and the planned step size.
[0118] The second path planning instruction refers to the instruction for planning a local path for the robot. The location information refers to the robot's position when the second path planning instruction is received. The planning step size refers to the length of the local path to be planned, such as 2 meters or 5 meters.
[0119] Optionally, in this embodiment, the update period for the local path can be preset, such as 0.5s, 1s, 2s, or 5s. When the current local path update period is detected to be ending, a second path planning command is automatically triggered. That is, the local path is automatically updated according to the update period. It should be noted that the update period for the local path is shorter than the update period for the global path. For example, if the update period for the global path is 5s, the update period for the local path can be configured to 1s.
[0120] Optionally, in response to the second path planning instruction, the robot moves forward one planning step along the target global path based on its current position, and this becomes the target path point.
[0121] S902, based on the second path planning model and path constraints, determines the target local path for the robot to reach the target path point.
[0122] The path constraints include at least one of the following: path length, arrival time, path smoothness, path safety, velocity variation range, and acceleration variation range. The second path planning model refers to a model used for planning local paths for the robot.
[0123] Optionally, in this embodiment, a second path planning model can be constructed based on the TEB (Timed Elastic Band) algorithm. TEB is an algorithm for robot path planning and trajectory optimization, particularly suitable for real-time navigation in dynamic environments. By optimizing the temporal and spatial parameters of the path, the TEB algorithm enables the robot to move efficiently and safely in complex and dynamic environments.
[0124] Optionally, in this embodiment, based on the path constraints used for configuration (e.g., shortest path, shortest time, optimal smoothness, etc.), the local path can be optimized on the basis of the target global path, so that the robot reaches the target local path point.
[0125] In this embodiment, in response to the second path planning command, a target path point is determined from the target global path based on the robot's current position and planned step size. Based on the second path planning model and path constraints, a target local path is determined for the robot to reach the target path point. The path constraints include at least one of path length, arrival time, path smoothness, path safety, velocity variation amplitude, and acceleration variation amplitude. This embodiment allows for flexible planning of local paths based on the target global path and path constraints, making the determined local path better meet user needs.
[0126] In one embodiment, such as Figure 10 As shown, an optional implementation of a robot path planning method includes:
[0127] S1001, determine the equivalent wheelbase based on the distance between the robot's forelimbs and hindlimbs.
[0128] S1002, Based on the robot's velocity variable, heading angle variable, and equivalent wheelbase, establish the robot's heading angle transfer rules.
[0129] S1003, in response to the first path planning instruction, determines the predicted position information of each path point between the current position and the target position, as well as the predicted heading angle of the robot at each path point, based on the robot's current movement information and state transition rules. The state transition rules include position transition rules characterizing the positional relationship between two adjacent path points and heading angle transition rules characterizing the heading angle relationship between two adjacent path points.
[0130] S1004. Based on the first path planning model, target position information, predicted position information of each path point, and predicted heading angle of the robot at each path point, determine the candidate global path.
[0131] S1005, based on the obstacle location information of the obstacles associated with the candidate global path, the obstacles are clustered to obtain the clusters corresponding to the obstacles.
[0132] S1006, Based on the coordinate information of each object point in the cluster, determine the maximum and minimum coordinate information of the cluster. The maximum coordinate information includes the maximum x-coordinate and the maximum y-coordinate; the minimum coordinate information includes the minimum x-coordinate and the minimum x-coordinate.
[0133] S1007, determine the maximum and minimum coordinate information of the robot when it moves to each path point along the candidate global path.
[0134] S1008. Based on the maximum and minimum coordinate information of the clusters, as well as the maximum and minimum coordinate information of the robot, determine the second collision situation of the robot moving along the candidate global path.
[0135] S1009, Based on the cluster center location information, determine the interval distance between the robot's center location and the cluster center location when the robot is at each path point.
[0136] S1010, based on the distance between the robot's center position and the center position of the cluster when the robot is at each path point, and the radius information of the cluster, determine the third collision situation when the robot moves along the candidate global path.
[0137] S1011, Based on the second and third collision situations, determine the first collision situation for the robot to move along the candidate global path.
[0138] S1012, if the first collision condition is that a collision exists, determine the contour line of the robot moving along the candidate global path, and determine the fourth collision condition of the robot moving along the candidate global path based on the obstacle position information of the contour line and the obstacles associated with the candidate global path.
[0139] S1013, In the case that there is no collision in the fourth collision situation, the candidate global path is taken as the target global path for the robot to move from the current position to the target position, and S1015 is executed.
[0140] S1014, if the fourth collision condition is that a collision exists, update the candidate global path, and based on the updated candidate global path, return to execute S1005.
[0141] S1015, in response to the second path planning instruction, determines the target path point from the target global path based on the robot's position information and the planned step size.
[0142] S1016. Based on the second path planning model and path constraints, determine the target local path for the robot to reach the target path point. The path constraints include at least one of the following: path length, arrival time, path smoothness, path safety, velocity variation amplitude, and acceleration variation amplitude.
[0143] The robot path planning method of this embodiment, in response to a first path planning instruction, determines a candidate global path for the robot to move from its current position to the target position based on the robot's current movement information and target position information. Based on the obstacle position information of obstacles associated with the candidate global path, it determines a first collision situation for the robot moving along the candidate global path. Based on the candidate global path and the first collision situation, it determines a target global path for the robot to move from its current position to the target position. Upon receiving the first path planning instruction, this application first determines a candidate global path for the robot to move from its current position to the target position based on the robot's current movement information and target position information. Then, based on the obstacle position information of obstacles associated with the candidate global path, it determines a first collision situation for the robot moving along the candidate global path. Finally, based on the candidate global path and the first collision situation, it determines a target global path for the robot to move from its current position to the target position. This not only effectively improves the efficiency of path determination but also effectively improves the accuracy and safety of the determined target global path, thereby avoiding collisions between the robot and obstacles and situations where the robot gets stuck in a dead end.
[0144] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0145] Based on the same inventive concept, this application also provides a robot path planning device for implementing the robot path planning method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more robot path planning device embodiments provided below can be found in the limitations of the robot path planning method described above, and will not be repeated here.
[0146] In one embodiment, by Figure 11 A structural block diagram of a robot path planning device in one embodiment is shown. Figure 11 As shown, a robot path planning device 1 is provided, which includes: a first determining module 10, a second determining module 20, and a third determining module 30, wherein:
[0147] The first determining module 10 is used to respond to the first path planning instruction and determine a candidate global path for the robot to move from the current position to the target position based on the robot's current movement information and target position information.
[0148] The second determining module 20 is used to determine the first collision situation of the robot moving along the candidate global path based on the obstacle position information of the obstacles associated with the candidate global path.
[0149] The third determining module 30 is used to determine the target global path for the robot to move from its current position to the target position based on the candidate global path and the first collision situation.
[0150] In one embodiment, the current movement information includes current location information, current speed, and current heading angle; Figure 11 The first determining module 10 in the module is also specifically used for:
[0151] Based on the robot's current movement information and state transition rules, the predicted position information of each path point between the current position and the target position, as well as the predicted heading angle of the robot at each path point, are determined. The state transition rules include position transition rules used to characterize the positional relationship between two adjacent path points and heading angle transition rules used to characterize the heading angle relationship between two adjacent path points.
[0152] Based on the first path planning model, target location information, predicted location information of each path point, and the robot's predicted heading angle at each path point, candidate global paths are determined.
[0153] In one embodiment, the upper Figure 11 The robot path planning device 1 also includes:
[0154] The fourth determining module is used to determine the equivalent wheelbase based on the distance between the robot's forelimbs and hindlimbs;
[0155] A module is established to create the robot's heading angle transfer rules based on the robot's velocity variables, heading angle variables, and equivalent wheelbase.
[0156] In one embodiment, the upper Figure 11 The second determining module 20 is also specifically used for:
[0157] Based on the obstacle location information associated with the candidate global path, the obstacles are clustered to obtain the corresponding clusters.
[0158] Based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, the first collision situation of the robot moving along the candidate global path is determined.
[0159] In one embodiment, the upper Figure 11 The second determining module 20 is also specifically used for:
[0160] Based on the coordinate information of each object point in the cluster, determine the maximum and minimum coordinate information of the cluster; where the maximum coordinate information includes the maximum x-coordinate and the maximum y-coordinate; the minimum coordinate information includes the minimum x-coordinate and the minimum x-coordinate.
[0161] Determine the maximum and minimum coordinates of the robot as it moves to each path point along the candidate global path;
[0162] Based on the maximum and minimum coordinate information of the clusters, as well as the maximum and minimum coordinate information of the robot, the second collision situation of the robot moving along the candidate global path is determined.
[0163] Based on the cluster center location information, determine the distance between the robot center location and the cluster center location when the robot is at each path point;
[0164] Based on the distance between the robot's center position and the center position of the cluster at each path point, and the radius information of the cluster, the third collision situation of the robot moving along the candidate global path is determined.
[0165] Based on the second and third collision scenarios, the first collision scenario is determined when the robot moves along the candidate global path.
[0166] In one embodiment, the upper Figure 11 The second determining module 20 is also specifically used for:
[0167] If the second collision scenario is a collision and / or the third collision scenario is a collision, the first collision scenario is determined to be a collision scenario in which the robot moves along the candidate global path.
[0168] In one embodiment, the upper Figure 11 The third determining module 30 is also specifically used for:
[0169] In the case of a collision in the first collision scenario, the contour line of the robot moving along the candidate global path is determined. Based on the obstacle position information of the obstacle associated with the contour line and the candidate global path, the fourth collision scenario of the robot moving along the candidate global path is determined.
[0170] In the fourth collision scenario where no collision occurs, the candidate global path is taken as the target global path for the robot to move from its current position to the target position.
[0171] In one embodiment, the upper Figure 11The robot path planning device 1 also includes:
[0172] The update module is used to update the candidate global path when the fourth collision case is a collision, and based on the updated candidate global path, return the operation of determining the first collision case by the robot moving along the candidate global path according to the obstacle position information of the candidate global path and the obstacles associated with the candidate global path.
[0173] In one embodiment, after determining the target global path for the robot to move from its current position to the target position based on the candidate global paths and the first collision situation, Figure 11 The robot path planning device 1 also includes:
[0174] The selection module is used to respond to the second path planning command and determine the target path point from the target global path based on the robot's position information and the planned step size.
[0175] The fifth determination module is used to determine the target local path for the robot to reach the target path point based on the second path planning model and path constraints; wherein the path constraints include at least one of path length, arrival time, path smoothness, path safety, velocity change range, and acceleration change range.
[0176] Each module in the aforementioned robot path planning device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0177] In one embodiment, a computer device is provided, which may be a platform-side device, and its internal structure diagram may be as follows: Figure 12 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores robot path-related information. The network interface communicates with an external user via a network connection. When executed by the processor, the computer program implements a robot path planning method.
[0178] Those skilled in the art will understand that Figure 12The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specifically, the computer device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0179] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0180] In response to the first path planning instruction, based on the robot's current movement information and target position information, a candidate global path is determined for the robot to move from its current position to the target position;
[0181] Based on the obstacle position information of the obstacles associated with the candidate global path, determine the first collision situation when the robot moves along the candidate global path;
[0182] Based on the candidate global paths and the first collision, determine the target global path for the robot to move from its current position to the target position.
[0183] In one embodiment, when the processor executes the computer program, it further implements the following steps: the current movement information includes current position information, current speed, and current heading angle; based on the robot's current movement information and target position information, it determines a candidate global path for the robot to move from its current position to the target position, including:
[0184] Based on the robot's current movement information and state transition rules, the predicted position information of each path point between the current position and the target position, as well as the predicted heading angle of the robot at each path point, are determined. The state transition rules include position transition rules used to characterize the positional relationship between two adjacent path points and heading angle transition rules used to characterize the heading angle relationship between two adjacent path points.
[0185] Based on the first path planning model, target location information, predicted location information of each path point, and the robot's predicted heading angle at each path point, candidate global paths are determined.
[0186] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0187] The equivalent wheelbase is determined based on the distance between the robot's forelimbs and hindlimbs;
[0188] Based on the robot's velocity variables, heading angle variables, and equivalent wheelbase, establish the robot's heading angle transfer rules.
[0189] In one embodiment, when the processor executes the computer program, it further implements the following steps: obstacle location information includes the location information of each object point on the obstacle; based on the obstacle location information of the obstacles associated with the candidate global path, it determines the first collision situation of the robot moving along the candidate global path, including:
[0190] Based on the obstacle location information associated with the candidate global path, the obstacles are clustered to obtain the corresponding clusters.
[0191] Based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, the first collision situation of the robot moving along the candidate global path is determined.
[0192] In one embodiment, when the processor executes the computer program, it further performs the following steps: determining the first collision situation of the robot moving along the candidate global path based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, including:
[0193] Based on the coordinate information of each object point in the cluster, determine the maximum and minimum coordinate information of the cluster; where the maximum coordinate information includes the maximum x-coordinate and the maximum y-coordinate; the minimum coordinate information includes the minimum x-coordinate and the minimum x-coordinate.
[0194] Determine the maximum and minimum coordinates of the robot as it moves to each path point along the candidate global path;
[0195] Based on the maximum and minimum coordinate information of the clusters, as well as the maximum and minimum coordinate information of the robot, the second collision situation of the robot moving along the candidate global path is determined.
[0196] Based on the cluster center location information, determine the distance between the robot center location and the cluster center location when the robot is at each path point;
[0197] Based on the distance between the robot's center position and the center position of the cluster at each path point, and the radius information of the cluster, the third collision situation of the robot moving along the candidate global path is determined.
[0198] Based on the second and third collision scenarios, the first collision scenario is determined when the robot moves along the candidate global path.
[0199] In one embodiment, when the processor executes the computer program, it further performs the following steps: determining a first collision condition for the robot to move along a candidate global path based on a second collision condition and a third collision condition, including:
[0200] If the second collision scenario is a collision and / or the third collision scenario is a collision, the first collision scenario is determined to be a collision scenario in which the robot moves along the candidate global path.
[0201] In one embodiment, when the processor executes the computer program, it further performs the following steps: determining a target global path for the robot to move from its current position to a target position based on candidate global paths and a first collision situation, including:
[0202] In the case of a collision in the first collision scenario, the contour line of the robot moving along the candidate global path is determined. Based on the obstacle position information of the obstacle associated with the contour line and the candidate global path, the fourth collision scenario of the robot moving along the candidate global path is determined.
[0203] In the fourth collision scenario where no collision occurs, the candidate global path is taken as the target global path for the robot to move from its current position to the target position.
[0204] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0205] In the fourth collision scenario where a collision exists, the candidate global path is updated, and based on the updated candidate global path, the operation of determining the first collision scenario where the robot moves along the candidate global path is returned, based on the obstacle position information of the candidate global path and the obstacles associated with the candidate global path.
[0206] In one embodiment, the processor, when executing the computer program, further implements the following steps: after determining a target global path for the robot to move from its current position to the target position based on candidate global paths and a first collision condition, the method further includes:
[0207] In response to the second path planning instruction, the target path point is determined from the target global path based on the robot's position information and the planned step size;
[0208] Based on the second path planning model and path constraints, the target local path for the robot to reach the target path point is determined; wherein, the path constraints include at least one of path length, arrival time, path smoothness, path safety, velocity variation range, and acceleration variation range.
[0209] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0210] In response to the first path planning instruction, based on the robot's current movement information and target position information, a candidate global path is determined for the robot to move from its current position to the target position;
[0211] Based on the obstacle position information of the obstacles associated with the candidate global path, determine the first collision situation when the robot moves along the candidate global path;
[0212] Based on the candidate global paths and the first collision, determine the target global path for the robot to move from its current position to the target position.
[0213] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: the current movement information includes current position information, current speed, and current heading angle; based on the robot's current movement information and target position information, it determines a candidate global path for the robot to move from the current position to the target position, including:
[0214] Based on the robot's current movement information and state transition rules, the predicted position information of each path point between the current position and the target position, as well as the predicted heading angle of the robot at each path point, are determined. The state transition rules include position transition rules used to characterize the positional relationship between two adjacent path points and heading angle transition rules used to characterize the heading angle relationship between two adjacent path points.
[0215] Based on the first path planning model, target location information, predicted location information of each path point, and the robot's predicted heading angle at each path point, candidate global paths are determined.
[0216] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0217] The equivalent wheelbase is determined based on the distance between the robot's forelimbs and hindlimbs;
[0218] Based on the robot's velocity variables, heading angle variables, and equivalent wheelbase, establish the robot's heading angle transfer rules.
[0219] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: obstacle location information includes the location information of each object point on the obstacle; based on the obstacle location information of the obstacles associated with the candidate global path, it determines the first collision situation of the robot moving along the candidate global path, including:
[0220] Based on the obstacle location information associated with the candidate global path, the obstacles are clustered to obtain the corresponding clusters.
[0221] Based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, the first collision situation of the robot moving along the candidate global path is determined.
[0222] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: determining the first collision situation of the robot moving along the candidate global path based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, including:
[0223] Based on the coordinate information of each object point in the cluster, determine the maximum and minimum coordinate information of the cluster; where the maximum coordinate information includes the maximum x-coordinate and the maximum y-coordinate; the minimum coordinate information includes the minimum x-coordinate and the minimum x-coordinate.
[0224] Determine the maximum and minimum coordinates of the robot as it moves to each path point along the candidate global path;
[0225] Based on the maximum and minimum coordinate information of the clusters, as well as the maximum and minimum coordinate information of the robot, the second collision situation of the robot moving along the candidate global path is determined.
[0226] Based on the cluster center location information, determine the distance between the robot center location and the cluster center location when the robot is at each path point;
[0227] Based on the distance between the robot's center position and the center position of the cluster at each path point, and the radius information of the cluster, the third collision situation of the robot moving along the candidate global path is determined.
[0228] Based on the second and third collision scenarios, the first collision scenario is determined when the robot moves along the candidate global path.
[0229] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: determining a first collision condition for the robot to move along a candidate global path based on a second collision condition and a third collision condition, including:
[0230] If the second collision scenario is a collision and / or the third collision scenario is a collision, the first collision scenario is determined to be a collision scenario in which the robot moves along the candidate global path.
[0231] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: determining a target global path for the robot to move from its current position to a target position based on candidate global paths and a first collision condition, including:
[0232] In the case of a collision in the first collision scenario, the contour line of the robot moving along the candidate global path is determined. Based on the obstacle position information of the obstacle associated with the contour line and the candidate global path, the fourth collision scenario of the robot moving along the candidate global path is determined.
[0233] In the fourth collision scenario where no collision occurs, the candidate global path is taken as the target global path for the robot to move from its current position to the target position.
[0234] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0235] In the fourth collision scenario where a collision exists, the candidate global path is updated, and based on the updated candidate global path, the operation of determining the first collision scenario where the robot moves along the candidate global path is returned, based on the obstacle position information of the candidate global path and the obstacles associated with the candidate global path.
[0236] In one embodiment, when the computer program is executed by a processor, it further implements the following steps: after determining a target global path for the robot to move from its current position to the target position based on candidate global paths and a first collision condition, the method further includes:
[0237] In response to the second path planning instruction, the target path point is determined from the target global path based on the robot's position information and the planned step size;
[0238] Based on the second path planning model and path constraints, the target local path for the robot to reach the target path point is determined; wherein, the path constraints include at least one of path length, arrival time, path smoothness, path safety, velocity variation range, and acceleration variation range.
[0239] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0240] In response to the first path planning instruction, based on the robot's current movement information and target position information, a candidate global path is determined for the robot to move from its current position to the target position;
[0241] Based on the obstacle position information of the obstacles associated with the candidate global path, determine the first collision situation when the robot moves along the candidate global path;
[0242] Based on the candidate global paths and the first collision, determine the target global path for the robot to move from its current position to the target position.
[0243] It should be noted that the data involved in this application (including but not limited to messages and information during the robot path planning process) are all data that have been fully authorized by all parties, and the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0244] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0245] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0246] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A robot path planning method, characterized in that, The method includes: In response to the first path planning instruction, a candidate global path is determined for the robot to move from its current position to the target position based on the robot's current movement information and target position information. Based on the obstacle position information of the obstacles associated with the candidate global path, the first collision situation of the robot moving along the candidate global path is determined; Based on the candidate global path and the first collision situation, a target global path is determined for the robot to move from its current position to the target position.
2. The method according to claim 1, characterized in that, The current movement information includes current position information, current speed, and current heading angle; determining the candidate global path for the robot to move from its current position to the target position based on the robot's current movement information and target position information includes: Based on the robot's current movement information and state transition rules, the predicted position information of each path point between the current position and the target position, as well as the predicted heading angle of the robot at each path point, are determined; wherein, the state transition rules include position transition rules for characterizing the positional relationship between two adjacent path points and heading angle transition rules for characterizing the heading angle relationship between two adjacent path points. Based on the first path planning model, the target location information, the predicted location information of each path point, and the predicted heading angle of the robot at each path point, a candidate global path is determined.
3. The method according to claim 2, characterized in that, The method further includes: The equivalent wheelbase is determined based on the distance between the robot's forelimbs and hindlimbs; Based on the robot's velocity variable, heading angle variable, and equivalent wheelbase, establish the robot's heading angle transfer rule.
4. The method according to any one of claims 1-3, characterized in that, The obstacle location information includes the location information of each object point on the obstacle; determining the first collision situation of the robot moving along the candidate global path based on the obstacle location information of the obstacles associated with the candidate global path includes: Based on the obstacle location information of the obstacles associated with the candidate global path, the obstacles are clustered to obtain the clusters corresponding to the obstacles; Based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, the first collision situation of the robot moving along the candidate global path is determined.
5. The method according to claim 4, characterized in that, The step of determining the first collision situation of the robot moving along the candidate global path based on the coordinate information of each object point in the cluster, as well as the center position information and radius information of the cluster, includes: Based on the coordinate information of each object point in the cluster, the maximum and minimum coordinate information of the cluster are determined; wherein, the maximum coordinate information includes the maximum x-coordinate and the maximum y-coordinate; and the minimum coordinate information includes the minimum x-coordinate and the minimum x-coordinate. Determine the maximum and minimum coordinates of the robot as it moves to each path point along the candidate global path; Based on the maximum and minimum coordinate information of the cluster, and the maximum and minimum coordinate information of the robot, a second collision situation is determined when the robot moves along the candidate global path; Based on the center position information of the cluster, determine the interval distance between the robot's center position and the center position of the cluster at each path point; Based on the distance between the robot's center position and the center position of the cluster at each path point, and the radius information of the cluster, the third collision situation of the robot moving along the candidate global path is determined. Based on the second collision scenario and the third collision scenario, a first collision scenario is determined for the robot to move along the candidate global path.
6. The method according to claim 5, characterized in that, Determining the first collision condition for the robot to move along the candidate global path based on the second collision condition and the third collision condition includes: If the second collision condition is a collision and / or the third collision condition is a collision, then the first collision condition in which the robot moves along the candidate global path is determined to be a collision.
7. The method according to claim 1, characterized in that, Determining the target global path for the robot to move from its current position to the target position based on the candidate global path and the first collision situation includes: If the first collision scenario is a collision, the outline of the robot moving along the candidate global path is determined, and the fourth collision scenario of the robot moving along the candidate global path is determined based on the obstacle position information of the obstacle associated with the outline and the candidate global path. If no collision occurs in the fourth collision scenario, the candidate global path is taken as the target global path for the robot to move from its current position to the target position.
8. The method according to claim 7, characterized in that, The method further includes: If the fourth collision scenario involves a collision, the candidate global path is updated, and based on the updated candidate global path, the operation of determining the first collision scenario—where the robot moves along the candidate global path—is performed based on the obstacle position information of the candidate global path and the obstacles associated with it.
9. The method according to any one of claims 1-3, characterized in that, After determining the target global path for the robot to move from its current position to the target position based on the candidate global path and the first collision situation, the method further includes: In response to the second path planning instruction, the target path point is determined from the target global path based on the robot's position information and the planned step size; Based on the second path planning model and path constraints, a target local path is determined for the robot to reach the target path point; wherein the path constraints include at least one of path length, arrival time, path smoothness, path safety, velocity variation amplitude, and acceleration variation amplitude.
10. A robot path planning device, characterized in that, The device includes: The first determining module is used to respond to the first path planning instruction and determine a candidate global path for the robot to move from the current position to the target position based on the robot's current movement information and target position information. The second determining module is used to determine the first collision situation of the robot moving along the candidate global path based on the obstacle position information of the obstacles associated with the candidate global path; The third determining module is used to determine the target global path for the robot to move from its current position to the target position based on the candidate global path and the first collision situation.