Control method and robot system

The control method and system use range finders to calculate and correct joint angle deviations, enhancing positional accuracy and work precision in robot systems.

JP2025141459APending Publication Date: 2025-09-29SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024041402
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-15
Publication Date
2025-09-29

AI Technical Summary

Technical Problem

Existing robot systems rely on manual visual inspection for returning robot arms to reference positions, leading to time-consuming and reduced positional accuracy, which affects work accuracy.

Method used

A control method and system using three orthogonal range finders on a robot arm to calculate position errors and adjust joint angles, ensuring accurate alignment to a reference position.

Benefits of technology

Enhances positional accuracy of robot arms by automatically determining and correcting deviations in joint angles, improving operational precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025141459000001_ABST
    Figure 2025141459000001_ABST
Patent Text Reader

Abstract

To provide a control method capable of driving a robot arm with a high position accuracy regardless of assembling accuracy of the robot arm, and a robot system.SOLUTION: A control method includes: a calculation step of calculating a first positional error on the basis of a first distance acquired in a first acquisition step and first reference data corresponding to the first distance and, and calculating a second positional error on the basis of a second distance acquired in a second acquisition step and second reference data corresponding to the second distance; and an error information acquisition step of acquiring deviation of a rotation angle of each joint in the case that a robot arm assumes a reference attitude when executing the first acquisition step and the second acquisition step on the rotation angle of each joint at the reference attitude on the basis of the first positional error and the second positional error.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a control method and a robot system. [Background technology]

[0002] In recent years, due to rising labor costs and labor shortages in factories, robots with robotic arms have begun to perform tasks such as manufacturing, processing, assembling, and transporting parts or products, thereby automating tasks that were previously performed manually.A robotic arm has multiple arms rotatably connected via joints.

[0003] In such robots, a reference position (reference posture) is set for the robot arm. The reference position is the state in which the rotation angle of each joint is a predetermined angle, i.e., the arms are in a predetermined positional relationship. By accurately setting the reference position for the robot and accurately returning the robot arm to the reference position each time a task is completed, the robot can perform operations with high positional accuracy from the next time onwards.

[0004] In order to return the robot arms to their reference positions, in Patent Document 1, marks are attached to each arm. The user can return the robot arms to their reference positions by fine-tuning the position of each arm so that they align with these marks. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Publication No. 03-121792 Summary of the Invention [Problem to be solved by the invention]

[0006] However, in the configuration described in Patent Document 1, the task of returning the robot arm to the reference position is left to the user's visual inspection. Therefore, unless the user manually performs accurate positioning, the robot arm cannot be accurately returned to the reference position. As a result, the task of returning the robot to the reference position is time-consuming, which may reduce the positional accuracy of the robot and ultimately lead to a reduction in work accuracy. [Means for solving the problem]

[0007] A control method of the present invention is a control method for a robot system including a robot arm having a control point set, a plurality of joints rotatably connecting the arm, and capable of taking a reference posture, a first posture, and a second posture that are different from one another, and three range finders that can be attached to the tip of the robot arm and whose measurement axes are orthogonal to one another, a first acquisition step of setting the robot arm to the first posture and acquiring a first distance from the control point to the center of a sphere serving as a measurement reference using the three range finders; a second acquisition step of setting the robot arm in the second posture and acquiring a second distance from the control point to the center of the sphere using the three range finders; a calculation step of calculating a first position error based on first reference data corresponding to the first distance and the first distance acquired in the first acquisition step, and calculating a second position error based on second reference data corresponding to the second distance and the second distance acquired in the second acquisition step; and an error information acquisition step of acquiring, based on the first position error and the second position error, a deviation of the rotation angle of each of the joints when the robot arm takes the reference posture at the time when the first acquisition step and the second acquisition step are executed, relative to the rotation angle of each of the joints in the reference posture.

[0008] A robot system of the present invention comprises a robot arm having a control point set thereon, a plurality of joints rotatably connecting the arm, and capable of taking a reference posture, a first posture, and a second posture, which are different from one another, and three range finders provided at the tip of the robot arm, the range finders having measurement axes orthogonal to each other; and a control unit that controls the operation of the robot arm and is connected to each of the range finders; The control unit a first acquisition step of setting the robot arm to the first posture and acquiring a first distance from the control point to the center of a sphere serving as a measurement reference using the three range finders; a second acquisition step of setting the robot arm in the second posture and acquiring a second distance from the control point to the center of the sphere using the three range finders; a calculation step of calculating a first position error based on first reference data corresponding to the first distance and the first distance acquired in the first acquisition step, and calculating a second position error based on second reference data corresponding to the second distance and the second distance acquired in the second acquisition step; and an error information acquisition step of acquiring deviations in the rotation angles of each of the joints when the robot arm assumes the reference posture at the time when the first acquisition step and the second acquisition step are executed, relative to the rotation angles of each of the joints in the reference posture, based on the first position error and the second position error. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is an overall view showing a first embodiment of a robot system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Figure 3] FIG. 3 is a perspective view of the offset adjusting jig. [Figure 4] FIG. 4 is a schematic diagram for explaining the first posture, and is a diagram of the robot viewed from vertically above. [Figure 5]FIG. 5 is a diagram for explaining the positional relationship between the center of the sphere and the control points. [Figure 6] FIG. 6 is a schematic diagram for explaining the second posture, and is a diagram of the robot viewed from vertically above. [Figure 7] FIG. 7 is a diagram for explaining the positional relationship between the center of the sphere and the control points. [Figure 8] FIG. 8 is a diagram for explaining the positional relationship between the center of the sphere and the control points. [Figure 9] FIG. 9 is a diagram for explaining the positional relationship between the center of the sphere and the control points. [Figure 10] FIG. 10 is a flowchart illustrating an example of a control method for the robot system of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A control method and a robot system according to the present invention will be described in detail below based on preferred embodiments shown in the accompanying drawings.

