Method for calibrating kinematics parameters of SCARA (selective compliance assembly robot arm)

By installing calibration blocks on the SCARA robot arm and collecting relevant data, and using the fitted circle to calculate the actual rotation angle and reduction ratio, the problems of low calibration accuracy and complex operation in the prior art are solved, and high-precision and simple kinematic parameter calibration are achieved.

CN119973971AActive Publication Date: 2025-05-13WUXI DANIEL AUTOMATION TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510149064.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-11
Publication Date
2025-05-13
Estimated Expiration
2045-02-11

AI Technical Summary

Technical Problem

The existing rotary parameter calibration method of SCARA robotic arms has problems of low accuracy and complex operation, especially in the calibration process of arm length and reduction ratio.

Method used

By installing a calibration block on the rotating joint at the end of the robot arm, the motor rotation angle and measurement point coordinates are collected, the actual rotation angle and reduction ratio are calculated using the fitted circle, and the arm length and coupling ratio calibration of multiple joints is achieved by collecting data at one time.

Benefits of technology

The accuracy and simplicity of calibration of kinematic parameters of SCARA robotic arm are improved, and the reduction ratio of the rotating joint, the arm length and coupling ratio of adjacent rotating joints can be calibrated individually or simultaneously.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119973971A_ABST
    Figure CN119973971A_ABST
Patent Text Reader

Abstract

The invention discloses an SCARA mechanical arm kinematics parameter calibration method, and relates to the technical field of robots, and the method comprises the steps that a calibration block is installed on a rotating joint at the tail end of a mechanical arm, and a measurement point is arranged on the calibration block; obtaining measurement data corresponding to joints to be calibrated, wherein the joints to be calibrated comprise a tail end rotating joint, a middle rotating joint and a starting end rotating joint; calculating the actual rotation angle of the to-be-calibrated joint during each rotation based on the measurement data corresponding to the to-be-calibrated joint; calculating a reduction ratio calibration value of the to-be-calibrated joint based on the actual rotation angle of the to-be-calibrated joint during each rotation and the rotation angle of the motor; and calculating the arm length between the two adjacent rotary joints and the coupling ratio calibration value of the middle rotary joint and the tail rotary joint based on the third group of measurement data corresponding to the initial rotary joint. According to the method, the reduction ratio, the arm length and the coupling ratio can be calibrated through the coordinate data of the measuring points in the third group of measuring data collected at a time and the motor rotating angles of the three joints, and operation and calculation are easy to achieve.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of robots, and in particular to a kinematic parameter calibration method for a SCARA mechanical arm. Background Art

[0002] SCARA (Selective Compliance Assembly Robot Arm) has the advantages of simple structure, reliable rotation, fast movement speed and high positioning accuracy. It is widely used in industrial feeding and grasping and other fields. The robot arm has four joints, of which the first three are rotating joints J1, J2, and J3, and the last one is a moving joint J4. The axes of the first three rotating joints are parallel to each other and perpendicular to the base mounting surface. Figure 1 shown.

[0003] Due to the influence of machining errors, assembly errors and clearances, friction and wear and other factors, the actual rotational parameters of the robot arm (such as arm length, reduction ratio, etc.) have certain deviations from the theoretical design values. For the calibration of the arm length, the current method includes calibration by jacking. This calibration method requires high precision in the machining of the hole position. If the jack is not aligned correctly, it is easy to cause extrusion deformation, resulting in low calibration accuracy. For the calibration of the reduction ratio, the current method uses a laser tracker to measure the actual rotation angle of the robot arm's rotating shaft and the motor's rotation angle for calculation. Therefore, when calibrating the arm length and reduction ratio, two different methods need to be used separately, which is very inconvenient for the calibrator. Summary of the invention

[0004] In view of the above problems and technical requirements, the inventors have proposed a method for calibrating kinematic parameters of a SCARA robot arm. The technical solution of the present invention is as follows:

[0005] A method for calibrating kinematic parameters of a SCARA robot arm comprises the following steps:

[0006] The calibration block is mounted on the rotary joint at the end of the robot arm, and a measuring point is provided on the calibration block;

[0007] Obtain the measurement data corresponding to the joint to be calibrated. If the joint to be calibrated is a terminal rotary joint, the first set of measurement data includes the motor rotation angle corresponding to the rotation of the terminal rotary joint and the coordinates of the measurement points; if the joint to be calibrated is an intermediate rotary joint, the second set of measurement data includes the motor rotation angle corresponding to the rotation of the terminal rotary joint and the intermediate rotary joint, and the coordinates of the measurement points; if the joint to be calibrated is an initial rotary joint, the third set of measurement data includes the motor rotation angle corresponding to the rotation of the terminal rotary joint, the intermediate rotary joint and the initial rotary joint, and the coordinates of the measurement points;

[0008] Calculate the actual rotation angle of the joint to be calibrated each time it rotates based on the measurement data corresponding to the joint to be calibrated;

[0009] Calculate the reduction ratio calibration value of the joint to be calibrated based on the actual rotation angle of the joint to be calibrated and the motor rotation angle at each rotation;

[0010] The arm length calibration value between two adjacent rotation joints is calculated based on the third set of measurement data.

