Path Planning Method, Device, Robot and Storage Medium

By screening the reachable voxels in the workspace and determining the optimal position of the base, and calculating the path energy consumption in combination with the energy consumption model, the problem of energy consumption not being considered in the existing technology is solved, and the multi-objective optimization of robot path planning is achieved, improving the adaptability and energy efficiency of robots in complex scenarios.

CN119469167BActive Publication Date: 2025-05-27ZHONGKE YUNGU TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510055478.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-14
Publication Date
2025-05-27
Estimated Expiration
2045-01-14

AI Technical Summary

Technical Problem

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.

Method used

By screening out voxels in the workspace where there is no penetration between the robot, determining the multiple reachable voxels that the end actuator can reach, and determining the optimal position of the base based on these reachable voxels, and using an energy consumption model to calculate the path energy consumption, thereby planning a driving path that meets the accessibility and energy consumption constraints.

Benefits of technology

Multi-objective optimization of accessibility and energy consumption of robot path planning is achieved, and the robot is adaptable to complex application scenarios is improved, ensuring that the robot can save energy and efficiently when performing tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119469167B_ABST
    Figure CN119469167B_ABST
Patent Text Reader

Abstract

The embodiments of the present application relate to the technical field of robot reachability analysis, and provide a path planning method, device, robot, and storage medium. The method includes: determining a to-be-executed task of the robot; determining a working space where the to-be-executed task is executed, and screening out voxels in the working space that do not penetrate the robot; determining a plurality of reachable voxels in the working space that the end effector can reach from the screened voxels; determining the optimal base position corresponding to the base when the end effector reaches each reachable voxel according to the plurality of reachable voxels; determining the path energy consumption required for the robot to travel from the task start position to each reachable voxel based on the optimal base position corresponding to each reachable voxel through the energy consumption model of the robot; determining the travel path of the robot for executing the to-be-executed task according to the determined path energy consumption and the corresponding reachable voxels, and the travel path satisfies the reachability constraint condition and the energy consumption constraint condition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of robot reachability analysis, and particularly 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 movement ability of a robot in a complex operating environment, ensuring that the robot can effectively reach the target position and execute tasks. By accurately analyzing and optimizing the robot path, the safety and operation efficiency of the robot operation can be improved, thereby ensuring the accurate execution of tasks and the smooth progress of overall production.

[0003] Currently, the assumed workspace of a robot is usually discretized into cubic voxels, and a sphere is placed in each voxel for self-collision checking. Then, the remaining spheres are uniformly sampled, and inverse kinematics is solved to generate a reachability map and record it. Although this method can effectively perform robot spatial reachability analysis, it does not consider the energy consumption problem during the robot task execution. For a robot, the shortest path is not necessarily the optimal path. It may encounter obstacles or the joint poses may not be reachable, and the reachable shortest path is not necessarily the path with the lowest energy consumption. This failure to consider the complexity and limitations of the robot application scenario and the actual demand for energy consumption optimization may cause mechanical wear or power exhaustion of the robot during the task. Therefore, there is an urgent need for a path planning method to enable 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 this application is to provide a path planning method, device, robot, and storage medium to solve the technical defect that the robot runs out of energy during the task due to the limitation of not considering energy consumption when performing robot spatial reachability analysis in the prior art.

[0005] To achieve the above purpose, the first aspect of this application provides a path planning method, which is applied to a robot. The robot includes a base, at least one rotating mechanism, and an end effector. The method includes:

[0006] Determine the task to be executed by the robot, where the task to be executed includes the task start position, task end position, reachability constraint conditions, and energy consumption constraint conditions of the robot;

[0007] Determine the workspace where the robot executes the task to be executed, where the workspace includes the task start position and the task end position;

[0008] Process all voxels in the workspace to filter out the voxels that do not penetrate the robot;

[0009] Determine a plurality of reachable voxels in the workspace that the end effector can reach from the screened voxels;

[0010] Determine the optimal base position corresponding to the base when the end effector reaches each reachable voxel according to the plurality of reachable voxels;