[0011] <Embodiment> FIG. 1 is an overall view showing a first embodiment of a robot system according to an embodiment of the present invention. FIG. 2 is a block diagram of the robot system shown in FIG. 1. FIG. 3 is a perspective view of an offset adjustment jig. FIG. 4 is a schematic diagram for explaining a first posture, in which the robot is viewed from vertically above. FIG. 5 is a diagram for explaining the positional relationship between the center of a sphere and a control point. FIG. 6 is a schematic diagram for explaining a second posture, in which the robot is viewed from vertically above. FIG. 7 is a diagram for explaining the positional relationship between the center of a sphere and a control point. FIG. 8 is a diagram for explaining the positional relationship between the center of a sphere and a control point. FIG. 9 is a diagram for explaining the positional relationship between the center of a sphere and a control point. FIG. 10 is a flowchart for explaining an example of a control method for a robot system of the present invention.

[0012] In the following, for the sake of convenience, the up-down direction in FIG. 1 of the robot arm 10 will be referred to as the vertical direction, and the side of the base 11 in FIG. 1 will be referred to as the "base end," and the opposite side, i.e., the side of the end effector 20, will be referred to as the "tip."

[0013] As shown in FIG. 1, the robot system 100 includes a robot 1 and a control device 3 that controls the robot 1.

[0014] First, the robot 1 will be described. The robot 1 shown in Fig. 1 is a vertical articulated robot, and in particular, in this embodiment, it is a single-arm, six-axis vertical articulated robot. The robot 1 has a base 11 and a robot arm 10. An end effector 20, an offset adjustment jig 5 shown in Fig. 3, and the like can be appropriately attached to the tip of the robot arm 10. The end effector 20 may or may not be a constituent element of the robot 1.

[0015] The robot 1 is not limited to the configuration shown in the figure, and may be, for example, a double-arm articulated robot or a horizontal articulated robot.

[0016] The base 11 is a support that drivably supports the robot arm 10 at its base end, and is fixed to, for example, the floor of a factory. The base 11 of the robot 1 is electrically connected to the control device 3 via a relay cable. Note that the connection between the robot 1 and the control device 3 is not limited to a wired connection as shown in FIG. 1, but may be a wireless connection, for example. Furthermore, the connection and communication may be performed via various external interfaces or a network such as the Internet.

[0017] In this embodiment, the robot arm 10 has a first arm 12, a second arm 13, a third arm 14, a fourth arm 15, a fifth arm 16, and a sixth arm 17 (hereinafter, these may be collectively referred to as "arms"), and these arms are connected in this order from the base end to the tip end via joints 171 to 176 described below. The number of arms that the robot arm 10 has is not limited to six, and may be, for example, one, two, three, four, five, or seven or more. Furthermore, the size, such as the overall length, of each arm is not particularly limited and can be set as appropriate.

[0018] The base 11 and the first arm 12 are connected via a joint 171. The first arm 12 is rotatable around a first rotation axis extending vertically relative to the base 11. In this way, the first rotation axis coincides with the normal to the floor surface to which the base 11 is fixed, and the entire robot arm 10 can rotate in either the forward or reverse direction around the first rotation axis.

[0019] The first arm 12 and the second arm 13 are connected via a joint 172. The second arm 13 is rotatable relative to the first arm 12 about a second rotation axis that extends in the horizontal direction.

[0020] The second arm 13 and the third arm 14 are connected via a joint 173. The third arm 14 is rotatable about a third rotation axis that extends horizontally relative to the second arm 13. The third rotation axis is parallel to the second rotation axis.

[0021] The third arm 14 and the fourth arm 15 are connected via a joint 174. The fourth arm 15 is rotatable relative to the third arm 14 about a fourth rotation axis that is parallel to the central axis of the third arm 14. The fourth rotation axis is perpendicular to the third rotation axis.

[0022] The fourth arm 15 and the fifth arm 16 are connected via a joint 175. The fifth arm 16 is rotatable relative to the fourth arm 15 around a fifth rotation axis. The fifth rotation axis is perpendicular to the fourth rotation axis.

[0023] The fifth arm 16 and the sixth arm 17 are connected via a joint 176. The sixth arm 17 is rotatable about a sixth rotation axis relative to the fifth arm 16. The sixth rotation axis is perpendicular to the fifth rotation axis.

[0024] The sixth arm 17 is the robot tip located at the most distal end of the robot arm 10. The sixth arm 17 can be displaced together with the end effector 20 by driving the robot arm 10.

[0025] The number of joints that the robot arm 10 has is not limited to six, and may be, for example, one, two, three, four, five, or seven or more. The number of joints is determined appropriately in relation to the number of arms.

[0026] Each joint 171 to 176 of the robot arm 10 is provided with a drive unit that rotates the arm and a rotation detection unit that detects the rotation of the arm. Specifically, the robot 1 includes motors M1, M2, M3, M4, M5, and M6 as drive units, and encoders E1, E2, E3, E4, E5, and E6 as rotation detection units. Motor M1 is built into joint 171 and rotates the first arm 12 relative to the base 11 around the first rotation axis. Motor M2 is built into joint 172 and rotates the first arm 12 and the second arm 13 relatively around the second rotation axis. Motor M3 is built into joint 173 and rotates the second arm 13 and the third arm 14 relatively around the third rotation axis. Motor M4 is built into joint 174 and rotates the third arm 14 and the fourth arm 15 relatively around the fourth rotation axis. Motor M5 is built into joint 175 and rotates the fourth arm 15 and the fifth arm 16 relatively around the fifth rotation axis. Motor M6 is built into joint 176 and rotates the fifth arm 16 and the sixth arm 17 relatively around the sixth rotation axis.

[0027] Furthermore, encoder E1 is built into joint 171 and detects the position of motor M1. Encoder E2 is built into joint 172 and detects the position of motor M2. Encoder E3 is built into joint 173 and detects the position of motor M3. Encoder E4 is built into joint 174 and detects the position of motor M4. Encoder E5 is built into fifth arm 16 and detects the position of motor M5. Encoder E6 is built into sixth arm 17 and detects the position of motor M6. Note that "detecting position" here refers to detecting the rotation angle of the motor, i.e., the amount of rotation including forward and reverse, and the angular velocity, and the detected information is referred to as "position information."

[0028] 2, motor drivers D1 to D6 are connected to corresponding motors M1 to M6, respectively, and control the driving of these motors. Motor drivers D1 to D6 are built into joint 171, joint 172, joint 173, joint 174, fifth arm 16, and sixth arm 17, respectively.

[0029] Encoders E1 to E6, motors M1 to M6, and motor drivers D1 to D6 are each electrically connected to the control device 3. Position information of motors M1 to M6 detected by encoders E1 to E6, i.e., the amount of rotation, is transmitted to the control device 3 as an electrical signal. Then, based on this position information, the control device 3 outputs control signals to motor drivers D1 to D6 shown in FIG. 2 to drive motors M1 to M6. In other words, controlling the robot arm 10 means controlling the operation of first arm 12 to sixth arm 17 belonging to the robot arm 10 by controlling the driving of motors M1 to M6.

[0030] In this way, by controlling the driving of motors M1 to M6, robot 1 can operate first arm 12 to sixth arm 17 and set robot arm 10 to a reference position, a first position, and a second position, which will be described later. The reference position, the first position, and the second position are different from one another.

[0031] As shown in FIGS. 1 and 3, a control point TCP is set at the tip of the sixth arm 17. The control point TCP is a point that serves as a reference point for control by the control device 3, and its position can be specified by the control device 3 in any coordinate system. In the illustrated configuration, the control point TCP is located on the sixth rotation axis O6. However, this configuration is not limiting, and the control point TCP may be set at a position offset from the sixth rotation axis O6.

[0032] An end effector 20 can be detachably attached to the tip of the robot arm 10. In this embodiment, the end effector 20 is configured as a hand having a pair of claws that can move toward and away from each other and that grip and release a workpiece or tool with each claw. A force detector attached to this end effector 20 can detect the magnitude and direction of the reaction force to the gripping force when a workpiece is gripped by both claws.

[0033] The end effector 20 is not limited to the configuration shown in the figure, and may be configured to have an adsorption portion that grips a workpiece or a tool by adsorption with the adsorption portion. The end effector 20 may also be a tool such as a polishing machine, grinding machine, cutting machine, spray gun, laser light irradiator, screwdriver, or wrench.

[0034] The robot 1 uses such an end effector 20 to drive each part of the robot arm 10 and the end effector 20 according to an operation program to perform a desired task. Examples of such tasks include manufacturing, processing, assembling, disassembling, transporting, and sorting of parts or products, and hereinafter these will be simply referred to as "tasks."

[0035] The end effector 20 attached to the tip of the robot arm 10 can be replaced with an offset adjustment jig 5, which will be described later.

[0036] Next, the control device 3 will be described. As shown in Fig. 1, in this embodiment, the control device 3 is installed at a position separate from the robot 1. However, this configuration is not limiting, and the control device 3 may be built into the base 11. The control device 3 also has a function of controlling the driving of the robot 1, and is electrically connected to each of the above-mentioned parts of the robot 1. As shown in Fig. 2, the control device 3 has a control unit 31, a storage unit 32, and a communication unit 33. These units are connected to each other so that they can communicate with each other, for example, via a bus.

[0037] The control unit 31 includes one or more processors. The control unit 31 is configured with, for example, a CPU (Central Processing Unit), and reads and executes various programs such as operation programs stored in the memory unit 32. Signals generated by the control unit 31 are transmitted to each part of the robot 1 via the communication unit 33, and signals from each part of the robot 1 are received by the control unit 31 via the communication unit 33. This allows the robot arm 10 to perform a predetermined task under predetermined conditions.

[0038] The storage unit 32 stores various programs and the like executed by the control unit 31. Examples of the storage unit 32 include a configuration including a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), and a removable external storage device.

[0039] Various programs for executing the control method for the robot system of the present invention, such as the calculation formulas described below, are stored in the storage unit 32. The control unit 31 reads and executes these programs to execute the control method for the robot system of the present invention.

[0040] The communication unit 33 includes an interface circuit and can transmit and receive signals to and from the robot 1 or other devices using an external interface such as a wired local area network (LAN), wireless LAN, Wi-Fi, or Bluetooth (registered trademark). The communication unit 33 may include a terminal for connecting a cable for wired communication or an antenna for wireless communication. In this case, communication may be performed via a server (not shown), or via a network such as the Internet.

[0041] In order for the robot arm 10 to perform the above tasks, it is necessary to accurately return the robot arm 10 to a predetermined posture, for example, a reference posture (home position), each time the task is completed. By accurately grasping the current posture and other information of the robot arm 10, the control device 3 can generate appropriate drive signals and drive the robot arm 10 with precision to perform the task. The reference posture refers to a home position, particularly a standby position, and is often the initial posture when starting a task. The reference posture is a posture in which the robot arm 10 is positioned along the chain lines in Figures 4 and 6. The reference posture is uniquely determined by the values ​​of the rotation angles of each joint. In other words, the reference posture is uniquely determined by setting the encoder values ​​of encoders E1 to E6 to predetermined values, respectively.

[0042] However, when replacing parts such as motors M1 to M6 and encoders E1 to E6 with new ones or performing maintenance, the user may partially disassemble the robot arm 10 and then reassemble it. In this case, if the assembly precision is poor, the encoder values ​​of encoders E1 to E6 may not match the respective predetermined values, even if the robot arm 10 is intended to be in the reference posture. In this case, since the reference posture is misaligned to begin with, it is difficult to operate the robot arm 10 with precision. Furthermore, problems caused by such misalignment of the reference posture may also occur due to causes other than the maintenance described above, such as long-term operation of the robot 1.

[0043] The control method and robot system of the present invention can solve the above problem by performing the following control, that is, offset adjustment.

[0044] First, the offset adjusting jig 5 used for offset adjustment will be described. As shown in Figure 3, the offset adjustment jig 5 is attached to the tip of the robot arm 10 and has three rangefinders 5A, 5B, and 5C whose detection axes (measurement axes) are perpendicular to each other, and a mounting part 50 that supports the rangefinders 5A, 5B, and 5C in a predetermined positional relationship.

[0045] Rangefinder 5A has a first origin and a first detection axis 50A set therein, and acquires information about the distance between an object (e.g., sphere 60, described below) and the first origin in the direction along the first detection axis. Rangefinder 5B has a second origin and a second detection axis 50B set therein, and acquires information about the distance between an object and the second origin in the direction along the second detection axis. Rangefinder 5C has a third origin and a third detection axis 50C set therein, and acquires information about the distance between an object and the third origin in the direction along the third detection axis. The first, second, and third origins are the intersections of the first detection axis 50A, the second detection axis 50B, and the third detection axis 50C, that is, the same origin. This origin is located at a position offset from the sixth rotation axis O6 of the sixth arm 17.

[0046] Rangefinder 5A, rangefinder 5B, and rangefinder 5C may each be of a contact type or an optical type, but in this embodiment, they are configured as contact-type digital dial gauges. Rangefinder 5A, rangefinder 5B, and rangefinder 5C are electrically connected to control device 3 as shown in Fig. 2, and the detected values ​​of rangefinder 5A, rangefinder 5B, and rangefinder 5C, i.e., information related to the distances, are transmitted to control device 3 as electrical signals.

[0047] Rangefinder 5A, rangefinder 5B, and rangefinder 5C each have a first detection axis 50A, a second detection axis 50B, and a third detection axis 50C, and are supported by mounting portion 50 with their positional relationship fixed and the first detection axis 50A, second detection axis 50B, and third detection axis 50C oriented perpendicular to each other.

[0048] Furthermore, the amount and direction of offset of rangefinder 5A, rangefinder 5B, and rangefinder 5C relative to control point TCP is stored in memory unit 32. Therefore, based on the detection values ​​of rangefinder 5A, rangefinder 5B, and rangefinder 5C, control device 3 can determine the positional relationship between the control point TCP and the targets measured by rangefinder 5A, rangefinder 5B, and rangefinder 5C.