[0011] A further technical solution is to calculate the actual rotation angle of the joint to be calibrated each time it rotates based on the measurement data corresponding to the joint to be calibrated, including:

[0012] Based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, a circle with the joint to be calibrated as the center is obtained by fitting, and the coordinates of the center and the radius are determined;

[0013] The actual rotation angle of the joint to be calibrated each time is calculated based on the coordinates of two adjacent points on the circle and the coordinates of the center of the circle.

[0014] A further technical solution is that if the joint to be calibrated is a terminal rotation joint, a circle with the joint to be calibrated as the center is obtained by fitting based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, and the coordinates of the center and the radius are determined, including:

[0015] Rotate the end, middle and start revolute joints to the initial position, where the axes of the three joints are in a straight line;

[0016] The terminal rotary joint rotates at least twice from the initial position, and records the motor rotation angle corresponding to each rotation of the terminal rotary joint, as well as the coordinates of the measurement points corresponding to the initial position and each rotation to a new position of the terminal rotary joint, to form a first set of measurement data;

[0017] Based on the coordinates of the currently recorded measurement points, a circle with the current position of the end rotary joint as the center is fitted, and its first center coordinates and radius are determined;

[0018] The coordinates of two adjacent points on the circle are the coordinates of two adjacent measurement points corresponding to the rotation of the end revolute joint.

[0019] A further technical solution is that if the joint to be calibrated is an intermediate rotation joint, a circle with the joint to be calibrated as the center is obtained by fitting based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, and the coordinates of the center and the radius are determined, including:

[0020] Rotate the end, middle and start revolute joints to the initial position, where the axes of the three joints are in a straight line;

[0021] The intermediate rotary joint rotates at least twice from the initial position, and the terminal rotary joint rotates at least twice from the initial position when the intermediate rotary joint is at the initial position and each time it rotates to a new position, and the motor rotation angle corresponding to each rotation of the intermediate and terminal rotary joints is recorded, as well as the coordinates of the measurement points corresponding to the terminal rotary joint at the initial position and each time it rotates to a new position during the rotation of the intermediate and terminal rotary joints, to form a second set of measurement data;

[0022] Each time the intermediate rotary joint rotates to a position, a circle with the current position of the terminal rotary joint as the center is obtained by fitting based on a set of measurement point coordinates corresponding to the current rotary position, and its first center coordinates and radius are determined;

[0023] Based on the first circle center coordinates obtained by fitting, a circle with the current position of the intermediate rotation joint as the center is fitted, and its second circle center coordinates and radius are determined;

[0024] Among them, the coordinates of two adjacent points on the circle with the middle rotation joint as the center are the coordinates of two adjacent first circle centers; the radius of the circle with the middle rotation joint as the center is the arm length calibration value between the middle and end rotation joints.

[0025] A further technical solution is that if the joint to be calibrated is an initial rotation joint, a circle with the joint to be calibrated as the center is obtained by fitting based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, and the coordinates of the center and the radius are determined, including:

[0026] Rotate the end, middle and start revolute joints to the initial position, where the axes of the three joints are in a straight line;

[0027] The starting rotation joint rotates at least twice from the initial position, the starting rotation joint rotates at least twice at the initial position and each time it rotates to a new position, the intermediate rotation joint rotates at least twice from the initial position, the intermediate rotation joint rotates at least twice at the initial position and each time it rotates to a new position, and the terminal rotation joint rotates at least twice from the initial position, and the motor rotation angle corresponding to each rotation of the starting, intermediate, and terminal rotation joints is recorded, as well as the measurement point coordinates corresponding to the terminal rotation joint at the initial position and each time it rotates to a new position during the rotation of the starting, intermediate, and terminal rotation joints, to form a third set of measurement data;

[0028] Each time the starting revolute joint rotates to a certain position, the following fitting results are obtained:

[0029] Each time the intermediate rotary joint rotates to a position, a circle with the current position of the terminal rotary joint as the center is obtained by fitting based on a set of measurement point coordinates corresponding to the current rotary position, and its first center coordinates and radius are determined;

[0030] Based on the first circle center coordinates obtained by fitting, a circle with the current position of the intermediate rotation joint as the center is fitted, and its second circle center coordinates and radius are determined;

[0031] Based on the second circle center coordinates obtained by fitting, a circle with the current position of the start rotation joint as the center is fitted, and its third circle center coordinates and radius are determined;

[0032] The coordinates of two adjacent points on the circle with the starting rotation joint as the center are the coordinates of two adjacent second circle centers.

[0033] A further technical solution is to calculate the reduction ratio calibration value of the joint to be calibrated based on the actual rotation angle and the motor rotation angle of the joint to be calibrated each time it rotates. The expression is:

[0034] Jk_Ratio1={(JkPC12 / JkAC12)+(JkPC23 / JkAC23)+……+(JkPCmn /

[0035] JkACmn)} / (n-1)

[0036] Among them, Jk_Ratio1 represents the reduction ratio calibration value of the joint to be calibrated, k=1 represents the starting rotation joint, k=2 represents the intermediate rotation joint, and k=3 represents the terminal rotation joint; JkPCij represents the actual rotation angle of the joint to be calibrated when it rotates from position i to position j, and JkACij represents the motor rotation angle of the joint to be calibrated when it rotates from position i to position j, i=1,2...,m, j=2,3...,n, m=n-1, n is the total number of positions passed by the joint to be calibrated during rotation, including the initial position.

[0037] A further technical solution is to calculate the arm length calibration value between two adjacent rotation joints based on the third set of measurement data, including:

[0038] Calculate the average of the radii of the circles obtained by fitting with the middle rotation joint as the center as the arm length calibration value between the middle and end rotation joints;

[0039] The radius of the circle with the starting revolute joint as the center is the arm length calibration value between the middle and starting revolute joints.

[0040] Its further technical solution is that the method further comprises:

[0041] Based on the coordinates of the measuring points, the first circle center coordinates and the second circle center coordinates corresponding to the positions of the intermediate rotational joint before and after each rotation, the coupling ratio calibration value of the intermediate and terminal rotational joints is calculated.

[0042] A further technical solution is to calculate the coupling ratio calibration value of the intermediate and terminal rotation joints, including:

[0043] The coordinates of the measurement points corresponding to the positions of the intermediate rotating joint before and after each rotation refer to extracting the coordinates of the measurement points corresponding to the same rotation position of the terminal rotating joint before and after the intermediate rotating joint rotates to a new position each time;

[0044] When calculating the position of the intermediate rotation joint before rotation, the corresponding measurement point coordinates and the angle of the second circle center coordinates relative to the first circle center coordinates before rotation are recorded as the angle before rotation;

[0045] When the intermediate rotation joint is in the position after rotation, the corresponding measurement point coordinates and the angle of the second circle center coordinates relative to the first circle center coordinates after rotation are calculated, which is recorded as the angle after rotation;

[0046] Every time the intermediate rotary joint rotates to a new position, the difference between the angles before and after the rotation is calculated, recorded as JAij. The expression for calculating the calibration value of the coupling ratio between the intermediate and terminal rotary joints is:

[0047] J_Ratio2={(JA12 / J2PC12)+(JA23 / J2PC23)+……+(JAmn / J2PCmn)} /

[0048] (n-1)

[0049] Among them, J2PCij represents the actual rotation angle of the intermediate rotation joint when it rotates from position i to position j, i = 1, 2..., m, j = 2, 3..., n, m = n-1, n is the total number of positions passed by the intermediate rotation joint during rotation, including the initial position.

[0050] A further technical solution is that the coordinates of the measuring points are obtained by using a handheld three-coordinate measuring instrument.

[0051] The beneficial technical effects of the present invention are:

[0052] The kinematic parameter calibration method of the robot arm proposed in the present invention collects the coordinates of different positions of the measuring points when each rotating joint is in different situations through the calibration block and the handheld device, and collects the measuring point coordinate data in the third group of measurement data corresponding to the starting rotating joint and the motor rotation angles of the three joints at one time, so as to calibrate the reduction ratio of the three rotating joints of SCARA, the arm length between two adjacent rotating joints, and the coupling ratio of J2 and J3. The method is simple to operate, reduces the computational complexity, and can greatly improve the operation of SCARA robot arm calibration. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] Figure 1 It is a schematic diagram of the structure of a SCARA robotic arm.

[0054] Figure 2It is a schematic diagram of the calibration block provided in this application.

[0055] Figure 3 This is a flow chart of the SCARA robot arm kinematic parameter calibration method provided in this application.

[0056] Figure 4 It is a motion schematic diagram of the three rotation joints provided in the present application, wherein (a) is a motion schematic diagram of the middle and terminal rotation joints driven by the rotation of the initial rotation joint, (b) is a motion schematic diagram of the calibration block driven by the rotation of the terminal rotation joint, and (c) is a motion schematic diagram of the terminal rotation joint driven by the rotation of the intermediate rotation joint.

[0057] Figure 5 It is a schematic diagram of the angles required for calculating the coupling ratio calibration values ​​of the intermediate and terminal rotation joints provided in the present application. DETAILED DESCRIPTION

[0058] The specific implementation of the present invention will be further described below in conjunction with the accompanying drawings.

[0059] An embodiment of the present application provides a method for calibrating kinematic parameters of a SCARA robot arm, the method using a calibration block and a handheld three-dimensional coordinate measuring instrument, wherein the calibration block structure is as follows: Figure 2 As shown, there are screw holes 21 and a measuring point 22 fixed to the end rotating joint J3. The calibration block is installed on J3. When J3 rotates, the calibration block will move together. At this time, a handheld three-coordinate measuring instrument can be used to obtain the coordinates of the measuring points at different positions.

[0060] Reference Figure 3 As shown, the method specifically comprises the following steps:

[0061] Step 1: Obtain the measurement data corresponding to the joint to be calibrated.

[0062] If the joint to be calibrated is the terminal rotation joint J3, the first set of measurement data includes the motor rotation angle corresponding to the rotation of J3 and the coordinates of the measurement points. If the joint to be calibrated is the intermediate rotation joint J2, the second set of measurement data includes the motor rotation angle corresponding to the rotation of J3 and J2, and the coordinates of the measurement points. If the joint to be calibrated is the starting rotation joint J1, the third set of measurement data includes the motor rotation angle corresponding to the rotation of J3, J2 and J1, and the coordinates of the measurement points.

[0063] Step 2: Calculate the actual rotation angle of the joint to be calibrated each time it rotates based on the measurement data corresponding to the joint to be calibrated, specifically including:

[0064] Step 2.1: Based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, a circle with the joint to be calibrated as the center is obtained by fitting, and the coordinates of the center and the radius are determined;

[0065] Step 2.2: Calculate the actual rotation angle of the joint to be calibrated each time it rotates based on the coordinates of two adjacent points on the circle and the coordinates of the center of the circle.

[0066] Step 3: Based on the actual rotation angle of the joint to be calibrated and the motor rotation angle at each rotation, calculate the reduction ratio calibration value of the joint to be calibrated.

[0067] Step 4: Based on the third set of measurement data, the arm length calibration value between two adjacent rotation joints can be calculated at one time, that is, the arm length calibration value of the small arm 1 between J3 and J2 and the arm length calibration value of the large arm 2 between J2 and J1.

[0068] In one embodiment, if the joint to be calibrated is the terminal rotation joint J3, step 2.1 specifically includes the following contents:

[0069] (1.1) Rotate J3, J2, and J1 to their initial positions. In the initial positions, the axes of the three joints are in a straight line. The initial positions set in this embodiment are that J3, J2, and J1 are in the same horizontal direction. Figure 4 -As shown in position 1 in (a).

[0070] (1.2) Figure 4 -(b), J3 rotates at least twice from the initial position, and records the motor rotation angle J3ACij corresponding to each rotation of J3, as well as the coordinates of the measurement points corresponding to J3 at the initial position and each rotation to a new position, to form a first set of measurement data. In this embodiment, J3 is rotated four times in one direction from the initial position 1, and the coordinates of the measurement points at the initial position 1, position 2, position 3, position 4, and position 5 are recorded as J3P11 (X11, Y11, Z11), J3P12 (X12, Y12, Z12), J3P13 (X13, Y13, Z13), J3P14 (X14, Y14, Z14), and J3P15 (X15, Y15, Z15). Then rotate J3 back to the initial position 1, and rotate it four times in the other direction, and record the coordinates of the measuring points at positions 6, 7, 8, and 9 as J3P16 (X16, Y16, Z16), J3P17 (X17, Y17, Z17), J3P18 (X18, Y18, Z18), and J3P19 (X19, Y19, Z19). The rotation direction of J3 is divided into counterclockwise and clockwise, and the J3 motor rotates a theoretical angle (for example, 10 degrees) each time. The angle can be customized without limitation in this application.

[0071] (1.3) Based on the coordinates of the currently recorded measurement points, a circle with the current position of J3 as the center is fitted, and its first center coordinates and radius are determined. In this embodiment, the circle to be fitted is the circle surrounded by J3P11 to J3P19. During the calculation, the coordinates of the measurement points at three different positions are taken each time, and substituted into the following formula (1) to calculate the first center coordinates (X0, Y0) and radius R, and then the average of the several calculations is taken as the coordinates of the first center J3C1 and the radius J3R1.

[0072]

[0073] Then step 2.2 specifically includes the following contents:

[0074] The coordinates of two adjacent points on the circle with the current position of J3 as the center are the coordinates of two adjacent measurement points corresponding to the rotation of J3. In this embodiment, the actual rotation angle J3PC12 of J3 from the initial position 1 to the position 2 can be calculated based on the coordinates of J3P11, J3P12 and the coordinates of the first circle center J3C1. Similarly, the actual rotation angles J3PC23, J3PC34, J3PC45, J3PC16, J3PC67, J3PC78, and J3PC89 of J3 rotating to the next position can be calculated based on the coordinates of the remaining adjacent measurement points and the coordinates of the first circle center J3C1.

[0075] Then the expression for calculating the reduction ratio calibration value of J3 in step 3 is:

[0076] J3_Ratio1={(J3PC12 / J3AC12)+(J3PC23 / J3AC23)+……+(J3PC89 /

[0077] J3AC89)} / 8

[0078] Among them, J3ACij represents the motor rotation angle when J3 rotates from position i to position j, i = 1, 2..., 8, j = 2, 3..., 9, a total of 9 rotation position points.

[0079] In another embodiment, if the joint to be calibrated is the intermediate rotation joint J2, step 2.1 specifically includes the following contents:

[0080] (2.1) J3, J2, and J1 are rotated to the initial position, where the axes of the three joints are in a straight line. The definition of the initial position can refer to the relevant content introduced in (1.1) of the previous embodiment, which will not be repeated here.

