[go: up one dir, main page]

CN108972536B - System and method for determining kinetic parameters of mechanical arm and storage medium - Google Patents

System and method for determining kinetic parameters of mechanical arm and storage medium Download PDF

Info

Publication number
CN108972536B
CN108972536B CN201710401262.2A CN201710401262A CN108972536B CN 108972536 B CN108972536 B CN 108972536B CN 201710401262 A CN201710401262 A CN 201710401262A CN 108972536 B CN108972536 B CN 108972536B
Authority
CN
China
Prior art keywords
arm
sub
test
joint
kinetic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710401262.2A
Other languages
Chinese (zh)
Other versions
CN108972536A (en
Inventor
颜世俊
黄立明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Ltd China
Original Assignee
Siemens Ltd China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Ltd China filed Critical Siemens Ltd China
Priority to CN201710401262.2A priority Critical patent/CN108972536B/en
Publication of CN108972536A publication Critical patent/CN108972536A/en
Application granted granted Critical
Publication of CN108972536B publication Critical patent/CN108972536B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

The invention discloses a system and a method for determining kinetic parameters of a mechanical arm and a storage medium. The method comprises the following steps: the MEMS sensor with the same data as the sub-arm of the mechanical arm is used for measuring the sensor angular velocity and the sensor direction of each sub-arm, the joint velocity of the first sub-arm is obtained based on the sensor angular velocity of the first sub-arm connected with the base, the joint velocity of each sub-arm is sequentially calculated according to the relational expression between the joint velocities of the sub-arms, and then the joint acceleration of each sub-arm can be obtained by only conducting one-time derivation on the joint velocity of each sub-arm, so that the noise introduced in the secondary derivation process is reduced, the accuracy of parameter determination is improved, and the control performance of the mechanical arm is further guaranteed.

Description

System and method for determining kinetic parameters of mechanical arm and storage medium
Technical Field
The invention relates to the field of control, in particular to a system and a method for determining kinetic parameters of a mechanical arm and a storage medium.
Background
For a control mechanism based on a dynamic model, determining dynamic parameters in the dynamic model is a key step for constructing the dynamic model, and the control mechanism has good performance due to proper dynamic parameter setting. For a dynamic model of a mechanical arm, the dynamic parameters mainly include: mass, center of mass, and moment of inertia. At present, there are three main methods for determining kinetic parameters:
the first method comprises the following steps: and (4) directly measuring. The method uses a special device, such as a double-line pendulum or a three-line pendulum, to measure the mass center position and the rotational inertia of each section of arm of the mechanical arm. However, in the specific measurement, the arm sections are assembled first and the parameters of the arms are measured sequentially. This method requires high labor costs. Furthermore, it is difficult to measure the effect of non-rigid mechanics like friction.
And the second method comprises the following steps: and (4) CAD estimation method. This method is the most convenient method for determining kinetic parameters. But this method requires first establishing an accurate 3D model of all the components of the robot arm, otherwise it would be difficult to avoid errors. In fact, it is difficult to build accurate 3D models of robotic arms due to manufacturing and assembly errors. In addition, this method also does not allow an accurate estimation of the effect of friction.
And the third is that: a correction method based on a kinetic model. This method is widely used for parameter determination. First, the nonlinear dynamical equation is converted into a linear dynamical equation containing dynamical parameters. In addition, the linear kinetic equation also includes joint output torque, joint position, joint velocity and joint acceleration. The joint output torque can be measured by a torque sensor or calculated by motor current. In addition, the motor encoder may provide information on the joint position, and then derive the joint velocity by deriving the joint position, and the joint acceleration by deriving the joint velocity. And then substituting the obtained joint output torque, joint position, joint speed and joint acceleration into the linear dynamics equation to calculate the dynamics parameters.
However, the joint velocity and the joint acceleration are obtained by performing first derivation and second derivation on the joint position, and a large amount of noise is introduced in the derivation process. Those skilled in the art are also working to find other solutions for this purpose.
Disclosure of Invention
In view of this, the embodiments of the present invention provide a system for determining a kinetic parameter of a robot arm, and provide a method for determining a kinetic parameter of a robot arm and a computer-readable storage medium, so as to improve the accuracy of determining a parameter and further ensure the control performance of the robot arm.
According to the dynamics parameter determination system of the mechanical arm provided by the embodiment of the invention, the motion of each sub-arm of the mechanical arm is controlled by the corresponding motor driver and the corresponding motor, and a motor encoder for measuring the corresponding joint position of the mechanical arm is installed corresponding to each motor; the system comprises:
the MEMS sensors are the same as the sub-arms of the mechanical arm in number, one MEMS sensor is mounted on one section of the sub-arm, and each MEMS sensor comprises a gyroscope, an accelerometer and a magnetometer; the gyroscope is used for measuring the angular velocity of the sensor corresponding to the sub-arm, and the accelerometer and the magnetometer measure the direction of the sensor corresponding to the sub-arm together;
the first data receiving unit is used for periodically receiving first test data from each MEMS sensor according to a set test step length (delta t) in the process that the mechanical arm moves according to a set path; the first test data comprises sensor angular velocity and sensor direction from corresponding sub-arms of each MEMS sensor;
the second data receiving unit is used for periodically receiving second test data from each motor driver according to a set test step length (delta t) in the process that the mechanical arm moves according to a set path; the second test data includes: motor current of each sub-arm and joint position of each sub-arm;
the central processing unit is used for converting the motor current into joint output torque according to the test data received by each test step length; and according to the following formulas (1) and (2), the joint rotating speed of each sub-arm of the mechanical arm is obtained by sequentially calculating the angular speed and the direction of the sensor
Figure BDA0001309767390000021
For the calculated joint rotating speed
Figure BDA0001309767390000022
Obtaining the joint acceleration by once derivation; taking the joint output torque, the joint position, the joint rotating speed and the joint acceleration of each sub-arm obtained each time as a group of known parameter vectors; selecting M groups of known parameter vectors from all C groups of known parameter vectors obtained in the process of driving the mechanical arm to move according to a set path, substituting the selected M groups of known parameter vectors into a linear dynamics equation, and solving a target dynamics parameter; determining the target parameters as kinetic parameters of the mechanical arm kinetic model; wherein M x n is larger than the number of kinetic parameters to be solved in the linear kinetic equation;
Figure BDA0001309767390000023
Figure BDA0001309767390000024
Figure BDA0001309767390000031
wherein i is 0,1,2, …, n-1; n is the number of sub-arms of the mechanical arm;
Figure BDA0001309767390000032
the joint rotation speed of the (i + 1) th sub-arm,
Figure BDA0001309767390000033
is the z-axis direction of the coordinate system of the (i + 1) th sub-arm,iωiis the angular velocity of the ith sub-arm in the sub-arm coordinate system,
Figure BDA0001309767390000034
is a rotation matrix transformed from the coordinate system of the ith sub-arm to the coordinate system of the (i + 1) th sub-arm, ωi+1The sensor angular velocity measured for the sensor of the (i + 1) th sub-arm,i+1r is a rotation matrix transformed from a sensor coordinate system to an i +1 th sub-arm coordinate system; k is a radical ofx、ky、kzRepresenting the axis of rotation of the robot arm coordinate system,
Figure BDA0001309767390000035
is a scalar quantity calculated by the formula (3) based on the angular velocity measured by the sensor of the first sub-arm.
In one embodiment, before determining the target parameter as the kinetic parameter of the mechanical arm kinetic model, the central processing unit further selects N sets of known parameter vectors other than the M sets of known parameter vectors from the C sets of known parameter vectors as test parameter vectors or selects N sets of test data from the received first test data and second test data as test parameter vectors; selecting one value of each group of test parameter vectors in the N groups of test parameter vectors as a test value, substituting other related values and the solved target kinetic parameters into the linear kinetic equation, and solving a verification value corresponding to the test value; calculating the difference value between the verification value and the test value, and if the difference values between the verification value and the test value obtained by the N groups of test parameter vectors are smaller than a set error threshold value (epsilon), determining the target kinetic parameter as the kinetic parameter of the kinetic model; wherein N is greater than or equal to 1.
In one embodiment, the central processing unit uses the motor current or the joint output torque as a test value.
According to the method for determining the kinetic parameters of the mechanical arm, provided by the embodiment of the invention, the motion of each sub-arm of the mechanical arm is controlled by a corresponding motor driver and a corresponding motor; each section of sub-arm of the mechanical arm is provided with an MEMS sensor, and each MEMS sensor comprises a gyroscope, an accelerometer and a magnetometer; the method comprises the following steps:
periodically receiving test data according to a set test step length (delta t) in the process of driving the mechanical arm to move according to a set path; the test data includes: the sensor angular velocity corresponding to each sub-arm is measured by the gyroscope of each MEMS sensor, the sensor direction corresponding to each sub-arm is measured by the accelerometer and the magnetometer of each MEMS sensor together, and the motor current and the joint position of each corresponding sub-arm from each motor driver;
for the test data received by each test step, converting the motor current into joint output torque; and according to the following formulas (1) and (2), the joint rotating speed of each sub-arm of the mechanical arm is obtained by sequentially calculating the angular speed and the direction of the sensor
Figure BDA0001309767390000041
For the calculated joint rotating speed
Figure BDA0001309767390000042
Obtaining the joint acceleration by once derivation;
Figure BDA0001309767390000043
Figure BDA0001309767390000044
Figure BDA0001309767390000045
wherein i is 0,1,2, …, n-1; n is the number of sub-arms of the mechanical arm;
Figure BDA0001309767390000046
the joint rotation speed of the (i + 1) th sub-arm,
Figure BDA0001309767390000047
is the z-axis direction of the coordinate system of the (i + 1) th sub-arm,iωiis the angular velocity of the ith sub-arm in the sub-arm coordinate system,
Figure BDA0001309767390000048
is a rotation matrix transformed from the coordinate system of the ith sub-arm to the coordinate system of the (i + 1) th sub-arm, ωi+1The sensor angular velocity measured for the sensor of the (i + 1) th sub-arm,i+1r is a rotation matrix transformed from a sensor coordinate system to an i +1 th sub-arm coordinate system; k is a radical ofx、ky、kzRepresenting the axis of rotation of the robot arm coordinate system,
Figure BDA0001309767390000049
is a scalar quantity calculated by formula (3) according to the angular velocity measured by the sensor of the first sub-arm;
taking the joint output torque, the joint position, the joint rotating speed and the joint acceleration of each sub-arm obtained each time as a group of known parameter vectors;
selecting M groups of known parameter vectors from all C groups of known parameter vectors obtained in the process of driving the mechanical arm to move according to a set path, substituting the selected M groups of known parameter vectors into a linear dynamics equation, and solving a target dynamics parameter; wherein M x n is larger than the number of kinetic parameters to be solved in the linear kinetic equation;
and determining the target parameters as the dynamic parameters of the mechanical arm dynamic model.
In one embodiment, before determining the target parameter as the kinetic parameter of the mechanical arm kinetic model, the method further comprises:
selecting N groups of known parameter vectors except the M groups of known parameter vectors from the C groups of known parameter vectors as test parameter vectors or selecting N groups of test data from the received test data as test parameter vectors;
selecting one value of each group of test parameter vectors in the N groups of test parameter vectors as a test value, substituting other related values and the solved target kinetic parameters into the linear kinetic equation, and solving a verification value corresponding to the test value;
calculating the difference value between the verification value and the test value, and if the difference values between the verification value and the test value obtained by the N groups of test parameter vectors are smaller than a set error threshold, determining the target kinetic parameter as the kinetic parameter of the kinetic model;
wherein N is greater than or equal to 1.
In one embodiment, the selecting a value as the test value is: and selecting the current of the motor or the output torque of the joint as a test value.
The computer-readable storage medium provided in the embodiments of the present invention has a computer program stored thereon, where the computer program is executed by a processor to implement the steps of the method for determining the kinetic parameters of a mechanical arm kinetic model described above.
According to the scheme, the MEMS sensors with the same number as the sub-arms of the mechanical arm are only needed to be arranged to measure the relative angular velocity of each sub-arm of the mechanical arm, the joint velocity of each sub-arm is sequentially calculated based on the joint velocity of the first sub-arm connected with the base according to the relational expression between the joint velocities of each sub-arm, and then the joint acceleration of each sub-arm can be obtained by conducting derivation on the joint velocity of each sub-arm once, so that the noise introduced in the secondary derivation process is reduced, the accuracy of parameter determination is improved, and the control performance of the mechanical arm is further ensured.
Furthermore, after the target kinetic parameters are solved, N groups of test parameter vectors are used for verifying the correctness of the kinetic parameters, so that the accuracy of parameter determination can be further improved, and the control performance of the mechanical arm is further guaranteed.
In addition, only the MEMS sensor is added, so that the cost is low, the MEMS sensor can be mounted at any position of each sub-arm of the mechanical arm, and meanwhile, the dynamic parameter determination system of the mechanical arm dynamic model can be used as a plug-and-play plug-in, so that the integration is convenient. And the mechanical arm is only required to move once according to the preset track, all data can be acquired, and the kinetic parameters can be determined, so that the method is convenient and fast to realize.
Drawings
The foregoing and other features and advantages of the invention will become more apparent to those skilled in the art to which the invention relates upon consideration of the following detailed description of a preferred embodiment of the invention with reference to the accompanying drawings, in which:
fig. 1 is an exemplary configuration diagram of a kinetic parameter determination system of a robot arm in an embodiment of the present invention.
Fig. 2 is an exemplary flowchart of a method for determining a kinetic parameter of a robotic arm in an embodiment of the present invention.
Wherein the reference numbers are as follows:
Figure BDA0001309767390000051
Figure BDA0001309767390000061
Detailed Description
In the embodiment of the invention, in order to improve the accuracy of parameter determination and further ensure the control performance of the mechanical arm, the joint speed and the joint acceleration are not obtained by carrying out primary derivation and secondary derivation on the joint position, but the joint speed of each sub-arm is obtained by measuring the relative angular speed of each sub-arm of the mechanical arm and based on the relative angular speed of the first sub-arm connected with the base, the joint speed of each sub-arm is sequentially calculated according to the relational expression between the joint speeds of each sub-arm, and then the joint acceleration of each sub-arm can be obtained by carrying out primary derivation on the joint speed of each sub-arm, so that the noise introduced in the secondary derivation process is reduced. In order to measure the relative angular velocity of the various sub-arms of the robot arm, a Micro Electro Mechanical Systems (MEMS) sensor is introduced in this embodiment.
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail by referring to the following examples.
Fig. 1 is an exemplary configuration diagram of a kinetic parameter determination system of a robot arm in an embodiment of the present invention. In this embodiment, the movement of each sub-arm of the robot arm 10 is controlled by a motor driver 20 and a motor (not shown) installed corresponding to the sub-arm, and a motor encoder (not shown) for measuring the joint position of the corresponding sub-arm is installed corresponding to each motor. Accordingly, the motor current and the joint position corresponding to each sub-arm can be directly obtained from the corresponding motor driver 20. Wherein, the motor can be servo motor, and the motor drive can be servo motor drive. As shown in fig. 1, the system for determining the kinetic parameters of the robot arm in the present embodiment may include: a plurality of MEMS sensors 110, a first data receiving unit 120, a second data receiving unit 130, and a central processing unit 140.
The number of the MEMS sensors 110 is the same as the number of the sub-arms of the robot arm, for example, the number of the MEMS sensors 110 is 3 corresponding to the robot arm with three sub-arms in fig. 1. For another example, for a six-segment sub-arm robot arm, the number of MEMS sensors 110 is 6. Wherein, a MEMS sensor 110 is mounted on a sub-arm of the mechanical arm, the mounting position can be any position of the sub-arm, and each MEMS sensor 110 can include a gyroscope, an accelerometer and a magnetometer; the gyroscope is used for measuring and obtaining the angular velocity of the sensor corresponding to the sub-arm, and the accelerometer and the magnetometer jointly measure and obtain the direction of the sensor corresponding to the sub-arm.
The first data receiving unit 120 is configured to periodically receive first test data from each MEMS sensor 110 according to a set test step Δ t during a process in which the robot arm 10 moves according to a set path; the first test data includes sensor angular velocity and sensor orientation from corresponding sub-arms of each MEMS sensor 110. In the embodiment of the present invention, the first data receiving unit 120 may be a hardware module such as an ARM processor, and may also be other integrated circuits.
The second data receiving unit 130 is configured to periodically receive second test data from each motor driver according to a set test step Δ t during the process that the robot arm 10 moves according to the set path; the second test data includes: motor current of each sub-arm and joint position of each sub-arm. In the embodiment of the present invention, the second data receiving unit 130 may be an interface module of an Industrial Personal Computer (IPC). In other embodiments, the first data receiving unit 120 and the second data receiving unit 130 may be the same data receiving unit.
The central processing unit 140 is configured to store the test data received by the first data receiving unit 120 and the second data receiving unit 130 at each test step Δ t; for the test data group received by each test step delta t, converting the motor current in the test data group into joint output torque; and according to the following formulas (1) and (2), the joint rotating speed of each sub-arm of the mechanical arm is obtained by sequentially calculating the angular speed and the direction of the sensor
Figure BDA0001309767390000071
For the calculated joint rotating speed
Figure BDA0001309767390000072
Obtaining the joint acceleration by once derivation; taking the joint output torque, the joint position, the joint rotating speed and the joint acceleration of each sub-arm obtained each time as a group of known parameter vectors; selecting M groups of known parameter vectors from all C groups of known parameter vectors obtained in the process of driving the mechanical arm 10 to move according to a set path, and substituting the selected M groups of known parameter vectors into the linear motionSolving target kinetic parameters in a kinetic equation; and determining the target parameters as the dynamic parameters of the mechanical arm dynamic model. Wherein M n is larger than the number of kinetic parameters to be solved in the linear kinetic equation.
Figure BDA0001309767390000073
Figure BDA0001309767390000074
Figure BDA0001309767390000075
Wherein i is 0,1,2, …, n-1; n is the number of sub-arms of the mechanical arm;
Figure BDA0001309767390000076
the joint rotation speed of the (i + 1) th sub-arm,
Figure BDA0001309767390000077
is the z-axis direction of the coordinate system of the (i + 1) th sub-arm,iωiis the angular velocity of the ith sub-arm in the sub-arm coordinate system,
Figure BDA0001309767390000078
is a rotation matrix transformed from the coordinate system of the ith sub-arm to the coordinate system of the (i + 1) th sub-arm, ωi+1The sensor angular velocity measured for the sensor of the (i + 1) th sub-arm,i+1r is a rotation matrix transformed from a sensor coordinate system to an i +1 th sub-arm coordinate system; k is a radical ofx、ky、kzRepresenting the axis of rotation of the robot arm coordinate system,
Figure BDA0001309767390000079
is a scalar quantity calculated by the formula (3) based on the angular velocity measured by the sensor of the first sub-arm. Wherein the rotation between the sensor coordinate system and the coordinate system of the corresponding sub-arm of the mechanical armThe relationship can be obtained from data such as joint position, angular velocity, and sensor direction of the sub-arm.
In the embodiment of the invention, the central processing unit can be an industrial personal computer IPC or other types of integrated modules.
Specifically, according to the equation (2), the angular velocity of the 1 st sub-arm in the sub-arm coordinate system can be obtained1ω1
Figure BDA0001309767390000081
Further, the joint rotation speed of the second sub-arm can be obtained from equation (4):
Figure BDA0001309767390000082
and by analogy, after the angular speed and the sensor direction of the previous section of sub-arm are obtained, the joint rotating speed of each section of sub-arm can be obtained in sequence.
In the present embodiment, the expression of the linear kinetic equation may be represented by the following formula (6):
I=Φγ+f (6)
wherein, I is a joint output torque represented by motor current, phi is a known parameter matrix obtained by calculation according to joint positions, joint rotating speeds and joint accelerations of all sub-arms of the mechanical arm, f is a friction force obtained from a predetermined friction force model, and gamma is a dynamic parameter vector comprising the mass, the mass center, the rotational inertia and the rotational inertia of all the sub-arms.
For each parameter in the kinetic parameter vector, the mass, the centroid, etc. of each sub-arm can be directly measured, or can be obtained by the above calculation. If the vector is obtained by direct measurement, it can be further used as a known quantity to solve other unknown quantities in the kinetic parameter vector.
In another embodiment, before the cpu 140 determines the target parameter as the kinetic parameter of the mechanical arm kinetic model, N groups of known parameter vectors except the M groups of known parameter vectors may be further selected from the C groups of known parameter vectors as test parameter vectors or N groups of test data may be selected from the stored C groups of test data as test parameter vectors before calculating the joint rotation speed of each sub-arm; selecting one value of each group of test parameter vectors in the N groups of test parameter vectors as a test value, substituting other related values and the solved target kinetic parameters into the linear kinetic equation, and solving a verification value corresponding to the test value; and calculating the difference value between the verification value and the test value, and if the difference values between the verification value and the test value obtained by the N groups of test parameter vectors are less than a set error threshold epsilon, determining that the target kinetic parameter is the kinetic parameter of the kinetic model. Wherein N is greater than or equal to 1; otherwise, the target kinetic parameters may be re-determined.
In one embodiment, the motor current or the joint output torque represented by the motor current can be used as the test value.
The system for determining the kinetic parameters of the mechanical arm kinetic model in the embodiment of the present invention is described in detail above, and the method for determining the kinetic parameters of the mechanical arm kinetic model in the embodiment of the present invention is described in detail below.
Fig. 2 is an exemplary flowchart of a method for determining a kinetic parameter of a robotic arm in an embodiment of the present invention. In this embodiment, the motion of each sub-arm of the robot arm is controlled by a motor driver (not shown) and a motor (not shown) installed corresponding to the sub-arm, and a motor encoder (not shown) for measuring the joint position of the corresponding sub-arm is installed corresponding to each motor. Accordingly, the motor current and the joint position corresponding to each sub-arm can be directly obtained from the corresponding motor driver. Wherein, the motor can be servo motor, and the motor drive can be servo motor drive. In addition, in the embodiment, each sub-arm of the mechanical arm is provided with one MEMS sensor, and each MEMS sensor includes a gyroscope, an accelerometer and a magnetometer. As shown in fig. 2, the method for determining the kinetic parameters of the mechanical arm kinetic model in the present embodiment may include the following steps:
in step 210, the central processing unit receives initialization data. Wherein initializing data may include: the motion path of the mechanical arm, the test step length delta t, the error threshold value, the group number N of the test parameter vectors and the like. Wherein N is greater than or equal to 1.
Step 220, periodically receiving test data according to a set test step length delta t in the process of driving the mechanical arm to move according to a set path; the test data may include: the sensor angular velocity corresponding to each sub-arm measured by the gyroscope of each MEMS sensor, the sensor orientation corresponding to each sub-arm measured by the accelerometer and magnetometer of each MEMS sensor together, and the motor current and joint position of each corresponding sub-arm from each motor driver.
Step 230, for the test data received by each test step, converting the motor current into joint output torque; and according to the following formulas (1) and (2), the joint rotating speed of each sub-arm of the mechanical arm is obtained by sequentially calculating the angular speed and the direction of the sensor
Figure BDA0001309767390000091
For the calculated joint rotating speed
Figure BDA0001309767390000092
Obtaining the joint acceleration by once derivation;
Figure BDA0001309767390000093
Figure BDA0001309767390000094
Figure BDA0001309767390000095
wherein i is 0,1,2, …, n-1; n is the number of sub-arms of the mechanical arm;
Figure BDA0001309767390000096
the joint rotation speed of the (i + 1) th sub-arm,
Figure BDA0001309767390000097
is the z-axis direction of the coordinate system of the (i + 1) th sub-arm,iωiis the angular velocity of the ith sub-arm in the sub-arm coordinate system,
Figure BDA0001309767390000098
is a rotation matrix transformed from the coordinate system of the ith sub-arm to the coordinate system of the (i + 1) th sub-arm, ωi+1The sensor angular velocity measured for the sensor of the (i + 1) th sub-arm,i+1r is a rotation matrix transformed from a sensor coordinate system to an i +1 th sub-arm coordinate system; k is a radical ofx、ky、kzRepresenting the axis of rotation of the robot arm coordinate system,
Figure BDA0001309767390000099
is a scalar quantity calculated by the formula (3) based on the angular velocity measured by the sensor of the first sub-arm.
And step 240, storing the joint output torque, the joint position, the joint rotating speed and the joint acceleration of each sub-arm obtained each time as a group of known parameter vectors.
And step 250, selecting M groups of known parameter vectors from all the C groups of known parameter vectors obtained in the process of driving the mechanical arm to move according to the set path, substituting the selected M groups of known parameter vectors into a linear dynamics equation, and solving the target dynamics parameter. And M x n is greater than the number of kinetic parameters to be solved in the linear kinetic equation, and n is the number of sub-arms of the mechanical arm.
Step 260, selecting N groups of known parameter vectors except the M groups of known parameter vectors from the C groups of known parameter vectors as test parameter vectors; or selecting N sets of test data from the received test data as the test parameter vector before performing step 230.
And 270, selecting one value of each group of test parameter vectors in the N groups of test parameter vectors as a test value, substituting other values and the solved target kinetic parameters into the linear kinetic equation, and solving a verification value corresponding to the test value. In one embodiment, the motor current or the joint output torque represented by the motor current may be selected as the test value.
Step 280, calculating the difference value between the verification value and the test value, and if the difference values between the verification value and the test value obtained by the N groups of test parameter vectors are less than a set error threshold epsilon, executing step 260; otherwise, the process returns to step 210, and the initialization parameters, such as the motion path of the robot arm, the test step Δ t, the number of groups of test parameter vectors N, etc., may be readjusted.
Step 290, determining the target kinetic parameters as the kinetic parameters of the kinetic model.
In some embodiments, step 290 may not be performed after step 260 to step 280, i.e., step 250 is performed.
The present invention also provides a computer-readable storage medium storing instructions for causing a computer to perform a method for determining kinetic parameters of a kinetic model of a mechanical arm as described herein. Specifically, a system or an apparatus equipped with a storage medium on which software program codes that realize the functions of any of the above-described embodiments are stored may be provided, and a computer (or a CPU or MPU) of the system or the apparatus is caused to read out and execute the program codes stored in the storage medium.
In this case, the program code itself read from the storage medium can realize the functions of any of the above-described embodiments, and thus the program code and the storage medium storing the program code constitute a part of the present invention.
Examples of the storage medium for supplying the program code include a flexible disk, a hard disk, a magneto-optical disk, an optical disk (e.g., CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD + RW), a magnetic tape, a nonvolatile memory card, a ROM, a PC, a cellular phone, and various smart devices. Alternatively, the program code may be downloaded from a server computer via a communications network.
Further, it should be clear that the functions of any one of the above-described embodiments may be implemented not only by executing the program code read out by the computer, but also by causing an operating system or the like operating on the computer to perform a part or all of the actual operations based on instructions of the program code.
Further, it is to be understood that the program code read out from the storage medium is written to a memory provided in an expansion board inserted into the computer or to a memory provided in an expansion unit connected to the computer, and then causes a CPU or the like mounted on the expansion board or the expansion unit to perform part or all of the actual operations based on instructions of the program code, thereby realizing the functions of any of the above-described embodiments.
According to the scheme, the MEMS sensors with the same number as the sub-arms of the mechanical arm are only needed to be arranged to measure the relative angular velocity of each sub-arm of the mechanical arm, the joint velocity of each sub-arm is sequentially calculated based on the joint velocity of the first sub-arm connected with the base according to the relational expression between the joint velocities of each sub-arm, and then the joint acceleration of each sub-arm can be obtained by conducting derivation on the joint velocity of each sub-arm once, so that the noise introduced in the secondary derivation process is reduced, the accuracy of parameter determination is improved, and the control performance of the mechanical arm is further ensured.
Furthermore, after the target kinetic parameters are solved, N groups of test parameter vectors are used for verifying the correctness of the kinetic parameters, so that the accuracy of parameter determination can be further improved, and the control performance of the mechanical arm is further guaranteed.
In addition, only the MEMS sensor is added, so that the cost is low, the MEMS sensor can be mounted at any position of each sub-arm of the mechanical arm, and meanwhile, the dynamic parameter determination system of the mechanical arm dynamic model can be used as a plug-and-play plug-in, so that the integration is convenient. And the mechanical arm is only required to move once according to the preset track, all data can be acquired, and the kinetic parameters can be determined, so that the method is convenient and fast to realize.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (7)

1. The system comprises a dynamic parameter determining system of the mechanical arm, wherein the motion of each sub-arm of the mechanical arm is controlled by a corresponding motor driver and a corresponding motor, and a motor encoder for measuring the position of a corresponding joint of the mechanical arm is installed corresponding to each motor; characterized in that the system comprises:
a plurality of MEMS sensors in the same number as the sub-arms of the mechanical arm, one MEMS sensor being mounted on a section of the sub-arm, and each MEMS sensor comprising a gyroscope, an accelerometer and a magnetometer; the gyroscope is used for measuring the angular velocity of the sensor corresponding to the sub-arm, and the accelerometer and the magnetometer measure the direction of the sensor corresponding to the sub-arm together;
the first data receiving unit is used for periodically receiving first test data from each MEMS sensor according to a set test step length delta t in the process that the mechanical arm moves according to a set path; the first test data comprises sensor angular velocity and sensor direction from corresponding sub-arms of each MEMS sensor;
the second data receiving unit is used for periodically receiving second test data from each motor driver according to a set test step length delta t in the process that the mechanical arm moves according to a set path; the second test data includes: motor current of each sub-arm and joint position of each sub-arm;
the central processing unit is used for converting the motor current into joint output torque according to the test data received by each test step length; and according to the following formulas (1) and (2), the joint rotating speed of each sub-arm of the mechanical arm is obtained by sequentially calculating the angular speed and the direction of the sensor
Figure FDA0002938969420000018
For the calculated joint rotating speed
Figure FDA0002938969420000017
Obtaining the joint acceleration by once derivation; taking the joint output torque, the joint position, the joint rotating speed and the joint acceleration of each sub-arm obtained each time as a group of known parameter vectors; selecting M groups of known parameter vectors from all C groups of known parameter vectors obtained in the process of driving the mechanical arm to move according to a set path, substituting the selected M groups of known parameter vectors into a linear dynamics equation, and solving a target dynamics parameter; determining the target kinetic parameters as kinetic parameters of a mechanical arm kinetic model; wherein M x n is larger than the number of kinetic parameters to be solved in the linear kinetic equation;
Figure FDA0002938969420000011
Figure FDA0002938969420000012
Figure FDA0002938969420000013
wherein i is 0,1,2, …, n-1; n is the number of sub-arms of the mechanical arm;
Figure FDA0002938969420000014
the joint rotation speed of the (i + 1) th sub-arm,
Figure FDA0002938969420000015
is the z-axis direction of the coordinate system of the (i + 1) th sub-arm,iωiis the angular velocity of the ith sub-arm in the sub-arm coordinate system,
Figure FDA0002938969420000016
is a rotation matrix transformed from the coordinate system of the ith sub-arm to the coordinate system of the (i + 1) th sub-arm, ωi+1The sensor angular velocity measured for the sensor of the (i + 1) th sub-arm,i+1r is a rotation matrix transformed from a sensor coordinate system to an i +1 th sub-arm coordinate system; k is a radical ofx、ky、kzRepresenting the axis of rotation of the robot arm coordinate system,
Figure FDA0002938969420000021
is a scalar quantity calculated by the formula (3) based on the angular velocity measured by the sensor of the first sub-arm.
2. The system of claim 1, wherein before the cpu determines the target kinetic parameter as the kinetic parameter of the mechanical arm kinetic model, the cpu further selects N sets of known parameter vectors other than the M sets of known parameter vectors from the C sets of known parameter vectors as test parameter vectors or selects N sets of test data from the received first and second test data as test parameter vectors; selecting one value of each group of test parameter vectors in the N groups of test parameter vectors as a test value, substituting the solved target kinetic parameter into the linear kinetic equation, and solving a verification value corresponding to the test value; calculating the difference value between the verification value and the test value, and if the difference values between the verification value and the test value obtained by the N groups of test parameter vectors are smaller than a set error threshold epsilon, determining the target kinetic parameter as the kinetic parameter of the kinetic model; wherein N is greater than or equal to 1.
3. The system of claim 2, wherein the central processing unit takes the motor current or the joint output torque as a test value.
4. The method comprises the steps that the kinetic parameters of the mechanical arm are determined, and the motion of each sub-arm of the mechanical arm is controlled by a corresponding motor driver and a corresponding motor; the mechanical arm is characterized in that each sub-arm of the mechanical arm is provided with an MEMS sensor, and each MEMS sensor comprises a gyroscope, an accelerometer and a magnetometer; the method comprises the following steps:
periodically receiving test data according to a set test step length (delta t) in the process of driving the mechanical arm to move according to a set path; the test data includes: the sensor angular velocity corresponding to each sub-arm is measured by the gyroscope of each MEMS sensor, the sensor direction corresponding to each sub-arm is measured by the accelerometer and the magnetometer of each MEMS sensor together, and the motor current and the joint position of each corresponding sub-arm from each motor driver;
for the test data received by each test step, converting the motor current into joint output torque; and according to the following formulas (1) and (2), the joint rotating speed of each sub-arm of the mechanical arm is obtained by sequentially calculating the angular speed and the direction of the sensor
Figure FDA0002938969420000022
For the calculated joint rotating speed
Figure FDA0002938969420000023
Obtaining the joint acceleration by once derivation;
Figure FDA0002938969420000024
Figure FDA0002938969420000025
Figure FDA0002938969420000031
wherein, i is 0,1,2, …,n-1; n is the number of sub-arms of the mechanical arm;
Figure FDA0002938969420000032
the joint rotation speed of the (i + 1) th sub-arm,
Figure FDA0002938969420000033
is the z-axis direction of the coordinate system of the (i + 1) th sub-arm,iωiis the angular velocity of the ith sub-arm in the sub-arm coordinate system,
Figure FDA0002938969420000034
is a rotation matrix transformed from the coordinate system of the ith sub-arm to the coordinate system of the (i + 1) th sub-arm, ωi+1The sensor angular velocity measured for the sensor of the (i + 1) th sub-arm,i+1r is a rotation matrix transformed from a sensor coordinate system to an i +1 th sub-arm coordinate system; k is a radical ofx、ky、kzRepresenting the axis of rotation of the robot arm coordinate system,
Figure FDA0002938969420000035
is a scalar quantity calculated by formula (3) according to the angular velocity measured by the sensor of the first sub-arm;
taking the joint output torque, the joint position, the joint rotating speed and the joint acceleration of each sub-arm obtained each time as a group of known parameter vectors;
selecting M groups of known parameter vectors from all C groups of known parameter vectors obtained in the process of driving the mechanical arm to move according to a set path, substituting the selected M groups of known parameter vectors into a linear dynamics equation, and solving a target dynamics parameter; wherein M x n is larger than the number of kinetic parameters to be solved in the linear kinetic equation;
and determining the target kinetic parameters as kinetic parameters of a mechanical arm kinetic model.
5. The method of claim 4, wherein prior to determining the target kinetic parameter as the kinetic parameter of the mechanical arm kinetic model, the method further comprises:
selecting N groups of known parameter vectors except the M groups of known parameter vectors from the C groups of known parameter vectors as test parameter vectors or selecting N groups of test data from the received test data as test parameter vectors;
selecting one value of each group of test parameter vectors in the N groups of test parameter vectors as a test value, substituting the solved target kinetic parameter into the linear kinetic equation, and solving a verification value corresponding to the test value;
calculating the difference value between the verification value and the test value, and if the difference values between the verification value and the test value obtained by the N groups of test parameter vectors are smaller than a set error threshold value (epsilon), determining the target kinetic parameter as the kinetic parameter of the kinetic model;
wherein N is greater than or equal to 1.
6. A method of determining kinetic parameters of a robotic arm as claimed in claim 5, wherein the selected value as a test value is: and selecting the current of the motor or the output torque of the joint as a test value.
7. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method for determining a kinetic parameter of a robot arm according to any of the claims 4 to 6.
CN201710401262.2A 2017-05-31 2017-05-31 System and method for determining kinetic parameters of mechanical arm and storage medium Active CN108972536B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710401262.2A CN108972536B (en) 2017-05-31 2017-05-31 System and method for determining kinetic parameters of mechanical arm and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710401262.2A CN108972536B (en) 2017-05-31 2017-05-31 System and method for determining kinetic parameters of mechanical arm and storage medium

Publications (2)

Publication Number Publication Date
CN108972536A CN108972536A (en) 2018-12-11
CN108972536B true CN108972536B (en) 2021-06-22

Family

ID=64500971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710401262.2A Active CN108972536B (en) 2017-05-31 2017-05-31 System and method for determining kinetic parameters of mechanical arm and storage medium

Country Status (1)

Country Link
CN (1) CN108972536B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110834332B (en) * 2019-11-13 2021-10-22 珠海格力智能装备有限公司 Manipulator control method and device and manipulator
CN111551973B (en) * 2020-04-16 2022-04-05 北京踏歌智行科技有限公司 Fault detection and correction method for unmanned inertial navigation system of strip mine
CN111421551A (en) * 2020-05-08 2020-07-17 哈尔滨理工大学 Robot joint information acquisition method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1649698A (en) * 2002-03-18 2005-08-03 索尼株式会社 Robot device, legged locomotion robot operation control device and operation control method, legged locomotion robot sensor system, and locomotion device
CN102328312A (en) * 2010-07-12 2012-01-25 精工爱普生株式会社 Manipulator and method for controlling the manipulator
CN102398262A (en) * 2010-08-06 2012-04-04 精工爱普生株式会社 Robotic device, method for controlling robotic device, and computer program
CN103433924A (en) * 2013-07-26 2013-12-11 无锡信捷电气股份有限公司 High-accuracy position control method for serial robot
CN104339351A (en) * 2013-08-05 2015-02-11 株式会社东芝 Robot control device
CN106054599A (en) * 2016-05-25 2016-10-26 哈尔滨工程大学 Master-slave underwater robotic arm delay control method
CN106064377A (en) * 2016-06-02 2016-11-02 西北工业大学 A kind of excitation track optimizing method of robot for space dynamic parameters identification
DE202016007293U1 (en) * 2016-11-29 2016-12-23 Kuka Roboter Gmbh Passive manipulator

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1649698A (en) * 2002-03-18 2005-08-03 索尼株式会社 Robot device, legged locomotion robot operation control device and operation control method, legged locomotion robot sensor system, and locomotion device
CN102328312A (en) * 2010-07-12 2012-01-25 精工爱普生株式会社 Manipulator and method for controlling the manipulator
CN102398262A (en) * 2010-08-06 2012-04-04 精工爱普生株式会社 Robotic device, method for controlling robotic device, and computer program
CN103433924A (en) * 2013-07-26 2013-12-11 无锡信捷电气股份有限公司 High-accuracy position control method for serial robot
CN104339351A (en) * 2013-08-05 2015-02-11 株式会社东芝 Robot control device
CN106054599A (en) * 2016-05-25 2016-10-26 哈尔滨工程大学 Master-slave underwater robotic arm delay control method
CN106064377A (en) * 2016-06-02 2016-11-02 西北工业大学 A kind of excitation track optimizing method of robot for space dynamic parameters identification
DE202016007293U1 (en) * 2016-11-29 2016-12-23 Kuka Roboter Gmbh Passive manipulator

Also Published As

Publication number Publication date
CN108972536A (en) 2018-12-11

Similar Documents

Publication Publication Date Title
CN104246433B (en) For automatic calibrating method in the use of the sensor in mobile device
CN108972536B (en) System and method for determining kinetic parameters of mechanical arm and storage medium
KR20210084622A (en) Time synchronization processing methods, electronic devices and storage media
KR100898169B1 (en) Initial alignment method of inertial navigation system
CN104756039A (en) Estimating the gravity vector in a world coordinate system using an accelerometer in a mobile device
CN113984051B (en) Method, device, equipment and storage medium for fusion of IMU and rigid body posture
CN109030867A (en) The method and apparatus for calculating angular speed using acceleration transducer and geomagnetic sensor
CN108318027B (en) Method and device for determining attitude data of carrier
CN113551690A (en) Calibration parameter acquisition method and device, electronic equipment and storage medium
CN111998870B (en) Calibration method and device of camera inertial navigation system
CN113110107B (en) Unmanned aerial vehicle flight control simulation system, device and storage medium
CN113465632B (en) Sensor calibration method, device, equipment and medium
CN113283152B (en) Adjustment method and driving method of driving electric signal, driving circuit and electronic equipment
CN114913242A (en) Camera calibration method, device, system, electronic equipment and storage medium
CN112363196B (en) Vehicle attribute determining method, device, storage medium and electronic equipment
CN107423515B (en) Mechanical arm friction identification method, device, equipment and storage medium
CN113340324A (en) Visual inertia self-calibration method based on depth certainty strategy gradient
CN115135962A (en) Method and apparatus for zero g offset calibration of MEMS-based accelerometers
CN113065572A (en) Multi-sensor fusion data processing method, positioning device and virtual reality equipment
CN110987018B (en) Specific force differential position method DVL error calibration method and system
CN114199278A (en) Low-precision inertial measurement unit parameter estimation method, device, equipment and storage medium
CN115855072B (en) Gesture estimation method, device and equipment of driving simulation platform and storage medium
CN115326106B (en) Improved method for inertial sensor data simulation
CN111568304A (en) Sweeping robot positioning method and device and sweeping robot
EP4375618A1 (en) Dynamic gravity vector estimation for memory constrained devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant