Calibration method and robotic system

JP7916665B2Active Publication Date: 2026-09-08SEIKO EPSON CORP
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2022087478
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-05-30
Publication Date
2026-09-08
Estimated Expiration
2042-05-30

Smart Images

  • Figure 0007916665000001
    Figure 0007916665000001
  • Figure 0007916665000002
    Figure 0007916665000002
  • Figure 0007916665000003
    Figure 0007916665000003
Patent Text Reader

Abstract

To provide a calibration method that can easily perform calibration of a robot coordinate system and a camera coordinate system, and to provide a robot system.SOLUTION: In the calibration method, a first state where a basic point on a predetermined plane is positioned at a center of an image photographed with a camera is set; a second state where the camera is rotated at a first rotation angle around a first virtual shaft which is orthogonal to the predetermined plane and passing through a control point of an arm is set; a third state where the basic point is positioned at the center of the image photographed with the camera is set; a fourth state, where a reference point which is a temporal position of the basic point is derived on the basis of information on the first and third states and the first rotation angle and the camera is rotated at a second rotation angle around a second virtual shaft which is orthogonal to the predetermined plane and passing through the reference point, is set; and a fifth state where the basic point is positioned at the center of the image photographed with the camera is set, where a position of the basic point is derived from information on the first and fifth states and the first and second rotation angles or information on the third and fifth states and the second rotation angle, and calibration of a robot coordinate system and a camera coordinate system is performed on the basis of the derived position of the basic point.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a calibration method and a robot system. [Background Art]

[0002] Conventionally, before processing a workpiece using a tool attached to an arm, a process of setting an offset of the tool relative to the arm is performed. Patent Document 1 discloses a method for deriving an offset of a tool relative to an arm based on results obtained by performing an operation of aligning the tool attached to the arm with a reference point in real space a plurality of times while changing the posture of the arm. [Prior Art Literature] [Patent Literature]

[0003] [Patent Document 1] Japanese Unexamined Patent Publication No. Hei 8-85083 [Summary of the Invention] [Problem to be Solved by the Invention]

[0004] According to the technique described in Patent Document 1, it is necessary for an operator to operate the arm to bring the tool into contact with the reference point, thereby teaching the position of the reference point. However, it is not easy to accurately operate the arm while visually identifying the boundary state where the arm either touches or does not touch the reference point. That is, the technique described in Patent Document 1 has a problem that it is not easy to accurately teach the position of the reference point. If the offset of the tool is set while accurately teaching the position of the reference point, there arises a problem that the time required for the setting is prolonged, and this problem becomes more serious as the number of robots to be set increases. [Means for Solving the Problem]

[0005] The calibration method of the present invention is a method for calibrating a robot coordinate system, which is the coordinate system of a robot equipped with an arm, and a camera coordinate system, which is the coordinate system of a camera attached to the arm, A step of moving the robot to a first state in which a reference point located on a predetermined plane is located at a predetermined position in the image of the camera, A step of moving the robot to a second state in which the camera is rotated by a first rotation angle around a first virtual axis that is perpendicular to the predetermined plane and passes through a control point set on the arm, A step of moving the robot to a third state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving a reference point, which is a provisional position of the reference point, based on the information of the first state, the information of the third state, and the first rotation angle, A step of moving the robot to a fourth state in which the camera is rotated by a second rotation angle around a second virtual axis that is perpendicular to the predetermined plane and passes through the reference point, A step of moving the robot to a fifth state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving the position of the reference point from the information of the first state, the information of the fifth state, the first rotation angle and the second rotation angle, or the information of the third state, the information of the fifth state and the second rotation angle, The process includes a step of performing calibration between the robot coordinate system and the camera coordinate system based on the derived position of the reference point.

[0006] The calibration method of the present invention is a method for calibrating a robot coordinate system, which is the coordinate system of a robot equipped with an arm, and a camera coordinate system, which is the coordinate system of a camera attached to the arm, A step of moving the robot to a first state in which a reference point located on a predetermined plane is located at a predetermined position in the image of the camera, A step of moving the robot to a fourth state in which the camera is rotated by a first rotation angle around a first virtual axis that is perpendicular to the predetermined plane and passes through a control point set on the arm, A step of moving the robot to a fifth state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving the position of the reference point from the information of the first state, the information of the fifth state, and the first rotation angle, The process includes a step of performing calibration between the robot coordinate system and the camera coordinate system based on the derived position of the reference point.

[0007] The calibration method of the present invention is a method for calibrating a robot coordinate system, which is the coordinate system of a robot equipped with an arm, and a camera coordinate system, which is the coordinate system of a camera attached to the arm, The process of moving the robot to a sixth state in which a reference point located on a predetermined plane is located at a predetermined position in the image of the camera, A step of deriving a reference point which is a provisional position of the aforementioned reference point, A step of moving the robot to a seventh state in which the camera is rotated by a third rotation angle around a third virtual axis that is perpendicular to the predetermined plane and passes through the reference point, The process of moving the robot to bring the reference point to the eighth state where it is positioned at the predetermined position in the image of the camera, A step of deriving the position of the reference point from the information of the sixth state, the information of the eighth state, and the third rotation angle, The process includes a step of performing calibration between the robot coordinate system and the camera coordinate system based on the derived position of the reference point.

[0008] The robot system of the present invention comprises a robot equipped with an arm, The camera attached to the aforementioned arm, The robot has a control device that controls the drive of the robot, The control device performs calibration of the robot coordinate system, which is the coordinate system of the robot, and the camera coordinate system, which is the coordinate system of the camera. A step of moving the robot to a first state in which a reference point located on a predetermined plane is located at a predetermined position in the image of the camera, A step of moving the robot to a second state in which the camera is rotated by a first rotation angle around a first virtual axis that is perpendicular to the predetermined plane and passes through a control point set on the arm, A step of moving the robot to a third state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving a reference point, which is a provisional position of the reference point, based on the information of the first state, the information of the third state, and the first rotation angle, A step of moving the robot to a fourth state in which the camera is rotated by a second rotation angle around a second virtual axis that is perpendicular to the predetermined plane and passes through the reference point, A step of moving the robot to a fifth state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving the position of the reference point from the information of the first state, the information of the fifth state, the first rotation angle and the second rotation angle, or the information of the third state, the information of the fifth state and the second rotation angle, The process involves performing a calibration between the robot coordinate system and the camera coordinate system based on the derived position of the reference point. [Brief explanation of the drawing]