[0011] For each reachable voxel, determine the path energy consumption required for the robot to travel from the task start position to each reachable voxel based on the optimal base position corresponding to the base for each reachable voxel through the energy consumption model of the robot, where the energy consumption model includes a kinematic model that defines the correlation between the traveling speed and distance of the base and the angular velocity and angular acceleration of each rotating mechanism;

[0012] Determine the traveling path for the robot to execute the to-be-executed task according to the determined path energy consumption and the corresponding reachable voxels, where the traveling path satisfies the reachability constraint condition and the energy consumption constraint condition.

[0013] In the embodiment of the present application, determining a plurality of reachable voxels in the workspace that the end effector can reach from the screened voxels includes: generating a reachability graph based on the screened voxels, where the reachability graph defines a plurality of reachable voxels in the workspace that the end effector can reach; determining the optimal base position corresponding to the base when the end effector reaches each reachable voxel according to the plurality of reachable voxels includes: determining an inverse reachability graph based on the reachability graph to determine the optimal base position, where the inverse reachability graph defines the optimal base position corresponding to the base when the end effector reaches each reachable voxel.

[0014] 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.

[0015] In the embodiment of the present application, processing all voxels in the workspace to screen out the voxels that do not penetrate the robot includes: dividing the workspace into a plurality of voxels; for each voxel, constructing a spherical space for each voxel based on the geometric center of each voxel; performing a self-collision check on the spherical space of each voxel and the three-dimensional model of the robot to screen out the voxels that do not penetrate the robot.

[0016] In an embodiment of the present application, all voxels in the working space are processed to filter out the voxels that do not penetrate the robot, and it further includes: obtaining a plurality of point cloud data corresponding to the working space, and determining the local spatial density corresponding to each point cloud data; selecting any number of first point cloud data from the plurality of point cloud data and setting them as a plurality of initial clustering centers; for any one of the initial clustering centers, determining the second point cloud data within the preset spatial range of the initial clustering center, and determining the second point cloud data and the initial clustering center as a cluster; determining the mean value of each cluster, and iteratively updating the clustering center of each cluster based on the mean value of each cluster until the number of iterations reaches the preset number of iterations; determining the average density of each cluster based on the iteratively updated clustering center of each cluster and the local spatial density of each point cloud data in each cluster; determining the spatial region where the cluster with an average density greater than the preset density threshold is located as a complex region, and determining the spatial region where the cluster with an average density less than or equal to the preset density threshold is located as a simple region; adjusting the voxel size of the complex region to a first size, and adjusting the voxel size of the simple region to a second size, where the first size is smaller than the second size.

[0017] In an embodiment of the present application, the method further includes: during the process of controlling the robot to travel based on the travel path, determining the changing voxels in the working space that are dynamically changing; in the case where it is determined that the changing voxels have an impact on any reachable voxel, updating the any reachable voxel based on the changing voxels to obtain a plurality of updated voxels; for each updated reachable voxel, determining the best base position corresponding to each updated reachable voxel based on each updated reachable voxel; determining whether each updated reachable voxel is on the travel path; in the case where any updated reachable voxel is on the travel path, re-determining the remaining travel path for the robot to execute the to-be-executed task based on the updated plurality of voxels and the best base position corresponding to each updated reachable voxel.

[0018] In an embodiment of the present application, the path energy consumption required for the robot to travel from the task start position to each reachable voxel is determined according to formula (1):

[0019] , (1)

[0020] where, is the path energy consumption required for the robot to travel from the task start position to the i-th voxel, is the first energy consumption coefficient of the base, is the travel distance required for the base to travel from the task start position to the best base position for the i-th voxel, n is the number of rotating mechanisms, is the angular velocity of the j-th rotating mechanism when it is at the i-th voxel, is the angular acceleration when the j-th rotating mechanism is at the i-th voxel. , is the second energy consumption coefficient of the rotating mechanism.

[0021] In the embodiments of the present application, the reachability constraint condition and the energy consumption constraint condition are determined according to formula (2):

[0022] , (2)

