Industrial robot motion planning method based on diffusion model
By combining the diffusion model and the Transformer network, the problem of low efficiency in path planning for industrial robots is solved, enabling the rapid generation of high-quality collision-free paths in complex environments, and path planning that adapts to any obstacle and robot type.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2026-04-07
AI Technical Summary
Existing path planning algorithms are inefficient in industrial robot scenarios and cannot meet the needs of rapid planning. In particular, they are difficult to generate high-quality collision-free paths in environments with multiple obstacles, and the search time of traditional methods is unstable in complex environments.
A path planning method based on a diffusion model is adopted, which combines CAE and Transformer network. Through a pre-trained point cloud encoder and collision detection module, highly diverse robot motion paths are generated by utilizing motion feedback. The loss function is optimized to improve the generation quality and success rate.
It can quickly generate high-quality collision-free paths in complex environments, adapt to any obstacle and robot type, improve the efficiency and success rate of path planning, and is suitable for inference calculations in large-scale robot factories.
Smart Images

Figure CN119217373B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of computers, and more specifically, to a diffusion model based industrial robot motion planning method. BACKGROUND
[0002] Obstacle avoidance path planning has always been a problem of concern in the field of robot control. A good and effective obstacle avoidance path planning algorithm can save the working time of the robot, reduce the mechanical wear, and at the same time make the robot run safely in various working environments. The path planning technology in the mobile robot navigation technology has always been valued by researchers in the field of robots. The mobile robot path planning method usually simplifies the mobile robot as a particle and applies kinematic constraints on the particle, and generally only needs to be planned in three degrees of freedom. In order to apply the path planning method of the mobile robot to the mechanical arm, the mechanical arm can be mapped from the Cartesian space to the configuration space (also known as the joint space), that is, the mechanical arm can be simplified as a joint vector in the joint space. Robot path planning is carried out in the robot configuration space. The more the number of robot axes and the greater the degree of freedom, the larger the configuration space, and the higher the planning difficulty. If the traditional algorithm is used, the planning time complexity will be extremely large.
[0003] One of the cores of the basic principle of the RRT algorithm is random sampling, which can quickly explore unknown space and generate a feasible obstacle avoidance path according to the current environment information, and is widely used in the path planning of unmanned aerial vehicles and mobile robots. At the same time, the RRT algorithm is very effective in solving high-dimensional space planning problems, so it is gradually applied to the path planning of multi-degree-of-freedom mechanical arms in high-dimensional complex environments. LaValle first proposed the RRT algorithm, introduced the principle and application of the RRT algorithm, and discussed the advantages of the RRT algorithm in high-dimensional space path planning, and experimentally verified the performance of the RRT algorithm and discussed the optimization of the algorithm. The RRT algorithm schematic diagram is shown in Figure 1 .
[0004] Karaman proposed RRT* algorithm, through the reselection of parent node and pruning optimization strategy, reselect the parent node and child node of the current node in a certain range, so as to obtain the gradually optimal result, but the disadvantage is that the search time changes with the complexity of the environment. In complex environment, there is a certain probability that the planning task cannot be completed within the specified time. Kuffne et al. proposed RRT-Connect algorithm, which introduces Connect heuristic technology on the basis of bidirectional search. Simulation comparison experiment shows that the algorithm can plan a feasible path faster than RRT algorithm. Gammel et al. proposed Informed RRT* algorithm, found that if RRT* algorithm can find an initial path, then in the ellipse with the initial node and the target node as the focus, the optimal path can be found, and it is proved that if the information is sampled in advance, the convergence speed of RRT* algorithm can be improved. Dai et al. proposed RRT* path planning strategy based on direct connection strategy, combined target bias RRT, B-RRT and RRT* to realize optimization, realize shorter length and wider gap collision-free path generation.
[0005] This kind of sampling-based algorithm still faces the trade-off between effect and response speed. The faster the response to external changes, the worse the quality of the generated path, and sometimes it cannot find a feasible path within the specified number of seconds. And in the expectation of this algorithm, the whole process only re-plans several times, which cannot meet the high-speed performance demand. And this method is only feasible in the mobile robot scene. In the industrial robot scene, with the increase of the number of robot axes, the solving time will increase geometrically.
[0006] Although the traditional path planning algorithm can generally achieve the ideal result by using enough time, it cannot meet the rapid planning needs of the real scene, and is limited in planning. The application designs and realizes the industrial robot motion planning technology based on diffusion model, creates a path planning system that can adapt to any environment and robot, thereby laying a solid foundation for the field of robot cooperation and robot safety. In a multi-obstacle environment, based on specific tasks and specific environments, a collision-free path from the initial pose to the target pose is planned, ensuring that the mechanical arm completes the task with quality and quantity. And provide cloud robot visualization function. At the same time, not only use the existing network structure, explore how to improve and innovate the network, specially for robot planning task, use the characteristics of robot motion, get better effect. SUMMARY
[0007] The embodiment of the present disclosure aims to provide a diffusion model-based industrial robot motion planning method. The main research goal of the present disclosure is to migrate the diffusion model to the field of industrial robot path generation, and to improve the network structure according to the characteristics of the robot motion task, to generate a direction guided by motion feedback, and to create a path planning system that can adapt to any environment and robot, thereby laying a solid foundation for the field of robot cooperation and robot safety. In a multi-obstacle environment, a collision-free path from the initial pose to the target pose is planned based on specific tasks and specific environments, ensuring that the robot can complete the task with quality and quantity.
[0008] In one general aspect, a diffusion model-based industrial robot motion planning method is provided. To address the low efficiency of existing path planning algorithms in industrial scenarios, a diffusion model-based path planning algorithm is proposed, and the robot path planning task is converted into a generation task. The diffusion model learns the probability distribution from the task to the path, and generates high diversity of robot motion guided by motion feedback. According to the characteristics of the industrial robot path planning task, the diffusion model is improved, and CAE and Transformer are migrated to learn the characteristics of the robot path task in this scenario. At the same time, the algorithm uniquely uses the method of predicting the sequence itself, and optimizes the loss function, so that the diffusion model can better understand the meaning of the joint sequence itself and avoid catastrophic collisions. Compared with other path planning algorithms, the motion planning algorithm of the present disclosure has obvious advantages in dealing with complex path planning tasks.
[0009] A neural network including three main steps is constructed: first, a pre-trained point cloud encoder is constructed, the point cloud encoder including a point cloud encoding design module of an obstacle environment, realizing input of the obstacle environment, learning obstacle features through unsupervised learning, using common reconstruction loss and regularization of encoder parameters, realizing compression and embedding of obstacle point clouds of the task condition into latent space Z, and constructing a robot state encoding algorithm of forward kinematics and a collision detection module of path data; then, based on the pre-trained point cloud encoder encoding task information, a diffusion model based on Transformer is used to add noise to the task data and restore the noise, and the data probability distribution of the physical relationship between the robot links is modeled; finally, based on the trained neural network model, combined with a small amount of motion feedback, an image is generated from random Gaussian noise, further improving the generation speed and success rate;
[0010] The final neural network model can output an optimal path under specific task conditions.
[0011] The forward kinematics robot state coding algorithm selects a point cloud to describe the shape of the robot, and quickly samples the surface of the robot. For each robot link, two Mesh files are configured to describe the visual attributes and collision attributes of the link, which are Visual Mesh and Collision Mesh respectively. Considering the 3D mesh of each link based on the Collision Mesh, the point cloud of the mesh surface is obtained. After the initial processing, the processing results are stored in the cache file. In subsequent re-runs, the results are directly read from the cache file. During the operation, the processing results are saved in the GPU for repeated use, thereby greatly reducing the bandwidth.
[0012] After obtaining the sampling results of each link of the robot, the sampling results of the robot after the rotation of the specific joint are calculated: first, the origin coordinates of the robot are obtained, the origin coordinates of the robot are aligned with the origin coordinates of the simulation environment, and the origin coordinate system {A0} is determined, and the homogeneous transformation matrix of the adjacent two links is constructed by D-H parameter method Through the chain rule of homogeneous coordinate transformation, the conversion formula between the coordinate systems of any two links is constructed, and the relative position of any link point based on the coordinate system of the link itself is converted into the relative position based on the origin coordinate system {A0}.
[0013] The collision detection module of the path data adopts a sampling-based collision detection method. By sampling the surface of the robot link in advance, it is judged whether a collision occurs by judging whether the sampling point appears inside the obstacle, and the collision depth is calculated according to the distance between the sampling point and the surface of the obstacle.
[0014] Specifically, a safety distance is considered. When the sampling point is outside the obstacle, but the distance from the obstacle surface is less than the safety distance, it is judged as a collision, and the collision strength is the safety distance minus the distance from the sampling point to the obstacle surface. If any sampling point is detected as a collision, it is determined that the robot and the obstacle collide, and the collision strength is the sum of the collision strengths of all sampling points and the obstacle.
[0015]
[0016] D j (x) is a distance function. During the training process, the minimum distance from the robot point cloud to the closed surface can be obtained for a given closed surface. If the point cloud is inside the closed surface, a negative value is returned.h j (x) is the collision function used in this paper. When the calculation result is greater than 0, it indicates that a collision occurs, and the calculation result can be used to express the collision strength. The safety distance is set to 0.05m.
[0017] The point cloud encoding design module for the obstacle environment uses CAE as the point cloud encoder for self-training. The loss function after penalizing the weights is:
[0018]
[0019] J f (x) is the Jacobian matrix of the hidden layer output values with respect to the weights. This represents the sum of the squares of the F-norms of the Jacobian matrix, i.e.:
[0020]
[0021] Since the number and shape of obstacles are uncertain, a sufficient number of points are first collected on the surface of the obstacles based on random sampling to obtain a full point cloud. Then, the full point cloud is downsampled to a fixed number based on downsampling. Finally, the farthest point sampling strategy is adopted.
[0022] The design method for the Transformer-based diffusion model is as follows:
[0023] First, we need to clarify the data type to be processed: the path data is a two-dimensional array in the form of (time series length, number of axes). We introduce Transformer as the backbone network. During training, we combine the physical characteristics of the path data to explicitly guide the training direction. During inference, we combine the characteristics of the task to explicitly guide the generation direction, ensuring that the generated results are more consistent with the task information.
[0024] Next, since the input to the backbone network is the encoded obstacle point cloud p∈R during each inverse denoising process of the diffusion model, 60 Time step t, initial pose x0∈R 7 Target pose x N ∈R 7 Noisy path sequence X t ∈R 7×N , where 7 represents the number of robot joints and N represents the number of sequence frames;
[0025] Point cloud information, initial pose, and target pose are concatenated to form complete conditional information. This information is then used to generate dimensions through a shallow encoder. The encoder consists of two fully connected layers and one activation function layer, which projects the task information into a 512-dimensional latent space to obtain the task latent code c. Positional encoding is then used to add additional information to each element in the sequence. The index is encoded using sine and cosine functions, as shown in the following formula:
[0026]
[0027]
[0028] Where pos is the index and i is the dimension;
[0029] The input robot configuration sequence t is projected onto a 512-dimensional latent space using sine and cosine functions, and then superimposed with the conditional latent code c to obtain the conditional token z. tk ; then X t It is also projected into a 512-dimensional latent space by a single-layer shallow encoder and concatenated with the condition token to obtain... The inputs are fed into the backbone network, which consists of multiple cascaded Transformer coding layer modules. The inputs in each module are processed sequentially through a multi-head attention mechanism, a residual and batch normalization network, a feedforward neural network, and a residual and batch normalization network to ensure that the output dimension is the same as the input dimension.
[0030] Finally, retaining only the last N dimensions of information from the output, we use a decoder layer to reduce the dimensionality to the display robot joint sequence space, and output the denoised joint sequence predicted at that time step.
[0031] The pre-training phase of the Transformer-based diffusion model is implemented as follows:
[0032] First, at each time step t, for each training data X0, Gaussian noise is randomly added sequentially through t Markov chains. Get tag X t Subsequently, the backbone network will target X. t Perform predictions to reconstruct the original data X0, and define the loss function as follows:
[0033]
[0034] Where x0 is the original path without noise, T is the total diffusion step size, and x t The data is obtained by progressively adding Gaussian noise through a Markov chain with a diffusion step size of t, where c is the task corresponding to this path, and q is the data based on condition c and the original path with respect to x. t The true distribution of the data. Training is performed using a composite loss function, which consists of three components: configuration space loss, geometric task space loss, and collision loss.
[0035] L=λ joint *L joint +λ point *L point +λ collision *L collision
[0036]
[0037]
[0038]
[0039] L joint L1 loss representing rotation, L point L1 loss representing the point cloud, L collision λ represents the collision loss of the point cloud; FK is the forward kinematics modeling function, which can calculate the true Cartesian coordinates of the robot links based on joint rotation angles and the robot's forward kinematics model. joint , λ point , λ collision It represents the weight of the loss of each point cloud.
[0040] During training, for a given closed surface, the distance function obtains the minimum distance from the robot's point cloud to the surface. If the point cloud is inside the closed surface, or the distance to the closed surface is less than the safe distance, the distance to the closed surface is returned. The collision intensity between the robot and the obstacle is evaluated using the distance function.
[0041] Considering the inherent characteristics of the diffusion model, in the conditional token z tk After acquisition, there is a 10% probability that it will be randomly masked. Simultaneously, during training, time steps t (t = 1, 2, ..., T) need to be randomly selected, and x needs to be solved based on the formula. t It is then input into the backbone network for learning and noise reduction.
[0042] The innovation of this invention lies in:
[0043] First, this invention introduces a conditional diffusion model into the field of robot motion planning, and further improves the quality of motion generation by using motion feedback as a guide. Benefiting from our motion generation formula, RobotDiffuse can generate motion probabilistically based on the task and proposes motion feedback optimization, which promotes the natural generation of highly diverse and variable-length robot motions. Furthermore, the construction of a global planner can further improve the success rate and quality of generation.
[0044] To address the unique characteristics of robot motion tasks, namely variable length and multifaceted environments, we meticulously designed and combined CAE and transformer networks. This allows RobotDiffuse to adapt to any obstacle environment, moving towards the target space while avoiding obstacles. Compared to other benchmark generators, our method synthesizes high-quality motion sequences faster. It returns results in constant time for any robot type and obstacle environment.
[0045] Finally, this algorithm is suitable for inference computation in large-scale robotic factories. It can be combined for different robot task conditions, and based on shared Gaussian noise, it can perform inference only once, requiring only one sampling time. Attached Figure Description
[0046] The above and other objects and features of this disclosure will become clearer from the following description taken in conjunction with the accompanying drawings.
[0047] Figure 1 This is a schematic diagram of the RRT search tree according to the prior art;
[0048] Figure 2 This is a neural network architecture diagram illustrating an industrial robot motion planning method based on a diffusion model according to an embodiment of the present disclosure;
[0049] Figure 3 This is a schematic diagram illustrating a robot point cloud computing flowchart according to an embodiment of the present disclosure;
[0050] Figure 4 This is a schematic diagram comparing the AABB method and the OBB method according to embodiments of the present disclosure;
[0051] Figure 5 This is a schematic diagram of a point cloud showing an obstacle avoidance environment for a robot according to an embodiment of the present disclosure;
[0052] Figure 6 This is a schematic diagram illustrating the PointEnet model structure according to an embodiment of the present disclosure;
[0053] Figure 7 This is a schematic diagram showing the overall structure of a backbone network according to an embodiment of the present disclosure; Detailed Implementation
[0054] The following detailed embodiments are provided to aid the reader in gaining a comprehensive understanding of the methods, apparatus, and / or systems described herein. However, various changes, modifications, and equivalents of the methods, apparatus, and / or systems described herein will become apparent upon understanding this disclosure. For example, the order of operations described herein is merely illustrative and is not limited to those orders set forth herein, but may be changed as will become clear upon understanding this disclosure, except for operations that must occur in a specific order. Furthermore, for clarity and conciseness, descriptions of features known in the art may be omitted.
[0055] The features described herein may be implemented in different forms and should not be construed as limited to the examples described herein. Rather, the examples described herein are provided only to illustrate some of the many feasible ways of implementing the methods, apparatus, and / or systems described herein, which will become clear upon understanding the disclosure of this application.
[0056] As used herein, the term “and / or” includes any one of the associated listed items and any combination of any two or more.
[0057] Although terms such as “first,” “second,” and “third” may be used herein to describe various components, assemblies, regions, layers, or parts, these components, assemblies, regions, layers, or parts should not be limited by these terms. Rather, these terms are used only to distinguish one component, assembly, region, layer, or part from another. Thus, without departing from the teaching of the examples described herein, the first component, first assembly, first region, first layer, or first part referred to as the first component, first assembly, first region, first layer, or first part may also be referred to as the second component, second assembly, second region, second layer, or second part.
[0058] In the specification, when an element (such as a layer, region, or substrate) is described as being "on" another element, "connected to," or "bonded to" another element, the element may be directly "on" another element, directly "connected to," or "bonded to" the other element, or one or more other elements may be present in between. Conversely, when an element is described as being "directly on" another element, "directly connected to," or "directly bonded to" another element, no other elements may be present in between.
[0059] The terminology used herein is for the purpose of describing various examples only and is not intended to limit disclosure. Unless the context clearly indicates otherwise, the singular form is intended to include the plural form as well. The terms “comprising,” “including,” and “having” indicate the presence of the described features, quantities, operations, components, elements, and / or combinations thereof, but do not preclude the presence or addition of one or more other features, quantities, operations, components, elements, and / or combinations thereof.
[0060] Unless otherwise defined, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains upon understanding this disclosure. Unless expressly defined herein, terms (such as those defined in a general dictionary) shall be interpreted as having a meaning consistent with their meaning in the context of the relevant field and in this disclosure, and shall not be interpreted in an idealized or overly formalistic manner.
[0061] Furthermore, in the description of the examples, detailed descriptions of well-known related structures or functions will be omitted when it is believed that such detailed descriptions would lead to a vague interpretation of this disclosure.
[0062] This application generates high-quality and diverse robot motion sequences based on desired input conditions. The neural network comprises three main steps. First, a PointEnet point cloud encoder is pre-trained, and task conditions are embedded into the latent space based on this pre-trained encoder, allowing the model to effectively understand environmental features and task nature. Next, task information is encoded using the pre-trained PointEnet, and a Transformer-based diffusion model is used to add and remove noise from the task data, modeling the probability distribution of the physical relationships between robot links. Finally, based on the trained neural network model and incorporating minimal motion feedback, images are generated from random Gaussian noise, further improving generation speed and success rate. The entire network model can output the optimal path under specific task conditions.
[0063] The key point of this invention lies in transferring the traditional diffusion model to the field of robot motion planning and making improvements considering the special characteristics of robot paths. The following figure is a schematic diagram of the network structure, where the network... Figure 2 The connection is made in this way.
[0064] The model is input with a noisy robot configuration sequence of length N, t itself, and a condition code C. The condition code C contains the obstacle point cloud latent space Z encoded using PointEnet, and the initial configuration C. init Target configuration C goal Then, together with t, it is projected onto the condition token z. tk In each sampling step, the transformer decoder iteratively predicts to obtain the final clean motion. Figure 2 The right side of the middle section describes the sampling step. Given condition C, we sample random noise X along the dimension of the desired motion. T Then iterates T times. In each time iteration t, the diffusion model predicts clean samples and spreads the diffusion.
[0065] Robot state coding algorithm based on forward kinematics
[0066] The robot state coding algorithm flow of this invention is as follows: Figure 3 As shown.
[0067] Based on the foregoing description, this invention uses point clouds to accurately describe the robot's shape and performs rapid sampling on the robot's surface. In URDF, for each robot link, two mesh files are configured to describe the link's visual and collision attributes: Visual Mesh and Collision Mesh. Collision attributes describe the robot's minimum safe physical space. Typically, collision attributes and visual attributes are the same, but sometimes, for faster processing and simplified collision detection, the Collision Mesh is simplified to a simpler geometry that is easier to compute. For this invention, accurate collision detection is crucial for training; therefore, the Collision Mesh used in this invention accurately describes the robot's shape. This invention considers obtaining the 3D mesh of each link based on the Collision Mesh and acquiring the point cloud of the mesh surface. To improve computational efficiency, after the initial processing, the results are stored in a cache file. Subsequent reruns directly read the results from the cache file. During runtime, the processing results are stored in the GPU for reuse, thus significantly reducing bandwidth usage.
[0068] After obtaining the sampling results for each link of the robot, it is necessary to calculate the robot sampling results after rotation of a specific joint. First, obtain the robot's origin coordinates, align the robot's origin coordinates with the origin coordinates of the simulation environment, and determine the origin coordinate system {A0}. Then, construct the homogeneous transformation matrix between two adjacent links using the DH parameter method. By employing the chain rule of homogeneous coordinate transformation, a transformation formula is constructed between the coordinate systems of any two links. This transforms the relative position of a point on any link based on its own link coordinate system into its relative position based on the origin coordinate system {A0}. For example, the coordinates of the end effector of a robotic arm in its own coordinate system are... Transforming it to the origin coordinate system can be done by Therefore, after determining the sequence of each joint of the robot, the transformation matrix T can be determined, and the coordinates of any link on the robot relative to the origin coordinate system {A0} can be calculated. The point cloud result of the rotated robot can be accurately obtained, which can be further used to evaluate the point cloud difference and motion speed between two adjacent robot postures, and can also be used for collision evaluation between the robot and obstacles.
[0069] Path data collision detection module
[0070] Collision detection algorithms need to accurately determine whether two or more objects will intersect in the shortest possible time. Axis-aligned bounding box (AABB) technology is widely used due to its high computational efficiency. AABB is a simple geometric method that uses a cuboid to wrap multiple 3D models and detects collisions by checking for overlaps along the X, Y, and Z axes. The formula is as follows:
[0071] I(A,B)=(Ax min ≤Bx max )∧(Ax max ≥Bx min )∧(Ay min ≤By max )∧(Ay max ≥By min )∧(Az min ≤Bz max )∧(Az max ≥Bz min (2.1)
[0072] Where x min and x max Represents the minimum and maximum boundaries of the cuboid on the x-axis, y min and y max z min and z max Similarly, represents its boundaries on the y-axis and z-axis. As shown in the above formula, when the overlap on all three axes is satisfied, it indicates that the two objects collide; if at least one condition is not met, it indicates that the objects do not intersect and there is no risk of collision. While this method is efficient, it has many limitations, mainly false positive collisions. False positive collisions refer to objects not actually colliding, but being detected as colliding due to the limitations of the detection method. This means that collision detection is inaccurate, reducing the solution space for non-collision feasible solutions. On the one hand, the shape of the robotic arm varies, and using a cuboid to enclose it may result in large gaps; on the other hand, since the AABB method is aligned with the coordinate axes, the rotation of the robot will cause the links to tilt, making its enclosure box larger, further causing false positive collisions. Based on the AABB method, a more accurate collision detection method is the Oriented Bounding Box (OBB). This method finds the smallest rectangle that encloses the object, and the enclosure box does not change during the object's rotation, rotating with the object. Figure 4The diagram shows a comparison of the bounding boxes of the AABB and OBB methods. It can be seen that the OBB method has higher collision accuracy than the AABB method, but its calculation process undoubtedly requires more memory space and computation time, and it does not solve the problem of bounding box gaps caused by polygons.
[0073] The Separating Axis Theorem (SAT) is an algorithm for accurately determining whether two objects intersect. It applies not only to rectangles but also to convex polygons. Its principle is relatively simple: if there exists a straight line that separates two polygons, it proves that the two polygons do not intersect. This method is suitable for situations with many objects but few collisions, but it becomes less efficient with a large number of edges. Typically, in practice, the OBB method is used first for coarse collision detection, followed by the SAT method for precise collision detection. However, neither of these methods can assess collision strength. Some advanced physics engines perform precise calculations based on geometry and position, but this is not suitable for use during neural network training.
[0074] Considering both efficiency and accuracy, this invention ultimately employs a sampling-based collision detection method. By pre-sampling the surface of the robot links, a collision is determined by whether the sampled points appear inside obstacles, and the collision depth is calculated based on the distance between the sampled points and the obstacle surface. This method is probabilistically complete; given a sufficient number of sampled points, the collision result can be guaranteed to approximate the original result infinitely. Furthermore, considering the similarity of robot poses in adjacent frames, interval frame detection can be used to reduce the detection frequency, thereby reducing the detection time.
[0075] Typically, a safety distance is considered near the robot's links to ensure a certain distance between the robot and obstacles. For example, the robot should stop operating when the user is within the safety distance from the obstacle. Therefore, this invention also considers a safety distance. When a sampling point is outside the obstacle but its distance from the obstacle surface is less than the safety distance, a collision is still considered, and the collision intensity is the safety distance minus the distance from the sampling point to the obstacle surface. If any sampling point detects a collision, it is determined that a collision has occurred between the robot and the obstacle, and the collision intensity is the sum of the collision intensities of all sampling points and the obstacle.
[0076]
[0077] This invention constructs a distance function (DF). During training, for a given closed surface, the DF can obtain the minimum distance from the robot's point cloud to the surface. If the point cloud is inside the closed surface, it returns a negative value.
[0078] Point cloud coding design module for obstacle environment
[0079] We consider using point clouds to describe obstacle environments. The advantage of point clouds is that they can ignore texture characteristics, which are not important in obstacle avoidance, preventing the model from learning strange information. They also offer high flexibility, accurately describing obstacle shapes. Most importantly, the advantage of using point clouds is that the model developed in this invention can be trained on our own dataset and can be transferred from point clouds of any scene to any training set and real-world tasks, solving complex planning problems. Figure 5 This diagram illustrates the point cloud representation of this dataset. For each planning task, green point clouds represent obstacles, red point clouds represent the initial robot pose for the current task, and blue point clouds represent the target robot pose for the current task.
[0080] Point cloud data possesses many characteristics, among which rotation invariance and permutation invariance are two of the most important. Rotation invariance means that translation and rotation in three-dimensional space do not change the properties of the point cloud data itself; it still represents the same object after translation and rotation. Permutation invariance means that changes in the arrangement order of points in the point cloud data do not affect the shape and features of the object it describes. The disordered and unstructured nature of point clouds differs from convolutional processing in two-dimensional images. Therefore, well-established networks in two-dimensional detection cannot be directly used to process point cloud data. Furthermore, the representation of point clouds directly affects the performance of the model, making it essential to understand the representation of point cloud data. Considering robot motion planning tasks, if the point cloud only contains obstacle information, it should not possess rotation invariance; if the point cloud contains both obstacle and robot information, it possesses rotation invariance. Therefore, a suitable point cloud encoder needs to be selected based on the characteristics of the point cloud. In the model of this invention, the output of the point cloud encoder is used as the input of the path generator. Its ability to understand and generalize point cloud information directly affects the performance of the entire model. Therefore, choosing a high-performance point cloud encoder is the cornerstone of the entire model.
[0081] Currently, the research community has developed many excellent deep network models for processing point clouds, playing a crucial role in applications such as point cloud classification and segmentation. PointNet, PointNet++, and DGCNN are mainstream models in this field. We did not choose commonly available point cloud encoders, although they can effectively consider both local and global features. However, we observed three core problems that prevented us from directly applying state-of-the-art point cloud encoders to solve our problem. First, these networks lack unsupervised training capabilities, and training the point cloud encoder together with a diffusion model results in significant information loss. Second, due to its network architecture, DGCNN is only suitable for rotation-invariant point clouds: if only obstacle positions are encoded, the point cloud lacks rotation invariance; if both obstacle positions and robot shapes are encoded simultaneously, the number of points increases dramatically, doubling the encoding time. Third, the multi-layered convolutional structure of point cloud encoders makes their encoding time unsuitable for real-time scenarios, impacting generation efficiency. Therefore, we ultimately chose a basic autoencoder to encode the obstacle point cloud. Autoencoders are self-supervised networks that process input data sequentially through an encoder and a decoder, demonstrating powerful capabilities in data compression, feature extraction, and data reconstruction. The encoder maps the input data to a low-dimensional latent space representation, while the decoder attempts to reconstruct this low-dimensional representation back to the original input data. This structure allows autoencoders to learn compressed representations of the input data while preserving key features. After training, the encoder can be extracted separately to compress the input data into the latent space, learning deep features that are highly valuable for subsequent machine learning tasks. The data processing from the input layer to the intermediate layer is called data encoding, and the process from the intermediate layer to the output layer is called data decoding. A key characteristic of autoencoders is that the feature dimension of the output layer must equal the feature dimension of the input layer, and they retain as much information as possible from the original data at each layer. This simple strategy maximizes the preservation of information from the source data while reducing its dimensionality. However, autoencoders also have drawbacks. For example, when data distribution is uneven or the amount of data is insufficient, their learning ability may be poor, or they may overfit.
[0082] Currently, four main types of autoencoders have been developed: Denoising Autoencoder (DAE), Sparse Autoencoder (SAE), Variational Autoencoder (VAE), and Contractive Autoencoder (CAE). In practical applications, the characteristics of the scene must also be considered. For example, in this scenario, we need to model obstacle point clouds, focusing on the overall edge shape and position information. If changes in the positions of a small number of edge points do not affect the overall characteristics, then such changes should not affect the core output, meaning the model requires higher robustness against perturbations. Based on these observations, we adopted CAE as the point cloud encoder for self-training. CAE mainly adds a penalty term to the traditional loss function, achieving a local space contraction effect. The advantage of this is that it can suppress perturbations in all directions of the training samples, better learning the robust feature space required for planning and control. Typically, the loss function after penalizing the weights is:
[0083]
[0084] This is a direct multiplication of the value of W. CAE optimizes the above expression by replacing the regularization term on the right-hand side of the equals sign (used to penalize the coefficients and prevent overfitting) with the form of a Jacobian matrix under the F-norm, resulting in the following formula:
[0085]
[0086] J f (x) is the Jacobian matrix of the hidden layer output values with respect to the weights. This represents the sum of the squares of the F-norms of the Jacobian matrix, i.e.:
[0087]
[0088] This term, a penalty term proposed by the authors, is used because a relatively small first derivative indicates a smoother hidden layer representation corresponding to the input signal. Therefore, when the input changes, the hidden layer representation will not change significantly. This makes the intermediate features learned by the autoencoder insensitive to input changes, i.e., insensitive to perturbations. Thus, CAEs are more likely to learn robust features.
[0089] The overall structure diagram of PointEnet ultimately adopted in this invention is as follows: Figure 6As shown in the figure, unlike common CAE networks that maintain a single-layer structure, we use multiple fully connected layers and activation functions to deepen the network. Point cloud data actually contains rich information, which is crucial. We then construct a PointDnet with a completely opposite structure for unsupervised self-training.
[0090] Due to the network structure of PointEnet, the number of input point clouds must be fixed. Therefore, we adopted the farthest point sampling algorithm mentioned earlier. Since the number and shape of obstacles are variable, we first sample a sufficient number of points on the obstacle surface using a random sampling method, thus obtaining a full point cloud. Next, we downsample the full point cloud to a fixed number of points using a downsampling method. Downsampling has the advantages of accelerating point cloud compression and ensuring the uniformity of the point cloud. We adopted the farthest point sampling strategy. Farthest point sampling (FPS) is a commonly used sampling method in point cloud processing, computer graphics, and machine learning. This method aims to select a smaller subset from a large dataset while preserving the structural features of the original dataset as much as possible. Farthest point sampling is particularly suitable for scenarios that require reducing the number of data points to improve processing speed or reduce computational complexity, while not wanting to lose too much key information from the original dataset. It is widely used in common point cloud encoders such as DGCNN. The basic idea of farthest point sampling is to select a starting point from the dataset and then iteratively select the point farthest from the currently selected point set. This method ensures that sampling points are relatively uniformly distributed in space, thereby preserving the geometric structure of the dataset to the greatest extent. This invention selects a representative subset from the full point cloud based on a farthest-point sampling strategy, further guaranteeing the accuracy and efficiency of the algorithm.
[0091] PointEnet takes an obstacle environment as input and learns obstacle features through unsupervised learning. It then uses common reconstruction losses and regularization of encoder parameters to compress the obstacle point cloud into a latent space Z. To improve generalization, these parameters are frozen after training and are not optimized in subsequent training.
[0092] Diffusion Model Design
[0093] RobotDiffuse takes as input obstacle environment code Z, initial configuration Cinit and Cgoal, and predicts a target path X. The structural design of the diffusion model and how to connect it with the robot's kinematics model are core aspects of this invention. First, it's necessary to clarify the data type to be processed. Path data is a two-dimensional array in the form of (time series length, number of axes). The diffusion model was initially applied to image processing and achieved great success. Furthermore, path data is somewhat similar to images; the angle of a certain axis at a given moment is strongly correlated with the angles of its preceding and following moments and adjacent axes. Transferring the diffusion model to the path generation task of industrial robots holds great promise. The diffusion model itself relies on a backbone network to denoise the data. It can be said that the backbone network determines the upper limit of the model's generation capability; therefore, a suitable backbone network needs to be selected based on the characteristics of the scene to stably generate high-quality and diverse samples.
[0094] By analyzing and considering the characteristics of robot path data itself, this study proposes to introduce the Transformer to replace the traditional backbone network, making it fully adaptable to industrial robot path generation tasks. Simultaneously, taking into account the characteristics of robot path data and the generation features of the diffusion model, the training process incorporates the physical characteristics of the path data to explicitly guide the training direction, ensuring that the generated results are safer and fit the optimal path. During inference, the generation direction is explicitly guided by the task characteristics to ensure that the generated results better match the task information. This ensures the stability of the generated results.
[0095] After considering the adjacency relationship of the industrial robot path information, this invention adopts a diffusion model backbone model with the Transformer encoder as the core. This module has the characteristics of strong modeling ability, high versatility and low parameter quantity. Figure 7 The middle section represents the overall architecture of the backbone network.
[0096] In each inverse denoising process of the diffusion model, the input to the backbone network is the obstacle point cloud p∈R encoded by PointEnet. 60 Time step t, initial pose x0∈R 7 Target pose x N ∈R 7 Noisy path sequence X t ∈R 7×NWhere 7 represents the number of robot joints and N represents the number of sequence frames. First, the point cloud information, initial pose, and target pose are concatenated into complete conditional information. This is then generated using a shallow encoder, consisting of two fully connected layers and one activation function, which projects the task information into a 512-dimensional latent space, yielding the task latent code c. Since self-attention mechanisms do not consider element order, in time-series data processing, to prevent sequential text processing, positional encoding is typically used to add extra information to each element in the sequence, allowing the model to utilize the element's positional information. To avoid directly adding excessively large indices to the sequence, which could lead to training instability, a common method is to encode the indices using sine and cosine functions, as shown in the following formula:
[0097]
[0098]
[0099] Here, pos is the index and i is the dimension. Combining these periodic functions allows us to generate a unique vector for each position, ensuring that the values are within a certain range, thus preventing the index vector from becoming too large when encoding excessively long sequences.
[0100] Position encoding in temporal processing enables the model to understand and compare the positional information of each signal within the sequence. Besides index positional information, the input sample in this invention is a complete robot sequence containing noise at time step t, meaning the time step t is also important positional information. By projecting the time step t onto a 512-dimensional latent space using sine and cosine functions and superimposing it with the conditional latent code c, the conditional token z is obtained. tk This step helps the diffusion model understand the position of the current denoising step within the entire backchain, thereby adjusting the predicted noise level. Then X... t It is also projected into a 512-dimensional latent space by a single-layer shallow encoder and concatenated with the condition token to obtain... The backbone network consists of N cascaded Transformer encoding layer modules (N=4 in this model). The input to each module is processed sequentially through a multi-head attention mechanism, a residual and batch normalization network, a feedforward neural network, and another residual and batch normalization network to ensure the output dimension is the same as the input dimension. The Transformer encoding layer modules fully understand the spatial and joint information of the robot sequence. Finally, only the last N dimensions of information are retained from the output, and a decoder layer reduces the dimensionality to the display robot joint sequence space, outputting the predicted, denoised joint sequence at that time step. By replacing the traditional U-Net model with a Transformer encoder, the coherence of the output sequence can be further improved, and the model's ability to understand and generate complex scenes can be enhanced.
[0101] Pre-training phase of diffusion model
[0102] First, the inherent principles of the diffusion model determine that it is a self-supervised model. During the training phase, at each time step t, for each training data X0, Gaussian noise is randomly added sequentially through t Markov chains. Get tag X t Subsequently, the backbone network will target X. t The original data X0 is then predicted and reconstructed. In the field of image generation, a common practice is to have the backbone network predict the noise ∈ [0, 0] during each denoising process. θ (x t ,t), and by designing the loss function and adjusting the network parameters, the predicted noise ∈ θ (x t ,t) Fit the true noise ∈ t This enables the backbone network to ultimately predict the noise probability distribution from noisy signals, and the loss function is defined as:
[0103]
[0104] In this scenario, although noise is being predicted, what is actually being predicted is x. t-1 The distribution of x simplifies the problem, allowing the model to focus on the complex information inherent in the signal itself, and also gives the model better generalization ability. T The final denoised result will correspond to multiple x0 values. However, the problem with this approach is that the model itself may not explicitly label known or unknown content when learning the representation. It is worth noting that this invention, considering the special characteristics of the robot's configuration space, selects the predicted signal itself to optimize the objective based on the physical properties inherent in the robot's path sequence; that is, the output is the predicted denoised signal, and the loss function is readjusted as follows:
[0105]
[0106] Where x0 is the original path without noise, T is the total diffusion step size, and x t The data is obtained by progressively adding Gaussian noise through a Markov chain with a diffusion step size of t, where c is the task corresponding to this path, and q is the data based on condition c and the original path with respect to x. tThe true distribution of the data. This design is beneficial for combining with real-world application scenarios. By adjusting the loss function, more weight can be given to the clearer data loss terms, allowing the deep model to understand signal features more deeply. RobotDiffuse uses a composite loss function for training, consisting of three components: configuration space loss and geometric task space loss (for forcing accurate predictions) and collision loss (for preventing catastrophic behavior).
[0107] L=λ joint *L joint +λ point *L point +λ collision *L collision (2.10)
[0108]
[0109]
[0110]
[0111] L joint L1 loss represents the rotation loss. point L1 loss representing the point cloud, L collision The collision loss represents the point cloud. FK is the forward kinematics modeling function, which calculates the true Cartesian coordinates of the robot links based on joint rotation angles and the robot's forward kinematics model. λ joint、 λ point、 λ collisionThe weights of the point cloud losses are used in previous work
[100] . Geometric task space loss can effectively capture the cumulative error of the kinematic chain and quantify the positional deviation caused by the shape of the robot links, which can better assist in fitting the original sequence information. The collision loss is calculated based on how many robot points are inside the obstacle surface. In the previous section, we constructed a distance function (DF). During training, for a given closed surface, DF can obtain the minimum distance from the robot point cloud to the surface. If the point cloud is inside the closed surface, or the distance to the closed surface is less than the safe distance, it returns the distance to the closed surface. We use this function to evaluate the collision intensity between the robot and the obstacle. In fact, through the operation of forward kinematics (FK), we can also obtain information such as end velocity and angular velocity. Based on this information, we can further improve the loss function. For example, during the movement, the robot's speed and acceleration should show a smooth change, which can reduce the wear on the robot. The loss function can penalize the robot's speed change behavior. However, including too much information in the loss function is not conducive to overall direction optimization. Considering that velocity information can be further optimized later through spline curves and other methods, the loss function of this invention only considers the core position loss and catastrophic collision information, maintaining a relatively simple structure. The loss function also has a relatively intuitive and clear physical meaning.
[0112] In addition, considering the inherent characteristics of the diffusion model, the following two training methods are employed to improve the model's robustness and generalization ability. Since the model in this invention uses a classifier-free approach, in order to simultaneously train both the conditional and unconditional models, the conditional token z... tk After acquisition, there is a 10% probability that the data will be randomly masked, which helps improve the model's robustness and generalization ability when processing sequences. Furthermore, considering that time step t is also an important component of the input signal, in addition to sufficiently shuffling the training dataset, time steps t (t = 1, 2, ..., T) need to be randomly selected during training, and x needs to be solved based on the formula. t The data is then fed into the backbone network for noise reduction training. This ensures that the input data for all categories is sufficiently shuffled to avoid unnecessary training and fitting problems caused by correlations between training data.
[0113] The final pre-training process is as follows:
[0114]
[0115] Inference phase of diffusion model
[0116] During the inference phase, this invention employs a "classifier-free" condition generation method, directly generating conditions based on a pre-trained diffusion model. In the inference process, the robot's task information is used as the condition signal y, and X is sampled from standard Gaussian noise. T ∈R 7×N ~N(0,I) serves as the initial variable for the inverse denoising process of the diffusion model, and T denoising processes are performed to gradually remove the noise contained in the variables, ultimately obtaining a high-quality sample without noise. This high-quality sample is characterized by being collision-free and close to the target, allowing the robot to start moving from the initial pose, avoid obstacles in space, and stop near the target position. Unlike other generation tasks, robot path generation requires a stronger fit to the target task. For example, in traditional path planning generation, the initial node must be the robot's initial pose, and if the generated node appears within a certain range of the target pose during the generation process, it is considered a successful generation. However, no matter how good the fitting effect is, the initial and final poses of the final path generated by deep learning-based path planning algorithms will always deviate from the task target. A simple measure is to directly splice the initial and final poses on both sides of the generated path sequence and use interpolation to fill in the missing poses, but this strategy also has a drawback: there is a transition at the splicing point between the simulated pose and the actual generated pose. Considering that the diffusion model directly outputs a motion sequence, rather than encoding the motion sequence in the latent space. Therefore, given a task, when sampling the model, the noise term determines the denoising direction of the motion sequence in each iteration. Thus, we can incorporate physical relationships into the denoising process to guide the generation process, ensuring the trajectory maintains kinematic validity; that is, the initial and final motion must be close to the task pose, and joint rotation poses must be within limits. Specifically, at each step of the denoising time, we modify the predicted intermediate trajectory Xt at the t-th diffusion time step. We propose a "noise interpolation" method to control the initial and final poses of the robot motion sequence, i.e., covering the initial and final poses of the task with the initial and final poses of the task. The prefix and suffix frames. This encourages motion generation to remain consistent with the original input, solves the intermediate motion problem, and enables the network to produce a smooth, collision-free trajectory between the initial-target joint pairs.
[0117] Furthermore, this algorithm is suitable for inference computation in large-scale robotic factories. It can be combined for different robot task conditions, and based on shared Gaussian noise, it can perform inference only once, requiring only one sampling time.
[0118] While some embodiments of this disclosure have been shown and described, those skilled in the art will understand that modifications may be made to these embodiments without departing from the principles and spirit of this disclosure, which are defined by the claims and their equivalents.
Claims
1. A motion planning method for industrial robots based on a diffusion model. First, a pre-trained point cloud encoder is used. This encoder includes a point cloud encoding design module for the obstacle environment. It inputs the obstacle environment, learns obstacle features through unsupervised learning, and uses reconstruction loss and regularization of encoder parameters to compress and embed the obstacle point cloud of the task conditions into the latent space Z. It also constructs a robot state encoding algorithm based on positive kinematics and a collision detection module for path data. Next, task information is encoded based on the pre-trained point cloud encoder. The task data is then denoised and denoised using a Transformer diffusion model, and the probability distribution of the physical relationships between robot links is modeled. Finally, based on the trained neural network model and combined with motion feedback, an image is generated from random Gaussian noise. The final neural network model outputs the optimal path; The robot state encoding algorithm based on forward kinematics uses point clouds to describe the robot's shape and performs rapid sampling on the robot's surface. For each robot link, two mesh files are configured to describe the link's visual and collision attributes: Visual Mesh and Collision Mesh. The algorithm considers obtaining the 3D mesh of each link based on the Collision Mesh and acquiring the point cloud of the mesh surface. After the initial processing, the results are stored in a cache file. Subsequent runs directly read the results from the cache file. During runtime, the processing results are stored in the GPU for reuse. After obtaining the sampling results of each link of the robot, the sampling results of the robot after joint rotation are calculated: First, the origin coordinates of the robot are obtained, the origin coordinates of the robot are aligned with the origin coordinates of the simulation environment, and the origin coordinate system {A0} is determined. Then, the homogeneous transformation matrix of two adjacent links is constructed using the DH parameter method. By using the chain rule of homogeneous coordinate transformation, a transformation formula between the coordinate systems of any two links is constructed, which transforms the relative position of a point on any link based on its own link coordinate system into the relative position based on the origin coordinate system {A0}. The collision detection module for the path data adopts a sampling-based collision detection method. It samples the surface of the robot link in advance, determines whether a collision has occurred by judging whether the sampling point appears inside the obstacle, and calculates the collision depth based on the distance between the sampling point and the obstacle surface. Specifically, considering a safety distance, when a sampling point is outside the obstacle but the distance from the obstacle surface is less than the safety distance, it is judged as a collision, and the collision intensity is the safety distance minus the distance from the sampling point to the obstacle surface; if any sampling point is detected as a collision, it is determined that the robot and the obstacle have collided, and the collision intensity is the sum of the collision intensities of all sampling points and the obstacle. D j ( The distance function () is used during training to obtain the minimum distance from the robot's point cloud to a given closed surface. If the point cloud lies within the closed surface, a negative value is returned. j ( ) is the collision function. When the calculation result is greater than 0, it indicates that a collision has occurred. The calculation result also expresses the collision intensity.
2. The industrial robot motion planning method based on a diffusion model as described in claim 1, characterized in that, The point cloud encoding design module for the obstacle environment uses CAE as the point cloud encoder for self-training. The loss function after penalizing the weights is: in It is the Jacobian matrix of the hidden layer output values with respect to the weights. This represents the sum of the squares of the F-norms of the Jacobian matrix, i.e.: Since the number and shape of obstacles are uncertain, a sufficient number of points are first collected on the surface of the obstacles based on random sampling to obtain a full point cloud; then, the full point cloud is downsampled to a fixed number based on downsampling; finally, the farthest point sampling strategy is adopted. The design method for the Transformer-based diffusion model is as follows: First, we need to clarify the data types that need to be processed: the path data is a two-dimensional array in the form of (time series length, number of axes). We introduce Transformer as the backbone network. During training, we combine the physical characteristics of the path data to explicitly guide the training direction. During inference, we combine the characteristics of the task to explicitly guide the generation direction, ensuring that the generated results are more consistent with the task information. Next, since the backbone network's input to each inverse denoising process in the diffusion model is the encoded obstacle point cloud, Time step t, initial pose Target pose Noisy path sequences , where 7 represents the number of robot joints and N represents the number of sequence frames; Point cloud information, initial pose, and target pose are concatenated to form complete conditional information. This information is then used to generate dimensions through a shallow encoder. The encoder consists of two fully connected layers and one activation function layer, which projects the task information into a 512-dimensional latent space to obtain the task latent code c. Positional encoding is then used to add additional information to each element in the sequence. The index is encoded using sine and cosine functions, as shown in the following formula: Where pos is the index and i is the dimension; The input robot configuration sequence is projected onto a 512-dimensional latent space using sine and cosine functions, and then superimposed with the conditional latent code c to obtain the conditional token. ;then It is also projected into a 512-dimensional latent space by a single-layer shallow encoder and concatenated with the condition token to obtain... The input then enters the backbone network, which consists of multiple cascaded Transformer coding layer modules. The input in each module is processed sequentially through a multi-head attention mechanism, a residual and batch normalization network, a feedforward neural network, and a residual and batch normalization network to ensure that the output dimension is the same as the input dimension. Finally, retaining only the last N dimensions of information from the output, we use a decoder layer to reduce the dimensionality to the display robot joint sequence space, and output the denoised joint sequence predicted at that time step t. .
3. The industrial robot motion planning method based on a diffusion model as described in claim 2, characterized in that, The pre-training phase of the Transformer-based diffusion model is implemented as follows: First, at each time step t, for each training data... Gaussian noise is randomly added sequentially through a Markov chain of iteration t. Get tags Subsequently, the backbone network will... Perform predictions to reconstruct the original data And define the loss function as: Where x0 is the original path without noise, T is the total diffusion step size, and x t The data is obtained by progressively adding Gaussian noise through a Markov chain with a diffusion step size of t, where c is the task corresponding to this path, and q is the data based on condition c and the original path with respect to x. t The true distribution; training is performed using a composite loss function, which consists of three components: configuration space loss, geometric task space loss, and collision loss. L1 loss representing rotation, The L1 loss representing the point cloud, Collision loss representing point cloud; FK is the forward kinematics modeling function, which can calculate the true Cartesian coordinates of the robot links based on joint rotation angles and the robot's forward kinematics model; λ joint、 λ point、 λ collision These are the weights of the point cloud losses; During training, for a given closed surface, the distance function obtains the minimum distance from the robot's point cloud to the surface. If the point cloud is inside the closed surface, or the distance to the closed surface is less than the safe distance, the distance from the point cloud to the closed surface is returned, and the collision intensity between the robot and the obstacle is evaluated using the distance function. Based on the inherent characteristics of the diffusion model, in the case of condition tokens After acquisition, there is a 10% probability that it will be randomly masked. Additionally, during training, a random time step t needs to be selected. And solve based on the formula. It is then input into the backbone network for learning and noise reduction.
Citation Information
Patent Citations
Industrial robot obstacle avoidance path planning method based on machine learning
CN109960880A
Industrial robot rapid path planning realized by two-way RRT-connect algorithm fusing process knowledge
CN115922716A