[0009] [Figure 1] This is an overall configuration diagram of the robot system according to the first embodiment. [Figure 2] This is a flowchart showing the calibration process. [Figure 3] This diagram shows the state of the robot system at the start of calibration. [Figure 4] This figure shows the image captured by the camera at the start of calibration. [Figure 5]It is a diagram showing the state of the robot system at the end of the first translation process. [Figure 6] It is a diagram showing an image captured by a camera at the end of the first translation process. [Figure 7] It is a flowchart showing the first translation process in detail. [Figure 8] It is a diagram showing the state of the robot system at the end of the first rotation process. [Figure 9] It is a diagram showing an image captured by a camera at the end of the first rotation process. [Figure 10] It is a diagram showing the state of the robot system at the end of the second translation process. [Figure 11] It is a diagram showing an image captured by a camera at the end of the second translation process. [Figure 12] It is a flowchart showing the second translation process in detail. [Figure 13] It is a diagram showing the state of the robot system at the end of the second rotation process. [Figure 14] It is a diagram showing an image captured by a camera at the end of the second rotation process. [Figure 15] It is a diagram showing the state of the robot system at the end of the third translation process. [Figure 16] It is a diagram showing an image captured by a camera at the end of the third translation process. [Figure 17] It is a flowchart showing the third translation process in detail. [Figure 18] It is a diagram showing an example of work performed by the robot system. [Figure 19] It is an overall configuration diagram of the robot system according to the second embodiment. [Figure 20] It is a flowchart showing a calibration method performed by the robot system according to the third embodiment. [Figure 21] It is a diagram showing the state of the robot system at the end of the first translation process. [Figure 22] It is a diagram showing an image captured by a camera at the end of the first translation process. [Figure 23]This diagram shows the state of the robot system at the end of the first rotation process. [Figure 24] This figure shows the image captured by the camera at the end of the first rotation process. [Figure 25] This figure shows the state of the robot system at the end of the second translation process. [Figure 26] This figure shows the image captured by the camera at the end of the second translation process. [Modes for carrying out the invention]

[0010] The calibration method and robot system of the present invention will be described in detail below based on preferred embodiments shown in the accompanying drawings.

[0011] <First Embodiment> Figure 1 is an overall configuration diagram of the robot system according to the first embodiment. Figure 2 is a flowchart of the calibration process. Figure 3 is a diagram showing the state of the robot system at the start of calibration. Figure 4 is a diagram showing the image captured by the camera at the start of calibration. Figure 5 is a diagram showing the state of the robot system at the end of the first translation process. Figure 6 is a diagram showing the image captured by the camera at the end of the first translation process. Figure 7 is a flowchart showing the first translation process in detail. Figure 8 is a diagram showing the state of the robot system at the end of the first rotation process. Figure 9 is a diagram showing the image captured by the camera at the end of the first rotation process. Figure 10 is a diagram showing the state of the robot system at the end of the second translation process. Figure 11 is a diagram showing the image captured by the camera at the end of the second translation process. Figure 12 is a flowchart showing the second translation process in detail. Figure 13 is a diagram showing the state of the robot system at the end of the second rotation process. Figure 14 is a diagram showing the image captured by the camera at the end of the second rotation process. Figure 15 is a diagram showing the state of the robot system at the end of the third translation process. Figure 16 shows an image captured by the camera at the end of the third translation process. Figure 17 is a flowchart showing the third translation process in detail. Figure 18 shows an example of a task performed by the robot system.

[0012] The robot system 1 shown in Figure 1 comprises a robot 2, a camera 4, and a control device 5 that controls the movement of the robot 2 based on images captured by the camera 4. These components are capable of communicating via wired or wireless means. Communication may be conducted via a network such as the Internet.

[0013] -Robot 2- Robot 2 is a robot that performs tasks such as supplying, removing, transporting, and assembling precision equipment and its component parts. However, the application of Robot 2 is not particularly limited. Robot 2 is a 6-axis robot having 6 rotation axes, and has a base 21 fixed to the floor, ceiling, etc., and an arm 22 connected to the base 21.

[0014] The arm 22 includes a first arm 221 that is rotatably connected to the base 21 around a first rotation axis O1, a second arm 222 that is rotatably connected to the first arm 221 around a second rotation axis O2, a third arm 223 that is rotatably connected to the second arm 222 around a third rotation axis O3, a fourth arm 224 that is rotatably connected to the third arm 223 around a fourth rotation axis O4, a fifth arm 225 that is rotatably connected to the fourth arm 224 around a fifth rotation axis O5, and a sixth arm 226 that is rotatably connected to the fifth arm 225 around a sixth rotation axis O6.

[0015] Furthermore, a tool mounting surface 226a is provided at the tip of the sixth arm 226, and a tool 24 is mounted on this tool mounting surface 226a, and a camera 4 is mounted on this tool 24. The tool 24 can be appropriately selected according to the task to be performed by the robot 2, and in this embodiment, it is a hand having a pair of opening and closing claws. The tool 24 is also positioned perpendicular to the sixth rotation axis O6. The statement that the tool 24 is perpendicular to the sixth rotation axis O6 means that the perpendicular line passing through the tip position of the tool 24 to the tool mounting surface 226a is perpendicular to the sixth rotation axis O6. Here, "perpendicular" may include errors, and the same applies below.

[0016] Furthermore, in robot 2, a tool center point (hereinafter also referred to as "TCP") is set as a control point at the tip of the arm 22, specifically at the center of the tool mounting surface 226a. The position and orientation of TCP serve as the reference for the position and orientation of tool 24. However, the position of TCP is not particularly limited.

[0017] The coordinate system of robot 2 used to control robot 2 is a three-dimensional Cartesian coordinate system defined by mutually orthogonal X, Y, and Z axes. In this embodiment, the Cartesian coordinate system is set so that the Z axis is aligned with the vertical direction (first rotation axis O1). Hereinafter, such a coordinate system of robot 2 will also be referred to as the "robot coordinate system".

[0018] Furthermore, the robot 2 includes a first drive unit 251 that rotates the first arm 221 relative to the base 21, a second drive unit 252 that rotates the second arm 222 relative to the first arm 221, a third drive unit 253 that rotates the third arm 223 relative to the second arm 222, a fourth drive unit 254 that rotates the fourth arm 224 relative to the third arm 223, a fifth drive unit 255 that rotates the fifth arm 225 relative to the fourth arm 224, and a sixth drive unit 256 that rotates the sixth arm 226 relative to the fifth arm 225. Each of the first to sixth drive units 251 to 256 includes, for example, a motor, a controller that controls the motor's operation, and an encoder that detects the amount of rotation of the motor. The operation of the first to sixth drive units 251 to 256 is independently controlled by the control unit 5.

[0019] As in this embodiment, by using a 6-axis robot as robot 2, a robot 2 capable of complex movements and handling a wide range of tasks becomes available. However, robot 2 is not particularly limited; for example, the number of arms 22 may be 1 to 5 or 7 or more. Also, robot 2 may be, for example, a SCARA robot (horizontal articulated robot), a dual-arm robot having two arms 22, etc. Furthermore, robot 2 may be a self-propelled robot that is not fixed to the floor, ceiling, etc.