[0023] where is the balance relationship index of the reachability constraint condition and the energy consumption constraint condition, is the first weight coefficient corresponding to reachability, is the second weight coefficient corresponding to energy consumption, is the first index corresponding to reachability, is the second index corresponding to energy consumption, is the preset maximum energy consumption, , is the angle 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 workspace constraint of any rotating mechanism, is the workspace where the robot performs any task, is any voxel in the workspace corresponding to the robot when performing any task, is the set composed of reachable voxels in the workspace corresponding to the robot when performing any task.

[0024] The second aspect of the present application provides a path planning device, including:

[0025] A memory configured to store instructions;

[0026] A processor configured to call instructions from the memory and be able to implement the above path planning method when executing the instructions.

[0027] The third aspect of the present application provides a robot, including:

[0028] A base;

[0029] At least one rotating mechanism;

[0030] An end effector;

[0031] The above path planning device.

[0032] A fourth aspect of the present application provides a machine-readable storage medium, on which instructions are stored, and when the instructions are executed by a processor, the processor is configured to execute the above-mentioned path planning method.

[0033] In the above technical solution, by screening out the voxels in the workspace that do not penetrate the robot, multiple reachable voxels that the end effector can reach in the workspace are determined, and based on the multiple reachable voxels, the optimal base position corresponding to the base when the end effector reaches each reachable voxel is determined. For each reachable voxel, based on the energy consumption model of the robot, the path energy consumption required for the robot to travel from the task start position to each reachable voxel is determined according to the optimal base position corresponding to each reachable voxel. Then, according to the determined path energy consumption and the corresponding reachable voxels, the travel path for the robot to execute the task to be executed is determined, where the travel path satisfies the reachability constraint conditions and the energy consumption constraint conditions. This method considers the energy consumption of the robot on the basis of reachability, realizes the multi-objective optimization of reachability and energy consumption, improves the adaptability of the robot to complex application scenarios, enables the robot to be more energy-efficient when executing tasks, and at the same time maintains a high-efficiency working state.

[0034] Other features and advantages of the embodiments of the present application will be described in detail in the subsequent specific implementation part. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The 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 implementation, they are used to explain the embodiments of the present application, but do not constitute a limitation to the embodiments of the present application. In the drawings:

[0036] Figure 1 Schematically shows a flowchart of the path planning method according to an embodiment of the present application;

[0037] Figure 2 Schematically shows an internal structure diagram of a computer device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0038] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. It should be understood that the specific implementation described herein is only used to illustrate and explain the embodiments of the present application, and is not used to limit the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.

[0039] It should be noted that if there are directional indications (such as up, down, left, right, front, back...) involved in the embodiments of the present application, the directional indications are only used to explain the relative positional relationship, movement conditions, etc. between components in a specific posture (as shown in the drawings). If the specific posture changes, the directional indications will also change accordingly.

[0040] 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 for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include at least one such feature. In addition, the technical solutions between various embodiments can be combined with each other, but it must be based on the ability of those of ordinary skill in the art to implement. When the combination of technical solutions results in contradictions or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the protection scope required by the present application.

[0041] Figure 1 A schematic flow diagram of a path planning method according to an embodiment of the present application is schematically shown. As Figure 1 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. The method includes the following steps.

[0042] Step 101, determine the task to be executed by the robot. The task to be executed includes the task start position, task end position, reachability constraint conditions, and energy consumption constraint conditions of the robot.

[0043] In the embodiments of the present application, the rotating mechanism may refer to a rotatable joint, and the end effector may be a device capable of performing some tasks, such as a manipulator that can perform grasping, a gripper, a welding torch, etc. The rotating mechanism and the end effector may form the robotic arm of the robot. The task to be executed may refer to the process involved when the robot needs to travel from the task start position to the task end position in a specified spatial scenario to perform a certain action, such as grasping a part at position A in a workshop and transporting it to position B. Usually, there may be multiple travel paths from the task start position to the task end position, and among these multiple travel paths, there must be a path with the shortest path length and a path with the least energy consumption. However, the travel 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 taking a detour. Therefore, considering the reachability of the robot during travel and whether the energy consumption can meet the actual task requirements, for example, in some task processes, the actual task requirement is to maximize reachability and minimize energy consumption. The task to be executed in the technical solution of the present application may further include preset reachability constraint conditions and energy consumption constraint conditions. For example, the reachability constraint condition may be to maximize reachability or not be lower than a threshold, and the energy consumption constraint condition may be to minimize energy consumption or not exceed a threshold. In this way, based on these two constraint conditions, an optimal travel path that meets the actual task requirements of the current task to be executed can be planned from multiple travel paths.

