WO2018163450A1 - ロボット制御装置およびキャリブレーション方法 - Google Patents

ロボット制御装置およびキャリブレーション方法 Download PDF

Info

Publication number
WO2018163450A1
WO2018163450A1 PCT/JP2017/021349 JP2017021349W WO2018163450A1 WO 2018163450 A1 WO2018163450 A1 WO 2018163450A1 JP 2017021349 W JP2017021349 W JP 2017021349W WO 2018163450 A1 WO2018163450 A1 WO 2018163450A1
Authority
WO
WIPO (PCT)
Prior art keywords
calibration data
robot
error
reference marker
unit
Prior art date
Application number
PCT/JP2017/021349
Other languages
English (en)
French (fr)
Inventor
泰憲 櫻本
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to DE112017005958.5T priority Critical patent/DE112017005958T5/de
Priority to US16/347,196 priority patent/US20200016757A1/en
Priority to CN201780079210.6A priority patent/CN110114191B/zh
Priority to JP2017566435A priority patent/JP6301045B1/ja
Publication of WO2018163450A1 publication Critical patent/WO2018163450A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39008Fixed camera detects reference pattern held by end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39045Camera on end effector detects reference pattern
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39046Compare image of plate on robot with reference, move till coincidence, camera

Definitions

  • the present invention relates to a robot control device that controls a robot and a calibration method in the robot control device.
  • Patent Document 1 As a mechanism error correction method for the purpose of improving the accuracy of the absolute position of the robot, a method as described in Patent Document 1 below has been proposed.
  • a robot work area is divided, a robot mechanism error is calculated for each small area, an error analysis formula that reduces the error is determined, and the mechanism error is corrected using the analysis formula. is doing.
  • the present invention has been made in view of the above, and an object of the present invention is to provide a robot control device capable of improving the positional accuracy of the operation of the robot in an environment in which a mechanism error over time occurs in the robot.
  • the present invention includes a robot control unit that controls the operation of the robot using calibration data, and the camera coordinates of the reference marker from the image data acquired by the vision sensor.
  • a calibration data calculation unit that calculates new calibration data and a calibration data storage unit that registers new calibration data.
  • the present invention is characterized in that a new calibration data is calculated a plurality of times by a calibration data calculation unit with a robot operation in between, and a plurality of calibration data is registered in a calibration data storage unit.
  • FIG. 6 is a diagram for explaining a relationship between an error in camera coordinates and an error in robot coordinates in the first embodiment
  • the perspective view which shows the mode of another structure of the robot concerning Embodiment 1, a vision sensor, and a reference marker.
  • FIG. 6 is a diagram for explaining a change in error over time in the second embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of a robot control system 100 according to the first embodiment of the present invention.
  • FIG. 2 is a perspective view illustrating the robot 1, the vision sensor 3, and the reference marker 5 according to the first embodiment. 1 and 2 show an example of a hand-eye method in which the vision sensor 3 is attached to the hand of the robot 1.
  • the robot control system 100 includes a robot 1, a robot control device 2 that controls the robot 1, a vision sensor 3 attached to the hand of the robot 1, a work table 4, and a work table 4. And a reference marker 5 installed in the operating range of the upper robot 1.
  • the vision sensor 3 is a camera.
  • the robot control device 2 uses a calibration data to send a command to the robot 1 to control the operation of the robot 1, an image processing unit 21 to process the image data acquired by the vision sensor 3, An error calculation unit 22 that calculates a control position error of the robot 1 and an error determination unit 23 that determines the calculated error are provided.
  • the calibration data is a parameter for performing conversion between the robot coordinate system that is the coordinate system of the robot 1 and the camera coordinate system that is the coordinate system of the vision sensor 3, that is, calibration.
  • the robot controller 2 further includes a calibration data calculation unit 24 that calculates calibration data, and a calibration data similarity determination unit 25 that determines the degree of similarity between the calculated calibration data and the registered calibration data.
  • a calibration data storage unit 26 for registering calibration data, a calibration data updating unit 27 for updating calibration data used by the robot control unit 20, and whether to repeat the calculation of calibration data An end condition determination unit 28.
  • the robot control device 2 has an automatic calibration function for automatically obtaining calibration data.
  • the hand of the robot 1 to which the vision sensor 3 is attached is moved in the forward / backward and left / right directions, and the reference marker 5 is imaged and recognized from a plurality of viewpoints, and the camera coordinates of the reference marker 5 and the robot 1
  • the calibration data is calculated by obtaining the correspondence with the robot coordinates.
  • the camera coordinates of the reference marker 5 are the coordinates of the reference marker 5 in the camera coordinate system in the imaging screen of the vision sensor 3.
  • the camera coordinate system will be described here as a two-dimensional example, but is not limited to two dimensions, and may be three dimensions.
  • the robot coordinates of the robot 1 are three-dimensional coordinates of the hand of the robot 1 to which the vision sensor 3 is attached in a space where the robot 1 is grounded.
  • the hand of the robot 1 to which the vision sensor 3 is attached is moved in the forward / backward / left / right directions based on a command from the robot control unit 20, and the vision sensor 3 moves the reference marker 5.
  • Image data is acquired by imaging from a plurality of viewpoints.
  • the image processing unit 21 recognizes the reference marker 5 from the acquired image data at a plurality of viewpoints, and obtains the respective camera coordinates of the reference marker 5. Since each robot coordinate in the robot coordinate system of the robot 1 when the vision sensor 3 images the reference marker 5 from a plurality of viewpoints is grasped by the robot control unit 20, the combination of the camera coordinates and the robot coordinates is selected as the viewpoint. You can get only the number.
  • One equation with each parameter of the calibration data as an unknown is obtained from the correspondence between the camera coordinates and the robot coordinates at one viewpoint. Therefore, three or more equations can be obtained by acquiring combinations of camera coordinates and robot coordinates at three or more viewpoints. Then, the calibration data calculation unit 24 can calculate calibration data by simultaneously solving the obtained three or more equations. In this way, calculating the calibration data is automatic calibration.
  • FIG. 3 is a diagram illustrating a hardware configuration when the function of the robot control device 2 according to the first embodiment is realized by a computer.
  • the functions of the robot control device 2 are realized by a computer, the functions of the robot control device 2 are realized by a CPU (Central Processing Unit) 201, a memory 202, a storage device 203, a display device 204, and an input device 205 as shown in FIG. Realized.
  • the function of the calibration data storage unit 26 of the robot control device 2 is realized by the storage device 203, but other functions of the robot control device 2 are realized by software such as an operation program of the robot 1.
  • the software is described as a program and stored in the storage device 203.
  • the CPU 201 reads the operation program stored in the storage device 203 to the memory 202 and controls the operation of the robot 1. In this way, the CPU 201 implements the calibration method described below in the robot control apparatus 2 according to the first embodiment. That is, the operation program causes the computer to execute the calibration method according to the first embodiment. Therefore, the robot control device 2 includes the storage device 203 for storing an operation program that will eventually execute the step of executing the calibration method according to the first embodiment.
  • the memory 202 corresponds to a volatile storage area such as RAM (Random Access Memory).
  • the storage device 203 includes a nonvolatile or volatile semiconductor memory such as ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory), a magnetic disk, This includes flexible disks, optical disks, compact disks, mini disks, and DVDs (Digital Versatile Disks).
  • ROM Read Only Memory
  • flash memory EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory), a magnetic disk, This includes flexible disks, optical disks, compact disks, mini disks, and DVDs (Digital Versatile Disks).
  • EPROM Erasable Programmable Read Only Memory
  • EEPROM Electrically Erasable Programmable Read Only Memory
  • a magnetic disk This includes flexible disks, optical disks, compact disks, mini disks, and DVDs (Digital Versatile Disks).
  • FIG. 4 is a flowchart for explaining pre-registration of calibration data according to the first embodiment.
  • the pre-registration of calibration data is to generate calibration data and register it in the calibration data storage unit 26 before actual operation of the robot 1.
  • a procedure for registering a plurality of calibration data starting from an initial state where no registered calibration data exists will be described.
  • the robot control unit 20 moves the hand of the robot 1 to a position where the reference marker 5 is imaged (step S001). This movement may be performed by moving the robot 1 to a position where the vision sensor 3 can image the reference marker 5.
  • the robot control device 2 stores the robot coordinates of the robot 1 after the movement due to this movement as reference robot coordinates, and the robot controller 20 makes the robot coordinates of the robot 1 the reference robot coordinates when the reference marker 5 is imaged thereafter. To control.
  • the vision sensor 3 generates image data by imaging a reference marker 5
  • the image processing unit 21 acquires the camera coordinates v x of the reference marker 5 processes the image data (step S002).
  • step S002 the process proceeds to step S016 to execute automatic calibration.
  • automatic calibration is executed, and the calibration data calculation unit 24 calculates calibration data.
  • the calibration data calculated by the calibration data calculation unit 24 is referred to as preliminary calibration data.
  • the calculated calibration data may not be registered in the calibration data storage unit 26. Because there is.
  • the calibration data similarity determination unit 25 determines whether or not the preliminary calibration data calculated in step S016 is similar to the calibration data already registered in the calibration data storage unit 26 (step S017). .
  • the calibration data similarity determination unit 25 determines that the calculated preliminary calibration data is similar to the calibration data already registered in the calibration data storage unit 26 (step S017: Yes)
  • the calculated preliminary calibration is performed.
  • the data is discarded and the process proceeds to step S020. If the calibration data similarity determination unit 25 determines that the calculated preliminary calibration data is not similar to the calibration data already registered in the calibration data storage unit 26 (step S017: No), the process proceeds to step S018.
  • Preliminary calibration data calculated in step S016 If it is the first pre-calibration data G 1, the calibration data does not exist in the calibration data storage unit 26 has already been registered. Again, in step S017, the preliminary calibration data G 1, if not similar to the calibration data to the calibration data storage unit 26 has already been registered is determined calibration data similarity determination unit 25 (step S017: No ), The process proceeds to step S018.
  • the similarity determination method by the calibration data similarity determination unit 25 will be described in detail later.
  • the robot control apparatus 2 registers the preliminary calibration data determined by the calibration data similarity determination unit 25 as not similar to the already registered calibration data in the calibration data storage unit 26 (step S018). Therefore, the preliminary calibration data G 1 obtained at step S016 is registered in the calibration data storage unit 26 as the calibration data H 1.
  • the calibration data H 1 is calibration data registered in the calibration data storage unit 26 first, that is, first. At this time, the camera coordinate v x obtained in step S002, it is registered in the calibration data storage unit 26 together with the calibration data H 1 as the camera coordinate m 1 of the reference marker 5 corresponding to the calibration data H 1.
  • step S019 calibration data update unit 27 updates the calibration data robot control unit 20 is used, the calibration data H 1 registered in the calibration data storage unit 26 in step S018.
  • step S019 the calibration data update unit 27 stores the calibration data set in the calibration data used by the robot control unit 20 in the newly registered calibration data, that is, the calibration data storage unit 26. Update to the last registered calibration data.
  • First when it proceeds to Step S019 first calibration data H 1 to the calibration data storage unit 26 is registered, since calibration data robot control unit 20 is used has not been set, the calibration data H 1 Is set in the robot controller 20.
  • step S020 the end condition determination unit 28 determines whether or not the end condition is satisfied.
  • the end condition is that a calibration data storage unit for a predetermined number of calibration data when the sum of the operation times of the robot 1 in step S011 to be described later exceeds the time expected in actual operation. If the registration to 26 is completed, the end condition may be to end if any of a plurality of conditions is satisfied. The case where the sum total of the operation times of the robot 1 in step S011 exceeds the time assumed in actual operation is assumed to be the end condition, assuming that acquisition of calibration data in an environment according to actual operation has been completed. It is to be done.
  • the end condition is that the registration of a predetermined number of calibration data to the calibration data storage unit 26 is completed, and the diversity of registered calibration data can be secured as much as necessary. Because. Therefore, if the end condition determination unit 28 determines that the end condition is satisfied (step S020: Yes), the process ends.
  • step S011 has not passed, and only one piece of calibration data is registered in the calibration data storage unit 26, so the end condition determination unit 28 sets the end condition. Is not satisfied (step S020: No), the process proceeds to step S011.
  • step S011 the robot control unit 20 causes the robot 1 to perform the same operation as the actual operation.
  • the operation of the robot 1 in step S011 is an operation to be performed by the robot 1 in advance operation confirmation such as a continuous operation test, and the pre-registration of the calibration data in FIG. 4 is executed in addition to the advance operation confirmation work such as the continuous operation test. Is possible.
  • the robot control unit 20 moves the hand of the robot 1 to a position where the reference marker 5 is imaged (step S012). At this time, the robot control unit 20 performs control so that the robot coordinates of the robot 1 become the reference robot coordinates stored in step S001.
  • the vision sensor 3 generates image data by imaging a reference marker 5
  • the image processing unit 21 acquires the camera coordinates v x of the reference marker 5 processes the image data (step S013). If the camera coordinates v x acquired at this time are different from the camera coordinates v x acquired in step S002 or the previous step S013, the cause is due to a change over time such as a thermal drift when the robot 1 is operated. It is a mechanism error.
  • the error calculation unit 22 calculates the control position error d of the robot 1 (step S014). Specifically, it is calculated based on the following formula (1).
  • v x , m i , and d are vectors
  • H i is a matrix.
  • H i is calibration data currently used by the robot control unit 20
  • mi is the camera coordinates of the reference marker 5 corresponding to the calibration data H i .
  • (v x ⁇ m i ) is the calibration data H i in which the current camera coordinates v x of the reference marker 5 imaged in a state where the robot 1 is controlled to become the reference robot coordinates.
  • the control position error d which is an error vector in the robot coordinates, is obtained by multiplying the calibration data H i by (v x ⁇ m i ).
  • FIG. 5 is a diagram for explaining the relationship between the error in the camera coordinates and the error in the robot coordinates in the first embodiment.
  • Current recognized position of the reference marker 5 to a camera coordinate v x is shown in the camera coordinates of FIG.
  • the camera coordinates m i of the reference marker 5 corresponding to the calibration data H i currently set and used in the robot controller 20 are also shown in the camera coordinates of FIG.
  • the camera coordinate v x is deviated from the camera coordinate m i is due to mechanism error in time course and thermal drift when operate the robot 1 as described above.
  • H i v x which is the first term when the parenthesis on the right side of Expression (1) is removed, is a measurement point corresponding to the current camera coordinate v x in the robot coordinates.
  • H i m i which is the second term when the parenthesis on the right side of Equation (1) is removed, is a fixed coordinate in the robot coordinate determined based on the installation position of the reference marker 5, and this becomes the reference robot coordinate. Yes.
  • the fact that H i m i is a fixed coordinate indicates that the calibration data H i needs to be changed by moving the camera coordinate m i of the reference marker 5.
  • the deviation from H i m i of H i v x is in the control position error d is the error vector in the robot coordinate.
  • step S015 After obtaining the control position error d of the robot 1 in step S014, the error determination unit 23 determines whether or not the absolute value of the error d is larger than a predetermined threshold (step S015). When the error determination unit 23 determines that the absolute value of the error d is equal to or less than the threshold (step S015: No), the process proceeds to step S020.
  • step S015 When the error determination unit 23 determines that the absolute value of the error d is greater than a predetermined threshold (step S015: Yes), the process proceeds to step S016 and automatic calibration is executed. In step S016, a new calibration data calibration data calculating unit 24 has calculated the pre-calibration data G 2.
  • step S017 the preliminary calibration data G 2 is calibration data similarity determination unit 25 already whether similar to the calibration data registered in the calibration data storage unit 26 is determined in step S016 Determination is made (step S017). Only the calibration data H 1 is currently registered in the calibration data storage unit 26. Therefore, if the pre-calibration data G 2 is calibration data similarity determination unit 25 when similar to the calibration data H 1 is determined (step S017: Yes), the preliminary calibration data G 2 is discarded, the process proceeds to step S020.
  • pre-calibration data G 2 is calibration data similarity determination unit 25 unless similar to the calibration data H 1 is determined (Step S017: No), the process proceeds to step S018, pre-calibration data G 2, the calibration data as H 2 is registered in the calibration data storage unit 26.
  • step S017 for explaining an example of whether or not the calibration data similarity determination unit 25 determines the determination method is similar to the calibration data H 1 to the preliminary calibration data G 2 is registered in the following.
  • the norm of the elements of the pre-calibration data G 2 is a matrix are arranged in order of in the first vector, which is referred to as g 2.
  • the norm of the elements of the calibration data H 1, which is also matrix are arranged in the same order as when you create a g 2 is in the first vector, which is referred to as h 1.
  • the inner product of g 2 and h 1 is calculated and compared with a predetermined value.
  • the calibration data similarity determination unit 25 determines that the preliminary calibration data G 2 is similar to the calibration data H 1 (step S017). : Yes).
  • the calibration data similarity determination unit 25 determines that the preliminary calibration data G 2 is not similar to the calibration data H 1 ( Step S017: No).
  • step S018 the preliminary calibration data G 2 are as calibration data H 2, after being registered in the calibration data storage unit 26,, the flow proceeds to step S019.
  • step S019 calibration data update unit 27, the calibration data robot control unit 20 is a calibration data H 1 that is set in the calibration data used, newly registered in the calibration data storage unit 26 to update to the H 2. Thereafter, the process proceeds to step S020.
  • step S018 is repeatedly executed, so that the calibration data storage unit 26 takes into account changes over time in the actual operating environment of the robot 1.
  • Calibration data H 1 , H 2 ,... Which are n pieces of calibration data having diversity under conditions. . , H n are pre-registered.
  • Calibration data H 1 , H 2 ,. . , H n , the camera coordinates m 1 , m 2 ,. . , Mn are also registered in the calibration data storage unit 26.
  • the robot control apparatus 2 in an environment in which a mechanism error over time such as a thermal drift when the robot 1 is operated for a long period of time is generated, a plurality of factors that consider the mechanism error are considered.
  • the calibration data can be registered in the calibration data storage unit 26.
  • the robot control unit 20 may use a plurality of registered calibration data in the order registered in the calibration data storage unit 26. Further, the robot control unit 20 may use a plurality of registered calibration data according to the time interval registered in the calibration data storage unit 26. Furthermore, the robot control unit 20 may use a plurality of registered calibration data according to a method described later in the second embodiment. Any method can be expected to improve the positional accuracy of the operation of the robot 1 by correcting the mechanism error when the robot 1 undergoes deformation over time.
  • FIG. 1 and 2 show an example of a hand-eye method in which the vision sensor 3 is attached to the hand of the robot 1, but the installation method of the vision sensor 3 is not limited to this.
  • FIG. 6 is a perspective view illustrating another configuration of the robot 1, the vision sensor 3, and the reference marker 5 according to the first embodiment.
  • FIG. 7 is a diagram illustrating an imaging screen of the reference marker 5 in the fixing method according to the first embodiment.
  • FIG. 8 is another diagram illustrating an imaging screen of the reference marker 5 in the fixing method according to the first embodiment.
  • a fixing method in which the vision sensor 3 is fixed so as not to move in the space in which the robot 1 is installed and the reference marker 5 is attached to the hand of the robot 1 may be adopted.
  • the vision sensor 3 is connected to the robot controller 2 that is not shown in FIG.
  • FIG. 7 shows how the camera coordinates v x of the reference marker 5, that is, the camera coordinates mi are acquired in step S 002 of FIG. 4 and step S 013 when the calibration data is to be registered. Then, after being acquired camera coordinate m i is shown in FIG. 7, are repeated step S011 is several times, after the robot 1 has undergone changes over time and thermal drift, the camera coordinate v x of the reference marker 5 The state of acquisition is shown in FIG. As shown in FIG. 8, the camera coordinate v x is moving with time change from the camera coordinate m i.
  • the flowchart of FIG. 4 can be executed in the same manner as when the hand-eye method is adopted, and the calibration data H 1 , H 2 ,. . , H n can be pre-registered in the calibration data storage unit 26.
  • the configuration method of the vision sensor 3 may employ a configuration method other than the hand-eye method and the fixed method as long as the flowchart of FIG. 4 can be executed.
  • FIG. FIG. 9 is a diagram illustrating a configuration of the robot control device 6 according to the second embodiment of the present invention.
  • the robot control device 6 has a calibration data selection unit 30 added to the robot control device 2 of FIG.
  • the functions of the elements other than the calibration data selection unit 30 of the robot control device 6 are the same as the functions of the elements of the robot control device 2 given the same reference numerals.
  • the configuration of the robot control system according to the second embodiment is a configuration in which the robot control device 2 in FIG.
  • the vision sensor 3 may be configured by the hand-eye method of FIGS. 1 and 2, the fixed method of FIG. 6, or other methods.
  • FIG. 10 is a flowchart at the time of actual operation of the robot control system using the calibration data according to the second embodiment.
  • the calibration data storage unit 26 stores the calibration data H 1 , H 2 ,. . , H n are pre-registered.
  • calibration data H 1 , H 2 ,. . , H n one calibration data H k selected from H n is set in the robot controller 20.
  • the calibration data H k initially set in the robot control unit 20 is the calibration data H when it is considered that there is no change over time such as thermal drift when the actual operation of the robot 1 is started. 1 may be selected, but the calibration data H 1 , H 2 ,. . , H n , any calibration data may be used.
  • the robot control unit 20 operates the robot 1 so as to execute a predetermined work (step S021).
  • step S011 in FIG. 4 the operation in step S021 is performed.
  • the robot control unit 20 moves the hand of the robot 1 to a position where the reference marker 5 is imaged (step S022). At this time, the robot control unit 20 performs control so that the robot 1 becomes the reference robot coordinates stored in step S001 of FIG.
  • the vision sensor 3 generates image data by imaging a reference marker 5
  • the image processing unit 21 acquires the camera coordinates v x of the reference marker 5 processes the image data (step S023).
  • the error calculation unit 22 calculates the control position error d of the robot 1 (step S024).
  • step S025 After obtaining the control position error d of the robot 1 in step S024, the error determination unit 23 determines whether or not the absolute value of the error d is larger than a predetermined threshold (step S025). When the error determination unit 23 determines that the absolute value of the error d is equal to or less than the threshold (step S025: No), the process proceeds to step S028.
  • step S025: Yes the process proceeds to step S026, where the calibration data selection unit 30 receives the error d from the calibration data storage unit 26. Select the calibration data that minimizes the absolute value of. Specifically, the calibration data H 1 , H 2 ,. . , H n , the error d is obtained by the equation (1), and the calibration data selection unit 30 selects the calibration data that minimizes the absolute value of the error d.
  • the calibration data update unit 27 updates the calibration data set in the calibration data used by the robot control unit 20 to the calibration data selected in step S026 (step S027). Therefore, if the first run the step S026, the calibration data H k set in the calibration data robot control unit 20 is used are updated in the calibration data H l selected in step S026.
  • step S028 the end condition determination unit 28 determines whether or not the end condition is satisfied.
  • the end condition is an end condition in actual operation of the robot 1. Therefore, if the end condition determination unit 28 determines that the end condition is satisfied (step S028: Yes), the process is ended. If the end condition determination unit 28 determines that the end condition is not satisfied (step S028: No), the process returns to step S021 to operate the robot 1.
  • FIG. 11 is a diagram for explaining a time change of the error d in the second embodiment.
  • the error d increases as time elapses due to a machine error due to the change of the robot 1 over time, but does not exceed the threshold every time the calibration data used by the robot control unit 20 is updated in step S ⁇ b> 027. It is shown that it is decreasing.
  • the robot control device 6 According to the robot control device 6 according to the second embodiment, it is not necessary to acquire time for acquiring calibration data corresponding to a mechanism error over time during the operation of the robot 1, and a mechanism error over time. It is possible to efficiently operate the robot 1 while appropriately correcting the above.
  • the configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.