[0020] -Camera 4- Camera 4 is used to recognize the size, shape, and position of an object within a predetermined plane F perpendicular to the Z-axis. Camera 4 is a digital camera equipped with a lens 42, an area image sensor 41, and an AD converter (not shown), etc. Camera 4 is mounted on tool 24. Camera 4 is positioned offset from the sixth rotation axis O6, and its optical axis is perpendicular to the sixth rotation axis O6. However, the positioning of camera 4 and the orientation of its optical axis are not particularly limited.

[0021] Furthermore, the coordinate system of camera 4 is a three-dimensional Cartesian coordinate system defined by mutually orthogonal A, B, and C axes. In this embodiment, the Cartesian coordinate system is set up so that the A axis is along the horizontal direction of the image P captured by camera 4, the B axis is along the horizontal direction of image P and the direction perpendicular to the A axis, and the C axis is along the vertical direction of image P. Hereinafter, the coordinate system of image P captured by camera 4 will also be referred to as the "camera coordinate system".

[0022] In camera 4, the positional relationship between the area image sensor 41 and the lens 42 is determined such that the center Po of image P corresponds to the center of the optical system. That is, a point on the optical axis of lens 42 is captured at the center Po of image P. In the camera coordinate system, the coordinate system of a plane in real space perpendicular to the optical axis of lens 42 is a two-dimensional orthogonal coordinate system that is nonlinearly transformed according to the optical characteristics of lens 42 (focal length, distortion, etc.) and the number and size of pixels of area image sensor 41. Therefore, in order to recognize the size, shape, and position of an object in a predetermined plane F based on the image P captured by camera 4, and to control the drive of robot 2 based on the recognition result, a process to relate the camera coordinate system to the robot coordinate system, i.e., calibration, is necessary. Details of this calibration method will be described later.

[0023] -Control device 5- The control device 5 is housed inside the base 21 of the robot 2. The control device 5 detects the position and orientation of an object based on the image P captured by the camera 4, and controls the driving of the arm 22 and tool 24 based on the detection results. This allows the robot 2 to perform the desired task. The control device 5 is composed of, for example, a computer and has a processor that processes information, a memory that is communicatively connected to the processor, and an external interface. Various programs that can be executed by the processor are stored in the memory, and the processor reads and executes the various programs stored in the memory.

[0024] Although the configuration shown involves the control device 5 being housed inside the base 21 of the robot 2, this is not the only configuration. The control device 5 may be located outside the base 21 of the robot 2. In this case, the control device 5 and the robot 2 are electrically connected using cables or the like.

[0025] The configuration of robot system 1 has been described above. Next, the calibration between the robot coordinate system set on robot 2 and the camera coordinate system set on camera 4 will be described. Calibration between the robot coordinate system and the camera coordinate system is initiated when the operator inputs a calibration start command to the control device 5, and thereafter it is completed without requiring any operation from the operator, or with simple operation. It is desirable that the operator align the orientation of camera 4 with the orientation during the actual work and move TCP to a position where camera 4 can capture marker M before inputting the calibration start command. By moving TCP to a position where camera 4 can capture marker M in this way, the search for marker M becomes unnecessary, and calibration can be performed quickly and smoothly. The orientation of camera 4 during the actual work varies depending on the work content, but is generally along the Z axis. Therefore, in this embodiment as well, the optical axis of camera 4 is aligned with the Z axis. In other words, the optical axis of camera 4 is perpendicular to the predetermined plane F described later.

[0026] The calibration method between the robot coordinate system and the camera coordinate system (hereinafter also simply referred to as the "calibration method") includes, as shown in Figure 2, a first translation step S1, a first rotation step S2, a second translation step S3, a reference point derivation step S4, a second rotation step S5, a third translation step S6, a reference point derivation step S7, and a calibration step S8. Such a calibration method is performed using a marker M located on a predetermined plane F, as shown in Figure 1. The marker M is not particularly limited and may be, for example, an object placed on the predetermined plane F, a sticker attached to the predetermined plane F, or a mark printed, painted, etc., on the predetermined plane F.

[0027] In this embodiment, the predetermined plane F is an XY plane that passes through the origin of the robot coordinate system and is perpendicular to the Z axis, but the orientation and position of the predetermined plane F are not particularly limited. The following describes each step S1 to S8 of the calibration method in detail.

[0028] [First translation step S1] Figures 3 and 4 show the preparation state before receiving a calibration start instruction from the operator. When the control device 5 receives a calibration start instruction from the operator, it starts the first translation process S1. In this process S1, as shown in Figures 5 and 6, the control device 5 moves TCP so that the reference point Mo, which is the center of the marker M, is located at a predetermined position in the image P captured by the camera 4, in this embodiment, at the center Po of the image P. Hereafter, this state will also be referred to as the "first state". In this embodiment, the image P is synonymous with the "field of view of the camera 4".

[0029] Specifically, when a calibration start command is input, as shown in Figure 7, the control device 5 instructs the camera 4 to take an image and acquires image P1 from the camera 4. Next, the control device 5 detects the position of the reference point Mo in the camera coordinate system from the acquired image P1. A pre-prepared marker M template is used to detect the reference point Mo. In other words, the reference point Mo is detected by template matching. However, the method for detecting the position of the reference point Mo is not particularly limited. Next, the control device 5 translates TCP by a predetermined distance in the X-axis and Y-axis directions, respectively, and then instructs the camera 4 to take an image and acquires image P2 from the camera 4. Next, the control device 5 detects the position of the reference point Mo in the camera coordinate system from the acquired image P2.

[0030] Next, the control device 5 derives a coordinate transformation matrix that converts the displacement of the reference point Mo in the camera coordinate system to the displacement of the reference point Mo in the robot coordinate system, based on the coordinates of TCP in the robot coordinate system at the time of image P1 acquisition, the coordinates of the reference point Mo detected from image P1 in the camera coordinate system, the coordinates of TCP in the robot coordinate system at the time of image P2 acquisition, and the coordinates of the reference point Mo detected from image P2 in the camera coordinate system.

[0031] Next, the control device 5 derives the displacement of the reference point Mo relative to the center Po of image P based on image P2, and converts the derived displacement into displacements in the X-axis and Y-axis directions of the robot coordinate system using a coordinate transformation matrix. Then, the control device 5 derives target values ​​for TCP (amount of movement in the X-axis direction and amount of movement in the Y-axis direction) to position the reference point Mo at the center Po of image P. Next, the control device 5 moves the arm 22 based on the derived target values. As a result, TCP is translated in the X-axis direction and the Y-axis direction, respectively, and the reference point Mo is positioned at the center Po of image P.

