A method for calibrating kinematic parameters of a SCARA robotic arm

By collecting the coordinates of measurement points and the motor rotation angle on the calibration block of the SCARA robotic arm, the actual rotation angle and reduction ratio are calculated, solving the complex rotational parameter calibration problem in the existing technology and realizing simplified high-precision calibration.

CN119973971BActive Publication Date: 2026-03-10WUXI DANIEL AUTOMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-11
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing methods for calibrating the rotational parameters of SCARA robotic arms are complex and inaccurate, especially when calibrating the arm length and reduction ratio, which require different methods and are inconvenient to operate.

Method used

By collecting the coordinates of measurement points and the motor rotation angle on the calibration block of the SCARA robotic arm, the actual rotation angle is calculated using the center coordinates, and the reduction ratio and arm length are calculated. The parameters of the three rotary joints are calibrated using a unified method.

Benefits of technology

It simplifies the calibration process of SCARA robotic arms, improves calibration accuracy and ease of operation, and can calibrate the reduction ratio of three rotary joints, the arm length between two adjacent rotary joints, and the coupling ratio at one time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119973971B_ABST
    Figure CN119973971B_ABST
Patent Text Reader

Abstract

This invention discloses a method for calibrating the kinematic parameters of a SCARA robotic arm, relating to the field of robotics technology. The method includes: mounting a calibration block on the end effector rotary joint of the robotic arm, with a measurement point on the calibration block; acquiring measurement data corresponding to the joints to be calibrated, including end effector, intermediate, and beginning effect rotary joints; calculating the actual rotation angle of the joints to be calibrated for each rotation based on the measurement data; calculating the reduction ratio calibration value of the joints to be calibrated based on the actual rotation angle and the motor rotation angle; and calculating the arm length between two adjacent rotary joints and the coupling ratio calibration value between the intermediate and end effector rotary joints based on a third set of measurement data corresponding to the beginning effector rotary joint. This method can calibrate the reduction ratio, arm length, and coupling ratio using the coordinate data of the measurement point in the third set of measurement data acquired in one go and the motor rotation angles of the three joints. The operation and calculation are relatively easy to implement.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, and in particular to a SCARA robot arm kinematics parameter calibration method. BACKGROUND

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

[0003] Due to the influence of factors such as machining errors, assembly errors, clearances, and friction and wear, the actual robot arm rotation parameters (such as arm length and reduction ratio) have certain deviations from the theoretical design values. For the calibration of the arm length, the current method includes using a plug hole to calibrate, which requires high accuracy of the machined hole. If the plug hole is not accurate, it is easy to cause extrusion deformation, thereby 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 rotation shaft and the motor rotation angle for calculation. Therefore, two different methods are required to calibrate the arm length and the reduction ratio, which is very inconvenient for the calibrators. SUMMARY

[0004] The present application relates to the technical field of robots, and in particular to a SCARA robot arm kinematics parameter calibration method.

[0005] A SCARA robot arm kinematics parameter calibration method, comprising the following steps:

[0006] A calibration block is installed on the end rotary joint of the robot arm, and a measurement point is provided on the calibration block;

[0007] Measurement data corresponding to the joint to be calibrated is obtained. If the joint to be calibrated is an end rotary joint, the first group of measurement data includes the motor rotation angle corresponding to the rotation of the end rotary joint and the measurement point coordinates. If the joint to be calibrated is an intermediate rotary joint, the second group of measurement data includes the motor rotation angle corresponding to the rotation of the end rotary joint and the intermediate rotary joint and the measurement point coordinates. If the joint to be calibrated is a starting rotary joint, the third group of measurement data includes the motor rotation angle corresponding to the rotation of the end rotary joint, the intermediate rotary joint, and the starting rotary joint and the measurement point coordinates.

[0008] calculating an 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] calculating a reduction ratio calibration value of the joint to be calibrated based on the actual rotation angle of the joint to be calibrated each time it rotates and the motor rotation angle;

[0010] calculating an arm length calibration value between two adjacent rotating joints based on the third set of measurement data.

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

[0012] fitting a circle with the joint to be calibrated as the center based on the coordinates of the measurement points in the measurement data corresponding to the joint to be calibrated, and determining the center coordinates and the radius of the circle;

[0013] calculating 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 center coordinates of the circle.

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