Abstract

ロボット制御装置(2)は、キャリブレーションデータを使用してロボット(1)の動作を制御するロボット制御部(20)と、ビジョンセンサ(3)が取得した画像データから基準マーカ(5)のカメラ座標を取得する画像処理部(21)と、キャリブレーションデータに対応する基準マーカのカメラ座標と基準マーカの現在のカメラ座標との差に基づいて誤差を求める誤差算出部(22)と、誤差の絶対値が閾値より大きくなった場合に、新たなキャリブレーションデータを算出するキャリブレーションデータ算出部(24)と、新たなキャリブレーションデータを登録するキャリブレーションデータ記憶部(26)と、を備え、ロボットの動作を間に挟んでキャリブレーションデータ算出部に新たなキャリブレーションデータを複数回算出させて、キャリブレーションデータ記憶部に複数のキャリブレーションデータを登録させる。

Description

ロボット制御装置およびキャリブレーション方法
 本発明は、ロボットを制御するロボット制御装置およびロボット制御装置におけるキャリブレーション方法に関する。
 ロボットの絶対位置の精度向上を目的とした機構誤差の補正方法として、以下の特許文献1のような方法が提案されている。特許文献1においては、ロボットの作業領域を区分し、その小領域毎にロボットの機構誤差を計算し、その誤差が小さくなる誤差解析式を決定し、その解析式を使用して機構誤差を補正している。