[0032] Here, the center Po of image P is located on the optical axis of lens 42, and is therefore less affected by the distortion of lens 42 than other parts. Therefore, by setting the predetermined position of image P as the center Po, a more accurate coordinate transformation matrix can be derived. This enables more precise calibration. However, the predetermined position of image P is not limited to the center Po; it may be a position spaced away from the center Po.

[0033] Furthermore, there are no particular limitations on the method for moving the reference point Mo to the center Po of image P. For example, multiple images P may be captured during the process of moving the reference point Mo to the center Po, and feedback control may be performed based on the multiple captured images P so that the reference point Mo is positioned at the center Po of image P. Specifically, the control device 5 first acquires image P from camera 4, derives a target value so that the reference point Mo moves to the center Po of image P, and operates TCP based on the derived target value. Next, the control device 5 acquires image P from camera 4, derives the distance between the center Po of image P and the reference point Mo, and determines whether the distance between the center Po and the reference point Mo is less than a predetermined threshold. If the distance between the center Po and the reference point Mo is not less than the threshold, the control device 5 repeatedly derives a target value and operates TCP so that the reference point Mo moves to the center Po until the distance between the center Po and the reference point Mo is less than the threshold. Even by such a method, the reference point Mo can be moved to the center Po of image P accurately and easily.

[0034] [First rotation process S2] In the first rotation process S2, the control device 5 moves the arm 22 of the robot 2, as shown in Figures 8 and 9, to rotate the camera 4 by a first rotation angle θ1 around a first virtual axis Ja that is orthogonal to a predetermined plane F and passes through TCP. In other words, the camera 4 is rotated by a first rotation angle θ1 around the Z axis with TCP as the center of rotation. Hereafter, the state after rotation will also be referred to as the "second state".

[0035] In this process, camera 4 traces a trajectory of an arc centered on the first virtual axis Ja. The radius r1 of the arc is equal to the distance from the first virtual axis Ja to camera 4 (the distance from TCP to the optical axis of camera 4), and the central angle of the arc is equal to the first rotation angle θ1.

[0036] The first rotation angle θ1 (where 0 < θ1 < 360) can be small, preferably 45° or less, more preferably 30° or less, and even more preferably 15° or less. In particular, in this embodiment, the first rotation angle θ1 = 5°. By setting the first rotation angle θ1 to a relatively small angle, the amount of movement of the camera 4 when transitioning from the first state to the second state is suppressed, and the marker M can be kept within the image P even in the second state. As a result, the next second translation step S3 can be easily performed. In addition, since the first rotation step S2 can be completed in a short time, the time required for calibration can also be shortened. The first rotation angle θ1 is not particularly limited as long as the marker M can be kept within the image P even in the second state.

[0037] [Second translation process S3] In the second translation process S3, the control device 5 moves TCP so that the reference point Mo is located at the center Po of the image P captured by the camera 4, as shown in Figures 10 and 11. Hereafter, this state will also be referred to as the "third state".

[0038] Specifically, after completing the first rotation process S2, as shown in Figure 12, the control device 5 instructs the camera 4 to take an image and acquires image P3 from the camera 4. Next, based on the acquired image P3, the control device 5 derives the displacement of the reference point Mo relative to the center Po of image P. Next, the control device 5 converts the derived displacement into displacements in the X-axis and Y-axis directions of the robot coordinate system using the coordinate transformation matrix derived in the first translation process S1. Then, the control device 5 derives target values ​​for TCP to position the reference point Mo at the center Po of image P. Next, the control device 5 moves the arm 22 based on the derived target values. As a result, TCP is translated in the X-axis and Y-axis directions, respectively, and the reference point Mo is positioned at the center Po of image P.

[0039] However, the method for positioning the reference point Mo at the center Po of image P is not particularly limited. For example, multiple images P may be captured during the process of moving the reference point Mo to the center Po, and feedback control may be used based on the captured multiple images P to position the reference point Mo at the center Po of image P. The feedback control is the same as the method described in the first translation step S1, so a detailed explanation will be omitted.

[0040] [Reference point derivation step S4] In the reference point derivation process S4, the reference point Q, which is the provisional position of the reference point Mo, is determined based on the information of the first state, the information of the third state, and the first rotation angle θ1. Specifically, for the first state and the third state, the control device 5 sets up a system of equations in which the coordinates (X,Y) of TCP in the robot coordinate system are expressed in terms of the coordinates (X,Y) of the reference point Mo in the robot coordinate system, the first rotation angle θ1, and the radius r1. Next, the control device 5 solves this system of equations to derive the coordinates (X,Y) of the reference point Mo in the robot coordinate system. The coordinates (X,Y) of the reference point Mo derived in this way are the provisional position of the reference point Mo, and will be referred to as "reference point Q" below. By deriving the reference point Q, which is the provisional position of the reference point Mo, the subsequent processes can be carried out smoothly.

[0041] Here, the larger the first rotation angle θ1 (closer to 180°), the greater the difference between the first state and the second state, and consequently, the higher the accuracy of deriving the reference point Q. However, as mentioned above, since the reference point Q is a temporary position of the reference point Mo, high derivation accuracy is not necessary. Therefore, in the first rotation process S2 described above, priority is given to keeping the marker M within the image P rather than the derivation accuracy of the reference point Q, and the first angle θ1 is set to a small value. In this embodiment, the first rotation angle θ1 is set to 5°.

[0042] [Second rotation process S5] In the second rotation process S5, the control device 5 moves the arm 22 of the robot 2, as shown in Figures 13 and 14, to rotate the camera 4 by a second rotation angle θ2 around a second virtual axis Jb that is orthogonal to the predetermined plane F and passes through the reference point Q. In other words, the camera 4 is rotated by a second rotation angle θ2 around the Z axis with the reference point Q as the center of rotation. Hereafter, this state will also be referred to as the "fourth state". Figures 13 and 14 show diagrams where the reference point Mo and the reference point Q coincide, but since the reference point Q is a provisional position of the reference point Mo, it may be misaligned depending on the derivation accuracy.

[0043] In this process, camera 4 traces a trajectory of a circular arc centered on the second virtual axis Jb. The radius r2 of the arc is equal to the distance from the second virtual axis Jb to camera 4 (the distance from the second virtual axis Jb to the optical axis of camera 4), and the central angle of the arc is equal to the second rotation angle θ2.

[0044] The second rotation angle θ2 (where 0 < θ2 < 360°) is not particularly limited, but it is preferable that it is larger than the first rotation angle θ1 mentioned above. Here, "larger" means that the difference from 180° is small. In other words, it is preferable that |180°-θ1| > |180°-θ2|. Specifically, it is preferable that 60° ≤ θ2 ≤ 300°, more preferably 120° ≤ θ2 ≤ 240°, and even more preferably 170° ≤ θ2 ≤ 190°. In particular, in this embodiment, the second rotation angle θ2 = 180°. This increases the difference between the first state and the fifth state described later, and as a result, the position of the reference point Mo can be derived with greater accuracy in the subsequent reference point derivation step S7.