[0015] rotating the terminal, intermediate, and initial rotating joints to an initial position, and the axes of the three joints are on a straight line at the initial position;

[0016] rotating the terminal rotating joint at least twice from the initial position, recording the motor rotation angle corresponding to each rotation of the terminal rotating joint, and recording the coordinates of the measurement points corresponding to the initial position and each new position reached by the terminal rotating joint, to form a first set of measurement data;

[0017] fitting a circle with the current position of the terminal rotating joint as the center based on the currently recorded measurement point coordinates, and determining the first center coordinates and the radius of the circle;

[0018] 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 rotating joint.

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

[0020] rotating the terminal, intermediate, and initial rotating joints to an initial position, and the axes of the three joints are on a straight line at the initial position;

[0021] The intermediate rotary joint rotates at least twice from the initial position, the intermediate rotary joint rotates at least twice from the initial position and each time it rotates to a new position, the end rotary joint rotates at least twice from the initial position, and the corresponding motor rotation angles of the intermediate, end and initial rotary joints are recorded each time they rotate, and the corresponding measurement point coordinates of the end rotary joint at the initial position and each time it rotates to a new position during the rotation of the intermediate, end and initial rotary joints are recorded to form a second group of measurement data;

[0022] When the intermediate rotary joint rotates to a position, a circle with the current position of the end rotary joint as the center is fitted based on a group of measurement point coordinates corresponding to the current rotary position, and a first circle center coordinate and a radius are determined;

[0023] Based on each first circle center coordinate fitted, a circle with the current position of the intermediate rotary joint as the center is fitted, and a second circle center coordinate and a radius are determined;

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

[0025] A further technical solution is that if the joint to be calibrated is the initial rotary joint, a circle with the joint to be calibrated as the center is fitted based on the measurement point coordinates in the measurement data corresponding to the joint to be calibrated, and a circle center coordinate and a radius are determined, comprising:

[0026] The end, intermediate and initial rotary joints are rotated to the initial position, and the axes of the three joints are on a straight line at the initial position;

[0027] The initial rotary joint rotates at least twice from the initial position, the intermediate rotary joint rotates at least twice from the initial position and each time it rotates to a new position, the end rotary joint rotates at least twice from the initial position, and the corresponding motor rotation angles of the initial, intermediate and end rotary joints are recorded each time they rotate, and the corresponding measurement point coordinates of the end rotary joint at the initial position and each time it rotates to a new position during the rotation of the initial, intermediate and end rotary joints are recorded to form a third group of measurement data;

[0028] When the initial rotary joint rotates to a position, the following are fitted in turn:

[0029] When the intermediate rotary joint rotates to a position, a circle with the current position of the end rotary joint as the center is fitted based on a group of measurement point coordinates corresponding to the current rotary position, and a first circle center coordinate and a radius are determined;

[0030] fitting a circle with the current position of the intermediate revolute joint as the center based on the fitted first circle center coordinates, and determining a second circle center coordinate and a radius thereof;

[0031] fitting a circle with the current position of the initial revolute joint as the center based on the fitted second circle center coordinates, and determining a third circle center coordinate and a radius thereof;

[0032] wherein the coordinates of two adjacent points on the circle with the initial revolute joint as the center are the coordinates of two adjacent second circle centers.

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

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

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

[0036] wherein Jk_Ratio1 represents the reduction ratio calibration value of the joint to be calibrated, k=1 represents the initial revolute joint, k=2 represents the intermediate revolute joint, and k=3 represents the terminal revolute joint; JkPCij represents the actual rotation angle of the joint to be calibrated when rotating from position i to position j, JkACij represents the motor rotation angle of the joint to be calibrated when rotating 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 through which the joint to be calibrated rotates, including the initial position.

[0037] A further technical solution is that an arm length calibration value between two adjacent revolute joints is calculated based on the third group of measurement data, including:

[0038] calculating the mean value of the radii of the fitted circles with the intermediate revolute joint as the center as the arm length calibration value between the intermediate and terminal revolute joints;

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

[0040] A further technical solution is that the method further includes:

[0041] based on the measurement point coordinates, the first circle center coordinates, and the second circle center coordinates corresponding to the positions of the intermediate revolute joint before and after each rotation, a coupling ratio calibration value of the intermediate and terminal revolute joints is calculated.

[0042] A further technical solution is that the coupling ratio calibration value of the intermediate and terminal revolute joints is calculated, including:

