WO2022254613A1 - カメラの位置ずれ補正方法およびロボット装置 - Google Patents

カメラの位置ずれ補正方法およびロボット装置 Download PDF

Info

Publication number
WO2022254613A1
WO2022254613A1 PCT/JP2021/021013 JP2021021013W WO2022254613A1 WO 2022254613 A1 WO2022254613 A1 WO 2022254613A1 JP 2021021013 W JP2021021013 W JP 2021021013W WO 2022254613 A1 WO2022254613 A1 WO 2022254613A1
Authority
WO
WIPO (PCT)
Prior art keywords
camera
arm
mark member
coordinate system
positional deviation
Prior art date
Application number
PCT/JP2021/021013
Other languages
English (en)
French (fr)
Inventor
智紀 川▲崎▼
Original Assignee
株式会社Fuji
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Fuji filed Critical 株式会社Fuji
Priority to PCT/JP2021/021013 priority Critical patent/WO2022254613A1/ja
Priority to JP2023525243A priority patent/JPWO2022254613A1/ja
Publication of WO2022254613A1 publication Critical patent/WO2022254613A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices

Definitions

  • This specification discloses a camera misalignment correction method and a robot device.
  • a robot having a robot arm and a robot camera and an external camera installed separately from the robot are provided, and the calibration pattern is captured by the pre-calibrated robot camera and the calibration pattern by the external camera.
  • a robot system has been proposed that obtains calibration data for an external camera by using a digital camera (see, for example, Patent Document 1).
  • calibration patterns are captured by the robot camera and an external camera to acquire pattern images, respectively, and calibration data for the external camera is obtained based on the acquired pattern images and known calibration data for the robot camera. .
  • the main purpose of the present disclosure is to appropriately correct the positional deviation of the camera attached to the arm of the robot by a simple method.
  • a camera positional deviation correction method of the present disclosure is a camera positional deviation correction method for correcting the positional deviation of the camera with respect to the arm in a robot apparatus having an arm and a camera attached to the arm.
  • the position of the mark member in the base coordinate system is determined based on the captured image obtained by controlling the arm and the camera so that the camera captures an image of the mark member, and the determined position of the mark member is used as a reference position in advance.
  • the arm and the camera are controlled so that the camera picks up an image of the mark member with the first position above the mark member as the imaging position.
  • the arm and the camera are arranged so that the image of the mark member is captured by the camera at a second position horizontally offset in a predetermined direction from the first position. and obtaining the position of the mark member in the base coordinate system based on the captured image obtained by controlling the position in the rotation direction of the camera with respect to the arm so that the obtained position of the mark member coincides with the reference position
  • the gist is to perform a second correction process for correcting the relationship.
  • the position of the mark member in the base coordinate system is determined based on the captured image obtained by controlling the arm and the camera so that the camera captures an image of one mark member.
  • the position of the mark member is stored in advance as a reference position.
  • the positional deviation correction method when positional deviation correction is requested, the positional deviation of the camera with respect to the arm is corrected by executing the first correction process and the second correction process.
  • the first correction process controls the arm and the camera so that the camera captures an image of the mark member with the first position above the mark member as the imaging position.
  • the position of the mark member in the base coordinate system is obtained based on the captured image, and the horizontal positional relationship of the camera with respect to the arm is corrected so that the position of the mark member coincides with the reference position.
  • the arm and the camera are controlled so that the camera captures an image of the mark member at a second position that is horizontally offset in a predetermined direction from the first position.
  • the position of the mark member in the base coordinate system is obtained based on the captured image, and the positional relationship in the rotation direction of the camera with respect to the arm is corrected so that the position of the mark member matches the reference position.
  • the robot device can be checked at the shipping destination after the shipment of the robot device. Even if an error occurs in the positional relationship between the arm and the camera, the positional relationship between the arm and the camera can be corrected on site without requiring a special measuring jig.
  • a robot apparatus of the present disclosure includes an arm, a camera attached to the arm, one mark member, a storage device that stores in advance the position of the mark member in a base coordinate system as a reference position, and the camera relative to the arm.
  • the arm and the camera are controlled so that the camera picks up an image of the mark member with the first position above the mark member as the imaging position, and based on the imaged image obtained by performing a first correction process of determining the position of the mark member in the base coordinate system and correcting the horizontal positional relationship of the camera with respect to the arm so that the determined position of the mark member coincides with the reference position;
  • the arm and the camera are controlled so that the camera picks up an image of the mark member at a second position horizontally offset in a predetermined direction from the first position.
  • the robot device of this disclosure includes an arm, a camera, one mark member, a storage device, and a control device.
  • the position of the mark member in the base coordinate system is pre-stored in the storage device as a reference position.
  • the control device executes the first correction process and the second correction process similar to the method of correcting the positional deviation of the camera of the present disclosure described above.
  • a special measuring jig can be used in the same manner as the method for correcting the camera positional deviation according to the present disclosure.
  • the positional relationship between the arm and the camera can be corrected on-site without the need.
  • FIG. 1 is an external perspective view of a robot system
  • FIG. FIG. 3 is a block diagram showing the electrical connection relationship between the robot device and the control device
  • FIG. 4 is an explanatory diagram illustrating a base coordinate system, a camera coordinate system, and a mechanical interface coordinate system
  • 6 is a flowchart showing an example of reference position registration processing
  • 9 is a flowchart showing an example of hand camera position correction processing
  • FIG. 4 is an explanatory diagram showing each hand camera field of view when imaging a mark at two locations;
  • FIG. 1 is an external perspective view of the robot system.
  • FIG. 2 is a block diagram showing the electrical connection relationship between the robot device and the control device.
  • the robot system 1 is a work robot system, and for example, picks up a work W (component) supplied by a work supply unit P and mounts it on an object (substrate S). As shown in FIGS. 1 and 2, this robot system 1 includes a workbench 2, a robot device 10 having a robot arm 20, a hand camera 60 attached to the robot arm 20, a work camera 70 as an external camera, and a control device 90 that controls the robot device 10 . A pole-shaped mark member 3 extending in the vertical direction is installed on the workbench 2 .
  • the robot device 10 is a SCARA robot in this embodiment, and includes a base 11 and a robot arm 20 .
  • the base 11 is fixed to the workbench 2 and supports the base end side of the robot arm 20 .
  • the robot arm 20 includes a first arm 21 , a first arm drive section 30 , a second arm 22 , a second arm drive section 40 , a shaft 23 and a shaft drive section 50 .
  • the base end of the first arm 21 is connected to the base 11 via the first joint shaft J1, and is configured to be rotatable (horizontal rotation) in a horizontal plane with respect to the base 11 by the rotation of the first joint shaft J1. be done.
  • the base end of the second arm 22 is connected to the distal end of the first arm 21 via the second joint shaft J2, and rotates in the horizontal plane with respect to the first arm 21 as the second joint shaft J2 rotates. (horizontal turning).
  • the shaft 23 is connected to the distal end of the second arm 22 via a third joint axis J3, is rotatable about the third joint axis J3 with respect to the second arm 22, and is rotatable in the axial direction of the third joint axis J3. configured to be able to ascend and descend along the In the robot system 1 of the present embodiment, a work holding portion 24 that collects and holds a work W is provided as an end effector at the tip of the shaft 23 .
  • the work holding unit 24 include a suction nozzle that sucks the work W with negative pressure, a mechanical chuck that holds the work W with a pair of claws, and an electromagnetic chuck that sucks the work W with an electromagnet. .
  • the first arm driving section 30 includes a motor 32 and an encoder 34.
  • the rotating shaft of the motor 32 is connected to the first joint shaft J1 via a speed reducer (not shown).
  • the first arm drive unit 30 drives the motor 32 to rotate the first arm 21 about the first joint axis J1 by torque transmitted to the first joint axis J1 through the speed reducer.
  • the encoder 34 is attached to the rotary shaft of the motor 32 and configured as a rotary encoder that detects the amount of rotational displacement of the motor 32 .
  • the second arm driving section 40 includes a motor 42 and an encoder 44, like the first arm driving section 30.
  • the rotating shaft of the motor 42 is connected to the second joint shaft J2 via a speed reducer (not shown).
  • the second arm drive unit 40 drives the motor 42 to rotate the second arm 22 about the second joint axis J2 by torque transmitted to the second joint axis J2 via the speed reducer.
  • the encoder 44 is attached to the rotary shaft of the motor 42 and configured as a rotary encoder that detects the amount of rotational displacement of the motor 42 .
  • the shaft drive unit 50 includes motors 52a, 52b and encoders 54a, 54b.
  • a rotating shaft of the motor 52a is connected to the shaft 23 via a belt (not shown).
  • the shaft drive unit 50 rotates the shaft 23 around its axis by driving the motor 52a.
  • a rotating shaft of the motor 52b is connected to the shaft 23 via a ball screw mechanism (not shown).
  • By driving the motor 52b the shaft drive unit 50 vertically moves the shaft 23 by converting the rotary motion of the motor 52b into linear motion by the ball screw mechanism.
  • the encoder 54 a is configured as a rotary encoder that detects the amount of rotational displacement of the shaft 23 .
  • the encoder 54b is configured as a linear encoder that detects the vertical position of the shaft 23. As shown in FIG.
  • the control device 90 includes a CPU 91, a ROM 92 for storing processing programs, a RAM 93 as a work memory, a storage device 94 such as an HDD or SSD, and an input/output interface (not shown).
  • a CPU 91 a central processing unit
  • ROM 92 read-only memory
  • RAM 93 a main memory
  • storage device 94 such as an HDD or SSD
  • an input/output interface (not shown).
  • Position signals from the encoders 34, 44, 54a, 54b, image signals from the hand camera 60, image signals from the work camera 70, and the like are input to the control device 90 via an input/output interface.
  • Drive signals to the motors 32, 42, 52a and 52b, drive signals to the hand camera 60, drive signals to the work camera 70, and the like are output from the control device 90 via the input/output interface.
  • the hand camera 60 is attached to the tip of the second arm 22 .
  • the hand camera 60 captures an image of the workpiece W in the workpiece supply unit P from above and outputs the captured image to the control device 90 .
  • the control device 90 recognizes the position of the workpiece W by processing the captured image.
  • the work camera 70 is installed between the work supply section P and the board S on the workbench 2 .
  • the work camera 70 captures an image of the work W held by the work holding section 24 of the robot device 10 from below and outputs the captured image to the control device 90 .
  • the control device 90 determines whether or not the work W is normally held by the work holding section 24 by processing the captured image.
  • the operation of the robot system 1 includes a workpiece position recognition operation, a collection operation (pick operation), a collection confirmation operation, and a mounting operation (place operation).
  • the work position recognition operation the position of the work W is recognized by imaging the work W with the hand camera 60 .
  • the picking operation the work W is picked up by moving the hand (work holding unit 24) of the robot system 1 to the recognized work W position.
  • the picking confirmation operation the workpiece W picked up by hand is moved above the work camera 70, and the workpiece W is imaged by the work camera 70 to confirm the quality of the picking state of the work W.
  • the mounting operation the collected workpiece W is mounted on the substrate S. As shown in FIG.
  • the robot system 1 has a base coordinate system ⁇ b , a camera coordinate system ⁇ c , and a mechanical interface coordinate system ⁇ m as the coordinate system.
  • the base coordinate system ⁇ b has the origin set at the bottom surface of the base 11 of the robot device 10, the X axis set in the direction of the home position of the robot arm 20, the Z axis set in the vertical direction, and the Y axis set in the X axis. and the direction orthogonal to the Z-axis.
  • the origin of the mechanical interface coordinate system ⁇ m is set at the tip of the robot arm 20, and the X-, Y-, and Z-axes are set in the same direction as the corresponding axes of the base coordinate system ⁇ b .
  • the camera coordinate system ⁇ c has its origin set at the bottom surface of the second arm 22 and at the center of the third joint axis J3, and the X-, Y-, and Z-axes respectively correspond to the axes and directions of the base coordinate system ⁇ b . are set to match.
  • the base coordinate system ⁇ b , the camera coordinate system ⁇ c , and the mechanical interface coordinate system ⁇ m are mutually transformed using a transformation matrix.
  • the CPU 91 of the control device 90 first detects the work W supplied from the work supply unit P by the hand camera 60 (center of the hand camera camera) viewed from the base 11 (base coordinate system ⁇ b ). ) target positions X btag , Y btag , and Z btag are set. Subsequently, the CPU 91 solves inverse kinematics for the target positions X btag , Y btag , and Z btag of the hand camera 60 to match the position of the hand camera 60 with the target positions X btag , Y btag , and Z btag .
  • the angle ⁇ J1 of the first joint axis J1 and the angle ⁇ J2 of the second joint axis J2 are calculated for this purpose.
  • the positions of the hand camera 60 in the camera coordinate system ⁇ c are registered in advance in the storage device 94 as hand camera positions X ci , Y ci , ⁇ ci . Since the origin of the camera coordinate system ⁇ c is set at the center of the shaft 23 connected to the hand of the robot arm 20, the CPU 91 calculates the position of the base coordinate system ⁇ b based on the hand camera positions X ci , Y ci , ⁇ ci .
  • the position of the hand camera 60 can be converted into the position of the hand, and the position of the hand in the base coordinate system ⁇ b can be converted into the position of the hand camera 60 based on the hand camera positions X ci , Y ci , and ⁇ ci . can be done.
  • the CPU 91 converts the target positions X btag , Y btag of the hand camera 60 in the base coordinate system ⁇ b based on the hand camera positions X ci , Y ci , ⁇ ci into target positions of the hand, and converts the converted target positions of the hand.
  • the angle ⁇ J1 of the first joint axis J1 and the angle ⁇ J2 of the second joint axis J2 can be calculated by solving the inverse kinematics based on .
  • the CPU 91 considers error factors such as the twist and deflection of the first arm 21 and the deflection of the second arm 22 to determine the angle ⁇ J1 of the first joint axis J1 and the angle ⁇ J2 of the second joint axis J2 .
  • the estimated position of the hand is calculated by solving the forward kinematics based on and, from the calculated estimated position of the hand, the estimated position X best , Calculate Y best and Z best . That is, the CPU 91 calculates angles ⁇ J1 , ⁇ J2 of the first and second joint axes J1, J2 calculated by inverse kinematics so that the position of the hand camera 60 matches the target positions X btag , Y btag , Z btag .
  • the CPU 91 After calculating the estimated positions X best , Y best , Z best , the CPU 91 obtains the difference between the calculated estimated positions X best , Y best , Z best and the target positions X btag , Y btag , Z btag to determine the positional deviation. Calculate the quantities ⁇ X b , ⁇ Y b , ⁇ Z b . Subsequently, the CPU 91 offsets the target positions X btag , Y btag , and Z btag by the amounts of positional deviations ⁇ X b , ⁇ Y b , and ⁇ Z b , and solves inverse kinematics to set the hand camera 60 to the target position X btag .
  • the CPU 91 determines that the angle of the first joint axis J1 detected by the encoder 34 coincides with the calculated angle command value ⁇ J1 * and that the angle of the second joint axis J2 detected by the encoder 44 is the calculated angle command value.
  • the corresponding motors 32 and 42 are controlled by feedback control so as to match ⁇ J2 *.
  • the CPU 91 captures an image of the work W supplied from the work supply unit P with the hand camera 60, and performs image processing on the captured image to recognize the position of the work W in the base coordinate system ⁇ b .
  • the position of the mark member 3 in the camera coordinate system ⁇ c is calculated based on the position of the pixel of the mark member 3 appearing in the captured image and the hand camera positions X ci , Y ci , and ⁇ ci , and the calculated mark
  • the position of the member 3 is converted from the camera coordinate system ⁇ c to the base coordinate system ⁇ b based on the angle ⁇ J1 of the first joint axis J1 and the angle ⁇ J2 of the second joint axis J2.
  • the CPU 91 sets the target positions X btag and Y btag of the hand (work holding unit 24) for picking up the work W to the recognized position of the work W, and sets the hand to the target positions X btag , Y btag and Z btag . , and move to the collection operation.
  • the target positions X btag and Y btag are set based on the position of the workpiece W recognized.
  • the setting of the target position Z btag is performed based on the height information of the workpiece W input in advance.
  • the CPU 91 first determines the angle ⁇ J1 of the first joint axis J1 and the angle ⁇ J2 of the second joint axis J2 for moving the hand to the set target positions (X btag , Y btag , Z btag ).
  • the angle (shaft angle) ⁇ J4 of the shaft 23 and the elevation position Zs of the shaft 23 are calculated by inverse kinematics.
  • the CPU 91 estimates the hand based on ⁇ J1 , ⁇ J2 , ⁇ J4 , and Z s calculated in consideration of error factors such as the twist and deflection of the first arm 21 and the deflection of the second arm 22.
  • Positions X best , Y best , Z best are calculated by forward kinematics.
  • the CPU 91 calculates the positional deviation amounts ⁇ X b , ⁇ Y b , ⁇ Z b by taking differences between the estimated positions X best , Y best , Z best of the hand and the target positions X btag , Y btag , Z btag . .
  • the CPU 91 offsets the target positions X btag , Y btag , and Z btag by the positional deviation amounts ⁇ X b , ⁇ Y b , and ⁇ Z b , and solves the inverse kinematics to shift the hand to the target positions X btag , Y
  • a command value Z s * is calculated.
  • the CPU 91 controls the corresponding motors 32, 42, 52a, 52b by feedback control based on each command value.
  • the robot system 1 captures an image of the work W with the hand camera 60 attached to the robot arm 20, recognizes the position of the work W, moves the tip of the robot arm 20 to the recognized position, and picks up the work W. Collect. Therefore, unless the positional relationship between the end of the robot arm 20 and the hand camera 60 (hand camera positions X ci , Y ci , ⁇ ci ) is properly grasped, the position of the workpiece W cannot be accurately recognized by the hand camera 60 . Therefore, positional deviation occurs when the workpiece W is picked up.
  • the robot system 1 of this embodiment is shipped after measuring the positional relationship between the end of the robot arm 20 and the hand camera 60 using a dedicated measuring jig.
  • an error occurs in the positional relationship between the hand of the robot arm 20 and the hand camera 60 due to deformation or displacement of parts constituting the robot arm 20 . Since a dedicated measuring jig is expensive, if an error occurs in the positional relationship between the end of the robot arm 20 and the hand camera 60 at the shipping destination, the positional relationship is measured on site using a dedicated measuring jig. Fixing it is not realistic.
  • the robot system 1 of the present embodiment includes the mark member 3 on the workbench 2, and the positional relationship between the tip of the robot arm 20 and the hand camera 60 (hand camera position X ci , Y ci , ⁇ ci ) are measured, the position of the mark member 3 (mark position X b , Y b ) is measured by imaging the mark member 3 with the hand camera 60 , and the measured mark positions X b , Y b is stored in the storage device 94 as the reference positions Xr and Yr .
  • the robot system 1 When an error occurs in the positional relationship between the end of the robot arm 20 and the hand camera 60 at the shipping destination, the robot system 1 images the mark member 3 with the hand camera 60 to determine the mark positions X b and Y b .
  • the hand camera positions X ci , Y ci , ⁇ ci are re-corrected so that the results are the same as the reference positions X r , Y r previously measured and stored before the error occurred.
  • the positional relationship between the end of the robot arm 20 and the hand camera 60 can be corrected again without using an expensive measuring jig.
  • the details of the reference position registration process for registering the reference position will be described first, and then the details of the hand camera position correction process for recorrecting the position of the hand camera 60 will be described.
  • FIG. 4 is a flowchart showing an example of reference position registration processing.
  • the reference position registration process is executed before the robot system 1 is shipped.
  • the CPU 91 of the control device 90 first determines whether or not the reference position measurement button has been pressed (step S100). When the CPU 91 determines that the reference position measurement button has not been pressed, it ends the reference position registration process. On the other hand, when the CPU 91 determines that the reference position measurement button has been pressed, the hand camera 60 is moved to a target position (imaging position) set above the mark member 3, and the hand camera 60 captures an image of the mark member 3.
  • a target position imaging position
  • Image processing is performed on the image to calculate the position (mark position X b , Y b ) of the mark member 3 in the base coordinate system ⁇ b (step S110).
  • the position of the mark member 3 in the camera coordinate system ⁇ c is calculated based on the positions of the pixels of the mark member 3 appearing in the captured image and the hand camera positions X ci , Y ci , and ⁇ ci .
  • the camera coordinate system ⁇ c is converted to the base coordinate system ⁇ b .
  • the CPU 91 registers the measured mark positions Xb and Yb as the reference positions Xr and Yr in the storage device 94 (step S120), and ends the reference position registration process. do.
  • FIG. 5 is a flowchart showing an example of hand camera position correction processing.
  • the hand camera position correction process is executed when the robot arm 20 collides with a peripheral device or the like and an error occurs in the positional relationship between the hand of the robot arm 20 and the hand camera 60 .
  • the tip of the robot arm 20 may be displaced.
  • the positional deviation of the hand of the robot arm 20 due to the deformation of the part or the like is corrected.
  • the positional deviation of the hand can be determined by, for example, capturing an image of the mark member with the work camera 70 while the mark member is attached to the hand end of the robot arm 20 and measuring the position of the mark member.
  • positional displacement of the hand can be determined by setting a target position of the hand above the work camera 70, moving the hand to the target position, imaging the mark member attached to the hand with the work camera 70, and determining the position of the mark member. can be obtained by measuring the position of the mark member and taking the difference between the measured position of the mark member and the target position.
  • the CPU 91 first determines whether or not the hand camera position correction button has been pressed (step S200). When the CPU 91 determines that the hand camera position correcting button has not been pressed, it ends the hand camera position correcting process. On the other hand, when the CPU 91 determines that the hand camera position correction button has been pressed, it moves the control point of the hand camera 60 above, for example, right above the mark member 3 (step S210). Subsequently, the CPU 91 captures an image of the mark member 3 with the hand camera 60, performs image processing on the obtained captured image, and measures the mark positions X b and Y b in the base coordinate system ⁇ b (step S220).
  • the position of the mark member 3 in the camera coordinate system ⁇ c is calculated based on the positions of the pixels of the mark member 3 appearing in the captured image and the hand camera positions X ci , Y ci , and ⁇ ci . Then, the camera coordinate system ⁇ c is converted to the base coordinate system ⁇ b .
  • the CPU 91 calculates the difference between the measured mark positions Xb and Yb and the reference positions Xr and Yr previously registered in the storage device 94 in the reference position registration process described above. By doing so, the positional deviation amounts Xm and Ym of the mark positions in the Xb - axis direction and the Yb - axis direction in the base coordinate system ⁇ b are calculated (step S230). Then, the CPU 91 calculates the hand camera positions Xci , Yci and the camera position change amount E based on the calculated positional deviation amounts Xm , Ym (step S240).
  • Equations (1) and (2) are conversion equations for converting positional deviation amounts X m and Y m in the base coordinate system ⁇ b into positional deviation amounts X cie and Y cie in the camera coordinate system ⁇ c . .
  • ⁇ J1 is the angle of the first joint axis J1
  • ⁇ J2 is the angle of the second joint axis J2.
  • Equations (3) and (4) correct (offset) the hand camera positions X cio and Y cio currently registered in the storage device 94 by the amount of positional deviations X cie and Y cie .
  • Equation (5) is for calculating the linear distance between two points from the reference positions Xr , Yr to the mark positions Xb , Yb .
  • the CPU 91 After calculating the hand camera positions X ci and Y ci and the camera position change amount E, the CPU 91 newly registers the calculated hand camera positions X ci and Y ci in the storage device 94 (step S250). As a result, the horizontal positional relationship between the end of the robot arm 20 and the hand camera 60 can be re-corrected. Then, the CPU 91 determines whether or not the calculated camera position change amount E is equal to or less than the allowable value Eref (step S260).
  • Step S210 When the CPU 91 determines that the camera position change amount E is larger than the allowable value Eref, the CPU 91 returns to step S210 and uses the newly registered hand camera positions X ci , Y ci and the hand camera position ⁇ ci to operate the hand camera 60 .
  • Steps S210 to S250 for measuring the position of the mark member 3 and calculating the hand camera positions X ci and Y ci and the camera position change amount E are repeated. This is because the hand camera positions X ci and Y ci cannot be obtained with high accuracy by only one measurement due to the error of the hand camera position ⁇ ci from the true value and the difference in resolution.
  • step S270 the CPU 91 determines that the camera position change amount E has become equal to or less than the allowable value Eref, next, as shown in FIG. b is moved to a position offset by a predetermined amount ⁇ in the Yb - axis direction (step S270). Subsequently, the CPU 91 captures an image of the mark member 3 with the hand camera 60, applies image processing to the obtained captured image, and measures the mark positions X b and Y b in the base coordinate system ⁇ b (step S280).
  • the CPU 91 calculates the positional deviation amounts Xm and Ym of the mark positions in the base coordinate system ⁇ b by taking the difference between the mark positions Xb and Yb and the reference positions Xr and Yr described above . (step S290). Then, the CPU 91 calculates the hand camera position ⁇ ci based on the calculated positional deviation amounts X m and Y m (step S300). Calculation of the hand camera position ⁇ ci is performed by the following equations (6) and (7). Equation (6) is a conversion equation for converting the positional deviation amounts X m and Y m into an arctangent angle (positional deviation amount ⁇ cie ). Equation (7) corrects (offsets) the hand camera position ⁇ cio currently registered in the storage device 94 by the amount of positional deviation ⁇ cie .
  • the CPU 91 After calculating the hand camera position ⁇ ci in this way, the CPU 91 newly registers the calculated hand camera position ⁇ ci in the storage device 94 (step S310), and ends the hand camera position correcting process.
  • the CPU 91 captures an image of one mark member 3 with the hand camera 60, recognizes the positions Xb and Yb of the mark member 3, and recognizes the recognized positions Xb and Yb as the pre-registered reference position Xr . , Yr (the horizontal positional relationship of the hand camera 60 with respect to the robot arm 20). Then, the CPU 91 takes an image of one mark member 3 from another location with the hand camera 60, recognizes the positions Xb and Yb of the mark member 3, and recognizes the recognized positions Xb and Yb as the pre-registered reference positions.
  • the hand camera position ⁇ ci (positional relationship in the rotational direction of the hand camera 60 with respect to the robot arm 20) is corrected so as to match X r and Y r .
  • the positional relationship between the end of the robot arm 20 and the hand camera 60 can be corrected again without using an expensive measuring jig.
  • the robot device 10 corresponds to the robot
  • the robot arm 20 corresponds to the arm
  • the hand camera 60 corresponds to the camera
  • the mark member 3 corresponds to the mark member.
  • the CPU 91 of the control device 90 that executes the hand camera position correction process corresponds to the control device.
  • the robot apparatus 10 is configured as a horizontal multi-joint robot (SCARA robot), but is not limited to this, and may be a vertical multi-joint robot having a camera attached to an arm. It may be any other type of robotic device.
  • SCARA robot horizontal multi-joint robot
  • the position of the mark member in the base coordinate system is calculated based on the captured image obtained by controlling the arm and the camera so that the camera captures an image of one mark member. is obtained, and the obtained position of the mark member is stored in advance as a reference position.
  • the positional deviation correction method when positional deviation correction is requested, the positional deviation of the camera with respect to the arm is corrected by executing the first correction process and the second correction process.
  • the first correction process controls the arm and the camera so that the camera captures an image of the mark member with the first position above the mark member as the imaging position.
  • the position of the mark member in the base coordinate system is obtained based on the captured image, and the horizontal positional relationship of the camera with respect to the arm is corrected so that the position of the mark member coincides with the reference position.
  • the arm and the camera are controlled so that the camera captures an image of the mark member at a second position that is horizontally offset in a predetermined direction from the first position.
  • the position of the mark member in the base coordinate system is obtained based on the captured image, and the positional relationship in the rotation direction of the camera with respect to the arm is corrected so that the position of the mark member matches the reference position.
  • the robot device can be checked at the shipping destination after the shipment of the robot device. Even if an error occurs in the positional relationship between the arm and the camera, the positional relationship between the arm and the camera can be corrected on site without requiring a special measuring jig.
  • the first correction process includes: , and coordinate-transforming the obtained distance into the camera coordinate system to correct the positional relationship in the horizontal direction between the arm and the camera. This makes it possible to correct the horizontal positional relationship between the arm and the camera by a simple calculation.
  • the first correction process may be repeated until an amount of positional deviation between the position of the mark member in the base coordinate system and the reference position becomes equal to or less than a predetermined amount. . This makes it possible to accurately correct the positional relationship between the arm and the camera.
  • a first axis direction and a second axis orthogonal to the base coordinate system between the obtained position of the mark member and the reference position A positional relationship in the rotational direction between the arm and the camera may be corrected by obtaining a distance in the direction and converting the obtained distance into an arctangent angle. By doing so, it is possible to correct the positional relationship between the arm and the camera in the rotational direction by a simple calculation.
  • the present disclosure is not limited to the form of a camera misalignment correction method, and may be in the form of a robot device.
  • the present disclosure can be used in the manufacturing industry of robot devices.
  • 1 robot system 2 workbench, 3 mark member, 10 robot device, 11 base, 20 robot arm, 21 first arm, 22 second arm, 23 shaft, 24 workpiece holder, 30 first arm drive, 32 motor , 34 encoder, 40 second arm driving unit, 42 motor, 44 encoder, 50 shaft driving unit, 52a motor, 52b motor, 54a encoder, 54b encoder, 60 hand camera, 70 work camera, 90 control device, 91 CPU, 92 ROM, 93 RAM, 94 storage device, J1 1st joint axis, J2 2nd joint axis, J3 3rd joint axis, P workpiece supply unit, S substrate, W workpiece.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