[0045] In the fourth state, the reference point Q is located near the center Po of image P. Therefore, in step S5, the camera 4 rotates around the Z axis with the center Po of image P as the rotation center. Consequently, even if the second rotation angle θ2 is increased, the marker M can be kept within image P. This makes the subsequent third translation step S6 easier to perform. Furthermore, the larger the second rotation angle θ2, the greater the difference between the fourth state and the fifth state, allowing the reference point Mo to be derived with greater accuracy in the subsequent reference point derivation step S7.

[0046] [Third translation step S6] In the third translation process S6, the control device 5 moves the arm 22 of the robot 2 to move TCP so that the reference point Mo is located at the center Po of the image P of the camera 4, as shown in Figures 15 and 16. Hereafter, this state will also be referred to as the "fifth state".

[0047] Specifically, after completing the second rotation process S5, as shown in Figure 17, the control device 5 instructs the camera 4 to take an image and acquires an image P4 from the camera 4. Next, based on the acquired image P4, the control device 5 derives the displacement of the reference point Mo relative to the center Po of the image P. Next, the control device 5 converts the derived displacement into displacements in the X-axis and Y-axis directions of the robot coordinate system using the coordinate transformation matrix derived in the first translation process S1. Then, the control device 5 derives target values ​​for TCP to position the reference point Mo at the center Po of the image P. Next, the control device 5 moves the arm 22 based on the derived target values. As a result, TCP is translated in the X-axis and Y-axis directions, respectively, and the reference point Mo is positioned at the center Po of the image P.

[0048] However, the method for positioning the reference point Mo at the center Po of image P is not particularly limited. For example, multiple images P may be captured during the process of moving the reference point Mo to the center Po, and feedback control may be used based on the multiple captured images P to position the reference point Mo at the center Po of image P. The feedback control is the same as the method described in the first translation step S1, so a detailed explanation is omitted here.

[0049] Depending on the accuracy of the derivation of the reference point Q, the reference point Mo may coincide with the center Po, and even after the second rotation process S5, the reference point Mo may not deviate from the center Po. In such cases, it is not necessary to translate TCP in the X-axis and Y-axis directions.

[0050] [Reference point derivation process S7] In the reference point derivation process S7, the position of the reference point Mo is determined based on information about the first state, information about the fifth state, and the total rotation angle θt from the first state to the fifth state, that is, the sum of the first rotation angle θ1 and the second rotation angle θ2. Specifically, for the third and fifth states, the control device 5 sets up a system of equations in which the coordinates (X,Y) of TCP in the robot coordinate system are expressed in terms of the coordinates (X,Y) of the reference point Mo in the robot coordinate system, the total rotation angle θt, and the radius of the arc r2. Next, the control device 5 solves this system of equations to derive the coordinates (X,Y) of the reference point Mo in the robot coordinate system.

[0051] As mentioned above, since the second rotation angle θ2 is set to be larger than the first rotation angle θ1, the position of the reference point Mo can be derived with greater accuracy in this step S7 than in the reference point derivation step S4.

[0052] In the above explanation, the position of the reference point Mo is determined based on information about the first state, information about the fifth state, and the total rotation angle θt, but this is not the only method. For example, in the reference point derivation step S7, the position of the reference point Mo may be determined based on information about the third state, information about the fifth state, and the second rotation angle θ2.

[0053] [Calibration process S8] In calibration step S8, calibration is performed between the robot coordinate system and the image coordinate system based on the position of the reference point Mo derived in reference point derivation step S7 in the robot coordinate system.

[0054] With the above steps, the calibration between the robot coordinate system and the image coordinate system is completed. Using this calibration method, the calibration between the robot coordinate system and the camera coordinate system can be performed automatically simply by moving TCP to a position where marker M can be imaged by camera 4. Therefore, calibration between the robot coordinate system and the camera coordinate system can be easily and quickly performed. Furthermore, this calibration method has the advantage that calibration between the robot coordinate system and the camera coordinate system can be performed even if, for example, the relative positional relationship between TCP and camera 4 is unknown.

[0055] Furthermore, since calibration is performed by a combination of translational movements (first, second, and third translational processes S1, S3, and S6) and rotational movements (first and second rotational processes S2 and S5), the movement of robot 2 during calibration is simple. Because the movement of robot 2 is simple in this way, calibration between the robot coordinate system and the camera coordinate system can be performed quickly and accurately. Moreover, since the rotational movement is rotation around the Z axis, even in a configuration where the optical axis of camera 4 is orthogonal to the sixth rotation axis O6, as in this embodiment, the marker M can be kept within the image P, and calibration between the robot coordinate system and the camera coordinate system can be performed, which is an advantage.

[0056] Next, as an example of the work performed by the robot system 1, we will describe the task of transporting workpieces W piled on a table T to a destination, as shown in Figure 18. First, the control device 5 moves TCP so that the camera 4 can image the workpieces W piled on the table T. In this state, the optical axis of camera 4 is aligned with the Z axis. Next, the control device 5 instructs camera 4 to take an image and acquires an image P from camera 4 that includes at least one workpiece W. Next, the control device 5 extracts at least one workpiece W from the acquired image P and detects the position and orientation of the extracted workpiece, for example, by template matching. Next, the control device 5 derives the position and orientation of TCP that TCP should take in order to grasp the extracted workpiece W with tool 24, and moves robot 2 so that TCP is in the position and orientation derived. Next, the control device 5 moves tool 24 to grasp the workpiece W. Next, the control device 5 moves robot 2 to transport the workpiece W to the destination.

[0057] The robot system 1 has been described above. The calibration method performed by such a robot system 1 is a calibration method for the robot coordinate system, which is the coordinate system of the robot 2 equipped with the arm 22, and the camera coordinate system, which is the coordinate system of the camera 4 attached to the arm 22, and comprises: a first translation step S1, which is the step of moving the robot 2 to a first state in which a reference point Mo located on a predetermined plane F is located at the center Po, which is a predetermined position of the image P of the camera 4; a first rotation step S2, which is the step of moving the robot 2 to a second state in which the camera 4 is rotated by a first rotation angle θ1 around a first virtual axis Ja that is orthogonal to the predetermined plane F and passes through a control point TCP set on the arm 22; a second translation step S3, which is the step of moving the robot 2 to a third state in which the reference point Mo is located at the center Po, which is the center of the image P of the camera 4; and information of the first state and information of the third state. The system includes: a reference point derivation step S4, which derives a reference point Q, which is the provisional position of the reference point Mo, based on the information and the first rotation angle θ1; a second rotation step S5, which moves the robot 2 to a fourth state in which the camera 4 is rotated by a second rotation angle θ2 around a second virtual axis Jb that is orthogonal to a predetermined plane F and passes through the reference point Q; a third translation step S6, which moves the robot 2 to a fifth state in which the reference point Mo is located at the center Po of the image P of the camera 4; a reference point derivation step S7, which derives the position of the reference point Mo from the information of the first state, the information of the fifth state, the first rotation angle θ1 and the second rotation angle θ2, or the information of the third state, the information of the fifth state and the second rotation angle θ2; and a calibration step S8, which performs calibration between the robot coordinate system and the camera coordinate system based on the derived position of the reference point Mo.

