A method, device, equipment and storage medium for identifying kinetic parameters
By rotating the rotation axis at the end of the robot arm to collect dynamic data of multiple identifying postures, calculating the load center of mass and moment of inertia, the high-cost or complex load identification problems in the prior art are solved, and efficient and low-cost identification of dynamic parameters is achieved.
Patent Information
- Application Number
- CN202110682411.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-18
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2041-06-18
AI Technical Summary
Existing robotic arm load identification methods are costly or complex, making it difficult to accurately identify individual parameters, especially in the absence of CAD models or six-dimensional force sensors.
By rotating the shaft after loading the load at the end of the robot arm, multiple identification postures are obtained, load and no-load dynamics data are collected, and the center of mass position and main moment of inertia of the load is calculated using the teaching guide trajectory editing and controller program instructions, avoiding the use of additional six-dimensional force sensors or CAD models.
The cost of identifying dynamic parameters of the end load of the robot arm is reduced, the identification efficiency is improved, and the dynamic parameters of any shape load can be accurately identified, and it does not depend on large-scale motion.
Smart Images

Figure CN115494794B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of mechanical equipment, and in particular, to a method, device, equipment and storage medium for identifying dynamic parameters. Background Art
[0002] Currently, the commonly used robotic arm in industry refers to a complex system with high precision, multiple inputs and outputs, high nonlinearity, and strong coupling. Due to its unique operational flexibility, it has been widely used in industrial assembly, safety explosion protection and other fields. The robotic arm is a complex system, with uncertainties such as parameter perturbation, external interference, and unmodeled dynamics. Therefore, the modeling model of the robotic arm also has uncertainties. For different tasks, it is necessary to plan the motion trajectory of the robotic arm joint space, and then cascade to form the end pose.
[0003] In the prior art, there are mainly the following three commonly used load identification methods at the present stage: the CAD model method, which reads the CAD model of the load block through computer software (such as solidwork), and then exports the dynamic parameters of the load object block. The biggest defect of this method is that if we do not have the CAD model of the load block, we cannot use this method; the load identification method of the end six-dimensional sensor, which uses the readings of the six-dimensional force sensor to obtain the dynamic parameters of the load through a complex calculation process. The obvious defect of this method is the high cost. An ATI six-dimensional force sensor is as high as 50,000 to 60,000 yuan, which makes the overall cost increase sharply; the sensorless overall identification method, which uses the same method as the overall machine dynamics identification, designs the excitation trajectory, collects the relevant data with and without load, and obtains the minimum inertia set and the smallest combination of load parameters. This method is relatively complex and cannot accurately identify individual parameters. Summary of the Invention
[0004] The purpose of the embodiments of this application is to provide a method, device, equipment and storage medium for identifying dynamic parameters, which can achieve the technical effects of reducing the identification cost and improving the identification efficiency.
[0005] In a first aspect, the embodiments of this application provide a method for identifying dynamic parameters, which is applied to the load at the end of the robotic arm. The method includes:
[0006] Obtain the mass information of the load;
[0007] After installing the load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain multiple identification postures;
[0008] Traverse the multiple identified postures, and perform the following processing on the currently traversed identified posture: Keep the robotic arm in the currently identified posture, obtain the load dynamic data when the rotating shaft of the robotic arm rotates a preset angle at a preset speed while carrying the load, and obtain the no-load dynamic data when the rotating shaft of the robotic arm rotates a preset angle at a preset speed without carrying the load;
[0009] Obtain the dynamic parameters of the load according to the mass information of the load, the load dynamic data, and the no-load dynamic data, where the dynamic parameters include the centroid position and the principal moment of inertia of the load.
[0010] In the above implementation process, this dynamic parameter identification method does not require an additional six-axis force sensor or CAD model. It only relies on multiple identified postures and corresponding dynamic data, such as position, acceleration, and torque data, to calculate the position of the load one by one, and the principal moment of inertia with the origin of the robotic arm output coordinate system and the principal moment of inertia with the centroid position of the load as the origin; this dynamic parameter identification method is simple and easy to use, and can be implemented through the teach pendant trajectory editing and controller program instructions, achieving the technical effects of reducing the dynamic parameter identification cost of the load at the end of the robotic arm and improving the identification efficiency.
[0011] Further, the robotic arm is a multi-axis robotic arm, and the step of traversing the multiple identified postures includes:
[0012] After loading the load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain the first identified posture, where the first identified posture is the posture in which the load is not affected by gravity when the last axis rotates;
[0013] The robotic arm maintains the first identified posture;
[0014] Collect the first load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different speeds while carrying the load;
[0015] Collect the first no-load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different speeds without carrying the load;
[0016] Calculate according to the first load dynamic data and the first no-load dynamic data of the last axis to obtain the principal moment of inertia of the load with respect to the Z-axis direction of the last axis
[0017] Further, after the step of calculating according to the load dynamic data and the no-load dynamic data of the last axis to obtain the principal moment of inertia of the load with respect to the Z-axis direction of the last axis, the method further includes:
[0018] After installing a load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain a second identification posture, where the second identification posture is the posture of the load affected by gravity when the last axis rotates;
[0019] The robotic arm maintains the second identification posture;
[0020] Collect the second load dynamics data of the last axis of the robotic arm when carrying the load and rotating a preset angle at different rotational speeds respectively;
[0021] Collect the second no-load dynamics data of the last axis of the robotic arm when not carrying the load and rotating a preset angle at different rotational speeds respectively;
[0022] According to the second load dynamics data of the last axis, the second no-load dynamics data and the principal moment of inertia Calculate to obtain the coordinates x, y of the centroid position of the load relative to the robotic arm coordinate system.
[0023] Further, after the step of calculating according to the second load dynamics data of the last axis, the second no-load dynamics data and the principal moment of inertia to obtain the coordinates x, y of the centroid position of the load relative to the robotic arm coordinate system, the method further includes:
[0024] After installing a load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain a third identification posture, where the third identification posture is the posture of the load and the last axis not affected by gravity when the axis before the last axis rotates;
[0025] The robotic arm maintains the third identification posture;
[0026] Collect the third load dynamics data of the axis before the last axis of the robotic arm when carrying the load and rotating a preset angle at different rotational speeds respectively;
[0027] Collect the third no-load dynamics data of the axis before the last axis of the robotic arm when not carrying the load and rotating a preset angle at different rotational speeds respectively;
[0028] Calculate according to the third load dynamics data of the axis before the last axis and the third no-load dynamics data to obtain the inertia tensor of the load in the Z-axis direction of the axis before the last axis
[0029] Further, calculating according to the third load dynamics data of the axis before the last axis and the third no-load dynamics data to obtain the inertia tensor of the load in the Z-axis direction of the axis before the last axis After the steps of
[0030] After installing a load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain a fourth identification posture, where the fourth identification posture is the posture in which the load and the last axis are not affected by gravity when the axis before the last axis rotates;
[0031] The robotic arm maintains the fourth identification posture;
[0032] Collect the fourth load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different rotational speeds while carrying the load;
[0033] Collect the fourth no-load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different rotational speeds without carrying the load;
[0034] According to the fourth load dynamic data, the fourth no-load dynamic data, and the inertia tensor Calculate to obtain the coordinate z of the center of mass position of the load relative to the robotic arm coordinate system and the principal moment of inertia of the coordinate system with the center of mass of the load as the origin.
[0035] In a second aspect, an embodiment of the present application provides a dynamic parameter identification device applied to a load at the end of a robotic arm. The device includes:
[0036] A mass acquisition module for acquiring the mass information of the load;
[0037] An identification posture module for rotating the rotating shaft of the robotic arm after installing the load at the end of the robotic arm to obtain a plurality of identification postures;
[0038] A traversal module for traversing the plurality of identification postures and performing the following processing on the currently traversed identification posture: keeping the robotic arm in the current identification posture, collecting the load dynamic data when the rotating shaft of the robotic arm rotates a preset angle at a preset rotational speed while carrying the load, and collecting the no-load dynamic data when the rotating shaft of the robotic arm rotates a preset angle at a preset rotational speed without carrying the load;
[0039] A dynamic parameter module for obtaining the dynamic parameters of the load according to the mass information of the load, the load dynamic data, and the no-load dynamic data, where the dynamic parameters include the center of mass position and the principal moment of inertia of the load.
[0040] Further, the traversal module includes:
[0041] The first identification attitude unit is used to rotate the rotating shaft of the robotic arm after a load is installed at the end of the robotic arm, so as to obtain a first identification attitude, where the first identification attitude is the attitude in which the load is not affected by gravity when the last axis rotates;
[0042] The first data acquisition unit is used to keep the robotic arm in the first identification attitude, and acquire first load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotation speeds when carrying a load, and acquire first no-load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotation speeds when not carrying a load;
[0043] The principal moment of inertia unit is used to calculate based on the first load dynamic data and the first no-load dynamic data of the last axis, so as to obtain the principal moment of inertia of the load with respect to the Z-axis direction of the last axis
[0044] Further, the traversal module further includes:
[0045] The second identification attitude unit is used to rotate the rotating shaft of the robotic arm after a load is installed at the end of the robotic arm, so as to obtain a second identification attitude, where the second identification attitude is the attitude in which the load is affected by gravity when the last axis rotates;
[0046] The second data acquisition unit is used to keep the robotic arm in the second identification attitude, and acquire second load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotation speeds when carrying a load, and acquire second no-load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotation speeds when not carrying a load;
[0047] The centroid position unit is used to calculate based on the second load dynamic data of the last axis, the second no-load dynamic data and the principal moment of inertia to obtain the coordinates x and y of the centroid position of the load with respect to the robotic arm coordinate system.
[0048] Further, the traversal module further includes:
[0049] The third identification attitude unit is used to rotate the rotating shaft of the robotic arm after a load is installed at the end of the robotic arm, so as to obtain a third identification attitude, where the third identification attitude is the attitude in which the load and the last axis are not affected by gravity when the axis before the last axis rotates;
[0050] The third data acquisition unit is configured to, when the robotic arm maintains the third identification posture, acquire third load dynamic data of the axis immediately preceding the last axis of the robotic arm when the axis immediately preceding the last axis rotates a preset angle at different rotational speeds while carrying a load, and acquire third no-load dynamic data of the axis immediately preceding the last axis of the robotic arm when the axis immediately preceding the last axis rotates a preset angle at different rotational speeds without carrying a load;
[0051] The inertia tensor unit is configured to calculate based on the third load dynamic data and the third no-load dynamic data of the axis immediately preceding the last axis to obtain the inertia tensor of the load in the Z-axis direction of the axis immediately preceding the last axis.
[0052] Further, the traversal module further includes:
[0053] The fourth identification posture unit is configured to, after loading a load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain a fourth identification posture, where the fourth identification posture is a posture in which the load and the last axis are not affected by gravity when the axis immediately preceding the last axis rotates;
[0054] The fourth data acquisition unit is configured to, when the robotic arm maintains the fourth identification posture, acquire fourth load dynamic data of the axis immediately preceding the last axis of the robotic arm when the axis immediately preceding the last axis rotates a preset angle at different rotational speeds while carrying a load, and acquire fourth no-load dynamic data of the axis immediately preceding the last axis of the robotic arm when the axis immediately preceding the last axis rotates a preset angle at different rotational speeds without carrying a load;
[0055] The centroid position and principal moment of inertia unit is configured to calculate based on the fourth load dynamic data, the fourth no-load dynamic data, and the inertia tensor to obtain the coordinates z of the centroid position of the load relative to the robotic arm coordinate system and the principal moment of inertia based on the coordinate system with the load centroid as the origin.
[0056] In a third aspect, an apparatus provided in an embodiment of the present application includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, where when the processor executes the computer program, the steps of the method according to any one of the first aspect are implemented.
[0057] In a fourth aspect, a storage medium provided in an embodiment of the present application has instructions stored thereon, and when the instructions are run on a computer, the computer is caused to execute the method according to any one of the first aspect.
[0058] Fifth aspect, a computer program product provided by an embodiment of the present application, when the computer program product runs on a computer, enables the computer to execute the method described in any item of the first aspect.
[0059] Other features and advantages disclosed in the present application will be elaborated in the subsequent specification, or, some features and advantages can be inferred from the specification or determined without doubt, or can be known by implementing the above technologies disclosed in the present application.
[0060] To make the above objects, features, and advantages of the present application more obvious and understandable, the following specifically gives preferred embodiments and, in conjunction with the accompanying drawings, the detailed description is as follows. Description of the Drawings
[0061] To more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required to be used in the embodiments of the present application. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as a limitation of the scope. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.
[0062] Figure 1 It is a schematic flowchart of the dynamic parameter identification method provided by the embodiment of the present application;
[0063] Figure 2 It is a schematic structural diagram of the initial position of the robotic arm provided by the embodiment of the present application;
[0064] Figure 3 It is a schematic flowchart of the dynamic parameter identification when the robotic arm is in the first identification posture provided by the embodiment of the present application;
[0065] Figure 4 It is a schematic structural diagram of the first identification posture of the robotic arm provided by the embodiment of the present application;
[0066] Figure 5 It is a schematic flowchart of the dynamic parameter identification when the robotic arm is in the second identification posture provided by the embodiment of the present application;
[0067] Figure 6 It is a schematic structural diagram of the second identification posture of the robotic arm provided by the embodiment of the present application;
[0068] Figure 7 It is a schematic flowchart of the dynamic parameter identification when the robotic arm is in the third identification posture provided by the embodiment of the present application;
[0069] Figure 8 It is a schematic structural diagram of the robotic arm in the third identification posture provided by the embodiment of the present application;
[0070] Figure 9Schematic diagram of the dynamic parameter identification process when the robotic arm provided in the embodiment of the present application is in the fourth identification posture;
[0071] Figure 10 Schematic diagram of the structure of the fourth identification posture of the robotic arm provided in the embodiment of the present application;
[0072] Figure 11 Block diagram of the structure of the dynamic parameter identification device provided in the embodiment of the present application;
[0073] Figure 12 Block diagram of the structure of a device provided in the embodiment of the present application.
[0074] Icons: 100 - Mass acquisition module; 200 - Identification posture module; 300 - Traversal module; 400 - Dynamic parameter module; 510 - Processor; 520 - Communication interface; 530 - Memory; 540 - Communication bus. Detailed implementation manners
[0075] Next, the technical solutions in the embodiments of the present application will be described with reference to the accompanying drawings in the embodiments of the present application.
[0076] It should be noted that: similar reference numerals and letters denote similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of the present application, terms such as "first", "second", etc. are only used for distinguishing descriptions and cannot be construed as indicating or implying relative importance.
[0077] The embodiment of the present application provides a dynamic parameter identification method, device, equipment and storage medium, which can be applied to the dynamic parameter identification of the load at the end of the robotic arm; this dynamic parameter identification method does not require an additional six - dimensional force sensor or CAD model, and only relies on multiple identification postures and corresponding dynamic data, such as position, acceleration and torque data, to calculate the position of the load one by one, and the principal moment of inertia with the origin of the robotic arm output coordinate system and the principal moment of inertia with the origin of the centroid position of the load respectively; this dynamic parameter identification method is simple and easy to use, and can be realized through the trajectory editing of the teach pendant and the controller program instructions, achieving the technical effects of reducing the cost of dynamic parameter identification of the load at the end of the robotic arm and improving the identification efficiency.
[0078] Please refer to Figure 1 , Figure 1 Schematic diagram of the process of the dynamic parameter identification method provided in the embodiment of the present application. This dynamic parameter identification method is applied to the load at the end of the robotic arm and includes the following steps:
[0079] S100: Obtain the mass information of the load.
[0080] S200: Rotate the rotating shaft of the robotic arm after installing a load at the end of the robotic arm to obtain multiple identified postures.
[0081] S300: Traverse multiple identified postures, and perform the following processing on the currently traversed identified posture: Keep the robotic arm in the current identified posture, obtain the load dynamic data when the rotating shaft of the robotic arm rotates a preset angle at a preset speed while carrying the load, and obtain the no-load dynamic data when the rotating shaft of the robotic arm rotates a preset angle at a preset speed without carrying the load.
[0082] S400: Obtain the dynamic parameters of the load according to the mass information of the load, the load dynamic data, and the no-load dynamic data. The dynamic parameters include the centroid position and the principal moment of inertia of the load.
[0083] Exemplarily, this dynamic parameter identification method does not require additional devices such as six-axis force sensors for identification. By setting the posture of the robotic arm and establishing a corresponding dynamic model, the dynamic parameters of the load can be identified without additional devices, which can reduce the cost of the robotic arm. In addition, this dynamic parameter identification method does not depend on the existing CAD model and can identify the dynamic parameters of loads of any shape and size. For some loads with strange shapes and unknown CAD models, the loads can be identified by this method. Moreover, this dynamic parameter identification method has high precision and can identify each load parameter separately, such as the centroid position and the principal moment of inertia of the load. When performing load identification, the robotic arm does not need to move in a large range and can complete the identification work in a limited space.
[0084] It should be understood that the embodiments of the present application use a six-axis robotic arm as an example for illustration; based on the same principle, the dynamic parameter identification method provided by the present application can also be used for other multi-axis robotic arms such as four-axis robotic arms, which will not be elaborated here.
[0085] Please refer to Figure 2 , Figure 2 which is a schematic structural diagram of the initial position of the robotic arm provided by the embodiment of the present application.
[0086] Exemplarily, a six-axis robotic arm includes a base and six rotating shafts. The six rotating shafts are the first shaft, the second shaft, the third shaft, the fourth shaft, the fifth shaft, and the sixth shaft in order from near to far according to the connection position with the base. At this time, the last shaft of the robotic arm is the sixth shaft, and the shaft before the last shaft is the fifth shaft, and so on.
[0087] Please refer to Figure 3 , Figure 3 which is a schematic flowchart of dynamic parameter identification when the robotic arm is in the first identified posture provided by the embodiment of the present application.
[0088] Exemplarily, the step of S300: traversing multiple identified postures includes:
[0089] S311: Rotate the rotating shaft of the robotic arm after installing a load at the end of the robotic arm to obtain a first identification posture, where the first identification posture is the posture in which the load is not affected by gravity when the last axis rotates.
[0090] S312: The robotic arm maintains the first identification posture, and collects the first load dynamic data of the last axis of the robotic arm when carrying a load and rotating a preset angle at different rotational speeds respectively, and collects the first no-load dynamic data of the last axis of the robotic arm when not carrying a load and rotating a preset angle at different rotational speeds respectively.
[0091] S313: Calculate based on the first load dynamic data and the first no-load dynamic data of the last axis to obtain the principal moment of inertia of the load with respect to the Z-axis direction of the last axis.
[0092] Please refer to Figure 4 , Figure 4 which is a schematic structural diagram of the first identification posture of the robotic arm provided by the embodiment of the present application. The first axis, the second axis, the third axis, the fourth axis, the fifth axis, and the sixth axis of the robotic arm correspond to axis1, axis2, axis3, axis4, axis5, and axis6 in sequence.
[0093] Exemplarily, keep the first axis, the second axis, and the third axis of the robotic arm unchanged at the initial position, rotate the fourth axis and the fifth axis so that the Z-axis of the sixth axis coincides with the Z-axis direction of the first axis. In this way, when the sixth axis rotates, the load at the end of the robotic arm is completely not affected by gravity.
[0094] Exemplarily, calculate the principal moment of inertia of the load with respect to the Z-axis direction of the sixth axis. After the first identification posture is set, each time the sixth axis is rotated at different speeds, the rotation angle ranges from -90° to 90° (it can also be other angle ranges), record the torque difference (Δτ6) of the sixth axis with and without load, and the angular velocity when the sixth axis rotates. and the angular acceleration. Use the following method to calculate the principal moment of inertia of the load in the Z-axis direction in the output coordinate system of the robotic arm (at this time, the sixth axis rotates, that is, the sixth axis coordinate system).
[0095] Since the sixth axis is rotated and the load is not affected by gravity, the potential energy of the load is zero at this time. The kinetic energy K is:
[0096]
[0097] Establish an inverse dynamics linearization model according to the energy Lagrange method to obtain:
[0098]
[0099] Δτ6 is the difference between the torque measured when the sixth axis is loaded and the torque measured when it is unloaded.
[0100] Since the data running at different speeds are collected along the entire trajectory of rotating the sixth axis with the rotation angle ranging from -90° to 90° (it can be other angular ranges), in order to minimize the calculation deviation, the least squares method is used for fitting:
[0101]
[0102] Through the above method, the principal moment of inertia of the load in the Z-axis direction under the output coordinate system of the robotic arm can be calculated first.
[0103] Please refer to Figure 5 , Figure 5 , which is a schematic flow diagram of the dynamic parameter identification when the robotic arm provided by the embodiment of the present application is in the second identification posture.
[0104] Exemplarily, after the step of calculating the principal moment of inertia of the load with respect to the Z-axis direction of the last axis according to the load dynamic data and no-load dynamic data of the last axis, the method further includes:
[0105] S321: After installing the load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain the second identification posture, where the second identification posture is the posture of the load affected by gravity when the last axis rotates.
[0106] S322: Keep the robotic arm in the second identification posture, collect the second load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotational speeds while carrying the load, and collect the second no-load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotational speeds without carrying the load.
[0107] S323: Calculate according to the second load dynamic data, the second no-load dynamic data and the principal moment of inertia of the last axis to obtain the coordinates x, y of the centroid position of the load relative to the coordinate system of the robotic arm.
[0108] Please refer to Figure 6 , Figure 6 , which is a schematic structural diagram of the second identification posture of the robotic arm provided by the embodiment of the present application.
[0109] Exemplarily, calculate the principal moment of inertia After that, rotate the 4th axis and the 5th axis to the initial position to make the load in the second identified posture affected by gravity (the gravitational potential energy of the load relative to the rotation axis is not 0). This step is used to calculate the products mx and my of the position of the center of mass of the load in the X and Y directions and the mass. In this posture, the product mz of the position of the center of mass in the Z direction and the mass is 0. Similarly, rotate the 6th axis at different speeds each time, from -90° to 90° (it can be other angular ranges), and collect the position (q6) and acceleration and torque difference (Δτ6) data of the 6th axis.
[0110] Calculate the products of the position of the center of mass of the load in the X and Y directions and the mass: At this time, rotate the 6th axis from -90° to 90°. At this time, the load is affected by gravity, and the inverse dynamics equation becomes:
[0111]
[0112] where m load is the mass of the load, Pc is the position of the center of mass, is the rotation matrix of the 6th axis coordinate in the base coordinate system, which is related to the rotation angle of the 6th axis, and g is the gravitational acceleration.
[0113] Let Similarly, transform the above formula in the form of least squares to obtain the products of the position of the center of mass of the load in the X and Y directions and the mass:
[0114]
[0115] where ω is an n*3 matrix, and n is the number of sampling points on the trajectory; is an n*1 matrix; ω T is the transpose of ω; pinv() is to find the pseudo-inverse of the matrix; obtain:
[0116]
[0117] Please refer to Figure 7 , Figure 7 which is the schematic flow chart of the dynamic parameter identification when the robotic arm provided by the embodiment of the present application is in the third identified posture.
[0118] Exemplarily, after the step of calculating and obtaining the coordinates x and y of the position of the center of mass of the load relative to the robotic arm coordinate system according to the second load dynamic data, the second no-load dynamic data and the principal moment of inertia of the last axis , the method further includes:
[0119] S331: After installing the load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain the third identified posture, and the third identified posture is the posture when the load and the last axis are not affected by gravity when the previous axis of the last axis rotates;
[0120] S332: The robotic arm maintains the third identification posture, and acquires the third load dynamic data of the axis immediately preceding the last axis of the robotic arm when the axis immediately preceding the last axis rotates a preset angle at different rotational speeds while carrying a load, and acquires the third no-load dynamic data of the axis immediately preceding the last axis of the robotic arm when the axis immediately preceding the last axis rotates a preset angle at different rotational speeds without carrying a load;
[0121] S333: Calculate based on the third load dynamic data and the third no-load dynamic data of the axis immediately preceding the last axis to obtain the inertia tensor of the load in the Z-axis direction of the axis immediately preceding the last axis
[0122] Please refer to Figure 8 , Figure 8 which is the structural schematic diagram of the robotic arm in the third identification posture provided by the embodiment of the present application.
[0123] Exemplarily, by changing the posture of the robotic arm and rotating the 5th axis, the product mz of the position of the center of mass of the load in the Z direction and the mass can be obtained. First, regard the 6th axis and the load as a whole, and change the posture of the robotic arm so that the 6th axis and the load are not affected by gravity (the third identification posture); then rotate the 6th axis to make the Y direction of the 6th axis coincide with the Z direction of the 5th axis, and the posture of the robotic arm is as Figure 8 shown. Finally, by rotating the 5th axis at different speeds each time, with the rotation angle ranging from -90° to 90° (it can be other angle ranges), collect the position (q5) of the 5th axis, the acceleration and the torque difference (Δτ5), and calculate
[0124] the inertia tensor of the load around the origin coordinate of the 5th axis Find the principal moment of inertia of the load around the Z direction of the 5th axis:
[0125]
[0126] Δτ5 is the difference between the torque of the 5th axis when carrying a load and the torque when not carrying a load.
[0127] It should be noted that at this time, the is not the inertia tensor of the load at the origin coordinate of the 6th axis that we need It is the inertia tensor of the load around the origin coordinate of the 5th axis, and in subsequent calculations, the inertia tensor of the load with its center of mass as the origin coordinate needs to be obtained through the parallel axis theorem.
[0128] Please refer to Figure 9 , Figure 9 which is the flow schematic diagram of dynamic parameter identification when the robotic arm is in the fourth identification posture provided by the embodiment of the present application.
[0129] Exemplarily, based on the calculation of the third load dynamic data and the third no-load dynamic data of the previous axis of the last axis, the inertia tensor of the load in the Z-axis direction of the previous axis of the last axis is obtained. After the step of
[0130] S341: After loading the load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain a fourth identification pose, where the fourth identification pose is the pose where the load and the last axis are not affected by gravity when the previous axis of the last axis rotates.
[0131] S342: The robotic arm maintains the fourth identification pose, and collects the fourth load dynamic data of the previous axis of the last axis of the robotic arm when carrying the load and rotating a preset angle at different rotation speeds respectively, and collects the fourth no-load dynamic data of the previous axis of the last axis of the robotic arm when not carrying the load and rotating a preset angle at different rotation speeds respectively.
[0132] S343: Based on the calculation of the fourth load dynamic data, the fourth no-load dynamic data, and the inertia tensor calculate to obtain the coordinates z of the centroid position of the load relative to the robotic arm coordinate system and the principal moment of inertia based on the coordinate system with the load centroid as the origin.
[0133] Please refer to Figure 10 , Figure 10 which is a schematic structural diagram of the fourth identification pose of the robotic arm provided by the embodiment of the present application.
[0134] Exemplarily, the following content calculates the product mx and mz of the position of the load centroid in the X and Z directions and the mass. At the fourth identification pose, my = 0. Rotate the fourth axis so that the sixth axis and the load are affected by gravity. The fourth identification pose is as Figure 10 shown, and then rotate the fifth axis at different speeds each time, from -90° to 90° (it can be other angle ranges), and collect the position of the fifth axis (q5), the torque difference between with load and without load (Δτ5), and the angular acceleration data.
[0135] At this time, the inverse dynamics equation of the fifth axis becomes:
[0136]
[0137] Pc' is the position Pc of the load centroid plus the offset d from the fifth-axis coordinate system to the sixth-axis coordinate system; where is the homogeneous transformation matrix from the fifth-axis coordinate system to the sixth-axis coordinate system, obtained from the DH parameters; is the rotation matrix of the fifth-axis coordinate in the base coordinate, related to the rotation angle of the fifth axis; g is the acceleration due to gravity.
[0138] Let The above equation is transformed in the form of least squares as follows:
[0139]
[0140] where ω' is an n×3 matrix, and n is the number of acquisition points on the trajectory; is an n×1 matrix; ω' T is the transpose of ω; pinv() is to find the pseudo-inverse.
[0141] Exemplarily, the above m load *Pc' is that the load is also multiplied by the distance (d) from the 5th axis to the 6th axis. Therefore, when calculating mz, this offset d should be subtracted, and we get:
[0142]
[0143] So far, the dynamic parameter identification method has obtained the centroid position Pc = (x, y, z) of the load. Next is to calculate the principal moment of inertia of the load.
[0144] Exemplarily, obtain the principal moment of inertia of the centroid of the load in the Z direction at the origin of the 6th axis coordinate After that, the principal moment of inertia of the load in the coordinate system with its centroid as the origin can be continuously calculated; first calculate the principal moment of inertia of the load in the coordinate system with its centroid as the origin It needs to be calculated by the parallel axis theorem. The calculation process is as follows:
[0145]
[0146] A = m load *(Pc T *Pc*I - Pc*Pc T );
[0147]
[0148] Note: A(3,3) represents taking the element in the third row and third column of matrix A; I is a 3×3 identity matrix; Pc is the position of the load centroid in the 6th axis coordinate system; Pc T is the transpose of the position of the load centroid in the 6th axis coordinate system.
[0149] Exemplarily, calculate the principal moment of inertia of the load in the coordinate system with its centroid as the origin is the principal moment of inertia of the load centroid in the Z direction at the origin of the 5th axis coordinate, rather than the principal moment of inertia in the coordinate system with its centroid as the origin. Similarly, to calculate the principal moment of inertia I_cyy^load of the load in the coordinate system with its centroid as the origin, it needs to be calculated by the parallel axis theorem. The calculation process is as follows:
[0150]
[0151] Pc new = Pc + d;
[0152] B = m load *(Pc new T *Pc new *I - Pc new *Pc new T );
[0153]
[0154] Among them, the meaning of B(2,2) is to take the element in the first row and first column of matrix B; I is a 3×3 identity matrix; Pc is the position of the center of mass of the load at the origin of the 6th axis coordinate; Pc new represents the position of the center of mass of the load at the origin of the 5th axis coordinate; Pc new T represents the transpose of the position of the center of mass of the load at the origin of the 5th axis coordinate; d is the distance from the 5th axis coordinate system to the 6th axis coordinate system
[0155] Exemplarily, rotate the 6th axis to make the X direction of the load coincide with the Z direction of the 5th axis. The 6th axis and the load are not affected by gravity. The fourth identified posture is as Figure 10 shown; then rotate the 5th axis at different speeds each time, from -90° to 90° (it can be other angular ranges), and collect the torque difference (Δτ5) and angular acceleration with and without load The principal moment of inertia in the Z direction of the coordinate system with the 5th axis as the origin can be obtained
[0156] Exemplarily, calculate the principal moment of inertia in the Z direction of the coordinate system with the 5th axis as the origin of the load in the fourth identified posture
[0157]
[0158] Calculate the principal moment of inertia in the X direction of the coordinate system with the center of mass of the load as the origin When the 5th axis rotates around its own Z direction, it is equivalent to the load rotating around the X direction of the 6th axis. Since there is a position offset between the Z direction of the 5th axis and the X direction of the 6th axis Therefore, the principal moment of inertia in the X direction of the coordinate system with the center of mass of the load as the origin also needs to be calculated by two parallel axis translations The calculation process is as follows:
[0159]
[0160] Pcnew2 = Pc + d2;
[0161] C = m load *(Pc new2 T *Oc new *I - Pc new2 *Pc new2 T );
[0162]
[0163] So far, the centroid position Pc(x, y, z) of the load has been calculated, as well as the principal moment of inertia of the load about the X-axis in the coordinate system with its centroid as the origin The principal moment of inertia of the load about the y-axis in the coordinate system with its centroid as the origin Calculate the principal moment of inertia of the load about the x-axis in the coordinate system with its centroid as the origin
[0164] Similarly, the principal moment of inertia of the load in the coordinate system of the robotic arm output can be calculated by the method of parallel axis translation
[0165] In summary, by the dynamic parameter identification method provided in the embodiments of the present application, only by rotating the last axis of the robotic arm and the axis before the last axis (the 6th axis and the 5th axis in a six-axis robotic arm respectively), the position Pc of the load and the principal moment of inertia of the load in the coordinate system with the robotic arm output as the origin and the principal moment of inertia with the centroid position as the origin can be calculated one by one And the principal moment of inertia with the centroid position as the origin This solution is low-cost, simple and easy to use, and the whole process is realized through the trajectory editing of the teaching pendant and the controller program instructions
[0166] Please refer to Figure 11 , Figure 11 which is the structural block diagram of the dynamic parameter identification device provided in the embodiments of the present application. The dynamic parameter identification device is applied to the load at the end of the robotic arm and includes:
[0167] A mass acquisition module 100 for acquiring the mass information of the load;
[0168] An identification attitude module 200 for rotating the rotating shaft of the robotic arm after loading the load at the end of the robotic arm to obtain multiple identification postures;
[0169] The traversal module 300 is used to traverse multiple identified postures and perform the following processing on the currently identified posture during traversal: keep the robotic arm in the currently identified posture, collect the load dynamic data when the rotating shaft of the robotic arm rotates a preset angle at a preset speed while carrying a load, and collect the no-load dynamic data when the rotating shaft of the robotic arm rotates a preset angle at a preset speed without carrying a load;
[0170] The dynamic parameter module 400 is used to obtain the dynamic parameters of the load according to the mass information of the load, the load dynamic data, and the no-load dynamic data. The dynamic parameters include the centroid position and the principal moment of inertia of the load.
[0171] Exemplarily, the traversal module 300 includes:
[0172] The first identified posture unit is used to rotate the rotating shaft of the robotic arm after loading a load at the end of the robotic arm to obtain the first identified posture, where the first identified posture is the posture in which the load is not affected by gravity when the last axis rotates;
[0173] The first data acquisition unit is used to keep the robotic arm in the first identified posture and collect the first load dynamic data of the last axis when the last axis of the robotic arm rotates a preset angle at different speeds while carrying a load, and collect the first no-load dynamic data of the last axis when the last axis of the robotic arm rotates a preset angle at different speeds without carrying a load;
[0174] The principal moment of inertia unit is used to calculate according to the first load dynamic data and the first no-load dynamic data of the last axis to obtain the principal moment of inertia of the load with respect to the Z-axis direction of the last axis
[0175] Exemplarily, the traversal module 300 further includes:
[0176] The second identified posture unit is used to rotate the rotating shaft of the robotic arm after loading a load at the end of the robotic arm to obtain the second identified posture, where the second identified posture is the posture in which the load is affected by gravity when the last axis rotates;
[0177] The second data acquisition unit is used to keep the robotic arm in the second identified posture and collect the second load dynamic data of the last axis when the last axis of the robotic arm rotates a preset angle at different speeds while carrying a load, and collect the second no-load dynamic data of the last axis when the last axis of the robotic arm rotates a preset angle at different speeds without carrying a load;
[0178] The centroid position unit is used to calculate according to the second load dynamic data, the second no-load dynamic data, and the principal moment of inertia of the last axis to obtain the coordinates x and y of the centroid position of the load relative to the robotic arm coordinate system.
[0179] Exemplarily, the traversal module 300 further includes:
[0180] A third attitude identification unit, configured to rotate the rotating shaft of the robotic arm after a load is installed at the end of the robotic arm, so as to obtain a third identified attitude, where the third identified attitude is the attitude in which the load and the last axis are not affected by gravity when the axis before the last axis rotates;
[0181] A third data acquisition unit, configured to keep the robotic arm in the third identified attitude, and acquire third load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different rotation speeds when carrying a load, and acquire third no-load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different rotation speeds without carrying a load;
[0182] An inertia tensor unit, configured to calculate based on the third load dynamic data and the third no-load dynamic data of the axis before the last axis, so as to obtain the inertia tensor of the load in the Z-axis direction of the axis before the last axis
[0183] Exemplarily, the traversal module 300 further includes:
[0184] A fourth attitude identification unit, configured to rotate the rotating shaft of the robotic arm after a load is installed at the end of the robotic arm, so as to obtain a fourth identified attitude, where the fourth identified attitude is the attitude in which the load and the last axis are not affected by gravity when the axis before the last axis rotates;
[0185] A fourth data acquisition unit, configured to keep the robotic arm in the fourth identified attitude, and acquire fourth load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different rotation speeds when carrying a load, and acquire fourth no-load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different rotation speeds without carrying a load;
[0186] A centroid position and principal moment of inertia unit, configured to calculate based on the fourth load dynamic data, the fourth no-load dynamic data, and the inertia tensor to obtain the coordinate z of the centroid position of the load relative to the robotic arm coordinate system and the principal moment of inertia of the coordinate system with the load centroid as the origin.
[0187] It should be understood that Figure 11 the shown dynamic parameter identification device corresponds to Figures 1 to 10 the shown method embodiment. To avoid repetition, it will not be repeated here.
[0188] This application further provides a device. Please refer to Figure 12 , Figure 12A structural block diagram of a device provided by an embodiment of the present application. The device may include a processor 510, a communication interface 520, a memory 530, and at least one communication bus 540. Among them, the communication bus 540 is used to realize the direct connection and communication of these components. Among them, the communication interface 520 of the device in the embodiment of the present application is used to communicate signaling or data with other node devices. The processor 510 may be an integrated circuit chip with signal processing capabilities.
[0189] The above-mentioned processor 510 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or the processor 510 may also be any conventional processor, etc.
[0190] The memory 530 may be, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc. The memory 530 stores computer-readable instructions. When the computer-readable instructions are executed by the processor 510, the device may execute the above Figures 1 to 10 Each step involved in the method embodiment.
[0191] Optionally, the device may further include a storage controller and an input / output unit.
[0192] The memory 530, the storage controller, the processor 510, the peripheral interface, and the input / output unit are directly or indirectly electrically connected to each other to realize data transmission or interaction. For example, these components may be electrically connected to each other through one or more communication buses 540. The processor 510 is used to execute the executable module stored in the memory 530, such as the software function module or computer program included in the device.
[0193] The input / output unit is used to enable the user to create tasks and create an optional start period or a preset execution time for the task, so as to realize the interaction between the user and the server. The input / output unit can be, but is not limited to, a mouse, a keyboard, etc.
[0194] It can be understood that Figure 12 The structure shown is only schematic, and the device may further include more or fewer components than those shown Figure 12 shown, or have a different configuration from that Figure 12 shown. Figure 12 Each component shown can be implemented by hardware, software, or a combination thereof.
[0195] The embodiments of the present application also provide a storage medium, on which instructions are stored. When the instructions run on a computer, the computer program, when executed by a processor, implements the method described in the method embodiments. To avoid repetition, it will not be elaborated here.
[0196] The present application also provides a computer program product, which, when running on a computer, causes the computer to execute the method described in the method embodiments.
[0197] In several embodiments provided by the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of devices, methods, and computer program products according to multiple embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order from that marked in the accompanying drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, as well as the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.
[0198] In addition, in each embodiment of the present application, the functional modules may be integrated together to form an independent part, or each module may exist alone, or two or more modules may be integrated to form an independent part.
[0199] When the above-mentioned functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of this 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 for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs that can store program codes.
[0200] The above are only embodiments of this application and are not used to limit the protection scope of this application. For those skilled in the art, this application can have various changes and modifications. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of this application shall be included in the protection scope of this application. It should be noted that similar reference numerals and letters denote similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings.
[0201] The above is only the specific implementation manner of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed by this application and should be covered by the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
[0202] It should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitations, an element defined by the statement "including a..." does not exclude the existence of additional identical elements in the process, method, article or device including the said element.
Claims
1. A method for identifying kinetic parameters, characterized in that, A load applied to the end of a robotic arm, the method comprising: Obtain the mass information of the load; After mounting the load at the end of the robotic arm, rotate the axis of the robotic arm to obtain a plurality of identification postures; Traverse the plurality of identification postures, and perform the following processing on the currently traversed identification posture: Keep the robotic arm in the current identification posture, obtain the load dynamic data when the axis of the robotic arm rotates a preset angle at a preset speed while carrying the load, and obtain the no-load dynamic data when the axis of the robotic arm rotates a preset angle at a preset speed without carrying the load; Obtain the dynamic parameters of the load according to the mass information of the load, the load dynamic data, and the no-load dynamic data, where the dynamic parameters include the centroid position and the principal moment of inertia of the load; The robotic arm is a multi-axis robotic arm, and the step of traversing the plurality of identification postures includes: After mounting the load at the end of the robotic arm, rotate the axis of the robotic arm to obtain a first identification posture, where the first identification posture is the posture in which the load is not affected by gravity when the last axis rotates; The robotic arm maintains the first identification posture, collect the first load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different speeds while carrying the load, and collect the first no-load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different speeds without carrying the load; Calculated based on the first load dynamic data and the first no-load dynamic data of the last axis to obtain the principal moment of inertia of the load with respect to the Z-axis direction of the last axis 2. The kinetic parameter identification method according to claim 1, characterized in that After the step of calculating and obtaining the principal moment of inertia of the load with respect to the Z-axis direction of the last axis according to the load dynamic data and the no-load dynamic data of the last axis, the method further includes: After mounting the load at the end of the robotic arm, rotate the axis of the robotic arm to obtain a second identification posture, where the second identification posture is the posture in which the load is affected by gravity when the last axis rotates; The robotic arm maintains the second identification posture, collect the second load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different speeds while carrying the load, and collect the second no-load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different speeds without carrying the load; Based on the second load dynamics data of the last axis, the second no-load dynamics data, and the principal moment of inertia Calculate to obtain the coordinates x and y of the center of mass position of the load relative to the robot arm coordinate system.
3. The kinetic parameter identification method according to claim 2, characterized in that Based on the second load dynamic data of the last axis, the second no-load dynamic data, and the principal moment of inertia After the step of calculating and obtaining the coordinates x and y of the center of mass position of the load relative to the robotic arm coordinate system, the method further includes: After mounting the load at the end of the robotic arm, rotate the axis of the robotic arm to obtain a third identification posture, where the third identification posture is the posture in which the load and the last axis are not affected by gravity when the axis before the last axis rotates; The robotic arm maintains the third identification posture, collect the third load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different speeds while carrying the load, and collect the third no-load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different speeds without carrying the load; Calculated based on the third load dynamics data of the previous axis of the last axis and the third no-load dynamics data, the inertia tensor of the load in the Z-axis direction of the previous axis of the last axis is obtained 4. The kinetic parameter identification method according to claim 3, characterized in that Calculating based on the third load dynamics data and the third no-load dynamics data of the previous axis of the last axis to obtain the inertia tensor of the load in the Z-axis direction of the previous axis of the last axis After the step of, the method further includes: After loading a load at the end of the robotic arm, rotate the rotating shaft of the robotic arm to obtain a fourth identified posture, where the fourth identified posture is the posture in which the load and the last axis are not affected by gravity when the axis before the last axis rotates; Keep the robotic arm in the fourth identified posture, and collect the fourth load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different rotational speeds when carrying the load, and collect the fourth no-load dynamic data of the axis before the last axis of the robotic arm when the axis before the last axis rotates a preset angle at different rotational speeds when not carrying the load; Based on the fourth load dynamics data, the fourth no-load dynamics data, and the inertia tensor calculate to obtain the coordinates z of the centroid position of the load relative to the robotic arm coordinate system and the principal moment of inertia of the coordinate system with the load centroid as the origin.
5. A device for identifying kinetic parameters, characterized in that, Applied to the load at the end of the robotic arm, the device includes: A mass acquisition module for acquiring the mass information of the load; An identified posture module for rotating the rotating shaft of the robotic arm after loading the load at the end of the robotic arm to obtain multiple identified postures; A traversal module for traversing the multiple identified postures and performing the following processing on the currently traversed identified posture: keeping the robotic arm in the current identified posture, collecting the load dynamic data of the rotating shaft of the robotic arm when rotating a preset angle at a preset rotational speed when carrying the load, and collecting the no-load dynamic data of the rotating shaft of the robotic arm when rotating a preset angle at a preset rotational speed when not carrying the load; A dynamic parameter module for obtaining the dynamic parameters of the load according to the mass information of the load, the load dynamic data, and the no-load dynamic data, where the dynamic parameters include the centroid position and the principal moment of inertia of the load; The traversal module includes: A first identified posture unit for rotating the rotating shaft of the robotic arm after loading a load at the end of the robotic arm to obtain a first identified posture, where the first identified posture is the posture in which the load is not affected by gravity when the last axis rotates; A first data acquisition unit for keeping the robotic arm in the first identified posture and collecting the first load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotational speeds when carrying the load, and collecting the first no-load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotational speeds when not carrying the load; A principal moment of inertia unit is configured to calculate based on the first load dynamic data and the first no-load dynamic data of the last axis, so as to obtain the principal moment of inertia of the load with respect to the Z-axis direction of the last axis.
6. The kinetic parameter identification device according to claim 5, wherein The traversal module further includes: A second identified posture unit for rotating the rotating shaft of the robotic arm after loading a load at the end of the robotic arm to obtain a second identified posture, where the second identified posture is the posture in which the load is affected by gravity when the last axis rotates; A second data acquisition unit for keeping the robotic arm in the second identified posture and collecting the second load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotational speeds when carrying the load, and collecting the second no-load dynamic data of the last axis of the robotic arm when the last axis rotates a preset angle at different rotational speeds when not carrying the load; A centroid position unit, configured to obtain coordinates x and y of the centroid position of the load relative to the robotic arm coordinate system according to the second load dynamic data of the last axis, the second no-load dynamic data, and the principal moment of inertia through calculation 7. A device, characterized in that, Includes: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the dynamic parameter identification method according to any one of claims 1 to 4 are implemented.
8. A storage medium, characterized in that, Instructions are stored on the storage medium, and when the instructions run on a computer, the computer is caused to execute the dynamic parameter identification method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Four-axis robot tail end load identification method and module
CN111037568A