[0044] Step 102: Determine the working space where the robot executes the task to be executed, where the working space includes the task start position and the task end position.

[0045] In the embodiments of the present application, the task to be executed may refer to the process involved when the robot needs to travel from the task start position to the task end position in a specified spatial scenario to perform a certain action. The environments corresponding to different spatial scenarios are different, and the environments corresponding to different tasks in the same spatial scenario are also different. Therefore, before planning the travel path, the working space where the robot executes the task to be executed can be determined. Specifically, for example, taking the spatial scenario as a factory workshop, at least one 360-degree lidar may be installed on the base of the robot, and at least one RGB-D camera may be installed on the end effector of the robot. By obtaining the lidar point cloud data of the 360-degree lidar, 2D SLAM is implemented to construct a basic map of the factory workshop layout. Based on the basic map, the task start position, and the task end position, the working space where the robot executes the task to be executed can be further determined. Through local 3D reconstruction of the factory workshop by the RGB-D camera, fine environmental information of the space around the robot can be obtained to implement object detection and tracking, and identify dynamic obstacles in the factory, such as moving workers or AGVs, etc.

[0046] Step 103: Process all voxels in the workspace to filter out the voxels that do not penetrate the robot.

[0047] In the embodiment of the present application, it should be noted that a voxel can be referred to as the abbreviation of volume pixel in a three-dimensional space. It is similar to a pixel in a two-dimensional image, but represents a cubic unit in a three-dimensional space, having a certain volume, position, and attributes. A voxel can be regarded as a cube used to represent a certain area in a three-dimensional space. Therefore, the workspace can be composed of several voxels. Generally, the end effector cannot penetrate the robot itself. Therefore, to exclude the collision between the end effector of the robot and the robot itself, all voxels in the workspace can be processed to analyze whether each voxel penetrates the robot, that is, whether there is a penetration situation. If there is a penetration situation between a voxel and the robot, the area corresponding to the voxel can be considered as the robot itself. If there is no penetration situation between a voxel and the robot, the area corresponding to the voxel can be considered as the space area outside the robot 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 filtered out, and the area composed of these voxels can be considered as the set of space areas outside the robot itself.

[0048] In the embodiment of the present application, processing all voxels in the workspace to filter out the voxels that do not penetrate the robot includes: dividing the workspace into multiple voxels; for each voxel, constructing a spherical space for each voxel based on the geometric center of each voxel; performing self-collision checking on the spherical space of each voxel and the three-dimensional model of the robot to filter out the voxels that do not penetrate the robot.

[0049] In this embodiment, it should be noted that when analyzing whether each voxel in the workspace penetrates the robot, the workspace can be first divided into multiple voxels, and then for each voxel, a spherical space is set with the set center 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 self-collision checking on the spherical space of each voxel and the three-dimensional model of the robot to analyze whether each voxel penetrates the robot, so as to filter out the voxels in the workspace that do not penetrate the robot, realizing the judgment of the position of obstacles in the workspace.

[0050] In the embodiments of the present application, all voxels in the workspace are processed to screen out the voxels that do not penetrate the robot, and it further includes: obtaining a plurality of point cloud data corresponding to the workspace, and determining the local spatial density corresponding to each point cloud data; selecting any number 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 clustering center, determining the second point cloud data within the preset spatial range of the initial clustering center, and determining the second point cloud data and the initial clustering center as a cluster; determining the mean of each cluster, and iteratively updating the clustering center of each cluster based on the mean of each cluster until the number of iterations reaches the preset number of iterations; determining the average density of each cluster based on the iteratively updated clustering center of each cluster and the local spatial density of each point cloud data in each cluster; determining the spatial region where the cluster with an average density greater than the preset density threshold is located as a complex region, and determining the spatial region where the cluster with an average density less than or equal to the preset density threshold is located as a simple region; adjusting the voxel size of the complex region to a first size, and adjusting the voxel size of the simple region to a second size, where the first size is smaller than the second size.