カメラの位置ずれ補正方法は、ロボット装置のアームに対するカメラの位置ずれを補正する。この方法は、1つのマーク部材をカメラにより撮像するようアームとカメラとを制御し、撮像画像に基づいてベース座標系におけるマーク部材の位置を求めて基準位置として予め記憶しておく。位置ずれの補正が要求されると、マーク部材上方の第1位置を撮像位置としてカメラによりマーク部材を撮像するよう制御し、撮像画像に基づいてベース座標系におけるマーク部材の位置を求めると共に求めた位置が基準位置に一致するようにカメラの水平方向における位置関係を補正する。更に、第1位置から所定方向に水平にオフセットした第2位置を撮像位置としてカメラによりマーク部材を撮像するよう制御し、撮像画像に基づいてベース座標系におけるマーク部材の位置を求めると共に求めた位置が基準位置に一致するようにカメラの回転方向における位置関係を補正する。

Description

カメラの位置ずれ補正方法およびロボット装置
 本明細書は、カメラの位置ずれ補正方法およびロボット装置について開示する。
 従来、ロボットアームとロボットカメラとを有するロボットと、ロボットとは別個に設置された外部カメラと、を備え、予め校正済みのロボットカメラで校正用パターンを撮像すると共に外部カメラで校正用パターンを撮像して外部カメラの校正データを求めるロボットシステムが提案されている(例えば、特許文献1参照)。このシステムは、ロボットカメラおよび外部カメラでそれぞれ校正用パターンを撮像してパターン画像をそれぞれ取得し、取得したパターン画像とロボットカメラに対する既知の校正データとに基づいて外部カメラの校正データを求めている。