[0058] With this calibration method, simply moving TCP to a position where camera 4 can image marker M allows for automatic calibration between the robot coordinate system and the camera coordinate system. Therefore, calibration between the robot coordinate system and the camera coordinate system can be performed easily and quickly. Furthermore, this calibration method has the advantage that calibration between the robot coordinate system and the camera coordinate system can be performed even if, for example, the relative positional relationship between TCP and camera 4 is unknown.

[0059] Furthermore, since calibration is performed by a combination of translational movements (first, second, and third translational processes S1, S3, and S6) and rotational movements (first and second rotational processes S2 and S5), the movement of robot 2 during calibration is simple. Because the movement of robot 2 is simple in this way, calibration between the robot coordinate system and the camera coordinate system can be performed quickly and accurately. Moreover, since the rotational movement is rotation around the Z axis, even in a configuration where the optical axis of camera 4 is orthogonal to the sixth rotation axis O6, as in this embodiment, the marker M can be kept within the image P, and calibration between the robot coordinate system and the camera coordinate system can be performed, which is an advantage.

[0060] Furthermore, as mentioned above, in the first state, the optical axis of camera 4 is perpendicular to the predetermined plane F. This allows the orientation of camera 4 to be matched to the actual work, and calibration between the robot coordinate system and the camera coordinate system can be performed under the same conditions as the actual work. As a result, the actual work can be performed with greater precision.

[0061] Furthermore, as mentioned above, the second rotation angle θ2 is greater than the first rotation angle θ1. This allows the position of the reference point Mo to be derived with greater accuracy in the reference point derivation step S7 than in the reference point derivation step S4.

[0062] Furthermore, as mentioned above, the predetermined position is the center Po of image P. Since the center Po of image P is located on the optical axis of lens 42, it is less affected by the distortion of lens 42 than other parts. Therefore, by setting the predetermined position to the center Po of image P, a more accurate coordinate transformation matrix can be derived. As a result, more precise calibration becomes possible.

[0063] Furthermore, as mentioned above, in the second state, the reference point Mo is located within the image P of camera 4. This allows the next second translation process S3 to be performed easily.

[0064] Furthermore, as mentioned above, in the fourth state, the reference point Mo is located within the image P of the camera 4. This allows the next third translation step S6 to be performed easily.

[0065] As mentioned above, the robot system 1 includes a robot 2 equipped with an arm 22, a camera 4 attached to the arm 22, and a control device 5 that controls the movement of the robot 2. The control device 5 performs the following steps to calibrate the robot coordinate system, which is the coordinate system of the robot 2, and the camera coordinate system, which is the coordinate system of the camera 4: a first translation step S1, which moves the robot 2 to a first state in which a reference point Mo located on a predetermined plane F is located at the center Po, which is a predetermined position in the image P of the camera 4; a first rotation step S2, which moves the robot 2 to a second state in which the camera 4 is rotated by a first rotation angle θ1 around a first virtual axis Ja that is orthogonal to the predetermined plane F and passes through a control point TCP set on the arm 22; a second translation step S3, which moves the robot 2 to a third state in which the reference point Mo is located at the center Po, which is the center of the image P of the camera 4; and a provisional calibration of the reference point Mo based on the information of the first state, the information of the third state, and the first rotation angle θ1. The following steps are performed: a reference point derivation step S4, which is the process of deriving a reference point Q, which is the position of the reference point; a second rotation step S5, which is the process of moving the robot 2 to a fourth state in which the camera 4 is rotated by a second rotation angle θ2 around a second virtual axis Jb that is orthogonal to a predetermined plane F and passes through the reference point Q; a third translation step S6, which is the process of moving the robot 2 to a fifth state in which the reference point Mo is located at the center Po of the image P of the camera 4; a reference point derivation step S7, which is the process of deriving the position of the reference point Mo from the information of the first state, the information of the fifth state, the first rotation angle θ1 and the second rotation angle θ2, or the information of the third state, the information of the fifth state and the second rotation angle θ2; and a calibration step S8, which is the process of calibrating the robot coordinate system and the camera coordinate system based on the derived position of the reference point Mo.

[0066] With this robot system 1, simply moving TCP to a position where camera 4 can image marker M allows for automatic calibration of the robot coordinate system and the camera coordinate system. Therefore, calibration of the robot coordinate system and the camera coordinate system can be performed easily and quickly. Furthermore, this calibration method has the advantage that calibration of the robot coordinate system and the camera coordinate system can be performed even if, for example, the relative positional relationship between TCP and camera 4 is unknown.

[0067] Furthermore, since calibration is performed by a combination of translational movements (first, second, and third translational processes S1, S3, and S6) and rotational movements (first and second rotational processes S2 and S5), the movement of robot 2 during calibration is simple. Because the movement of robot 2 is simple in this way, calibration between the robot coordinate system and the camera coordinate system can be performed quickly and accurately. Moreover, since the rotational movement is rotation around the Z axis, even in a configuration where the optical axis of camera 4 is orthogonal to the sixth rotation axis O6, as in this embodiment, the marker M can be kept within the image P, and calibration between the robot coordinate system and the camera coordinate system can be performed, which is an advantage.

[0068] The above description explains a calibration method that includes a second translation step S3, a reference point derivation step S4, and a second rotation step S5, but it is not limited to this. A calibration method consisting of a first translation step S1, a first rotation step S2, a third translation step S6, a reference point derivation step S7, and a calibration step S8 may also be used.

[0069] In other words, the calibration method performed by the robot system 1 is a calibration method for a robot coordinate system, which is the coordinate system of a robot 2 equipped with an arm 22, and a camera coordinate system, which is the coordinate system of a camera 4 attached to the arm 22, and may include: a first translation step S1, which is the step of moving the robot 2 to a first state in which a reference point Mo located on a predetermined plane F is located at the center Po, which is a predetermined position in the image P of the camera 4; a first rotation step S2, which is the step of moving the robot 2 to a fourth state in which the camera 4 is rotated by a first rotation angle θ1 around a first virtual axis Ja that is orthogonal to the predetermined plane F and passes through a control point TCP set on the arm 22; a third translation step S6, which is the step of moving the robot 2 to a fifth state in which the reference point Mo is located at the center Po, which is the center in the image P of the camera 4; a reference point derivation step S7, which is the step of deriving the position of the reference point Mo from the information of the first state, the information of the fifth state, and the first rotation angle θ1; and a calibration step S8, which is the step of performing calibration between the robot coordinate system and the camera coordinate system based on the derived position of the reference point Mo. The same effects as in this embodiment can be achieved by such a method as well.