[0051] In this embodiment, it should be noted that, in order to improve the calculation accuracy and reduce the calculation amount, before performing the self-collision check between all voxels and the robot, preprocessing needs to be performed on each voxel, including dividing the workspace into complex regions and simple regions, and adjusting the voxel sizes in the complex regions and simple regions, so as to achieve the technical effects of improving the calculation accuracy and reducing the calculation amount. Specifically, after obtaining the point cloud data of the workspace collected by the 360-degree lidar installed on the robot base, the local spatial density of each point cloud data can be calculated based on the following calculation formula:

[0052] ,

[0053] where, is the local spatial density of any point cloud data, is the unit volume of each point cloud data, is any point cloud data and any point cloud data the distance between them, is the set radius, is the indicator function. Determine whether the distance between two points is less than , and the local spatial density of each point cloud data can be obtained by combining the above calculation formula.

[0054] After obtaining the local spatial density of each point cloud data, each point As the input for clustering to perform K-Means clustering, where the K-Means algorithm is an iterative clustering analysis algorithm used to partition a dataset into k disjoint clusters, assign each point in the dataset to the cluster center closest to it, and update the cluster centers in each iteration until convergence. In this technical solution, any k first point cloud data can be selected from multiple point cloud data and these k first point cloud data are 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 a cluster by combining the second point cloud data with the initial cluster center. 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 both the preset spatial range and the preset number of iterations can be set according to requirements. Specifically, the iterative formula is as follows:

[0055] ,

[0056] where, is the cluster center of any cluster , is the number of point clouds of any cluster , is the three-dimensional coordinate and local spatial density feature vector of the points within the cluster during each clustering for any cluster .

[0057] After each cluster is iteratively updated, 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. Specifically, the average density of each cluster can be calculated according to the following formula:

[0058] ,

[0059] where, is the average density of any cluster , representing the complexity of the area is the number of point clouds of any cluster , is the local spatial density of any point cloud data

[0060] After obtaining the average density of each cluster, the spatial region where the cluster with an average density greater than the preset density threshold is located is determined as the complex region, and the spatial region where the cluster with an average density less than or equal to the preset density threshold is located is determined as the simple region. It should be noted that initially, each voxel is set to have the same size. Only after dividing the complex region and the simple region, will the voxel sizes of the complex region and the simple region be adjusted respectively. The voxel size of the complex region is adjusted to the first size, and the voxel size of the simple region is adjusted to the second size, where the first size is smaller than the second size, so as to dynamically adjust the voxel size according to the environmental complexity of different regions, enabling the complex region to use smaller voxels to improve accuracy and the simple region to use larger voxels to reduce computational consumption. Specifically, the adjustment rule of the voxel size is shown in the following formula:

[0061] ,

[0062] where, is the initial size of each voxel in the workspace. When the average density of any cluster, that is, when it is greater than the set density, the spatial region where the cluster is located is the complex region, and the size of each voxel in this region is reduced from to . When the average density of any cluster, that is, when it is less than or equal to the set density, the spatial region where the cluster is located is the simple region, and the size of each voxel in this region is increased from to .

[0063] Step 104, determine multiple reachable voxels in the workspace that the end effector can reach from the filtered voxels.

[0064] In the embodiment of the present application, after filtering out the voxels that do not penetrate the robot in the workspace, further, the joint configuration corresponding to each target pose can be solved based on inverse kinematics, so as to determine multiple reachable voxels in the workspace that the end effector can reach. Specifically, inverse kinematics can be solved according to the following formula:

[0065] ,

[0066] ,