[0043] The corresponding measured point coordinates obtained by the intermediate rotary joint before and after each rotation refer to that when the intermediate rotary joint rotates to a new position, the measured point coordinates corresponding to the same rotary position of the end rotary joint before and after the rotation of the intermediate rotary joint are extracted;

[0044] The angle of the corresponding measured point coordinates and the second circle center coordinates relative to the first circle center coordinates before rotation of the intermediate rotary joint is calculated and recorded as the pre-rotation angle;

[0045] The angle of the corresponding measured point coordinates and the second circle center coordinates relative to the first circle center coordinates after rotation of the intermediate rotary joint is calculated and recorded as the post-rotation angle;

[0046] The difference between the pre-rotation angle and the post-rotation angle is calculated when the intermediate rotary joint rotates to a new position, and is recorded as JAij, and the expression for calculating the coupling ratio calibration value of the intermediate and end rotary joints is:

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

[0048] (n-1)

[0049] Wherein, J2PCij represents the actual rotation angle of the intermediate rotary joint from position i to position j, i=1, 2, …, m, j=2, 3, …, n, m=n-1, n is the total number of positions through which the intermediate rotary joint rotates, including the initial position.

[0050] Further, the measured point coordinates are obtained by using a handheld three-coordinate measuring instrument.

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

[0052] The mechanical arm kinematics parameter calibration method provided by the present application can calibrate the speed reduction ratio of the three rotary joints of the SCARA, the arm length between two adjacent rotary joints, and the coupling ratio of J2 and J3 by collecting the measured point coordinate data in the third group of measurement data corresponding to the initial rotary joint and the motor rotation angles of the three joints at one time, and the method is simple to operate, reduces the calculation complexity, and can greatly improve the operation of SCARA mechanical arm calibration. BRIEF DESCRIPTION OF DRAWINGS

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

[0054] Figure 2is a schematic diagram of a calibration block provided by the present application.

[0055] Figure 3 is a flowchart of a SCARA robot kinematics parameter calibration method provided by the present application.

[0056] Figure 4 is a schematic diagram of the movement of three rotary joints, wherein (a) is a schematic diagram of the movement of the intermediate and end rotary joints when the initial rotary joint rotates, (b) is a schematic diagram of the movement of the calibration block when the end rotary joint rotates, and (c) is a schematic diagram of the movement of the end rotary joint when the intermediate rotary joint rotates.

[0057] Figure 5 is a schematic diagram of the angles required for calculating the coupling ratio calibration value of the intermediate and end rotary joints. DETAILED DESCRIPTION

[0058] The specific embodiments of the present application will be further described below with reference to the accompanying drawings.

[0059] One embodiment of the present application provides a SCARA robot kinematics parameter calibration method, which uses a calibration block and a handheld three-coordinate measuring instrument, wherein the calibration block has a structure as shown in Figure 2 which has a screw hole 21 fixed with the end rotary joint J3 and a measurement point 22, and the calibration block is installed on J3, and when J3 rotates, the calibration block will move together, at which time the handheld three-coordinate measuring instrument can be used to obtain the coordinates of the measurement point at different positions.

[0060] Referring to Figure 3 , the method specifically includes 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 end rotary joint J3, the first group of measurement data includes the motor rotation angle corresponding to the rotation of J3 and the measurement point coordinates. If the joint to be calibrated is the intermediate rotary joint J2, the second group of measurement data includes the motor rotation angle corresponding to the rotation of J3 and J2 and the measurement point coordinates. If the joint to be calibrated is the initial rotary joint J1, the third group of measurement data includes the motor rotation angle corresponding to the rotation of J3, J2 and J1 and the measurement point coordinates.