特開2019-69493号公報
 しかしながら、上述した特許文献1記載の技術は、外部カメラを校正することについては記載されているものの、ロボットカメラを校正することについて何ら言及されていない。
 本開示は、ロボットのアームに取り付けられたカメラの位置ずれを簡易な方法により適切に補正することを主目的とする。
 本開示は、上述の主目的を達成するために以下の手段を採った。
 本開示のカメラの位置ずれ補正方法は、アームと該アームに取り付けられたカメラとを有するロボット装置において、前記アームに対する前記カメラの位置ずれを補正するカメラの位置ずれ補正方法であって、1つのマーク部材を前記カメラにより撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいてベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置を基準位置として予め記憶しておき、前記位置ずれの補正が要求されると、前記マーク部材上方の第1位置を撮像位置として前記カメラにより前記マーク部材を撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいて前記ベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置が前記基準位置に一致するように前記アームに対する前記カメラの水平方向における位置関係を補正する第1補正処理を行ない、前記第1補正処理を行なった後、前記第1位置から所定方向に水平にオフセットした第2位置を撮像位置として前記カメラにより前記マーク部材を撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいて前記ベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置が前記基準位置に一致するように前記アームに対する前記カメラの回転方向における位置関係を補正する第2補正処理を行なう、ことを要旨とする。
 この本開示のカメラの位置ずれ補正方法では、1つのマーク部材をカメラにより撮像するようアームとカメラとを制御し得られた撮像画像に基づいてベース座標系におけるマーク部材の位置を求めると共に求めたマーク部材の位置を基準位置として予め記憶しておく。そして、位置ずれ補正方法では、位置ずれの補正が要求されると、第1補正処理と第2補正処理とを実行することによりアームに対するカメラの位置ずれが補正される。第1補正処理は、マーク部材上方の第1位置を撮像位置としてカメラによりマーク部材を撮像するようアームとカメラとを制御する。そして、第1補正処理は、撮像画像に基づいてベース座標系におけるマーク部材の位置を求めると共にこのマーク部材の位置が基準位置に一致するようにアームに対するカメラの水平方向における位置関係を補正する。また、第2補正処理は、第1位置から所定方向に水平にオフセットした第2位置を撮像位置としてカメラによりマーク部材を撮像するようアームとカメラとを制御する。そして、第2補正処理は、撮像画像に基づいてベース座標系におけるマーク部材の位置を求めると共にこのマーク部材の位置が基準位置に一致するようにアームに対するカメラの回転方向における位置関係を補正する。これにより、ロボット装置の出荷前にて精度が確保されたアームやカメラによりマーク部材の位置を測定して基準位置として予め記憶しておけば、ロボット装置の出荷後に、出荷先にてロボット装置のアームとカメラとの位置関係に誤差が発生しても、特別な測定治具を必要とすることなく、現地でアームとカメラとの位置関係を補正することができる。
 本開示のロボット装置は、アームと、前記アームに取り付けられたカメラと、1つのマーク部材と、ベース座標系における前記マーク部材の位置を基準位置として予め記憶する記憶装置と、前記アームに対する前記カメラの位置ずれの補正が要求されると、前記マーク部材上方の第1位置を撮像位置として前記カメラにより前記マーク部材を撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいて前記ベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置が前記基準位置に一致するように前記アームに対する前記カメラの水平方向における位置関係を補正する第1補正処理を行ない、前記第1補正処理を行なった後、前記第1位置から所定方向に水平にオフセットした第2位置を撮像位置として前記カメラにより前記マーク部材を撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいて前記ベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置が前記基準位置に一致するように前記アームに対する前記カメラの回転方向における位置関係を補正する第2補正処理を行なう制御装置と、を備えることを要旨とする。
 この本開示のロボット装置は、アームとカメラと1つのマーク部材と記憶装置と制御装置とを備える。記憶装置には、ベース座標系におけるマーク部材の位置が基準位置として予め記憶される。そして、制御装置は、アームに対するカメラの位置ずれの補正が要求されると、上述した本開示のカメラの位置ずれ補正方法と同様の第1補正処理と第2補正処理とを実行する。これにより、本開示のカメラの位置ずれ補正方法と同様に、ロボット装置の出荷後に、出荷先にてロボット装置のアームとカメラとの位置関係に誤差が発生しても、特別な測定治具を必要とすることなく、現地でアームとカメラとの位置関係を補正することができる。
ロボットシステムの外観斜視図である。 ロボット装置と制御装置との電気的な接続関係を示すブロック図である。 ベース座標系、カメラ座標系およびメカニカルインタフェース座標系を説明する説明図である。 基準位置登録処理の一例を示すフローチャートである。 ハンドカメラ位置補正処理の一例を示すフローチャートである。 マークを2つの場所で撮像するときの各ハンドカメラ視野を示す説明図である。
 次に、本開示を実施するための形態について図面を参照しながら説明する。
 図1は、ロボットシステムの外観斜視図である。図2は、ロボット装置と制御装置との電気的な接続関係を示すブロック図である。
 ロボットシステム1は、作業ロボットシステムであり、例えば、ワーク供給部Pにより供給されるワークW(部品)を採取して対象物(基板S)に実装する。このロボットシステム1は、図1,2に示すように、作業台2と、ロボットアーム20有するロボット装置10と、ロボットアーム20に取り付けられたハンドカメラ60と、外部カメラとしてのワークカメラ70と、ロボット装置10を制御する制御装置90と、を備える。作業台2には、鉛直方向に延在するポール状のマーク部材3が設置されている。
 ロボット装置10は、本実施形態では、スカラロボットであり、ベース11とロボットアーム20とを備える。
 ベース11は、作業台2に固定されており、ロボットアーム20の基端側を支持する。ロボットアーム20は、第1アーム21と第1アーム駆動部30と第2アーム22と第2アーム駆動部40とシャフト23とシャフト駆動部50とを備える。第1アーム21は、基端部が第1関節軸J1を介してベース11に連結され、第1関節軸J1の回動によりベース11に対して水平面内で回動(水平旋回)可能に構成される。第2アーム22は、基端部が第2関節軸J2を介して第1アーム21の先端部に連結され、第2関節軸J2の回動により第1アーム21に対して水平面内で回動(水平旋回)可能に構成される。シャフト23は、第2アーム22の先端部に第3関節軸J3を介して連結され、第2アーム22に対して第3関節軸J3の軸周りに回転可能かつ第3関節軸J3の軸方向に沿って昇降可能に構成される。本実施形態のロボットシステム1では、シャフト23の先端には、エンドエフェクタとして、ワークWを採取して保持するワーク保持部24が設けられている。なお、ワーク保持部24としては、例えば、負圧によりワークWを吸着する吸着ノズルや、一対の爪によりワークWを把持するメカニカルチャック、電磁石によりワークWを吸着する電磁チャックなどを挙げることができる。
 第1アーム駆動部30は、モータ32とエンコーダ34とを備える。モータ32の回転軸は、図示しない減速機を介して第1関節軸J1に連結されている。第1アーム駆動部30は、モータ32を駆動することで減速機を介して第1関節軸J1に伝達されるトルクにより、第1関節軸J1を支点に第1アーム21を回動させる。エンコーダ34は、モータ32の回転軸に取り付けられ、モータ32の回転変位量を検出するロータリエンコーダとして構成される。
 第2アーム駆動部40は、第1アーム駆動部30と同様に、モータ42とエンコーダ44とを備える。モータ42の回転軸は、図示しない減速機を介して第2関節軸J2に連結されている。第2アーム駆動部40は、モータ42を駆動することで減速機を介して第2関節軸J2に伝達されるトルクにより、第2関節軸J2を支点に第2アーム22を回動させる。エンコーダ44は、モータ42の回転軸に取り付けられ、モータ42の回転変位量を検出するロータリエンコーダとして構成される。
 シャフト駆動部50は、モータ52a,52bとエンコーダ54a,54bとを備える。モータ52aの回転軸は、図示しないベルトを介してシャフト23に接続されている。シャフト駆動部50は、モータ52aを駆動することによりシャフト23を軸周りに回転させる。モータ52bの回転軸は、図示しないボールねじ機構を介してシャフト23に接続されている。シャフト駆動部50は、モータ52bを駆動することにより、ボールねじ機構によりモータ52bの回転運動が直動運動に変換されることでシャフト23を上下に昇降させる。エンコーダ54aは、シャフト23の回転変位量を検出するロータリエンコーダとして構成される。エンコーダ54bは、シャフト23の昇降位置を検出するリニアエンコーダとして構成される。
 制御装置90は、図2に示すように、CPU91と、処理プログラムを記憶するROM92と、ワークメモリとしてのRAM93と、HDDやSSD等の記憶装置94と、入出力インタフェース(図示せず)とを備える。制御装置90には、エンコーダ34,44,54a,54bからの位置信号やハンドカメラ60からの画像信号、ワークカメラ70からの画像信号などが入出力インタフェースを介して入力される。制御装置90からは、モータ32,42,52a,52bへの駆動信号やハンドカメラ60への駆動信号、ワークカメラ70への駆動信号などが入出力インタフェースを介して出力される。
 ハンドカメラ60は、第2アーム22の先端部に取り付けられている。ハンドカメラ60は、ワーク供給部PのワークWを上から撮像し、その撮像画像を制御装置90へ出力する。制御装置90は、撮像画像を処理することによりワークWの位置を認識する。
 ワークカメラ70は、作業台2におけるワーク供給部Pと基板Sとの間に設置されている。ワークカメラ70は、ロボット装置10のワーク保持部24に保持されたワークWを下から撮像し、その撮像画像を制御装置90へ出力する。制御装置90は、撮像画像を処理することによりワーク保持部24にワークWが正常に保持されているか否かを判定する。
 次に、こうして構成されたロボットシステム1の動作について説明する。ロボットシステム1の動作には、ワーク位置認識動作と採取動作(ピック動作)と採取確認動作と実装動作(プレース動作)とが含まれる。ワーク位置認識動作では、ハンドカメラ60によりワークWを撮像してワークWの位置を認識する。採取動作では、認識したワークWの位置にロボットシステム1の手先(ワーク保持部24)を移動させてワークWを採取する。採取確認動作では、手先に採取したワークWをワークカメラ70の上方へ移動させると共にワークカメラ70でワークWを撮像してワークWの採取状態の良否を確認する。実装動作では、採取したワークWを基板Sに実装する。
 ここで、ロボットシステム1の座標系について説明する。本実施形態では、図2に示すように、ロボットシステム1の座標系として、ベース座標系Σbとカメラ座標系Σcとメカニカルインタフェース座標系Σmとを有する。ベース座標系Σbは、原点がロボット装置10のベース11の底面に設定され、X軸がロボットアーム20のホームポジションの方向に設定され、Z軸が鉛直方向に設定され、Y軸がX軸およびZ軸に直交する方向に設定される。メカニカルインタフェース座標系Σmは、原点がロボットアーム20の手先に設定され、X軸,Y軸およびZ軸がそれぞれベース座標系Σbの対応する軸と方向が一致するように設定される。カメラ座標系Σcは、原点が第2アーム22の底面であって第3関節軸J3の中心に設定され、X軸,Y軸およびZ軸がそれぞれベース座標系Σbの対応する軸と方向が一致するように設定される。ベース座標系Σbとカメラ座標系Σcとメカニカルインタフェース座標系Σmとは、変換行列を用いて相互に変換される。
 ワーク位置認識動作において、制御装置90のCPU91は、まず、ワーク供給部Pから供給されるワークWを撮像するためのベース11(ベース座標系Σb)から見たハンドカメラ60(ハンドカメラカメラ中心)の目標位置Xbtag,Ybtag,Zbtagを設定する。続いて、CPU91は、ハンドカメラ60の目標位置Xbtag,Ybtag,Zbtagに対して逆運動学を解くことにより、ハンドカメラ60の位置を目標位置Xbtag,Ybtag,Zbtagに一致させるための第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とを算出する。ここで、カメラ座標系Σcにおけるハンドカメラ60の位置は、ハンドカメラ位置Xci,Yci,θciとして記憶装置94に予め登録されている。カメラ座標系Σc の原点はロボットアーム20の手先につながるシャフト23の中心に設定されているから、CPU91は、ハンドカメラ位置Xci,Yci,θciに基づいてベース座標系Σbでのハンドカメラ60の位置を手先の位置に変換することができ、ハンドカメラ位置Xci,Yci,θciに基づいてベース座標系Σbでの手先の位置をハンドカメラ60の位置に変換することができる。CPU91は、ハンドカメラ位置Xci,Yci,θciに基づいてベース座標系Σbでのハンドカメラ60の目標位置Xbtag,Ybtagを手先の目標位置に変換し、変換した手先の目標位置に基づいて逆運動学を解くことにより第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とを算出することができる。
 次に、CPU91は、第1アーム21のねじれ,たわみや、第2アーム22のたわみ等の誤差要因を考慮して、第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とに基づいて順運動学を解くことにより、手先の推定位置を算出し、算出した手先の推定位置からハンドカメラ位置Xci,Yci,θciに基づいてハンドカメラ60の推定位置Xbest,Ybest,Zbestを算出する。すなわち、CPU91は、ハンドカメラ60の位置が目標位置Xbtag,Ybtag,Zbtagと一致するように逆運動学により算出される第1および第2関節軸J1,J2の角度θJ1,θJ2を角度指令値として制御したと仮定した場合に、第1アーム21のねじれ,たわみや、第2アーム22のたわみ等の誤差要因によって、目標位置Xbtag,Ybtag,Zbtagからずれた位置である推定位置Xbest,Ybest,Zbestを算出する。
 CPU91は、推定位置Xbest,Ybest,Zbestを算出すると、算出した推定位置Xbest,Ybest,Zbestと目標位置Xbtag,Ybtag,Zbtagとの差分をとることにより、位置ずれ量ΔXb,ΔYb,ΔZbを算出する。続いて、CPU91は、目標位置Xbtag,Ybtag,Zbtagを位置ずれ量ΔXb,ΔYb,ΔZbの分だけオフセットした上で逆運動学を解くことによりハンドカメラ60を目標位置Xbtag,Ybtag,Zbtagに移動させるための第1関節軸J1の角度指令値θJ1*と第2関節軸J2の角度指令値θJ2*とを算出する。そして、CPU91は、エンコーダ34により検出される第1関節軸J1の角度が算出した角度指令値θJ1*に一致すると共にエンコーダ44により検出される第2関節軸J2の角度が算出した角度指令値θJ2*に一致するようフィードバック制御により対応するモータ32,42を制御する。
 次に、CPU91は、ワーク供給部Pから供給されたワークWをハンドカメラ60により撮像し、撮像画像に画像処理を施すことにより、ベース座標系ΣbでのワークWの位置を認識する。画像処理は、撮像画像に写るマーク部材3の画素の位置とハンドカメラ位置Xci,Yci,θciとに基づいてカメラ座標系Σcでのマーク部材3の位置を算出し、算出したマーク部材3の位置を第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とに基づいてカメラ座標系Σcからベース座標系Σbに変換することにより行なわれる。そして、CPU91は、ワークWを採取するための手先(ワーク保持部24)の目標位置Xbtag,Ybtagを認識したワークWの位置に設定し、手先を目標位置Xbtag,Ybtag,Zbtagに移動させて採取する採取動作へ移行する。目標位置Xbtag,Ybtagの設定は、認識したワークWの位置に基づいて行なわれる。目標位置Zbtagの設定は、予め入力されたワークWの高さ情報に基づいて行なわれる。
 採取動作では、CPU91は、まず、手先を設定した目標位置(Xbtag,Ybtag,Zbtag)に移動させるための第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とシャフト23の角度(シャフト角度)θJ4とシャフト23の昇降位置Zsとを逆運動学により算出する。続いて、CPU91は、第1アーム21のねじれ,たわみや、第2アーム22のたわみ等の誤差要因を考慮して、算出したθJ1,θJ2,θJ4,Zsに基づいて手先の推定位置Xbest,Ybest,Zbestを順運動学により算出する。次に、CPU91は、手先の推定位置Xbest,Ybest,Zbestと目標位置Xbtag,Ybtag,Zbtagとの差分をとることにより位置ずれ量ΔXb,ΔYb,ΔZbを算出する。次に、CPU91は、目標位置Xbtag,Ybtag,Zbtagを位置ずれ量ΔXb,ΔYb,ΔZbの分だけオフセットした上で逆運動学を解くことにより手先を目標位置Xbtag,Ybtag,Zbtagに移動させるための第1関節軸J1の角度指令値θJ1*と第2関節軸J2の角度指令値θJ2*とシャフト23の角度指令値θJ4*とシャフト23の昇降位置指令値Zs*とを算出する。そして、CPU91は、各指令値に基づいて対応するモータ32,42,52a,52bをフィードバック制御により制御する。
 このように、ロボットシステム1は、ロボットアーム20に取り付けられたハンドカメラ60でワークWを撮像してワークWの位置を認識し、認識した位置にロボットアーム20の手先を移動させてワークWを採取する。このため、ロボットアーム20の手先とハンドカメラ60と位置関係(ハンドカメラ位置Xci,Yci,θci)が適切に把握されないと、ハンドカメラ60によりワークWの位置を正確に認識することができず、ワークWを採取する際に位置ずれが発生してしまう。本実施形態のロボットシステム1は、専用の測定治具を用いてロボットアーム20の手先とハンドカメラ60との位置関係を測定してから出荷されるが、出荷先でロボットアーム20が周辺機器等と衝突した場合、ロボットアーム20を構成する部品の変形やずれ等によりロボットアーム20の手先とハンドカメラ60との位置関係に誤差が発生してしまう。専用の測定治具は高価であることから、出荷先でロボットアーム20の手先とハンドカメラ60との位置関係に誤差が発生した場合に、現地において、専用の測定治具により位置関係を測定し直すことは現実的でない。
 本実施形態のロボットシステム1は、作業台2にマーク部材3を備え、出荷前において、専用の測定治具を用いてロボットアーム20の手先とハンドカメラ60との位置関係(ハンドカメラ位置Xci,Yci,θci)を測定した状態で、ハンドカメラ60でマーク部材3を撮像してマーク部材3の位置(マーク位置Xb,Yb)を測定し、測定したマーク位置Xb,Ybを基準位置Xr,Yrとして記憶装置94に記憶しておく。そして、ロボットシステム1は、出荷先でロボットアーム20の手先とハンドカメラ60との位置関係に誤差が発生した際に、ハンドカメラ60でマーク部材3を撮像してマーク位置Xb,Ybを測定し、誤差が発生する前に予め測定して記憶しておいた基準位置Xr,Yrと同じ結果となるようにハンドカメラ位置Xci,Yci,θciを再補正する。これにより、高価な測定治具を用いることなく、ロボットアーム20の手先とハンドカメラ60との位置関係を再補正することができる。以下、まず、基準位置を登録する基準位置登録処理の詳細について説明し、その後、ハンドカメラ60の位置を再補正するハンドカメラ位置補正処理の詳細について説明する。
 図4は、基準位置登録処理の一例を示すフローチャートである。基準位置登録処理は、ロボットシステム1の出荷前に実行される。基準位置登録処理では、制御装置90のCPU91は、まず、基準位置測定ボタンが押下されたか否かを判定する(ステップS100)。CPU91は、基準位置測定ボタンが押下されていないと判定すると、そのまま基準位置登録処理を終了する。一方、CPU91は、基準位置測定ボタンが押下されたと判定すると、ハンドカメラ60をマーク部材3の上方に設定した目標位置(撮像位置)へ移動させてハンドカメラ60でマーク部材3を撮像し、撮像画像に画像処理を施してベース座標系Σbでのマーク部材3の位置(マーク位置Xb,Yb)を算出する(ステップS110)。画像処理は、上述したように、撮像画像に写るマーク部材3の画素の位置とハンドカメラ位置Xci,Yci,θciとに基づいてカメラ座標系Σcでのマーク部材3の位置を算出してカメラ座標系Σcからベース座標系Σbに変換することにより行なわれる。CPU91は、マーク位置Xb,Ybを測定すると、測定したマーク位置Xb,Ybを基準位置Xr,Yrとして記憶装置94に登録して(ステップS120)、基準位置登録処理を終了する。
 図5は、ハンドカメラ位置補正処理の一例を示すフローチャートである。ハンドカメラ位置補正処理は、上述したように、ロボットアーム20が周辺機器等に衝突してロボットアーム20の手先とハンドカメラ60との位置関係に誤差が発生した場合に実行される。なお、周辺機器等との衝突によりロボットアーム20を構成する部品に変形等が生じると、ロボットアーム20の手先に位置ずれが生じる場合がある。この場合、まず、ハンドカメラ位置補正処理に先立って、部品の変形等に基づくロボットアーム20の手先の位置ずれが補正される。手先の位置ずれは、例えば、ロボットアーム20の手先にマーク部材を装着した状態で、ワークカメラ70でマーク部材を撮像してマーク部材の位置を測定することにより求めることができる。例えば、手先の位置ずれは、ワークカメラ70の上方に手先の目標位置を設定して当該目標位置に手先を移動させ、ワークカメラ70で手先に装着されたマーク部材を撮像してマーク部材の位置を測定し、測定したマーク部材の位置と目標位置との差分をとることにより求めることができる。
 ハンドカメラ位置補正処理では、CPU91は、まず、ハンドカメラ位置補正ボタンが押下されたか否かを判定する(ステップS200)。CPU91は、ハンドカメラ位置補正ボタンが押下されていないと判定すると、ハンドカメラ位置補正処理を終了する。一方、CPU91は、ハンドカメラ位置補正ボタンが押下されたと判定すると、ハンドカメラ60の制御点を、マーク部材3の上方、例えば直上に移動させる(ステップS210)。続いて、CPU91は、ハンドカメラ60でマーク部材3を撮像し、得られた撮像画像に画像処理を施してベース座標系Σbでのマーク位置Xb,Ybを測定する(ステップS220)。画像処理は、上述したように、撮像画像に写るマーク部材3の画素の位置とハンドカメラ位置Xci,Yci,θciとに基づいてカメラ座標系Σcでのマーク部材3の位置を算出してカメラ座標系Σcからベース座標系Σbに変換することにより行なわれる。
 CPU91は、マーク位置Xb,Ybを測定すると、測定したマーク位置Xb,Ybと、上述した基準位置登録処理において記憶装置94に予め登録した基準位置Xr,Yrとの差分をとることによりベース座標系ΣbでのXb軸方向およびYb軸方向におけるマーク位置の位置ずれ量Xm,Ymを算出する(ステップS230)。そして、CPU91は、算出した位置ずれ量Xm,Ymに基づいてハンドカメラ位置Xci,Yciとカメラ位置変化量Eとを算出する(ステップS240)。ハンドカメラ位置Xci,Yciの算出は、次式(1)~(4)により行なわれる。式(1)および(2)は、ベース座標系Σbでの位置ずれ量Xm,Ymをカメラ座標系Σcでの位置ずれ量Xcie,Ycieに変換するための変換式である。なお、式中、θJ1は、第1関節軸J1の角度であり、θJ2は、第2関節軸J2の角度である。また、式(3)および(4)は、記憶装置94に現在登録されているハンドカメラ位置Xcio,Ycioを位置ずれ量Xcie,Ycieの分だけ修正(オフセット)するものである。また、カメラ位置変化量Eの算出は、次式(5)により行なわれる。式(5)は、基準位置Xr,Yrからマーク位置Xb,Ybまでの2点間の直線距離を算出するものである。CPU91は、ハンドカメラ位置Xci,Yciとカメラ位置変化量Eとを算出すると、算出したハンドカメラ位置Xci,Yciを記憶装置94に新たに登録する(ステップS250)。これにより、ロボットアーム20の手先とハンドカメラ60との水平方向における位置関係を再補正することができる。そして、CPU91は、算出したカメラ位置変化量Eが許容値Eref以下であるか否かを判定する(ステップS260)。
