Robot motion planning method and device, electronic equipment and program product
By generating sampling points in the heuristic area and updating the robot's motion trajectory, the inefficiency problem caused by the long motion trajectory of the robot in the prior art is solved, and a more efficient motion path is achieved.
Patent Information
- Application Number
- CN202510390707.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-28
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2045-03-28
AI Technical Summary
In the prior art, the motion trajectory of robots is usually longer, resulting in less motion efficiency.
By determining the initial position, target position and environment map information of the robot, a first trajectory, a plurality of second trajectories and heuristic areas are generated. Generate sampling points according to the heuristic area, and update the trajectory according to the sampling points, guiding the robot to move until it reaches the target position.
By generating sampling points and update trajectories within the heuristic area, the resulting motion trajectories are usually shorter, which improves the motion efficiency of the robot.
Smart Images

Figure CN120095820A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of robotics technology, and in particular, relates to a robot motion planning method, device, electronic equipment and program product. Background Art
[0002] In current robot motion planning methods, sampling points are usually randomly generated in the entire target area where the robot is located, and then a robot motion trajectory from the initial position to the target position is determined based on the randomly generated sampling points. Since each sampling point is randomly generated, the resulting robot motion trajectory is usually long, which reduces the robot's motion efficiency. Summary of the invention
[0003] In view of this, the embodiments of the present application provide a robot motion planning method, device, electronic device and program product to solve the technical problem of low motion efficiency of robots in the prior art.
[0004] In a first aspect, an embodiment of the present application provides a motion planning method for a robot, comprising:
[0005] Determine the initial position, target position and environment map information of the robot; the environment map information is used to describe the obstacle information of the target area where the robot is located;
[0006] Generate a first track, a plurality of second tracks and a heuristic area according to the initial position, the target position and the environment map information; wherein a node of the first track includes the initial position, a node of the second track includes the target position, and a range of the heuristic area is smaller than the target area;
[0007] Generate sampling points according to the heuristic region;
[0008] According to the sampling point, the first trajectory or the second trajectory is selected to be updated, and if the second trajectory is updated, the first trajectory is updated by the updated second trajectory;
[0009] Guiding the robot to move according to the updated first trajectory, and determining the current position of the robot after the movement is completed;
[0010] The heuristic area is updated according to the current position, the target position and the environmental map information, and the step of generating sampling points according to the heuristic area and subsequent steps are returned to execute until the robot moves to the target position.
[0011] Optionally, updating the first trajectory or the second trajectory according to the sampling point includes:
[0012] Determine a target trajectory whose Euclidean distance to the sampling point is less than a preset distance;
[0013] If the target trajectory is the first trajectory, updating the first trajectory according to the sampling point;
[0014] If the target trajectory is any of the second trajectories, any of the second trajectories is updated according to the sampling points.
[0015] Optionally, updating the first trajectory by using the updated second trajectory includes:
[0016] If the updated second trajectory does not meet the condition for updating the first trajectory, the method returns to executing the step of generating sampling points according to the heuristic area and the step of selecting to update the first trajectory or the second trajectory according to the sampling points until the updated first trajectory is obtained.
[0017] Optionally, generating sampling points according to the heuristic region includes:
[0018] Determining the number of generated sampling points corresponding to the heuristic region;
[0019] Determine a sampling deviation rate according to the number of the generated sampling points; the sampling deviation rate is used to describe the probability that any sampling point is located within the heuristic region; the sampling deviation rate is negatively correlated with the number of the generated sampling points;
[0020] The sampling points are generated according to the sampling deviation rate and the heuristic area.
[0021] Optionally, the heuristic region is generated in the following manner:
[0022] According to the initial position, the target position and the environment map information, the heuristic region is generated, and a plurality of path points are generated for guiding the robot to move from the current position to the target position; each of the path points is located in the heuristic region;
[0023] The step of guiding the robot to move according to the updated first trajectory includes:
[0024] If the updated first trajectory includes any of the path points, guiding the robot to move to any of the path points according to the updated first trajectory;
[0025] If the updated first trajectory does not include any of the path points, the step of generating sampling points according to the heuristic area and subsequent steps are returned to be executed until the updated first trajectory includes any of the path points.
[0026] Optionally, guiding the robot to move to any of the path points according to the updated first trajectory includes:
[0027] Determining an optimal trajectory for guiding the robot to move to any of the path points according to the updated first trajectory;
[0028] Evaluate the dynamic risk and static risk of each node in the optimal trajectory; wherein the dynamic risk represents the risk of a dynamic obstacle to the movement of the robot, and the static risk represents the risk of a static obstacle to the movement of the robot;
[0029] The robot is guided to move to any of the path points according to the dynamic risk and the static risk of each of the nodes in the optimal trajectory.
[0030] Optionally, the updating of the heuristic area according to the current position, the target position and the environment map information includes:
[0031] Determining the distance between each of the path points and the current position;
[0032] If the distance between any of the path points and the current position is less than a preset distance threshold, the heuristic area is updated and each of the path points is updated.
[0033] In a second aspect, an embodiment of the present application provides a motion planning device for a robot, comprising:
[0034] An information determination unit, used to determine the initial position, target position and environment map information of the robot; the environment map information is used to describe obstacle information of the target area where the robot is located;
[0035] A first generating unit is configured to generate a first trajectory, a plurality of second trajectories and a heuristic area according to the initial position, the target position and the environment map information; wherein a node of the first trajectory includes the initial position, a node of one of the second trajectories includes the target position, and a range of the heuristic area is smaller than the target area;
[0036] A second generating unit, used for generating sampling points according to the heuristic region;
[0037] an updating unit, configured to select, according to the sampling point, to update the first trajectory or the second trajectory, and if the second trajectory is to be updated, to update the first trajectory by using the updated second trajectory;
[0038] A guiding motion unit, used for guiding the robot to move according to the updated first trajectory, and determining the current position of the robot after the movement is completed;
[0039] A loop unit is used to update the heuristic area according to the current position, the target position and the environmental map information, and return to execute the step of generating sampling points according to the heuristic area and subsequent steps until the robot moves to the target position.
[0040] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, each step in the robot motion planning method as described in any one of the first aspects above is implemented.
[0041] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, each step in the robot motion planning method as described in any one of the above-mentioned first aspects is implemented.
[0042] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product is run on a terminal device, the terminal device executes each step in the robot motion planning method as described in any one of the first aspects above.
[0043] The robot motion planning method, device, electronic device and program product provided by the embodiments of the present application have the following beneficial effects:
[0044] In the motion planning method of the robot provided in the embodiment of the present application, the initial position, target position and environmental map information of the robot are first determined, and then the first trajectory, multiple second trajectories and heuristic areas are generated according to the initial position, target position and environmental map information, wherein the node of the first trajectory includes the initial position, and the node of one of the second trajectories includes the target position, and the range of the heuristic area is smaller than the target area, and then the sampling points are generated according to the heuristic area, and then the first trajectory or the second trajectory is selected to be updated according to the sampling points. If the second trajectory is updated, the first trajectory is updated by the updated second trajectory, and the robot is guided to move according to the updated first trajectory, and the current position of the robot after the movement is completed is determined, and finally the heuristic area is updated according to the current position, target position and environmental map information, and the step of generating sampling points according to the heuristic area and subsequent steps are returned to execute until the robot moves to the target position. The sampling points of the present method are all located in the heuristic area, while the sampling points in the prior art are all located in the target area where the robot is located. Since the range of the heuristic area is smaller than the target area where the robot is located, the motion trajectory obtained by the motion planning method of the robot of the present application is usually shorter, which improves the motion efficiency of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0046] Figure 1 A flowchart of the motion planning method for a robot provided in an embodiment of the present application;
[0047] Figure 2 A schematic diagram of a heuristic area provided in an embodiment of the present application;
[0048] Figure 3 A schematic diagram of the structure of a motion planning device for a robot provided in an embodiment of the present application;
[0049] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0050] It should be noted that the terms used in the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application. In the description of the embodiments of the present application, unless otherwise specified, "multiple" refers to two or more than two, and "at least one", "one or more" refers to one, two or more. The terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, it is defined that the "first" and "second" features can explicitly or implicitly include one or more of the features.
[0051] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear at different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0052] The execution subject of the robot motion planning method provided in the embodiment of the present application can be an electronic device, and the electronic device can include a control device of the robot. Exemplarily, the electronic device can include a mobile phone, a tablet computer, a laptop computer, a desktop computer, etc.
[0053] The robot motion planning method provided in the embodiment of the present application can be applied to various scenarios that require robot motion planning. When it is necessary to improve the movement efficiency of the robot from an initial position to a target position, each step of the robot motion planning method provided in the embodiment of the present application can be executed by an electronic device.
[0054] See also Figure 1 , Figure 1 The following is a flowchart of a motion planning method for a robot provided in an embodiment of the present application. The motion planning method for the robot may include S101 to S106, which are described in detail as follows:
[0055] In S101 , the initial position, target position and environment map information of the robot are determined.
[0056] In an embodiment of the present application, the electronic device may first determine the initial position, target position, and environmental map information of the robot.
[0057] The initial position of the robot may refer to the current position of the robot, the target position of the robot may refer to the position that the robot wants to reach, and the environment map information is used to describe the obstacle information of the target area where the robot is located. Specifically, the target area where the robot is located may be an area where the robot can move, and the obstacle information of the target area may include static obstacle information and dynamic obstacle information in the target area. Exemplarily, the static obstacle information is the information of obstacles that cannot move, and the dynamic obstacle information is the information of obstacles that can move.
[0058] In S102 , a first track, a plurality of second tracks and a heuristic area are generated according to the initial position, the target position and the environment map information.
[0059] In an embodiment of the present application, after determining the initial position, the target position and the environmental map information, the electronic device may generate a first track, multiple second tracks and a heuristic area according to the initial position, the target position and the environmental map information.
[0060] The nodes of the first trajectory include an initial position, the nodes of the second trajectory include a target position, and the range of the heuristic region is smaller than the target region. In the field of robotics, the first trajectory may be referred to as a "root tree" and the second trajectory may be referred to as a "subtree".
[0061] Both the first track and the second track can be updated (grown) through the sampling points. Specifically, when any sampling point is within a preset range near the first track, the sampling point can guide the first track to update (grow), and when any sampling point is within a preset range near the second track, the sampling point can guide the second track to update (grow). In addition, when the second track is within a preset range near the first track, the second track can also guide the first track to update (grow), and when the distance between any two second tracks is less than the preset distance, the any two second tracks will be merged.
[0062] It should be noted that not every sampling point can cause the first trajectory or the second trajectory to be updated, because some sampling points are neither located within the preset range near the first trajectory nor within the preset range near the second trajectory.
[0063] In the embodiment of the present application, the robot moves on the first trajectory, and the first trajectory is used to directly guide the robot's movement. After each update (growth) of the first trajectory, the robot can move from the current position to the next current position. When the current position of the robot moves, the electronic device can update the heuristic area to further improve the robot's movement efficiency. The second trajectory is used to update (grow) the first trajectory to indirectly guide the robot's movement.
[0064] The heuristic area is a part of the target area. Compared with other areas in the target area, the heuristic area can be considered to be more likely to improve the movement efficiency of the robot from the initial position to the target position.
[0065] See also Figure 2 , Figure 2 A schematic diagram of a heuristic region provided in an embodiment of the present application. Figure 2 As shown, Figure 2 The entire area in can be used as the target area of the robot. Figure 2 The shaded area in can be used as a heuristic area. Figure 2 By comparing the target area and the heuristic area, it can be understood that the efficiency of the robot moving from the initial position to the target position in the heuristic area is higher than the efficiency of the robot moving from the initial position to the target position outside the heuristic area.
[0066] In practical applications, the specific method of generating the first trajectory, the plurality of second trajectories and the heuristic area according to the initial position, the target position and the environment map information can be implemented by a preset algorithm, which is not specifically limited here.
[0067] It should be noted that when generating the first trajectory and the second trajectory, the electronic device needs to consider the static obstacle information and the dynamic obstacle information in the target area.
[0068] In S103, sampling points are generated according to the heuristic region.
[0069] In the embodiment of the present application, after the heuristic region is generated, the electronic device may generate sampling points according to the heuristic region, wherein the number of sampling points generated by the electronic device each time may be one.
[0070] It should be noted that after the current position of the robot changes, the electronic device will update the heuristic area, so the electronic device needs to generate sampling points according to the latest heuristic area.
[0071] In a possible implementation, the electronic device can generate sampling points according to the heuristic area through steps a to c. The details are as follows:
[0072] In step a, the number of generated sampling points corresponding to the heuristic region is determined.
[0073] In this implementation, each time a sampling point is generated, the electronic device determines the number of generated sampling points corresponding to the latest heuristic area.
[0074] Exemplarily, if the first three sampling points corresponding to the heuristic area are unable to update the first trajectory, that is, the first three sampling points corresponding to the heuristic area are unable to guide the robot to move, then the number of generated sampling points corresponding to the heuristic area is 3.
[0075] In step b, the sampling deviation rate is determined according to the number of generated sampling points.
[0076] In this implementation, after determining the number of generated sampling points, the electronic device may determine the sampling deviation rate according to the number of generated sampling points.
[0077] The sampling deviation rate is used to describe the probability that any sampling point is within the heuristic region; the sampling deviation rate is negatively correlated with the number of generated sampling points.
[0078] Exemplarily, when the number of generated sampling points corresponding to the heuristic area is 0, that is, when the electronic device generates the sampling points corresponding to the heuristic area for the first time, the sampling deviation rate is the highest, that is, the probability that the sampling points generated by the electronic device are located within the heuristic area is the highest; when the number of generated sampling points corresponding to the heuristic area is 1, that is, when the electronic device generates the sampling points corresponding to the heuristic area for the second time, the sampling deviation rate is the second highest, that is, the probability that the sampling points generated by the electronic device are located within the heuristic area is the second highest; when the number of generated sampling points corresponding to the heuristic area is greater, the sampling deviation rate is lower, that is, the probability that the sampling points generated by the electronic device are located within the heuristic area is lower.
[0079] The advantage of the negative correlation between the sampling deviation rate and the number of generated sampling points is that when the number of generated sampling points corresponding to the heuristic area is small, sampling is performed within the heuristic area as much as possible to ensure the efficiency of the robot's movement from the initial position to the target position. When the number of generated sampling points corresponding to the heuristic area continues to increase, in order to ensure that the generated sampling points can eventually update the first trajectory, sampling can be performed outside the heuristic area with a certain probability to ensure the success rate of the robot's movement from the initial position to the target position.
[0080] In practical applications, when the number of generated sampling points corresponding to the heuristic region is 0, the sampling deviation rate may be 100%. As the number of generated sampling points corresponding to the heuristic region increases, the sampling deviation rate may be reduced by a preset amount.
[0081] In step c, sampling points are generated according to the sampling deviation rate and the heuristic area.
[0082] In this implementation, after the sampling deviation rate is determined, the electronic device may generate sampling points according to the sampling deviation rate and the heuristic region.
[0083] Specifically, the electronic device may randomly sample in the heuristic area to obtain sampling points according to the sampling deviation rate. For example, when the sampling deviation rate is 100%, the electronic device may generate sampling points in the heuristic area in 100% of cases, and when the sampling deviation rate is 90%, the electronic device may generate sampling points in the heuristic area in 90% of cases, and generate sampling points outside the heuristic area in 10% of cases.
[0084] In S104, according to the sampling points, the first trajectory or the second trajectory is selected to be updated. If the second trajectory is updated, the first trajectory is updated by the updated second trajectory.
[0085] In an embodiment of the present application, after each new sampling point is generated, the electronic device can choose to update the first trajectory or the second trajectory according to the sampling point. Specifically, the electronic device can determine a target trajectory whose Euclidean distance from the sampling point is less than a preset distance. If the target trajectory is the first trajectory, the first trajectory is updated according to the sampling point; if the target trajectory is any second trajectory, any second trajectory is updated according to the sampling point. It should be noted that if there is no target trajectory whose Euclidean distance from the sampling point is less than the preset distance, there is no need to update the first trajectory and the second trajectory.
[0086] If the second track is updated, the first track is updated by the updated second track. Specifically, after the second track is updated, the electronic device needs to determine whether the updated second track meets the condition for updating the first track, and if it is determined that the updated second track meets the condition for updating the first track, the first track is updated; if it is determined that the updated second track does not meet the condition for updating the first track, the first track is not updated.
[0087] In addition, if the updated second trajectory does not meet the condition for updating the first trajectory, the process returns to the step of generating sampling points according to the heuristic region and the step of selecting to update the first trajectory or the second trajectory according to the sampling points until the updated first trajectory is obtained.
[0088] In S105 , the robot is guided to move according to the updated first trajectory, and the current position of the robot after the movement is completed is determined.
[0089] In the embodiment of the present application, after obtaining the updated first trajectory, the electronic device can guide the robot to move according to the updated first trajectory, and determine the current position of the robot after the movement is completed.
[0090] In a possible implementation, when generating a heuristic region, the electronic device may also generate a number of path points in the heuristic region for guiding the robot to move from the current position to the target position. Based on this, the electronic device may generate the heuristic region in the following manner: based on the initial position, the target position, and the environment map information, generate the heuristic region, and generate a number of path points for guiding the robot to move from the current position to the target position; wherein each path point is located in the heuristic region.
[0091] Based on this, the electronic device can guide the robot to move according to the updated first trajectory in the following manner:
[0092] The electronic device can determine whether the updated first trajectory includes any path point. If the updated first trajectory includes any path point, the robot is guided to move to any path point according to the updated first trajectory. If the updated first trajectory does not include any path point, the step of generating sampling points according to the heuristic area and subsequent steps are returned to execute until the updated first trajectory includes any path point.
[0093] Optionally, the electronic device may guide the robot to move to any path point according to the updated first trajectory in the following manner:
[0094] The electronic device may first determine an optimal trajectory for guiding the robot to move to any path point based on the updated first trajectory, wherein the optimal trajectory includes multiple nodes on the first trajectory.
[0095] Afterwards, the electronic device can evaluate the dynamic risk and static risk of each node in the optimal trajectory, where the dynamic risk represents the risk of dynamic obstacles to the robot's movement, and the static risk represents the risk of static obstacles to the robot's movement.
[0096] Finally, the electronic device can guide the robot to move to any path point according to the dynamic risk and static risk of each node in the optimal trajectory. Specifically, the electronic device can evaluate the dynamic risk and static risk of each node in the optimal trajectory, and then guide the robot to move to any path point through nodes whose dynamic risk and static risk are both less than a preset risk threshold.
[0097] In S106, the heuristic area is updated according to the current position, the target position and the environment map information, and the process returns to execute the step of generating sampling points according to the heuristic area and subsequent steps until the robot moves to the target position.
[0098] In an embodiment of the present application, when the robot completes the movement, the electronic device can determine whether to update the heuristic area based on the current position, the target position and the environmental map information.
[0099] Specifically, the electronic device can determine the distance between each current path point and the current position. If there is any path point whose distance between the current position is less than a preset distance threshold, the heuristic area is updated and each path point is updated; if there is no path point whose distance between the current position is less than the preset distance threshold, the heuristic area is not updated and each path point is not updated.
[0100] After the heuristic region is updated, the electronic device may return to execute the step of generating sampling points according to the heuristic region and subsequent steps until the robot moves to the target position, wherein the heuristic region is the updated heuristic region.
[0101] If the heuristic region is not updated, the electronic device may also return to execute the step of generating sampling points according to the heuristic region and subsequent steps until the condition for updating the heuristic region is met.
[0102] As can be seen from the above, in the robot motion planning method provided in the embodiment of the present application, the initial position, target position and environmental map information of the robot are first determined, and then the first trajectory, multiple second trajectories and heuristic areas are generated according to the initial position, target position and environmental map information, wherein the node of the first trajectory includes the initial position, and the node of one of the second trajectories includes the target position, and the range of the heuristic area is smaller than the target area, and then the sampling points are generated according to the heuristic area, and then the first trajectory or the second trajectory is selected to be updated according to the sampling points. If the second trajectory is updated, the first trajectory is updated by the updated second trajectory, and the robot is guided to move according to the updated first trajectory, and the current position of the robot after the movement is completed is determined, and finally the heuristic area is updated according to the current position, target position and environmental map information, and the step of generating sampling points according to the heuristic area and subsequent steps are returned to execute until the robot moves to the target position. The sampling points of the present method are all located in the heuristic area, while the sampling points in the prior art are all located in the target area where the robot is located. Since the range of the heuristic area is smaller than the target area where the robot is located, the motion trajectory obtained by the robot motion planning method of the present application is usually shorter, which improves the motion efficiency of the robot.
[0103] Based on the robot motion planning method provided in the above embodiment, the present application further provides a robot motion planning device that implements the above method embodiment. Figure 3 , Figure 3 This is a schematic diagram of the structure of a robot motion planning device provided in an embodiment of the present application. Figure 3As shown, the robot motion planning device 30 may include an information determination unit 31, a first generation unit 32, a second generation unit 33, an update unit 34, a guided motion unit 35 and a circulation unit 36. Among them:
[0104] The information determination unit 31 is used to determine the initial position, target position and environment map information of the robot; the environment map information is used to describe the obstacle information of the target area where the robot is located.
[0105] The first generating unit 32 is used to generate a first trajectory, multiple second trajectories and a heuristic area according to the initial position, the target position and the environment map information; wherein the node of the first trajectory includes the initial position, the node of one of the second trajectories includes the target position, and the range of the heuristic area is smaller than the target area.
[0106] The second generating unit 33 is used to generate sampling points according to the heuristic region.
[0107] The updating unit 34 is used to select to update the first trajectory or the second trajectory according to the sampling points. If the second trajectory is updated, the first trajectory is updated by the updated second trajectory.
[0108] The guiding movement unit 35 is used to guide the robot to move according to the updated first trajectory, and determine the current position of the robot after the movement is completed.
[0109] The loop unit 36 is used to update the heuristic area according to the current position, the target position and the environment map information, and return to execute the step of generating sampling points according to the heuristic area and subsequent steps until the robot moves to the target position.
[0110] Optionally, the updating unit 34 is specifically configured to:
[0111] Determine the target trajectory whose Euclidean distance to the sampling point is less than the preset distance;
[0112] If the target trajectory is the first trajectory, the first trajectory is updated according to the sampling points;
[0113] If the target trajectory is any second trajectory, then any second trajectory is updated according to the sampling points.
[0114] Optionally, the updating unit 34 is specifically configured to:
[0115] If the updated second trajectory does not meet the condition for updating the first trajectory, the process returns to the step of generating sampling points according to the heuristic region and the step of selecting to update the first trajectory or the second trajectory according to the sampling points until the updated first trajectory is obtained.
[0116] Optionally, the second generating unit 33 is specifically used for:
[0117] Determine the number of generated sampling points corresponding to the heuristic region;
[0118] According to the number of generated sampling points, the sampling deviation rate is determined; the sampling deviation rate is used to describe the probability that any sampling point is located in the heuristic region; the sampling deviation rate is negatively correlated with the number of generated sampling points;
[0119] Generate sampling points based on the sampling deviation rate and the heuristic area.
[0120] Optionally, the first generating unit 32 is specifically configured to:
[0121] According to the initial position, the target position and the environment map information, a heuristic region is generated, and a number of path points are generated for guiding the robot to move from the current position to the target position; each path point is located in the heuristic region.
[0122] The guiding motion unit 35 is specifically used for:
[0123] If the updated first trajectory includes any path point, guiding the robot to move to any path point according to the updated first trajectory;
[0124] If the updated first trajectory does not include any path point, the process returns to the step of generating sampling points according to the heuristic region and subsequent steps until the updated first trajectory includes any path point.
[0125] Optionally, the guiding movement unit 35 is specifically used for:
[0126] Determine, according to the updated first trajectory, an optimal trajectory for guiding the robot to move to any path point;
[0127] Evaluate the dynamic risk and static risk of each node in the optimal trajectory; the dynamic risk refers to the risk of dynamic obstacles to the robot's motion, and the static risk refers to the risk of static obstacles to the robot's motion;
[0128] According to the dynamic risk and static risk of each node in the optimal trajectory, the robot is guided to move to any path point.
[0129] Optionally, the circulation unit 36 is specifically used for:
[0130] Determine the distance between each waypoint and the current position;
[0131] If the distance between any path point and the current position is less than a preset distance threshold, the heuristic area is updated and each path point is updated.
[0132] It should be noted that the information interaction, execution process and other contents between the above-mentioned units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be specifically referred to the method embodiment part and will not be repeated here.
[0133] See also Figure 4 , Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 4 As shown, the electronic device 4 provided in this embodiment may include: a processor 40, a memory 41, and a computer program 42 stored in the memory 41 and executable on the processor 40. For example, a program corresponding to the motion planning method of a robot. When the processor 40 executes the computer program 42, the steps in the above-mentioned motion planning method embodiment applied to the robot are implemented, for example Figure 1 Alternatively, when the processor 40 executes the computer program 42, the functions of each module / unit in the embodiment corresponding to the electronic device 4 are realized, for example Figure 3 The functions of the units 31 to 36 are shown.
[0134] Exemplarily, the computer program 42 may be divided into one or more modules / units, one or more modules / units are stored in the memory 41 and executed by the processor 40 to complete the present application. One or more modules / units may be a series of computer program instruction segments that can complete specific functions, and the instruction segments are used to describe the execution process of the computer program 42 in the electronic device 4. For example, the computer program 42 may be divided into an information determination unit 31, a first generation unit 32, a second generation unit 33, an update unit 34, a guide movement unit 35, and a loop unit 36. For the specific functions of each unit, please refer to Figure 3 The relevant descriptions in the corresponding embodiments are not repeated here.
[0135] Those skilled in the art will understand that Figure 4 The electronic device 4 is merely an example and does not limit the electronic device 4 . The electronic device 4 may include more or fewer components than shown in the figure, or may combine certain components, or may include different components.
[0136] The processor 40 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.
[0137] The memory 41 may be an internal storage unit of the electronic device 4, such as a hard disk or memory of the electronic device 4. The memory 41 may also be an external storage device of the electronic device 4, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, or a flash card, etc., equipped on the electronic device 4. Further, the memory 41 may also include both an internal storage unit and an external storage device of the electronic device 4. The memory 41 is used to store computer programs and other programs and data required by the electronic device. The memory 41 may also be used to temporarily store data that has been output or is to be output.
[0138] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the division of the above-mentioned functional units is used as an example for illustration. In actual applications, the above-mentioned functions can be assigned to different functional units as needed, that is, the internal structure of the robot's motion planning device can be divided into different functional units to complete all or part of the functions described above. The functional units in the embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0139] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.
[0140] An embodiment of the present application provides a computer program product. When the computer program product is executed on a terminal device, the terminal device implements the steps in the above-mentioned various method embodiments.
[0141] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0142] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0143] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A robot motion planning method, characterized in that: include: Determine the robot's initial position, target position, and environmental map information; The environmental map information is used to describe obstacle information in the target area where the robot is located; Generate a first track, a plurality of second tracks and a heuristic area according to the initial position, the target position and the environment map information; wherein a node of the first track includes the initial position, a node of the second track includes the target position, and a range of the heuristic area is smaller than the target area; Generate sampling points according to the heuristic region; According to the sampling point, the first trajectory or the second trajectory is selected to be updated, and if the second trajectory is updated, the first trajectory is updated by the updated second trajectory; Guiding the robot to move according to the updated first trajectory, and determining the current position of the robot after the movement is completed; The heuristic area is updated according to the current position, the target position and the environmental map information, and the step of generating sampling points according to the heuristic area and subsequent steps are returned to execute until the robot moves to the target position.
2. The method according to claim 1, characterized in that The updating of the first trajectory or the second trajectory according to the sampling point includes: Determine a target trajectory whose Euclidean distance to the sampling point is less than a preset distance; If the target trajectory is the first trajectory, updating the first trajectory according to the sampling point; If the target trajectory is any of the second trajectories, any of the second trajectories is updated according to the sampling points.
3. The method according to claim 1, characterized in that The updating of the first trajectory by using the updated second trajectory includes: If the updated second trajectory does not meet the condition for updating the first trajectory, the method returns to executing the step of generating sampling points according to the heuristic area and the step of selecting to update the first trajectory or the second trajectory according to the sampling points until the updated first trajectory is obtained.
4. The method according to claim 3, characterized in that Generating sampling points according to the heuristic region includes: Determining the number of generated sampling points corresponding to the heuristic region; Determine a sampling deviation rate according to the number of the generated sampling points; the sampling deviation rate is used to describe the probability that any sampling point is located within the heuristic region; the sampling deviation rate is negatively correlated with the number of the generated sampling points; The sampling points are generated according to the sampling deviation rate and the heuristic area.
5. The method according to any one of claims 1 to 4, characterized in that: The heuristic region is generated in the following way: According to the initial position, the target position and the environment map information, the heuristic region is generated, and a plurality of path points are generated for guiding the robot to move from the current position to the target position; each of the path points is located in the heuristic region; The step of guiding the robot to move according to the updated first trajectory includes: If the updated first trajectory includes any of the path points, guiding the robot to move to any of the path points according to the updated first trajectory; If the updated first trajectory does not include any of the path points, the step of generating sampling points according to the heuristic area and subsequent steps are returned to be executed until the updated first trajectory includes any of the path points.
6. The method according to claim 5, characterized in that The step of guiding the robot to move to any of the path points according to the updated first trajectory includes: Determining an optimal trajectory for guiding the robot to move to any of the path points according to the updated first trajectory; Evaluate the dynamic risk and static risk of each node in the optimal trajectory; wherein the dynamic risk represents the risk of a dynamic obstacle to the movement of the robot, and the static risk represents the risk of a static obstacle to the movement of the robot; The robot is guided to move to any of the path points according to the dynamic risk and the static risk of each of the nodes in the optimal trajectory.
7. The method according to claim 5, characterized in that The updating of the heuristic area according to the current position, the target position and the environment map information includes: Determining the distance between each of the path points and the current position; If the distance between any of the path points and the current position is less than a preset distance threshold, the heuristic area is updated and each of the path points is updated.
8. A robot motion planning device, characterized in that: include: An information determination unit, used to determine the robot's initial position, target position, and environment map information; The environmental map information is used to describe obstacle information in the target area where the robot is located; A first generating unit is configured to generate a first trajectory, a plurality of second trajectories and a heuristic area according to the initial position, the target position and the environment map information; wherein a node of the first trajectory includes the initial position, a node of one of the second trajectories includes the target position, and a range of the heuristic area is smaller than the target area; A second generating unit, used for generating sampling points according to the heuristic region; an updating unit, configured to select, according to the sampling point, to update the first trajectory or the second trajectory, and if the second trajectory is to be updated, to update the first trajectory by using the updated second trajectory; A guiding motion unit, used for guiding the robot to move according to the updated first trajectory, and determining the current position of the robot after the movement is completed; A loop unit is used to update the heuristic area according to the current position, the target position and the environmental map information, and return to execute the step of generating sampling points according to the heuristic area and subsequent steps until the robot moves to the target position.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, each step in the motion planning method for the robot according to any one of claims 1 to 7 is implemented.
10. A computer program product, characterized in that When the computer program product is executed by a processor, each step in the motion planning method of the robot according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Motion planning method and device, storage medium and electronic device
CN111531550A
Track compensation method and device and computer readable storage medium
CN115213897A
Robot path planning algorithm based on cylinder heuristic sampling
CN116382309A
Robot motion planning method and device, electronic equipment and storage medium
CN117519142A
Method and system for fast precise path planning
US20110093191A1