特開平07-200017号公報
 特許文献1の従来技術においては、領域を分割した小領域毎に誤差を小さくする誤差解析式を決定していることから、作業空間における機構誤差の低減は保障される。しかし、ロボットを長期稼働させた際の熱ドリフトといった経時的な変化における機構誤差の低減は保障されていないため、ロボットを長期稼働させた場合において、ロボットの絶対位置の精度が低下するという問題があった。
 本発明は、上記に鑑みてなされたものであって、ロボットに経時的な機構誤差が生じる環境下において、ロボットの動作の位置精度の向上を図ることが可能なロボット制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、キャリブレーションデータを使用してロボットの動作を制御するロボット制御部と、ビジョンセンサが取得した画像データから基準マーカのカメラ座標を取得する画像処理部と、キャリブレーションデータに対応する基準マーカのカメラ座標と基準マーカの現在のカメラ座標との差に基づいて誤差を求める誤差算出部と、誤差の絶対値が閾値より大きくなった場合に、新たなキャリブレーションデータを算出するキャリブレーションデータ算出部と、新たなキャリブレーションデータを登録するキャリブレーションデータ記憶部と、を備える。本発明は、ロボットの動作を間に挟んでキャリブレーションデータ算出部に新たなキャリブレーションデータを複数回算出させて、キャリブレーションデータ記憶部に複数のキャリブレーションデータを登録させることを特徴とする。
 本発明によれば、ロボットに経時的な機構誤差が生じる環境下において、ロボットの動作の位置精度の向上を図ることが可能なロボット制御装置を得ることができるという効果を奏する。
本発明の実施の形態1にかかるロボット制御システムの構成例を示す図 実施の形態1にかかるロボット、ビジョンセンサおよび基準マーカの様子を示す斜視図 実施の形態1にかかるロボット制御装置の機能をコンピュータで実現する場合のハードウェア構成を示す図 実施の形態1にかかるキャリブレーションデータの事前登録を説明するフローチャート 実施の形態1におけるカメラ座標における誤差とロボット座標における誤差との関係を説明する図 実施の形態1にかかるロボット、ビジョンセンサおよび基準マーカの別の構成の様子を示す斜視図 実施の形態1にかかる固定方式における基準マーカの撮像画面を示す図 実施の形態1にかかる固定方式における基準マーカの撮像画面を示す別の図 本発明の実施の形態2にかかるロボット制御装置の構成を示す図 実施の形態2にかかるキャリブレーションデータを使用したロボット制御システムの実運用時のフローチャート 実施の形態2における誤差の時間変化を説明する図
 以下に、本発明の実施の形態にかかるロボット制御装置およびキャリブレーション方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、本発明の実施の形態1にかかるロボット制御システム100の構成例を示す図である。図2は、実施の形態1にかかるロボット1、ビジョンセンサ3および基準マーカ5の様子を示す斜視図である。図1および図2は、ビジョンセンサ3がロボット1の手先に取り付けられているハンドアイ方式の例が示されている。
 図1に示すように、ロボット制御システム100は、ロボット1と、ロボット1を制御するロボット制御装置2と、ロボット1の手先に取り付けられたビジョンセンサ3と、作業台4と、作業台4の上のロボット1の動作範囲内に設置された基準マーカ5と、を備える。ビジョンセンサ3の具体例はカメラである。
 ロボット制御装置2は、キャリブレーションデータを使用してロボット1に指令を出してロボット1の動作を制御するロボット制御部20と、ビジョンセンサ3が取得した画像データを処理する画像処理部21と、ロボット1の制御位置誤差を算出する誤差算出部22と、算出された誤差を判定する誤差判定部23と、を備える。キャリブレーションデータは、ロボット1の座標系であるロボット座標系とビジョンセンサ3の座標系であるカメラ座標系との間の変換、すなわち校正を行うためのパラメータである。
 ロボット制御装置2は、さらに、キャリブレーションデータを算出するキャリブレーションデータ算出部24と、算出されたキャリブレーションデータと登録されているキャリブレーションデータとの類似度を判定するキャリブレーションデータ類似判定部25と、キャリブレーションデータを登録するキャリブレーションデータ記憶部26と、ロボット制御部20が使用するキャリブレーションデータを更新するキャリブレーションデータ更新部27と、キャリブレーションデータの算出を繰り返すか否かを判定する終了条件判定部28と、を備える。
 ロボット制御装置2は、キャリブレーションデータを自動的に求める自動キャリブレーション機能を有している。自動キャリブレーションとは、ビジョンセンサ3が取り付けられたロボット1の手先を前後左右といった方向に動かし、複数の視点から基準マーカ5を撮像して認識し、基準マーカ5のカメラ座標と、ロボット1のロボット座標との対応関係を取得することで、キャリブレーションデータを算出することである。ここで、基準マーカ5のカメラ座標は、ビジョンセンサ3の撮像画面内におけるカメラ座標系での基準マーカ5の座標である。カメラ座標系は、ここでは2次元の例で説明するが、2次元に限定されず3次元であってもかまわない。ロボット1のロボット座標とは、ロボット1が接地された空間における、ビジョンセンサ3が取り付けられたロボット1の手先の3次元座標である。
 ロボット制御装置2の自動キャリブレーションにおいては、まず、ロボット制御部20の指令に基づいてビジョンセンサ3が取り付けられたロボット1の手先が前後左右といった方向に動かされ、基準マーカ5をビジョンセンサ3が複数の視点から撮像して画像データが取得される。画像処理部21は取得した複数の視点での画像データから基準マーカ5を認識して、基準マーカ5のそれぞれのカメラ座標を得る。複数の視点から基準マーカ5をビジョンセンサ3が撮像した時のロボット1のロボット座標系におけるそれぞれのロボット座標はロボット制御部20が把握しているので、カメラ座標とロボット座標との組み合わせを視点の数だけ取得することができる。1つの視点におけるカメラ座標とロボット座標との対応関係により、キャリブレーションデータの各パラメータを未知数とする方程式が1つ得られる。したがって、3つ以上の視点におけるカメラ座標とロボット座標との組み合わせを取得することにより、方程式が3つ以上得られる。そして、キャリブレーションデータ算出部24は、得られた3つ以上の方程式を連立させて解くことによりキャリブレーションデータを算出することが可能となる。このようにしてキャリブレーションデータを算出することが自動キャリブレーションである。
 図3は、実施の形態1にかかるロボット制御装置2の機能をコンピュータで実現する場合のハードウェア構成を示す図である。ロボット制御装置2の機能をコンピュータで実現する場合、ロボット制御装置2の機能は、図3に示すようにCPU(Central Processing Unit)201、メモリ202、記憶装置203、表示装置204および入力装置205により実現される。ロボット制御装置2のキャリブレーションデータ記憶部26の機能は、記憶装置203により実現されるが、ロボット制御装置2のそれ以外の機能は、ロボット1の動作プログラムといったソフトウェアにより実現される。ソフトウェアは、プログラムとして記述されて記憶装置203に格納される。CPU201は、記憶装置203に記憶された動作プログラムをメモリ202に読み出してロボット1の動作を制御する。また、このようにして、CPU201は、実施の形態1にかかるロボット制御装置2における以下に説明するキャリブレーション方法を実現する。すなわち、動作プログラムは、実施の形態1にかかるキャリブレーション方法をコンピュータに実行させるものである。したがって、ロボット制御装置2は、実施の形態1にかかるキャリブレーション方法を実施するステップを結果的に実行することになる動作プログラムを格納するための記憶装置203を備えていることになる。メモリ202は、RAM(Random Access Memory)といった揮発性の記憶領域が該当する。記憶装置203は、ROM(Read Only Memory)、フラッシュメモリー、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)といった不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disk)が該当する。表示装置204の具体例は、モニタ、ディスプレイである。入力装置205の具体例は、キーボード、マウス、タッチパネルである。
 図4は、実施の形態1にかかるキャリブレーションデータの事前登録を説明するフローチャートである。キャリブレーションデータの事前登録とは、ロボット1の実運用の前にキャリブレーションデータを生成してキャリブレーションデータ記憶部26に登録することである。以下では、登録されているキャリブレーションデータが存在しない最初の状態からはじめて、複数のキャリブレーションデータを登録する手順を説明する。
 まず、ロボット制御部20は、基準マーカ5を撮像する位置へロボット1の手先を移動させる(ステップS001)。この移動は、基準マーカ5をビジョンセンサ3が撮像できる位置までロボット1を移動すればよい。この移動による移動後のロボット1のロボット座標を基準ロボット座標としてロボット制御装置2が記憶し、以後の基準マーカ5の撮像時には、ロボット制御部20はロボット1のロボット座標が基準ロボット座標となるように制御する。
 次に、ビジョンセンサ3が基準マーカ5を撮像して画像データを作成し、画像処理部21が画像データを処理して基準マーカ5のカメラ座標vを取得する(ステップS002)。
 ステップS002の後は、ステップS016に進み自動キャリブレーションを実行する。先に説明したように自動キャリブレーションを実行してキャリブレーションデータ算出部24がキャリブレーションデータを算出する。このキャリブレーションデータを最初の予備キャリブレーションデータGとする。ここで、キャリブレーションデータ算出部24が算出したキャリブレーションデータを予備キャリブレーションデータと呼ぶのは、この後説明するように、算出されたキャリブレーションデータがキャリブレーションデータ記憶部26に登録されないことがあるからである。
 次に、ステップS016で算出された予備キャリブレーションデータがキャリブレーションデータ記憶部26に既に登録されているキャリブレーションデータに類似するか否かをキャリブレーションデータ類似判定部25が判定する(ステップS017)。算出された予備キャリブレーションデータがキャリブレーションデータ記憶部26に既に登録されているキャリブレーションデータに類似するとキャリブレーションデータ類似判定部25が判定した場合(ステップS017:Yes)、算出された予備キャリブレーションデータは破棄され、ステップS020に進む。算出された予備キャリブレーションデータがキャリブレーションデータ記憶部26に既に登録されているキャリブレーションデータに類似しないとキャリブレーションデータ類似判定部25が判定した場合(ステップS017:No)、ステップS018に進む。
 ステップS016で算出された予備キャリブレーションデータが最初の予備キャリブレーションデータGである場合は、キャリブレーションデータ記憶部26に既に登録されているキャリブレーションデータが存在しない。この場合も、ステップS017において、予備キャリブレーションデータGは、キャリブレーションデータ記憶部26に既に登録されているキャリブレーションデータに類似しないとキャリブレーションデータ類似判定部25が判定し(ステップS017:No)、ステップS018に進む。なお、キャリブレーションデータ類似判定部25による類似の判定方法については後で詳述する。
 ロボット制御装置2は、既に登録されているキャリブレーションデータと類似していないとキャリブレーションデータ類似判定部25によって判定された予備キャリブレーションデータをキャリブレーションデータ記憶部26に登録する(ステップS018)。したがって、ステップS016で求められた予備キャリブレーションデータGは、キャリブレーションデータHとしてキャリブレーションデータ記憶部26に登録される。キャリブレーションデータHは、キャリブレーションデータ記憶部26に最初に、即ち、一番目に登録されたキャリブレーションデータである。このとき、ステップS002で取得されたカメラ座標vは、キャリブレーションデータHに対応する基準マーカ5のカメラ座標mとしてキャリブレーションデータHと共にキャリブレーションデータ記憶部26に登録される。
 そして、ステップS019においては、キャリブレーションデータ更新部27が、ロボット制御部20が使用するキャリブレーションデータを、ステップS018でキャリブレーションデータ記憶部26に登録したキャリブレーションデータHに更新する。ステップS019においては、キャリブレーションデータ更新部27が、ロボット制御部20が使用するキャリブレーションデータに設定されているキャリブレーションデータを、新たに登録されたキャリブレーションデータ、すなわちキャリブレーションデータ記憶部26に最後に登録されたキャリブレーションデータに更新する。キャリブレーションデータ記憶部26に最初のキャリブレーションデータHが登録されて最初にステップS019に進んだときは、ロボット制御部20が使用するキャリブレーションデータが設定されていないので、キャリブレーションデータHがロボット制御部20に設定される。
 ステップS020では、終了条件が満たされるか否かを終了条件判定部28が判定する。終了条件は、この後説明するステップS011におけるロボット1の動作時間が複数回加算された合計が実運用で想定される時間を超えた場合、予め定めた数のキャリブレーションデータのキャリブレーションデータ記憶部26への登録が完了した場合、といった条件であり、複数の条件のいずれかを満たせば終了とすることを終了条件としてもよい。ステップS011におけるロボット1の動作時間が加算された合計が実運用で想定される時間を超えた場合を終了条件とするのは、実運用に沿った環境におけるキャリブレーションデータの取得が完了したと想定されるためである。また、予め定めた数のキャリブレーションデータのキャリブレーションデータ記憶部26への登録が完了した場合を終了条件とするのは、登録されたキャリブレーションデータの多様性が必要なだけ確保できたと考えられるためである。したがって、終了条件が満たされたと終了条件判定部28が判定すれば(ステップS020:Yes)、処理は終了である。
 ただし、ステップS001から最初にステップS020に進んだ場合は、ステップS011も経ていないし、キャリブレーションデータ記憶部26に一つしかキャリブレーションデータが登録されていないので、終了条件判定部28は終了条件が満たされていないと判定し(ステップS020:No)、ステップS011に進む。
 ステップS011では、ロボット制御部20はロボット1に実運用と同じ動作を行わせる。ステップS011におけるロボット1の動作は、連続動作試験といった事前動作確認においてロボット1に実行させる動作であり、図4のキャリブレーションデータの事前登録は、連続動作試験といった事前動作確認作業に追加して実行することが可能である。
 ステップS011における予め定められたロボット1の動作が終了すると、ロボット制御部20は、基準マーカ5を撮像する位置へロボット1の手先を移動させる(ステップS012)。このとき、ロボット制御部20は、ロボット1のロボット座標がステップS001で記憶された基準ロボット座標となるように制御する。
 次に、ビジョンセンサ3が基準マーカ5を撮像して画像データを作成し、画像処理部21が画像データを処理して基準マーカ5のカメラ座標vを取得する(ステップS013)。このとき取得されたカメラ座標vがステップS002または前回のステップS013で取得されたカメラ座標vと異なる場合は、その原因は、ロボット1を稼働させた際の熱ドリフトといった経時的な変化による機構誤差である。
 そして、誤差算出部22がロボット1の制御位置誤差dを算出する(ステップS014)。具体的には、以下の数式(1)に基づいて算出する。
 d=H(v-m)  i=1,..,n   (1)
ここで、v,m,dはベクトルであり、Hは行列である。
 数式(1)におけるHは、ロボット制御部20が現在使用しているキャリブレーションデータであり、mはキャリブレーションデータHに対応する基準マーカ5のカメラ座標である。したがって、(v-m)は、ロボット1が基準ロボット座標となるように制御された状態で撮像された基準マーカ5の現在のカメラ座標vが、使用されているキャリブレーションデータHに対応する基準マーカ5のカメラ座標mからどれだけずれたかを示すカメラ座標における誤差ベクトルである。そして、キャリブレーションデータHに(v-m)を乗ずることによりロボット座標における誤差ベクトルである制御位置誤差dが得られる。
 図5は、実施の形態1におけるカメラ座標における誤差とロボット座標における誤差との関係を説明する図である。図5のカメラ座標においてカメラ座標vに基準マーカ5の現在の認識位置が示されている。そして、ロボット制御部20に現在設定されて使用されているキャリブレーションデータHに対応する基準マーカ5のカメラ座標mも図5のカメラ座標に示されている。カメラ座標vがカメラ座標mからずれているのは、上述したようにロボット1を稼働させた際の熱ドリフトといった経時的変化における機構誤差が原因である。そして、数式(1)の右辺の括弧を外したときの第一項であるHは、ロボット座標における今回のカメラ座標vに対応する計測点となる。数式(1)の右辺の括弧を外したときの第二項であるHは基準マーカ5の設置位置に基づいて決定されるロボット座標における固定座標であり、これが基準ロボット座標になっている。Hが固定座標であることは、基準マーカ5のカメラ座標mが動くことによりキャリブレーションデータHを変更する必要があることを示している。そして、HのHからのずれがロボット座標における誤差ベクトルである制御位置誤差dになっている。
 なお、最初にステップS014に入ったときは、ロボット制御部20が現在使用しているキャリブレーションデータはHであり、キャリブレーションデータHに対応する基準マーカ5のカメラ座標はmであるので、数式(1)は、d=H(v-m)となる。
 ステップS014でロボット1の制御位置誤差dを求めた後、誤差判定部23は、誤差dの絶対値が予め定めた閾値より大きいか否かを判定する(ステップS015)。誤差dの絶対値が閾値以下であると誤差判定部23が判定した場合(ステップS015:No)、ステップS020に進む。
 誤差dの絶対値が予め定めた閾値より大きいと誤差判定部23が判定した場合(ステップS015:Yes)、ステップS016に進み自動キャリブレーションを実行する。ステップS016において、キャリブレーションデータ算出部24が算出した新たなキャリブレーションデータを予備キャリブレーションデータGとする。
 次に、ステップS017において、ステップS016で求められた予備キャリブレーションデータGがキャリブレーションデータ記憶部26に既に登録されているキャリブレーションデータに類似するか否かをキャリブレーションデータ類似判定部25が判定する(ステップS017)。キャリブレーションデータ記憶部26に現在登録されているのはキャリブレーションデータHだけである。したがって、予備キャリブレーションデータGがキャリブレーションデータHに類似するとキャリブレーションデータ類似判定部25が判定した場合(ステップS017:Yes)、予備キャリブレーションデータGは破棄され、ステップS020に進む。予備キャリブレーションデータGがキャリブレーションデータHに類似しないとキャリブレーションデータ類似判定部25が判定した場合(ステップS017:No)、ステップS018に進み、予備キャリブレーションデータGは、キャリブレーションデータHとしてキャリブレーションデータ記憶部26に登録される。
 ステップS017において、予備キャリブレーションデータGが登録されているキャリブレーションデータHと類似するか否かをキャリブレーションデータ類似判定部25が判定する判定方法の一例を以下に説明する。まず、行列である予備キャリブレーションデータGの要素を順に並べてノルムが1のベクトルにして、これをgとする。次に、同じく行列であるキャリブレーションデータHの要素をgを作成したときと同じ順に並べてノルムが1のベクトルにして、これをhとする。そして、gとhとの内積を計算し、定められた値と比較する。gとhとの内積が定められた値以上の場合は、キャリブレーションデータ類似判定部25は、予備キャリブレーションデータGがキャリブレーションデータHに類似していると判定する(ステップS017:Yes)。一方、gとhとの内積が定められた値未満の場合は、キャリブレーションデータ類似判定部25は、予備キャリブレーションデータGがキャリブレーションデータHに類似していないと判定する(ステップS017:No)。
 ステップS018で、予備キャリブレーションデータGがキャリブレーションデータHとして、キャリブレーションデータ記憶部26に登録された後は、ステップS019に進む。
 ステップS019においては、キャリブレーションデータ更新部27が、ロボット制御部20が使用するキャリブレーションデータに設定されているキャリブレーションデータHを、キャリブレーションデータ記憶部26に新たに登録されたキャリブレーションデータHに更新する。その後、ステップS020に進む。
 以上のようにして、図4に示されたフローチャートが実行されて、ステップS018が繰り返し実行されることにより、キャリブレーションデータ記憶部26には、ロボット1の実動作環境における経時的変化を考慮した条件下での多様性を有したn個のキャリブレーションデータであるキャリブレーションデータH,H,..,Hが事前登録されることになる。また、キャリブレーションデータH,H,..,Hそれぞれに対応する基準マーカ5のカメラ座標m,m,..,mもキャリブレーションデータ記憶部26に登録される。
 以上説明したように、実施の形態1にかかるロボット制御装置2によれば、ロボット1を長期稼働させた際の熱ドリフトといった経時的な機構誤差が生じる環境下において、当該機構誤差を考慮した複数のキャリブレーションデータをキャリブレーションデータ記憶部26に登録することができる。これら複数のキャリブレーションデータをロボット制御部20が使用することにより、ロボット1に経時的な変形が加わる場合においても、機構誤差を補正してロボット1の動作の位置精度の向上を図ることが可能となる。
 ロボット制御部20は、登録された複数のキャリブレーションデータをキャリブレーションデータ記憶部26に登録された順番に使用してもよい。また、ロボット制御部20は、登録された複数のキャリブレーションデータをキャリブレーションデータ記憶部26に登録された時間間隔に従って使用してもよい。さらに、ロボット制御部20は、登録された複数のキャリブレーションデータを実施の形態2においてこの後説明する方法に従って使用してもよい。いずれの方法によっても、ロボット1に経時的な変形が加わる場合において、機構誤差を補正してロボット1の動作の位置精度の向上を図ることが期待できる。
 なお、図4に示されたフローチャートは、ロボット1にステップS011の処理を実行させる動作プログラムに、図4のステップS011以外の処理を実行する内容を追加することによって実現することが可能である。
 図1および図2では、ビジョンセンサ3がロボット1の手先に取り付けられているハンドアイ方式の例を示したが、ビジョンセンサ3の設置方式はこれに限定されない。図6は、実施の形態1にかかるロボット1、ビジョンセンサ3および基準マーカ5の別の構成の様子を示す斜視図である。図7は、実施の形態1にかかる固定方式における基準マーカ5の撮像画面を示す図である。図8は、実施の形態1にかかる固定方式における基準マーカ5の撮像画面を示す別の図である。
 図6に示すように、ロボット1が設置されている空間にビジョンセンサ3が動かないように固定されていて、基準マーカ5がロボット1の手先に取り付けられている固定方式を採用してもよい。なお、図6では記載を省いたロボット制御装置2にビジョンセンサ3は接続されている。
 この場合、図4のステップS002およびキャリブレーションデータを登録することになる場合のステップS013において、基準マーカ5のカメラ座標vすなわちカメラ座標mを取得する様子が図7に示される。そして、図7のようにしてカメラ座標mが取得された後、ステップS011が何度か繰り返されて、ロボット1が熱ドリフトといった経時的変化を経た後に、基準マーカ5のカメラ座標vを取得する様子が図8に示される。図8に示されるように、カメラ座標mから経時的変化によりカメラ座標vが動いている。
 このように、固定方式を採用した場合にも、ハンドアイ方式を採用した場合と全く同様に図4のフローチャートを実行することができ、キャリブレーションデータH,H,..,Hをキャリブレーションデータ記憶部26に事前登録することが可能である。なお、ビジョンセンサ3の構成方法は、図4のフローチャートを実行することができるのであれば、ハンドアイ方式および固定方式以外の構成方法を採用してもかまわない。
実施の形態2.
 図9は、本発明の実施の形態2にかかるロボット制御装置6の構成を示す図である。ロボット制御装置6は、図1のロボット制御装置2にキャリブレーションデータ選択部30が追加されている。ロボット制御装置6のキャリブレーションデータ選択部30以外の要素の機能は、同じ符号を付されたロボット制御装置2の要素の機能と同じである。実施の形態2にかかるロボット制御システムの構成は、図1のロボット制御装置2をロボット制御装置6に置き換えた構成である。また、ビジョンセンサ3は、図1および図2のハンドアイ方式、図6の固定方式またはそれ以外のやり方で構成されていてもかまわない。
 図10は、実施の形態2にかかるキャリブレーションデータを使用したロボット制御システムの実運用時のフローチャートである。図10のフローチャートを開始する前に、実施の形態1で説明したように、キャリブレーションデータ記憶部26にキャリブレーションデータH,H,..,Hが事前登録されているとする。そして、使用するキャリブレーションデータとして、キャリブレーションデータH,H,..,Hの中から選択された1つのキャリブレーションデータHがロボット制御部20に設定されている。ロボット制御部20に最初に設定するキャリブレーションデータHは、ロボット1の実運用を開始する際に、熱ドリフトといった経時的変化が起きていない状況であると考えられる場合は、キャリブレーションデータHを選んでもよいが、キャリブレーションデータH,H,..,Hの中から選択されるのであればいずれのキャリブレーションデータであってもかまわない。
 まず、ロボット制御部20は定められた作業を実行するようにロボット1を動作させる(ステップS021)。なお、図4のステップS011では、ステップS021の動作を行っている。
 次に、ロボット制御部20は、基準マーカ5を撮像する位置へロボット1の手先を移動させる(ステップS022)。このとき、ロボット制御部20は、ロボット1が図4のステップS001で記憶された基準ロボット座標となるように制御する。
 次に、ビジョンセンサ3が基準マーカ5を撮像して画像データを作成し、画像処理部21が画像データを処理して基準マーカ5のカメラ座標vを取得する(ステップS023)。
 そして、誤差算出部22がロボット1の制御位置誤差dを算出する(ステップS024)。制御位置誤差dは、実施の形態1でステップS014を説明したときに用いた数式(1)により算出する。したがって、最初にステップS024を実行して求められるd=H(v-m)となる。
 ステップS024でロボット1の制御位置誤差dを求めた後、誤差判定部23は、誤差dの絶対値が予め定めた閾値より大きいか否かを判定する(ステップS025)。誤差dの絶対値が閾値以下であると誤差判定部23が判定した場合(ステップS025:No)、ステップS028に進む。
 誤差dの絶対値が予め定めた閾値より大きいと誤差判定部23が判定した場合(ステップS025:Yes)、ステップS026に進み、キャリブレーションデータ選択部30が、キャリブレーションデータ記憶部26から誤差dの絶対値が最小になるキャリブレーションデータを選択する。具体的には、キャリブレーションデータ記憶部26に登録されているキャリブレーションデータH,H,..,Hについて数式(1)により誤差dを求めて、誤差dの絶対値が最小になるキャリブレーションデータをキャリブレーションデータ選択部30が選択する。
 そして、キャリブレーションデータ更新部27が、ロボット制御部20が使用するキャリブレーションデータに設定されているキャリブレーションデータを、ステップS026で選択されたキャリブレーションデータに更新する(ステップS027)。したがって、最初にステップS026を実行する場合は、ロボット制御部20が使用するキャリブレーションデータに設定されているキャリブレーションデータHがステップS026で選択されたキャリブレーションデータHに更新される。
 その後、ステップS028では、終了条件が満たされるか否かを終了条件判定部28が判定する。終了条件は、ロボット1の実運用における終了条件である。したがって、終了条件が満たされたと終了条件判定部28が判定すれば(ステップS028:Yes)、処理は終了である。終了条件が満たされていないと終了条件判定部28が判定すれば(ステップS028:No)、ステップS021に戻ってロボット1を動作させる。
 図11は、実施の形態2における誤差dの時間変化を説明する図である。図11において、誤差dは、ロボット1の経時的な変化による機械誤差によって時間を経るにつれて増大するが、ステップS027でロボット制御部20が使用するキャリブレーションデータを更新する度に閾値を超えないように減少している様子が示されている。
 以上説明したように、実施の形態2にかかるロボット制御装置6によれば、ロボット1の動作中に経時的な機構誤差に応じたキャリブレーションデータを取得する時間が不要となり、経時的な機構誤差を適切に補正しつつ、ロボット1を効率的に動作させることが可能となる。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 ロボット、2,6 ロボット制御装置、3 ビジョンセンサ、4 作業台、5 基準マーカ、20 ロボット制御部、21 画像処理部、22 誤差算出部、23 誤差判定部、24 キャリブレーションデータ算出部、25 キャリブレーションデータ類似判定部、26 キャリブレーションデータ記憶部、27 キャリブレーションデータ更新部、28 終了条件判定部、30 キャリブレーションデータ選択部、100 ロボット制御システム、201 CPU、202 メモリ、203 記憶装置、204 表示装置、205 入力装置。