Figure JPOXMLDOC01-appb-M000001
 CPU91は、カメラ位置変化量Eが許容値Erefよりも大きいと判定すると、ステップS210に戻って、新たに登録したハンドカメラ位置Xci,Yciとハンドカメラ位置θciとを用いてハンドカメラ60でマーク部材3の位置を測定してハンドカメラ位置Xci,Yciとカメラ位置変化量Eとを算出するステップS210~S250の処理を繰り返す。これは、ハンドカメラ位置θciの真値との誤差や分解能の相違により1回の測定だけでは、ハンドカメラ位置Xci,Yciを精度良く求めることができないためである。
 CPU91は、カメラ位置変化量Eが許容値Eref以下となったと判定すると、次に、ハンドカメラ60の制御点(視野)を、図6に示すように、マーク部材3の直上からベース座標系ΣbのYb軸方向に所定量δだけオフセットした位置に移動させる(ステップS270)。続いて、CPU91は、ハンドカメラ60でマーク部材3を撮像し、得られた撮像画像に画像処理を施してベース座標系Σbでのマーク位置Xb,Ybを測定する(ステップS280)。次に、CPU91は、マーク位置Xb,Ybと上述した基準位置Xr,Yrとの差分をとることによりベース座標系Σbでのマーク位置の位置ずれ量Xm,Ymを算出する(ステップS290)。そして、CPU91は、算出した位置ずれ量Xm,Ymに基づいてハンドカメラ位置θciを算出する(ステップS300)。ハンドカメラ位置θciの算出は、次式(6)および(7)により行なわれる。式(6)は、位置ずれ量Xm,Ymを逆正接角度(位置ずれ量θcie)に変換するための変換式である。式(7)は、記憶装置94に現在登録されているハンドカメラ位置θcioを位置ずれ量θcieの分だけ修正(オフセット)するものである。