[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 measurement point coordinates in the measurement data corresponding to the joint to be calibrated, a circle with the joint to be calibrated as the center is fitted, and the center coordinates 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 circle's center.

[0066] Step 3: Calculate the reduction ratio calibration value of the joint to be calibrated based on the actual rotation angle of the joint during each rotation and the rotation angle of the motor.

[0067] Step 4: Based on the third set of measurement data, the arm length calibration value between two adjacent rotational joints can be calculated at once, namely the arm length calibration value of forearm 1 between J3 and J2 and the arm length calibration value of upper arm 2 between J2 and J1.

[0068] In one embodiment, if the joint to be calibrated is an end joint J3, then step 2.1 specifically includes the following:

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

[0070] (1.2) such as Figure 4 As shown in (b), J3 rotates at least twice from its initial position, and the motor rotation angle J3ACij corresponding to each rotation is recorded. The coordinates of the measurement points at the initial position and each new position are also recorded, forming the first set of measurement data. In this embodiment, J3 is rotated four times in one direction from its initial position 1. The coordinates of the measurement points at 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 its initial position 1, and then rotate it four times in the other direction. Record the coordinates of the measurement 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 can be either counterclockwise or clockwise, and the J3 motor rotates by a theoretical angle (e.g., 10 degrees) each time. This angle can be customized and is not limited in this application.

[0071] (1.3) Based on the current recorded measurement point coordinates, a circle with J3 current position as the center is fitted, and its first center coordinates and radius are determined. In this embodiment, the circle to be fitted is surrounded by J3P11~J3P19. In the calculation, three different positions of measurement point coordinates are taken each time, and the first center coordinates (X0, Y0) and radius R are calculated by substituting them into the following formula (1). The average of several calculated values is taken as the first center J3C1 coordinates and radius J3R1.

[0072]

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

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

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

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

[0077] J3AC89)} / 8

[0078] Wherein, J3ACij represents the motor rotation angle of J3 when rotating from position i to position j, i=1, 2, …, 8, j=2, 3, …, 9, there are 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) Rotate J3, J2 and J1 to the initial position, and the axes of the three joints are on a straight line at the initial position. The definition of the initial position can refer to the related content introduced in (1.1) of the previous embodiment, which will not be repeated here.

[0081] (2.2) Combine Figure 4 (b), Figure 4-(c) shown, J2 starts from the initial position and rotates at least twice, J2 at the initial position and each time it rotates to a new position, J3 starts from the initial position and rotates at least twice, and records the corresponding motor rotation angle J3ACij, J2ACij of J3, J2 each time it rotates, and records the corresponding measurement point coordinates of J3 at the initial position and each time J3 rotates to a new position, to form a second group of measurement data. In this embodiment, J2 is rotated four times in one direction from the initial position 1, then J2 is rotated back to the initial position 1, and four times in the other direction. Wherein J2 each time it rotates to a position (including the initial position 1), the content provided in step (1.2) is executed, i.e. 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~J3P25. Then J3 is rotated back to the initial position 1, and four times in the other direction, and the coordinates of the measurement points at position 6 to position 9 are recorded as J3P26~J3P29. Repeating the above operation can obtain the coordinates of 9 groups of measurement points corresponding to 9 rotating position points of J2. Wherein, the rotating direction of J3, J2 is divided into counterclockwise direction and clockwise direction, and J2 motor rotates a theoretical angle (such as 20 degrees) each time, J3 motor rotates a theoretical angle (such as 10 degrees) each time, which can be self-defined and is not limited in this application.

[0082] (2.3) J2 each time it rotates to a position (including the initial position 1), will drive J3 to move through the forearm, and based on the measurement point coordinates corresponding to the current rotating position, a circle with J3 current position as the center is fitted, and its first center coordinates and radius are determined. In this embodiment, the circles to be fitted are the circles surrounded by J3P11~J3P19, J3P21~J3P29, …, J3P91~J3P99, and the first center coordinates J3C1~J3C9 and radius J3R1~J3R9 of each circle are calculated. Then based on the first center coordinates J3C1~J3C9 of each fitted circle, a circle with J2 current position as the center is fitted, and its second center coordinates J2C1 and radius J2R1 are determined. The method for calculating the center and radius of each fitted circle can refer to the related content introduced in the last embodiment (1.3), 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, based on the coordinates of J3C1 and J3C2 and the coordinate of the second circle center J2C1, the actual rotation angle J2PC12 of J2 from the initial position 1 to position 2 can be calculated, and similarly, based on the coordinates of the remaining adjacent first circle centers and the coordinate of the second circle center J2C1, the actual rotation angles J2PC23, J2PC34, J2PC45, J2PC16, J2PC67, J2PC78 and J2PC89 of J2 rotating to the next position can be calculated respectively.

[0085] Then the expression for calculating the deceleration 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 of J2 when rotating 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 deceleration 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 small arm, that is: L1 = J2R1.