[0081] (2.2) Combination Figure 4 -(b) Figure 4-(c), J2 rotates at least twice from the initial position, J2 rotates at least twice from the initial position at the initial position and each time it rotates to a new position, and J3 rotates at least twice from the initial position, and records the motor rotation angles J3ACij and J2ACij corresponding to each rotation of J3 and J2, as well as the coordinates of the measurement points corresponding to J3 at the initial position and each time it rotates to a new position during the rotation of J3 and J2, to form a second set of measurement data. In this embodiment, J2 is rotated four times in one direction from the initial position 1, and then J2 is rotated back to the initial position 1, and rotated four times in another direction. Wherein each time J2 rotates to a position (including the initial position 1), the content provided in the embodiment of step (1.2) is executed, that is, J3 is rotated four times in one direction from the initial position 1, and the coordinates of the measurement points at the initial position 1 to position 5 are recorded as J3P21 to J3P25. Then rotate J3 back to the initial position 1, and rotate it four times in the other direction, and record the coordinates of the measuring points at positions 6 to 9 as J3P26 to J3P29. Repeat the above operation to obtain the coordinates of a total of 9 groups of measuring points corresponding to the 9 rotation positions of J2. Among them, the rotation directions of J3 and J2 are counterclockwise and clockwise, and the J2 motor rotates a theoretical angle each time (for example, 20 degrees), and the J3 motor rotates a theoretical angle each time (for example, 10 degrees). The angle can be customized without limitation in this application.

[0082] (2.3) Every time J2 rotates to a position (including the initial position 1), it will drive J3 to move through the forearm, and fit a circle with the current position of J3 as the center based on a set of measurement point coordinates corresponding to the current rotation position, and determine its first center coordinates and radius. In this embodiment, the circles to be fitted are respectively surrounded by J3P11~J3P19, J3P21~J3P29, ..., J3P91~J3P99, and the coordinates of the first center J3C1~J3C9 and the radius J3R1~J3R9 of each circle are calculated. Then, based on the fitted coordinates of each first center J3C1~J3C9, a circle with the current position of J2 as the center is fitted, and the coordinates of its second center J2C1 and radius J2R1 are determined. The method for calculating the center and radius of each fitted circle can refer to the relevant content introduced in (1.3) in the previous embodiment, which will not be repeated here.

[0083] Then step 2.2 specifically includes the following contents:

[0084] The coordinates of two adjacent points on the circle with J2 as the center are the coordinates of two adjacent first circle centers. In this embodiment, the actual rotation angle J2PC12 of J2 from the initial position 1 to the position 2 can be calculated based on the coordinates of J3C1 and J3C2 and the coordinates of the second circle center J2C1. Similarly, the actual rotation angles J2PC23, J2PC34, J2PC45, J2PC16, J2PC67, J2PC78, and J2PC89 of J2 rotating to the next position can be calculated based on the coordinates of the remaining adjacent first circle centers and the coordinates of the second circle center J2C1.

[0085] Then the expression for calculating the reduction ratio calibration value of J2 in step 3 is:

[0086] J2_Ratio1={(J2PC12 / J2AC12)+(J2PC23 / J2AC23)+……+(J2PC89 /

[0087] J2AC89)} / 8

[0088] Wherein, J2ACij represents the motor rotation angle when J2 rotates from position i to position j, i=1, 2..., 8, j=2, 3..., 9, a total of 9 rotation position points. At this time, the reduction ratio calibration value of J3 can also be calculated according to the previous embodiment.

[0089] Optionally, when J1 is not calibrated, the radius J2R1 of the circle with J2 as the center can be used as the arm length calibration value of the forearm, that is: L1 = J2R1.

[0090] Since no calibration method for the coupling ratio between adjacent rotational joints has been proposed in the prior art, in another embodiment, the method further includes:

[0091] Step 5: Based on the coordinates of the measurement points corresponding to the positions of J2 before and after each rotation, the coordinates of the first circle center J3C1~J3C9 and the coordinates of the second circle center J2C1, calculate the coupling ratio calibration value of J2 and J3. Figure 5As shown, the measurement point coordinates obtained in this step refer to: each time J2 rotates to a new position, the corresponding measurement point coordinates of J2 before and after the rotation and J3 at the same rotation position are extracted. For example, in this embodiment, the corresponding measurement point coordinates of J2 before and after the rotation and J3 at the initial position are extracted. Then, when J2 is in the position before rotation, the corresponding measurement point coordinates (such as J3P11) and the angle of the coordinates of the second center of the circle J2C1 relative to the coordinates of the first center of the circle before rotation (such as J3C1) are calculated, which is recorded as angle 1 before rotation. Similarly, when J2 is in the position after rotation, the corresponding measurement point coordinates (such as J3P21) and the angle of the coordinates of the second center of the circle J2C1 relative to the coordinates of the first center of the circle after rotation (such as J3C2) are calculated, which is recorded as angle 2 after rotation. Each time J2 rotates to a new position, the difference between the angles before and after the rotation is calculated (that is, the absolute value of the difference between angle 1 and angle 2), which is recorded as JAij. Then, the expression for calculating the calibration value of the coupling ratio of J2 and J3 is:

[0092] J_Ratio2={(JA12 / J2PC12)+(JA23 / J2PC23)+……+(JA89 / J2PC89)} / 8

[0093] In another embodiment, if the joint to be calibrated is the starting rotation joint J1, step 2.1 specifically includes the following contents:

[0094] (3.1) J3, J2, and J1 are rotated to the initial position, where the axes of the three joints are in a straight line. The definition of the initial position can refer to the relevant content introduced in (1.1) of the previous embodiment, which will not be repeated here.