Figure JPOXMLDOC01-appb-M000002
 CPU91は、こうしてハンドカメラ位置θciを算出すると、算出したハンドカメラ位置θciを記憶装置94に新たに登録して(ステップS310)、ハンドカメラ位置補正処理を終了する。
 このように、CPU91は、1つのマーク部材3をハンドカメラ60で撮像してマーク部材3の位置Xb,Ybを認識し、認識した位置Xb,Ybが予め登録した基準位置Xr,Yrと一致するようにハンドカメラ位置Xci,Yci(ロボットアーム20に対するハンドカメラ60の水平方向の位置関係)を補正する。そして、CPU91は、1つのマーク部材3を別の場所からハンドカメラ60で撮像してマーク部材3の位置Xb,Ybを認識し、認識した位置Xb,Ybが予め登録した基準位置Xr,Yrと一致するようにハンドカメラ位置θci(ロボットアーム20に対するハンドカメラ60の回転方向の位置関係)を補正する。これにより、高価な測定治具を用いることなく、ロボットアーム20の手先とハンドカメラ60との位置関係を再補正することができる。
 ここで、実施形態の主要な要素と請求の範囲に記載した本開示の主要な要素との対応関係について説明する。即ち、本実施形態では、ロボット装置10がロボットに相当し、ロボットアーム20がアームに相当し、ハンドカメラ60がカメラに相当し、マーク部材3がマーク部材に相当する。また、ハンドカメラ位置補正処理を実行する制御装置90のCPU91が制御装置に相当する。
 なお、本開示は上述した実施形態に何ら限定されることはなく、本開示の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
 例えば、上述した実施形態では、ロボット装置10は、水平多関節ロボット(スカラロボット)として構成されたが、これに限定されるものではなく、例えば垂直多関節ロボットなど、アームにカメラが取り付けられたものであれば、他の如何なるタイプのロボット装置であってもよい。
 以上説明したように、本開示のカメラの位置ずれ補正方法では、1つのマーク部材をカメラにより撮像するようアームとカメラとを制御し得られた撮像画像に基づいてベース座標系におけるマーク部材の位置を求めると共に求めたマーク部材の位置を基準位置として予め記憶しておく。そして、位置ずれ補正方法では、位置ずれの補正が要求されると、第1補正処理と第2補正処理とを実行することによりアームに対するカメラの位置ずれが補正される。第1補正処理は、マーク部材上方の第1位置を撮像位置としてカメラによりマーク部材を撮像するようアームとカメラとを制御する。そして、第1補正処理は、撮像画像に基づいてベース座標系におけるマーク部材の位置を求めると共にこのマーク部材の位置が基準位置に一致するようにアームに対するカメラの水平方向における位置関係を補正する。また、第2補正処理は、第1位置から所定方向に水平にオフセットした第2位置を撮像位置としてカメラによりマーク部材を撮像するようアームとカメラとを制御する。そして、第2補正処理は、撮像画像に基づいてベース座標系におけるマーク部材の位置を求めると共にこのマーク部材の位置が基準位置に一致するようにアームに対するカメラの回転方向における位置関係を補正する。これにより、ロボット装置の出荷前にて精度が確保されたアームやカメラによりマーク部材の位置を測定して基準位置として予め記憶しておけば、ロボット装置の出荷後に、出荷先にてロボット装置のアームとカメラとの位置関係に誤差が発生しても、特別な測定治具を必要とすることなく、現地でアームとカメラとの位置関係を補正することができる。
 こうした本開示のカメラの位置ずれ補正方法において、前記第1補正処理として、求めた前記マーク部材の位置と前記基準位置との間の前記ベース座標系の直交する第1軸方向および第2軸方向における距離を求め、求めた前記距離をカメラ座標系に座標変換することにより前記アームと前記カメラとの水平方向における位置関係を補正してもよい。こうすれば、簡易な計算によりアームとカメラとの水平方向における位置関係を補正することができる。
 また、本開示のカメラの位置ずれ補正方法において、前記ベース座標系における前記マーク部材の位置と前記基準位置との位置ずれ量が所定量以下となるまで、前記第1補正処理を繰り返してもよい。こうすれば、アームとカメラとの位置関係の補正を精度良く行なうことができる。
 さらに、本開示のカメラの位置ずれ補正方法において、前記第2補正処理として、求めた前記マーク部材の位置と前記基準位置との間の前記ベース座標系の直交する第1軸方向および第2軸方向における距離を求め、求めた前記距離を逆正接角度に変換することにより前記アームと前記カメラとの回転方向における位置関係を補正してもよい。こうすれば、簡易な計算によりアームとカメラとの回転方向における位置関係を補正することができる。
 なお、本開示は、カメラの位置ずれ補正方法の形態に限られず、ロボット装置の形態としてもよい。
 本開示は、ロボット装置の製造産業などに利用可能である。
 1 ロボットシステム、2 作業台、3 マーク部材、10 ロボット装置、11 ベース、20 ロボットアーム、21 第1アーム、22 第2アーム、23 シャフト、24 ワーク保持部、30 第1アーム駆動部、32 モータ、34 エンコーダ、40 第2アーム駆動部、42 モータ、44 エンコーダ、50 シャフト駆動部、52a モータ、52b モータ、54a エンコーダ、54b エンコーダ、60 ハンドカメラ、70 ワークカメラ、90 制御装置、91 CPU、92 ROM、93 RAM、94 記憶装置、J1 第1関節軸、J2 第2関節軸、J3 第3関節軸、P ワーク供給部、S 基板、W ワーク。