Claims (6)

  1.  キャリブレーションデータを使用してロボットの動作を制御するロボット制御部と、
     ビジョンセンサが取得した画像データから基準マーカのカメラ座標を取得する画像処理部と、
     前記キャリブレーションデータに対応する前記基準マーカのカメラ座標と前記基準マーカの現在のカメラ座標との差に基づいて誤差を求める誤差算出部と、
     前記誤差の絶対値が閾値より大きくなった場合に、新たなキャリブレーションデータを算出するキャリブレーションデータ算出部と、
     前記新たなキャリブレーションデータを登録するキャリブレーションデータ記憶部と、
     を備え、
     前記ロボットの動作を間に挟んで前記キャリブレーションデータ算出部に前記新たなキャリブレーションデータを複数回算出させて、前記キャリブレーションデータ記憶部に複数のキャリブレーションデータを登録させる
     ことを特徴とするロボット制御装置。
  2.  前記キャリブレーションデータ記憶部に登録されているキャリブレーションデータと類似しない前記新たなキャリブレーションデータを前記キャリブレーションデータ記憶部に登録させる
     ことを特徴とする請求項1に記載のロボット制御装置。
  3.  前記誤差の絶対値が閾値より大きくなった場合に、前記複数のキャリブレーションデータの中から前記誤差の絶対値が最小になるキャリブレーションデータを選択するキャリブレーションデータ選択部をさらに備え、
     前記ロボット制御部は、前記キャリブレーションデータ選択部が選択したキャリブレーションデータを使用する
     ことを特徴とする請求項1または2に記載のロボット制御装置。
  4.  前記ビジョンセンサは前記ロボットに備えられている
     ことを特徴とする請求項1から3のいずれか1つに記載のロボット制御装置。
  5.  前記ビジョンセンサは動かないように固定されている
     ことを特徴とする請求項1から3のいずれか1つに記載のロボット制御装置。
  6.  キャリブレーションデータを使用してロボットを動作させる動作ステップと、
     ビジョンセンサが取得した画像データから基準マーカのカメラ座標を取得するステップと、
     前記キャリブレーションデータに対応する前記基準マーカのカメラ座標と前記基準マーカの現在のカメラ座標との差に基づいて誤差を求める誤差算出ステップと、
     前記誤差の絶対値が閾値より大きくなった場合に、新たなキャリブレーションデータを算出するステップと、
     前記新たなキャリブレーションデータを登録する登録ステップと、
     を備え、
     前記動作ステップを間に挟んで前記算出するステップに前記新たなキャリブレーションデータを複数回算出させることにより、前記登録ステップが複数のキャリブレーションデータを登録する
     ことを特徴とするキャリブレーション方法。
PCT/JP2017/021349 2017-03-09 2017-06-08 ロボット制御装置およびキャリブレーション方法 WO2018163450A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112017005958.5T DE112017005958T5 (de) 2017-03-09 2017-06-08 Robotersteuerung und Kalibrierungsverfahren
US16/347,196 US20200016757A1 (en) 2017-03-09 2017-06-08 Robot control apparatus and calibration method
CN201780079210.6A CN110114191B (zh) 2017-03-09 2017-06-08 机器人控制装置以及校准方法
JP2017566435A JP6301045B1 (ja) 2017-03-09 2017-06-08 ロボット制御装置およびキャリブレーション方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017045267 2017-03-09
JP2017-045267 2017-03-09

Publications (1)

Publication Number Publication Date
WO2018163450A1 true WO2018163450A1 (ja) 2018-09-13

Family

ID=63448493

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/021349 WO2018163450A1 (ja) 2017-03-09 2017-06-08 ロボット制御装置およびキャリブレーション方法

Country Status (4)