[0090] Since the existing method has not proposed a calibration method for the coupling ratio between adjacent rotary joints, in another embodiment, the method further includes:

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

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

[0093] In yet another embodiment, if the joint to be calibrated is the initial end rotating joint J1, step 2.1 specifically includes the following contents:

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

[0095] (3.2) Combine Figure 4 (a), Figure 4 (b), Figure 4-(c) shown, J1 rotates at least twice from the initial position, J1 at the initial position and each time rotates to a new position, J2 rotates at least twice from the initial position, J2 at the initial position and each time rotates to a new position, J3 rotates at least twice from the initial position, and records the corresponding motor rotation angle J3ACij, J2ACij, J1ACij of J3, J2, J1 each time rotates, and records the corresponding measurement point coordinates of J3, J2, J1 at the initial position and each time J3 rotates to a new position, to form a third group of measurement data. In this embodiment, J1 is rotated four times in one direction from the initial position 1, then rotated back to the initial position 1, and four times in the other direction. J2 is rotated four times in one direction from the initial position 1, then rotated back to the initial position 1, and four times in the other direction. Wherein J1 rotates to a position (including initial position 1) each time, the content provided in step (2.2) is executed, i.e. J2 is rotated four times in one direction from the initial position 1, then rotated back to the initial position 1, and four times in the other direction. Wherein J2 rotates to a position (including initial position 1) each time, J3 is rotated four times in one direction from the initial position 1, and the coordinates of the measurement points from initial position 1 to position 5 are recorded as J3P21~J3P25 in turn. Then J3 is rotated back to the initial position 1, and four times in the other direction, and the coordinates of the measurement points from position 6 to position 9 are recorded as J3P26~J3P29 in turn. Repeating the above operation can obtain the coordinates of 9x9 groups of measurement points corresponding to 9 rotation position points of J1. Wherein, the rotation direction of J3, J2, J1 is divided into counterclockwise direction and clockwise direction, and J1 motor rotates a theoretical angle (such as 15 degrees) each time, J2 motor rotates a theoretical angle (such as 20 degrees) each time, and J3 motor rotates a theoretical angle (such as 10 degrees) each time, which can be self-defined and is not limited in the present application.

[0096] (3.3) When J1 rotates to a position (including the initial position 1), J2 is driven to move by the large arm, and at this time, the following can be fitted in sequence: J2 moves to a specified position and then starts to rotate, J3 is driven to move by the small arm when J2 rotates to a position, a circle with J3 as the center is fitted based on a group of measured point coordinates corresponding to the current rotating position of J2, and the first circle center coordinate and the radius are determined. Then, a circle with J2 as the center is fitted based on the fitted first circle center coordinates, and the second circle center coordinate and the radius are determined, and in this embodiment, nine second circle centers J2C1-J2C9 coordinates and radii J2R1-J2R9 can be obtained. Finally, a circle with J1 as the center is fitted based on the fitted second circle center J2C1-J2C9 coordinates, and the third circle center J1C1 coordinate and the radius J1R1 are determined. The method for calculating the center and radius of each fitted circle can refer to the related content introduced in the above embodiment (1.3), and will not be described here.

[0097] Therefore, step 2.2 specifically includes the following content:

[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 position 2 can be calculated based on the coordinates of J2C1 and J2C2 and the third circle center J1C1 coordinate, and 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 third circle center J1C1 coordinate.

[0099] Therefore, 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 of J1 when rotating from position i to position j, i=1, 2, …, 8, j=2, 3, …, 9, there are 9 rotating 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] Therefore, step 4 specifically includes the following content:

[0104] After the radii of the respective circles with J2 as the center are obtained in step (3.3), the average of the radii is calculated as the arm length calibration value of the small arm between J2 and J3, i.e.:

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

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

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

[0108] Step 5: Based on the measured point coordinates corresponding to the positions of J2 before and after each rotation, the coordinates of the first circle centers J3C1-J3C9, and the coordinate 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, and will not be repeated here.

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

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

Claims