[0049] The mounting unit 50 includes a plate-shaped mounting portion 51 that is attached to the tip of the robot arm 10, i.e., the tip of the sixth arm 17, and a rod-shaped portion 52 connected to the mounting portion 51. The rod-shaped portion 52 includes a first portion 521 on the mounting portion 51 side and a second portion 522 connected to the tip of the first portion 521. The first portion 521 extends along the sixth rotation axis. The second portion 522 extends in a direction perpendicular to the sixth rotation axis. A support plate 53 that supports the rangefinders 5A, 5B, and 5C is installed at the tip of the second portion 522. The offset adjustment jig 5, which includes the rangefinders 5A, 5B, and 5C, is attached to the tip of the sixth arm 17 of the robot arm 10 via the mounting portion 50. Note that the end effector 20 is removed when attaching the offset adjustment jig 5 to the tip of the sixth arm 17.

[0050] The offset adjustment is performed through the following steps: That is, as shown in Fig. 10, the control method of the robot system 100 includes: [1] a reference data acquisition step (S101), [2] a first acquisition step (S102), [3] a second acquisition step (S103), [4] a calculation step (S104), [5] an error information acquisition step (S106), and [6] an adjustment step (S106).

[0051] [1] Reference data acquisition step The reference data acquisition step is a step for acquiring data that serves as a reference for the posture of the robot arm 10. Prior to performing this step, a reference sphere 60 is placed at a position that is a predetermined distance away from the robot arm 10. By placing the sphere 60 at a preset position, the control device 3 is made to know the position of the sphere 60 relative to the robot arm 10.

[0052] In the reference data acquisition step, first, as shown in FIG. 4, robot arm 10 is placed in a first posture, which will be described later, and measurements are taken using rangefinders 5A, 5B, and 5C. As shown in FIG. 5, a first reference distance DA1, which is the distance between center 600 of sphere 60 and control point TCP, is calculated and stored in memory unit 32. First reference distance DA1 is information about the distance in which direction, i.e., position vector information. The same applies to second reference distance DA2, first distance DB1, and second distance DB2, which will be described later.

[0053] When the rotation angle of joint 171 is θ1, the rotation angle of joint 172 is θ2, the rotation angle of joint 173 is θ3, the rotation angle of joint 174 is θ4, the rotation angle of joint 175 is θ5, and the rotation angle of joint 176 is θ6, the first posture is a posture where θ1=α1°, θ2=α2°, θ3=α3°, θ4=α4°, θ5=α5°, and θ6=α6°. Information regarding the rotation angles of each of joints 171 to 176 in the first posture is stored in storage unit 32.

[0054] Next, as shown in Figure 6, the robot arm 10 is set to a second posture different from the first posture, and measurements are taken using rangefinder 5A, rangefinder 5B, and rangefinder 5C, and a second reference distance DA2, which is the distance between the center 600 of the sphere 60 and the control point TCP, is calculated as shown in Figure 7, and this is stored in the memory unit 32.

[0055] The second posture is a posture where θ1=β1°, θ2=β2°, θ3=β3°, θ4=β4°, θ5=β5°, and θ6=β6°. Information regarding the rotation angles of the joints 171 to 176 in the first posture is stored in the storage unit 32.

[0056] In this way, in the reference data obtaining step, the first reference distance DA1 as the first reference data and the second reference distance DA2 as the second reference data are calculated and stored in the storage unit 32. For example, such a reference data obtaining step is performed in advance when the robot arm 10 is in a brand new state.

[0057] The reference data acquisition step may be omitted. That is, the first reference distance DA1 as the first reference data and the second reference distance DA2 as the second reference data may be acquired in advance and stored in the storage unit 32.

[0058] The first reference distance DA1 is calculated based on the measurement results (t1, t2, t3) of the three rangefinders 5A, 5B, and 5C when the device is in the first position. The second reference distance DA2 is calculated based on the measurement results (t1, t2, t3) of the three measuring instruments when the device is in the second position. When the distance from the origins (first origin, second origin, and third origin) of the rangefinders 5A, 5B, and 5C to the center 600 of the sphere 60 is expressed as (δx, δy, δz), it can be expressed by the following formula (1).

[0059]

number

[0060] Here, when replacing parts such as motors M1 to M6 and encoders E1 to E6 with new ones or performing maintenance, a user may partially disassemble the robot arm 10 and then reassemble the robot arm 10. In this case, the following steps are sequentially executed: [2] first acquisition step (S102), [3] second acquisition step (S103), [4] calculation step (S104), [5] error information acquisition step (S105), and [6] adjustment step (S106).

[0061] [2] First acquisition step Prior to performing the first acquisition step, a reference sphere 60 is placed at a position a predetermined distance away from the robot arm 10. The position of the sphere 60 is the same as the position of the sphere 60 in the reference data acquisition step. In other words, the positional relationship between the robot arm 10 and the sphere 60 is the same as in the reference data acquisition step.