Claims (5)

  1.  アームと該アームに取り付けられたカメラとを有するロボット装置において、前記アームに対する前記カメラの位置ずれを補正するカメラの位置ずれ補正方法であって、
     1つのマーク部材を前記カメラにより撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいてベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置を基準位置として予め記憶しておき、
     前記位置ずれの補正が要求されると、前記マーク部材上方の第1位置を撮像位置として前記カメラにより前記マーク部材を撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいて前記ベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置が前記基準位置に一致するように前記アームに対する前記カメラの水平方向における位置関係を補正する第1補正処理を行ない、前記第1補正処理を行なった後、前記第1位置から所定方向に水平にオフセットした第2位置を撮像位置として前記カメラにより前記マーク部材を撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいて前記ベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置が前記基準位置に一致するように前記アームに対する前記カメラの回転方向における位置関係を補正する第2補正処理を行なう、
     カメラの位置ずれ補正方法。
  2.  請求項1に記載のカメラの位置ずれ補正方法であって、
     前記第1補正処理として、求めた前記マーク部材の位置と前記基準位置との間の前記ベース座標系の直交する第1軸方向および第2軸方向における距離を求め、求めた前記距離をカメラ座標系に座標変換することにより前記アームと前記カメラとの水平方向における位置関係を補正する、
     カメラの位置ずれ補正方法。
  3.  請求項1または2に記載のカメラの位置ずれ補正方法であって、
     前記ベース座標系における前記マーク部材の位置と前記基準位置との位置ずれ量が所定量以下となるまで、前記第1補正処理を繰り返す、
     カメラの位置ずれ補正方法。
  4.  請求項1ないし3いずれか1項に記載のカメラの位置ずれ補正方法であって、
     前記第2補正処理として、求めた前記マーク部材の位置と前記基準位置との間の前記ベース座標系の直交する第1軸方向および第2軸方向における距離を求め、求めた前記距離を逆正接角度に変換することにより前記アームと前記カメラとの回転方向における位置関係を補正する、
     カメラの位置ずれ補正方法。
  5.  アームと、
     前記アームに取り付けられたカメラと、
     1つのマーク部材と、
     ベース座標系における前記マーク部材の位置を基準位置として予め記憶する記憶装置と、
     前記アームに対する前記カメラの位置ずれの補正が要求されると、前記マーク部材上方の第1位置を撮像位置として前記カメラにより前記マーク部材を撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいて前記ベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置が前記基準位置に一致するように前記アームに対する前記カメラの水平方向における位置関係を補正する第1補正処理を行ない、前記第1補正処理を行なった後、前記第1位置から所定方向に水平にオフセットした第2位置を撮像位置として前記カメラにより前記マーク部材を撮像するよう前記アームと前記カメラとを制御し得られた撮像画像に基づいて前記ベース座標系における前記マーク部材の位置を求めると共に求めた前記マーク部材の位置が前記基準位置に一致するように前記アームに対する前記カメラの回転方向における位置関係を補正する第2補正処理を行なう制御装置と、
     を備えるロボット装置。
