Hybrid robot control method and system mixing motion primitives and offline programming
By collecting grinding and polishing trajectory data from human craftsmen and utilizing dynamic motion primitives and knowledge vector machines to classify feature classes and perform offline programming, the complexity of robot grinding and polishing strategy planning was solved, enabling efficient and rapid processing of aerospace parts.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAZHONG UNIV OF SCI & TECH
- Filing Date
- 2023-08-25
- Publication Date
- 2026-07-24
Smart Images

Figure CN117182894B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of machining robot control technology, and more specifically, relates to a robot control method and system that combines motion primitives and offline programming. Background Technology
[0002] Aerospace components are characterized by their diverse varieties, small batch sizes, and complex structures. Currently, they are mainly manufactured using casting to produce blanks, followed by CNC machine tool finishing of end faces and outer surfaces. Finally, human or robotic personnel perform grinding and polishing to refine the structural details. Due to the complexity and diverse structural features of aerospace components, various grinding tools are required to process different features during grinding and polishing, which poses significant challenges to robotic grinding and polishing programming.
[0003] Unlike milling, in robotic polishing, the feed rate, grinding head speed, contact force, and contact posture all affect the amount of material removed and thus the surface profile. Therefore, traditional path planning methods rely on accurate polishing removal models. This requires establishing precise contact and removal models in advance through multiple experiments on the polishing tool and the part to be polished. This process is difficult and complex, and it is hard to meet the manufacturing requirements of small-batch, structurally complex parts such as those used in aerospace. To establish an accurate mapping from the process path (including the polishing path containing information such as feed rate, grinding head speed, contact force, and contact posture at each point during processing) to the material removal effect, researchers have introduced learning-based methods to enable robots to autonomously learn polishing strategies. However, these methods require a large number of training samples, which presents certain difficulties for application in industrial settings.
[0004] Robot imitation learning is an interactive method where humans directly demonstrate pose, force, and trajectory tasks to robots, enabling efficient robot programming. It can be applied to scenarios involving diverse, small-batch tasks, effectively reducing labor costs and setup time. Imitation learning, similar to human craftsmanship techniques, allows robots to quickly master the use of a tool. By collecting data on a human's position, posture, and force trajectory during the polishing process of a structural feature using a particular tool, the robot can then apply the same polishing path to similar features. The polishing paths using different tools on different structural features are stored as skills. However, this results in the entire processing being divided into a series of action combinations, each an independent module. Dynamic changes exist between different program modules or between modules and the external environment. Currently, research on how to plan and integrate the learned skill motion primitives is still lacking, making it difficult to quickly generate accurate and efficient robot processing strategies. Summary of the Invention
[0005] To address the above technical issues, this invention proposes a robot control method that combines motion primitives and offline programming, comprising:
[0006] The position, posture, and normal contact force of the trajectory of the polishing robot on the processed workpiece are collected. Each dimension of the collected data is encoded by dynamic motion primitives. The processing area of the workpiece is identified and corrected by a camera device set on the processing robot.
[0007] The area to be processed is divided into multiple feature classes, and a matching degree model between the feature classes and the processing motion primitives is set. The matching degree between the feature classes and the processing motion primitives of the area to be processed is calculated. Based on the matching degree, processing motion primitives are assigned to each feature class through offline programming. The matching degree model between the feature classes and the processing motion primitives includes setting a correlation function to calculate the correlation of each feature class and the correlation of each processing motion primitive.
[0008] Furthermore, the matching degree model between the feature class and the processing motion primitive is as follows:
[0009]
[0010] Among them, S(F i M j ) represents the i-th feature class F of the region to be processed. i and the j-th processing motion element M j The matching degree, w′ k Let P be the weight of the k-th attribute vector, where n is the dimension of the attribute vector. i,k For the i-th feature class F i The k-th feature attribute vector, Q j,k For the j-th processing motion element M j The k-th motion attribute vector, where β is the correlation weight, w k,l C(P) represents the correlation weight between the k-th attribute vector and the l-th attribute. i,k P i,l ) is P i,k and P i,l The correlation function, C(Q) j,k Q j,l ) for Q j,k and Q j,l The correlation function, P i,l Let F be the i-th feature class of the region to be processed. i The l-th feature attribute vector, Q j,l For the j-th processing motion element M j The l-th motion attribute vector, where α is the adjustment parameter.
[0011] Furthermore, P i,k and P i,l The correlation function C(P) i,kP i,l ) and Q j,k and Q j,l The correlation function C(Q) j,k Q j,l They are respectively:
[0012]
[0013]
[0014] Among them, ||P i,k || represents the i-th feature class F of the region to be processed. i The k-th feature attribute vector P i,k The norm of ||P i,l || represents the i-th feature class F of the region to be processed. i The l-th feature attribute vector P i,l The norm of ||Q j,k || is the j-th processing motion primitive M j The norm Q of the k-th motion attribute vector j,k ,||Q j,l || is the j-th processing motion primitive M j The l-th motion attribute vector Q j,l The norm of .
[0015] Furthermore, the knowledge vector machine-based method divides the region to be processed into multiple feature classes.
[0016] Furthermore, it also includes: synchronizing the velocity vectors between the starting and ending points of each processing motion element, and performing smoothing processing on the splicing points to achieve high-dimensional smoothing between processing motion elements.
[0017] This invention also proposes a robot control system that combines motion primitives and offline programming, comprising:
[0018] The identification and correction module is used to collect the position, posture and normal contact force of the trajectory of the polishing machine on the workpiece. It encodes each dimension of the collected data through dynamic motion primitives, identifies the processing area of the workpiece, and corrects it through a camera device set on the processing robot.
[0019] The matching module is used to divide the area to be processed into multiple feature classes, set a matching degree model between the feature classes and the processing motion primitives, calculate the matching degree between the feature classes and the processing motion primitives of the area to be processed, and assign processing motion primitives to each feature class according to the matching degree and through offline programming. The matching degree model between the feature classes and the processing motion primitives includes setting a correlation function to calculate the correlation of each feature class and the correlation of each processing motion primitive.
[0020] Furthermore, the matching degree model between the feature class and the processing motion primitive is as follows:
[0021]
[0022] Among them, S(F i M j ) represents the i-th feature class F of the region to be processed. i and the j-th processing motion element M j The matching degree, w′ k Let P be the weight of the k-th attribute vector, where n is the dimension of the attribute vector. i,k For the i-th feature class F i The k-th feature attribute vector, Q j,k For the j-th processing motion element M j The k-th motion attribute vector, where β is the correlation weight, w k,l C(P) represents the correlation weight between the k-th attribute vector and the l-th attribute. i,k P i,l ) is P i,k and P i,l The correlation function, C(Q) j,k Q j,l ) for Q j,k and Q j,l The correlation function, P i,l Let F be the i-th feature class of the region to be processed. i The l-th feature attribute vector, Q j,l For the j-th processing motion element M j The l-th motion attribute vector, where α is the adjustment parameter.
[0023] Furthermore, P i,k and P i,l The correlation function C(P) i,k P i,l ) and Q j,k and Q j,l The correlation function C(Q) j,k Q j,l They are respectively:
[0024]
[0025]
[0026] Among them, ||P i,k || represents the i-th feature class F of the region to be processed. i The k-th feature attribute vector P i,k The norm of ||P i,l || represents the i-th feature class F of the region to be processed.i The l-th feature attribute vector P i,l The norm of ||Q j,k || is the j-th processing motion primitive M j The norm Q of the k-th motion attribute vector j,k ,||Q j,l || is the j-th processing motion primitive M j The l-th motion attribute vector Q j,l The norm of .
[0027] Furthermore, the knowledge vector machine-based method divides the region to be processed into multiple feature classes.
[0028] Furthermore, it also includes: synchronizing the velocity vectors between the starting and ending points of each processing motion element, and performing smoothing processing on the splicing points to achieve high-dimensional smoothing between processing motion elements.
[0029] In summary, the technical solutions conceived by this invention have the following beneficial effects compared with the prior art:
[0030] 1. The technical solution of the present invention acquires the most basic processing skills by directly learning the grinding and polishing skills demonstrated by human craftsmen through robot learning. This method can quickly learn the processing position, posture and force of different types of processing tools on different features of different materials of the parts being processed. Compared with traditional model-based processing methods and reinforcement learning-based processing path generation methods, it requires fewer experimental samples.
[0031] 2. The method of the present invention plans the learned motion primitives based on traditional offline programming methods, which has higher efficiency than the method of directly obtaining grinding motion primitives from human demonstrations and better real-time performance compared to reinforcement learning methods. Attached Figure Description
[0032] Figure 1 This is a flowchart of data standardization and integration in Embodiment 1 of the present invention;
[0033] Figure 2 This is a structural diagram of the system of Embodiment 2 of the present invention;
[0034] Figure 3 This is a flowchart of the overall method of Embodiment 1 of the present invention;
[0035] Figure 4 This is a flowchart of step S100 of the present invention;
[0036] Figure 5 This is a flowchart of step S200 of the present invention;
[0037] Figure 6 This is a flowchart of step S300 of the present invention. Detailed Implementation
[0038] To better understand the above technical solutions, the following will provide a detailed explanation of the technical solutions in conjunction with the accompanying drawings and specific implementation methods.
[0039] The method provided by this invention can be implemented in a terminal environment that may include one or more of the following components: a processor, a storage medium, and a display screen. The storage medium stores at least one instruction, which is loaded and executed by the processor to implement the method described in the following embodiments.
[0040] A processor may include one or more processing cores. The processor connects various parts of the terminal using various interfaces and lines, and performs various functions and processes data by running or executing instructions, programs, code sets or instruction sets stored in the storage medium, and by calling data stored in the storage medium.
[0041] Storage media can include random access memory (RAM) or read-only memory (ROM). Storage media can be used to store instructions, programs, code, code sets, or instructions.
[0042] The display screen is used to show the user interface of each application.
[0043] In the formula of this invention, all subscripts are only used to distinguish parameters and have no actual meaning.
[0044] In addition, those skilled in the art will understand that the structure of the terminal described above does not constitute a limitation on the terminal. The terminal may include more or fewer components, or combine certain components, or have different component arrangements. For example, the terminal may also include radio frequency circuits, input units, sensors, audio circuits, power supplies, and other components, which will not be described in detail here.
[0045] Example 1
[0046] like Figure 3 As shown, this embodiment of the invention provides a robot control method that combines motion primitives and offline programming, including:
[0047] Step S100: Collect the position, posture, and force of the person being taught and encode them as a single motion primitive;
[0048] Step S200: Visually mark the processing area.
[0049] Step S300: Divide the processing area into individual features and match the corresponding motion primitives;
[0050] Step S400: Motion element splicing, synchronizing the starting and ending speeds of the motion elements, and ensuring a smooth transition path.
[0051] This embodiment is an example. Figure 1 As shown, it includes the following steps:
[0052] Step 101: The position, orientation, and normal contact force of the trajectory of the hand-polished workpiece are collected. Dynamic Movement Primitives (DMPs) are used to encode each dimension of the collected data, including position (x, y, z), orientation (a, β, γ), and normal contact force (v). The area to be processed on the workpiece is identified and corrected using a camera device mounted on the machining robot. Figure 4 and Figure 5 As shown;
[0053] Step 102, as follows Figure 6 As shown, the knowledge vector machine-based method divides the area to be processed into multiple feature classes and sets a matching degree model between feature classes and processing motion primitives. The matching degree between the feature classes and processing motion primitives of the area to be processed is calculated. Based on the matching degree, processing motion primitives are assigned to each feature class through offline programming. The matching degree model between feature classes and processing motion primitives includes setting a correlation function to calculate the correlation between each feature class and each processing motion primitive. Furthermore, the velocity vectors between the start and end points of each processing motion primitive are synchronized, and the splicing is smoothed to achieve high-dimensional smoothing between processing motion primitives (i.e., the unification of velocity and acceleration between the start and end points, and the smoothing between planning forces).
[0054] Specifically, the matching degree model between the feature class and the processing motion primitive is as follows:
[0055]
[0056] Among them, S(F i M j ) represents the i-th feature class F of the region to be processed. i and the j-th processing motion element M j The matching degree, w′ k Let P be the weight of the k-th attribute vector, where n is the dimension of the attribute vector. i,k For the i-th feature class F i The k-th feature attribute vector, Q j,k For the j-th processing motion element M j The k-th motion attribute vector, where β is the correlation weight, w k,l C(P) represents the correlation weight between the k-th attribute vector and the l-th attribute.i,k P i,l ) is P i,k and P i,l The correlation function, C(Q) j,k Q j,l ) for Q j,k and Q j,l The correlation function, P i,l Let F be the i-th feature class of the region to be processed. i The l-th feature attribute vector, Q j,l For the j-th processing motion element M j The l-th motion attribute vector, α is an adjustment parameter. The purpose of the matching degree model between the feature class and the processing motion primitive is to comprehensively consider the similarity and correlation between attribute vectors, as well as their contribution to the matching degree. The first summation term is the difference between attribute dimensions, and the second summation term considers the correlation between attributes. Through this design, the matching degree model between the feature class and the processing motion primitive can more comprehensively reflect the matching degree between the feature class and the processing motion primitive.
[0057] Specifically, P i,k and P i,l The correlation function C(P) i,k P i,l ) and Q j,k and Q j,l The correlation function C{Q j,k Q j,l They are respectively:
[0058]
[0059]
[0060] Among them, ||P i,k || represents the i-th feature class F of the region to be processed. i The k-th feature attribute vector P i,k The norm of ||P i,l || represents the i-th feature class F of the region to be processed. i The l-th feature attribute vector P i,l The norm of ||Q j,k || is the j-th processing motion primitive M j The norm Q of the k-th motion attribute vector j,k ,||Q j,l || is the j-th processing motion primitive M j The l-th motion attribute vector Q j,l The norm of .
[0061] Example 2
[0062] like Figure 2 As shown, this embodiment of the invention also provides a robot control system that combines motion primitives and offline programming, including:
[0063] The identification and correction module is used to collect the position, orientation, and normal contact force of the trajectory of the human polishing of the workpiece. It encodes each dimension of the collected data using Dynamic Movement Primitives (DMP), which includes position (x, y, z), orientation (a, β, Y), and normal contact force (v). It identifies the area to be processed on the workpiece and corrects it using a camera device set on the processing robot.
[0064] The matching module is used to divide the region to be processed into multiple feature classes based on the knowledge vector machine method, and set a matching degree model between the feature classes and the processing motion primitives. It calculates the matching degree between the feature classes and the processing motion primitives of the region to be processed, and assigns processing motion primitives to each feature class according to the matching degree through offline programming. The matching degree model between the feature classes and the processing motion primitives includes setting a correlation function to calculate the correlation between each feature class and the correlation between each processing motion primitive. Furthermore, it synchronizes the velocity vectors between the start and end points of each processing motion primitive, and performs smoothing processing at the splicing points to achieve high-dimensional smoothing between processing motion primitives (i.e., unification of the velocity and acceleration of the start and end points, and smoothing processing between planning forces).
[0065] Specifically, the matching degree model between the feature class and the processing motion primitive is as follows:
[0066]
[0067] Among them, S(F i M j ) represents the i-th feature class F of the region to be processed. i and the j-th processing motion element M j The matching degree, w′ k Let P be the weight of the k-th attribute vector, where n is the dimension of the attribute vector. i,k For the i-th feature class F i The k-th feature attribute vector, Q j,k For the j-th processing motion element M j The k-th motion attribute vector, where β is the correlation weight, w k,l C(P) represents the correlation weight between the k-th attribute vector and the l-th attribute. i,k P i,l ) is P i,k and P i,l The correlation function, C(Q) j,kQ j,l ) for Q j,k and Q j,l The correlation function, P i,l Let F be the i-th feature class of the region to be processed. i The l-th feature attribute vector, Q j,l For the j-th processing motion element M j The l-th motion attribute vector, α is an adjustment parameter. The purpose of the matching degree model between the feature class and the processing motion primitive is to comprehensively consider the similarity and correlation between attribute vectors, as well as their contribution to the matching degree. The first summation term is the difference between attribute dimensions, and the second summation term considers the correlation between attributes. Through this design, the matching degree model between the feature class and the processing motion primitive can more comprehensively reflect the matching degree between the feature class and the processing motion primitive.
[0068] Specifically, P i,k and P i,l The correlation function C(P) i,k P i,l ) and Q j,k and Q j,l The correlation function C(Q) j,k Q j,l They are respectively:
[0069]
[0070]
[0071] Among them, ||P i,k || represents the i-th feature class F of the region to be processed. i The k-th feature attribute vector P i,k The norm of ||P i,l || represents the i-th feature class F of the region to be processed. i The l-th feature attribute vector P i,l The norm of ||Q j,k || is the j-th processing motion primitive M j The norm Q of the k-th motion attribute vector j,k ,||Q j,l || is the j-th processing motion primitive M j The l-th motion attribute vector Q j,l The norm of .
[0072] Example 3
[0073] This invention also proposes a storage medium for storing multiple instructions, which are used to implement the robot control method that combines motion primitives and offline programming.
[0074] Optionally, in this embodiment, the storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.
[0075] Optionally, in this embodiment, the storage medium is configured to store program code for executing the method of Embodiment 1;
[0076] Example 4
[0077] This invention also proposes an electronic device, including a processor and a storage medium connected to the processor. The storage medium stores multiple instructions, which can be loaded and executed by the processor to enable the processor to execute a robot control method that combines motion primitives and offline programming.
[0078] Specifically, the electronic device in this embodiment can be a computer terminal, which may include one or more processors and a storage medium.
[0079] The storage medium can be used to store software programs and modules, such as the hybrid motion element and offline programming robot control method in this embodiment of the invention. The processor executes the software programs and modules stored in the storage medium to perform various functional applications and data processing, thus realizing the aforementioned hybrid motion element and offline programming robot control method. The storage medium may include high-speed random access storage media, and may also include non-volatile storage media, such as one or more magnetic storage systems, flash memory, or other non-volatile solid-state storage media. In some instances, the storage medium may further include storage media remotely configured relative to the processor, which can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0080] The processor can invoke information and applications stored in the storage medium through the transmission system to execute the method steps of Embodiment 1;
[0081] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0082] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0083] In the several embodiments provided by this invention, it should be understood that the disclosed technical content can be implemented in other ways. The system embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between units or modules, and may be electrical or other forms.
[0084] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0085] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0086] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes: USB flash drives, read-only storage media (ROM), random access storage media (RAM), portable hard drives, magnetic disks, optical disks, and other media capable of storing program code.
[0087] Obviously, the above embodiments are merely illustrative examples for clear explanation and are not intended to limit the implementation. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.
Claims
1. A robot control method that combines motion primitives and offline programming, characterized in that, include: The position, posture, and normal contact force of the trajectory of the polishing robot on the processed workpiece are collected. Each dimension of the collected data is encoded by dynamic motion primitives. The processing area of the workpiece is identified and corrected by a camera device set on the processing robot. The area to be processed is divided into multiple feature classes, and a matching degree model between the feature classes and the processing motion primitives is set. The matching degree between the feature classes and the processing motion primitives of the area to be processed is calculated. Based on the matching degree, processing motion primitives are assigned to each feature class through offline programming. The matching degree model between the feature classes and the processing motion primitives includes setting a correlation function to calculate the correlation of each feature class and the correlation of each processing motion primitive. The matching degree model between the feature class and the processing motion primitive is as follows: , in, The first area to be processed Feature Class and the Each processing motion element The degree of matching, For the first The weights of the attribute vectors, The dimension of the attribute vector. For the first Feature Class The A feature attribute vector, For the first Each processing motion element The A vector of motion attributes, For correlation weights, For the first The attribute vector and the first The correlation weights between the attributes for and The correlation function, for and The correlation function, The first area to be processed Feature Class The A feature attribute vector, For the first Each processing motion element The A vector of motion attributes, To adjust the parameters.
2. The robot control method combining motion primitives and offline programming as described in claim 1, characterized in that, and correlation function and and correlation function They are respectively: , , in, The first area to be processed Feature Class The Feature attribute vectors norm, The first area to be processed Feature Class The Feature attribute vectors norm, For the first Each processing motion element The Norm of a motion attribute vector , For the first Each processing motion element The Motion attribute vectors The norm of .
3. The robot control method combining motion primitives and offline programming as described in claim 1, characterized in that, The knowledge vector machine-based method divides the region to be processed into multiple feature classes.
4. The robot control method combining motion primitives and offline programming as described in claim 1, characterized in that, Also includes: The velocity vectors between the starting and ending points of each processing motion element are synchronized, and the splicing points are smoothed to achieve high-dimensional smoothing between processing motion elements.
5. A robot control system that combines motion primitives and offline programming, characterized in that, include: The identification and correction module is used to collect the position, posture and normal contact force of the trajectory of the human polishing of the processed workpiece. It encodes each dimension of the collected data through dynamic motion primitives, identifies the processing area of the workpiece, and corrects it through the camera device set on the processing robot. The matching module is used to divide the area to be processed into multiple feature classes, set a matching degree model between the feature classes and the processing motion primitives, calculate the matching degree between the feature classes and the processing motion primitives of the area to be processed, and assign processing motion primitives to each feature class according to the matching degree and through offline programming. The matching degree model between the feature classes and the processing motion primitives includes setting a correlation function to calculate the correlation between each feature class and the correlation between each processing motion primitive. The matching degree model between the feature class and the processing motion primitive is as follows: , in, The first area to be processed Feature Class and the Each processing motion element The degree of matching, For the first The weights of the attribute vectors, The dimension of the attribute vector. For the first Feature Class The A feature attribute vector, For the first Each processing motion element The A vector of motion attributes, For correlation weights, For the first The attribute vector and the first The correlation weights between the attributes for and The correlation function, for and The correlation function, The first area to be processed Feature Class The A feature attribute vector, For the first Each processing motion element The A vector of motion attributes, To adjust the parameters.
6. A robot control system combining motion primitives and offline programming as described in claim 5, characterized in that, and correlation function and and correlation function They are respectively: , , in, The first area to be processed Feature Class The Feature attribute vectors norm, The first area to be processed Feature Class The Feature attribute vectors norm, For the first Each processing motion element The Norm of a motion attribute vector , For the first Each processing motion element The Motion attribute vectors The norm of .
7. A robot control system combining motion primitives and offline programming as described in claim 5, characterized in that, The knowledge vector machine-based method divides the region to be processed into multiple feature classes.
8. A robot control system combining motion primitives and offline programming as described in claim 5, characterized in that, Also includes: The velocity vectors between the starting and ending points of each processing motion element are synchronized, and the splicing points are smoothed to achieve high-dimensional smoothing between processing motion elements.