Country Link
US (1) US20200016757A1 (ja)
CN (1) CN110114191B (ja)
DE (1) DE112017005958T5 (ja)
WO (1) WO2018163450A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110193832A (zh) * 2019-03-29 2019-09-03 牧今科技 验证和更新机器人控制用相机校准的方法和控制系统
CN110253629A (zh) * 2019-04-12 2019-09-20 牧今科技 用于更新用于机器人控制的相机校准的方法和控制系统
JP2020116717A (ja) * 2019-01-28 2020-08-06 株式会社Fuji ロボット制御システム
US10906184B2 (en) 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
JPWO2021145280A1 (ja) * 2020-01-14 2021-07-22
US11173609B2 (en) 2019-01-22 2021-11-16 Samsung Electronics Co., Ltd Hand-eye calibration method and system

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019234814A1 (ja) 2018-06-05 2019-12-12 株式会社日立製作所 カメラ位置姿勢校正装置、カメラ位置姿勢校正方法並びにロボット
WO2022074448A1 (en) * 2020-10-06 2022-04-14 Mark Oleynik Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential environments with artificial intelligence and machine learning
CN112719583A (zh) * 2020-12-10 2021-04-30 广东科学技术职业学院 激光传感智能焊接机器人及其焊枪归零计算方法
US11911915B2 (en) * 2021-06-09 2024-02-27 Intrinsic Innovation Llc Determining robotic calibration processes
TWI793044B (zh) * 2022-07-07 2023-02-11 和碩聯合科技股份有限公司 機器手臂的手眼校正方法和手眼校正裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297238A (en) * 1991-08-30 1994-03-22 Cimetrix Incorporated Robot end-effector terminal control frame (TCF) calibration method and device
JP2006035384A (ja) * 2004-07-28 2006-02-09 Fanuc Ltd ロボットシステムにおける3次元視覚センサの再校正方法及び装置
JP2014069272A (ja) * 2012-09-28 2014-04-21 Denso Wave Inc キャリブレーション装置、および撮像装置のキャリブレーション方法
JP2016078195A (ja) * 2014-10-21 2016-05-16 セイコーエプソン株式会社 ロボットシステム、ロボット、制御装置及びロボットの制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3946711B2 (ja) * 2004-06-02 2007-07-18 ファナック株式会社 ロボットシステム
EP2722136A1 (en) * 2012-10-19 2014-04-23 inos Automationssoftware GmbH Method for in-line calibration of an industrial robot, calibration system for performing such a method and industrial robot comprising such a calibration system
JP2014180720A (ja) * 2013-03-19 2014-09-29 Yaskawa Electric Corp ロボットシステム及びキャリブレーション方法
JP6335460B2 (ja) * 2013-09-26 2018-05-30 キヤノン株式会社 ロボットシステムの制御装置及び指令値生成方法、並びにロボットシステムの制御方法
JP6347595B2 (ja) * 2013-11-25 2018-06-27 キヤノン株式会社 ロボット制御方法、及びロボット制御装置
US9889565B2 (en) * 2014-06-23 2018-02-13 Abb Schweiz Ag Method for calibrating a robot and a robot system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297238A (en) * 1991-08-30 1994-03-22 Cimetrix Incorporated Robot end-effector terminal control frame (TCF) calibration method and device
JP2006035384A (ja) * 2004-07-28 2006-02-09 Fanuc Ltd ロボットシステムにおける3次元視覚センサの再校正方法及び装置
JP2014069272A (ja) * 2012-09-28 2014-04-21 Denso Wave Inc キャリブレーション装置、および撮像装置のキャリブレーション方法
JP2016078195A (ja) * 2014-10-21 2016-05-16 セイコーエプソン株式会社 ロボットシステム、ロボット、制御装置及びロボットの制御方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11173609B2 (en) 2019-01-22 2021-11-16 Samsung Electronics Co., Ltd Hand-eye calibration method and system
JP2020116717A (ja) * 2019-01-28 2020-08-06 株式会社Fuji ロボット制御システム
JP7281910B2 (ja) 2019-01-28 2023-05-26 株式会社Fuji ロボット制御システム
US11014241B2 (en) 2019-03-29 2021-05-25 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
US10562186B1 (en) 2019-03-29 2020-02-18 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
US11883964B2 (en) 2019-03-29 2024-01-30 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
JP2020163556A (ja) * 2019-03-29 2020-10-08 株式会社Mujin ロボット制御のためのカメラキャリブレーションを検証及び更新する方法及び制御システム
US11590656B2 (en) 2019-03-29 2023-02-28 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN111230865A (zh) * 2019-03-29 2020-06-05 牧今科技 验证和更新机器人控制用相机校准的方法和控制系统
US10906184B2 (en) 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN110193832A (zh) * 2019-03-29 2019-09-03 牧今科技 验证和更新机器人控制用相机校准的方法和控制系统
CN110193832B (zh) * 2019-03-29 2022-07-05 牧今科技 验证和更新机器人控制用相机校准的方法和控制系统
JP2020183035A (ja) * 2019-04-12 2020-11-12 株式会社Mujin ロボット制御のためのカメラキャリブレーションを更新する方法及び制御システム
US11571816B2 (en) 2019-04-12 2023-02-07 Mujin, Inc. Method and control system for updating camera calibration for robot control
JP2020172015A (ja) * 2019-04-12 2020-10-22 株式会社Mujin ロボット制御のためのカメラキャリブレーションを更新する方法及び制御システム
CN110253629A (zh) * 2019-04-12 2019-09-20 牧今科技 用于更新用于机器人控制的相机校准的方法和控制系统
CN111203915A (zh) * 2019-04-12 2020-05-29 牧今科技 用于更新用于机器人控制的相机校准的方法和控制系统
WO2021145280A1 (ja) * 2020-01-14 2021-07-22 ファナック株式会社 ロボットシステム
JPWO2021145280A1 (ja) * 2020-01-14 2021-07-22
JP7414850B2 (ja) 2020-01-14 2024-01-16 ファナック株式会社 ロボットシステム

Also Published As

Publication number Publication date
CN110114191A (zh) 2019-08-09
US20200016757A1 (en) 2020-01-16
CN110114191B (zh) 2020-05-19
DE112017005958T5 (de) 2019-08-29

Similar Documents

Publication Publication Date Title
WO2018163450A1 (ja) ロボット制御装置およびキャリブレーション方法
JP6301045B1 (ja) ロボット制御装置およびキャリブレーション方法
JP5850962B2 (ja) ビジュアルフィードバックを利用したロボットシステム
CN112964196B (zh) 三维扫描方法、系统、电子装置和计算机设备
US10173324B2 (en) Facilitating robot positioning
US10556342B2 (en) Teaching device, teaching method, and robot system
US8861785B2 (en) Information processing device, information processing method and program
CN114174006B (zh) 机器人手眼标定方法、装置、计算设备、介质以及产品
CN108453701A (zh) 控制机器人的方法、示教机器人的方法和机器人系统
CN113825980B (zh) 机器人手眼标定方法、装置、计算设备以及介质
KR20190070875A (ko) 비전-기반 조작 시스템들의 교정 및 동작
CN112183171A (zh) 一种基于视觉信标建立信标地图方法、装置
CN114310901B (zh) 用于机器人的坐标系标定方法、装置、系统以及介质
KR20150106824A (ko) 제스처 인식 장치 및 제스처 인식 장치의 제어 방법
JP2019098409A (ja) ロボットシステムおよびキャリブレーション方法
JP5282014B2 (ja) 教示ライン補正装置、教示ライン補正方法、及びそのプログラム
JP5267100B2 (ja) 運動推定装置及びプログラム
JP2019077026A (ja) 制御装置、ロボットシステム、制御装置の動作方法及びプログラム
CN110619664B (zh) 基于激光图案辅助的摄像机距离姿态计算方法及服务器
CN108345463B (zh) 基于机器人的三维测量方法、装置、机器人和存储介质
US20200376678A1 (en) Visual servo system
JP2015174206A (ja) ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
JP6631225B2 (ja) 三次元形状測定装置
JP6079352B2 (ja) ロボット制御方法、ロボット制御装置、ロボット、ロボットシステム、及びプログラム
CN111683797B (zh) 标定方法及标定装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017566435

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 17900197

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17900197

Country of ref document: EP

Kind code of ref document: A1