[0062] In this state, as shown in Figure 4, the robot arm 10 is set to the first posture, and measurements are taken using rangefinder 5A, rangefinder 5B, and rangefinder 5C, and the first distance DB1, which is the distance between the center 600 of the sphere 60 and the control point TCP, is calculated as shown in Figure 8, and this is stored in the memory unit 32.

[0063] The first posture in this step is the same as the first posture in the reference data acquisition step, and is a posture where θ1=α1°, θ2=α2°, θ3=α3°, θ4=α4°, θ5=α5°, and θ6=α6°.

[0064] Theoretically, the first reference distance DA1 and the first distance DB1 are the same value, but if the assembly precision of the robot arm 10 is poor as described above, an error will occur between the first reference distance DA1 and the first distance DB1 even when the same first posture is taken.

[0065] [3] Second acquisition step As shown in Figure 6, the robot arm 10 is set to the second posture, and using rangefinder 5A, rangefinder 5B, and rangefinder 5C, the second distance DB2, which is the distance between the center 600 of the sphere 60 and the control point TCP, is calculated as shown in Figure 9, and stored in the memory unit 32.

[0066] The second posture in this step is the same as the second posture in the reference data acquisition step, and is a posture where θ1=β1°, θ2=β2°, θ3=β3°, θ4=β4°, θ5=β5°, and θ6=β6°.

[0067] Theoretically, the second reference distance DA2 and the second distance DB2 are the same value, but if the assembly precision of the robot arm 10 is poor as described above, an error will occur between the second reference distance DA2 and the second distance DB2 even when the same first posture is taken.

[0068] [4] Calculation step The calculation step is a step of calculating a first position error based on the first reference distance DA1, which is the first reference data, and the first distance DB1 acquired in the first acquisition step, and calculating a second position error based on the second reference distance DA2, which is the second reference data, and the second distance DB2 acquired in the second acquisition step.

[0069] If we consider that the first and second position errors are caused by the position error of the control point TCP, the position vector of the control point TCP before the deviation occurs is B P T model , the position vector of the control point TCP after the displacement occurs is B P T measure Then, the first position error and the second position error (e) can be expressed by the following equation (2): B P T can be calculated using the robot's forward kinematics, and has the joint rotation angle as one of its parameters.

[0070]

number

[0071] The position vector can be expressed by the following equation (3), and the above equation (2) can be expressed by the following equation (4), so the above equation (2) is obtained by subtracting the following equation (3) at the time of the reference data acquisition step from the following equation (3) at the first acquisition step and the second acquisition step.

[0072]

number

[0073] Here, when the rotation angle of each of the joints 171 to 176 is θ=[θ1, θ2, . . . θ6] and Jacobian J is used, the above formula (2) can be linearly approximated as the following formula (4).

[0074]

number

[0075] The Jacobian J is B P T is partially differentiated with respect to the rotation angle θ of each of the joints 171 to 176, and is obtained by calculating the following equation (5).

[0076]

number

[0077] In this way, the first position error in the first attitude and the second position error in the second attitude can be determined.

[0078] [5] Error information acquisition step The error information acquisition step is a step of acquiring, based on the first position error and the second position error, the deviation of the rotation angle of each joint 171 to 176 when the robot arm 10 is in the reference posture at the time when the first acquisition step and the second acquisition step are executed (hereinafter simply referred to as the "deviation of the rotation angle of each joint").

[0079] If we define a new matrix like the one shown in equation (6) below that combines the deviation in the rotation angle of each joint in N different postures (two, the first posture and the second posture in this embodiment) and the Jacobian, the deviation in the rotation angle of each joint can be found by the least squares method using equation (7) below. Here, the size of each matrix / vector is e (3N×1), J is (3N×6), and Δθ is (6×1).

[0080]

number

[0081]

number

[0082] By performing the above calculations, the deviation in the rotation angle of each joint is obtained based on the two postures, posture 1 and posture 2. Note that, in theory, it is possible to calculate the amount of error if there are two or more pieces of error data, but since the more data there are, the more accurate the amount of error can be calculated, the configuration may be such that the above calculations are performed based on three or more postures.

[0083] The above formulas (1) to (7) are stored in the storage unit 32, and are read out by the control unit 31 at appropriate times for calculation processing.

[0084] [6] Adjustment step The adjustment step is a step of adjusting the operation settings of the robot arm 10. That is, the deviation in the rotation angle of each joint calculated in the error information acquisition step is stored, and the robot arm 10 is set to operate taking into account the deviation in the rotation angle of each joint. For example, the positional accuracy of the robot arm 10 can be improved by adjusting the zero pulse positions of the encoders E1 to E6. The zero pulse positions after adjustment of the encoders E1 to E6 are stored in the storage unit 32. Note that the method of adjusting the operation settings of the robot arm 10 is not limited to adjusting the zero pulse positions of the encoders E1 to E6.

[0085] Note that if any one of the deviations in the rotation angles of the joints calculated in the error information acquisition step exceeds a threshold, the rotation angles of the joints in the first and second postures may be fine-tuned, and the process may return to the calculation step to repeat the following steps. In other words, the above steps may be repeated until the deviations in the rotation angles of the joints calculated in the error information acquisition step fall below the respective thresholds.