[0067] where, is the three-dimensional position of the spherical space of each voxel, is the pose matrix of the robot end effector, is a vector containing the angular values of each rotating mechanism of the robot. Inverse kinematic solution may have no solution, multiple solutions, or a unique solution. Only the voxels with solutions are the reachable voxels that the end effector can reach in the workspace.

[0068] Generally, there may be multiple static or dynamic obstacle objects in the workspace. These obstacle objects can collide with the robot, and the robot cannot penetrate these obstacle objects to perform subsequent actions. Therefore, through inverse kinematic solution, the spatial positions that the robot can reach in the workspace can be calculated.

[0069] Step 105: Determine the optimal base position corresponding to the base when the end effector reaches each reachable voxel according to multiple reachable voxels.

[0070] 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 through forward kinematics based on multiple reachable voxels, that is, the given target pose. Specifically, forward kinematic solution can be performed according to the following formula:

[0071] ,

[0072] ,

[0073] where is the homogeneous transformation matrix of the robot, representing the position and orientation of the end effector in three-dimensional space. is the forward kinematic representation of the robot, which can be obtained from the URDF model of the robot. In the homogeneous transformation matrix, is the rotation matrix, representing the orientation. is the position vector, and the base position is the position vector in the matrix. , representing the coordinate values in the three-dimensional coordinate system. Generally, forward kinematic solution has a unique solution, that is, when each reachable voxel has a solution in forward kinematics, there is one and only one corresponding optimal base position. Among them, the optimal base position can be the current position or a new position of the robot.

[0074] In an embodiment of the present application, determining multiple reachable voxels that the end effector can reach in the workspace from the selected voxels includes: generating a reachability map based on the selected voxels, where the reachability map defines multiple reachable voxels that the end effector can reach in the workspace; determining the optimal base position corresponding to the base when the end effector reaches each reachable voxel according to the multiple reachable voxels includes: determining an inverse reachability map based on the reachability map to determine the optimal base position, where the inverse reachability map defines the optimal base position corresponding to the base when the end effector reaches each reachable voxel.

[0075] In this embodiment, it should be noted that after performing inverse kinematics solution on the robot to obtain all reachable voxels of the robot in the workspace, a reachability map is generated to record all reachable voxels of the robot end effector at different positions and postures in the workspace. At the same time, after calculating the optimal base position corresponding to the base when the end effector reaches each reachable voxel based on the multiple reachable voxels, that is, the given target posture, through forward kinematics, an inverse reachability map is generated to record the unique optimal base position corresponding to the base when the end effector reaches each reachable voxel.

[0076] Step 106, for each reachable voxel, based on the energy consumption model of the robot, determine the path energy consumption required for the robot to travel from the task starting position to each reachable voxel according to the optimal base position corresponding to each reachable voxel, where the energy consumption model includes a kinematic model, and the kinematic model defines the correlation relationship between the traveling speed and distance of the base and the angular velocity and angular acceleration of each rotating mechanism.

[0077] In an embodiment of the present application, it should be noted that the technical solution of the present application constructs an energy consumption model for a robot, and the energy consumption model includes a kinematic model that defines the correlation relationship between the traveling speed and distance of the base and the angular velocity and angular acceleration of each rotating mechanism. Based on this, the angular velocity and angular acceleration of each rotating mechanism determined by the current base movement speed of the robot and the traveling distance to each optimal base position are used to further determine the path energy consumption required for the robot to travel from the task starting position to each reachable voxel.

[0078] 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):

[0079] , (1)

[0080] Where, is the path energy consumption required for the robot to travel from the task starting position to the i-th voxel, is the first energy consumption coefficient of the base, is the driving distance required for the base to travel from the task starting position to the optimal base position for the i-th voxel, and n is the number of rotating mechanisms. is the angular velocity of the j-th rotating mechanism when it is at the i-th voxel. is the angular acceleration of the j-th rotating mechanism when it is at the i-th voxel. , is the second energy consumption coefficient of the rotating mechanism.

[0081] In this embodiment, it should be noted that in practical applications, the energy consumption model can be calibrated and verified by collecting the operating data of the robot, including current, voltage, etc.

