Calibration method for articulated robot
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- YAMAHA MOTOR CO LTD
- Filing Date
- 2025-01-24
- Publication Date
- 2026-07-30
Smart Images

Figure JP2025002192_30072026_PF_FP_ABST
Abstract
Description
Calibration Method for Articulated Robot
[0001] The technology disclosed in this specification relates to the calibration of an articulated robot.
[0002] In an articulated robot, the absolute position accuracy may decrease due to errors in link lengths and joint angles, making it difficult to accurately reach the commanded position of the robot.
[0003] Therefore, the absolute position accuracy is improved by calibrating the robot parameters. As a document disclosing the technology related to the calibration of an articulated robot, there is Patent Document 1.
[0004] Japanese Patent Application Laid-Open No. 6-304893
[0005] In Patent Document 1, calibration is performed by operating the robot so that the tip of the robot contacts a high-precision adjustment jig. Operating the robot so that the tip of the robot contacts a high-precision adjustment jig requires skill and has a working burden. The present invention aims to reduce the working burden of calibration.
[0006] A calibration method for an articulated robot, comprising: a first step of fixing a jig at the tip of the arm to a fixing member and restricting the freedom of the end; a second step of changing the posture of the articulated robot whose freedom of the end is restricted in the first step by using a redundant structure and measuring robot parameters in each posture; a third step of obtaining a forward kinematics calculation value of the position of the tip of the arm in each posture by using the measured values of the robot parameters measured in each posture in the second step; and a fourth step of correcting the robot parameters based on the difference between the forward kinematics calculation values in each posture calculated in the third step with respect to the average value of the forward kinematics calculation values in each posture calculated in the third step. The robot parameters are parameters used for controlling the position and posture of the end of the articulated robot, and for example, include the position and angle between joint rotation axes, link lengths, and joint angles as elements.
[0007] The technologies disclosed herein can reduce the workload associated with calibration.
[0008] Perspective view of a vertical articulated robot Block diagram showing the electrical configuration of a vertical articulated robot Block diagram showing the electrical configuration of a vertical articulated robot Flowchart of calibration Diagram showing the calibration process Plan view of the jig Plan view of the end-effector flange Plan view of the end-effector flange fixed to the jig Cross section of line A-A in Figure 7 Diagram showing the calibration process Diagram showing the definition variables of the estimation algorithm Graph showing the change in joint angle when the posture of the robot arm is changed Graph showing the reach of the arm tip before and after calibration Diagram showing the calibration process
[0009] <Embodiment 1> 1. Structure of the vertical articulated robot Figure 1 is a perspective view of the vertical articulated robot 10. The vertical articulated robot 10 consists of a base 11 and a robot arm 12. The robot arm 12 consists of a plurality of arms 13 to 18 and a plurality of joints 21A to 21G that connect the arms 13 to 18. Hereinafter, the three orthogonal axes will be described as XYZ.
[0010] The vertical articulated robot 10 is a seven-joint robot with a redundant structure (a robot with one more joint than the six degrees of freedom of the robot's end-effector), and the joints are numbered 1st joint 21A, 2nd joint 21B, 3rd joint 21C, 4th joint 21D, 5th joint 21E, 6th joint 21F, and 7th joint 21G, starting from the side closest to the base 11.
[0011] In the case of a vertically articulated robot, the degrees of freedom of the end-effector are as shown in the following equation. Therefore, a robot with 6 degrees of freedom is the minimum degree of freedom required to achieve the correct end-effector posture.
[0012] Degrees of freedom = (3 degrees of freedom in position space XYZ) + (3 degrees of freedom in attitude space roll, pitch, yaw)
[0013] Furthermore, in the case of a horizontally articulated robot, the degrees of freedom of the end-effector can be expressed by the following equation, since the arm is constrained to a plane and rotated by a vertical axis drawn from the tip of the arm. In this case, a degree of freedom of 4 for the robot is the minimum degree of freedom that can achieve the end-effector's posture without excess or deficiency.
[0014] Degrees of freedom = (2 degrees of freedom for the XY direction of the arm) + (2 degrees of freedom for position and rotation in the Z direction)
[0015] Furthermore, the fourth joint 21D corresponds to the so-called elbow joint, and the fifth joint 21E to the seventh joint 21G correspond to the joints from the arm to the wrist. The end of the robot arm 12 is provided with a load attachment section, to which a load 50 can be attached.
[0016] As shown in Figure 2, each joint 21A to 21G has a motor 23A to 23G and a sensor 31A to 31G built in. Each joint 21A to 21G can have its joint angle (arm angle) arbitrarily adjusted by motor drive.
[0017] Each sensor 31A to 31G measures and outputs robot parameters used to control the position of the arm tip and the posture of the robot arm 12. Specifically, they measure and output the joint angles of each joint 21A to 21G.
[0018] As shown in Figure 3, the vertical articulated robot 10 is further equipped with a controller 40. In Figure 3, sensors 31A to 31G are shown on the base 11, but sensors 31A to 31G are actually built into the joints 21A to 21G.
[0019] The controller 40 is a control device for the vertical articulated robot 10 and includes a calculation unit 41, a memory 43, and an input unit 45. The memory 43 stores control programs for controlling the vertical articulated robot 10 and calibration programs for performing calibration. Based on the outputs of sensors 31A to 31G, the controller 40 controls the joint angles of each joint 21A to 21G to move the arm tip to an arbitrary position. The controller 40 also performs calibration (robot parameter correction) of the vertical articulated robot 10.
[0020] 2. Calibration of the vertical articulated robot Due to modeling errors such as link length and joint angles, the positional accuracy of the arm tip of the vertical articulated robot 10 may decrease, making it difficult to accurately reach the commanded position.
[0021] One feature of the calibration method disclosed in this specification is that it utilizes a redundant structure, and as shown in Figure 4, it consists of four steps S1 to S4. S1 corresponds to the first step of the present invention, S2 to the second step, S3 to the third step, and S4 to the fourth step. In this embodiment, as shown in Figure 5, the vertical articulated robot 10 is attached to the fixed platen 110 via the robot base 130, and as preparation for calibration, the jig 120 is fixed to the end-effector flange 12A at the tip of the arm with bolts B1.
[0022] Figure 6A is a plan view of the jig 120, and Figure 6B is a plan view of the end flange 12A. Reference numeral 125 in Figure 6A indicates a bolt insertion hole, and reference numeral 35 in Figure 6B indicates a bolt hole (threaded hole). The jig 120 can be fixed to the end flange 12A by aligning the jig 120 with the bolt insertion hole 125 so that the bolt hole 35 aligns with the end flange 12A, and then tightening it with bolt B1.
[0023] Step S1 is the step of fixing the jig 120 at the tip of the arm to the fixing platen 110, as shown in Figure 5, thereby restricting the degree of freedom of the end of the arm. The fixing platen 110 corresponds to the "fixing member" of the present invention. Reference numeral 127 in Figure 6A indicates a bolt insertion hole for fastening the jig 120 to the fixing platen 110. The fixing platen 110 is provided with bolt holes (not shown) corresponding to the bolt insertion holes 127 of the jig 120.
[0024] Figure 7A is a plan view showing the jig 120 fixed to the fixed platen 110, and Figure 7B is a cross-sectional view of the fastening part (cross-sectional view along line A-A in Figure 7A).
[0025] As shown in Figure 7B, the end flange 12A is fixed to the fixed platen 110 by fastening the jig 120 to the fixed platen 110 from above with bolts B2, thereby restricting the degree of freedom of the end flange. The first step S1 (restriction of the end flange 12A) is performed by the worker.
[0026] Even if the jig 120 is fixed to the fixed platen 110 and the degrees of freedom of the end-effector are restricted, the vertical articulated robot 10 can change its posture by utilizing its redundant structure.
[0027] In S2, the posture of the vertical articulated robot 10, whose degrees of freedom at the end of its hand were constrained in S1, is changed using a redundant structure, as shown in Figure 8.
[0028] Specifically, the operator manually changes the posture of the robot arm 12 using the direct teaching function. The direct teaching function is a function that allows the robot arm 12 to be changed to any desired posture by freeing each joint 21A to 21G (without applying motor torque).
[0029] Furthermore, S2 is not limited to the direct teaching function; for example, all joints 21A to 21G of the robot arm 12 may be made back-driveable, and the redundant structure may be used to operate them by external force such as human hands. Here, a back-driveable state means that the joints 21A to 21G are not controlled by the position control of the motors 23A to 23G, and the joints 21A to 21G are driven by an external force (direct teaching is one example of this).
[0030] The simplest state is with no control and the brakes released, but in this case it is difficult to operate due to the friction of the reduction gear and the effects of gravity, so it may be made easier to operate by, for example, compensating for gravitational torque and frictional torque. Alternatively, the posture of the robot may be changed by making some of the joints 21A to 21G, such as 6 of the 7 axes, back-driveable and driving the remaining axis (in this case, one axis). Note that "axis" refers to a joint. In any configuration, this method can be applied as long as the end-effector flange 12A is fixed to the fixed platen 110 via the jig 120 and the positional relationship between the robot base 130 and the end-effector flange 12A is always constant.
[0031] Then, in S2, robot parameters are measured by sensors 31A to 31G in each posture. Specifically, the joint angles of each joint 21A to 21G are measured.
[0032] S3 is a step in which the calculation unit 41 uses the robot parameters measured in S2 to calculate the forward kinematics values of the arm tip position (X, Y, and Z coordinates of the center of the end-effector flange 12A) for each posture. Here, forward kinematics is the procedure for determining the position and movement of the arm tip from the angles and movements of the robot joints. The Jacobian matrix, which represents the relationship between small joint displacements and small end-effector displacements as seen from the base coordinate system, is known as a matrix used in forward kinematics calculations.
[0033] S4 is a step in which the calculation unit 41 corrects the robot parameters based on the difference between the average value of (1) and the calculated value of (2).
[0034] (1) The average value of the forward kinematic calculations for each posture calculated in S3 (2) The forward kinematic calculations for each posture calculated in S3
[0035] In this embodiment, calibration is performed by correcting the joint angles of each joint 21A to 21G so that the above error is reduced. The joint angles can be corrected by providing an offset with a correction value relative to sensors 31A to 31G.
[0036] Furthermore, the fixing position A of the arm tip (hand flange 12A) may be at one location, but it is also possible to change the fixing position A and repeat steps S2 and S3 at multiple fixing positions A. To change the fixing position A, the fastening position (fixing position) of the jig 120 to the fixing platen 110 should be changed.
[0037] 3. Correction Value Estimation Algorithm The definition variables of the estimation algorithm are shown in Figure 9. However, the number of axes of the vertical articulated robot 10 is assumed to be n ∈ N, and a theoretical model that considers all DH parameters, i.e., a 4n-degree-of-freedom robot model, is assumed. By modeling the vertical articulated robot 10 in this way, the position and angle between joint rotation axes, link length, and joint angle can be included as elements of the robot parameters.
[0038] At this time, the true value, measured value, and offset (error) of the robot parameters each become 4n-dimensional general coordinates. Among these, for parameters that do not change for each trial, it is necessary to estimate the measured value as zero and the true value as the offset (error) as appropriate (Equation 1).
[0039]
[0040] For example, assuming a model of a vertically articulated robot with a 7-axis configuration and 28 degrees of freedom, if only joint angles are considered, for other robot parameters, the measured value of the robot parameters can be considered as zero and the true value as the offset (error).
[0041] An estimation algorithm for robot parameters will be described. The true value of the robot parameters is represented by Equation 2.
[0042]
[0043] The true value of the fixed position A is represented by Equation 3 using a function that performs forward kinematics calculations.
[0044]
[0045] Also, according to the geometric model of the vertically articulated robot 10, the end position calculated by forward kinematics calculations is represented by Equation 4.
[0046]
[0047] Here, from Equations 2 and 3, the relational expression of Equation 5 is derived.
[0048]
[0049] Here, Equation 5 is transformed as follows.
[0050]
[0051] Furthermore, Equation 6 is transformed to obtain Equation 7.
[0052]
[0053] Here, the data at any fixed position Aa can be expressed by equation 8, and furthermore, these relationships can be expressed by equation 9.
[0054]
[0055]
[0056] Furthermore, when equation 9 is written in matrix form for fixed positions A1 to Aa and fixed positions Aa to Ap, it becomes equation 10. E is the identity matrix. In equation 10, the true value of ΔRa is shown by adding a hat subscript to ΔRa.
[0057]
[0058] Then, by solving equation 10, we can derive (3) and (4) from (1) and (2) below.
[0059] (1) ΔR1,ΔR2,...,ΔRa,...,ΔRp (2) J1, J2,..., Ja,..., Jp (3) Δq (4) True value of ΔR1,ΔR2,...,ΔRa,...,ΔRp
[0060] Furthermore, ΔR is the difference between the forward kinematics calculation value and the average value of the kinematics calculation value, and J is a matrix in which the Jacobian matrices for each posture of a given fixed point are arranged in each column. Δq is the offset (correction value) of the robot parameters, and the true value of ΔR is the difference between the true value and the average value of the forward kinematics calculation value.
[0061] 4. Evaluation Result Figure 10 is a graph showing the joint angles when the posture of the vertical articulated robot 10 is changed in S2. The horizontal axis represents the robot posture (the time [s] it takes to change to each posture depending on the posture of the vertical articulated robot), and the vertical axis represents the joint angles. It can be seen that the angles of each joint change in accordance with the change in the posture of the vertical articulated robot 10.
[0062] Figure 11 shows the X, Y, and Z directions of the reach of the arm tip (end-effect flange 12A) when moved to the same point in different orientations before and after calibration. The horizontal axis represents the robot orientation (different orientations for a vertical articulated robot), and the vertical axis represents the reach. L0 shows the reach before calibration, and L1 shows the reach after calibration.
[0063] From the graph in Figure 11, it can be seen that the positional error due to attitude, which was approximately 1.5 mm in each direction, has been improved by calibration, and the error has been reduced to approximately 0.5 mm.
[0064] 5. Explanation of Effects According to the technology disclosed herein, during calibration, the arm tip (endpiece flange 12A) is fixed to the fixed platen 110 via the jig 120, thus eliminating the need for the precise robot operation required in conventional methods to bring the arm tip into contact with the jig. Therefore, it does not require skilled operators and reduces the workload.
[0065] In addition, since the jig 120 is fastened to the fixed platen 110 with bolts B2, the effects of play in the fastening part between the jig 120 and the fixed platen 110 can be suppressed, thereby improving the accuracy of estimating the position error of the hand.
[0066] Furthermore, since the posture of the robot arm 12 is changed using the direct teaching function during calibration, the workload is reduced because it does not require skilled operation, thus reducing the labor and time required for calibration work.
[0067] <Embodiment 2> In Embodiment 1, as shown in Figure 5, the end-effector flange 12A was fixed to the fixed platen 110 supporting the vertical articulated robot 10 via a jig 120. The fixing destination of the end-effector flange 12A is not limited to the fixed platen 110 supporting the vertical articulated robot 10, but may be a member other than the fixed platen 110. Figure 12 shows the end-effector flange 12A fixed to a fixed frame 150 separate from the fixed platen 110 via a jig 120. The fixed frame 150 is an example of a "fixing member" of the present invention.
[0068] By making the fixed frame 150 separate from the fixed platen 110, the degree of freedom in placement is increased, and for example, it can be installed around the work area. Calibration can also be performed even after the vertical articulated robot 10 has been installed at the work area.
[0069] The embodiments described above are merely illustrative and do not limit the scope of the claims. The technologies described in the claims include various modifications and changes to the specific examples illustrated above.
[0070] (1) In the above embodiment, a vertical articulated robot 10 having seven joints was shown as an example of a vertical articulated robot 10. The vertical articulated robot 10 only needs to have a redundant structure, and the number of joints does not necessarily have to be seven. It may be eight or nine. Furthermore, this technology may also be applied to a SCARA robot (horizontal articulated robot).
[0071] (2) In the above embodiment, the jig 120 was bolted to the fixed platen 110, but the jig 120 may be fastened to the fixed platen 110 by a method other than bolts, as long as the degrees of freedom of the end-effector are constrained (in the case of a vertical articulated robot, degrees of freedom 6 are constrained).
[0072] (3) In the above embodiment, the calibration of the vertical articulated robot 10 was performed by the controller 40, but it may also be performed by a device other than the controller 40.
[0073] 10 Vertical articulated robot 11 Base 12 Robot arm 12A End-effector flange 13-18 Arm 21A-21G Joint 23A-23G Motor 40 Controller 110 Mounting plate (mounting member) 120 Jig 130 Robot base 150 Mounting frame (mounting member)
Claims
1. A calibration method for an articulated robot, comprising: a first step of fixing a jig at the end of the arm to a fixed member to constrain the degrees of freedom of the end-effector; a second step of changing the posture of the articulated robot, whose degrees of freedom of the end-effector have been constrained in the first step, using a redundant structure, and measuring robot parameters in each posture; a third step of using the measured values of the robot parameters measured in each posture in the second step to obtain a forward kinematic calculation value of the arm end-effector position in each posture; and a fourth step of correcting the robot parameters based on the difference between the forward kinematic calculation value in each posture calculated in the third step and the average value of the forward kinematic calculation value in each posture calculated in the third step.
2. A method for calibrating an articulated robot according to claim 1, wherein in the second step, at least a portion of the joints of the articulated robot is made back-driveable, and the robot's posture is changed by applying an external force.
3. A method for calibrating an articulated robot according to claim 1 or claim 2, wherein in the first step, the jig is bolted to the fixing member.