[0086] As described above, the control method for the robot system 100 is a control method for the robot system 100, which includes a robot arm 10 having a control point TCP set thereon and a plurality of joints 171, 172, 173, 174, 175 and 176 that rotatably connect the first, second, third, fourth, fifth and sixth arms 12, 13, 14, 15, 16 and 17, and which can take mutually different reference postures, first postures and second postures, and three rangefinders 5A, 5B and 5C that can be attached to the tip of the robot arm 10 and whose measurement axes are perpendicular to each other. The control method of the robot system 100 includes a first acquisition step of acquiring a first distance from the control point TCP to the center of the sphere 60, which serves as a measurement reference, using three range finders 5A, 5B, and 5C with the robot arm 10 in a first posture, and a second acquisition step of acquiring a second distance from the control point TCP to the center of the sphere 60, using three range finders 5A, 5B, and 5C with the robot arm 10 in a second posture, and calculating a first position error based on first reference data (first reference distance DA1) corresponding to the first distance DB1 and the first distance DB1 acquired in the first acquisition step, and The method includes a calculation step of calculating a second position error based on second reference data (second reference distance DA2) corresponding to the second distance DB2 and the second distance DB2 acquired in the second acquisition step, and an error information acquisition step of acquiring, based on the first position error and the second position error, the deviation of the rotation angles of each of the joints 171, 172, 173, 174, 175 and 176 when the robot arm 10 is in the reference posture at the time the first acquisition step and the second acquisition step are executed, relative to the rotation angles of each of the joints 171, 172, 173, 174, 175 and 176 in the reference posture.

[0087] As a result, even if the positional accuracy of the robot arm 10 is reduced due to factors such as the assembly accuracy of the robot arm 10, it is possible to easily and accurately determine the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176. Therefore, for example, the positional accuracy of the robot arm 10 can be improved by driving the robot arm 10 while taking into account the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176. As a result, the robot arm 10 can be driven with high positional accuracy regardless of the assembly accuracy of the robot arm 10.

[0088] In this embodiment, the control method of the present invention is configured to be performed by the control device 3 of the robot system 100, but the present invention is not limited to this and may be configured to be performed by other equipment such as a teaching device (not shown), or may be configured to be performed by the control device 3 and other equipment in a shared manner.

[0089] The robot system 100 also includes a robot arm 10 having a control point TCP set therein and a plurality of joints 171, 172, 173, 174, 175 and 176 rotatably connecting the first, second, third, fourth, fifth and sixth arms 12, 13, 14, 15, 16 and 17, which can take on different reference postures, first postures and second postures; a robot 1 having three rangefinders 5A, 5B and 5C that can be attached to the tip of the robot arm 10 and whose detection axes (measurement axes) are perpendicular to each other; and a control unit 31 that controls the operation of the robot arm 10 and is connected to each of the rangefinders 5A, 5B and 5C. The control unit 31 also controls the robot system 100 by a first acquisition step of acquiring a first distance from the control point TCP to the center of the sphere 60, which serves as a measurement reference, using the three range finders 5A, 5B, and 5C with the robot arm 10 in a first posture, and a second acquisition step of acquiring a second distance from the control point TCP to the center of the sphere 60, using the three range finders 5A, 5B, and 5C with the robot arm 10 in a second posture, and calculating a first position error based on first reference data (first reference distance DA1) corresponding to the first distance DB1 and the first distance DB1 acquired in the first acquisition step. Next, a calculation step is performed to calculate a second position error based on second reference data (second reference distance DA2) corresponding to the second distance DB2 and the second distance DB2 acquired in the second acquisition step, and an error information acquisition step is performed to acquire, based on the first position error and the second position error, the deviation of the rotation angles of each of the joints 171, 172, 173, 174, 175 and 176 when the robot arm 10 is in the reference posture at the time the first acquisition step and the second acquisition step are executed.

[0090] As a result, even if the positional accuracy of the robot arm 10 is reduced due to factors such as the assembly accuracy of the robot arm 10, it is possible to easily and accurately determine the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176. Therefore, for example, the positional accuracy of the robot arm 10 can be improved by driving the robot arm 10 while taking into account the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176. As a result, the robot arm 10 can be driven with high positional accuracy regardless of the assembly accuracy of the robot arm 10.

[0091] The first posture is a posture in which the robot arm 10 is tilted in a first direction (left side in FIG. 4) from the reference posture, and the second posture is a posture in which the robot arm 10 is tilted in a second direction (right side in FIG. 6) opposite to the first direction from the reference posture. This makes it possible to accurately calculate the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176.

[0092] The method includes an adjustment step of adjusting the operation settings of the robot arm 10 based on the deviations in the rotation angles of the joints 171, 172, 173, 174, 175, and 176 acquired in the error information acquisition step, thereby enabling the robot arm 10 to be driven with high positional accuracy.

[0093] The robot 1 is a vertically articulated robot, which can take different postures even when the control point TCP is in the same position, and the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176 can be accurately calculated.