1. A method for calibrating kinematic parameters of a SCARA robot, characterized in that, The method comprises: installing a calibration block on a mechanical arm end rotary joint, the calibration block being provided with a measurement point; acquiring measurement data corresponding to the joint to be calibrated, if the joint to be calibrated is an end rotary joint, the first group of measurement data comprising corresponding motor rotation angles when the end rotary joint rotates, and measurement point coordinates; if the joint to be calibrated is an intermediate rotary joint, the second group of measurement data comprising corresponding motor rotation angles when the end rotary joint and the intermediate rotary joint rotate, and measurement point coordinates; if the joint to be calibrated is a starting rotary joint, the third group of measurement data comprising corresponding motor rotation angles when the end rotary joint, the intermediate rotary joint and the starting rotary joint rotate, and measurement point coordinates; calculating actual rotation angles of the joint to be calibrated each time it rotates based on the measurement data corresponding to the joint to be calibrated; calculating a reduction ratio calibration value of the joint to be calibrated based on the actual rotation angles of the joint to be calibrated each time it rotates and the motor rotation angles; calculating an arm length calibration value between two adjacent rotary joints based on the third group of measurement data; wherein the actual rotation angles of the joint to be calibrated each time it rotates are calculated based on the measurement data corresponding to the joint to be calibrated, comprising: fitting a circle with the joint to be calibrated as the center based on the measurement point coordinates in the measurement data corresponding to the joint to be calibrated, and determining the center coordinates and the radius of the circle; calculating the actual rotation angles of the joint to be calibrated each time it rotates based on the coordinates of two adjacent points on the circle and the center coordinates; wherein if the joint to be calibrated is an intermediate rotary joint, a circle with the current position of the intermediate rotary joint as the center is fitted based on the second group of measurement data, and the center coordinates of the circle are recorded as second center coordinates, and the coordinates of the end rotary joint on the circle are recorded as first center coordinates; the method further comprises calculating a coupling ratio calibration value of the intermediate rotary joint and the end rotary joint based on the measurement point coordinates corresponding to the positions of the intermediate rotary joint before and after each rotation, the first center coordinates and the second center coordinates, comprising: the measurement point coordinates corresponding to the positions of the intermediate rotary joint before and after each rotation refer to, when the intermediate rotary joint rotates to a new position, extracting the measurement point coordinates corresponding to the positions of the end rotary joint before and after the rotation of the intermediate rotary joint at the same rotary position; calculating the angle of the corresponding measurement point coordinates and the second center coordinates relative to the first center coordinates before rotation of the intermediate rotary joint at the rotary position, and recording it as the pre-rotation angle; calculating the angle of the corresponding measurement point coordinates and the second center coordinates relative to the first center coordinates after rotation of the intermediate rotary joint at the rotary position, and recording it as the post-rotation angle; when the intermediate rotary joint rotates to a new position, calculating the difference between the pre-rotation angle and the post-rotation angle, and recording it as JAij, and the expression for calculating the coupling ratio calibration value of the intermediate rotary joint and the end rotary joint is: J_Ratio2 = {(JA12 / J2PC12) + (JA23 / J2PC23)+ …… + (JAmn / J2PCmn)} / (n-1) Wherein, J2PCij represents the actual rotation angle of the intermediate rotary joint when rotating from position i to position j, i=1, 2, …, m, j=2, 3, …, n, m=n-1, n is the total number of positions through which the intermediate rotary joint rotates, including the initial position.

2. The SCARA robot kinematics parameter calibration method according to claim 1, characterized in that, If the joint to be calibrated is a terminal rotary joint, a circle with the joint to be calibrated as the center is fitted based on the measurement point coordinates in the measurement data corresponding to the joint to be calibrated, and the center coordinates and the radius of the circle are determined, comprising: Rotating the terminal rotary joint, the intermediate rotary joint and the initial rotary joint to the initial position, at which the axes of the three joints are on a straight line; The terminal rotary joint is rotated at least twice from the initial position, and the corresponding motor rotation angle of the terminal rotary joint each time it rotates is recorded, and the corresponding measurement point coordinates of the terminal rotary joint at the initial position and each time it rotates to a new position are recorded to form the first group of measurement data; A circle with the current position of the terminal rotary joint as the center is fitted based on the currently recorded measurement point coordinates, and the first center coordinates and the radius of the circle are determined; Wherein, the coordinates of two adjacent points on the circle are the coordinates of two adjacent measurement points corresponding to the rotation of the terminal rotary joint.