[0070] In this case, the first rotation angle θ1 is preferably 60°≦θ1≦300°, more preferably 120°≦θ1≦240°, and even more preferably 170°≦θ1≦190°. This increases the difference between the first state and the fifth state, which in turn allows for more accurate deriving of the position of the reference point Mo in the subsequent reference point derivation step S7.

[0071] Furthermore, although the above description assumes that the optical axis of camera 4 is perpendicular to the predetermined plane F, this is not the only example. The optical axis of camera 4 may be inclined with respect to the perpendicular to the predetermined plane F. In this case as well, the same effect can be achieved by performing the calibration method described above.

[0072] <Second Embodiment> Figure 19 is an overall configuration diagram of the robot system according to the second embodiment.

[0073] The robot system 1 of this embodiment is the same as the robot system 1 of the first embodiment described above, except that the orientation of the tool 24 and camera 4 attached to the arm 22 is different. In the following description, this embodiment will be described mainly in terms of the differences from the previously described embodiment, and similar matters will not be described. Also, in the figures of this embodiment, the same reference numerals are used for components that are the same as those in the previously described embodiment.

[0074] As shown in Figure 19, in the robot system 1 of this embodiment, the tool 24 and the camera 4 are positioned along the sixth rotation axis O6, respectively. Furthermore, the tool 24 and the camera 4 are positioned offset from the sixth rotation axis O6 and located on both sides of the sixth rotation axis O6. When the tool 24 is positioned along the sixth rotation axis O6, it means that the perpendicular line passing through the tip position of the tool 24 to the tool mounting surface 226a is parallel to the sixth rotation axis O6. When the camera 4 is positioned along the sixth rotation axis O6, it means that the optical axis of the camera 4 is parallel to the sixth rotation axis O6.

[0075] This second embodiment can also achieve the same effects as the first embodiment by performing the same calibration method as described above for the first embodiment.

[0076] <Third Embodiment> Figure 20 is a flowchart showing the calibration method performed by the robot system according to the third embodiment. Figure 21 shows the state of the robot system at the end of the first translation process. Figure 22 shows an image captured by the camera at the end of the first translation process. Figure 23 shows the state of the robot system at the end of the first rotation process. Figure 24 shows an image captured by the camera at the end of the first rotation process. Figure 25 shows the state of the robot system at the end of the second translation process. Figure 26 shows an image captured by the camera at the end of the second translation process.

[0077] The robot system 1 of this embodiment is the same as the robot system 1 of the first embodiment described above, except that the calibration method is different. In the following description, this embodiment will be described mainly in terms of the differences from the previously described embodiment, and similar matters will not be described. Also, in each figure of this embodiment, the same reference numerals are used for components that are the same as those in the previously described embodiment.

[0078] As shown in Figure 20, the calibration method of this embodiment includes a first translation step S9, a reference point derivation step S10, a first rotation step S11, a second translation step S12, a reference point derivation step S13, and a calibration step S14.

[0079] [First translation step S9] When the control device 5 receives a calibration start instruction from the operator, it starts the first translation process S9. In this process S9, as shown in Figures 21 and 22, the control device 5 moves TCP so that the reference point Mo, which is the center of the marker M, is located at a predetermined position in the image P captured by the camera 4, in this embodiment, at the center Po of the image P. Hereafter, this state will also be referred to as the "sixth state".

[0080] [Reference point derivation step S10] In the reference point derivation process S10, a reference point Q, which is the temporary position of the reference point Mo, is determined. The method for determining the reference point Q is not particularly limited. For example, the operator may input the position information of the reference point Q in advance, and the reference point Q may be determined based on that position information. Alternatively, the reference point Q may be determined by a touch-up operation in which the tool 24 is brought into contact with the marker M.

[0081] [First rotation process S11] In the first rotation process S11, the control device 5 moves the arm 22 of the robot 2, as shown in Figures 23 and 24, to rotate the camera 4 by a third rotation angle θ3 around a third virtual axis Jc that is orthogonal to a predetermined plane F and passes through a reference point Q. In other words, the camera 4 is rotated by a third rotation angle θ3 around the Z axis with the reference point Q as the center of rotation. Hereafter, this state will also be referred to as the "seventh state".

[0082] The third rotation angle θ3 (where 0 < θ3 < 360°) is not particularly limited, but for example, it is preferably 60° ≤ θ3 ≤ 300°, more preferably 120° ≤ θ3 ≤ 240°, and even more preferably 170° ≤ θ3 ≤ 190°. In particular, in this embodiment, the third rotation angle θ3 = 180°. This increases the difference between the sixth state and the eighth state described later, and as a result, the position of the reference point Mo can be derived with greater accuracy in the subsequent reference point derivation step S13.

[0083] [Second translation step S12] In the second translation process S12, the control device 5 moves the robot 2 TCP so that the reference point Q is located at the center Po of the image P of the camera 4, as shown in Figures 25 and 26. Hereafter, this state will also be referred to as the "eighth state".

[0084] [Reference point derivation process S13] In the reference point derivation process S13, the position of the reference point Mo is determined based on the information of the sixth state, the information of the eighth state, and the third rotation angle θ3.

[0085] [Calibration process S14] In calibration step S14, calibration is performed between the robot coordinate system and the image coordinate system based on the position of the reference point Mo derived in reference point derivation step S13 in the robot coordinate system.

[0086] With the above steps, the calibration between the robot coordinate system and the image coordinate system is completed. This calibration method allows for automatic calibration between the robot coordinate system and the camera coordinate system. Therefore, calibration between the robot coordinate system and the camera coordinate system can be performed easily and quickly. Furthermore, this calibration method has the advantage that it can perform calibration between the robot coordinate system and the camera coordinate system even if, for example, the relative positional relationship between TCP and camera 4 is unknown.

[0087] Furthermore, since calibration is performed by a combination of translational and rotational motion, the movement of robot 2 during calibration is simple. Because the movement of robot 2 is simple in this way, calibration between the robot coordinate system and the camera coordinate system can be performed quickly and accurately. Moreover, since the rotational motion is rotation around the Z axis, even in a configuration where the optical axis of camera 4 is orthogonal to the sixth rotation axis O6, as in this embodiment, the marker M can be kept within image P, and calibration between the robot coordinate system and the camera coordinate system can be performed, which is an advantage.