[0094] The first detection axis 50A, the second detection axis 50B, and the third detection axis 50C, which are the detection axes (measurement axes) of the three rangefinders 5A, 5B, and 5C, respectively, intersect at a position offset from the sixth rotation axis O6 of the sixth arm 17, which is the most distal arm of the robot arm. This allows the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176 to be accurately calculated.

[0095] The range finders 5A, 5B, and 5C are contact type, which allows accurate calculation of the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176 with a simple configuration.

[0096] The range finders 5A, 5B, and 5C may be optical, which allows the deviation in the rotation angle of each of the joints 171, 172, 173, 174, 175, and 176 to be calculated more accurately.

[0097] Although the control method and robot system of the present invention have been described above with reference to the illustrated embodiments, the present invention is not limited to these. Furthermore, each step and each part of the control method and robot system can be replaced with any step or structure that can perform the same function. Furthermore, any step or structure may be added. [Explanation of symbols]

[0098] REFERENCE SIGNS LIST 1...robot, 3...control device, 5...offset adjustment jig, 5A...rangefinder, 5B...rangefinder, 5C...rangefinder, 10...robot arm, 11...base, 12...first arm, 13...second arm, 14...third arm, 15...fourth arm, 16...fifth arm, 17...sixth arm, 20...end effector, 31...control unit, 32...memory unit, 33...communication unit, 50...mounting unit, 50A...first detection axis, 50B...second detection axis, 50C...third detection axis, 51...mounting unit, 52...rod-shaped unit, 53...support plate, 60...sphere, 100...robot system, 171...joint, 172...joint, 173...joint, 174...joint, 175...joint, 176...joint Section, 521...first part, 522...second part, 600...center, D1...motor driver, D2...motor driver, D3...motor driver, D4...motor driver, D5...motor driver, D6...motor driver, DA1...first reference distance, DA2...second reference distance, DB1...first distance, DB2...second distance, E1...encoder, E2...encoder, E3...encoder, E4...encoder, E5...encoder, E6...encoder, M1...motor, M2...motor, M3...motor, M4...motor, M5...motor, M6...motor, O6...sixth rotation axis, TCP...control point

Claims

1. A control method for a robot system including a robot arm having a control point set thereon, a plurality of joints rotatably connecting the arm, and capable of taking a reference posture, a first posture, and a second posture different from one another, and three range finders attachable to a tip end of the robot arm and having measurement axes orthogonal to one another, the method comprising: a first acquisition step of setting the robot arm to the first posture and acquiring a first distance from the control point to the center of a sphere serving as a measurement reference using the three range finders; a second acquisition step of setting the robot arm in the second posture and acquiring a second distance from the control point to the center of the sphere using the three range finders; a calculation step of calculating a first position error based on first reference data corresponding to the first distance and the first distance acquired in the first acquisition step, and calculating a second position error based on second reference data corresponding to the second distance and the second distance acquired in the second acquisition step; and an error information acquisition step of acquiring, based on the first position error and the second position error, a deviation of the rotation angle of each of the joints when the robot arm takes the reference posture at the time when the first acquisition step and the second acquisition step are executed, relative to the rotation angle of each of the joints in the reference posture.

2. the first posture is a posture in which the robot arm is tilted in a first direction from the reference posture, The control method according to claim 1 , wherein the second posture is a posture in which the robot arm is tilted from the reference posture in a second direction opposite to the first direction.

3. 3. The control method according to claim 1, further comprising an adjustment step of adjusting operation settings of the robot arm based on the deviation in rotation angle of each of the joints acquired in the error information acquisition step.

4. a robot comprising: a robot arm having a control point set thereon, a plurality of joints rotatably connecting the arm, and capable of taking a reference posture, a first posture, and a second posture, which are different from one another; and three range finders provided at the tip of the robot arm, the range finders having measurement axes orthogonal to one another; and a control unit that controls the operation of the robot arm and is connected to each of the range finders; The control unit a first acquisition step of setting the robot arm to the first posture and acquiring a first distance from the control point to the center of a sphere serving as a measurement reference using the three range finders; a second acquisition step of setting the robot arm in the second posture and acquiring a second distance from the control point to the center of the sphere using the three range finders; a calculation step of calculating a first position error based on first reference data corresponding to the first distance and the first distance acquired in the first acquisition step, and calculating a second position error based on second reference data corresponding to the second distance and the second distance acquired in the second acquisition step; an error information acquisition step of acquiring a deviation of the rotation angle of each of the joints when the robot arm takes the reference posture at the time when the first acquisition step and the second acquisition step are executed, relative to the rotation angle of each of the joints in the reference posture, based on the first position error and the second position error.

5. The robot system according to claim 4 , wherein the robot is a vertical articulated robot.

6. 6. The robot system according to claim 5, wherein the detection axes of the three range finders intersect at a position offset from the rotation axis of the most distal arm of the robot arm.

7. 7. The robot system according to claim 4, wherein the range finder is a contact type.

8. 7. The robot system according to claim 4, wherein the range finder is an optical type.

Citation Information

Patent Citations

  • Adjusting device for original position of industrial robot

    JP1991121792A