Industrial robot motion planning method based on diffusion model
Through the industrial robot motion planning method based on diffusion model, using neural networks and motion feedback to generate high-quality paths, solving the problem of path generation in the existing technology in low efficiency and complex environments, and achieving fast and effective robot motion planning.
Patent Information
- Application Number
- CN202411540935.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2024-12-31
- Estimated Expiration
- 2044-10-31
AI Technical Summary
The existing path planning algorithm is inefficient in industrial robot scenarios and cannot meet the needs of rapid planning. It is especially difficult to generate feasible paths within a specified time in complex environments. As the number of robot axes increases, the solution time will increase geometrically.
Using the motion planning method of industrial robots based on diffusion model, we construct a neural network containing pre-trained point cloud encoder and Transformer diffusion model, use motion feedback guidance to generate paths, combine CAE and Transformer for network improvement, and optimize the loss function to understand joint sequences. Meaning, avoid catastrophic collisions and output the optimal path under specific task conditions.
It realizes the rapid generation of high-quality, collision-free robot motion paths in complex environments, adapts to any obstacle environment and robot types, significantly improves the generation success rate and speed, and is suitable for inference calculations in large-scale robot factories.
Smart Images

Figure CN119217373A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computers, and more specifically, to an industrial robot motion planning method based on a diffusion model. Background Art
[0002] Obstacle avoidance path planning has always been a highly concerned issue in the field of robot control. A good and effective obstacle avoidance path planning algorithm can save the robot's working time, reduce mechanical wear, and enable the robot to operate safely in various working environments. Path planning technology in mobile robot navigation technology has always been highly valued by researchers in the field of robotics. Mobile robot path planning methods usually simplify the mobile robot into a mass point and impose kinematic constraints on the mass point. Generally, only three degrees of freedom need to be planned. In order to apply the path planning method of the mobile robot to the robotic arm, the robotic arm can be mapped from Cartesian space to configuration space (also called joint space), that is, the robotic arm can be simplified to a joint vector in the joint space. Robot path planning is carried out in the robot configuration space. The more axes the robot has, the greater the degrees of freedom, the larger the configuration space, and the higher the planning difficulty. More complex collaborative robots or manipulators have higher degrees of freedom. If traditional algorithms are used, the planning time complexity will be extremely large.
[0003] One of the core basic principles of the RRT algorithm is random sampling. It can quickly explore unknown space and generate a feasible obstacle avoidance path based on the current environmental information. It is widely used in the path planning of drones 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 robotic arms in high-dimensional complex environments. LaValle first proposed the RRT algorithm, introduced the principles and applications of the RRT algorithm, and explored the advantages of the RRT algorithm in high-dimensional space path planning. At the same time, the performance of the RRT algorithm was experimentally verified, and the optimization of the algorithm was discussed. The schematic diagram of the RRT algorithm is shown below. Figure 1 shown.
[0004] Karaman proposed the RRT* algorithm, which reselects the parent node and child node of the current node within a certain range through the strategy of reselecting the parent node and pruning optimization, so as to obtain the asymptotically optimal result. However, the disadvantage is that the search time changes with the complexity of the environment. In a complex environment, there is a certain probability that the planning task cannot be completed within the specified time. Kuffne et al. proposed the RRT-Connect algorithm, which introduced the Connect heuristic technology on the basis of bidirectional search. The simulation comparison experiment showed that the algorithm can plan a feasible path faster than the RRT algorithm. Gammel et al. proposed the Informed RRT* algorithm, and found that if the RRT* algorithm can find an initial path, then the optimal path can be found within the ellipse with the initial node and the target node as the focus, and proved that if this information is used for prior sampling, the convergence speed of the RRT* algorithm can be improved. Dai et al. proposed an RRT* path planning strategy based on the direct connection strategy, combining the target biased RRT, B-RRT and RRT* to achieve optimization, and achieve the generation of collision-free paths with shorter lengths and wider gaps.
[0005] This sampling-based algorithm still faces the trade-off between effect and response speed. The faster it responds to external changes, the worse the quality of the generated path will be. Sometimes, even a feasible path cannot be found within the specified few seconds. And in the expectation of this algorithm, the entire process only undergoes a few replannings, which cannot meet the high-speed performance requirements. And this method is only feasible in the mobile robot scenario. In the industrial robot scenario, as the number of robot axes increases, the solution time will increase geometrically.
[0006] Although traditional path planning algorithms can generally achieve ideal results as long as they are used for a long enough time, they cannot meet the needs of rapid planning in real scenarios and are subject to many restrictions in planning. The present invention designs and implements industrial robot motion planning technology based on a diffusion model to create a path planning system that can adapt to any environment and robot, thereby laying a solid foundation for the field of robot collaboration and robot safety. In a multi-obstacle environment, based on specific tasks and specific environments, a collision-free path from the initial posture to the target posture is planned to ensure that the robotic arm completes the task with quality and quantity. And provide the function of robot visualization on the cloud. At the same time, not only use the existing network structure, but also explore how to improve and innovate the network, specifically for robot planning tasks, and use the characteristics of robot movement to achieve better results. Summary of the invention
[0007] The purpose of the embodiments disclosed herein is to provide an industrial robot motion planning method based on a diffusion model. The main research goal of the present invention 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, so as to guide the generation direction with motion feedback, and create a path planning system that can adapt to any environment and robot, thereby laying a solid foundation for the field of robot collaboration and robot safety. In a multi-obstacle environment, based on a specific task and a specific environment, a collision-free path from the initial position to the target position is planned to ensure that the robot arm completes the task with quality and quantity.
[0008] In general, a method for motion planning of industrial robots based on a diffusion model is provided. Aiming at the low efficiency of existing path planning algorithms in industrial scenarios, a path planning algorithm based on a diffusion model is proposed, and the robot path planning task is converted into a generation task. The diffusion model is used to learn the probability distribution from the task to the path, and guided by motion feedback, a highly diverse robot motion is naturally generated. Combined with the characteristics of the industrial robot path planning task, the diffusion model is improved in the network, and CAE and Transformer are migrated to this scenario to learn the robot path task representation. At the same time, the algorithm in this paper 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 in this paper shows obvious advantages in dealing with complex path planning tasks.
[0009] The neural network is constructed in three main steps: first, a point cloud encoder is pre-trained, and the point cloud encoder includes a point cloud encoding design module for the obstacle environment, which realizes the input of the obstacle environment, and the obstacle features are learned unsupervisedly. The common reconstruction loss and the regularization of the encoder parameters are used to compress and embed the obstacle point cloud of the task conditions into the latent space Z, and a robot state encoding algorithm for forward kinematics and a collision detection module for path data are constructed; then, task information is encoded based on the pre-trained point cloud encoder, and task data is denoised and restored based on the diffusion model of Transformer, and the data probability distribution of the physical relationship between the robot links is modeled; finally, based on the trained neural network model, an image is generated from random Gaussian noise in combination with a small amount of motion feedback, so as to further improve the generation speed and success rate;
[0010] Finally, the neural network model can output the optimal path under specific task conditions.
[0011] The robot state encoding algorithm of forward kinematics uses point cloud to describe the shape of the robot and performs fast sampling on the robot surface. For each robot link, two Mesh files are configured to describe the visual attributes and collision attributes of the link, namely Visual Mesh and Collision Mesh. Consider obtaining the 3D mesh of each link based on Collision Mesh, and obtain the point cloud of the mesh surface. After the initial processing, the processing results are stored in the cache file. Each subsequent re-run directly reads the results from the cache file. During operation, the processing results are saved in the GPU for repeated use, thereby greatly reducing bandwidth.
[0012] After obtaining the sampling results of each link of the robot, calculate the sampling results of the robot after the specific joint is rotated: first obtain the origin coordinates of the robot, align the origin coordinates of the robot and the origin coordinates of the simulation environment, and determine the origin coordinate system {A0}, and construct the homogeneous transformation matrix of two adjacent links through the DH parameter method Through the chain rule of homogeneous coordinate transformation, the transformation formula between the coordinate systems of any two links is constructed, and the relative position of a point on any link based on its own link coordinate system is transformed 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, which samples the surface of the robot link in advance, determines whether a collision occurs by judging whether the sampling point appears inside the obstacle, and calculates the collision depth according to the distance between the sampling point and the obstacle surface;
[0014] Specifically, a safety distance is considered. When a sampling point is outside an 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 collide, and the collision intensity is the sum of the collision intensities of all sampling points and the obstacle.
[0015]
[0016] D j (x) is the distance function. During the training process, for a given closed surface, the minimum distance from the robot point cloud to the surface can be obtained. If the point cloud is within the closed surface, a negative value is returned. j (x) is the collision function used in this paper. When the calculation result is greater than 0, it means a collision has occurred, and the calculation result can be used to express the collision intensity. 0.05m is set as the safety distance.
[0017] The point cloud coding design module of the obstacle environment uses CAE as the point cloud encoder for self-training and the loss function after penalizing the weights is:
[0018]
[0019] Among them J f (x) is the Jacobian matrix of the hidden layer output value with respect to the weight, It represents the square and sum of the F norm of the Jacobian matrix, that is:
[0020]
[0021] Since the number and shape of obstacles are uncertain, we first sample a sufficient number of points on the obstacle surface based on the random sampling method, based on which we can obtain a full point cloud; then, based on the downsampling method, we downsample the full point cloud to a fixed number; finally, we adopt the farthest point sampling strategy.
[0022] The design method of the Transformer-based diffusion model is:
[0023] First, we need to clarify the data types that need to be processed: the path data is in the form of a two-dimensional array of (time series length, number of axes). Transformer is introduced as the backbone network. During training, the physical characteristics of the path data are combined to explicitly guide the training direction. During reasoning, the task characteristics are combined to explicitly guide the generation direction, ensuring that the generated results are more in line with the task information.
[0024] Next, since the input of the backbone network is the encoded obstacle point cloud p∈R during each reverse denoising process of the diffusion model 60 , time step t, initial pose x0∈R 7 , target pose x N ∈R 7 , the 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] The point cloud information, initial pose, and target pose are concatenated into complete conditional information, and then dimensionalized through a shallow encoder. The encoder consists of two fully connected layers and one activation function, which can project the task information into a 512-dimensional latent space to obtain the task potential code c. Position encoding is used to add additional information to each element in the sequence, and the index is encoded using sine and cosine functions. The formula is as follows:
[0026]
[0027]
[0028] Where pos is the index and i is the dimension;
[0029] The input robot configuration sequence t is projected into 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 conditional token to obtain Entering the backbone network, i.e., multiple transformer encoding layer modules connected in series, the input in each module is processed in turn by 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, only the information of the last N dimensions is retained from the output, and the dimension is reduced to the display robot joint sequence space through a layer of decoder, and the denoised joint sequence predicted at this time step is output.
[0031] The implementation method of the pre-training stage of the Transformer-based diffusion model is as follows:
[0032] First, at each time step t, for each training data X0, a Gaussian noise is randomly added in sequence through t Markov chains Get Tag X t ; The backbone network will then t Make a prediction to restore the original data X0, and define the loss function as:
[0033]
[0034] Where x0 is the original path without noise, T is the total diffusion step length, x t is the data after Gaussian noise is gradually added through the t-step Markov chain at the t-th diffusion step, c is the task corresponding to the path, and q is based on the condition c and the original path about x t The real distribution of . A composite loss function is used for training, which contains 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 represents the L1 loss of the rotation, L point Represents the L1 loss of the point cloud, L collision Represents the collision loss of the point cloud; FK is the forward kinematics modeling function, which can calculate the real Cartesian coordinates of the robot link based on the joint rotation angle and the robot forward kinematics modeling. joint , point , collision is the weight of each point cloud loss.
[0040] During the training process, for a given closed surface, the distance function obtains the minimum distance from the robot point cloud to the surface. If the point cloud is within 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 distance function is used to evaluate the collision intensity between the robot and the obstacle.
[0041] According to the characteristics of the diffusion model, in the conditional token z tk After acquisition, there is a 10% probability of being randomly masked. At the same time, in training, it is necessary to randomly select time step t (t = 1, 2, ..., T) and solve x based on the formula t , and input it into the backbone network for learning denoising.
[0042] The innovation of the embodiment of the present invention lies in:
[0043] First, the present invention introduces the conditional diffusion model into the field of robot motion planning, and uses motion feedback as a guide to further improve the quality of motion generation. Benefiting from our motion generation formula, RobotDiffuse can generate motions with probability based on tasks, and propose motion feedback optimization to promote the natural generation of highly diverse and indefinite length robot motions. And building a global planner can further improve the success rate and quality of generation;
[0044] In view of the characteristics of robot motion tasks, namely, indefinite length and multi-lateral environment, we carefully combine CAE and transformer network design to enable RobotDiffuse to adapt to any obstacle environment and move to the target space while avoiding obstacles. Compared with other benchmark generators, our method can synthesize high-quality motion sequences faster. For any robot type and obstacle environment, it can return results in constant time.
[0045] Finally, this algorithm is suitable for inference calculation in large-scale robot factories. It can be combined for different robot task conditions, and only one inference is required based on the common Gaussian noise, which only requires one sampling time. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] The above and other objects and features of the present disclosure will become more apparent from the following description in conjunction with the accompanying drawings.
[0047] Figure 1 Schematic diagram of RRT search tree according to the prior art;
[0048] Figure 2 is a neural network architecture diagram showing an industrial robot motion planning method based on a diffusion model according to an embodiment of the present disclosure;
[0049] Figure 3 is a schematic diagram showing a flow chart of a robot point cloud computing according to an embodiment of the present disclosure;
[0050] Figure 4 is a schematic diagram showing a comparison between the AABB method and the OBB method according to an embodiment of the present disclosure;
[0051] Figure 5 is a schematic diagram showing a point cloud of a robot obstacle avoidance environment according to an embodiment of the present disclosure;
[0052] Figure 6 is a schematic diagram showing a PointEnet model structure diagram according to an embodiment of the present disclosure;
[0053] Figure 7 is a schematic diagram showing the overall structure of a backbone network according to an embodiment of the present disclosure; DETAILED DESCRIPTION
[0054] The following specific embodiments are provided to help the reader obtain a comprehensive understanding of the methods, devices and / or systems described herein. However, after understanding the disclosure of the present application, various changes, modifications and equivalents of the methods, devices and / or systems described herein will be clear. For example, the order of operations described herein is only an example and is not limited to those orders set forth herein, but can be changed as will be clear after understanding the disclosure of the present application, except for operations that must occur in a specific order. In addition, for greater clarity and simplicity, the description of features known in the art may be omitted.
[0055] The features described herein can be implemented in different forms and should not be construed as being limited to the examples described herein. Rather, the examples described herein have been provided to illustrate only some of the many possible ways to implement the methods, devices, and / or systems described herein, which will be clear after understanding the disclosure of the present 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 members, components, regions, layers, or portions, these members, components, regions, layers, or portions should not be limited by these terms. Instead, these terms are only used to distinguish one member, component, region, layer, or portion from another member, component, region, layer, or portion. Therefore, without departing from the teachings of the examples described herein, the first member, first component, first region, first layer, or first portion referred to in the examples may also be referred to as the second member, second component, second region, second layer, or second portion.
[0058] In the specification, when an element (such as a layer, a region or a substrate) is described as being “on”, “connected to” or “coupled to” another element, the element may be directly “on”, “connected to” or “coupled to” another element, or one or more other elements may be present therebetween. Conversely, when an element is described as being “directly on”, “directly connected to” or “directly coupled to” another element, there may be no other elements present therebetween.
[0059] The terms used herein are only used to describe various examples and are not intended to limit the disclosure. Unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. The terms "comprise", "include" and "have" indicate the presence of the described features, quantities, operations, components, elements and / or combinations thereof, but do not exclude the presence or addition of one or more other features, quantities, operations, components, elements and / or combinations thereof.
[0060] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as those generally understood by a person of ordinary skill in the art to which the present disclosure belongs after understanding the present disclosure. Unless explicitly defined as such herein, terms (such as those defined in a general dictionary) should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and should not be interpreted in an idealized or overly formal manner.
[0061] Furthermore, in the description of examples, when it is considered that a detailed description of a well-known related structure or function would cause vague interpretation of the present disclosure, such a detailed description will be omitted.
[0062] This application generates high-quality and diverse robot motion sequences with desired conditional inputs. This neural network has three main steps. First, pre-train the point cloud encoder PointEnet, and embed the task conditions into the latent space based on the pre-trained encoder, so that the model can understand the environmental characteristics and task properties well; then, based on the pre-trained PointEnet encoding task information, the task data is denoised and restored based on the Transformer diffusion model, 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, images are generated from random Gaussian noise to further improve the 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 is to transfer the traditional diffusion model to the field of robot motion planning and improve it by considering the particularity of the robot path. Figure 2 to connect.
[0064] The model is fed with a robot configuration sequence of length N containing noise, t itself, and a conditional code C. The conditional code C contains the obstacle point cloud latent space Z encoded using PointEnet, the initial configuration C init , target configuration C goal , and then projected together with t to the conditional token z tk In each sampling step, the transformer decoder iterates the prediction to obtain the final clean motion Figure 2 The right side of the figure describes the sampling step. Given condition C, we sample random noise X in the dimension of the desired motion. T , and then iterates T times. In each time iteration t, the diffusion model predicts clean samples and diffuses them.
[0065] Robot state encoding algorithm based on forward kinematics
[0066] The robot state coding algorithm flow of the present invention is as follows Figure 3 shown.
[0067] Based on the above description, the present invention uses point cloud to accurately describe the shape of the robot and quickly samples on the surface of the robot. In URDF, for each robot link, two Mesh files will be configured to describe the visual properties and collision properties of the link, namely Visual Mesh and Collision Mesh. The collision property describes the minimum safe physical space of the robot. Usually, the collision property and the visual property are the same, but sometimes in order to quickly process and simplify collision detection, it is considered to simplify the Collision Mesh into a simple geometric body that is easier to calculate. For the present invention, accurate collision detection is the key to training, so the Collision Mesh used in the present invention accurately describes the shape of the robot. The present invention considers obtaining the 3D mesh of each link based on the Collision Mesh and obtaining the point cloud of the mesh surface. In order to improve the efficiency of the calculation, after the initial processing, the processing results will be stored in the cache file, and each subsequent re-run will directly read the results from the cache file; during operation, the processing results will be saved in the GPU for reuse, thereby greatly reducing the bandwidth.
[0068] After obtaining the sampling results of each link of the robot, it is necessary to calculate the sampling results of the robot after the specific joint is rotated. First, obtain the origin coordinates of the robot, align the origin coordinates of the robot with the origin coordinates of the simulation environment, determine the origin coordinate system {A0}, and construct the homogeneous transformation matrix of two adjacent links through the DH 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 a point on any link based on its own link coordinate system is converted to the relative position based on the origin coordinate system {A0}. For example, the coordinates of the end of the robot arm in its own coordinate system are It can be converted to the origin coordinate system by Therefore, after determining the joint sequences of the robot, the transformation matrix T can be determined, and the coordinates of any link point on the robot relative to the origin coordinate system {A0} can be calculated to accurately obtain the point cloud results of the rotated robot, which can be further used to evaluate the point cloud difference and movement speed between two adjacent robot postures, and can also be used for collision assessment between robots and obstacles.
[0069] Collision detection module for path data
[0070] The collision detection algorithm needs to accurately determine whether two or more objects will intersect in the shortest possible time. The 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 determining whether there is overlap on the X-axis, Y-axis, and Z-axis. The judgment 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 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 the three axes is satisfied, it means that the two objects collide; if at least one condition is not satisfied, it means 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 collision means that the objects do not actually collide, but collision is detected due to the limitations of the detection method. This means that the collision detection is inaccurate, which reduces the solution space of feasible solutions without collision. On the one hand, the shapes of the robotic arms are different, and there may be large gaps when using rectangular packages; on the other hand, since the AABB method is aligned with the coordinate axis, the rotation of the robot will cause the connecting rod to tilt, making its package 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 will find a minimum rectangle that encloses the object, and when the object rotates, the package box will not change, but rotate with the rotation of the object. Figure 4The comparison chart of the parcel boxes of the AABB method and the OBB method is shown. It can be seen that compared with the AABB method, the OBB method can have higher collision accuracy, but its calculation process undoubtedly requires more memory space and calculation time, and it does not solve the problem of parcel box gaps caused by polygons.
[0073] The Separating Axis Theorem (SAT) is an algorithm that can be used to accurately determine whether two objects intersect. It is not only applicable to rectangles, but also to convex polygons. The principle is relatively simple, that is, as long as there is a straight line that can separate the two polygons, it can be proved that the two polygons do not intersect. This method is suitable for situations where there are many objects but few collisions, but it will be less efficient when there are more edges. Usually, when used, the OBB method is used for rough collision detection, and then the SAT method is used for precise collision detection. However, none of the above methods can evaluate the intensity of the collision. There are also some high-end physics engines that perform precise calculations based on geometric shapes and positions, but this is not suitable for use in the process of neural network training.
[0074] Considering efficiency and accuracy, the present invention finally adopts a collision detection method based on sampling. Sampling is performed on the surface of the robot connecting rod in advance, and whether a collision occurs is determined by judging whether the sampling point appears inside the obstacle, and the collision depth is calculated based on the distance between the sampling point and the obstacle surface. This method is probabilistically complete, and as long as there are enough sampling points, the collision result can be guaranteed to be infinitely close to the original result. At the same time, considering that the robot postures of adjacent frames are similar, the detection frequency can be reduced by using the interval frame detection method, thereby reducing the detection time.
[0075] Usually, a safety distance is considered near the robot connecting rod to ensure that the robot and the obstacle are kept at a certain distance. For example, when the user is within the safety distance of the robot and the obstacle, the robot should stop operating. Therefore, the present invention also considers a safety distance. When the sampling point is outside the obstacle, but the distance from the obstacle surface is less than the safety distance, it is also 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 collide, and the collision intensity is the sum of the collision intensities of all sampling points and the obstacle.
[0076]
[0077] The present invention constructs a distance function (DF). During the training process, for a given closed surface, the DF can obtain the minimum distance from the robot point cloud to the surface, and return a negative value if the point cloud is within the closed surface.
[0078] Point cloud coding design module for obstacle environment
[0079] We consider describing the obstacle environment based on point clouds. The advantage of point clouds is that they can ignore characteristics such as texture, which do not need to be considered in obstacle avoidance movements, and can prevent the model from learning strange information. And it is highly flexible and can accurately describe the shape of obstacles. The most important benefit of using point clouds is that the model studied in this invention can be trained based on our own data sets, and can also be migrated to any training set and real-world tasks based on point clouds of any scene, and can solve complex planning problems. Figure 5 The figure shows the point cloud effect diagram under this dataset. For each planning task, the green point cloud represents the obstacle, the red point cloud represents the initial robot pose of the current task, and the blue point cloud represents the target robot pose of the current task.
[0080] Point cloud data has many characteristics, among which rotation invariance and permutation invariance are two of the most important characteristics of point cloud data. Rotation invariance means that the translation and rotation of point cloud data in three-dimensional space will not change the properties of the point cloud data itself, and the same object is still represented after translation and rotation. Permutation invariance means that the transformation of the order of point cloud data does not affect the shape and characteristics of the object it describes. The disorder and unstructured nature of point clouds make them different from two-dimensional image convolution. Therefore, the mature network in two-dimensional detection cannot be directly used to process point cloud data, and the representation of point clouds has a direct impact on the performance of the model. Therefore, it is necessary to understand the representation of point cloud data. Considering the robot motion planning task, if the point cloud only contains obstacle information, the point cloud should not have rotation invariance; if the point cloud contains both obstacle information and robot information, the point cloud has rotation invariance. It is necessary to select a suitable point cloud encoder based on the characteristics of the point cloud. In the model of the present invention, the output of the point cloud encoder will serve as the input of the path generator, and its understanding and generalization ability of the point cloud information will directly affect the performance of the entire model. Therefore, choosing a high-performance point cloud encoder is the cornerstone of the entire model.
[0081] At present, there are many excellent models of deep networks for processing point clouds in the research community, which have played an important role in application scenarios such as point cloud classification and point cloud segmentation. Among them, PointNet, PointNet++, and DGCNN are the mainstream models in this field. We did not choose the common point cloud encoders on the market, although they can take into account local and global features well. However, we observed that three core problems prevented us from directly applying the most advanced point cloud encoders to solve our problems. First, the above networks do not have the characteristics of unsupervised training, and training the point cloud encoder and the diffusion model together will lose a lot of information. Secondly, due to the problem of its network architecture, DGCNN is only applicable to point clouds with rotation invariance: if only the obstacle position is encoded, the point cloud is not rotation invariant; if the obstacle position and the robot shape are encoded at the same time, the number of point clouds will increase significantly, resulting in a doubling of the encoding time; secondly, due to its multi-layer convolutional structure, the point cloud encoder makes the encoding time unsuitable for real-time scenarios, affecting the efficiency of generation. Therefore, we finally selected the basic autoencoder to encode the obstacle point cloud. It is a self-supervised network that processes input data through encoders and decoders in turn, and demonstrates strong capabilities in data compression, feature extraction, and data reconstruction. The encoder is responsible for mapping 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 enables the autoencoder to learn the compressed representation of the input data while maintaining the key features of the data. After training, the encoder can be extracted separately to compress the input data into the latent space, and the deep features of the data can be learned, which is very useful for subsequent machine learning tasks. The data processing process from the input layer to the middle layer is called the data encoding process, and the process from the middle layer to the output layer is called the data decoding process. The characteristic of the autoencoder is that the feature dimension of the output layer must be equal to the feature dimension of the input layer, and the information of the original data is retained to the greatest extent at each layer. This simple strategy can retain the information of the source data to the maximum extent and reduce the dimension of the source data. However, the autoencoder also has some disadvantages. For example, when the data distribution is uneven or the amount of data is insufficient, it will lead to poor learning ability of the data or overfitting.
[0082] At present, there are four main variants of autoencoders, namely, denoising autoencoder (DAE), sparse autoencoder (SAE), variational autoencoder (VAE) and contractive autoencoder (CAE). In practical applications, it is also necessary to consider the characteristics of the scene. For example, in this scenario, it is necessary to model the obstacle point cloud, focusing on the overall edge shape and position information of the obstacle point cloud. If the position change of a small number of edge points does not affect the overall characteristics, then this change does not want to affect the core output, that is, the model's anti-disturbance ability has higher requirements. Based on these observations, we use CAE as the point cloud encoder for self-training. CAE mainly adds a penalty term to the traditional loss function to achieve the effect of local space contraction. The advantage of doing this is that it can suppress the disturbance of training samples in all directions and better learn the robust feature space required for planning and control. Usually, 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 side of the equal sign (used to penalize coefficients to prevent overfitting) with the Jacobian matrix under the F norm, and obtains the following formula:
[0085]
[0086] Among them J f (x) is the Jacobian matrix of the hidden layer output value with respect to the weight, It represents the square and sum of the F norm of the Jacobian matrix, that is:
[0087]
[0088] This term is a penalty term proposed by the author because when the penalty term has a relatively small first-order derivative, it means that the hidden layer expression corresponding to the input signal is relatively smooth. When the input changes to a certain extent, the hidden layer expression will not change too much, which can make the intermediate features learned by the autoencoder insensitive to input changes, that is, insensitive to disturbances. Therefore, CAE is more likely to learn robust features.
[0089] The overall structure of PointEnet finally adopted by the present invention is as follows Figure 6As shown in the figure, we can see that unlike the common CAE network that maintains a single-layer structure, we use multiple fully connected layers and activation functions to deepen the network depth. Point cloud data actually contains rich information, which is extremely necessary. And 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 above. Since the number and shape of obstacles are uncertain, we first sample a sufficient number of points on the obstacle surface based on the random sampling method, based on which a full point cloud can be obtained. Then we downsample the full point cloud to a fixed number based on the downsampling method. The benefits of downsampling are that on the one hand, it can speed up the compression of the point cloud, and on the other hand, it can ensure 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 larger dataset while maintaining the structural characteristics of the original dataset as much as possible. Farthest point sampling is particularly suitable for scenarios where the number of data points needs to be reduced to increase processing speed or reduce computational complexity, while not wanting to lose too much key information of 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 can ensure that the sampling points are relatively evenly distributed in space, thereby preserving the geometric structure of the data set to the greatest extent. The present invention selects a representative subset from the full point cloud based on the farthest point sampling strategy, further ensuring the accuracy and efficiency of the algorithm of the present invention.
[0091] The input of PointEnet is the obstacle environment, and the obstacle features are learned unsupervisedly, and the obstacle point cloud is compressed into the latent space Z using common reconstruction losses and regularization of encoder parameters. In order to improve the generalization ability, these parameters will be frozen after training and will not be optimized in subsequent training.
[0092] Diffusion model design
[0093] The input of RobotDiffuse is the obstacle environment code Z, the 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 kinematic model are one of the core contents of the present invention. First of all, it is necessary to clarify the data type that needs to be processed. The path data is in the form of a two-dimensional array in the form of (time series length, number of rotating axes). The diffusion model was originally applied in the field of pictures and shined. In addition, the path data is similar to pictures to a certain extent. A certain rotating axis angle at a certain moment has a very strong correlation with its previous and next moments and adjacent rotating axis angles. There is a lot of potential in migrating the diffusion model to the path generation task of industrial robots. The diffusion model itself relies on a backbone network to reduce the noise of the data. It can be said that the backbone network determines the upper limit of the model generation capability. It is necessary to combine the characteristics of the scene and select a suitable backbone network to stably generate high-quality and diverse samples.
[0094] Through the analysis and consideration of the characteristics of the robot path data itself, this study considers introducing Transformer to replace the traditional backbone network to fully adapt to the path generation task of the industrial robot. At the same time, considering the characteristics of the robot path data and the generation characteristics of the diffusion model, the physical characteristics of the path data are combined in training, and the training direction is guided explicitly to ensure that the generation result can be safer and fit the best path. During reasoning, the task characteristics are combined, and the generation direction is guided explicitly to ensure that the generation result can be more consistent with the task information. In this way, the stability of the generation result is guaranteed.
[0095] After considering the adjacent relationship of the industrial robot path information, the present 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 is the overall architecture of the backbone network.
[0096] In each reverse denoising process of the diffusion model, the input of 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 , the noisy path sequence X t ∈R 7×N, where 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 spliced into complete conditional information. First, a shallow encoder is used for dimensionality generation. The encoder consists of two fully connected layers and one activation function. The task information can be projected into a 512-dimensional latent space to obtain the task potential code c. Since the self-attention mechanism itself does not consider the order of elements, usually in time series data processing, in order to prevent text from being processed in sequence, position encoding is used to add additional information to each element in the sequence to solve this problem, so that the model can use the position information of the element. In order to avoid the instability of training caused by directly adding too large indexes to the sequence, a common method is to encode the index using sine and cosine functions. The formula is as follows:
[0097]
[0098]
[0099] Where pos is the index and i is the dimension. Combining these periodic functions can generate a unique vector for each position and ensure that the value is within a certain range without causing the index vector to be too large when encoding too long sequences.
[0100] The position encoding of time series processing is to allow the model to understand and compare the position information of each signal in the sequence. In addition to the index position information, the input sample of the present invention is the complete robot sequence containing noise at time step t, that is, the time step t is also an important position information. By projecting the time step t into the 512-dimensional latent space using the sine function and the cosine function, 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 noise reduction step in the entire reverse chain, and then adjust the predicted noise size. t It is also projected into a 512-dimensional latent space by a single-layer shallow encoder and concatenated with the conditional token to obtain Enter the main structure of the backbone network, which is N series-connected Transformer encoding layer modules (N=4 is set in this model). The input in each module is processed in turn by 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. The Transformer encoding layer module can fully understand the spatial information and joint information of the robot sequence. Finally, only the information of the last N dimensions is retained from the output, and the dimension is reduced to the display robot joint sequence space through a layer of decoder, and the denoised joint sequence predicted at this time step is output. By replacing the traditional U-Net model with the 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 of all, the principle characteristics of the diffusion model itself determine that it is a model with self-supervision characteristics. In the training phase, at each time step t, for each training data X0, a Gaussian noise will be randomly added in sequence through t Markov chains. Get Tag X t ; The backbone network will then t The prediction is performed to restore the original data X0. In the field of image generation, a common practice is to let the backbone network predict the noise ∈ θ (x t ,t), and adjust the loss function and network parameters to make the predicted noise ∈ θ (x t ,t) fitting the real noise∈ t , so that the backbone network finally has the ability to predict the noise probability distribution from the noisy signal, and the loss function is defined as:
[0103]
[0104] In this scenario, although the prediction is noise, what is actually predicted is x t-1 This approach can simplify the problem and make the model not focus on the complex information of the signal itself, and the model will have better generalization, that is, an x T The final denoised result will correspond to multiple x0. However, the problem with this processing method is that the model itself may not clearly mark the known or unknown content when learning the representation. It is worth noting that the present invention takes into account the particularity of the robot configuration space and selects the predicted signal itself to optimize the target based on the physical properties contained in the robot path sequence itself, that is, the output is the predicted denoised signal, and the loss function is readjusted to the following formula:
[0105]
[0106] Where x0 is the original path without noise, T is the total diffusion step length, x t is the data after Gaussian noise is gradually added through the t-step Markov chain at the t-th diffusion step, c is the task corresponding to the path, and q is based on the condition c and the original path about x tThis design is conducive to combining actual application scenarios. By adjusting the loss function, more weight is given to clearer data loss items, allowing the deep model to understand the signal characteristics at a deeper level. RobotDiffuse uses a composite loss function for training, which consists of three components: configuration space loss and geometric task space loss (used to force accurate prediction) and collision loss (used to prevent catastrophic behavior):
[0107] L=λ joint *L joint +λ point *L point +λ collision *L collision (2.10)
[0108]
[0109]
[0110]
[0111] L joint represents the L1 loss of the rotation. point Represents the L1 loss of the point cloud, L collision Represents the collision loss of the point cloud. FK is a forward kinematics modeling function that can calculate the real Cartesian coordinates of the robot link based on the joint rotation angle and the robot forward kinematics modeling. joint、 λ point、 λ collisionis the weight of each point cloud loss. Configuration space loss has been widely used in previous work
[100] . Geometric task space loss can effectively capture the cumulative error of the kinematic chain and quantify the position deviation caused by the shape of the robot link, 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 article, we constructed a distance function (DF). During the training process, 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 from the closed surface is less than the safe distance, the distance to the closed surface is returned. We use this function to evaluate the collision intensity between the robot and the obstacle. In fact, through the operation of the robot's forward kinematics (FK), we can also obtain information such as the terminal velocity and angular velocity. Based on this information, the loss function can be further improved. For example, during the movement, the robot's movement speed and acceleration should show a stable change, which can reduce the wear of the robot. The robot's speed change behavior is punished through the loss function. However, the loss function contains too much information and is not conducive to the optimization of the overall direction. Considering that the information such as speed can be further optimized through spline curves, the loss function of the present invention only considers the core position loss and catastrophic collision information, maintains a relatively simple structure, and the loss function also has a relatively intuitive and clear physical meaning.
[0112] In addition, according to the characteristics of the diffusion model itself, the following two training methods are used to improve the robustness and generalization ability of the model. Since the model of the present invention adopts a method without classifier guidance, in order to train the conditional model and the unconditional model at the same time, the conditional token z tk After acquisition, there is a 10% probability of being randomly masked, which helps to improve the robustness and generalization ability of the model when processing sequences. In addition, considering that the time step t is also an important part of the input signal, in addition to fully shuffling the training data set, it is necessary to randomly select the time step t (t = 1, 2, ..., T) in training and solve x based on the formula t , and input it into the backbone network for learning denoising. Ensure that all categories of data are fully disrupted on the input data to avoid unnecessary training fitting problems caused by the correlation between training data.
[0113] The final pre-training process is as follows:
[0114]
[0115] Inference Phase of Diffusion Model
[0116] In the inference stage, the present invention adopts a conditional generation method without classifier guidance, and directly generates conditions based on the trained diffusion model. In the inference process, the robot's task information is used as the conditional signal y, and X is sampled from the standard Gaussian noise. T ∈R 7×N ~N(0,I) is used as the initialization variable of the reverse denoising process of the diffusion model, and T denoising processes are performed to gradually remove the noise contained in the variables, and finally obtain the desired high-quality sample without noise. This high-quality sample has the characteristics of no collision and close to the target. The robot can start moving from the initial posture, avoid obstacles in the space, and stop near the target position. Unlike other generation tasks, the robot path generation task requires stronger requirements for the target task fitting. For example, in traditional path planning generation, the initial node must be the initial posture of the robot. If the generated node appears within a certain range of the target posture during the generation process, it is considered to be generated successfully. However, no matter how good the fitting effect of the path planning algorithm based on deep learning is, the final output of the path initial and final postures will actually be offset from the task target. A simple measure is to directly splice the initial and final postures on both sides of the generated path sequence and use interpolation to supplement the missing postures, but this strategy also has defects, that is, there is a turning point at the splicing of the simulated posture and the actual generated posture. Considering that the diffusion model directly outputs a motion sequence, rather than a motion sequence encoding in the latent space. Therefore, given a task, when sampling the model, in each iteration, the noise term determines the denoising direction of the motion sequence. Therefore, we can combine physical relationships in the denoising process to guide the generation process and encourage the trajectory to maintain kinematic validity, that is, the initial and final motion must be close to the task posture, and the joint rotation posture must be within the limit. Specifically, at each step of the denoising time, we modify the predicted intermediate trajectory Xt at the t-th diffusion time step. A "noise interpolation" method is proposed to control the initial and final postures of the robot motion sequence, that is, to cover the initial and final postures of the task with the initial and final postures of the task. This encourages the motion generation to be consistent with the original input, solves the intermediate motion problem, and forces the network to produce a smooth, collision-free trajectory between the initial-target joint pairs.
[0117] At the same time, this algorithm is suitable for inference calculation in large-scale robot factories. It can be combined for different robot task conditions, and only one inference is required based on the common Gaussian noise, which only requires one sampling time.
[0118] Although some embodiments of the present disclosure have been shown and described, it will be appreciated by those skilled in the art that modifications may be made to the embodiments without departing from the principles and spirit of the present disclosure, the scope of which is defined by the claims and their equivalents.
Claims
1. A method for motion planning of industrial robots based on diffusion model, It is necessary to build a neural network with three main steps: first, pre-train a point cloud encoder, which includes a point cloud encoding design module for the obstacle environment, realizes the input of the obstacle environment, and realizes the compression and embedding of the obstacle point cloud of the task condition into the latent space Z through unsupervised learning of obstacle features, using common reconstruction losses and regularization of encoder parameters, and constructs a robot state encoding algorithm for forward kinematics and a collision detection module for path data; then, based on the pre-trained point cloud encoder encoding task information, the task data is denoised and restored based on the diffusion model of Transformer, 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 to further improve the generation speed and success rate; Finally, the neural network model can output the optimal path under specific task conditions; The robot state encoding algorithm of forward kinematics uses point cloud to describe the shape of the robot and performs fast sampling on the robot surface. For each robot link, two Mesh files are configured to describe the visual attributes and collision attributes of the link, namely Visual Mesh and Collision Mesh. Consider obtaining the 3D mesh of each link based on Collision Mesh, and obtain the point cloud of the mesh surface. After the initial processing, the processing results are stored in the cache file. Each subsequent re-run directly reads the results from the cache file. During operation, the processing results are saved in the GPU for repeated use, thereby greatly reducing bandwidth. After obtaining the sampling results of each link of the robot, calculate the sampling results of the robot after the specific joint is rotated: first obtain the origin coordinates of the robot, align the origin coordinates of the robot and the origin coordinates of the simulation environment, and determine the origin coordinate system {A0}, and construct the homogeneous transformation matrix of two adjacent links through the DH parameter method Through the chain rule of homogeneous coordinate transformation, the transformation formula between the coordinate systems of any two connecting rods is constructed, and the relative position of a point on any connecting rod based on its own connecting rod coordinate system is transformed into the relative position based on the origin coordinate system {A0}; The collision detection module of the path data adopts a sampling-based collision detection method, which samples the surface of the robot link in advance, determines whether a collision occurs by judging whether the sampling point appears inside the obstacle, and calculates the collision depth according to the distance between the sampling point and the obstacle surface; Specifically, a safety distance is considered. When a sampling point is outside an 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 collide, and the collision intensity is the sum of the collision intensities of all sampling points and the obstacle. D j (x) is the distance function. During the training process, for a given closed surface, the minimum distance from the robot point cloud to the surface is obtained. If the point cloud is within the closed surface, a negative value is returned. j (x) is the collision function. When the calculated result is greater than 0, it means a collision has occurred. The calculated result also expresses the collision intensity.
2. The method for motion planning of an industrial robot based on a diffusion model as claimed in claim 1, characterized in that: The point cloud coding design module of the obstacle environment uses CAE as the point cloud encoder for self-training and the loss function after penalizing the weights is: Among them J f (x) is the Jacobian matrix of the hidden layer output value with respect to the weight, It represents the square and sum of the F norm of the Jacobian matrix, that is: Since the number and shape of obstacles are uncertain, we first sample a sufficient number of points on the obstacle surface based on the random sampling method, based on which we can obtain a full point cloud; then, based on the downsampling method, we downsample the full point cloud to a fixed number; finally, we adopt the farthest point sampling strategy. The design method of the Transformer-based diffusion model is: First, we need to clarify the data types that need to be processed: the path data is in the form of a two-dimensional array of (time series length, number of axes). Transformer is introduced as the backbone network. During training, the physical characteristics of the path data are combined to explicitly guide the training direction. During reasoning, the task characteristics are combined to explicitly guide the generation direction, ensuring that the generated results are more in line with the task information. Next, since the input of the backbone network is the encoded obstacle point cloud p∈R during each reverse denoising process of the diffusion model 60 , time step t, initial pose x0∈R 7 , target pose x N ∈R 7 , the noisy path sequence X t ∈R 7×N , where 7 represents the number of robot joints and N represents the number of sequence frames; The point cloud information, initial pose, and target pose are concatenated into complete conditional information, and then dimensionalized through a shallow encoder. The encoder consists of two fully connected layers and one activation function, which can project the task information into a 512-dimensional latent space to obtain the task potential code c. Position encoding is used to add additional information to each element in the sequence, and the index is encoded using sine and cosine functions. The formula is as follows: Where pos is the index and i is the dimension; The input robot configuration sequence t is projected into 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 conditional token to obtain Entering the backbone network, i.e., multiple transformer encoding layer modules connected in series, the input in each module is processed in turn by 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, only the information of the last N dimensions is retained from the output, and the dimension is reduced to the display robot joint sequence space through a layer of decoder, and the denoised joint sequence predicted at this time step is output.
3. The industrial robot motion planning method based on the diffusion model as claimed in claim 2, characterized in that: The implementation method of the pre-training stage of the Transformer-based diffusion model is as follows: First, at each time step t, for each training data X0, a Gaussian noise is randomly added in sequence through t Markov chains Get Tag X t ; The backbone network will then t Make a prediction to restore the original data X0, and define the loss function as: Where x0 is the original path without noise, T is the total diffusion step length, x t is the data after Gaussian noise is gradually added through the t-step Markov chain at the t-th diffusion step, c is the task corresponding to the path, and q is based on the condition c and the original path about x t The true distribution of; the composite loss function is used for training, which contains 3 components: configuration space loss, geometric task space loss and collision loss: L=λ joint *L joint +λ point *L point +λ collision *L collision L joint represents the L1 loss of the rotation, L point Represents the L1 loss of the point cloud, L collision Represents the collision loss of the point cloud; FK is a forward kinematics modeling function that can calculate the real Cartesian coordinates of the robot link based on the joint rotation angle and the robot forward kinematics modeling. joint , point、 λ collision is the weight of each point cloud loss. During the training process, for a given closed surface, the distance function obtains the minimum distance from the robot point cloud to the surface. If the point cloud is within 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 distance function is used to evaluate the collision intensity between the robot and the obstacle. According to the characteristics of the diffusion model, in the conditional token z tk After acquisition, there is a 10% probability of being randomly masked. At the same time, in training, it is necessary to randomly select time step t (t = 1, 2, ..., T) and solve x based on the formula t , and input it into the backbone network for learning denoising.
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
Pedestrian re-identification method based on multi-resolution image under background of unmanned aerial vehicle
CN116469130A
Three-dimensional point cloud generation method based on diffusion model
CN117745933A
Object grabbing method based on de-noising diffusion model
CN118024253A
Cited By
Industrial robot control method and device based on Hall rocker control
CN119526429A
Track prediction method and device, electronic equipment, storage medium and program product
CN119539297A
Large bulk cargo equipment path planning method based on risk boundary
CN119783780A
Structural abnormal state diagnosis method and device considering complex environment influence
CN119830187A
A method and device for diagnosing abnormal structural states considering the influence of complex environments
CN119830187B