[0095] (3.2) Combination Figure 4 -(a) Figure 4 -(b) Figure 4-(c), J1 rotates at least twice from the initial position, J1 rotates at least twice from the initial position at the initial position and each time it rotates to a new position, J2 rotates at least twice from the initial position, J2 rotates at least twice from the initial position and each time it rotates to a new position, and J3 rotates at least twice from the initial position, and the motor rotation angles J3ACij, J2ACij, and J1ACij corresponding to each rotation of J3, J2, and J1 are recorded, as well as the coordinates of the measurement points corresponding to J3 at the initial position and each time it rotates to a new position during the rotation of J3, J2, and J1, to form a third set of measurement data. In this embodiment, J1 is rotated four times in one direction from the initial position 1, and then J1 is rotated back to the initial position 1, and rotated four times in another direction. J2 is rotated four times in one direction from the initial position 1, and then J2 is rotated back to the initial position 1, and rotated four times in another direction. Each time J1 rotates to a position (including the initial position 1), the content provided in the embodiment of step (2.2) is executed, that is, J2 is rotated four times in sequence along one direction starting from the initial position 1, and then J2 is rotated back to the initial position 1 and rotated four times in sequence along the other direction. Each time J2 rotates to a position (including the initial position 1), J3 is rotated four times in sequence along one direction starting from the initial position 1, and the coordinates of the measuring points at the initial position 1 to the position 5 are recorded as J3P21 to J3P25. Then J3 is rotated back to the initial position 1, and rotated four times in sequence along the other direction, and the coordinates of the measuring points at the position 6 to the position 9 are recorded as J3P26 to J3P29. Repeating the above operations can obtain the coordinates of a total of 9×9 groups of measuring points corresponding to the 9 rotation positions of J1. Among them, the rotation directions of J3, J2, and J1 are divided into counterclockwise and clockwise, and the J1 motor rotates a theoretical angle each time (for example, 15 degrees), the J2 motor rotates a theoretical angle each time (for example, 20 degrees), and the J3 motor rotates a theoretical angle each time (for example, 10 degrees). The angle can be customized and this application does not impose any restrictions.

[0096] (3.3) Every time J1 rotates to a certain position (including the initial position 1), it will drive J2 to move through the big arm. At this time, it can be fitted in sequence: J2 starts to rotate after moving to the specified position. Every time it rotates to a certain position, it will drive J3 to move through the small arm. A circle with the current position of J3 as the center is fitted based on a set of measurement point coordinates corresponding to the current rotation position of J2, and its first center coordinate and radius are determined. Then, a circle with the current position of J2 as the center is fitted based on the first center coordinates obtained by fitting, and its second center coordinate and radius are determined. In this embodiment, 9 second center coordinates J2C1~J2C9 and radius J2R1~J2R9 can be obtained. Finally, a circle with the current position of J1 as the center is fitted based on the second center coordinates J2C1~J2C9 obtained by fitting, and its third center coordinate J1C1 and radius J1R1 are determined. The method of calculating the center and radius of each fitting circle can refer to the relevant content introduced in (1.3) of the previous embodiment, which will not be repeated here.

[0097] Then step 2.2 specifically includes the following contents:

[0098] The coordinates of two adjacent points on the circle with J1 as the center are the coordinates of two adjacent second circle centers. In this embodiment, the actual rotation angle J1PC12 of J1 from the initial position 1 to the position 2 can be calculated based on the coordinates of J2C1, J2C2 and the coordinates of the third circle center J1C1. Similarly, the actual rotation angles J1PC23, J1PC34, J1PC45, J1PC16, J1PC67, J1PC78, and J1PC89 of J1 rotating to the next position can be calculated based on the coordinates of the remaining adjacent second circle centers and the coordinates of the third circle center J1C1.

[0099] Then the expression for calculating the reduction ratio calibration value of J1 in step 3 is:

[0100] J1_Ratio1={(J1PC12 / J1AC12)+(J1PC23 / J1AC23)+……+(J1PC89 /

[0101] J1AC89)} / 8

[0102] Wherein, J1ACij represents the motor rotation angle when J1 rotates from position i to position j, i=1, 2..., 8, j=2, 3..., 9, a total of 9 rotation position points. At this time, the reduction ratio calibration values ​​of J2 and J3 can also be calculated according to the above two embodiments.

[0103] Then step 4 specifically includes the following contents:

[0104] After obtaining the radii J2R1 to J2R9 of the circles centered at J2 through step (3.3), calculate the average of the radii as the arm length calibration value between J2 and J3, that is:

[0105] L1=(J2R1+J2R2+……+J2R9) / 9

[0106] The radius J1R1 of the circle with J1 as the center obtained in step (3.3) is used as the arm length calibration value between J2 and J1, that is: L2 = J1R1.

[0107] In yet another embodiment, the method further comprises:

[0108] Step 5: Based on the coordinates of the measurement points corresponding to the positions of J2 before and after each rotation, the coordinates of the first circle center J3C1-J3C9 and the coordinates of the second circle center J2C1, the coupling ratio calibration value of J2 and J3 is calculated. The specific calculation method of the coupling ratio calibration value of J2 and J3 can refer to the specific content of step 5 in the previous embodiment, which will not be repeated here.