PCT/JP2021/021013 2021-06-02 2021-06-02 カメラの位置ずれ補正方法およびロボット装置 WO2022254613A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/021013 WO2022254613A1 (ja) 2021-06-02 2021-06-02 カメラの位置ずれ補正方法およびロボット装置
JP2023525243A JPWO2022254613A1 (ja) 2021-06-02 2021-06-02

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/021013 WO2022254613A1 (ja) 2021-06-02 2021-06-02 カメラの位置ずれ補正方法およびロボット装置

Publications (1)

Publication Number Publication Date
WO2022254613A1 true WO2022254613A1 (ja) 2022-12-08

Family

ID=84322878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/021013 WO2022254613A1 (ja) 2021-06-02 2021-06-02 カメラの位置ずれ補正方法およびロボット装置

Country Status (2)

Country Link
JP (1) JPWO2022254613A1 (ja)
WO (1) WO2022254613A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154881A (ja) * 1996-11-26 1998-06-09 Matsushita Electric Works Ltd 多層積層板位置決め装置
JP2005019963A (ja) * 2003-06-03 2005-01-20 Tokyo Electron Ltd 基板処理装置及び基板受け渡し位置の調整方法
JP2005334998A (ja) * 2004-05-25 2005-12-08 Fuji Photo Film Co Ltd 自走式ロボットハンド、および、そのカメラ調整方法、ハンド移動量補正方法、ハンド調整方法
US20150142171A1 (en) * 2011-08-11 2015-05-21 Siemens Healthcare Diagnostics Inc. Methods and apparatus to calibrate an orientation between a robot gripper and a camera
JP2017071001A (ja) * 2015-10-05 2017-04-13 ファナック株式会社 ターゲットマークを撮像するカメラを備えたロボットシステム
JP2017124468A (ja) * 2016-01-14 2017-07-20 キヤノン株式会社 ロボット制御方法、部品の製造方法、ロボット装置、プログラム及び記録媒体
JP2018058142A (ja) * 2016-10-04 2018-04-12 ファナック株式会社 移動可能な台車に支持されたロボットを備えるロボットシステム
JP2018094653A (ja) * 2016-12-09 2018-06-21 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154881A (ja) * 1996-11-26 1998-06-09 Matsushita Electric Works Ltd 多層積層板位置決め装置
JP2005019963A (ja) * 2003-06-03 2005-01-20 Tokyo Electron Ltd 基板処理装置及び基板受け渡し位置の調整方法
JP2005334998A (ja) * 2004-05-25 2005-12-08 Fuji Photo Film Co Ltd 自走式ロボットハンド、および、そのカメラ調整方法、ハンド移動量補正方法、ハンド調整方法
US20150142171A1 (en) * 2011-08-11 2015-05-21 Siemens Healthcare Diagnostics Inc. Methods and apparatus to calibrate an orientation between a robot gripper and a camera
JP2017071001A (ja) * 2015-10-05 2017-04-13 ファナック株式会社 ターゲットマークを撮像するカメラを備えたロボットシステム
JP2017124468A (ja) * 2016-01-14 2017-07-20 キヤノン株式会社 ロボット制御方法、部品の製造方法、ロボット装置、プログラム及び記録媒体
JP2018058142A (ja) * 2016-10-04 2018-04-12 ファナック株式会社 移動可能な台車に支持されたロボットを備えるロボットシステム
JP2018094653A (ja) * 2016-12-09 2018-06-21 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Also Published As

Publication number Publication date
JPWO2022254613A1 (ja) 2022-12-08

Similar Documents

Publication Publication Date Title
WO2020121396A1 (ja) ロボットキャリブレーションシステム及びロボットキャリブレーション方法
JP6661028B2 (ja) 作業位置補正方法
US10618166B2 (en) Teaching position correction device and teaching position correction method
JP5272617B2 (ja) ロボット装置及びロボット装置の制御方法
JP5618770B2 (ja) ロボットの校正装置および校正方法
US11173608B2 (en) Work robot and work position correction method
JP2007122705A (ja) 溶接教示位置補正システム及びキャリブレーション方法
US20180161983A1 (en) Control device, robot, and robot system
CN113195171A (zh) 用于带有工具偏移量的相机-机器人***的自动校准
JP7281910B2 (ja) ロボット制御システム
CN110154038B (zh) 机器人的位置信息恢复方法
WO2018173192A1 (ja) 多関節ロボットの平行度判定方法および多関節ロボットの傾き調整装置
WO2022254613A1 (ja) カメラの位置ずれ補正方法およびロボット装置
CN113905859B (zh) 机器人控制***及机器人控制方法
WO2020121399A1 (ja) ロボット制御システム及びロボット制御方法
JP6965422B2 (ja) カメラの平行度判定方法
WO2022014043A1 (ja) カメラの位置ずれ測定方法
JP7384653B2 (ja) ロボットの位置を制御するロボット装置の制御装置
JP6578671B2 (ja) ロボット、ロボットの制御方法、及びロボットの制御装置
WO2022180674A1 (ja) カメラの位置ずれ測定装置および位置ずれ測定方法
US11230015B2 (en) Robot system
US20240198534A1 (en) Robot inspection system
WO2022091241A1 (ja) オフセット値設定方法およびロボット制御装置
WO2022118374A1 (ja) スカラロボットの制御方法
US20240157567A1 (en) Picking system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21944117

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023525243

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21944117

Country of ref document: EP

Kind code of ref document: A1