3. The SCARA robot kinematics parameter calibration method of claim 1, wherein, If the joint to be calibrated is an intermediate rotary joint, a circle with the joint to be calibrated as the center is fitted based on the measurement point coordinates in the measurement data corresponding to the joint to be calibrated, and the center coordinates and the radius of the circle are determined, comprising: Rotating the terminal rotary joint, the intermediate rotary joint and the initial rotary joint to the initial position, at which the axes of the three joints are on a straight line; The intermediate rotary joint is rotated at least twice from the initial position, the terminal rotary joint is rotated at least twice from the initial position at the initial position and each time the intermediate rotary joint rotates to a new position, and the corresponding motor rotation angle of the intermediate rotary joint and the terminal rotary joint each time they rotate is recorded, and the corresponding measurement point coordinates of the terminal rotary joint at the initial position and each time it rotates to a new position during the rotation of the intermediate rotary joint and the terminal rotary joint are recorded to form the second group of measurement data; When the intermediate rotary joint rotates to a position, a circle with the current position of the terminal rotary joint as the center is fitted based on the corresponding group of measurement point coordinates of the current rotary position, and the first center coordinates and the radius of the circle are determined; Based on the fitted first center coordinates, a circle with the current position of the intermediate rotary joint as the center is fitted, and the second center coordinates and the radius of the circle are determined; Wherein, the coordinates of two adjacent points on the circle with the intermediate rotary joint as the center are the coordinates of two adjacent first centers; the radius of the circle with the intermediate rotary joint as the center is the arm length calibration value between the intermediate rotary joint and the terminal rotary joint.

4. The SCARA robot kinematics parameter calibration method of claim 1, wherein, If the joint to be calibrated is an initial rotary joint, a circle with the joint to be calibrated as the center is fitted based on the measurement point coordinates in the measurement data corresponding to the joint to be calibrated, and the center coordinates and the radius of the circle are determined, comprising: rotating the end rotary joint, the middle rotary joint and the start rotary joint to an initial position at which the axes of the three joints are in a straight line; rotating the start rotary joint at least twice from the initial position, the middle rotary joint at least twice from the initial position, and the end rotary joint at least twice from the initial position, and recording the corresponding motor rotation angles of the start rotary joint, the middle rotary joint and the end rotary joint at each rotation, and recording the corresponding measurement point coordinates of the end rotary joint at the initial position and at each new position in the rotation process of the start rotary joint, the middle rotary joint and the end rotary joint, to form the third group of measurement data; fitting, in sequence, a circle with the start rotary joint at each position to obtain a first circle center coordinate and a first radius; fitting, based on the group of measurement point coordinates corresponding to the current rotary position, a circle with the end rotary joint at the current position to obtain a second circle center coordinate and a second radius; fitting, based on each of the fitted second circle center coordinates, a circle with the middle rotary joint at the current position to obtain a third circle center coordinate and a third radius; wherein the coordinates of two adjacent points on the circle with the start rotary joint as the center are the coordinates of two adjacent second circle centers. calculating the reduction ratio calibration value of the joint to be calibrated based on the actual rotation angle and the motor rotation angle at each rotation of the joint to be calibrated, and the expression is:

5. The SCARA robot kinematics parameter calibration method of claim 1, wherein, Jk_Ratio1 = {(JkPC12 / JkAC12) + (JkPC23 / JkAC23)+ …… + (JkPCmn / JkACmn)} / (n-1) wherein Jk_Ratio1 represents the reduction ratio calibration value of the joint to be calibrated, k=1 represents the start rotary joint, k=2 represents the middle rotary joint, and k=3 represents the end rotary joint; JkPCij represents the actual rotation angle of the joint to be calibrated from position i to position j, JkACij represents the motor rotation angle of the joint to be calibrated 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 through in the rotation of the joint to be calibrated, including the initial position. calculating the arm length calibration value between two adjacent rotary joints based on the third group of measurement data, including:

6. The SCARA robot kinematics parameter calibration method of claim 4, wherein, calculating the average of the radii of each of the circles with the middle rotary joint as the center, as the arm length calibration value between the middle rotary joint and the end rotary joint; the radius of the circle with the start rotary joint as the center is the arm length calibration value between the middle rotary joint and the start rotary joint. ​ 7. The method of calibrating kinematic parameters of a SCARA robot according to any one of claims 1-6, wherein, The measuring point coordinates are obtained by using a handheld three-coordinate measuring instrument. The measuring point coordinates are obtained by using a handheld three-coordinate measuring instrument.

Citation Information

Patent Citations

  • 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