[0109] In summary, this method can calibrate the reduction ratio of each rotary joint separately, or calibrate the reduction ratio of the three rotary joints of SCARA, the arm length between two adjacent rotary joints, and the coupling ratio of J2 and J3 at one time when calibrating J1. This method is simple to operate, reduces the computational complexity, and can greatly improve the operation of SCARA robot arm calibration.

[0110] The above is only a preferred embodiment of the present application, and the present invention is not limited to the above embodiments. It is understood that other improvements and changes directly derived or associated by those skilled in the art without departing from the spirit and concept of the present invention should be considered to be included in the protection scope of the present invention.

Claims

1. A method for calibrating kinematic parameters of a SCARA robot arm, characterized in that: The method comprises: The calibration block is mounted on the rotary joint at the end of the robot arm, and a measuring point is arranged on the calibration block; Obtain the measurement data corresponding to the joint to be calibrated. If the joint to be calibrated is a terminal rotary joint, the first set of measurement data includes the motor rotation angle corresponding to the rotation of the terminal rotary joint and the coordinates of the measurement points; if the joint to be calibrated is an intermediate rotary joint, the second set of measurement data includes the motor rotation angle corresponding to the rotation of the terminal rotary joint and the intermediate rotary joint, and the coordinates of the measurement points; if the joint to be calibrated is an initial rotary joint, the third set of measurement data includes the motor rotation angle corresponding to the rotation of the terminal rotary joint, the intermediate rotary joint and the initial rotary joint, and the coordinates of the measurement points; Calculating the actual rotation angle of the joint to be calibrated each time it rotates based on the measurement data corresponding to the joint to be calibrated; Calculate the reduction ratio calibration value of the joint to be calibrated based on the actual rotation angle and the motor rotation angle of the joint to be calibrated each time it rotates; An arm length calibration value between two adjacent rotation joints is calculated based on the third set of measurement data.

2. The SCARA robot arm kinematic parameter calibration method according to claim 1, characterized in that: Calculating the actual rotation angle of the joint to be calibrated each time it rotates based on the measurement data corresponding to the joint to be calibrated, including: Based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, a circle with the joint to be calibrated as the center is obtained by fitting, and the coordinates of the center and the radius are determined; The actual rotation angle of the joint to be calibrated each time it rotates is calculated based on the coordinates of two adjacent points on the circle and the coordinates of the center of the circle.

3. The SCARA robot arm kinematic parameter calibration method according to claim 2, characterized in that: If the joint to be calibrated is a terminal rotation joint, a circle with the joint to be calibrated as the center is obtained by fitting based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, and the coordinates of the center and the radius are determined, including: Rotate the end, middle and start rotation joints to initial positions, where the axes of the three joints are in a straight line; The terminal rotary joint rotates at least twice from the initial position, and records the motor rotation angle corresponding to each rotation of the terminal rotary joint, and records the coordinates of the measurement points corresponding to the terminal rotary joint at the initial position and each rotation to a new position, to form the first set of measurement data; Based on the coordinates of the currently recorded measurement points, a circle with the current position of the end rotary joint as the center is fitted, and its first center coordinates and radius are determined; The coordinates of the two adjacent points on the circle are the coordinates of the two adjacent measurement points corresponding to the rotation of the terminal rotation joint.

4. The SCARA robot arm kinematic parameter calibration method according to claim 2, characterized in that: If the joint to be calibrated is an intermediate rotation joint, a circle with the joint to be calibrated as the center is obtained by fitting based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, and the coordinates of the center and the radius are determined, including: Rotate the end, middle and start rotation joints to initial positions, where the axes of the three joints are in a straight line; The intermediate rotary joint rotates at least twice from the initial position, and the terminal rotary joint rotates at least twice from the initial position when the intermediate rotary joint is at the initial position and each time it rotates to a new position, and the motor rotation angle corresponding to each rotation of the intermediate and terminal rotary joints is recorded, and the coordinates of the measurement points corresponding to the terminal rotary joint at the initial position and each time it rotates to a new position during the rotation of the intermediate and terminal rotary joints are recorded to form the second set of measurement data; Each time the intermediate rotary joint rotates to a position, a circle with the current position of the terminal rotary joint as the center is obtained by fitting based on a set of measurement point coordinates corresponding to the current rotary position, and its first center coordinates and radius are determined; Based on the first circle center coordinates obtained by fitting, a circle with the current position of the intermediate rotation joint as the center is obtained by fitting, and the second circle center coordinates and radius are determined; Among them, the coordinates of two adjacent points on the circle with the intermediate rotation joint as the center are the coordinates of two adjacent first circle centers; the radius of the circle with the intermediate rotation joint as the center is the arm length calibration value between the intermediate and terminal rotation joints.