[0082] In the embodiment of the present application, the method further includes: marking the path energy consumption corresponding to each reachable voxel to the reachability map.

[0083] In this embodiment, for each reachable voxel, after calculating the path energy consumption required to travel from the task starting position to the reachable voxel, the path energy consumption corresponding to each reachable voxel is marked to the reachability map. In this way, the reachability map not only contains the reachability information of the spatial position, but also contains the energy consumption information of the robot.

[0084] Step 107, determine the driving path of the robot to execute the to-be-executed task according to the determined path energy consumption and the corresponding reachable voxel, where the driving path satisfies the reachability constraint condition and the energy consumption constraint condition.

[0085] In the embodiment of the present application, after determining each reachable voxel in the workspace of the robot and the path energy consumption required to travel from the task starting position to each reachable voxel, multiple driving paths that the robot can travel when executing the to-be-executed task 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, according to the reachability constraint condition and the energy consumption constraint condition, the most practical task requirement can be selected from multiple driving paths as the driving path for the robot to execute the to-be-executed task. For example, select a driving path that maximizes reachability and minimizes energy consumption from multiple driving paths according to the reachability constraint condition and the energy consumption constraint condition.

[0086] In the embodiment of the present application, the reachability constraint condition and the energy consumption constraint condition are determined according to formula (2):

[0087] , (2)

[0088] where, is the balance relation index of the reachability constraint condition and the energy consumption constraint condition, is the first weight coefficient corresponding to reachability, is the second weight coefficient corresponding to the energy consumption, is the first index corresponding to the reachability, is the second index corresponding to the energy consumption, is the preset maximum energy consumption, , is the angle 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 workspace constraint of any rotating mechanism, is the workspace where the robot performs any task, is any voxel in the workspace corresponding to the robot when performing any task, is the set composed of reachable voxels in the workspace corresponding to the robot when performing any task.

[0089] It should be noted that, is the indicator function. When the robot can reach the voxel under the joint configuration , , otherwise .

[0090] In this embodiment, for the robot, the shortest path is not necessarily the optimal path. It may encounter obstacles or the joint pose may be unreachable. The reachable shortest path is not necessarily the path with the lowest energy consumption. Rough road surfaces will cause joint wear, and climbing slopes may consume more energy than taking a detour. Considering the complexity and limitations of the robot application scenario and the actual demand for energy consumption optimization, multi-objective optimization can more comprehensively address complex scenarios and actual demands. And in the above reachability analysis, the robot has been fully modeled and constrained. Only the constraint of actual energy consumption needs to be added, the optimization objectives are clarified, the reachability is maximized and the energy consumption is minimized to ensure that the robot can cover as large a workspace as possible. At the same time, the energy consumed by the robot to perform tasks is reduced. The weighted sum method is used to balance these two objectives, and the specific optimization problem can be expressed as the above formula (2).

[0091] In an embodiment of the present application, the method further includes: during the process of controlling the robot to travel based on the travel path, determining variable voxels in the workspace that are dynamically changing; in the case where it is determined that the variable voxels have an impact on any reachable voxel, updating the any reachable voxel based on the variable voxels to obtain a plurality of 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 travel path; in the case where any updated reachable voxel is on the travel path, re-determining the remaining travel path for the robot to execute the to-be-executed task based on the plurality of updated voxels and the optimal base position corresponding to each updated reachable voxel.

[0092] In this embodiment, it should be noted that the workspace may be in a dynamically changing environment. Therefore, during the process of controlling the robot to travel based on the travel path, it is necessary to perform dynamic analysis on the workspace in real time. In a dynamic environment, variable voxels in the workspace that are dynamically changing are determined. In the case where it is determined that the variable voxels have an impact on any reachable voxel, the any reachable voxel is updated based on the variable voxels to obtain a plurality of updated voxels. It should be noted that only the voxels affected are updated during the update, and the remaining voxels not affected 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 updating the dynamically changing voxels, it is necessary to further determine whether the updated reachable voxels are on the travel path. In the case where any updated reachable voxel is on the travel path, the remaining travel path for the robot to execute the to-be-executed task is re-planned based on the plurality of updated voxels and the optimal base position corresponding to each updated reachable voxel.

