Horizontal multi-joint robot system
By storing and using the first arm torsion correction coefficient based on the second arm rotation position in the horizontal multi-joint robot system, the first arm torsion problem caused by the second arm rotation is solved, and effective correction of the opponent's end position deviation and improvement of position accuracy are achieved.
Patent Information
- Application Number
- CN202080101833.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-29
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2040-07-29
AI Technical Summary
In a horizontal multi-joint robot system, rotation of the second arm causes the center of gravity of the first arm and the second arm to move, generating a torque that causes the first arm to twist, thereby affecting the position accuracy of the front end of the shaft body.
The storage unit is used to store the torsion correction coefficients obtained based on the rotation angle of the first arm around the arm corresponding to the rotation position of the second arm, and the correction unit uses these coefficients to correct the horizontal position of the front end of the shaft body.
Regardless of the rotation position of the second arm, the hand position deviation caused by the twisting of the first arm around the arm can be effectively corrected, and the position accuracy of the front end of the shaft body can be improved.
Smart Images

Figure CN115803154B_ABST
Abstract
Description
Technical Field
[0001] This specification discloses a horizontal multi-joint robot system. Background Art
[0002] Conventionally, a deflection correction device has been proposed that corrects the deflection of a robot to correct the deviation in the position or posture of the arm tip (for example, refer to Patent Document 1). The deflection correction device measures the deflection amount indicating the deviation in the position or posture of the arm tip under multiple load conditions with different weights and center-of-gravity positions at multiple positions within the operating area of the robot, and stores it as deflection amount data. Subsequently, the deflection correction device designates the deflection amount data with similar weight and center-of-gravity position of the tool to be used, and calculates the deflection amount at each teaching point position of the motion program of the robot using the designated deflection amount data. And the deflection correction device corrects and changes each teaching point position of the motion program by the calculated deflection amount.
[0003] In addition, it has also been proposed that in a horizontal multi-joint robot having a first arm fixed to a base and rotatable in a horizontal plane about a J1 axis, a second arm fixed to the first arm and rotatable in a horizontal plane about a J2 axis, and a shaft body provided at the tip of the second arm and movable in the axial direction of a J3 axis, an angular error caused by the torsion of the arm is included as an error of the first arm system, and an angular error caused by the torsion of the arm is included as an error of the second arm system (for example, refer to Patent Document 2).
[0004] Prior Art Documents
[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 2004-299010
[0006] Patent Document 2: Japanese Patent Application Laid-Open No. 2012-6125 Summary of the Invention
[0007] Problems to be Solved by the Invention
[0008] In a horizontal multi-joint robot having a first arm that rotates about a first axis, a second arm provided on the first arm and rotating about a second axis parallel to the first axis, and a shaft body that moves in the axial direction of a third axis parallel to the second axis, the center-of-gravity position of the arm portions of the first arm and the second arm moves due to the rotation of the second arm. If there is a component orthogonal to the extending direction of the first arm in the center-of-gravity position, a moment is generated in the winding direction of the first arm and the first arm twists, and the position accuracy of the tip of the shaft body (hand tip) may deteriorate.
[0009] The main object of the present disclosure is to provide a horizontal multi-joint robot system that can satisfactorily correct the position deviation of the hand tip due to the torsion of the first arm around the arm regardless of the rotational position of the second arm.
[0010] Means for Solving the Problem
[0011] The horizontal multi-joint robot system of the present disclosure adopts the following means to achieve the above main purpose.
[0012] The gist of the horizontal multi-joint robot system of the present disclosure is to include:
[0013] A base;
[0014] A first arm, provided on the above base and rotating around a first axis;
[0015] A second arm, provided on the above first arm and rotating around a second axis parallel to the above first axis;
[0016] A shaft body, moving in the axial direction of a third axis parallel to the above second axis with respect to the above second arm;
[0017] A control unit, controlling the operations of the above first arm, the above second arm and the above shaft body;
[0018] A storage unit, storing a torsional correction coefficient of the above first arm obtained based on the rotation angle of the above first arm around the arm corresponding to the rotation position of the above second arm; and
[0019] A correction unit, using the above torsional correction coefficient to correct the position of the front end of the above shaft body in the horizontal direction.
[0020] The horizontal multi-joint robot system of the present disclosure includes a first arm provided on a base and rotating around a first axis, a second arm provided on the first arm and rotating around a second axis parallel to the first axis, a shaft body moving in the axial direction of a third axis parallel to the second axis with respect to the second arm, a control unit for controlling their operations, a storage unit, and a correction unit. The storage unit stores a torsional correction coefficient of the first arm obtained based on the rotation angle of the first arm around the arm corresponding to the rotation position of the second arm. The correction unit uses the torsional correction coefficient to correct the position of the front end of the shaft body in the horizontal direction. If there is a component orthogonal to the extending direction of the first arm at the center of gravity position of the arm portion including the first arm and the second arm, a torque is generated in the direction of rotation of the first arm around the arm, causing torsion in the first arm. The horizontal multi-joint robot system stores in advance the torsional correction coefficient of the first arm obtained based on the rotation angle of the first arm around the arm corresponding to the rotation position of the second arm in the storage unit and reflects it as a correction value. Thus, it is possible to provide a horizontal multi-joint robot system that can well correct the position deviation of the hand end based on the torsion of the first arm around the arm regardless of the rotation position of the second arm. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 It is an external perspective view of the horizontal multi-joint robot system.
[0022] Figure 2 It is a side view of the robot main body.
[0023] Figure 3 It is a block diagram showing the electrical connection relationship between the robot main body and the control device.
[0024] Figure 4 It is a flowchart showing an example of the robot control process.
[0025] Figure 5 It is an explanatory diagram for explaining the coordinate system of the robot.
[0026] Figure 6 It is an explanatory diagram for explaining the coordinate system of the robot.
[0027] Figure 7 It is an explanatory diagram showing an example of a link parameter table.
[0028] Figure 8 It is an explanatory diagram for explaining the X1 and Y1 axes of the link coordinate system Σ1 set for the first joint axis J1.
[0029] Figure 9 It is an explanatory diagram for explaining the torsion generated with respect to the first arm by the horizontal rotation of the second arm.
[0030] Figure 10 It is an explanatory diagram for explaining the flexure generated with respect to the first arm and the second arm due to the end - effector mass.
[0031] Figure 11 It is an explanatory diagram showing an example of the manufacturing process of the first - arm torsion model.
[0032] Figure 12 It is an explanatory diagram showing the situation where the second arm is horizontally rotated from - 90 degrees to + 90 degrees.
[0033] Figure 13 It is an explanatory diagram showing the situation of measuring the Z - direction displacement at both ends of the front end of the first arm.
[0034] Figure 14 It is an explanatory diagram showing the situation of measuring the Z - direction displacement at both ends of the front end of the first arm.
[0035] Figure 15 It is an explanatory diagram showing the situation of removing the flexure component from the measured values of the Z - direction displacement at both ends of the front end of the first arm.
[0036] Figure 16 It is an explanatory diagram for explaining the component L t ’ in the Y1 - axis direction of the center - of - gravity position of the arm part.
[0037] Figure 17It is an explanatory diagram showing the torsional moment generated in the first arm.
[0038] Figure 18 It is an explanatory diagram showing an example of the process of fabricating the first arm flexure model.
[0039] Figure 19 It is an explanatory diagram showing the situation of measuring the Z-direction displacement of the front ends of the first arm and the second arm when a heavy object m is installed at the hand end of the multi-joint arm.
[0040] Figure 20 It is an explanatory diagram showing the relationship between the flexure amount of the first arm and the center of gravity position × arm mass.
[0041] Figure 21 It is an explanatory diagram showing the relationship between the flexure angle of the first arm and the J2 angle according to each heavy object.
[0042] Figure 22 It is to explain the component L in the X1-axis direction of the center of gravity position of the arm part d1 ’s explanatory diagram.
[0043] Figure 23 It is an explanatory diagram showing the flexure moment generated in the first arm.
[0044] Figure 24 It is an explanatory diagram showing an example of the process of fabricating the second arm flexure model.
[0045] Figure 25 It is an explanatory diagram showing the relationship between the flexure angle of the second arm and the hand end mass.
[0046] Figure 26 It is an explanatory diagram explaining the center of gravity position L of the arm part d2 ’s explanatory diagram. Detailed implementation mode
[0047] Next, while referring to the attached Figure 1 the mode for implementing the present disclosure will be described.
[0048] Figure 1 It is a perspective view of the appearance of the horizontal multi-joint robot system. Figure 2 It is a side view of the robot main body. Figure 3 It is a block diagram showing the electrical connection relationship between the robot main body and the control device.
[0049] The horizontal multi-joint robot system 1 is configured to perform a predetermined operation on the workpiece W (for example, a conveying operation for conveying the workpiece W, an assembling operation for assembling the workpiece W, etc.). The horizontal multi-joint robot system 1 includes a robot main body 10 (refer to Figures 1 - 3 ) and a control device 70 that controls the robot main body 10 (refer to Figure 3 ). As Figure 1, Figure 2 As shown, the robot main body 10 includes a base 11 and a horizontal articulated arm 20.
[0050] The base 11 is fixed to the workbench 2 and supports the proximal end side of the horizontal articulated arm 20. The horizontal articulated arm 20 includes: a first arm 21, a first arm drive unit 30, a second arm 22, a second arm drive unit 40, a shaft body 23, a shaft body drive unit 50, and a camera 60. The proximal end portion of the first arm 21 is connected to the base 11 via a first joint axis J1, and the first arm 21 is configured to be rotatable relative to the base 11 in a horizontal plane (horizontal rotation) by the rotation of the first joint axis J1. The proximal end portion of the second arm 22 is connected to the front end portion of the first arm 21 via a second joint axis J2, and the second arm 22 is configured to be rotatable relative to the first arm 21 in a horizontal plane (horizontal rotation) by the rotation of the second joint axis J2. The shaft body 23 is connected to the front end portion of the second arm 22 via a third joint axis J3, and is configured to be rotatable about the axis of the third joint axis J3 and to be liftable along the axial direction of the third joint axis J3 relative to the second arm 22. In the horizontal articulated robot system of the present embodiment, a workpiece holding portion 24 for picking up and holding the workpiece W is provided at the front end of the shaft body 23.
[0051] As Figure 3 shown, the first arm drive unit 30 includes a motor 32 and an encoder 34. The rotating shaft of the motor 32 is connected to the first joint axis J1 via a speed reducer (not shown). The first arm drive unit 30 rotates the first arm 21 about the first joint axis J1 by using the torque transmitted to the first joint axis J1 via the speed reducer by driving the motor 32. The encoder 34 is configured as a rotary encoder that is mounted on the rotating shaft of the motor 32 and detects the rotational displacement amount of the motor 32.
[0052] The second arm drive unit 40 includes a motor 42 and an encoder 44 in the same manner as the first arm drive unit 30. The rotating shaft of the motor 42 is connected to the second joint axis J2 via a speed reducer (not shown). The second arm drive unit 40 rotates the second arm 22 about the second joint axis J2 by using the torque transmitted to the second joint axis J2 via the speed reducer by driving the motor 42. The encoder 44 is configured as a rotary encoder that is mounted on the rotating shaft of the motor 42 and detects the rotational displacement amount of the motor 42.
[0053] As Figure 3As shown, the shaft driving unit 50 includes motors 52a, 52b and encoders 54a, 54b. The rotating shaft of motor 52a is connected to shaft 23 via a belt (not shown), causing shaft 23 to rotate about its axis. The rotating shaft of motor 52b is connected to a ball screw nut (not shown) passing through shaft 23 via a belt, causing shaft 23 to move up and down. Encoder 54a is configured as a rotary encoder that detects the rotational displacement amount of shaft 23. Encoder 54b is configured as a linear encoder that detects the lifting position of shaft 23.
[0054] The camera 60 is mounted on the side of the front end of the second arm 22. The camera 60 captures the workpiece W that is the object of the operation and outputs the captured image to the control device 70. The control device 70 identifies the position of the workpiece W by processing the captured image.
[0055] As Figure 3 shown, the control device 70 includes: a CPU 71, a ROM 72 that stores processing programs, a RAM 73 that serves as a working memory, a storage device 74 such as an HDD or SSD, and an input / output interface (not shown). Position signals from encoders 34, 44, 54a, 54b and image signals from the camera 60 are input to the control device 70 via the input / output interface. Drive signals for motors 32, 42, 52a, 52b are output from the control device 70 via the input / output interface.
[0056] Next, the operation of the horizontal articulated robot system 1 configured as described above will be described. Figure 4 is a flowchart showing an example of the robot control process executed by the control device 70. This process is repeatedly executed at predetermined intervals.
[0057] When the robot control process is executed, the CPU 71 of the control device 70 first obtains the target position of the hand end (workpiece holding portion 24) of the robot body 10 (step S100). Next, the CPU 71 calculates the angle θ of the first joint axis J1 for moving the hand end to the target position by performing inverse kinematics on the target position of the hand end J1 , the angle θ of the second joint axis J2 J2 , the position of the front end of the shaft 23 (shaft position) Z s and the rotational angle of the shaft 23 (shaft angle) θ J4 (step S110).
[0058] Next, the CPU 71 obtains the workpiece mass m (step S120). Step S120 is performed by reading out the mass of the workpiece W that is the object of the current operation from among the masses of the various workpieces W pre-stored (registered) in the storage device 74. Then, the CPU 71 based on the workpiece mass m and the angle θ of the second joint axis J2 calculated in step S110J2 to calculate the torsion angle θ of the first arm 21 t and the flexure angle θ d1 (step S130), and calculate the flexure angle θ of the second arm 22 based on the workpiece mass m d2 (step S140). The torsion angle θ of the first arm 21 t is calculated using the torsion model formula (operation formula) of the first arm 21. The torsion model formula of the first arm 21 represents the torsion angle θ of the first arm 21 t , the angle θ of the second joint axis J2 J2 and the relationship model formula of the arm mass M (the mass of the arm part including the workpiece W after the first joint axis J1) including the workpiece mass m. The flexure angle θ of the first arm 21 d1 is calculated using the flexure model formula (operation formula) of the first arm 21. The flexure model formula of the first arm 21 represents the flexure angle θ of the first arm 21 d1 , the angle θ of the second joint axis J2 J2 and the relationship model formula of the arm mass M (the mass of the arm part including the workpiece W after the first joint axis J1) including the workpiece mass m. The flexure angle θ of the second arm 22 d2 is calculated using the flexure model formula of the second arm 22. The flexure model formula of the second arm 22 represents the relationship model formula of the flexure angle θ of the second arm 22 d2 with the arm mass M (the mass of the arm part including the workpiece W after the second joint axis J2) including the workpiece mass m. These model formulas are stored in the storage device 74. Details of the torsion model formula and each flexure model formula will be described later.
[0059] Then, the CPU 71 calculates the position (X0, Y0, Z0) of the hand end observed from the base 11 (basic coordinate system Σ0) by performing forward kinematics solution based on the angle θ of the first joint axis J1 J1 , the angle θ of the second joint axis J2 J2 , the shaft body position Z s , the shaft body angle θ J4 , the torsion angle θ of the first arm 21 t and the flexure angle θ d1 and the flexure angle θ of the second arm 22 d2 (step S150). The position of the hand end can be obtained by providing each variable θ to the homogeneous transformation matrix of forward kinematics J1 , θ J2 , θ J4 , Z s , θ t , θ d1 , θ d2It can be calculated. The homogeneous transformation matrix of forward kinematics can be derived, for example, as follows: Coordinate systems are set for each link of the robot body 10, and a link parameter table is created to obtain the relationship between each coordinate system i-1 T i (i = 1, 2, 3, 4), and based on the relationship between each coordinate system i-1 T i the transformation matrix of the entire arm is obtained 0 T4.
[0060] As Figure 5 and Figure 6 shown, the coordinate systems of each link have a base coordinate system Σ0, link coordinate systems Σ1 to Σ3, and a hand coordinate system Σ4. The base coordinate system Σ0 is set on the base 11. The link coordinate system Σ1 is set at the root of the first arm 21 (the first joint axis J1). The link coordinate system Σ2 is set at the root of the second arm 22 (the second joint axis J2). The link coordinate system Σ3 is set on the shaft body 23. The hand coordinate system Σ4 is set at the hand end (the workpiece holding part 24). Each coordinate system sets the state in which the first arm 21 and the second arm 22 extend linearly as the starting position. In addition, in the figure, X0, X1, X2, X3, X4 are the X axes of each coordinate system. Y0, Y1, Y2, Y3, Y4 are the Y axes of each coordinate system. Z0, Z1, Z2, Z3, Z4 are the Z axes of each coordinate system. th1 represents the rotation angle of the link coordinate system Σ1 around the Z1 axis. J1rx represents the rotation angle of the link coordinate system Σ1 around the X1 axis, and J1ry represents the rotation angle of the link coordinate system Σ1 around the Y1 axis. Moreover, J1rx2 represents the rotation angle of the link coordinate system Σ1 around the X1 axis in the state where it has rotated by th1 around the Z1 axis, and J1ry2 represents the rotation angle of the link coordinate system Σ1 around the Y1 axis in the state where it has rotated by th1 around the Z1 axis. th2 represents the rotation angle of the link coordinate system Σ2 around the Z2 axis. J2rx represents the rotation angle of the link coordinate system Σ2 around the X2 axis, and J2ry represents the rotation angle of the link coordinate system Σ2 around the Y2 axis. Moreover, J2ry2 represents the rotation angle of the link coordinate system Σ2 around the Y2 axis in the state where it has rotated by th2 around the Z2 axis. J3rx represents the rotation angle of the link coordinate system Σ3 around the X3 axis, and J3ry represents the rotation angle of the link coordinate system Σ3 around the Y3 axis. th4 represents the rotation angle of the hand coordinate system Σ4 around the Z4 axis. In addition, L1 represents the distance in the X1 axis direction between the Z1 axis and the Z2 axis (the arm length of the first arm 21). L2 represents the distance in the X2 axis direction between the Z2 axis and the Z3 axis (the arm length of the second arm 22). L z1 represents the distance in the Z0 axis direction from the origin of the base coordinate system Σ0 to the origin of the link coordinate system Σ1. L z2Represents the distance in the Z1-axis direction from the origin of the link coordinate system Σ1 to the origin of the link coordinate system Σ2. d3 represents the distance in the Z3-axis direction from the origin of the link coordinate system Σ3 to the origin of the hand coordinate system Σ4.
[0061] Figure 7 Is an explanatory diagram showing an example of a link parameter table. In the figure, the respective parameters (dx, dy, dz, rx, ry, rz, rx2, ry2) of the link number i (i = 1, 2, 3, 4) are used to transform from the coordinate system Σ i-1 To the coordinate system Σ i The parameters for transformation. dx, dy, and dz represent the movement amounts in the X i-1 Axis direction, Y i-1 Axis direction, and Z i-1 Axis direction of the coordinate system Σ i-1 Rx (rx2), ry (ry2), and rz represent the rotation amounts around the X i-1 Axis, around the Y i-1 Axis, and around the Z i-1 Axis. In the table, th1 corresponds to the rotation angle θ J1 Of the first joint axis J1, th2 corresponds to the rotation angle θ J2 Of the second joint axis J2, and th4 corresponds to the rotation angle θ J4 Of the shaft body 23. d3 corresponds to the distance from the origin of the link coordinate system Σ3 to the hand end (shaft body position Z s ). In addition, J1rx2 corresponds to the torsion angle θ t Of the first arm 21, and J1ry2 corresponds to the flexure angle θ d1 Of the first arm 21. J2ry2 corresponds to the flexure angle θ d2 Of the second arm 22.
[0062] The transformation matrix of the entire arm 0 T4 can be obtained by the following formula (1) using the relationships between the coordinate systems based on the link parameter table i-1 T i (i = 1, 2, 3, 4). The relationships between the coordinate systems (matrices) i-1 T i Can be obtained by the following formula (2). In addition, the matrices T of dx, dy, dz, rx, ry, rz, rx2, and ry2 dx 、T dy 、T dz 、T rx 、T ry 、T rz 、T rx2 、T ry2 Are shown in the following formulas (3) to (10). By applying this transformation matrix 0T4 (Homogeneous transformation matrix) provides various variables θ J1 , θ J2 , θ J4 , Z s , θ t , θ d1 , θ d2 , and can calculate the position of the hand end including the errors caused by the torsion and flexure of the first arm 21 and the flexure of the second arm 22.
[0063] 0 T4 = 0 T1 1 T2 2 T3 3 T4…(1)
[0064] i-1 T i = T dx T dy T dz T rx T ry T rz T rx2 T ry2 …(2)
[0065] (i = 1, 2, 3, 4)
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074] In addition, among the main causes of the error at the hand end, in addition to the torsion angle θ t , the flexure angle θ d1 , θ d2 , accidents, it also includes link length error, joint installation error, joint rotation deviation, joint inclination, etc. Therefore, regarding these errors as well, it is possible to calculate the position of the hand end including this error by providing the transformation matrix 0 T4.
[0075] After the CPU 71 calculates the position of the hand end including errors in this way, it calculates the position deviation amount of the hand end at each axis (the X0 axis, Y0 axis, and Z0 axis in the base coordinate system Σ0) by obtaining the difference between the calculated position of the hand end including errors and the target position of the hand end obtained in step S100 (step S160). Next, the CPU 71 calculates the corrected position after correcting the target position by offsetting the position deviation amount of the hand end from the target position (step S170). Next, the CPU 71 calculates the target value of the angle θ J1 of the first joint axis J1, the angle θ J2 of the second joint axis J2, the target value of the body position Z s and the target value of the body angle θ J4 by performing inverse kinematics on the corrected position (step S180). Then, the CPU 71 controls the corresponding motors in such a way that each target value coincides with the corrected target position (step S190), and ends the robot control process.
[0076] Next, the process of creating the torsion model formula used in the calculation of the torsion angle θ t of the first arm 21 and the process of creating the flexure model formula used in the calculation of the flexure angle θ d1 of the first arm 21 will be described. Here, as Figure 8 and Figure 9 shown, when considering the above-mentioned link coordinate system Σ1 in which the extension direction of the first joint axis J1 is set as the Z1 axis direction, the direction along the center line of the first arm 21 is set as the X1 axis direction, and the direction orthogonal to the X1 axis and Z1 axis is set as the Y1 axis direction, the torsion angle θ t of the first arm 21 is defined as the displacement angle of the first arm 21 around the X1 axis. In addition, as Figure 10 shown, the flexure angle θ d1 of the first arm 21 is defined as the displacement angle of the first arm 21 around the Y1 axis. Moreover, the flexure angle θ d2 of the second arm 22 is defined as the displacement angle of the second arm 22 around the Y2 axis.
[0077] Figure 11 is an explanatory diagram showing an example of the first arm torsion model formula creation process for creating the torsion model formula of the first arm. In the first arm torsion model formula creation process, it is executed through steps S200 to S290. In step S200, the motor 32 is controlled so that the angle θ J1 of the first joint axis J1 becomes 0 degrees (reference angle). In step S210, a heavy object m simulating the workpiece W is installed at the hand end (workpiece holding portion 24), as Figure 12as shown, the second joint axis J2 is rotated by a predetermined angle Δθ each time from -90 degrees, which is 90 degrees smaller than the reference angle (X1 axis direction), to +90 degrees, which is 90 degrees larger than the reference angle (X1 axis direction). J2 (for example, 10 degrees) to control the motor 42. Based on the positions in the Z1 axis direction at both ends of the front end of the first arm 21 at the reference angle (0 degrees), each time the second joint axis J2 rotates by the predetermined angle Δθ J2 the displacement in the Z1 axis direction (Z-direction displacement Z tr 、Z tl ) at both ends of the front end of the first arm 21 is measured. In addition, the measurement in step S210 can be performed as follows: as Figure 13 and Figure 14 shown, measurement objects Pr and Pl are respectively provided on both side surfaces of the front end of the first arm 21, and a laser displacement meter is used to irradiate the measurement objects Pr and Pl with laser light from below and receive the reflected light. In step S220, the weight m installed at the hand end (workpiece holding part 24) is sequentially changed, and for each weight m, the operation of measuring the Z-direction displacement Z tr 、Z tl in step S210 is repeated. In the next step S230, the average value Z J2 of the Z-direction displacement Z tr 、Z tl for each weight m and each angle θ rlave of the second joint axis J2 is calculated by the following formula (11). In the next step S240, for each weight m and each angle θ J2 of the second joint axis J2, the measured value of the torsion angle θ tr 、Z tl of the first arm 21 is derived by subtracting the average value Z rlave from the Z-direction displacement Z J2 . Here, in the Z-direction displacement Z t 、Z tr measured at both ends of the front end of the first arm 21 in steps S210 and S220, the component based on the flexure of the first arm 21 is included. On the other hand, the average value Z tl represents the Z-direction displacement on the center line of the first arm 21 and does not include the torsion component. Therefore, as rlave shown, by subtracting the average value Z Figure 15 from the Z-direction displacement Z J2 、Z tr respectively for each angle θ t1 of the second joint axis J2, the flexure component can be removed from the Z-direction displacement Z rlave 、Z tr 、Z t1 .
[0078]
[0079] In step S250, the center-of-gravity position L of the arm part (including the heavy object m) on the front-end side (starting from the first joint axis J1) of the horizontal multi-joint arm 20 after the first joint axis J1 is calculated based on the masses of the first arm 21, the second arm 22, and the shaft body 23 and the mass of the hand end (heavy object m). t . In step S260, based on the center-of-gravity position L of the arm part t and the angle θ of the second joint axis J2 J2 the angle θ is calculated by the following formula (12). J2 The Y1-axis direction component L t of the center-of-gravity position L t at θ J2 . As shown Figure 16 , the Y1-axis direction component L t of the center-of-gravity position L t at θ J2 represents the distance in the Y1-axis direction of the center-of-gravity position L t relative to the X1 axis. In step S270, the torsional moment I of the first arm 21 is calculated t . As shown Figure 17 , the torsional moment I t causes the first arm 21 to rotate about the X1 axis due to the gravity of the arm part (downward arrow in the figure), and is 0 when the center-of-gravity position L t is on the X1 axis, and increases as the center-of-gravity position L t moves away from the X1 axis in the Y1-axis direction. That is, the torsional moment I t is minimized when the angle θ J2 of the second joint axis J2 is 0 degrees (reference angle), and is maximized when the angle of the second joint axis J2 is -90 degrees and when the angle of the second joint axis J2 is +90 degrees. When the mass of the arm part including the heavy object m is set to M and the gravitational acceleration is set to g, the torsional moment I t can be obtained by the following formula (13). In step S280, a torsional model formula of the first arm 21 representing the relationship between the torsional angle θ t of the first arm 21, the angle θ J2 of the second joint axis J2, and the mass M of the arm part is created. Specifically, in step S280, a torsional model formula determined by the following formula (14) obtained by dividing the torsional moment I t by the torsional rigidity K t is created. In step S290, the torsional rigidity K J2 is optimized according to the measured values of the torsional angle θ t of the first arm 21 for each heavy object m and each angle θ tThis step S290 can adopt various algorithms for solving optimization problems, such as the steepest descent method or the Newton-Raphson method.
[0080] L t ′(θ j2 ) = L t ·sinθ J2 …(12)
[0081] I t = M·g·L t ′(θ J2 )…(13)
[0082]
[0083] Figure 18 is an explanatory diagram showing an example of the manufacturing process of the first arm flexure model. The manufacturing process of the first arm flexure model is executed through steps S300 to S390. In step S300, the motors 32 and 42 are controlled so that the angles θ J1 , θ J2 of the first joint axis J1 and the second joint axis J2 respectively become 0 degrees (reference angle). Thus, the first arm 21 and the second arm 22 are in a state of extending along the X1 axis direction. In step S310, weights m with different imagined masses of the workpiece W are successively installed at the hand end (workpiece holding part 24). Based on the position in the Z1 axis direction of the front end of the first arm 21 in the state where no weight is installed at the hand end, for each weight m, the displacement (Z-direction displacement Z d1 ) in the Z1 axis direction of the front end of the first arm 21 is measured. In addition, the measurement in step S310 can be performed as follows: As Figure 19 shown, the bottom surface of the front end of the first arm 21 is set as the measurement target surface, and a laser displacement meter is used to irradiate the measurement target surface with laser and receive the reflected light. In the next step S320, the flexure angle θ J2 of the first arm 21 when no weight m is installed at the hand end and the angle θ d1 of the second joint axis J2 is 0 degrees (reference angle), that is, the initial flexure angle, is set. When the value obtained by multiplying the position of the center of gravity of the arm part (the position of the center of gravity on the X1 axis) after the first joint axis J1 (from the first joint axis J1 to the arm front end) by the mass of the arm part (center of gravity position × arm mass) is 0 (weightless state), the first arm 21 is in a completely un-flexed state. Therefore, the initial flexure amount of the first arm 21 can be derived as follows: As Figure 20 shown, the center of gravity position × arm mass is set as the x-axis, and the Z-direction displacement Z d1(The amount of deflection of the first arm 21) is set as the y-axis, and the combined data of each weight m is plotted on an xy coordinate graph, and the y-intercept of the extension line of the straight line connecting the plotted points (in the figure, refer to the dotted line) is obtained. The initial deflection angle of the first arm 21 can be obtained by applying the arctangent function to the derived initial deflection amount.
[0084] In step S330, the motor 42 is controlled in such a way that the second joint axis J2 rotates by a predetermined angle Δθ (for example, 10 degrees) each time from -90 degrees to +90 degrees. Based on the position in the Z1-axis direction of the tip of the first arm 21 at the reference angle (0 degrees), each time the second joint axis J2 rotates by the predetermined angle Δθ J2 (for example, 10 degrees), the displacement (Z-direction displacement Z J2 ) in the Z1-axis direction of the tip of the first arm 21 is measured. Moreover, in step S330, weights m with different masses assumed to be the workpiece W are successively mounted on the hand end, and for each weight m, the operation of measuring the Z-direction displacement Z d1 each time the second joint axis J2 rotates by the predetermined angle Δθ J2 is repeated. In the next step S340, for each weight m and each angle θ of the second joint axis J2 d1 , the arctangent function is applied to the measured Z-direction displacement Z J2 (amount of deflection) to obtain each angular displacement, and the obtained each angular displacement is added to the initial deflection angle set in step S320, so as to derive the measured value of the deflection angle θ d1 of each weight m and each angle θ of the second joint axis J2 Figure 21 as shown. J2 of the deflection angle θ d1 .
[0085] In step S350, the center of gravity position L d1 of the arm part (including the weight m) on the front end side of the horizontal multi-joint arm 20 starting from the first joint axis J1 (behind the first joint axis J1) is calculated based on the masses of the first arm 21, the second arm 22, the shaft body 23, and the mass of the hand end (weight m). In step S360, based on the center of gravity position L d1 of the arm part and the angle θ J2 of the second joint axis J2, the X1-axis direction component L J2 of the center of gravity position L d1 at the angle θ d1 is calculated by the following formula (15). As J2 shown, the X1-axis direction component L Figure 22 of the center of gravity position L d1 represents the center of gravity position L d1 at the angle θ J2 , and d1The distance in the X1-axis direction with respect to the Y1' axis that passes through the center of the second joint axis J2 and is parallel to the Y1 axis. In step S370, the flexural moment I of the first arm 21 is calculated. d1 . In the present embodiment, as Figure 23 shown, the flexural moment I d1 causes the first arm 21 to rotate about the Y1 axis due to the gravity of the arm part (in the figure, the downward arrow), and increases as the center of gravity position L d1 moves away from the first joint axis J1 in the X1-axis direction. That is, the flexural moment I d1 becomes minimum when the angle of the second joint axis J2 is ±180 degrees and becomes maximum when the angle of the second joint axis J2 is 0 degrees (reference angle). When the arm length of the first arm 21 is set to L1, the mass of the arm part is set to M, and the gravitational acceleration is set to g, the flexural moment I d1 can be obtained by the following formula (16). In step S380, a flexural model formula of the first arm 21 representing the relationship between the flexural angle θ d1 of the first arm 21, the angle θ J2 of the second joint axis J2, and the mass M of the arm part is created. Specifically, in step S380, a model formula determined by the following formula (17) obtained by dividing the flexural moment I d1 by the flexural rigidity K d1 is created. In step S390, the flexural rigidity K J2 is optimized based on the measured values of the flexural angle θ d1 of the first arm 21 for each weight m and each angle θ d1 of the second joint axis J2 derived in step S340. Similar to step S390 for the torsional rigidity K t , various algorithms for solving optimization problems such as the steepest descent method or the Newton-Raphson method can be adopted.
[0086] L d1 ′(θ J2 ) = L d1 ·cosθ J2 …(15)
[0087] I d1 = M·g·{L1 + L d1 ′(θ J2 )}…(16)
[0088]
[0089] Next, the process of creating the flexural model formula of the second arm 22 will be described. Figure 24This is an explanatory diagram showing an example of the manufacturing process of the second arm flexure model. The manufacturing process of the second arm flexure model is executed through steps S400 to S460. In step S400, weights m with different assumed masses of the workpiece W are successively installed at the hand end. Based on the position in the Z1-axis direction of the front end of the second arm 22 in the state where no weight is installed at the hand end, for each weight m, the displacement in the Z1-axis direction of the front end of the second arm 22 (Z-direction displacement Z d2 ) is measured. In addition, the measurement in step S400 can be performed as follows: As Figure 19 shown, the front end face of the shaft body 23 installed at the front end of the second arm 22 is set as the measurement target surface, and a laser displacement meter is used to irradiate the measurement target surface with laser and receive the reflected light. In the next step S410, the flexure angle of the second arm 22 in the state where no weight m is installed at the hand end, that is, the initial flexure angle, is set. The initial flexure amount of the second arm 22 can be obtained in the same way as in step S320 above: taking the center of gravity position × arm mass as the x-axis, taking the flexure amount of the second arm 22 (Z-direction displacement Z d2 ) as the y-axis, plotting the combined data of the two for each weight m on the xy coordinate graph, and obtaining the y-intercept of the extension line of the straight line connecting the plotted points. The initial flexure angle of the second arm 22 can be obtained by applying the arctangent function to the derived initial flexure amount. In step S420, the arctangent function is applied to the Z-direction displacement Z d2 (flexure amount) measured for each weight m respectively to obtain each angular displacement, and the obtained angular displacements are added to the initial flexure angle set in step S410, so as to Figure 25 derive the measured value of the flexure angle θ d2 of the second arm 22 for each weight m (hand end mass) as shown. The flexure angle θ d2 of the second arm 22 is an angle based on the X1 axis and overlaps with the flexure angle θ d1 of the first arm 21. Therefore, by subtracting the measured value of the flexure angle d1 of the first arm 21 obtained in step S340, as Figure 10 shown, the flexure angle θ d2 of the second arm 22 based on the X2 axis can be obtained.
[0090] In step S430, the center of gravity position L d2 of the arm part (including the weight m) after the second joint axis J2 (the front end side of the horizontal multi-joint arm 20 starting from the second joint axis J2) is calculated according to the mass of the second arm 22 and the shaft body 23 and the mass of the hand end (weight m). In the next step S440, the flexure moment Id2 of the second arm 22 is calculated. As Figure 26 shown, the flexure moment Id2 and the angle θ d2Independently determined by the center of gravity position L d2 (distance from the center of the second joint axis J2 to the center of gravity) and the mass of the arm. That is, when the mass of the arm is set to M and the gravitational acceleration is set to g, the flexural moment Id2 can be obtained by the following formula (18). In step S450, a flexural model formula of the second arm 22 representing the relationship between the flexural angle θ d2 of the second arm 22 and the mass M of the arm is produced by dividing the flexural moment Id2 by the flexural rigidity K according to the following formula (19). In step S460, the flexural rigidity K d2 is optimized according to the measured value of the flexural angle θ d2 of the second arm 22 for each weight m obtained in step S420. This step S460, similar to the torsional rigidity K d2 and the flexural rigidity K t , can adopt various algorithms for solving optimization problems, such as the steepest descent method or the Newton-Raphson method. d1
[0091] I d2 = M·g·L d2 …(T8)
[0092]
[0093] Here, the correspondence relationship between the main elements of the embodiment and the main elements of the present disclosure described in the claims is described. That is, in the present embodiment, the first arm 21 corresponds to the first arm, the first joint axis J1 corresponds to the first axis, the second arm 22 corresponds to the second arm, the second joint axis J2 corresponds to the second axis, the shaft body 23 corresponds to the shaft body, the third joint axis J3 corresponds to the third axis, and the CPU 71 of the control device 70 that executes Figure 4 the robot control processes of S180 and S190 corresponds to the control unit, the storage device 74 corresponds to the storage unit, and the CPU 71 that executes Figure 4 the robot control processes of S100 to S170 corresponds to the correction unit. In addition, the workpiece holding unit 24 corresponds to the workpiece holding unit.
[0094] In addition, it goes without saying that the present disclosure is not limited by any of the above embodiments and can be implemented in various ways as long as it belongs to the technical scope of the present disclosure.
[0095] For example, in the above embodiment, the control device 70 uses the torsional model formula pre-stored in the storage device 74 to calculate the torsional angle θ J2 of the first arm 21 based on the angle θ t of the second joint axis J2, and based on the calculated torsional angle θ t to correct the position deviation of the hand end. However, the control device 70 may also pre-store the torsional angle θ of the first arm 21 t and the angle θ of the second joint axis J2 J2 relationship between them or based on the torsional angle θ of the first arm 21 t torsion correction value and the angle θ of the second joint axis J2 J2 relationship between them, and derive the torsion correction value from this mapping based on the angle θ of the second joint axis J2 J2
[0096] In the above embodiment, the control device 70 uses the flexure model formula of the first arm 21 pre-stored in the storage device 74 to calculate the flexure angle θ of the first arm 21 based on the angle θ of the second joint axis J2 J2 of the first arm 21 d1 , and corrects the position deviation of the hand end based on the calculated flexure angle θ d1 . However, the control device 70 may also pre-store the flexure angle θ representing the first arm 21 d1 and the angle θ of the second joint axis J2 J2 relationship between them or based on the flexure angle θ of the first arm 21 d1 flexure correction value and the angle θ of the second joint axis J2 J2 relationship between them, and derive the flexure correction value from this mapping based on the angle θ of the second joint axis J2 J2 . Moreover, the control device 70 uses the flexure model formula pre-stored in the storage device 74 to calculate the flexure angles θ d1 、θ d2 of the first arm 21 and the second arm 22 based on the hand end mass m (weight of the workpiece W), and uses the flexure correction value based on the calculated flexure angles θ d1 、θ d2 to correct the position deviation of the hand end. However, the control device 70 may also pre-store the flexure angles θ representing the first arm 21 and the second arm 22 d1 、θ d2 relationship between them and the hand end mass m (weight of the workpiece W) or based on the flexure angles θ d1 、θ d2 flexure correction value and the relationship between the hand end mass m (weight of the workpiece W), and derive the flexure correction value from this mapping based on the hand end mass m.
[0097] As described above, the gist of the horizontal multi-joint robot system of the present disclosure is to include: a base; a first arm provided on the base and rotatable about a first axis; a second arm provided on the first arm and rotatable about a second axis parallel to the first axis; a shaft body that moves in the axial direction of a third axis parallel to the second axis with respect to the second arm; a control unit that controls the operations of the first arm, the second arm, and the shaft body; a storage unit that stores a torsional correction coefficient of the first arm obtained based on the rotational angle of the first arm about the arm corresponding to the rotational position of the second arm; and a correction unit that uses the torsional correction coefficient to correct the position in the horizontal direction of the front end of the shaft body.
[0098] The horizontal multi-joint robot system of the present disclosure includes a first arm provided on a base and rotatable about a first axis, a second arm provided on the first arm and rotatable about a second axis parallel to the first axis, a shaft body that moves in the axial direction of a third axis parallel to the second axis with respect to the second arm, a control unit that controls their operations, a storage unit, and a correction unit. The storage unit stores a torsional correction coefficient of the first arm obtained based on the rotational angle of the first arm about the arm corresponding to the rotational position of the second arm. The correction unit uses the torsional correction coefficient to correct the position in the horizontal direction of the front end of the shaft body. If a component orthogonal to the extending direction of the first arm is included in the position of the center of gravity of the arm portion including the first arm and the second arm, a moment is generated in the rotational direction of the first arm and torsion is generated in the first arm. The horizontal multi-joint robot system stores in advance the torsional correction coefficient of the first arm based on the rotational angle of the first arm about the arm corresponding to the rotational position of the second arm in the storage unit and reflects it as a correction value. Thereby, it is possible to provide a horizontal multi-joint robot system that can satisfactorily correct the position deviation of the hand end due to the torsion of the first arm about the arm regardless of the rotational position of the second arm.
[0099] In such a horizontal multi-joint robot system of the present disclosure, the correction unit that uses the torsional correction coefficient to correct the amount of movement of the shaft body may be provided.
[0100] In addition, in the horizontally articulated robot system of the present disclosure, it may also be provided with: the above-mentioned storage unit that stores the first deflection amount of the first arm and the second deflection amount of the second arm corresponding to the rotational position of the second arm; and the above-mentioned correction unit that uses the first deflection amount and the second deflection amount to perform the above-mentioned correction. In this way, it is possible to satisfactorily correct the position deviation of the front end of the shaft body due to the deflection of the first arm regardless of the rotational position of the second arm. In the horizontally articulated robot system of the present disclosure of this solution, it may also be that the shaft body has a workpiece holding portion for holding a workpiece, and the horizontally articulated robot system is provided with the above-mentioned storage unit that stores the torsional correction coefficient corresponding to the weight of the workpiece, the first deflection amount corresponding to the weight of the workpiece, and the second deflection amount corresponding to the weight of the workpiece. In this way, even when using the workpiece holding portion to hold various workpieces with different weights, it is possible to satisfactorily correct the position deviation of the hand end.
[0101] Moreover, in the horizontally articulated robot system of the present disclosure, it may also be provided with: the above-mentioned storage unit that stores the model formula of the torsional correction coefficient, the model formula of the first deflection amount, and the model formula of the second deflection amount; and the above-mentioned correction unit that uses the model formula of the torsional correction coefficient, the model formula of the first deflection amount, and the model formula of the second deflection amount to perform the above-mentioned correction. In this way, compared with performing correction using a map, it is possible to reduce the storage capacity of the required storage unit.
[0102] In addition, the present disclosure is configured as a horizontally articulated robot system, but it may also be configured as a method for correcting the position deviation of an arm.
[0103] Industrial applicability
[0104] The present disclosure can be applied to the manufacturing industry of horizontally articulated robots and the like.
[0105] Explanation of reference numerals
[0106] 1 Horizontally articulated robot system, 2 Workbench, 10 Robot main body, 11 Base, 20 Multi-joint arm, 21 First arm, 22 Second arm, 23 Shaft body, 24 Workpiece holding portion, 30 First arm drive unit, 32 Motor, 34 Encoder, 40 Second arm drive unit, 42 Motor, 44 Encoder, 50 Shaft body drive unit, 52a, 52b Motors, 54a, 54b Encoders, 60 Camera, 70 Control device, 71 CPU, 72 ROM, 73 RAM, 74 Storage device, J1 First joint axis, J2 Second joint axis, J3 Third joint axis, Pl, Pr Measurement object.
Claims
1. A horizontal multi-joint robot system, comprising: A base; A first arm, provided on the base and rotatable about a first axis; A second arm, provided on the first arm and rotatable about a second axis parallel to the first axis; A shaft body, moving axially in a third axis parallel to the second axis with respect to the second arm; A control unit, controlling the operations of the first arm, the second arm, and the shaft body; A storage unit, storing a torsional correction coefficient of the first arm, a first flexure amount of the first arm corresponding to the rotational position of the second arm, and a second flexure amount of the second arm, which are obtained based on the rotational angle of the first arm around the arm corresponding to the rotational position of the second arm; And A correction unit, using the torsional correction coefficient, the first flexure amount, and the second flexure amount to correct the position of the front end of the shaft body in the horizontal direction.
2. The horizontal multi-joint robot system according to claim 1, wherein The horizontal multi-joint robot system includes the correction unit that corrects the movement amount of the shaft body using the torsional correction coefficient.
3. The horizontal multi-joint robot system according to claim 1 or 2, wherein The shaft body has a workpiece holding portion for holding a workpiece, The horizontal multi-joint robot system includes the storage unit that stores the torsional correction coefficient corresponding to the weight of the workpiece, the first flexure amount corresponding to the weight of the workpiece, and the second flexure amount corresponding to the weight of the workpiece.
4. The horizontal multi-joint robot system according to claim 1 or 2, wherein The horizontal multi-joint robot system includes: The storage unit, storing a model formula of the torsional correction coefficient, a model formula of the first flexure amount, and a model formula of the second flexure amount; and The correction unit, using the model formula of the torsional correction coefficient, the model formula of the first flexure amount, and the model formula of the second flexure amount to perform the correction.
Citation Information
Patent Citations
Deflection correction device and deflection correction method
JP2004299010A
Method for correcting coordinate value of horizontal articulated robot
JP2012006125A
Positioning of robot
JP1990048188A
Control method for robot system
JP1992033006A