5. The SCARA robot arm kinematic parameter calibration method according to claim 2, characterized in that: If the joint to be calibrated is a starting rotation joint, a circle with the joint to be calibrated as the center is obtained by fitting based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, and the coordinates of the center and the radius are determined, including: Rotate the end, middle and start rotation joints to initial positions, where the axes of the three joints are in a straight line; The starting rotation joint rotates at least twice from the initial position, the starting rotation joint rotates at least twice from the initial position and each time it rotates to a new position, the intermediate rotation joint rotates at least twice from the initial position, the intermediate rotation joint rotates at least twice from the initial position and each time it rotates to a new position, and the motor rotation angle corresponding to each rotation of the starting, intermediate, and terminal rotation joints is recorded, as well as the measurement point coordinates corresponding to the terminal rotation joint at the initial position and each time it rotates to a new position during the rotation of the starting, intermediate, and terminal rotation joints, to form the third set of measurement data; When the starting rotation joint rotates to a position, the following fitting is performed: Each time the intermediate rotary joint rotates to a position, a circle with the current position of the terminal rotary joint as the center is obtained by fitting based on a set of measurement point coordinates corresponding to the current rotary position, and its first center coordinates and radius are determined; Based on the first circle center coordinates obtained by fitting, a circle with the current position of the intermediate rotary joint as the center is obtained by fitting, and the second circle center coordinates and radius are determined; Based on the second circle center coordinates obtained by fitting, a circle with the current position of the start rotation joint as the center is obtained by fitting, and the third circle center coordinates and radius are determined; The coordinates of two adjacent points on the circle with the starting end rotation joint as the center are the coordinates of two adjacent second circle centers.

6. The SCARA robot arm kinematic parameter calibration method according to claim 1, characterized in that: Based on the actual rotation angle of the joint to be calibrated and the motor rotation angle at each rotation, the reduction ratio calibration value of the joint to be calibrated is calculated, and the expression is: Jk_Ratio1={(JkPC12 / JkAC12)+(JkPC23 / JkAC23)+……+(JkPCmn / JkACmn)} / (n-1) Among them, Jk_Ratio1 represents the reduction ratio calibration value of the joint to be calibrated, k=1 represents the starting rotation joint, k=2 represents the intermediate rotation joint, and k=3 represents the terminal rotation joint; JkPCij represents the actual rotation angle of the joint to be calibrated when it rotates from position i to position j, and JkACij represents the motor rotation angle of the joint to be calibrated when it rotates from position i to position j, i=1,2...,m, j=2,3...,n, m=n-1, and n is the total number of positions passed by the joint to be calibrated during rotation, including the initial position.

7. The SCARA robot arm kinematic parameter calibration method according to claim 5, characterized in that: Calculating an arm length calibration value between two adjacent rotation joints based on the third set of measurement data includes: Calculate the average of the radii of the circles obtained by fitting with the intermediate rotary joint as the center as the arm length calibration value between the intermediate and terminal rotary joints; The radius of a circle with the starting end rotary joint as the center is the arm length calibration value between the middle and starting end rotary joints.

8. The SCARA robot arm kinematic parameter calibration method according to claim 5, characterized in that: The method further comprises: Based on the measurement point coordinates, the first circle center coordinates and the second circle center coordinates corresponding to the positions of the intermediate rotary joint before and after each rotation, the coupling ratio calibration value of the intermediate and terminal rotary joints is calculated.

9. The SCARA robot arm kinematic parameter calibration method according to claim 8, characterized in that: The step of calculating the coupling ratio calibration value of the intermediate and terminal rotation joints includes: The coordinates of the measurement points corresponding to the positions of the intermediate rotary joint before and after each rotation refer to extracting the coordinates of the measurement points corresponding to the same rotation position of the terminal rotary joint before and after the intermediate rotary joint rotates each time the intermediate rotary joint rotates to a new position; Calculate the angle between the coordinates of the corresponding measuring point and the coordinates of the second circle center relative to the coordinates of the first circle center before rotation when the intermediate rotating joint is in the position before rotation, and record it as the angle before rotation; Calculate the angle between the corresponding measuring point coordinates and the second circle center coordinates and the first circle center coordinates after rotation when the intermediate rotation joint is in the rotated position, and record it as the rotated angle; Each time the intermediate rotary joint rotates to a new position, the difference between the angles before and after the rotation is calculated, which is recorded as JAij. Then, the expression for calculating the coupling ratio calibration value of the intermediate and terminal rotary joints is: J_Ratio2={(JA12 / J2PC12)+(JA23 / J2PC23)+……+(JAmn / J2PCmn)} / (n-1) Among them, J2PCij represents the actual rotation angle of the intermediate rotation joint when it rotates from position i to position j, i=1,2...,m, j=2,3...,n, m=n-1, n is the total number of positions passed by the intermediate rotation joint during rotation, including the initial position.

10. The SCARA robot arm kinematic parameter calibration method according to any one of claims 1 to 9, characterized in that: The coordinates of the measuring points are obtained by using a handheld three-coordinate measuring instrument.

Citation Information

Patent Citations

  • Method for performing camera calibration and coordinate conversion based on SCARA mechanical hand

    CN107160380A

  • Machine arm correction method and apparatus, controller of machine arm, and storage medium

    CN110682293A

  • Method and device for calibrating mechanical parameters of SCARA robot and SCARA robot

    CN111113419A

  • Robot parameter calibration method, device and equipment and storage medium

    CN113459084A

  • Six-axis robot automatic assembly simulation system

    CN113858215A