[0093] In this embodiment, after updating the voxels 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, and the reachability sphere information corresponding to each grid point is stored. The grid points corresponding to the changed area are determined, and each change only recalculates the affected reachability spheres instead of calculating the whole, and the reachability map is updated incrementally.

[0094] In the above technical solution, by screening out the voxels in the working space that do not penetrate the robot, multiple reachable voxels that the end effector can reach in the working space are determined, and based on the multiple reachable voxels, the optimal base position corresponding to the base when the end effector reaches each reachable voxel is determined. For each reachable voxel, based on the energy consumption model of the robot and the optimal base position corresponding to each reachable voxel, the path energy consumption required for the robot to travel from the task start position to each reachable voxel is determined. Thus, based on the determined path energy consumption and the corresponding reachable voxels, the travel path for the robot to execute the task to be executed is determined, where the travel path satisfies the reachability constraint condition and the energy consumption constraint condition. This method takes into account the energy consumption of the robot on the basis of reachability, realizes the multi-objective optimization of reachability and energy consumption, improves the adaptability of the robot to complex application scenarios, enables the robot to be more energy-efficient when executing tasks, and at the same time maintains a high-efficiency working state.

[0095] In the above technical solution, the environmental perception ability is stronger, and it can dynamically adjust the voxel size and update the reachability map according to environmental changes. This real-time performance and adaptability ensure that the robot can work efficiently in a rapidly changing environment and adapt to different tasks and environmental changes.

[0096] An embodiment of the present application provides a path planning device, including:

[0097] A memory configured to store instructions;

[0098] A processor configured to call the instructions from the memory and be able to implement the above path planning method when executing the instructions.

[0099] The present application provides a robot, including:

[0100] A base;

[0101] At least one rotating mechanism;

[0102] An end effector;

[0103] The above path planning device.

[0104] 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 path planning method is implemented.

[0105] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as 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 via 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 via a network connection. When the computer program B02 is executed by the processor A01, it implements a path planning method.

[0106] Those skilled in the art can understand that Figure 2 the structure shown in is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

[0107] An embodiment of this application provides a device, which includes a processor, a memory, and a program stored on the memory and executable on the processor. When the processor executes the program, it implements the steps of the path planning method.

[0108] This application also provides a computer program product, which is suitable for executing a program for initializing the steps of the path planning method when executed on a data processing device.

[0109] Those skilled in the art should understand that the embodiments of this application can be provided as a method, a system, or a computer program product. Therefore, this application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.

[0110] This application is described with reference to the flowcharts and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram can be implemented by computer program instructions, as well as the combination of flows and / or blocks in the flowchart and / or block diagram. These computer program instructions can be provided to the 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 a machine for implementing in the process Figure 1 one or more of the processes and / or blocks Figure 1 the means for specifying the functions in one or more of the blocks.

[0111] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device implements the process Figure 1 one or more of the processes and / or blocks Figure 1 the functions specified in one or more of the blocks.

[0112] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide the steps for implementing the functions specified in the process Figure 1 one or more of the processes and / or blocks Figure 1 the functions specified in one or more of the blocks.

[0113] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and a memory.

[0114] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM) and / or non-volatile memory such as read-only memory (ROM) or flash memory (flash RAM). The memory is an example of computer-readable media.

[0115] A computer-readable medium includes permanent and non-permanent, removable and non-removable media that can implement information storage by any method or technology. The 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 technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer-readable medium does not include transitory computer-readable media, such as modulated data signals and carrier waves.

[0116] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or also includes elements inherent in such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.

[0117] The above are only embodiments of the present application and are not used to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application shall be included within 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; 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; 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; 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.

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; Determine 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. 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 6 when executing the instructions.

8. A robot, characterized in that: include: Pedestal; at least one rotating mechanism; End effector; The path planning device according to claim 7.

9. 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 execute the path planning method according to any one of claims 1 to 6.

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