Path planning method and device, robot and storage medium
By screening the accessible voxels in the workspace and optimizing the base position, and optimizing the driving path with the energy consumption model, the problem of not considering energy consumption in the existing technology is solved, and the multi-objective optimization of robot path planning is achieved, and the robot is improved Adaptability and energy saving efficiency in complex scenarios.
Patent Information
- Application Number
- CN202510055478.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-14
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2045-01-14
AI Technical Summary
The prior art does not consider the energy consumption problem when conducting robot space accessibility analysis, resulting in the robot's possible energy exhaustion during the task.
By screening out voxels in the workspace where there is no penetration between the robot, determining the reachable voxels that the end actuator can reach, and determining the optimal position of the base based on these voxels, and using the energy consumption model to calculate the path Energy consumption, optimize driving paths to meet accessibility and energy consumption constraints.
Multi-objective optimization of accessibility and energy consumption of robot path planning is achieved, improving the robot's adaptability to complex application scenarios, and ensuring that the robot is more energy-saving and efficient when performing tasks.
Smart Images

Figure CN119469167A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of robot reachability analysis, and in particular to a path planning method, device, robot and storage medium. Background Art
[0002] Robot spatial reachability analysis technology uses kinematics, path planning and other technologies to evaluate and optimize the robot's movement capabilities in complex operating environments, ensuring that the robot can effectively reach the target location and perform tasks. By accurately analyzing and optimizing the robot path, the safety and efficiency of robot operations can be improved, thereby ensuring the accurate execution of tasks and the smooth progress of overall production.
[0003] At present, the robot's hypothetical workspace is usually discretized into cubic voxels, and a sphere is placed in each voxel to perform self-collision checks. Then, the retained spheres are uniformly sampled, and inverse kinematics is solved to generate a reachability graph and record it. Although this method can effectively analyze the robot's spatial reachability, it does not consider the energy consumption problem during the robot's task execution. For robots, the shortest path is not necessarily the optimal path. It may encounter obstacles or the joint posture is inaccessible. The shortest accessible path is not necessarily the path with the lowest energy consumption. This method does not take into account the complexity and limitations of the robot's application scenarios and the actual needs for energy consumption optimization, which may cause the robot to experience mechanical wear or run out of power during the task. Therefore, there is an urgent need for a path planning method that enables the robot to achieve multi-objective optimization of reachability and energy consumption during the task. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a path planning method, device, robot and storage medium to solve the technical defect in the prior art that the energy consumption limitation is not taken into account when performing the robot's spatial reachability analysis, causing the robot to run out of energy during the task.
[0005] In order to achieve the above-mentioned object, the first aspect of the present application provides a path planning method, which is applied to a robot, wherein the robot includes a base, at least one rotating mechanism and an end effector, and the method includes: Determine the robot's tasks to be performed, which include the robot's task start position, task end position, reachability constraints, and energy consumption constraints; Determine a workspace where the robot performs the task to be performed, wherein the workspace includes a task start position and a task end position; All voxels in the workspace are processed to filter out voxels that do not penetrate the robot; Determine a plurality of reachable voxels that the end effector can reach in the workspace from the screened voxels; Determine, according to a plurality of reachable voxels, an optimal base position corresponding to the base when the end effector reaches each reachable voxel; For each reachable voxel, the path energy consumption required for the robot to travel from the task starting position to each reachable voxel is determined based on the optimal base position corresponding to each reachable voxel through the energy consumption model of the robot, wherein the energy consumption model includes a kinematic model, and the kinematic model defines the relationship between the travel speed and travel distance of the base and the angular velocity and angular acceleration of each rotating mechanism; A driving path for the robot to perform a task to be performed is determined according to the determined path energy consumption and the corresponding reachable voxels, wherein the driving path satisfies a reachability constraint and an energy consumption constraint.
[0006] In an embodiment of the present application, determining a plurality of reachable voxels that the end effector can reach in the workspace from the screened voxels includes: generating a reachability graph based on the screened voxels, wherein the reachability graph defines a plurality of reachable voxels that the end effector can reach in the workspace; determining an optimal base position corresponding to the base when the end effector reaches each reachable voxel based on the plurality of reachable voxels includes: determining an inverse reachability graph based on the reachability graph to determine the optimal base position, wherein the inverse reachability graph defines the optimal base position corresponding to the base when the end effector reaches each reachable voxel.
[0007] In an embodiment of the present application, the method further includes: marking the path energy consumption corresponding to each reachable voxel to the reachability graph.
[0008] In an embodiment of the present application, all voxels in the workspace are processed to screen out voxels that do not penetrate the robot, including: dividing the workspace into multiple voxels; for each voxel, constructing a spherical space for each voxel based on the geometric center of each voxel; and performing a self-collision check between the spherical space of each voxel and the three-dimensional model of the robot to screen out voxels that do not penetrate the robot.
[0009] In an embodiment of the present application, all voxels in the workspace are processed to screen out voxels that do not penetrate the robot, and the method also includes: obtaining multiple point cloud data corresponding to the workspace and determining the local spatial density corresponding to each point cloud data; selecting any multiple first point cloud data from the multiple point cloud data to be set as multiple initial cluster centers; for any initial cluster center, determining the second point cloud data within a preset spatial range of the initial cluster center, and determining the second point cloud data and the initial cluster center as a cluster; determining the mean of each cluster, and iteratively updating the cluster center of each cluster based on the mean of each cluster until the number of iterations reaches a preset number of iterations; determining the average density of each cluster based on the iteratively updated cluster center of each cluster and the local spatial density of each point cloud data in each cluster; determining the spatial region where the cluster whose average density is greater than a preset density threshold is located as a complex region, and determining the spatial region where the cluster whose average density is less than or equal to the preset density threshold is located as a simple region; adjusting the voxel size of the complex region to the first size, and adjusting the voxel size of the simple region to the second size, wherein the first size is smaller than the second size.
[0010] In an embodiment of the present application, the method also includes: in the process of controlling the robot's driving based on the driving path, determining the changed voxels that are in dynamic change in the workspace; when it is determined that the changed voxels have an impact on any reachable voxel, updating the any reachable voxel based on the changed voxel to obtain multiple updated voxels; for each updated reachable voxel, determining the optimal base position corresponding to each updated reachable voxel based on each updated reachable voxel; determining whether each updated reachable voxel is on the driving path; if any updated reachable voxel is on the driving path, redetermining the remaining driving path for the robot to perform the task to be performed based on the updated multiple voxels and the optimal base position corresponding to each updated reachable voxel.
[0011] In an embodiment of the present application, the path energy consumption required for the robot to travel from the task starting position to each reachable voxel is determined according to formula (1): , (1) in, is the path energy consumption required for the robot to travel from the starting position of the task to the i-th voxel, is the first energy consumption coefficient of the base, is the distance the base needs to travel from the starting position of the task to the optimal base position for the i-th voxel, n is the number of rotating mechanisms, is the angular velocity of the jth rotating mechanism at the ith voxel, is the angular acceleration of the jth rotating mechanism when it is at the i-th voxel, , is the second energy consumption coefficient of the rotating mechanism.
[0012] In the embodiment of the present application, the reachability constraint and the energy consumption constraint are determined according to formula (2): , (2) in, is the balance relationship indicator between accessibility constraints and energy consumption constraints, is the first weight coefficient corresponding to accessibility, is the second weight coefficient corresponding to energy consumption, is the first indicator corresponding to accessibility, is the second indicator corresponding to energy consumption, To preset the maximum energy consumption, , is the angular configuration of any rotating mechanism, is the motion range constraint of any rotating mechanism i, is the obstacle avoidance constraint of any rotating mechanism, is the self-collision constraint of any rotating mechanism, is the energy consumption limit constraint of any rotating mechanism, is the working space constraint of any rotation mechanism, The workspace where the robot performs any task. is any voxel in the workspace corresponding to the robot when performing any task, It is the set of reachable voxels in the workspace corresponding to the robot when performing any task.
[0013] A second aspect of the present application provides a path planning device, comprising: a memory configured to store instructions; The processor is configured to call instructions from the memory and implement the above-mentioned path planning method when executing the instructions.
[0014] A third aspect of the present application provides a robot, comprising: Pedestal; at least one rotating mechanism; End effector; The above-mentioned path planning device.
[0015] A fourth aspect of the present application provides a machine-readable storage medium having instructions stored thereon, which, when executed by a processor, configures the processor to execute the above-mentioned path planning method.
[0016] The above technical solution determines multiple reachable voxels that the end effector can reach in the workspace by screening out voxels in the workspace that do not penetrate the robot, and determines the optimal base position corresponding to the base when the end effector reaches each reachable voxel based on the multiple reachable voxels. For each reachable voxel, the energy consumption of the path required for the robot to travel from the task starting position to each reachable voxel is determined based on the optimal base position corresponding to the base at each reachable voxel through the robot's energy consumption model, thereby determining the driving path for the robot to perform the task to be performed based on the determined path energy consumption and the corresponding reachable voxels, wherein the driving path satisfies the reachability constraint and the energy consumption constraint. This method takes into account the robot's energy consumption on the basis of accessibility, realizes multi-objective optimization of reachability and energy consumption, improves the robot's adaptability to complex application scenarios, and enables the robot to be more energy-efficient when performing tasks while maintaining an efficient working state.
[0017] Other features and advantages of the embodiments of the present application will be described in detail in the subsequent specific implementation section. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings are used to provide a further understanding of the embodiments of the present application and constitute a part of the specification. Together with the following specific implementations, they are used to explain the embodiments of the present application, but do not constitute a limitation on the embodiments of the present application. In the accompanying drawings: Figure 1 The following is a schematic diagram showing a flow chart of a path planning method according to an embodiment of the present application; Figure 2 The internal structure of a computer device according to an embodiment of the present application is schematically shown. DETAILED DESCRIPTION
[0019] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the specific implementation methods described herein are only used to illustrate and explain the embodiments of the present application, and are not used to limit the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0020] It should be noted that if the embodiments of the present application involve directional indications (such as up, down, left, right, front, back...), such directional indications are only used to explain the relative position relationship, movement status, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.
[0021] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present application, the descriptions of "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or suggesting their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.
[0022] Figure 1 The following schematically shows a flow chart of a path planning method according to an embodiment of the present application. Figure 1 As shown, an embodiment of the present application provides a path planning method that can be applied to a robot. The robot may include a base, at least one rotating mechanism, and an end effector mechanism. The method includes the following steps.
[0023] Step 101, determining the robot's to-be-performed task, where the to-be-performed task includes the robot's task start position, task end position, reachability constraints, and energy consumption constraints.
[0024] In the embodiment of the present application, the rotating mechanism may refer to a rotating joint, and the end effector may be a device that can perform some tasks, such as a manipulator, a gripper, a welding gun, etc. that can perform grasping. The rotating mechanism and the end effector may constitute the robot's mechanical arm. The task to be performed may refer to the process involved in which the robot needs to travel from the task starting position to the task ending position in a specified spatial scene to perform a certain action, such as grabbing parts from position A in the workshop and transporting them to position B. Generally, the driving path from the task starting position to the task ending position may include multiple paths, among which there must be a path with the shortest path length and a path with the least energy consumption among the multiple driving paths. However, the driving path with the shortest path length is not necessarily the path with the least energy consumption. For example, the energy consumption required for the robot to climb a slope may be higher than the energy consumption required for a detour. Therefore, considering whether the accessibility and energy consumption of the robot during driving can meet the actual task requirements, for example, in some task processes, the actual task requirements are to maximize accessibility and minimize energy consumption. The tasks to be performed in the technical solution of the present application may also include pre-set accessibility constraints and energy consumption constraints. For example, the accessibility constraint condition may be that the accessibility is maximized or not less than a threshold, and the energy consumption constraint condition may be that the energy consumption is minimized or not more than a threshold. In this way, based on these two constraints, it is possible to plan the optimal driving path that meets the actual task requirements of the current task to be performed from multiple driving paths.
[0025] Step 102, determining a workspace where the robot performs the task to be performed, wherein the workspace includes a task start position and a task end position.
[0026] In an embodiment of the present application, the task to be performed may refer to the process involved in which the robot needs to travel from the starting position of the task to the end position of the task in a specified spatial scene to perform a certain action. Different spatial scenes correspond to different environments, and the corresponding environments when performing different tasks in the same spatial scene are also different. Therefore, before planning the driving path, the workspace where the robot performs the task to be performed can be determined. Specifically, for example, taking the spatial scene as a factory workshop as an example, at least one 360-degree laser radar can be installed on the base of the robot, and at least one RGB-D camera can be installed on the end actuator of the robot. By acquiring the laser radar point cloud data of the 360-degree laser radar, 2D SLAM is realized to build a basic map of the factory workshop layout. Based on the basic map, the starting position of the task and the end position of the task, the workspace where the robot performs the task to be performed can be further determined. By using the RGB-D camera to perform local 3D reconstruction of the factory workshop, detailed environmental information of the space around the robot can be obtained to achieve object detection and tracking, and identify dynamic obstacles in the factory, such as moving workers or AGVs.
[0027] Step 103: Process all voxels in the workspace to filter out voxels that do not penetrate the robot.
[0028] In the embodiments of the present application, it should be noted that voxel can refer to the abbreviation of volume pixel in three-dimensional space, which is similar to the pixel in two-dimensional image, but represents a cubic unit in three-dimensional space, with certain volume, position and attributes. A voxel can be regarded as a cube, which is used to represent a certain area in three-dimensional space. Therefore, the workspace can be composed of several voxels. Normally, the end effector cannot penetrate the robot itself. Therefore, in order to exclude the situation where the end effector of the robot collides with the robot itself, all voxels in the workspace can be processed to analyze whether each voxel will penetrate the robot, that is, whether there is a penetration. If there is a penetration between a voxel and the robot, the area corresponding to the voxel can be considered to be the robot itself. If there is no penetration between a voxel and the robot, the area corresponding to the voxel can be considered to be the space area outside the robot itself in the workspace. After performing the above analysis and processing on each voxel, the voxels in the workspace that do not penetrate the robot can be screened out, and the area formed by these voxels can be considered to be a set of space areas outside the robot itself.
[0029] In an embodiment of the present application, all voxels in the workspace are processed to screen out voxels that do not penetrate the robot, including: dividing the workspace into multiple voxels; for each voxel, constructing a spherical space for each voxel based on the geometric center of each voxel; and performing a self-collision check between the spherical space of each voxel and the three-dimensional model of the robot to screen out voxels that do not penetrate the robot.
[0030] In this embodiment, it should be noted that when analyzing whether each voxel in the workspace has penetration with the robot, the workspace can be first divided into multiple voxels, and then for each voxel, a spherical space is set with the center of the set of each voxel as the origin. At the same time, the robot is modeled as a three-dimensional model of a triangular mesh set, and the collision detection library FCL is used to perform a self-collision check on the spherical space of each voxel and the three-dimensional model of the robot to analyze whether each voxel has penetration with the robot, thereby filtering out the voxels in the workspace that do not have penetration with the robot, thereby realizing the judgment of the position of obstacles in the workspace.
[0031] In an embodiment of the present application, all voxels in the workspace are processed to screen out voxels that do not penetrate the robot, and the method also includes: obtaining multiple point cloud data corresponding to the workspace, and determining the local spatial density corresponding to each point cloud data; selecting any multiple first point cloud data from the multiple point cloud data to be set as multiple initial cluster centers; for any initial cluster center, determining the second point cloud data within a preset spatial range of the initial cluster center, and determining the second point cloud data and the initial cluster center as a cluster; determining the mean of each cluster, and iteratively updating the cluster center of each cluster based on the mean of each cluster until the number of iterations reaches a preset number of iterations; determining the average density of each cluster based on the iteratively updated cluster center of each cluster and the local spatial density of each point cloud data in each cluster; determining the spatial region where the cluster whose average density is greater than the preset density threshold is located as a complex region, and determining the spatial region where the cluster whose average density is less than or equal to the preset density threshold is located as a simple region; adjusting the voxel size of the complex region to the first size, and adjusting the voxel size of the simple region to the second size, wherein the first size is smaller than the second size.
[0032] In this embodiment, it should be noted that, in order to improve the calculation accuracy and reduce the amount of calculation, before all voxels are checked for self-collision with the robot, each voxel needs to be pre-processed, including dividing the workspace into complex areas and simple areas, and adjusting the size of the voxels in the complex areas and simple areas, so as to achieve the technical effect of improving the calculation accuracy and reducing the amount of calculation. Specifically, after obtaining the point cloud data of the workspace collected by the 360-degree laser radar installed on the robot base, the local spatial density of each point cloud data can be calculated based on the following calculation formula: , in, is the local spatial density of any point cloud data, is the unit volume of each point cloud data, For any point cloud data And any point cloud data The distance between is the set radius, Is the indicator function. Determine whether the distance between two points is less than , and combined with the above calculation formula, the local spatial density of each point cloud data can be obtained.
[0033] After obtaining the local spatial density of each point cloud data, each point As clustering input for K-Means clustering, wherein the K-Mean algorithm is an iterative clustering analysis algorithm for dividing a data set into k non-overlapping clusters, and assigning each point in the data set to the cluster center closest to it, and updating the cluster center in each iteration until convergence. In the present technical solution, any k first point cloud data can be selected from multiple point cloud data and these k first point cloud data can be set as multiple initial cluster centers. For any initial cluster center, determine the second point cloud data within the preset spatial range of the initial cluster center, and determine the second point cloud data and the initial cluster center as a cluster. Determine the mean of each cluster, and iteratively update the cluster center of each cluster based on the mean of each cluster until the number of iterations reaches the preset number of iterations. It should be noted that the preset spatial range and the preset number of iterations can be set according to demand. Specifically, the iteration formula is as follows: , in, For any cluster The cluster center of For any cluster The number of point clouds, For any cluster The three-dimensional coordinates of the points within the cluster and the local spatial density feature vector are obtained at each clustering.
[0034] After each cluster is iteratively updated, the average density of each cluster is determined based on the cluster center after each cluster is iteratively updated and the local spatial density of each point cloud data in each cluster. Specifically, the average density of each cluster can be calculated according to the following formula: , in, For any cluster The average density of represents the complexity of the area. For any cluster The number of point clouds, is the local spatial density of any point cloud data.
[0035] After obtaining the average density of each cluster, the spatial region where the clusters with an average density greater than the preset density threshold are located is determined as a complex region, and the spatial region where the clusters with an average density less than or equal to the preset density threshold are located is determined as a simple region. It should be noted that, initially, each voxel is set to a consistent size, and only after the complex region and the simple region are divided, the voxel sizes of the complex region and the simple region are adjusted respectively. The voxel size of the complex region is adjusted to a first size, and the voxel size of the simple region is adjusted to a second size, wherein the first size is smaller than the second size, so that the voxel size can be dynamically adjusted according to the environmental complexity of different regions, so that the complex region uses smaller voxels to improve accuracy, and the simple region uses larger voxels to reduce computational consumption. Specifically, the voxel size adjustment rule is shown in the following formula: , in, is the initial size of each voxel in the workspace, and the average density in any cluster That is, when the density is greater than the set density, the spatial region where the cluster is located is a complex region, and the size of each voxel in the region is reduced from Zoom out to , the average density in any cluster That is, when the density is less than or equal to the set density, the spatial region where the cluster is located is a simple region, and the size of each voxel in the region is changed from Increase to .
[0036] Step 104 : determining a plurality of reachable voxels that the end effector can reach in the workspace from the screened voxels.
[0037] In the embodiment of the present application, after the voxels in the workspace that do not penetrate the robot are screened, the joint configuration corresponding to each target posture can be further solved based on inverse kinematics, thereby determining a plurality of reachable voxels that the end effector can reach in the workspace. Specifically, the inverse kinematics solution can be performed according to the following formula: , , in, is the 3D position of each voxel in spherical space, is the posture matrix of the robot’s end effector, is a vector containing the angle value of each rotation mechanism of the robot. Inverse kinematics may have no solution, multiple solutions, or a unique solution. Only voxels with solutions are reachable voxels that the end effector can reach in the workspace.
[0038] Typically, there may be multiple static or dynamic obstacles in the workspace, which may collide with the robot, and the robot cannot penetrate these obstacles to perform subsequent actions. Therefore, the spatial position that the robot can reach in the workspace can be calculated through inverse kinematics solution.
[0039] Step 105 : determining, according to the plurality of reachable voxels, an optimal base position corresponding to the base when the end effector reaches each reachable voxel.
[0040] In the embodiment of the present application, after obtaining multiple reachable voxels that the end effector can reach in the workspace based on inverse kinematics, the optimal base position corresponding to the base when the end effector reaches each reachable voxel can be further calculated based on the multiple reachable voxels, i.e., the given target posture, through forward kinematics. Specifically, the forward kinematics solution can be performed according to the following formula: , , in, is the homogeneous transformation matrix of the robot, which represents the position and posture of the end effector in three-dimensional space. is the positive kinematic representation of the robot, which can be obtained from the URDF model of the robot. The homogeneous transformation matrix is The rotation matrix represents the posture, yes The position vector of the base is the position vector in the matrix , represents the coordinate value in the three-dimensional coordinate system. Usually, there is only one solution for the forward kinematics solution, that is, for each reachable voxel, when the forward kinematics solution exists, there is only one corresponding optimal base position, where the optimal base position can be the current position or the new position of the robot.
[0041] In an embodiment of the present application, determining a plurality of reachable voxels that the end effector can reach in the workspace from the filtered voxels includes: generating a reachability graph based on the filtered voxels, wherein the reachability graph defines a plurality of reachable voxels that the end effector can reach in the workspace; determining an optimal base position corresponding to the base when the end effector reaches each reachable voxel based on the plurality of reachable voxels includes: determining an inverse reachability graph based on the reachability graph to determine the optimal base position, wherein the inverse reachability graph defines the optimal base position corresponding to the base when the end effector reaches each reachable voxel.
[0042] In this embodiment, it should be noted that after the inverse kinematics of the robot is solved to obtain all the reachable voxels of the robot in the workspace, a reachability graph is generated to record all the reachable voxels of the robot's end effector at different positions and postures in the workspace. At the same time, after the optimal base position corresponding to the base when the end effector reaches each reachable voxel is calculated based on multiple reachable voxels, that is, a given target posture through forward kinematics, an inverse reachability graph is generated to record the unique optimal base position corresponding to the base when the end effector reaches each reachable voxel.
[0043] Step 106, for each reachable voxel, the path energy consumption required for the robot to travel from the task starting position to each reachable voxel is determined through the robot's energy consumption model based on the optimal base position corresponding to each reachable voxel, wherein the energy consumption model includes a kinematic model, and the kinematic model defines the correlation between the driving speed and driving distance of the base and the angular velocity and angular acceleration of each rotating mechanism.
[0044] In the embodiment of the present application, it should be noted that the technical solution of the present application constructs an energy consumption model for the robot, which includes a kinematic model that defines the relationship between the travel speed and travel distance of the base and the angular velocity and angular acceleration of each rotating mechanism. Based on the current base movement speed of the robot and the angular velocity and angular acceleration of each rotating mechanism determined by the travel distance between each optimal base position, the path energy consumption required for the robot to travel from the task starting position to each reachable voxel is further determined.
[0045] In the embodiment of the present application, the path energy consumption required for the robot to travel from the task starting position to each reachable voxel is determined according to formula (1): , (1) in, is the path energy consumption required for the robot to travel from the starting position of the task to the i-th voxel, is the first energy consumption coefficient of the base, is the distance the base needs to travel from the starting position of the task to the optimal base position for the i-th voxel, n is the number of rotating mechanisms, is the angular velocity of the jth rotating mechanism at the ith voxel, is the angular acceleration of the jth rotating mechanism when it is at the i-th voxel, , is the second energy consumption coefficient of the rotating mechanism.
[0046] In this embodiment, it should be noted that, in actual applications, the energy consumption model can be calibrated and verified by collecting the robot's operating data including current, voltage, etc.
[0047] In the embodiment of the present application, the method further includes: marking the path energy consumption corresponding to each reachable voxel to the reachability graph.
[0048] In this embodiment, for each reachable voxel, after calculating the path energy consumption required from the task starting position to the reachable voxel, the path energy consumption corresponding to each reachable voxel is marked on the reachability graph, so that the reachability graph not only contains the reachability information of the spatial position, but also contains the energy consumption information of the robot.
[0049] Step 107 , determining a driving path for the robot to perform the task to be performed according to the determined path energy consumption and the corresponding reachable voxels, wherein the driving path satisfies the reachability constraint and the energy consumption constraint.
[0050] In an embodiment of the present application, after determining each reachable voxel in the workspace and the path energy consumption required for the robot to travel from the task starting position to each reachable voxel, multiple driving paths that the robot can travel when performing the task to be performed can be obtained based on the task starting position and each reachable voxel. The energy consumption required for each driving path can also be calculated based on the path energy consumption required for each reachable voxel. Therefore, it is possible to further select a driving path that best meets the actual task requirements from multiple driving paths based on the accessibility constraints and energy consumption constraints as the driving path for the robot to perform the task to be performed. For example, a driving path that maximizes accessibility and minimizes energy consumption can be selected from multiple driving paths based on the accessibility constraints and energy consumption constraints.
[0051] In the embodiment of the present application, the reachability constraint and the energy consumption constraint are determined according to formula (2): , (2) in, is the balance relationship indicator between accessibility constraints and energy consumption constraints, is the first weight coefficient corresponding to accessibility, is the second weight coefficient corresponding to energy consumption, is the first indicator corresponding to accessibility, is the second indicator corresponding to energy consumption, To preset the maximum energy consumption, , is the angular configuration of any rotating mechanism, is the motion range constraint of any rotating mechanism i, is the obstacle avoidance constraint of any rotating mechanism, is the self-collision constraint of any rotating mechanism, is the energy consumption limit constraint of any rotating mechanism, is the working space constraint of any rotation mechanism, The workspace where the robot performs any task. is any voxel in the workspace corresponding to the robot when performing any task, It is the set of reachable voxels in the workspace corresponding to the robot when performing any task.
[0052] It should be noted that is the indicator function. When the robot is in the joint configuration The voxel can be reached hour, ,otherwise .
[0053] In this embodiment, for the robot, the shortest path is not necessarily the optimal path. It is possible to encounter obstacles or the joint posture is inaccessible. The shortest accessible path is not necessarily the path with the lowest energy consumption. Rough road surface will cause joint wear, and climbing may consume more energy than taking a detour. Considering the complexity and limitations of robot application scenarios and the actual needs for energy consumption optimization, the use of multi-objective optimization can more comprehensively cope with complex scenarios and actual needs. In addition, the robot has been fully modeled and constrained in the above reachability analysis. It is only necessary to add the constraints of actual energy consumption, clarify the optimization goals, maximize reachability and minimize energy consumption, ensure that the robot can cover as large a workspace as possible, and at the same time, reduce the energy consumed by the robot to perform tasks. The weighted sum method is used to balance these two goals. The specific optimization problem can be expressed as the above formula (2).
[0054] In an embodiment of the present application, the method also includes: in the process of controlling the robot's driving based on the driving path, determining the changed voxels that are in dynamic change in the workspace; when it is determined that the changed voxels have an impact on any reachable voxel, updating the any reachable voxel based on the changed voxel to obtain multiple updated voxels; for each updated reachable voxel, determining the optimal base position corresponding to each updated reachable voxel based on each updated reachable voxel; determining whether each updated reachable voxel is on the driving path; if any updated reachable voxel is on the driving path, redetermining the remaining driving path for the robot to perform the task to be performed based on the updated multiple voxels and the optimal base position corresponding to each updated reachable voxel.
[0055] In this embodiment, it should be noted that the workspace may be in a dynamically changing environment. Therefore, in the process of controlling the robot's travel based on the travel path, it is necessary to perform a dynamic analysis of the workspace in real time. In a dynamic environment, the changing voxels in the workspace that are in dynamic change are determined. When it is determined that the changing voxels have an impact on any reachable voxel, the any reachable voxel is updated based on the changing voxels to obtain multiple updated voxels. It should be noted that only the affected voxels are updated during the update, and the remaining unaffected voxels do not need to be updated. For each updated reachable voxel, the optimal base position corresponding to each updated reachable voxel is determined based on each updated reachable voxel. At the same time, after the dynamically changing voxels are updated, it is necessary to further determine whether the updated reachable voxel is on the travel path. If any updated reachable voxel is on the travel path, the remaining travel path for the robot to perform the task to be performed is replanned based on the updated multiple voxels and the optimal base position corresponding to each updated reachable voxel.
[0056] In this embodiment, after the voxels are updated in a dynamic environment, the data needs to be synchronized to the reachability map. Specifically, in a dynamic environment, the original reachability map is discretized into a 3D grid, each grid point stores the corresponding reachability sphere information, and the grid point corresponding to the changed area is determined. Each time a change occurs, only the affected reachability sphere is recalculated instead of the entire calculation, and the reachability map is updated incrementally.
[0057] The above technical solution determines multiple reachable voxels that the end effector can reach in the workspace by screening out voxels in the workspace that do not penetrate the robot, and determines the optimal base position corresponding to the base when the end effector reaches each reachable voxel based on the multiple reachable voxels. For each reachable voxel, the energy consumption of the path required for the robot to travel from the task starting position to each reachable voxel is determined based on the optimal base position corresponding to the base at each reachable voxel through the robot's energy consumption model, thereby determining the driving path for the robot to perform the task to be performed based on the determined path energy consumption and the corresponding reachable voxels, wherein the driving path satisfies the reachability constraint and the energy consumption constraint. This method takes into account the robot's energy consumption on the basis of accessibility, realizes multi-objective optimization of reachability and energy consumption, improves the robot's adaptability to complex application scenarios, and enables the robot to be more energy-efficient when performing tasks while maintaining an efficient working state.
[0058] The above technical solution has stronger environmental perception ability and can dynamically adjust the voxel size and update the reachability map according to environmental changes. This real-time and adaptability ensures that the robot can work efficiently in a rapidly changing environment and adapt to different tasks and environmental changes.
[0059] The present application provides a path planning device, including: a memory configured to store instructions; The processor is configured to call the instructions from the memory and implement the above-mentioned path planning method when executing the instructions.
[0060] The present application provides a robot, comprising: Pedestal; at least one rotating mechanism; End effector; The above-mentioned path planning device.
[0061] An embodiment of the present application provides a machine-readable storage medium on which a program is stored, and when the program is executed by a processor, the above-mentioned path planning method is implemented.
[0062] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 2As shown. The computer device includes a processor A01, a network interface A02, a memory (not shown in the figure) and a database (not shown in the figure) connected through a system bus. Among them, the processor A01 of the computer device is used to provide computing and control capabilities. The memory of the computer device includes an internal memory A03 and a non-volatile storage medium A04. The non-volatile storage medium A04 stores an operating system B01, a computer program B02 and a database (not shown in the figure). The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 in the non-volatile storage medium A04. The database of the computer device is used to store path planning method data. The network interface A02 of the computer device is used to communicate with an external terminal through a network connection. When the computer program B02 is executed by the processor A01, a path planning method is implemented.
[0063] Those skilled in the art will understand that Figure 2 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0064] An embodiment of the present application provides a device, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, the path planning method steps are implemented.
[0065] The present application also provides a computer program product, which, when executed on a data processing device, is suitable for executing the program steps of the initialization path planning method.
[0066] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0067] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0068] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0069] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0070] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0071] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0072] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0073] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0074] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims
1. A path planning method, characterized in that: Applied to a robot, the robot comprises a base, at least one rotating mechanism and an end effector, the method comprises: Determine a task to be performed by the robot, wherein the task to be performed includes a task start position, a task end position, a reachability constraint condition, and an energy consumption constraint condition of the robot; Determine a workspace where the robot performs the task to be performed, wherein the workspace includes a starting position of the task and an ending position of the task; Processing all voxels in the workspace to screen out voxels that do not penetrate the robot; Determining, from the screened voxels, a plurality of reachable voxels that the end effector can reach in the workspace; Determine, according to the plurality of reachable voxels, an optimal base position corresponding to the base when the end effector reaches each reachable voxel; For each reachable voxel, determining the path energy consumption required for the robot to travel from the task starting position to each reachable voxel based on the optimal base position corresponding to each reachable voxel through the energy consumption model of the robot, wherein the energy consumption model includes a kinematic model, and the kinematic model defines the correlation between the travel speed and travel distance of the base and the angular velocity and angular acceleration of each rotating mechanism; A driving path for the robot to perform the task to be performed is determined according to the determined path energy consumption and the corresponding reachable voxels, wherein the driving path satisfies the reachability constraint and the energy consumption constraint.
2. The method according to claim 1, characterized in that Determining a plurality of reachable voxels that the end effector can reach in the workspace from the screened voxels includes: generating a reachability graph based on the screened voxels, wherein the reachability graph defines a plurality of reachable voxels that the end effector can reach in the workspace; The step of determining, according to the plurality of reachable voxels, the optimal base position corresponding to the base when the end effector reaches each reachable voxel comprises: An inverse reachability graph is determined based on the reachability graph to determine the optimal base position, wherein the inverse reachability graph defines an optimal base position corresponding to the base when the end effector reaches each reachable voxel.
3. The method according to claim 2, characterized in that The method further comprises: The path energy cost corresponding to each reachable voxel is labeled to the reachability graph.
4. The method according to claim 1, characterized in that: The processing of all voxels in the workspace to screen out voxels that do not penetrate the robot includes: dividing the workspace into a plurality of voxels; For each voxel, a spherical space for each voxel is constructed based on the geometric center of each voxel; A self-collision check is performed based on the spherical space of each voxel and the three-dimensional model of the robot to screen out voxels that do not penetrate the robot.
5. The method according to claim 4, characterized in that The processing of all voxels in the workspace to screen out voxels that do not penetrate the robot further includes: Acquire a plurality of point cloud data corresponding to the workspace, and determine a local space density corresponding to each point cloud data; Selecting any plurality of first point cloud data from the plurality of point cloud data and setting them as a plurality of initial clustering centers; For any initial cluster center, determine second point cloud data within a preset spatial range of the initial cluster center, and determine the second point cloud data and the initial cluster center as one cluster; Determine the mean of each cluster, and iteratively update the cluster center of each cluster based on the mean of each cluster until the number of iterations reaches a preset number of iterations; Determine the average density of each cluster based on the iteratively updated cluster center of each cluster and the local spatial density of each point cloud data in each cluster; Determine the spatial region where clusters with an average density greater than a preset density threshold are located as a complex region, and determine the spatial region where clusters with an average density less than or equal to the preset density threshold are located as a simple region; The voxel size of the complex region is adjusted to a first size, and the voxel size of the simple region is adjusted to a second size, wherein the first size is smaller than the second size.
6. The method according to claim 1, characterized in that The method further comprises: In a process of controlling the robot to travel based on the travel path, determining a dynamically changing voxel in the workspace; When it is determined that the changed voxel has an influence on any reachable voxel, updating the any reachable voxel based on the changed voxel to obtain a plurality of updated voxels; For each updated reachable voxel, determining an optimal base position corresponding to each updated reachable voxel based on each updated reachable voxel; Determining whether each updated reachable voxel is on the driving path; In the case that there is any updated reachable voxel on the driving path, the remaining driving path for the robot to perform the task to be performed is re-determined based on the updated multiple voxels and the optimal base position corresponding to each updated reachable voxel.
7. The method according to claim 1, characterized in that The path energy consumption required for the robot to travel from the task starting position to each reachable voxel is determined according to formula (1): ,(1) in, is the path energy consumption required for the robot to travel from the starting position of the task to the i-th voxel, is the first energy consumption coefficient of the base, is the distance required for the base to travel from the task starting position to the optimal base position for the i-th voxel, n is the number of the rotating mechanisms, is the angular velocity of the jth rotating mechanism at the ith voxel, is the angular acceleration of the jth rotating mechanism when it is at the i-th voxel, , is the second energy consumption coefficient of the rotating mechanism.
8. The method according to claim 1, characterized in that: The reachability constraint and the energy consumption constraint are determined according to formula (2): ,(2) in, is a balance relationship indicator between the accessibility constraint and the energy consumption constraint, is the first weight coefficient corresponding to accessibility, is the second weight coefficient corresponding to energy consumption, is the first indicator corresponding to accessibility, is the second indicator corresponding to energy consumption, To preset the maximum energy consumption, , is the angular configuration of any rotating mechanism, is the motion range constraint of any rotating mechanism i, is the obstacle avoidance constraint of any rotating mechanism, is the self-collision constraint of any rotating mechanism, is the energy consumption limit constraint of any rotating mechanism, is the working space constraint of any rotation mechanism, is the workspace where the robot performs any task, is any voxel in the workspace corresponding to the robot when performing any task, It is a set of reachable voxels in the workspace corresponding to the robot when performing any task.
9. A path planning device, characterized in that: include: a memory configured to store instructions; A processor is configured to call the instructions from the memory and implement the path planning method according to any one of claims 1 to 8 when executing the instructions.
10. A robot, characterized in that: include: Pedestal; at least one rotating mechanism; End effector; The path planning device according to claim 9.
11. A machine-readable storage medium having instructions stored thereon, characterized in that: When the instruction is executed by a processor, the processor is configured to perform the path planning method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Evaluation method for path planning result of manipulator
CN113561186A
Motion planning method, system and equipment of mobile double-arm robot and medium
CN115958608A
Mechanical arm control method of robot, robot and control terminal
CN116945182A
Fruit picking method based on picking robot, picking robot and electronic equipment
CN118493395A
Fast robot motion optimization with distance field
US20210308862A1
Cited By
Motion control method for robot, motion control apparatus for robot, electronic device, computer-readable storage medium, and computer program product
WO2026179571A1