Robot control method and device, robot, and storage medium
By determining the load torque relationship of each axis of the robot and linearizing the parameters, a system of equations is established to identify the load parameters. This solves the problem of unsatisfactory calculation accuracy in load identification of serial open-chain robots, achieving higher identification accuracy and simplified calculation.
Patent Information
- Application Number
- CN202310201786.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-03
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2043-03-03
AI Technical Summary
In the existing technology, when serial open-chain robots identify the load installed at the end of their open chain, the calculation accuracy is not ideal and the calculation complexity is high. There are multiple coupling factors that cause the calculation results to be distorted or divergent.
By determining the load torque relationship of each axis of the robot, obtaining multiple sets of action test results, and performing parameter linearization processing, a first set of equations is established, load parameters are identified, and the calculation process is simplified.
It improves the accuracy and reliability of load identification, reduces computational complexity, reduces computational coupling factors, and improves computational precision.
Smart Images

Figure CN118578369B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of industrial robots, in particular to a robot control method, a robot control device, a robot and a computer readable storage medium. BACKGROUND
[0002] In the related art, the method for identifying the load installed at the open-chain end of a series open-chain robot generally regards the robot load as a part of the robot, establishes an overall dynamics model of the robot, designs a continuous excitation trajectory through an optimization algorithm, and the robot moves according to the trajectory, collects position, speed, current and other data in the movement process, and performs filtering processing on the data. However, the calculation accuracy of the method described above is not ideal. SUMMARY
[0003] The present application provides a robot control method, a robot control device, a robot and a computer readable storage medium.
[0004] The robot control method of the present application embodiment is used for a robot with a load installed thereon, and includes:
[0005] determining a load torque relationship of each axis of the robot according to the circuit state and the motion state of the robot;
[0006] obtaining motion test results of the robot, wherein each set of the motion test results is obtained by motion test of one axis or two axes of the robot;
[0007] determining a first equation set through parameter linearization processing according to the motion test results and the load torque relationship;
[0008] determining load parameters of the robot according to the first equation set, so as to identify the load.
[0009] In this way, the present application calculates the motion parameters of the load based on the local dynamics calculation of each axis of the robot, and then identifies different loads. Compared with the overall dynamics calculation method, the complexity of the present application embodiment is lower, and the calculation coupling factors are few. In addition, the parameter linearization processing is added to linearize the calculation process, which further simplifies the calculation process, and thus the accuracy and reliability of the robot in identifying the load can be improved.
[0010] In some embodiments, the determination of the load torque relationship of each axis of the robot according to the circuit state and the motion state of the robot includes:
[0011] determining a joint torque relationship of each axis of the robot according to the attribute parameters and the current of each axis of the robot;
[0012] According to the attribute parameters of each axis of the robot and the joint torque relationship, the load torque relationship is determined.
[0013] In this way, the application can determine the relationship between the torque of the robot in motion and the parameters of the robot, and the torque generated by the load on the robot and the parameters of the robot, based on the electrical parameters and the kinetic parameters of the robot itself, and prepare for the subsequent load identification operation in terms of the corresponding relationship.
[0014] In some embodiments, the action test results of each axis of the robot are obtained, including:
[0015] The first test result of the first action test and the second test result of the second action test are obtained.
[0016] The posture of the robot is adjusted.
[0017] The third test result of the third action test and the fourth test result of the fourth action test are obtained.
[0018] In this way, the application can obtain four sets of test results according to four action tests, for the operation of identifying the load.
[0019] In some embodiments, the action test results of each axis of the robot are obtained, including:
[0020] In response to a setting operation of a user, the initial position of the action test of each axis of the robot is confirmed.
[0021] According to the first action test, the current and position information of the first axis and the second axis of the robot are determined as the first test result.
[0022] According to the second action test, the current and position information of the second axis of the robot are determined as the second test result.
[0023] The robot is adjusted to a preset posture.
[0024] According to the third action test, the current and position information of the first axis of the robot are determined as the third test result.
[0025] According to the fourth action test, the current and position information of the third axis of the robot are determined as the fourth test result.
[0026] In this way, the application can determine a plurality of different action test results of different axes or different combinations of axes in different action tests.
[0027] In some embodiments, determining the first set of equations based on the action test results and the load torque relationship, after parameter linearization, includes:
[0028] Substitute the results of the action test into the load torque relationship to determine the initial first set of equations;
[0029] Based on the initial first set of equations, the first set of equations is determined after parameter linearization.
[0030] Thus, this application can combine experimental results and load torque relationship to determine the equation system for solving the relevant parameters of the load, and simplify the equation system linearly through parameter linearization, thereby reducing the amount of calculation and improving accuracy.
[0031] In some embodiments, determining the first set of equations based on the action test results and the load torque relationship, after parameter linearization, includes:
[0032] Based on the results of the first test and the load torque relationship, the first equation is determined;
[0033] Based on the results of the second test and the load torque relationship, determine the second equation;
[0034] Based on the results of the third test and the load torque relationship, the third process is determined;
[0035] Based on the results of the fourth test and the load torque relationship, determine the fourth equation;
[0036] Based on the first equation, the second equation, the third equation, and the fourth equation, determine the initial first set of equations;
[0037] Based on the initial first set of equations, the first set of equations is determined after parameter linearization.
[0038] In this way, this application can combine each set of test results with the load torque relationship to obtain the equation corresponding to each set of test results. Then, these equations are linearized and the relevant parameters are formally arranged mathematically to simplify the calculation.
[0039] In some implementations, determining the robot's load parameters based on the first set of equations to identify the load includes:
[0040] Based on the first set of equations, determine the mass of the load, the principal axis inertia tensor of the load, and the position of the center of mass of the load.
[0041] Thus, this application can determine parameters such as the mass of the load, the spindle inertia tensor, and the position of the center of mass based on the above equations, so that the robot can identify the load based on the above parameters.
[0042] The robot control device according to the embodiments of this application includes:
[0043] The preparation module is used to determine the load torque relationship of each axis of the robot based on the circuit state and motion state of the robot.
[0044] The test data acquisition module is used to acquire the action test results of the robot;
[0045] The first data processing module is used to determine the first set of equations based on the action test results and the load torque relationship, after parameter linearization processing.
[0046] The second data processing module is used to determine the robot's load parameters based on the first set of equations in order to identify the load.
[0047] The robot according to the embodiments of this application includes a memory and a processor. The memory stores a computer program, and when the computer program is executed by the processor, the processor causes the processor to perform the robot control method as described in any of the above embodiments.
[0048] An embodiment of this application provides a computer-readable storage medium storing a computer program that, when executed by one or more processors, implements the method as described in any of the above embodiments.
[0049] Additional aspects and advantages of embodiments of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of embodiments of this application. Attached Figure Description
[0050] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:
[0051] Figure 1 This is a flowchart illustrating the robot control method in the embodiments of this application;
[0052] Figure 2 This is a schematic diagram illustrating an application scenario of the robot control method in the embodiments of this application;
[0053] Figure 3 This is a flowchart illustrating the robot control method in the embodiments of this application;
[0054] Figure 4 This is a flowchart illustrating the robot control method in the embodiments of this application;
[0055] Figure 5 This is a schematic diagram illustrating an application scenario of the robot control method in the embodiments of this application;
[0056] Figure 6 This is a flowchart illustrating the robot control method in the embodiments of this application. Detailed Implementation
[0057] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the embodiments of this application, and should not be construed as limiting the embodiments of this application.
[0058] For the requirement of robots to identify the installed load, the calculation methods in related technologies are computationally intensive. At the same time, there are multiple calculations involving coupling factors within the robot. Furthermore, the method of obtaining parameters by moving the robot according to a preset trajectory can result in large noise in the acquired data signal and a large condition number in the solution matrix, which can lead to problems such as distortion or divergence in the calculation results.
[0059] Based on this, such as Figure 1 As shown, this application provides a robot control method, including:
[0060] 01: Determine the load torque relationship of each axis of the robot based on the robot's circuit state and motion state;
[0061] 02: Obtain the results of multiple sets of robot action tests;
[0062] 03: Based on the results of the motion test and the load torque relationship, the first set of equations is determined after parameter linearization.
[0063] 04: Determine the robot's load parameters based on the first set of equations to identify the load.
[0064] This application also provides a robot control device, and the robot control method of this application can be implemented by the robot control device. Specifically, the robot control device includes a preparation module, a test data acquisition module, a first data processing module, and a second data processing module. The preparation module is used to determine the load torque relationship of each axis of the robot based on the robot's circuit state and motion state. The test data acquisition module is used to acquire the motion test results of each axis of the robot. The first data processing module is used to determine a first set of equations based on the motion test results and the load torque relationship after parameter linearization processing. The second data processing module is used to determine the robot's load parameters based on the first set of equations to identify the load.
[0065] This application also provides a robot, including a memory and a processor. The memory stores a computer program, and the processor is used to determine the load torque relationship of each axis of the robot according to the circuit state and motion state of the robot, and to obtain the motion test results of the robot, and to determine a first set of equations based on the motion test results and the load torque relationship after parameter linearization processing, and to determine the load parameters of the robot based on the first set of equations to identify the load.
[0066] Specifically, to improve the efficiency and accuracy of the robot's calculation of various load parameters, this application employs isolated analysis of each axis of the robot. Multiple sets of motion tests are conducted to obtain motion test results corresponding to different axes or combinations of axes, and these results serve as the data basis for load identification. Each set of motion test results corresponds to a motion test performed on only one or two axes of the robot, and the obtained test data also corresponds only to one or two axes. Furthermore, this application's implementation determines the correspondence between the torque generated by the load on the robot and its own relevant parameters when the load is installed, i.e., the load torque relationship, based on the robot's own circuit and motion states. By combining the motion test results with the load torque relationship, a first set of equations related to various load attribute parameters can be determined. To simplify the calculation process of the first set of equations, this application's implementation performs parameter linearization on the initial equations before generating the first set of equations, organizing the load-related quantities together for linear calculation and solution, thereby reducing computational complexity.
[0067] Thus, this application uses the local dynamics calculations of each axis of the robot as the data basis to calculate the motion parameters of the load, and then identifies different loads. Compared with the related technologies that treat the load and the robot as a whole and perform dynamics calculations based on a coherent excitation trajectory designed by an optimization algorithm, the implementation method of this application has lower complexity and fewer computational coupling factors. At the same time, the addition of parameter linearization processing to linearize the calculation process further simplifies the calculation process, thereby improving the accuracy and reliability of the robot in identifying the load.
[0068] A serial open-chain robot consists of a series of links connected in series via rotary or locating joints. Generally, an actuator drives the movement of each joint, thereby causing the relative movement of the links. Serial open-chain robots include, as commonly represented, 6-axis industrial robots or 6-7 axis collaborative robots. For ease of explanation, this application uses a commonly represented 6-axis serial open-chain industrial robot as the subject of description to illustrate the robot control method provided in this application. For the load at the robot's end effector, the required parameter vector p is: p = [m, x c ,y c ,z c ,I xx ,I yy ,I zz Where m is the mass of the load, x c ,y c ,z c These correspond to the horizontal, vertical, and axial coordinates of the load's center of mass, referenced to the robot's flange coordinate system. xx ,I yy ,I zz Let be the principal axis inertia tensors of the load in three directions. The robot's configuration is as follows: Figure 2 As shown, the aforementioned flange coordinate system refers to a coordinate system with the geometric center of the robot's open end effector as its origin, and its coordinate axes are oriented as follows: Figure 2 As shown in the FLANGE coordinate system, the positive direction of the horizontal axis corresponds to +X, the positive direction of the vertical axis corresponds to +Y, and the positive direction of the vertical axis corresponds to +Z.
[0069] In some implementations, such as Figure 3 As shown, step 01 includes:
[0070] 011: Determine the joint torque relationship of each axis of the robot based on the attribute parameters and current of each axis;
[0071] 012: Determine the load torque relationship based on the attribute parameters of each axis of the robot and the joint torque relationship.
[0072] In some implementations, the preparation module is used to determine the joint torque relationship of each axis of the robot based on the attribute parameters and current of each axis, and to determine the load torque relationship based on the attribute parameters and joint torque relationship of each axis of the robot.
[0073] In some implementations, the processor is used to determine the joint torque relationship of each axis of the robot based on the attribute parameters and current of each axis, and to determine the load torque relationship based on the attribute parameters and joint torque relationship of each axis of the robot.
[0074] Specifically, the joint torque τ of each axis of the robot during movement is first determined based on the robot's own parameters. total The relationship between the robot's parameters and its own parameters is expressed by the following formula:
[0075] τ total =CId
[0076] Where C is the motor current torque constant, I is the motor current of the corresponding shaft, and d is the motor reduction ratio of the corresponding shaft.
[0077] Next, with the load installed, the torque τ generated by the load on a single axis. load With joint torque τ total The relationship between them is:
[0078] τ load =τ total -τ dyn
[0079] Where τ dyn The torque generated by the robot's own motion on the axis.
[0080] Based on the above relationships and the Newton-Euler dynamics iterative method, the relationship between the load torque and the robot's motion can be obtained using the robot's kinematic and dynamic parameters as follows:
[0081] Suppose the robot has six axes, numbered 1 through 6, arranged sequentially from root to end, with axis i representing the axis number:
[0082] With i initially set to 1, its maximum value being the total number of axes of the robot, and the value of i increasing by 1 in each iteration:
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089] Given that the initial value of i is the total number of axes of the robot, the minimum value is 1, and the value of i is decreased by 1 in each iteration:
[0090]
[0091]
[0092]
[0093] in, i ψ i Represents the angular velocity along the i-axis. This represents the rotation transformation matrix from axis i to axis i+1. Represents the velocity along the i-axis. i+1 Z i+1 =[0,0,1] T , Represents the linear acceleration along the i-axis. i F i , i f i These represent the forces acting on the i-axis coordinate system obtained during the increment and decrement iterations, respectively. i N i , i n i These are the torques in the i-axis coordinate system obtained during the increment and decrement iterations, respectively, τ. i For the i-axis torque, i P i+1 Let be the position vector of axis i+1 in a coordinate system with axis i as the reference. Let i+1 be the centroid position vector of its connecting rod. It is the inertia tensor matrix.
[0094] The above correspondence is represented by the letter f, so as to facilitate the representation of the above correspondence in the subsequent calculation process.
[0095] Thus, this application can determine the relationship between the torque of the robot during movement and the robot's parameters, as well as the relationship between the torque generated by the load acting on the robot and the robot's parameters, based on the robot's own electrical and dynamic parameters. This prepares for subsequent load identification calculations based on experimental data in terms of the corresponding relationships.
[0096] In some implementations, step 02 includes:
[0097] Obtain the first test result of the first action test and the second test result of the second action test;
[0098] Perform posture adjustment on the robot;
[0099] Obtain the third test results of the third action test and the fourth test results of the fourth action test.
[0100] In some implementations, the test data acquisition module is used to acquire the first test result of the first action test and the second test result of the second action test, to perform posture adjustment on the robot, and to acquire the third test result of the third action test and the fourth test result of the fourth action test.
[0101] In some implementations, the processor is used to acquire a first test result of a first action test and a second test result of a second action test, to perform posture adjustments on the robot, and to acquire a third test result of a third action test and a fourth test result of a fourth action test.
[0102] Specifically, after determining the load torque relationship f, it is necessary to obtain actual experimental data to calculate the load parameters in conjunction with the load torque relationship f to identify the load. To reduce the coupling of calculations, this application divides the action test into multiple parts, and after the completion of two action tests, adjusts the robot's posture to perform two more action tests in different posture states. This yields four sets of action test results, which can then be combined with the load torque relationship f to obtain four equations that can calculate the load parameter p.
[0103] Thus, this application can obtain four sets of test results based on four action tests, which can be used to perform load identification calculations.
[0104] In some implementations, such as Figure 4 As shown, step 02 includes:
[0105] 021: In response to the user's settings, confirm the initial position of the robot's motion test for each axis;
[0106] 022: Based on the first action test, the current and position information of the robot's first and second axes are determined as the first test results;
[0107] 023: Based on the second action test, the current and position information of the robot's second axis are determined as the results of the second test;
[0108] 024: Adjust the robot's preset posture;
[0109] 025: Based on the third action test, the current and position information of the robot's first axis are determined as the results of the third test;
[0110] 026: Based on the fourth action test, the current and position information of the robot's third axis are determined as the results of the fourth test.
[0111] In some implementations, the test data acquisition module is used to respond to the user's setting operation, confirm the initial position of the robot's motion test for each axis, and to determine the current and position information of the robot's first and second axes as the first test result based on the first motion test, and to determine the current and position information of the robot's second axis as the second test result based on the second motion test, and to adjust the attitude of each axis on the robot's preset surface, and to determine the current and position information of the robot's first axis as the third test result based on the third motion test, and to determine the current and position information of the robot's third axis as the fourth test result based on the fourth motion test.
[0112] In some implementations, the processor is configured to respond to user setting operations, confirm the initial position of the motion test of each axis of the robot, and determine the current and position information of the first and second axes of the robot as a first test result based on the first motion test, and determine the current and position information of the second axis of the robot as a second test result based on the second motion test, and perform attitude adjustment on each axis on a preset surface of the robot, and determine the current and position information of the first axis of the robot as a third test result based on the third motion test, and determine the current and position information of the third axis of the robot as a fourth test result based on the fourth motion test.
[0113] Specifically, the following section will explain the methods for conducting motion tests on the robot. For example... Figure 5 As shown, first set the initial position of the motion: adjust the flange surface of the robot to be parallel to the vertical plane, and make the y-axis and z-axis of the flange coordinate system parallel to the ground, where the flange surface refers to the plane where the end of the robot flange axis (A6 axis) is located.
[0114] Based on this, the first action test is performed: the robot's wrist axis (A5 axis) reciprocates according to the motion amplitude set by the user. During the motion, the current and position information of the wrist axis (A5 axis) and the flange axis (A6 axis) are recorded as the first test results. After completing multiple reciprocating processes, the motion stops and the robot returns to the initial position.
[0115] Then, the second action test is performed: the robot's flange axis (A6 axis) reciprocates according to the motion amplitude set by the user. During the motion, the current and position information of the flange axis (A6 axis) are recorded as the second test results. After completing multiple reciprocating processes, the motion stops and the robot returns to the initial position.
[0116] After performing two motion tests, to ensure the overall accuracy and rationality of the motion test data, the robot's flange axis (A6) was rotated by 90° or -90°.
[0117] Based on this, the third action test is performed: the robot's wrist axis (A5 axis) reciprocates according to the motion amplitude set by the user. During the motion, the current and position information of the wrist axis (A5 axis) are recorded as the results of the third test. After completing multiple reciprocating processes, the motion stops and the robot returns to the initial position.
[0118] Next, the fourth action test will be performed: the robot's elbow axis (A3 axis) will reciprocate according to the motion range set by the user. During the motion, the current and position information of the elbow axis (A3 axis) will be recorded as the results of the fourth test. After completing multiple reciprocating processes, the motion will stop and the robot will return to the initial position of the motion, and the action test will end.
[0119] Four sets of test results can be obtained through the above four sets of action tests.
[0120] In addition, since the above-mentioned action test only involves the A3, A5 and A6 axes, the value of i in the load torque relationship f in the above implementation method is 3, 4, 5 and 6 during the iterative calculation. Whether it is an increment iteration or a decrement iteration, 3 and 6 are used as boundary values.
[0121] Thus, this application is able to determine multiple sets of motion test results consisting of single-axis data or dual-axis combined data in different motion tests.
[0122] In some implementations, step 03 includes:
[0123] Substitute the results of the motion test into the load torque relationship to determine the initial first set of equations;
[0124] Based on the initial first set of equations, the first set of equations is determined after parameter linearization.
[0125] In some implementations, the first data processing module is used to substitute the action test results into the load torque relationship to determine the initial first set of equations, and to determine the first set of equations based on the initial first set of equations after parameter linearization.
[0126] In some implementations, the processor is used to substitute the results of the motion test into the load torque relationship to determine an initial first set of equations, and to determine a first set of equations based on the initial first set of equations after parameter linearization.
[0127] Specifically, after obtaining the data from the motion test, the data is substituted into the load torque relationship f. After mathematical processing, a set of equations related to the load torque is obtained, namely the initial first set of equations. The initial first set of equations includes all components of the load parameter p. To reduce computational complexity, the initial first set of equations is linearized, merging all components of the load parameter p into a single linear factor, and merging the remaining data related to the motion test results into another factor, thus finalizing the first set of equations.
[0128] Thus, this application can combine experimental results and load torque relationship to determine the equation system for solving the relevant parameters of the load, and simplify the equation system linearly through parameter linearization, thereby reducing the amount of calculation and improving accuracy.
[0129] In some implementations, such as Figure 6 As shown, step 03 includes:
[0130] 031: Based on the results of the first test and the relationship between the load torque, determine the first equation;
[0131] 032: Based on the results of the second test and the load torque relationship, determine the second equation;
[0132] 033: Based on the results of the third test and the load torque relationship, determine the third process;
[0133] 034: Based on the results of the fourth test and the load torque relationship, determine the fourth equation;
[0134] 035: Determine the initial first set of equations based on the first equation, the second equation, the third equation, and the fourth equation;
[0135] 036: Based on the initial first set of equations, the first set of equations is determined after parameter linearization.
[0136] In some embodiments, the first data processing module is further configured to determine a first equation based on the first test results and the load torque relationship, and to determine a second equation based on the second test results and the load torque relationship, and to determine a third equation based on the third test results and the load torque relationship, and to determine a fourth equation based on the fourth test results and the load torque relationship, and to determine an initial first set of equations based on the first equation, the second equation, the third equation, and the fourth equation, and to determine a first set of equations based on the initial first set of equations after parameter linearization.
[0137] In some embodiments, the processor is configured to determine a first equation based on the first test results and the load torque relationship, and to determine a second equation based on the second test results and the load torque relationship, and to determine a third equation based on the third test results and the load torque relationship, and to determine a fourth equation based on the fourth test results and the load torque relationship, and to determine an initial first set of equations based on the first equation, the second equation, the third equation, and the fourth equation, and to determine a first set of equations based on the initial first set of equations after parameter linearization.
[0138] Specifically, substituting the four sets of test results obtained from the four sets of action tests into the load torque relationship f, we obtain the following set of equations:
[0139]
[0140]
[0141]
[0142]
[0143] Where τ exp, q represents the load torque corresponding to the result of the j-th test determined based on the j-th action test. exp, This represents the position data of the corresponding axis obtained based on the result of the j-th experiment. This represents the velocity data of the corresponding axis obtained based on the results of the j-th test. This represents the acceleration data for the corresponding axis obtained based on the results of the j-th test.
[0144] The above four equations form the initial first set of equations.
[0145] Then, the above four equations are linearized by parametric processing, and the equations in each equation are rearranged to have linear factors p that are related to the load parameters to be solved. load.j :
[0146]
[0147] in p represents the matrix factor consisting of terms related to position, velocity, and acceleration corresponding to the result of the j-th test. load.j This represents the linear factor of the load parameter corresponding to the result of the j-th test.
[0148] After the above transformation, the initial first set of equations is as follows:
[0149]
[0150]
[0151]
[0152]
[0153] In some examples, the parameter linearization process for each load parameter will be explained below.
[0154] For the results of the first experiment, the corresponding equation is:
[0155]
[0156] Since the first action test only collected data from axes A5 and A6, the parameter linearization of the above equations is as follows:
[0157] τ exp,1 =[τ exp1,A5 , τ exp1,A6 ] T
[0158] p load,1 =[p load1,A5 p load1,A6 ]
[0159]
[0160] p load1,A6 =[mx c y c my c z c my c ]
[0161] Where, τ exp1,A5 τ represents the load torque determined in the first action test based on the data of axis A5 and the load torque relationship f. exp1,A6 p represents the load torque determined in the first action test based on the data of axis A6 and the load torque relationship f. load1,A5 p represents the load parameters determined in the first action test based on the data of axis A5 and the relationship between the load torque f. load1,A6 This represents the load parameters determined in the first action test based on the data from axis A6 and the load torque relationship f. g represents gravitational acceleration, and a1, a2, and a3 are dynamic constants. When substituting the load torque relationship f into the first test data, i is set to 5 for axis A5 and 6 for axis A6.
[0162] For the results of the second experiment, the corresponding equation is:
[0163]
[0164] Since the second action experiment only collected data from the A6 axis, the parameter linearization of the above equations is as follows:
[0165] τ exp,2 =τ exp2,A6
[0166]
[0167] Where τ exp2,A6 p represents the load torque determined in the second action test based on the data of axis A6 and the load torque relationship f. load2,A6 This represents the load parameters determined in the second action test based on the data from axis A6 and the load torque relationship f. When substituting the load torque relationship f into the second test data, the i corresponding to axis A6 is set to 6.
[0168] For the results of the third experiment, the corresponding equation is:
[0169]
[0170] Since the third action experiment only collected data from the A5 axis, the parameter linearization of the above equations is as follows:
[0171] τ exp,3 =τ exp3,A5
[0172]
[0173] Where, τ exp3,A5 This represents the load torque, p, determined in the third action test based on the data from axis A5 and the load torque relationship f. load3,A5 This represents the load parameters determined in the third action test based on the data of axis A5 and the load torque relationship f, where b1 is a dynamic constant. When the load torque relationship f is substituted into the data of the third test, i corresponding to axis A5 is taken as 5.
[0174] For the results of the fourth experiment, the corresponding equation is:
[0175]
[0176] Since the fourth action experiment only collected data from the A3 axis, the parameter linearization of the above equations is as follows:
[0177] τ exp,4 =τ exp4,A3
[0178] p load,4 =p load4,A3 =[I yy +c1m(z c +c1)-c2m(x c-c2)+mx c (x c -c2)+mz c (z c +c2), c2m(z) c +c1)+c1m(x c -c2)+mz c (x c -c2)-mx c (z c +c1), c1mg+mgz c c2mg-mgx c ]
[0179] Where τ exp4,A3 This represents the load torque determined in the fourth action test based on the data of axis A3 and the load torque relationship f. c1 and c2 are dynamic constants. When the load torque relationship f is substituted into the data of the fourth test, i corresponding to axis A3 is taken as 3.
[0180] Based on the parameter linearization process described above, four sets of linear factors for the load parameters can be obtained, as shown below:
[0181]
[0182]
[0183]
[0184] p load,4 =[I yy +c1m(z c +c1)-c2m(x c -c2)+mx c (x c -c2)+mz c (z c +c2,c2mzc+c1+c1mxc-c2+mzcxc-c2-mxczc+c1,c1mg+mgzc,c2mg-mgxc].
[0185] The four equations above together constitute the first set of equations after parameter linearization.
[0186] In this way, this application can combine each set of test results with the load torque relationship to obtain the equation corresponding to each set of test results. Then, these equations are linearized and the relevant parameters are formally arranged mathematically to simplify the calculation.
[0187] In some implementations, step 04 includes:
[0188] Based on the first set of equations, determine the mass of the load, the principal axis inertia tensor of the load, and the position of the center of mass of the load.
[0189] In some implementations, the second data processing module is used to determine the mass of the load, the principal axis inertia tensor of the load, and the position of the center of mass of the load based on the first set of equations.
[0190] In some implementations, the processor is used to determine the mass of the load, the principal axis inertia tensor of the load, and the position of the center of mass of the load according to the first set of equations.
[0191] Specifically, observing the four equations of the first set of equations above, we can see that the first set of equations is a linear combination of the load parameters. Therefore, it is necessary to further solve the first set of equations to obtain all the components of the load parameter p.
[0192] In some examples, the solution process for the first system of equations will be explained below:
[0193] Applying the least squares method to the first system of equations:
[0194] p load,j =(Y T Y) / Yτ exp,j
[0195] The above formula provides the linear combination solution of the four equations in the first system of equations. Further solving this linear combination solution will determine the desired parameters. Specifically:
[0196] First, p 10ad1.A5 p load,4 The partial calculation results form a system of linear equations, which yields...
[0197]
[0198] a3mg+mgz c =p exp1,j5 (2)
[0199] mgx c =p exp1,j5 (3)
[0200] I yy +c1m(z c +c1)-c2m(x c -c2)+mx c (x c -c2)+mz c (z c +c2)=p load,4 (1)
[0201] Where p load1,A5(k) represents vector p load1,A5 The k-th element, p load,4 (k) represents vector p load,4 The kth element.
[0202] By solving the four equations above together, we can obtain the load mass m and the x and y coordinates of the load's centroid. c , z c And a component I in the load principal axis inertia tensor yy .
[0203] Next, p load1,A6 p load,2 p load,3 And using the load parameters already solved above, solve the following system of linear equations:
[0204] mx c y c =p load1,A6 (1)
[0205]
[0206]
[0207] Where p l0ad1,A6 (k) represents vector p load1,A6 The k-th element, p load,2 (k) represents vector p load,2 The k-th element, p load,3 (k) represents vector p load,3 The kth element.
[0208] Solving the above equations will yield the other two components I of the load principal axis inertia tensor. xx I zz and the ordinate y of the load centroid c .
[0209] At this point, all components of the load parameter p have been determined.
[0210] Thus, this application can determine parameters such as the mass of the load, the spindle inertia tensor, and the position of the center of mass based on the above equations, so that the robot can identify the load based on the above parameters.
[0211] This application also provides a computer-readable storage medium storing a computer program that, when executed by one or more processors, implements the method as described in any of the above embodiments.
[0212] In the description of this specification, the references to terms such as "some embodiments," "in one example," "exemplarily," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0213] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the function involved, as will be understood by those skilled in the art to which embodiments of this application pertain.
[0214] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.
Claims
1. A robot control method for a robot equipped with a load, characterized in that, The method includes: Based on the robot's circuit state and motion state, determine the load torque relationship of each axis of the robot; Obtain multiple sets of action test results for the robot, wherein each set of action test results is obtained by performing action tests on one or two axes of the robot. Based on the test results and the load torque relationship, the first set of equations is determined after parameter linearization. Based on the first set of equations, the load parameters of the robot are determined in order to identify the load; The acquisition of multiple sets of action test results for each axis of the robot includes: Obtain the first test result of the first action test and the second test result of the second action test; Perform posture adjustment on the robot; Obtain the third test results of the third action test and the fourth test results of the fourth action test; The acquisition of multiple sets of action test results for each axis of the robot includes: In response to the user's settings, confirm the initial position of the robot's motion test for each axis; Based on the first action test, the current and position information of the robot's first axis and second axis are determined as the first test result; Based on the second action test, the current and position information of the robot's second axis are determined as the second test result; Rotate the flange shaft (A6) of the robot by 90° or -90° to adjust the robot's preset posture; Based on the third action test, the current and position information of the robot's first axis are determined as the result of the third test; Based on the fourth action test, the current and position information of the robot's third axis are determined as the results of the fourth test.
2. The method according to claim 1, characterized in that, Determining the load torque relationship of each axis of the robot based on the robot's circuit state and motion state includes: Based on the attribute parameters and current of each axis of the robot, the joint torque relationship of each axis of the robot is determined; The load torque relationship is determined based on the attribute parameters of each axis of the robot and the joint torque relationship.
3. The method according to claim 1, characterized in that, The determination of the first set of equations based on the action test results and the load torque relationship, after parameter linearization processing, includes: Substitute the results of the action test into the load torque relationship to determine the initial first set of equations; Based on the initial first set of equations, the first set of equations is determined after parameter linearization.
4. The method according to claim 1, characterized in that, The determination of the first set of equations based on the action test results and the load torque relationship, after parameter linearization processing, includes: Based on the results of the first test and the load torque relationship, the first equation is determined; Based on the results of the second test and the load torque relationship, determine the second equation; Based on the results of the third test and the load torque relationship, the third process is determined; Based on the results of the fourth test and the load torque relationship, determine the fourth equation; Based on the first equation, the second equation, the third equation, and the fourth equation, determine the initial first set of equations; Based on the initial first set of equations, the first set of equations is determined after parameter linearization.
5. The method according to claim 1, characterized in that, The step of determining the robot's load parameters based on the first set of equations to identify the load includes: Based on the first set of equations, determine the mass of the load, the principal axis inertia tensor of the load, and the position of the center of mass of the load.
6. A robot control device, suitable for employing the robot control method according to any one of claims 1-5, characterized in that, The device includes: The preparation module is used to determine the load torque relationship of each axis of the robot based on the circuit state and motion state of the robot. The test data acquisition module is used to acquire the action test results of the robot; The first data processing module is used to determine the first set of equations based on the action test results and the load torque relationship, after parameter linearization processing. The second data processing module is used to determine the robot's load parameters based on the first set of equations in order to identify the load.
7. A robot, characterized in that, It includes a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the method as described in any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by one or more processors, implements the method as described in any one of claims 1-5.
Citation Information
Patent Citations
Identification method of six-degree-of-freedom serial robot tail-end load kinetic parameters
CN108227492A
Collaborative robot joint load torque observation method and system and storage medium
CN114700939A