[0088] As described above, the calibration method of this embodiment is a calibration method for a robot coordinate system, which is the coordinate system of a robot 2 equipped with an arm 22, and a camera coordinate system, which is the coordinate system of a camera 4 attached to the arm 22, comprising: a first translation step S9, which is the step of moving the robot 2 so that a reference point Mo located on a predetermined plane F is located at the center Po, which is a predetermined position of the image P of the camera 4, to reach a sixth state; a reference point derivation step S10, which is the step of deriving a reference point Q, which is a temporary position of the reference point Mo; and a step of moving the robot 2 so that the reference point Q is perpendicular to the predetermined plane F. The process includes: a first rotation step S11, which is the process of rotating camera 4 by a third rotation angle θ3 around a third virtual axis Jc through which it passes to reach a seventh state; a second translation step S12, which is the process of moving robot 2 to reach an eighth state where the reference point Mo is located at the center Po of image P of camera 4; a reference point derivation step S13, which is the process of deriving the position of reference point Mo from information of the sixth state, information of the eighth state, and the third rotation angle θ3; and a calibration step S14, which is the process of calibrating the robot coordinate system and the camera coordinate system based on the derived position of reference point Mo.

[0089] This calibration method allows for automatic calibration of the robot coordinate system and the camera coordinate system. Therefore, calibration between the robot coordinate system and the camera coordinate system can be performed easily and quickly. Furthermore, this calibration method has the advantage that it can perform calibration between the robot coordinate system and the camera coordinate system even if, for example, the relative positional relationship between TCP and camera 4 is unknown.

[0090] Furthermore, since calibration is performed by a combination of translational and rotational motion, the movement of robot 2 during calibration is simple. Because the movement of robot 2 is simple in this way, calibration between the robot coordinate system and the camera coordinate system can be performed quickly and accurately. Moreover, since the rotational motion is rotation around the Z axis, even in a configuration where the optical axis of camera 4 is orthogonal to the sixth rotation axis O6, as in this embodiment, the marker M can be kept within image P, and calibration between the robot coordinate system and the camera coordinate system can be performed, which is an advantage.

[0091] This third embodiment can also achieve the same effects as the first embodiment described above.

[0092] Although the calibration method and robot system of the present invention have been described above based on the illustrated embodiments, the present invention is not limited thereto, and the configuration of each part can be replaced with any configuration having a similar function. Furthermore, any other components may be added to the present invention. [Explanation of Symbols]

[0093] 1...Robot system, 2...Robot, 21...Base, 22...Arm, 221...First arm, 222...Second arm, 223...Third arm, 224...Fourth arm, 225...Fifth arm, 226...Sixth arm, 226a...Tool mounting surface, 24...Tool, 251...First drive unit, 252...Second drive unit, 253...Third drive unit, 254...Fourth drive unit, 255...Fifth drive unit, 256...Sixth drive unit, 4...Camera, 41...Area image sensor, 42...Lens, 5...Control device, F...Predetermined plane, Ja...First virtual axis, Jb...Second virtual axis, Jc...Third virtual axis, M...Marker, Mo...Reference point, O1...First rotation axis, O2...Second rotation axis, O3... O4…4th rotation axis, O5…5th rotation axis, O6…6th rotation axis, P…Image, P1…Image, P2…Image, P3…Image, P4…Image, Po…Center, Q…Reference point, S1…First translation process, S2…First rotation process, S3…Third translation process, S4…Reference point derivation process, S5…Second rotation process, S6…Third translation process, S7…Reference point derivation process, S8…Calibration process, S9…First translation process, S10…Reference point derivation process, S11…First rotation process, S12…Second translation process, S13…Reference point derivation process, S14…Calibration process, T…Table, W…Workpiece, θ1…First rotation angle, θ2…Second rotation angle, θ3…Third rotation angle, θt…Total rotation angle

Claims

1. A method for calibrating a robot coordinate system, which is the coordinate system of a robot equipped with an arm, and a camera coordinate system, which is the coordinate system of a camera attached to the arm, A step of moving the robot to a first state in which a reference point located on a predetermined plane is located at a predetermined position in the image of the camera, A step of moving the robot to a second state in which the camera is rotated by a first rotation angle around a first virtual axis that is perpendicular to the predetermined plane and passes through a control point set on the arm, A step of moving the robot to a third state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving a reference point, which is a provisional position of the reference point, based on the information of the first state, the information of the third state, and the first rotation angle, A step of moving the robot to a fourth state in which the camera is rotated by a second rotation angle around a second virtual axis that is perpendicular to the predetermined plane and passes through the reference point, A step of moving the robot to a fifth state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving the position of the reference point from the information of the first state, the information of the fifth state, the first rotation angle and the second rotation angle, or the information of the third state, the information of the fifth state and the second rotation angle, A calibration method characterized by performing the steps of: calibrating the robot coordinate system and the camera coordinate system based on the derived position of the reference point.

2. The calibration method according to claim 1, wherein in the first state, the optical axis of the camera is perpendicular to the predetermined plane.

3. The calibration method according to claim 1, wherein the second rotation angle is greater than the first rotation angle.

4. The calibration method according to claim 1, wherein the predetermined position is the center of the image.

5. The calibration method according to claim 1, wherein in the second state, the reference point is located within the image of the camera.

6. The calibration method according to claim 1, wherein in the fourth state, the reference point is located within the image of the camera.

7. A robot equipped with an arm, The camera attached to the aforementioned arm, The robot has a control device that controls the drive of the robot, The control device performs calibration of the robot coordinate system, which is the coordinate system of the robot, and the camera coordinate system, which is the coordinate system of the camera. A step of moving the robot to a first state in which a reference point located on a predetermined plane is located at a predetermined position in the image of the camera, A step of moving the robot to a second state in which the camera is rotated by a first rotation angle around a first virtual axis that is perpendicular to the predetermined plane and passes through a control point set on the arm, A step of moving the robot to a third state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving a reference point, which is a provisional position of the reference point, based on the information of the first state, the information of the third state, and the first rotation angle, A step of moving the robot to a fourth state in which the camera is rotated by a second rotation angle around a second virtual axis that is perpendicular to the predetermined plane and passes through the reference point, A step of moving the robot to a fifth state in which the reference point is positioned at the predetermined position in the image of the camera, A step of deriving the position of the reference point from the information of the first state, the information of the fifth state, the first rotation angle and the second rotation angle, or the information of the third state, the information of the fifth state and the second rotation angle, A robot system characterized by performing the steps of: calibrating the robot coordinate system and the camera coordinate system based on the derived position of the reference point.

Citation Information

Patent Citations

  • Robot hand-eye calibration method and device

    CN104354167A

  • Setting method for coordinate system of robot with visual sensor

    JP1994190756A

  • Method for deriving and calibrating tool parameter of robot

    JP1996085083A

  • Measuring device

    JP2005201824A

  • Measuring apparatus and method of its calibration

    JP2008012604A