WO2023277095A1 - 補正システム及び教示データの補正方法 - Google Patents

補正システム及び教示データの補正方法 Download PDF

Info

Publication number
WO2023277095A1
WO2023277095A1 PCT/JP2022/026072 JP2022026072W WO2023277095A1 WO 2023277095 A1 WO2023277095 A1 WO 2023277095A1 JP 2022026072 W JP2022026072 W JP 2022026072W WO 2023277095 A1 WO2023277095 A1 WO 2023277095A1
Authority
WO
WIPO (PCT)
Prior art keywords
tool
imaging
robot
marker
electrode
Prior art date
Application number
PCT/JP2022/026072
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 川崎重工業株式会社
Publication of WO2023277095A1 publication Critical patent/WO2023277095A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K11/00Resistance welding; Severing by resistance heating
    • B23K11/10Spot welding; Stitch welding
    • B23K11/11Spot welding
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the technology disclosed herein relates to a correction system and a teaching data correction method.
  • Patent Document 1 discloses a teaching system that uses offline teaching to teach the operation of a multi-joint arm that moves a welding gun with respect to a workpiece.
  • This teaching system includes a marker provided on the welding gun in place of the electrode for spot welding of the welding gun, an imaging unit for imaging the marker, and correction means for correcting the motion of the articulated arm based on the imaging result of the imaging unit. and
  • the position of the marker corresponding to the position of the electrode is measured from the imaging result, and the deviation between the real machine and the simulator is calculated based on this to correct the operation program.
  • the position or posture of the welding gun or the posture of the articulated arm may cause the marker to be hidden by the welding gun or the articulated arm when viewed from the imaging unit.
  • the marker cannot be imaged by the imaging unit, the positions of the electrodes cannot be measured, and it is difficult to appropriately correct the teaching data.
  • a correction system disclosed herein includes a first imaging target provided on a tool of a robot, an imaging device for imaging the first imaging target, and a correction device for correcting teaching data of the robot, wherein the correction The device corrects the teaching data based on the detected position of the tool obtained from the imaging result of the first imaging target captured by the imaging device when the robot operates according to the teaching data, and corrects the teaching data.
  • An imaging target is a plurality of markers provided at mutually different positions on the tool.
  • the teaching data correction method disclosed herein includes: operating a robot according to teaching data; imaging a first imaging target provided on a tool of the robot operated according to the teaching data with an imaging device; correcting the teaching data based on the detected position of the tool obtained from imaging results of the first imaging target imaged by the imaging device, wherein the first imaging target is located at different positions on the tool. includes a plurality of markers provided in the .
  • the teaching data of the robot can be corrected appropriately.
  • FIG. 1 is a schematic diagram showing the configuration of the correction system according to the embodiment.
  • FIG. 2 is a side view of the tool;
  • FIG. 3 is a plan view of the tool.
  • FIG. 4 is a rear view of the tool.
  • FIG. 5 is an enlarged plan view showing a state in which the jig is attached to the tool.
  • FIG. 6 is a diagram showing a schematic hardware configuration of the control device.
  • FIG. 7 is a block diagram showing a schematic hardware configuration of the robot controller.
  • FIG. 8 is a diagram showing a schematic software configuration of the control device.
  • FIG. 9 is a block diagram showing a schematic software configuration of the robot controller.
  • FIG. 10 is a flow chart of the correction system.
  • FIG. 11 is a sequence diagram of the correction system.
  • FIG. 12 is a cross-sectional view schematically showing a modification of the first marker.
  • FIG. 13 is a diagram showing another modification of the first marker.
  • FIG. 1 shows a schematic configuration of a correction system 100 according to the embodiment.
  • the correction system 100 is included in the robot system 101.
  • the robot system 101 includes a robot 4 in addition to the correction system 100 .
  • the correction system 100 executes correction processing for correcting teaching data of the robot 4 .
  • the teaching data is data that defines the position and posture of the robot 4 during the motion of the robot 4 .
  • the teaching data is used when the robot 4 is automatically operated. That is, automatic operation of the robot 4 is realized by controlling the robot 4 based on the teaching data.
  • the correction system 100 corrects this teaching data.
  • the robot 4 is an industrial robot.
  • the robot 4 works on the object W.
  • the work performed by the robot 4 is welding, more specifically, spot welding.
  • the object W is, for example, two plates that are superimposed.
  • the robot 4 has a robot arm 5 and a tool 6 as an end effector.
  • the robot arm 5 changes the position and orientation of the tool 6 (hereinafter, the position and orientation are referred to as “position etc.”).
  • the robot arm 5 is of a vertical articulated type.
  • the correction system 100 includes a first imaging target 1 , an imaging device 39 and a correction device 3 .
  • a first imaging target 1 is provided on a tool 6 of a robot 4 .
  • the imaging device 39 images the first imaging target 1 .
  • the correction device 3 corrects teaching data of the robot 4 .
  • the correction device 3 corrects the teaching data based on the position and orientation of the tool 6 obtained from the imaging result of the first imaging target 1 captured by the imaging device 39 when the robot 4 operates according to the teaching data.
  • the obtained position and orientation of the tool 6 will be referred to as "detected position" and “detected orientation”, respectively, and both will be collectively referred to as "detected position and the like".
  • the robot 4 may further have a base 41 that supports the robot arm 5.
  • the robot 4 is installed, for example, by fixing the base 41 to an installation target such as a floor.
  • the robot 4 has a base coordinate system defined with the base 41 as a reference.
  • the robot arm 5 includes multiple links 51, multiple joints 52, and multiple motors 53 (see FIG. 7). Each joint 52 rotatably connects two adjacent links 51 . A plurality of motors 53 rotationally drive a plurality of joints 52, respectively. Each motor 53 is, for example, a servo motor.
  • Figures 2, 3 and 4 are a side view, a plan view and a rear view of the tool, respectively.
  • the tool 6 is a welding gun having a first electrode 61 and a second electrode 62 for welding.
  • the tool 6 further has a tool body 60 and an electrode driving device 63 in addition to the first electrode 61 and the second electrode 62 .
  • the tool body 60 is attached to a link 51 positioned at the tip of the robot arm 5 .
  • Each of the first electrode 61 and the second electrode 62 is formed in a bar shape.
  • the tip of the first electrode 61 and the tip of the second electrode 62 face each other.
  • the first electrode 61 is directly attached to the tool body 60.
  • the position of the first electrode 61 with respect to the tool body 60 is fixed.
  • the second electrode 62 is attached to the tool body 60 via an electrode driver 63 .
  • the position of the second electrode 62 relative to the tool body 60 is variable.
  • the tool body 60 has an attachment portion 64 and a support portion 65 .
  • the mounting portion 64 is configured to be detachable from the robot arm 5 .
  • the support portion 65 is connected to the mounting portion 64 .
  • the support portion 65 supports the first electrode 61 and the electrode driving device 63 . Substantially, the support portion 65 supports the second electrode 62 via the electrode driving device 63 .
  • the support portion 65 is formed in a C shape.
  • a first electrode 61 is attached to one end of the support portion 65 .
  • the first electrode 61 is fixed to the support portion 65 .
  • An electrode driving device 63 is attached to the end of the supporting portion 65 opposite to the first electrode 61 .
  • the electrode driver 63 drives the second electrode 62 to change the position of the second electrode 62 with respect to the first electrode 61 .
  • the electrode driving device 63 has a driving mechanism 68 that moves the second electrode 62 and a driving source 69 for the driving mechanism 68 .
  • the drive mechanism 68 is a ball screw mechanism having a screw shaft and a nut. The screw shaft moves in its axial direction as the nut rotates.
  • a second electrode 62 is attached to the screw shaft either directly or via another member.
  • the drive source 69 is, for example, a servomotor.
  • the power generated by the drive source 69 rotates the nut, thereby moving the second electrode 62 and changing the position of the second electrode 62 with respect to the first electrode 61 . As a result, the distance from the first electrode 61 to the second electrode 62 is changed.
  • the tool 6 further has a voltage application device 67 (see FIG. 7).
  • a voltage application device 67 applies a voltage between the first electrode 61 and the second electrode 62 .
  • a voltage is applied between the first electrode 61 and the second electrode 62 by the voltage applying device 67 while the object W is sandwiched between the tip of the first electrode 61 and the tip of the second electrode 62. , the object W is welded.
  • the first imaging target 1 is provided on the tool 6.
  • the first imaging target 1 is a plurality of markers provided at different positions on the tool 6 .
  • the first imaging target 1 includes a plurality of first markers 10 provided at different positions on the tool 6 .
  • the first marker 10 is an example of a marker.
  • the first marker 10 is provided on the tool body 60.
  • the plurality of first markers 10 are arranged in the tool body 60 so that at least one first marker 10 can be imaged by the imaging device 39 regardless of the position of the tool 6 when the image of the tool 6 is captured by the imaging device 39 . are distributed in the
  • the correction system 100 further includes a second imaging target 2 (see FIG. 5).
  • FIG. 5 is an enlarged plan view showing the second object 2 to be imaged.
  • a second imaging target 2 is positioned in association with a specific portion of the tool 6 .
  • "arranged in association with a specific portion” means arranged with a predetermined positional relationship with the specific portion.
  • the correction system 100 further includes a jig 21 attached to the tool body 60 .
  • the jig 21 is provided with the second imaging target 2 .
  • the jig 21 is attached to the tool body 60 with reference to a specific portion of the tool 6.
  • the particular portion of the tool 6 is the tool tip, specifically the first electrode 61 (more specifically the tip of the first electrode 61).
  • “attached with reference to a specific part” means that the position and orientation are determined with reference to a specific part.
  • the jig 21 is detachable from the tool body 60.
  • the jig 21 may be attached to the tool body 60 only during a specific process in the correction process, and removed from the tool body 60 at other times.
  • the imaging device 39 is installed, for example, on a structure such as a wall, ceiling, floor, or pillar, or on an installation installed on the structure. That is, the imaging device 39 is fixedly arranged at the installation location of the robot 4 .
  • the imaging device 39 is installed at a position where it can image the first imaging target 1 provided on the tool 6 throughout the entire work of the robot 4, for example. That is, the range of movement of the first imaging target 1 during the entire work of the robot 4 is included in the angle of view of the imaging device 39 .
  • the imaging device 39 acquires a three-dimensional image, a stereo image, or a depth image of the robot.
  • the imaging device 39 is, for example, a camera capable of capturing still images.
  • the imaging device 39 can communicate with the correction device 3.
  • the imaging device 39 receives a command from the correction device 3 and performs imaging.
  • the imaging device 39 inputs the imaging result to the correction device 3 .
  • the correction device 3 has a control device 8 and a robot control device 7, as shown in FIG.
  • the control device 8 can communicate with the imaging device 39 and the robot control device 7 .
  • the control device 8 controls the entire robot system 101 and the entire correction system 100 .
  • the control device 8 outputs a command to the robot control device 7 to cause the robot control device 7 to operate the robot 4 . Further, the control device 8 controls the correction process as a whole.
  • the robot control device 7 controls the robot 4.
  • the robot control device 7 receives commands from the control device 8 and executes automatic operation of the robot 4 .
  • the robot controller 7 operates the robot 4 according to teaching data.
  • the control device 8 has a control section 80 , a storage section 81 and a memory 82 .
  • the control unit 80 implements various functions of the control device 8 by reading the program from the storage unit 81 to the memory 82 and developing it.
  • the control unit 80 is formed from a processor such as a CPU (Central Processing Unit), for example.
  • the control unit 80 may be formed from MCU (Micro Controller Unit), MPU (Micro Processor Unit), FPGA (Field Programmable Gate Array), PLC (Programmable Logic Controller), system LSI (large scale integrated circuit), and the like.
  • the storage unit 81 stores programs executed by the control unit 80 and various data.
  • the storage unit 81 is formed of a non-volatile memory, HDD (Hard Disc Drive), SSD (Solid State Drive), or the like.
  • HDD Hard Disc Drive
  • SSD Solid State Drive
  • the storage unit 81 stores a correction program for correcting teaching data.
  • the memory 82 temporarily stores data and the like.
  • Memory 82 is formed of, for example, a volatile memory.
  • FIG. 7 shows a schematic hardware configuration of the robot control device 7.
  • the robot control device 7 has a control section 70 , a storage section 71 and a memory 72 .
  • the control unit 70 implements various functions of the robot control device 7 by reading the program from the storage unit 71 to the memory 72 and developing it.
  • the control unit 70 is formed from a processor such as a CPU, for example.
  • the control unit 70 may be formed from an MCU, MPU, FPGA, PLC, system LSI, or the like.
  • the storage unit 71 stores programs executed by the control unit 70 and various data.
  • the storage unit 71 is formed of a nonvolatile memory, HDD, SSD, or the like.
  • the memory 72 temporarily stores data and the like.
  • the memory 72 is formed of, for example, volatile memory.
  • the storage unit 71 stores a teaching program for causing the robot 4 to perform a predetermined work.
  • the teaching program is a program for operating the robot 4 according to teaching data.
  • the storage unit 71 stores teaching data. Further, the storage unit 71 stores the corrected teaching data.
  • the work of the robot 4 executed according to the teaching data is, for example, the work of welding a plurality of different parts of the object W or a plurality of objects W with the tool 6 .
  • the robot control device 7 drives the plurality of motors 53 of the robot arm 5 to move the tool 6 to a plurality of different hitting positions, and drives the electrode driving device 63 and the voltage applying device 67 at each hitting position. Welding with the tool 6 is performed.
  • the teaching data defines the trajectory of the robot 4 in its motion.
  • the teaching data discretely define the position and orientation of a specific portion of the tool 6 during the motion of the robot 4 .
  • the teaching data defines the angle of each joint 52 when the specific portion (tool tip) is positioned at a predetermined teaching point in a predetermined posture. Since the length of each link 51 is known, once the angle of each joint 52 of the robot 4 is determined, the position and orientation of the robot 4, that is, the position and orientation of a specific portion of the tool 6 are uniquely determined.
  • a plurality of teaching points are, for example, a plurality of hitting positions in welding work.
  • the teaching data is time-series data in which the angles of the joints 52 corresponding to the hitting positions are arranged in the order of the hitting positions passed.
  • the initial data of the teaching data in the storage unit 71 that is, the teaching data before correction is obtained in advance.
  • Teaching data before correction is acquired by offline teaching, for example. Offline teaching is performed using, for example, a robot model in virtual space.
  • FIG. 8 is a block diagram showing the software configuration of the control device 8. As shown in FIG.
  • the control device 8 has a receiver 83, an image processor 84, a relative relationship acquirer 85, a position detector 86, and a deviation calculator 87 as functional blocks.
  • the control unit 80 implements these functional blocks by reading out the correction program from the storage unit 81 into the memory 72 and expanding it.
  • the acceptor 83 accepts a correction processing execution instruction from the user.
  • the acceptor 83 starts correction processing when an instruction is input from the user.
  • the acceptor 83 causes the robot controller 7 to move the robot 4 according to the teaching data.
  • the image processor 84 detects the positions of the first marker 10 and the second marker 20 in the base coordinate system by causing the imaging device 39 to perform imaging and processing the imaging result of the imaging device 39 .
  • the relative relationship acquirer 85 acquires the relative positional relationship between the first marker 10 and a specific portion of the tool 6.
  • the specific portion is the tool tip of the robot 4, specifically the first electrode 61 (more specifically, the tip of the first electrode 61).
  • the relative positional relationship is the position and orientation of the first electrode 61 with respect to the first imaging target 1 .
  • the relative relationship acquirer 85 receives the positions of the first marker 10 and the second marker 20 in the base coordinate system detected by the image processor 84, and determines the relative positional relationship between the first marker 10 and the first electrode 61. demand.
  • the image processor 84 images the tool body 60 to which the jig 21 is attached in order to acquire the relative positional relationship.
  • the relative relationship acquirer 85 obtains the position and orientation of the tool coordinate system set for the tool 6 based on the positions of the multiple first markers 10 .
  • the tool 6 is set with a tool coordinate system defined by orthogonal three axes. Since the position of the first marker 10 on the tool body 60 is known, if the position of the first marker 10 is known, the origin position of the tool coordinate system and the direction of the coordinate axes can also be known.
  • the relative relationship acquirer 85 obtains the position and orientation of the first electrode 61 from the positions of the plurality of second markers 20 . Since the plurality of second markers 20 are arranged in association with the first electrodes 61 , the position and orientation of the first electrodes 61 can be obtained from the positions of the plurality of second markers 20 . The position and orientation of the tool coordinate system and the position and orientation of the first electrode 61 are obtained based on the base coordinate system.
  • the relative relationship acquirer 85 obtains the position and orientation of the first electrode 61 in the tool coordinate system based on the positions of the second markers 20 with respect to the multiple first markers 10 .
  • the position and orientation of the first electrode 61 in this tool coordinate system are an example of the relative positional relationship between the first marker 10 and the first electrode 61 .
  • the relative relationship acquirer 85 stores the obtained position and orientation of the first electrode 61 in the tool coordinate system in the storage unit 71 .
  • the position detector 86 receives the position of the first marker 10 in the base coordinate system detected by the image processor 84, and detects the detected position of the tool 6 and the like. The position detector 86 detects the detected position of the tool 6 and the like when the robot 4 operates according to the teaching data.
  • the position detector 86 detects the position and orientation of the first electrode 61, which is the specific portion. First, the position detector 86 detects the position and orientation of the tool body 60 based on the position of the first marker 10 in the base coordinate system detected by the image processor 84 . For example, the position detector 86 obtains the origin position and the orientation of the coordinate axes of the tool coordinate system in the base coordinate system as the position and orientation of the tool body 60 . Subsequently, the position detector 86 reads the position and orientation of the first electrode 61 in the tool coordinate system from the storage section 71 . The position detector 86 obtains the position and orientation of the first electrode 61 in the base coordinate system from the origin position and orientation of the coordinate axes of the tool coordinate system and the position and orientation of the first electrode 61 in the tool coordinate system.
  • the deviation calculator 87 obtains the deviation between the target position and target orientation of the first electrode 61 (hereinafter referred to as the "target position, etc.”), which is a specific portion, and the detected position, etc. of the first electrode 61. Specifically, the deviation calculator 87 sets the position and orientation of the first electrode 61 defined by the teaching data as the target position and orientation, respectively. The deviation calculator 87 receives teaching data from the robot control device 7 and calculates the target position of the first electrode 61 and the like based on the teaching data. The teaching data is the angle of each joint 52 as described above. Since the length of each link 51 is known, the deviation calculator 87 can obtain the position and orientation of the tool body 60 when the angle of each joint 52 is known.
  • Design values for the position and orientation of the first electrode 61 with respect to the tool body 60 are set for each tool 6 .
  • the deviation calculator 87 can obtain the position and orientation of the first electrode 61 from the position and orientation of the tool body 60 as the target position and orientation.
  • the deviation calculator 87 calculates the deviation between the obtained target position of the first electrode 61 and the detected position of the first electrode 61 detected by the position detector 86 (hereinafter referred to as "deviation of the specific portion"). calculate.
  • the deviation calculator 87 outputs the determined deviation of the specific portion to the robot controller 7 .
  • FIG. 9 is a block diagram showing a schematic software configuration of the robot control device 7. As shown in FIG.
  • the robot controller 7 has a motion controller 73 and a compensator 74 as functional blocks.
  • the control unit 70 of the robot control device 7 implements these functional blocks by reading the program from the storage unit 71 (see FIG. 7) into the memory 72 and developing it.
  • the motion controller 73 controls the robot 4 according to the teaching program stored in the storage unit 71. Specifically, the motion controller 73 moves the robot 4 according to teaching data.
  • the motion controller 73 reads the angle of each joint 52 defined by the teaching data from the storage unit 71, and outputs the angle of each joint 52 to the servo amplifier (driver) as a command angle to the motor 53 corresponding to each joint 52. do.
  • the servo amplifier feedback-controls the current applied to the motor 53 so that the angle of each joint 52 becomes the command angle.
  • the motion controller 73 not only controls the robot 4 when correcting the teaching data, but also controls the motion of the robot 4 during normal operation of the robot 4 based on the teaching data.
  • the motion controller 73 operates the tool 6 by outputting commands to the voltage application device 67 and the drive source 69 in addition to outputting command angles to the motor 53 .
  • the corrector 74 corrects the teaching data stored in the storage unit 71 .
  • a corrector 74 corrects the teaching data based on the deviation of the specific portion.
  • the target position and target orientation of the specific portion are the position and orientation of the specific portion defined by the initial data of the teaching data.
  • the corrector 74 corrects the teaching data based on the deviation between the detected position or the like of the first electrode 61, which is the specific portion, and the target position or the like.
  • the corrector 74 receives the deviation of the specific part from the control device 8 and corrects the angle of each joint 52 in the teaching data so that the deviation becomes small.
  • the corrector 74 stores the corrected teaching data in the storage unit 71 .
  • the first marker 10 is attached to the tool body 60.
  • the first marker 10 is substantially spherical.
  • the first marker 10 is a self-luminous marker capable of emitting light by itself.
  • the light source of the self-luminous marker is, for example, an LED (Light Emitting Diode).
  • the position detector 86 can properly determine the position and orientation of the tool body 60. Therefore, the plurality of first markers 10 are dispersedly arranged on the tool body 60 so that at least three first markers 10 can be imaged by the imaging device 39 regardless of the position and orientation of the tool body 60. is preferred.
  • the tool body 60 has a first surface 60a and a second surface 60b facing opposite sides.
  • the direction parallel to the facing direction of the first electrode 61 and the second electrode 62 that is, the driving direction of the second electrode 62 by the electrode driving device 63
  • the first surface 60a and the second surface 60b Each is oriented in a direction intersecting the vertical direction.
  • a plurality of first markers 10 are provided on each of the first surface 60a and the second surface 60b. Specifically, three first markers 10 are arranged on the first surface 60a, and three first markers 10 are arranged on the second surface 60b. More specifically, one first marker 10 is arranged on the attachment portion 64 portion of the first surface 60a, and two first markers 10 are arranged on the support portion 65 portion of the first surface 60a. The first markers 10 are similarly arranged on the second surface 60b. That is, the tool body 60 is provided with a total of six first markers 10 .
  • a plurality of second markers 20 are provided on a jig 21 shown in FIG. 5, for example.
  • the jig 21 has a substantially cylindrical mounting portion 22 mounted on the first electrode 61 and three blades 23 radially extending from the mounting portion 22 in a radial direction centered on the mounting portion 22 .
  • the mounting portion 22 is attached to the tool body 60 so as not to rotate with respect to the first electrode 61 .
  • the blades 23 are arranged every 120 degrees in the circumferential direction around the mounting portion 22 .
  • the plurality of second markers 20 are provided at different positions on the jig 21 . Specifically, a second marker 20 is provided at the tip of each blade 23 . The three second markers 20 form an equilateral triangle.
  • the second marker 20 is a non-luminous marker. Specifically, the second marker 20 is a notch formed in the jig 21 (specifically, the tip of the blade 23).
  • the plurality of second markers 20 are provided on the jig 21 so that all the second markers 20 and the tips of the first electrodes 61 are virtually arranged on the same plane. That is, the first electrode 61, which is the specific portion, is arranged on a virtual plane including the plurality of second markers 20. As shown in FIG. In this example, the first electrode 61 is positioned at the center of gravity of the equilateral triangle formed by the three second markers 20 .
  • FIG. 10 is a flowchart showing correction processing.
  • FIG. 11 is a sequence diagram showing correction processing.
  • step S1 the acceptor 83 of the control device 8 accepts a correction process execution instruction from the user.
  • the acceptor 83 displays an acceptance screen on the display of the control device 8 and waits for input of an execution instruction from the user.
  • the acceptor 83 starts the correction process.
  • the relative relationship acquirer 85 requests the user to attach the jig 21 to the tool body 60 in step S2.
  • the relative relationship acquirer 85 makes this attachment request by voice output or display of the control device 8 .
  • the user Upon receiving the mounting request, the user mounts the jig 21 to the tool body 60 as shown in FIG.
  • the relative relationship acquirer 85 determines whether or not the attachment of the jig 21 is completed in step S3. For example, the relative relationship acquirer 85 determines whether or not there is an input to the control device 8 from the user to the effect that the installation has been completed. The relative relationship acquirer 85 waits until the attachment of the jig 21 is completed.
  • the relative relationship acquirer 85 acquires the relative positional relationship between the first marker 10 and the specific portion of the tool 6 to which the jig 21 is attached in step S4.
  • the robot 4 is operated so as to be arranged in a position and posture (hereinafter referred to as “acquisition position, etc.”) for obtaining the data.
  • acquisition position a position and posture
  • the relative relationship acquirer 85 outputs to the robot controller 7 a command to operate the robot 4 so that the tool 6 is arranged at the acquisition position (step ss41).
  • the robot control device 7 Upon receiving the command from the relative relationship acquirer 85, the robot control device 7 operates the robot 4 and moves the tool 6 to the acquisition position (step ss42).
  • the acquisition positions and the like are the positions and orientations of the tool 6 in which at least three or more first markers 10 and three second markers 20 are visible from the imaging device 39 without being hidden by other objects. Acquisition positions and the like are determined in advance.
  • the robot control device 7 outputs a movement completion report to the control device 8 (step ss43).
  • the relative relationship acquirer 85 determines whether or not the movement of the tool 6 has been completed in step S5. Specifically, the relative relationship acquirer 85 determines whether or not a movement completion report has been received from the robot controller 7 . The relative relationship acquirer 85 waits until it receives a movement completion report.
  • the relative relationship acquirer 85 acquires the relative positional relationship between the first marker 10 and the first electrode 61 in step S6. Specifically, first, the image processor 84 captures an image of the robot 4 with the tool 6 placed at the acquisition position or the like, and obtains the positions of the first marker 10 and the second marker 20 from the imaging result. The relative relationship acquirer 85 obtains the position of the first electrode 61 and the like in the tool coordinate system based on the obtained positions of the first marker 10 and the second marker 20 . The relative relationship acquirer 85 stores the obtained position of the first electrode 61 in the tool coordinate system in the storage unit 81 .
  • the relative relationship acquirer 85 requests the user to remove the jig 21 from the tool body 60 in step S7.
  • the relative relationship acquirer 85 issues this removal request through voice output or display of the control device 8 .
  • the user Upon receiving the removal request, the user removes the jig 21 from the tool body 60.
  • the user inputs to the control device 8 that the removal is completed. Acquisition of the relative positional relationship between the first marker 10 and the first electrode 61 is thereby completed.
  • the position detector 86 causes the robot 4 to operate according to the teaching data in step S8. Specifically, as shown in FIG. 11, the position detector 86 outputs to the robot controller 7 a command to operate the robot 4 according to the teaching data (step ss81a).
  • the motion controller 73 receives a command from the position detector 86 and starts motion of the robot 4 according to the teaching data.
  • the motion controller 73 operates the robot 4 such that the first electrode 61 (that is, the specific portion) moves in order to all teaching points defined by the teaching data.
  • the teaching data defines the angle of each joint 52 when the first electrode 61 is positioned at each teaching point, as described above.
  • the motion controller 73 outputs the angle of each joint 52 corresponding to one teaching point to the motor 53 . As a result, the first electrode 61 moves to the teaching point (step ss82a).
  • the motion controller 73 When the first electrode 61 moves to the teaching point, the motion controller 73 outputs a motion completion report to the control device 8 (step ss83a). At this time, the motion controller 73 outputs the teaching data (specifically, the information of the teaching point where the first electrode 61 is positioned (that is, the angle of each joint 52)) together with the motion completion report.
  • the position detector 86 determines whether or not the movement of the first electrode 61 to the teaching point has been completed in step S9. Specifically, the position detector 86 determines whether or not an operation completion report has been received from the operation controller 73 . Position detector 86 waits until it receives an operation completion report.
  • the deviation calculator 87 obtains the deviation of the specific portion in step S10.
  • the image processor 84 captures an image of the robot 4 with the first electrode 61 positioned at the teaching point, and obtains the position of the first marker 10 from the imaging result.
  • the position detector 86 obtains the origin position and the orientation of the coordinate axes of the tool coordinate system based on the obtained position of the first marker 10 .
  • the position detector 86 detects the position of the first electrode 61 in the base coordinate system based on the determined origin position and direction of the coordinate axis of the tool coordinate system and the position of the first electrode 61 in the tool coordinate system read from the storage unit 71 . Find the position of 61 and so on.
  • the obtained position and the like of the first electrode 61 are the detection position and the like of the first electrode 61 .
  • the deviation calculator 87 calculates the target position etc. of the first electrode 61 based on the teaching data received from the motion controller 73 .
  • the deviation calculator 87 calculates the deviation between the obtained target position and the like of the first electrode 61 and the detected position and the like of the first electrode 61 detected by the position detector 86 .
  • the deviation calculator 87 associates the obtained deviation of the specific portion with the information of the teaching point and stores it in the storage unit 81 .
  • the position detector 86 determines in step S11 whether or not the movement of the first electrode 61 to all teaching points has been completed. Specifically, when the movement of the first electrode 61 to all the teaching points is completed, the motion controller 73 notifies the control device 8 of the completion of all motions indicating that all motions of the robot 4 according to the teaching data have been completed. Output. Position detector 86 determines whether or not a full completion report has been received from motion controller 73 .
  • the position detector 86 returns to step S8 and outputs again to the robot control device 7 a command to operate the robot 4 according to the teaching data (step ss81b).
  • the motion controller 73 receives the command from the position detector 86 and moves the first electrode 61 to the next teaching point (step ss82b). When the first electrode 61 moves to the next teaching point, the motion controller 73 outputs corresponding teaching data and a motion completion report to the controller 8 (step ss83b).
  • the deviation calculator 87 obtains the deviation of the specific portion in step S10, and determines in step S11 whether or not the movement of the first electrode 61 to all teaching points has been completed. Thus, the processing of steps S8, S9, S10, and S11 is repeated until the movement of the first electrode 61 to all teaching points is completed.
  • step S11 the motion controller 73 outputs the corresponding teaching data, motion completion report, and all completion report to the control device 8 (step ss83x).
  • a deviation calculator 87 calculates the deviation of a specific portion corresponding to the last taught point. Since the deviation calculator 87 has received the all-completion report, the process proceeds from step S11 to step S12.
  • the deviation calculator 87 reads the deviations of all the specific portions from the storage unit 81 and outputs them to the robot control device 7 (step ss12).
  • the corrector 74 corrects the angle of each joint 52 in the teaching data so that each deviation becomes small in step S13.
  • the corrector 74 stores the corrected teaching data in the storage unit 71 . After that, the corrector 74 outputs a correction completion report to the control device 8 (step ss13).
  • the deviation calculator 87 ends the correction process upon receiving the correction completion report.
  • the robot control device 7 uses the corrected teaching data when the robot 4 is normally operated.
  • the first imaging target 1 is a plurality of first markers 10 provided at mutually different positions on the tool 6 . Therefore, when the robot 4 is operated according to the teaching data and the imaging device 39 captures an image of the first imaging target 1, even if one first marker 10 is positioned at a position that cannot be captured by the imaging device 39, the other first markers 10 can be captured. There is a possibility that the marker 10 can be imaged by the imaging device 39 . In other words, a situation in which the imaging device 39 can capture an image of at least one first marker 10 is more likely to occur. Therefore, the position and orientation of the tool 6 can be detected appropriately, and the teaching data can be corrected appropriately.
  • the first markers 10 are provided on a first surface 60a and a second surface 60b, which are a plurality of surfaces of the tool 6 facing in different directions. That is, the first marker 10 is provided on each of the first surface 60a and the second surface 60b.
  • the imaging device 39 can image the first marker 10 more reliably.
  • the first surface 60a and the second surface 60b are surfaces facing opposite sides. Therefore, even if one of the first surface 60a and the second surface 60b is oriented in a direction that is difficult for the imaging device 39 to image, the other surface is more likely to be oriented in a direction that is easy for the imaging device 39 to image.
  • At least three first markers 10 are provided on each of the first surface 60a and the second surface 60b. Therefore, when the imaging device 39 can image the first surface 60a or the second surface 60b, it is possible to image at least three first markers 10 .
  • the positions of the three first markers 10 are known, not only the position of the tool 6 but also the attitude of the tool 6 can be obtained.
  • the specific portion is detected based on the imaging result of the first marker 10 provided on the tool body 60 and the relative positional relationship between the first marker 10 and the specific portion (the first electrode 61 in this example). Location, etc. are required. That is, the detection position or the like of the specific portion is not directly obtained using the imaging result of the specific portion, but the imaging result of the first marker 10 provided on the tool body 60, which is a portion different from the specific portion, is used. The detection position and the like of the specific portion can be obtained indirectly by using this.
  • the detection position and the like of the specific portion can be detected. can be easily obtained.
  • the specific portion is the first electrode 61, the second electrode 62, the electrode driving device 63, the supporting portion 65, etc. are arranged around the first electrode 61. Therefore, the first electrode 61 is It is easy to hide from the imaging device 39 .
  • the position of the first marker 10 can be determined on the tool body 60 with a relatively high degree of freedom. That is, the first marker 10 can be easily arranged at a position not hidden from the imaging device 39 . As a result, the detection position of the first electrode 61 and the like can be obtained appropriately.
  • the relative positional relationship between the first marker 10 and the first electrode 61 is the imaging result of the first marker 10 and the second marker 20 arranged in association with the first electrode 61, that is, the position of the tool 6. It is obtained based on the imaging result of the actual machine. Therefore, the relative positional relationship between the first marker 10 and the first electrode 61 can be obtained accurately regardless of the deflection of the tool 6, the dimensional error of the tool 6, and the like. Detection positions and the like can be obtained more accurately.
  • the second marker 20 is provided on a jig 21 that is detachable from the tool body 60 . Therefore, when operating the robot 4 according to the teaching data in the correction process, the jig 21 can be removed from the tool body 60 . In the state where the jig 21 is attached to the tool body 60, the jig 21 prevents the tool 6 from reaching the teaching point when the robot 4 operates according to the teaching data. 10 may be hidden from the imaging device 39 . Therefore, by removing the jig 21 from the tool body 60 , the tool 6 can be appropriately reached at the teaching point, and the image of the first marker 10 can be properly imaged by the imaging device 39 .
  • the first marker 10 is a self-luminous marker capable of emitting light. Therefore, for example, even when the tool body 60 is made of a material that easily reflects light, such as metal, when the image of the first marker 10 is captured by the imaging device 39, light reflection or the like by the tool body 60 may occur. The effect of disturbance can be reduced, and the first marker 10 can be properly imaged.
  • the first imaging target 1 includes four or more first markers 10 . Once the positions of the at least three first markers 10 are known, the position and orientation of the tool body 60 can be determined. When four or more first markers 10 are provided, even if one first marker 10 is hidden from the imaging device 39, the imaging device 39 can image the remaining three or more first markers 10. can be done. In other words, a situation in which at least three first markers 10 can be photographed is likely to occur.
  • a correction system 100 includes a first imaging target 1 provided on a tool 6 of a robot 4, an imaging device 39 imaging the first imaging target 1, and teaching data of the robot 4. Based on the detected position of the tool 6 obtained from the imaging result of the first imaging target 1 imaged by the imaging device 39 when the robot 4 operates according to the teaching data
  • the first imaging target 1 is a plurality of first markers 10 (markers) provided at mutually different positions on the tool 6 .
  • the detection position of the tool 6 can be obtained appropriately, and the teaching data of the robot 4 can be corrected appropriately.
  • a correction system 100 according to a second aspect of the technology of the present disclosure is the correction system 100 according to the first aspect, in which the first marker 10 has a first surface 60a and a second surface 60b facing different directions of the tool 6. (several planes).
  • the imaging device 39 can image the first marker 10 more reliably.
  • a correction system 100 according to a third aspect of the technology of the present disclosure is the correction system 100 according to the second aspect, in which the first marker 10 has a first surface 60a and a second surface of the tool 6 facing opposite sides. 60b.
  • the imaging device 39 can image the first marker 10 more reliably.
  • a correction system 100 according to a fourth aspect of the technology of the present disclosure is the correction system 100 according to any one of the first to third aspects, wherein the tool 6 includes a tool body 60 and a second 1 electrode 61 (specific portion), the first imaging target 1 includes a plurality of first markers 10 provided on the tool body 60, and the control device 8 controls imaging of the first markers 10 by the imaging device 39.
  • the detected position of the first electrode 61 is obtained from the result and the relative positional relationship between the first marker 10 and the first electrode 61 , and the teaching data is corrected based on the detected position of the first electrode 61 .
  • the detection position of the first electrode 61 can be appropriately determined from the imaging result of the first marker 10 provided on the tool body 60. can be asked for.
  • the correction system 100 according to the fifth aspect of the technology of the present disclosure is the correction system 100 according to the fourth aspect, further comprising a second imaging target 2 arranged in association with the first electrode 61 (specific portion),
  • the control device 8 obtains the relative positional relationship from the imaging results of the first marker 10 and the second imaging target 2 imaged by the imaging device 39 .
  • the second imaging target 2 is arranged to have a predetermined positional relationship with the first electrode 61 .
  • the relative positional relationship of one electrode 61 can be obtained accurately.
  • a correction system 100 according to a sixth aspect of the technology of the present disclosure in the correction system 100 according to the fifth aspect, further includes a jig 21 attached to the tool body 60 with the first electrode 61 as a reference;
  • the imaging target 2 is a plurality of second markers 20 provided at different positions on the jig 21 .
  • the relative positional relationship of the first electrode 61 with respect to the first marker 10 can be obtained. Moreover, since the jig 21 is provided with a plurality of second markers 20, the relative positional relationship of the first electrode 61 to the first markers 10 can be determined more accurately.
  • a correction system 100 according to a seventh aspect of the technology of the present disclosure is the correction system 100 according to the sixth aspect, in which the first electrode 61 is arranged on a virtual plane including the plurality of second markers 20.
  • a correction system 100 according to the eighth aspect of the technology of the present disclosure is the correction system 100 according to the sixth or seventh aspect, in which the jig 21 is used by the robot 4 to capture an image of the first marker 10 with the imaging device 39 . is removed from the tool body 60 when operating according to the teaching data.
  • the robot 4 can operate according to the teaching data while the jig 21 is removed from the tool body 60 . Therefore, when the image of the first marker 10 is imaged by the imaging device 39, the first marker 10 is not hidden by the jig 21, and the image of the first marker 10 can be appropriately imaged. Moreover, it is possible to prevent the jig 21 from interfering with the movement of the tool 6 when the robot 4 is operated according to the teaching data.
  • a correction system 100 according to a ninth aspect of the technology of the present disclosure is a correction system 100 according to any one of the fourth to eighth aspects, in which the first marker 10 is a self-luminous marker capable of emitting light.
  • the imaging device 39 in imaging the first marker 10 by the imaging device 39, by causing the first marker 10 to emit light, for example, it is possible to reduce the influence of disturbance such as reflection of light by the tool body 60.
  • the first marker 10 can be properly imaged.
  • a correction system 100 according to a tenth aspect of the technology of the present disclosure is the correction system 100 according to any one of the fourth to ninth aspects, wherein the tool 6 has a first electrode 61 (electrode) for welding. Gunn, and the particular part is the first electrode 61 .
  • the detected position of the first electrode 61 of the welding gun is obtained based on the imaging result of the first marker 10 by the imaging device 39, and the teaching data is corrected based on the detected position of the first electrode 61. be able to. Therefore, welding can be properly performed by the welding gun.
  • a teaching data correction method is to operate the robot 4 according to the teaching data, and to move the first imaging target 1 provided on the tool 6 of the robot 4 operated according to the teaching data. and correcting the teaching data based on the detection position of the tool 6 obtained from the imaging result of the first imaging target 1 imaged by the imaging device 39, the first imaging target 1 includes a plurality of first markers 10 (markers) provided at mutually different positions on the tool 6 .
  • the detection position of the tool 6 can be obtained appropriately, and the teaching data of the robot 4 can be corrected appropriately.
  • the first marker 10 may be a self-luminous marker as shown in FIG.
  • This first marker 10 has a light source 12 and a cover 13 that covers the light source 12 .
  • the cover 13 is provided with a window portion 14 through which the light emitted from the light source 12 passes.
  • the window part 14 is, for example, a hole or a transparent or translucent part through which light can pass.
  • the window 14 has, for example, a circular, triangular, quadrangular, or star-shaped shape.
  • the self-luminous marker emits light having substantially the same shape as the window portion 14 .
  • the shape of the first marker 10 can be changed for each first marker 10 simply by changing the shape of the window portion 14 . Therefore, the control device 8 can easily determine which part of the tool 6 the first marker 10 is arranged on the basis of the imaging result of the first marker 10 . can be obtained more easily.
  • the first marker 10 may be a marker whose appearance changes depending on the viewing angle.
  • the first marker 10 may include multiple marks 15 as shown in FIG.
  • First marker 10 preferably includes three or more marks 15 .
  • a polygon whose vertices are three or more marks 15 changes its shape according to the viewing angle. Therefore, the orientation of the polygon (for example, the normal direction), that is, the orientation of the tool 6, is obtained based on the outline of the polygon having three or more marks 15 as vertices captured by the imaging device 39. be able to.
  • the plurality of marks 15 may be configured to be distinguishable from each other by their shapes, colors, or the like. Thereby, the posture of the tool 6 can be obtained more easily.
  • the first marker 10 may be provided with a symbol (including letters and numbers) 16 or a graphic that allows identification of each of the plurality of first markers 10 .
  • a symbol including letters and numbers
  • a graphic that allows identification of each of the plurality of first markers 10 .
  • each first marker 10 may be determined as described below. First, an image of the tool 6 is imaged by the imaging device 39, and an approximate posture of the tool 6 is obtained by comparing the imaged result with pre-registered CAD data of the tool 6 or the like. Thereafter, based on the obtained approximate posture of the tool 6, the detection range of each first marker 10 is automatically changed and each first marker 10 is detected. By detecting the first markers 10 in this way, for example, it is possible to determine which part of the tool 6 each of the first markers 10 is the first marker 10 placed without changing the shape or the like for each first marker 10 . It is possible to determine whether
  • the robot 4 is not limited to an industrial robot, and may be a medical robot, for example.
  • the robot arm 5 is not limited to a vertical multi-joint type, and may be a horizontal multi-joint type, a parallel link type, a Cartesian coordinate type, a polar coordinate type, or the like.
  • the mechanism for moving the tool 6 is not limited to the robot arm.
  • the object W to be welded by the robot 4 is not limited to two plates, and may be a combination of members other than plates, for example.
  • the work performed by the robot 4 may be welding other than spot welding, such as arc welding or laser welding. Also, the work may be work other than welding, such as drilling, grinding, polishing, painting, assembly or sorting.
  • the shape and size of the tool body 60 can be changed as appropriate.
  • the drive mechanism 68 of the tool 6 is not limited to a ball screw mechanism, and may be another mechanism such as a link mechanism.
  • the drive source 69 of the tool 6 may be a motor other than the servomotor. Further, the drive source 69 is not limited to a motor, and may be, for example, a hydraulic or pneumatic piston or an electric linear actuator.
  • the tool 6 of the robot 4 is not limited to a welding gun.
  • the tool 6 may be a drilling, grinding, polishing or painting device, a robot hand, or the like.
  • correction device 3 may be formed from one device including the functions of the robot control device 7 and the functions of the control device 8 .
  • the instruction to execute the correction process may be received by the robot control device 7 or may be received by another device.
  • each of the communication between the imaging device 39 and the control device 8 and the communication between the imaging device 39 and the robot control device 7 may be wired communication or wireless communication.
  • the imaging device 39 may be a camera capable of capturing moving images.
  • the corrector 74 may correct the teaching data each time the control device 8 acquires the deviation of the specific portion. Further, the correction processing by the correction device 3 is not limited to being performed only once as in the flowchart shown in FIG. For example, after correction of the teaching data, it is determined whether or not the deviation of the specific portion has become equal to or less than a predetermined threshold. The correction process may be repeated until
  • the relative positional relationship between the first marker 10 and the specific portion of the tool 6 is not limited to that acquired by imaging the second imaging target 2 with the imaging device 39 .
  • the relative positional relationship between the first marker 10 and a specific portion of the tool 6 may be set based on design values of the tool 6 or the like. In this case, the processing of steps S2 to S7 shown in FIG. 10 can be omitted.
  • teaching data is not limited to the angle of each joint 52, and may be the position and orientation of a specific portion of the robot 4 such as the tip of a tool.
  • teaching point in the teaching data is not limited to the hitting position.
  • teaching point may include a waypoint to the hitting position in addition to the hitting position.
  • the work of the robot 4 that is executed according to the teaching data may be the work of welding only one part of the object W.
  • teaching data before correction can be used for direct teaching by the teacher directly touching and moving the actual robot 4, teaching by remote control by the teacher using a teaching pendant, or operation of the master-slave device by the teacher. may be acquired by teaching or the like.
  • the motion controller 73 of the robot control device 7 does not have to have the function of controlling the motion of the robot 4 during normal operation of the robot 4 based on the teaching data. That is, the robot control device 7 may have another functional block for controlling normal operation of the robot 4 .
  • the first marker 10 may be a marker whose appearance changes depending on the angle at which the first marker 10 is viewed, such as having an aspherical shape. In this case, as long as the first imaging target 1 has at least two first markers 10, even if one of the first markers 10 cannot be imaged by the imaging device 39, the other first marker 10 can be imaged. Then, since the orientation of the first marker 10 is known, the position and orientation of the tool 6 can be obtained.
  • the surface of the tool 6 on which the first marker 10 is provided is not limited.
  • the first markers 10 may not be provided on the surfaces of the tool 6 that face opposite sides, or may be provided on a plurality of surfaces that do not face opposite sides but face different directions.
  • the position and number of the 1st markers 10 provided in the tool main body 60 are not limited.
  • the first markers 10 may be arranged in addition to or instead of the six first markers 10 shown in FIGS. may be provided on a plane that intersects with
  • the light source of the self-luminous marker as the first marker 10 is not limited to an LED, and may be an incandescent lamp, organic electroluminescence, or the like.
  • the first marker 10 may be a non-luminous marker that does not emit light.
  • a non-luminous marker is, for example, a figure, a pattern, a convex portion, a concave portion, a hole, a notch, or the like.
  • the shape of the first marker 10 is not limited. Also, the first marker 10 may be provided on the first electrode 61, the second electrode 62, the electrode driving device 63, or the like instead of the tool body 60. FIG.
  • the first marker 10 may be directly attached to the tool body 60, or may be indirectly attached via another member.
  • the jig 21 may be directly attached to the tool body 60, or may be indirectly attached to the tool body 60 via another member.
  • the jig 21 may be attached to the tool body 60 when the robot 4 operates in the correction process. Also, the correction system 100 may not include the jig 21 , and the second imaging target 2 may be provided directly on the tool body 60 , for example.
  • the plurality of second markers 20 can be arranged at arbitrary positions as long as they are arranged in association with a specific portion.
  • the first electrode 61 may be positioned at the midpoint of the line segment formed by the two second markers 20 .
  • the first electrode 61 may be positioned at the center of gravity of the polygon with the plurality of second markers 20 as vertices.
  • the first electrode 61 is arranged not at the center of gravity of the figure formed by the plurality of second markers 20 but at an arbitrary position. be able to.
  • the first electrode is placed at a position where the ratio of the distance from one second marker 20 to the distance from the other second marker 20 is 1:2. 61 may be located.
  • the second markers 20 can be arranged with a high degree of freedom.
  • the second marker 20 may be arranged at the specific portion instead of at a position away from the specific portion. That is, when imaging the second marker 20, the robot 4 moves to the acquisition position, which is the position for imaging the second marker 20, regardless of the teaching data. By setting the acquisition position or the like to a position and orientation in which the second marker 20 arranged in the specific portion is not hidden from the image pickup device 39, the image of the second marker 20 arranged in the specific portion can be appropriately imaged by the image pickup device 39. can be done.
  • each second marker 20 is not limited to a notch, and may be a pattern, a convex portion, a concave portion, a hole, or the like. Also, each second marker 20 may be a self-luminous marker as shown in FIGS. 12 and 13 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

補正システム100は、ロボット4のツール6に設けられた第1撮像対象1と、第1撮像対象1を撮像する撮像装置39と、ロボット4の教示データを補正する補正装置3とを備える。補正装置3は、ロボット4が教示データに従って動作する際に撮像装置39によって撮像された第1撮像対象1の撮像結果から求められるツール6の検出位置に基づいて教示データを補正し、第1撮像対象1は、ツール6における互いに異なる位置に設けられた複数のマーカ10である。

Description

補正システム及び教示データの補正方法
 ここに開示された技術は、補正システム及び教示データの補正方法に関する。
 特許文献1には、溶接ガンをワークに対して移動させる多関節アームの動作をオフラインティーチングにより教示する教示システムが開示されている。この教示システムは、溶接ガンのスポット溶接用の電極に代えて溶接ガンに設けられるマーカと、マーカを撮像する撮像部と、撮像部の撮像結果に基づいて多関節アームの動作を補正する補正手段とを備えている。この教示システムでは、電極の位置に相当するマーカの位置を撮像結果から計測し、これにより、実機とシミュレータとのずれを算出して動作プログラムを補正する。
特開2020-69568号公報
 前述の教示システムでは、例えば、溶接ガンの位置若しくは姿勢、又は多関節アームの姿勢等によって、マーカが撮像部から見て溶接ガン又は多関節アーム等に隠れる可能性がある。この場合、マーカは撮像部で撮像できないため、電極の位置を計測できず、教示データの補正を適切に行うことが難しい。
 ここに開示された技術は、かかる点に鑑みてなされたものであり、その目的とするところは、ロボットの教示データを適切に補正できるようにすることにある。
 ここに開示された補正システムは、ロボットのツールに設けられた第1撮像対象と、前記第1撮像対象を撮像する撮像装置と、前記ロボットの教示データを補正する補正装置とを備え、前記補正装置は、前記ロボットが前記教示データに従って動作する際に前記撮像装置によって撮像された前記第1撮像対象の撮像結果から求められる前記ツールの検出位置に基づいて前記教示データを補正し、前記第1撮像対象は、前記ツールにおける互いに異なる位置に設けられた複数のマーカである。
 ここに開示された教示データの補正方法は、ロボットを教示データに従って動作させることと、前記教示データに従って動作させられたロボットのツールに設けられた第1撮像対象を撮像装置によって撮像することと、前記撮像装置によって撮像された前記第1撮像対象の撮像結果から求められる前記ツールの検出位置に基づいて前記教示データを補正することとを含み、前記第1撮像対象は、前記ツールにおける互いに異なる位置に設けられた複数のマーカを含んでいる。
 前記補正システムによれば、ロボットの教示データを適切に補正することができる。
 前記教示データの補正方法によれば、ロボットの教示データを適切に補正することができる。
図1は、実施形態に係る補正システムの構成を示す模式図である。 図2は、ツールの側面図である。 図3は、ツールの平面図である。 図4は、ツールの背面図である。 図5は、ツールに治具を取り付けた状態を示す拡大平面図である。 図6は、制御装置の概略的なハードウェア構成を示す図である。 図7は、ロボット制御装置の概略的なハードウェア構成を示すブロック図である。 図8は、制御装置の概略的なソフトウェア構成を示す図である。 図9は、ロボット制御装置の概略的なソフトウェア構成を示すブロック図である。 図10は、補正システムのフローチャートである。 図11は、補正システムのシーケンス図である。 図12は、第1マーカの変形例を概略的に示す断面図である。 図13は、第1マーカの他の変形例を示す図である。
 以下、例示的な実施形態を図面に基づいて詳細に説明する。図1に実施形態に係る補正システム100の概略構成を示す。
 補正システム100は、ロボットシステム101に含まれている。ロボットシステム101は、補正システム100に加えて、ロボット4を備えている。補正システム100は、ロボット4の教示データを補正する補正処理を実行する。教示データは、ロボット4の動作におけるロボット4の位置及び姿勢を規定するデータである。教示データは、ロボット4を自動運転する際などに用いられる。すなわち、ロボット4が教示データに基づいて制御されることによって、ロボット4の自動運転が実現される。補正システム100は、この教示データを補正する。
 ロボット4は、産業用ロボットである。ロボット4は、対象物Wに対して作業を行う。ロボット4が行う作業は、溶接であり、詳しくは、スポット溶接である。対象物Wは、例えば、重ね合わされた2枚の板である。
 ロボット4は、ロボットアーム5と、エンドエフェクタとしてのツール6とを備えている。ロボットアーム5は、ツール6の位置及び姿勢(以下、位置及び姿勢を「位置等」という)を変更する。ロボットアーム5は、垂直多関節型である。
 補正システム100は、第1撮像対象1と、撮像装置39と、補正装置3とを備えている。第1撮像対象1は、ロボット4のツール6に設けられている。撮像装置39は、第1撮像対象1を撮像する。補正装置3は、ロボット4の教示データを補正する。詳しくは、補正装置3は、ロボット4が教示データに従って動作する際に撮像装置39によって撮像された第1撮像対象1の撮像結果から求められるツール6の位置及び姿勢に基づいて教示データを補正する。以下、求められたツール6の位置及び姿勢をそれぞれ、「検出位置」及び「検出姿勢」と称し、両者を合わせて「検出位置等」と称する。
 ロボット4は、ロボットアーム5を支持するベース41をさらに有してもよい。ロボット4は、例えば、ベース41が床等の設置対象に固定されることで、設置される。ロボット4は、ベース41を基準に規定されたベース座標系を有する。
 ロボットアーム5は、複数のリンク51と、複数の関節52と、複数のモータ53(図7参照)とを備えている。各関節52は、隣り合う2つのリンク51を回転可能に接続している。複数のモータ53は、それぞれ、複数の関節52を回転駆動する。各モータ53は、例えば、サーボモータである。
 図2、図3及び図4は、それぞれ、ツールの側面図、平面図及び背面図である。ツール6は、溶接用の第1電極61及び第2電極62を有する溶接ガンである。ツール6は、第1電極61及び第2電極62に加えて、ツール本体60及び電極駆動装置63をさらに有している。ツール本体60は、ロボットアーム5の先端に位置するリンク51に取り付けられている。第1電極61及び第2電極62の各々は、棒状に形成されている。第1電極61の先端と、第2電極62の先端とは、対向している。
 第1電極61は、ツール本体60に直接取り付けられている。第1電極61のツール本体60に対する位置は、固定されている。第2電極62は、電極駆動装置63を介してツール本体60に取り付けられている。第2電極62のツール本体60に対する位置は、変更可能である。
 ツール本体60は、取付部64と支持部65とを有している。取付部64は、ロボットアーム5に対して着脱可能に構成されている。支持部65は、取付部64に接続されている。支持部65は、第1電極61と電極駆動装置63とを支持している。実質的には、支持部65は、電極駆動装置63を介して第2電極62を支持している。
 支持部65は、C字状に形成されている。支持部65の一端部には、第1電極61が取り付けられている。第1電極61は、支持部65に対して固定されている。支持部65における第1電極61とは反対側の端部には、電極駆動装置63が取り付けられている。電極駆動装置63は、第2電極62を駆動して、第1電極61に対する第2電極62の位置を変更する。
 電極駆動装置63は、第2電極62を移動させる駆動機構68と、駆動機構68の駆動源69とを有している。駆動機構68は、ねじ軸及びナットを有するボールねじ機構である。ねじ軸は、ナットの回転に伴ってねじ軸の軸方向に移動する。ねじ軸には、直接又は他の部材を介して第2電極62が取り付けられている。駆動源69は、例えば、サーボモータである。
 駆動源69で発生した動力によってナットが回転することにより、第2電極62が移動し、第2電極62の第1電極61に対する位置が変更される。この結果、第1電極61から第2電極62までの距離が変更される。
 ツール6は、電圧印加装置67(図7参照)をさらに有している。電圧印加装置67は、第1電極61と第2電極62との間に電圧を印加する。第1電極61の先端と第2電極62の先端との間に対象物Wが挟み込まれた状態で、電圧印加装置67によって第1電極61及び第2電極62間に電圧が印加されることにより、対象物Wが溶接される。
 第1撮像対象1は、ツール6に設けられている。第1撮像対象1は、ツール6において互いに異なる位置に設けられた複数のマーカである。具体的には、第1撮像対象1は、ツール6において互いに異なる位置に設けられた複数の第1マーカ10を含んでいる。第1マーカ10は、マーカの一例である。
 第1マーカ10は、ツール本体60に設けられている。複数の第1マーカ10は、撮像装置39によってツール6を撮像したときに、ツール6の位置等にかかわらず、少なくとも1つの第1マーカ10が撮像装置39によって撮像され得るように、ツール本体60に分散して配置されている。
 補正システム100は、第2撮像対象2(図5参照)をさらに備えている。図5は、第2撮像対象2を示す拡大平面図である。第2撮像対象2は、ツール6の特定部分に関連付けて配置される。ここで、「特定部分に関連付けて配置される」とは、特定部分と所定の位置関係を有して配置されることを意味する。詳しくは、補正システム100は、ツール本体60に取り付けられる治具21をさらに備えている。治具21には、第2撮像対象2が設けられている。
 治具21は、ツール6の特定部分を基準にしてツール本体60に取り付けられる。この例では、ツール6の特定部分は、ツール先端であり、具体的には第1電極61(さらに詳しくは、第1電極61の先端)である。ここで、「特定部分を基準に取り付けられる」とは、位置及び姿勢が特定部分を基準にして決められることを意味する。
 治具21は、ツール本体60に対して着脱可能である。治具21は、補正処理における特定の処理時にだけツール本体60に取り付けられ、それ以外のときにはツール本体60から取り外されてもよい。
 撮像装置39は、例えば、壁、天井、床又は柱等の構造物、若しくは構造物に設置された設置物等に設置される。つまり、撮像装置39は、ロボット4の設置場所に固定的に配置されている。撮像装置39は、例えば、ロボット4の作業の全体において、ツール6に設けられた第1撮像対象1を撮像し得る位置に設置される。つまり、ロボット4の作業の全体における第1撮像対象1の移動範囲は、撮像装置39の画角に含まれる。撮像装置39は、ロボットの三次元画像、ステレオ画像又はデプス画像を取得する。撮像装置39は、例えば、静止画を撮像可能なカメラである。
 撮像装置39は、補正装置3と通信可能である。撮像装置39は、補正装置3からの指令を受けて、撮像を行う。撮像装置39は、撮像結果を補正装置3に入力する。
 補正装置3は、図1に示すように、制御装置8とロボット制御装置7とを有している。制御装置8は、撮像装置39及びロボット制御装置7と通信可能である。
 制御装置8は、ロボットシステム101の全体を制御すると共に補正システム100の全体を制御する。例えば、制御装置8は、ロボット制御装置7に指令を出力して、ロボット制御装置7にロボット4を動作させる。また、制御装置8は、補正処理を全体的に統括する。
 ロボット制御装置7は、ロボット4を制御する。例えば、ロボット制御装置7は、制御装置8からの指令を受けて、ロボット4の自動運転を実行する。自動運転においては、ロボット制御装置7は、ロボット4を教示データに従って動作させる。
 図6に、制御装置8の概略的なハードウェア構成を示す。制御装置8は、制御部80、記憶部81及びメモリ82を有している。
 制御部80は、記憶部81からプログラムをメモリ82に読み出して展開することによって、制御装置8の各種機能を実現する。制御部80は、例えば、CPU(Central Processing Unit)等のプロセッサから形成される。制御部80は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)、システムLSI(large scale integrated circuit)等から形成されてもよい。
 記憶部81は、制御部80で実行されるプログラム及び各種データを記憶する。記憶部81は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。例えば、記憶部81は、教示データの補正を行う補正プログラムを記憶している。メモリ82は、データ等を一時的に記憶する。メモリ82は、例えば、揮発性メモリで形成される。
 図7に、ロボット制御装置7の概略的なハードウェア構成を示す。ロボット制御装置7は、制御部70、記憶部71及びメモリ72を有している。
 制御部70は、記憶部71からプログラムをメモリ72に読み出して展開することによって、ロボット制御装置7の各種機能を実現する。制御部70は、例えば、CPU等のプロセッサから形成される。制御部70は、MCU、MPU、FPGA、PLC、システムLSI等から形成されてもよい。
 記憶部71は、制御部70で実行されるプログラム及び各種データを記憶する。記憶部71は、不揮発性メモリ、HDD又はSSD等で形成される。メモリ72は、データ等を一時的に記憶する。メモリ72は、例えば、揮発性メモリで形成される。
 記憶部71は、ロボット4に所定の作業を行わせるための教示プログラムを記憶する。教示プログラムは、ロボット4を教示データに従って動作させるためのプログラムである。言い換えると、記憶部71は、教示データを記憶する。さらに、記憶部71は、補正後の教示データを記憶していく。
 教示データに従って実行されるロボット4の作業は、例えば、対象物Wの複数の異なる個所又は複数の対象物Wをツール6によって溶接する作業である。この場合、ロボット制御装置7は、ロボットアーム5の複数のモータ53を駆動してツール6を複数の異なる打点位置に移動させ、各打点位置において電極駆動装置63及び電圧印加装置67を駆動してツール6による溶接を実行する。
 教示データは、ロボット4の動作におけるロボット4の軌跡を規定している。例えば、教示データは、ロボット4の動作におけるツール6の特定部分の位置及び姿勢を離散的に規定している。
 この例では、教示データは、特定部分(ツール先端)が所定の姿勢で所定の教示点に位置するときの各関節52の角度を規定している。各リンク51の長さは既知であるため、ロボット4の各関節52の角度が決まると、ロボット4の位置及び姿勢、即ち、ツール6の特定部分の位置及び姿勢が一義的に決まる。
 複数の教示点は、例えば、溶接作業における複数の打点位置である。教示データは、各打点位置に対応する各関節52の角度が、通過する打点位置の順に並んだ時系列データである。
 記憶部71における教示データの初期データ、即ち、補正前の教示データは、予め取得される。補正前の教示データは、例えば、オフライン教示によって取得される。オフライン教示は、例えば、仮想空間上のロボットモデルを用いて行われる。
 図8は、制御装置8のソフトウェア構成を示すブロック図である。制御装置8は、機能ブロックとして、受付器83、画像処理器84、相対関係取得器85、位置検出器86及び偏差算出器87を有している。制御部80は、記憶部81から補正プログラムをメモリ72に読み出して展開することによって、これらの機能ブロックを実現する。
 受付器83は、ユーザからの補正処理の実行指示を受け付ける。受付器83は、ユーザからの指示が入力されると、補正処理を開始する。例えば、受付器83は、ロボット制御装置7に、教示データに従ったロボット4の動作を実行させる。
 画像処理器84は、撮像装置39に撮像を実行させ、撮像装置39の撮像結果を画像処理することで、ベース座標系における第1マーカ10及び第2マーカ20の位置を検出する。
 相対関係取得器85は、第1マーカ10とツール6の特定部分との相対的な位置関係を取得する。この例では、特定部分は、ロボット4のツール先端であり、具体的には第1電極61(さらに具体的には、第1電極61の先端)である。つまり、相対的な位置関係は、第1撮像対象1を基準とした第1電極61の位置及び姿勢である。
 相対関係取得器85は、画像処理器84で検出されたベース座標系における第1マーカ10及び第2マーカ20の位置を受け取り、第1マーカ10と第1電極61との相対的な位置関係を求める。つまり、相対的な位置関係を取得するために、画像処理器84は、治具21が取り付けられたツール本体60を撮像する。
 相対関係取得器85は、複数の第1マーカ10の位置に基づいて、ツール6に設定されたツール座標系の位置及び姿勢を求める。元々、ツール6には、直交三軸で規定されるツール座標系が設定されている。ツール本体60における第1マーカ10の位置が既知であるので、第1マーカ10の位置がわかれば、ツール座標系の原点位置、及び座標軸の向きもわかる。また、相対関係取得器85は、複数の第2マーカ20の位置から第1電極61の位置及び姿勢を求める。複数の第2マーカ20は、第1電極61に関連付けて配置されるため、複数の第2マーカ20の位置から第1電極61の位置及び姿勢を求めることができる。ツール座標系の位置及び姿勢、並びに、第1電極61の位置及び姿勢は、ベース座標系を基準に求められる。
 その後、相対関係取得器85は、複数の第1マーカ10に対する第2マーカ20の位置に基づいて、ツール座標系における第1電極61の位置及び姿勢を求める。このツール座標系における第1電極61の位置及び姿勢が、第1マーカ10と第1電極61との相対的な位置関係の一例である。相対関係取得器85は、求められた、ツール座標系における第1電極61の位置及び姿勢を記憶部71に記憶する。
 位置検出器86は、画像処理器84で検出したベース座標系における第1マーカ10の位置を受け取り、ツール6の検出位置等を検出する。位置検出器86は、教示データに従ってロボット4が動作する際のツール6の検出位置等を検出する。
 具体的には、位置検出器86は、特定部分である第1電極61の位置及び姿勢を検出する。まず、位置検出器86は、画像処理器84で検出したベース座標系における第1マーカ10の位置に基づいてツール本体60の位置及び姿勢を検出する。例えば、位置検出器86は、ベース座標系におけるツール座標系の原点位置及び座標軸の向きを、ツール本体60の位置及び姿勢として求める。続いて、位置検出器86は、記憶部71からツール座標系における第1電極61の位置及び姿勢を読み出す。位置検出器86は、ツール座標系の原点位置及び座標軸の向きと、ツール座標系における第1電極61の位置及び姿勢とから、ベース座標系における第1電極61の位置及び姿勢を求める。
 偏差算出器87は、特定部分である第1電極61の目標位置及び目標姿勢(以下、両者を合わせて「目標位置等」という)と第1電極61の検出位置等との偏差を求める。詳しくは、偏差算出器87は、教示データで規定される第1電極61の位置及び姿勢をそれぞれ目標位置及び目標姿勢とする。偏差算出器87は、ロボット制御装置7から教示データを受け取り、教示データに基づいて第1電極61の目標位置等を算出する。教示データは、前述の如く、各関節52の角度である。各リンク51の長さは既知であるため、偏差算出器87は、各関節52の角度がわかると、ツール本体60の位置及び姿勢を求めることができる。ツール本体60に対する第1電極61の位置及び姿勢の設計値がツール6ごとに設定されている。偏差算出器87は、この設計値を用いることによって、ツール本体60の位置及び姿勢から第1電極61の位置及び姿勢を目標位置及び目標姿勢として求めることができる。
 偏差算出器87は、求められた第1電極61の目標位置等と位置検出器86によって検出された第1電極61の検出位置等との偏差(以下、「特定部分の偏差」と称する)を算出する。偏差算出器87は、求められた特定部分の偏差をロボット制御装置7へ出力する。
 図9は、ロボット制御装置7の概略的なソフトウェア構成を示すブロック図である。ロボット制御装置7は、機能ブロックとして、動作制御器73と補正器74とを有している。ロボット制御装置7の制御部70は、記憶部71(図7参照)からプログラムをメモリ72に読み出して展開することによって、これらの機能ブロックを実現する。
 動作制御器73は、記憶部71で記憶された教示プログラムに従ってロボット4を制御する。詳しくは、動作制御器73は、教示データに従ってロボット4を動作させる。動作制御器73は、教示データで規定される各関節52の角度を記憶部71から読み出し、各関節52の角度を各関節52に対応するモータ53への指令角度としてサーボアンプ(ドライバ)に出力する。サーボアンプは、各関節52の角度が指令角度となるように、モータ53へ印加する電流をフィードバック制御する。
 動作制御器73は、教示データの補正時にロボット4を制御するだけでなく、教示データに基づくロボット4の通常運転の際にもロボット4の動作を制御する。例えば、動作制御器73は、モータ53へ指令角度を出力することに加えて、電圧印加装置67及び駆動源69への指令も出力することによってツール6を動作させる。
 補正器74は、記憶部71に記憶された教示データを補正する。補正器74は、特定部分の偏差に基づいて教示データを補正する。特定部分の目標位置及び目標姿勢は、教示データの初期データで規定される特定部分の位置及び姿勢である。この例では、補正器74は、特定部分である第1電極61の検出位置等と目標位置等との偏差に基づいて教示データを補正する。補正器74は、特定部分の偏差を制御装置8から受け取り、偏差が小さくなるように教示データにおける各関節52の角度を補正する。補正器74は、補正後の教示データを記憶部71に記憶する。
 第1マーカ10は、ツール本体60に取り付けられる。第1マーカ10は、略球状である。第1マーカ10は、自ら発光可能な自発光マーカである。自発光マーカの光源は、例えば、LED(Light Emitting Diode)である。
 少なくとも3つの第1マーカ10の位置がわかると、位置検出器86は、ツール本体60の位置及び姿勢を適切に求めることができる。このため、複数の第1マーカ10は、ツール本体60の位置及び姿勢にかかわらず、撮像装置39によって少なくとも3つの第1マーカ10が撮像され得るように、ツール本体60に分散して配置されることが好ましい。
 具体的には、ツール本体60は、互いに反対側を向く第1面60a及び第2面60bを有している。第1電極61と第2電極62との対向方向(即ち、電極駆動装置63による第2電極62の駆動方向)と平行な方向を上下方向としたとき、第1面60a及び第2面60bの各々は、上下方向と交差する方向を向いている。
 第1面60a及び第2面60bの各々に、複数の第1マーカ10が設けられている。具体的には、第1面60aに3つの第1マーカ10が配置され、第2面60bに3つの第1マーカ10が配置されている。より詳しくは、第1面60aのうち取付部64の部分に1つの第1マーカ10が配置され、第1面60aのうち支持部65の部分に2つの第1マーカ10が配置されている。第2面60bにおいても同様に第1マーカ10が配置されている。つまり、ツール本体60には、合計6つの第1マーカ10が設けられている。
 複数の第2マーカ20は、例えば図5に示す治具21に設けられる。治具21は、第1電極61に装着される略円筒状の装着部22と、装着部22を中心とする半径方向へ装着部22から放射状に延びる3つの羽根23とを有している。装着部22は、第1電極61に対して回転不能にツール本体60に取り付けられる。羽根23は、装着部22を中心とする周方向において120度ごとに配置されている。
 複数の第2マーカ20は、治具21における互いに異なる位置に設けられている。具体的には、各羽根23の先端に第2マーカ20が設けられている。3つの第2マーカ20は、正三角形を形成している。
 この例では、第2マーカ20は、非発光マーカである。具体的には、第2マーカ20は、治具21(詳しくは、羽根23の先端)に形成された切欠きである。
 複数の第2マーカ20は、全ての第2マーカ20と第1電極61の先端とが仮想的な同一平面上に配置されるように、治具21に設けられている。即ち、特定部分である第1電極61は、複数の第2マーカ20を含む仮想的な平面上に配置されている。この例では、3つの第2マーカ20によって形成される正三角形の重心の位置に、第1電極61が位置する。
 続いて、補正処理について詳細に説明する。図10は、補正処理を示すフローチャートである。図11は、補正処理を示すシーケンス図である。
 制御装置8の受付器83は、ステップS1において、ユーザから補正処理の実行指示を受け付ける。例えば、受付器83は、制御装置8のディスプレイに受付画面を表示し、ユーザからの実行指示の入力を待機する。ユーザから実行指示が入力されると、受付器83は、補正処理を開始する。
 補正処理が開始されるとまず、相対関係取得器85は、ステップS2において、ユーザに対してツール本体60への治具21の取り付けを要求する。例えば、相対関係取得器85は、制御装置8の音声出力又は表示等によってこの取り付け要求を行う。
 ユーザは、取り付け要求を受けて、治具21を図5に示すようにツール本体60へ取り付ける。
 その後、相対関係取得器85は、ステップS3において、治具21の取り付けが完了したか否かを判定する。例えば、相対関係取得器85は、取り付け完了の旨の入力がユーザから制御装置8へあったか否かを判定する。相対関係取得器85は、治具21の取り付けが完了するまで待機する。
 治具21の取り付けが完了すると、相対関係取得器85は、ステップS4において、治具21が取り付けられたツール6が、第1マーカ10とツール6の特定部分との相対的な位置関係を取得するための位置及び姿勢(以下、「取得位置等」という)に配置されるようにロボット4を動作させる。具体的には、図11に示すように、相対関係取得器85は、ツール6が取得位置等に配置されるようにロボット4を動作させる指令をロボット制御装置7へ出力する(ステップss41)。
 ロボット制御装置7は、相対関係取得器85からの指令を受けて、ロボット4を動作させ、ツール6を取得位置等に移動させる(ステップss42)。取得位置等は、少なくとも3つ以上の第1マーカ10と3つの第2マーカ20が他の物体に隠れることなく撮像装置39から見える状態となるツール6の位置及び姿勢である。取得位置等は、予め決められている。ツール6が取得位置等に移動すると、ロボット制御装置7は、移動完了報告を制御装置8へ出力する(ステップss43)。
 相対関係取得器85は、ステップS5において、ツール6の移動が完了したか否かを判定する。具体的には、相対関係取得器85は、ロボット制御装置7から移動完了報告を受け取ったか否かを判定する。相対関係取得器85は、移動完了報告を受け取るまで待機する。
 ツール6の取得位置等への移動が完了すると、相対関係取得器85は、ステップS6において、第1マーカ10と第1電極61との相対的な位置関係を取得する。具体的には、まず、画像処理器84は、ツール6が取得位置等に配置されたロボット4を撮像し、撮像結果から第1マーカ10及び第2マーカ20の位置を求める。相対関係取得器85は、求められた第1マーカ10及び第2マーカ20の位置に基づいて、ツール座標系における第1電極61の位置等を求める。相対関係取得器85は、求められたツール座標系における第1電極61の位置等を記憶部81に記憶する。
 その後、相対関係取得器85は、ステップS7において、治具21をツール本体60から取り外すことをユーザに要求する。例えば、相対関係取得器85は、制御装置8の音声出力又は表示等によって、この取り外し要求を行う。
 ユーザは、取り外し要求を受けて、治具21をツール本体60から取り外す。ユーザは、取り外しが完了した旨を制御装置8へ入力する。これにより、第1マーカ10と第1電極61との相対的な位置関係の取得が完了する。
 続いて、位置検出器86は、ステップS8において、ロボット4を教示データに従って動作させる。具体的には、図11に示すように、位置検出器86は、ロボット4を教示データに従って動作させる指令をロボット制御装置7へ出力する(ステップss81a)。
 動作制御器73は、位置検出器86からの指令を受けて、教示データに従ったロボット4の動作を開始させる。動作制御器73は、教示データで規定される全ての教示点へ第1電極61(即ち、特定部分)が順番に移動するようにロボット4を動作させる。教示データは、前述の如く、第1電極61が各教示点に位置する際の各関節52の角度を規定している。動作制御器73は、一の教示点に対応する各関節52の角度をモータ53へ出力する。これにより、第1電極61が教示点へ移動する(ステップss82a)。
 第1電極61が教示点まで移動すると、動作制御器73は、動作完了報告を制御装置8へ出力する(ステップss83a)。このとき、動作制御器73は、教示データ(具体的には、第1電極61が位置する教示点の情報(即ち、各関節52の角度))を動作完了報告と共に出力する。
 位置検出器86は、ステップS9において、教示点への第1電極61の移動が完了したか否かを判定する。具体的には、位置検出器86は、動作制御器73から動作完了報告を受け取ったか否かを判定する。位置検出器86は、動作完了報告を受け取るまで待機する。
 教示点への第1電極61の移動が完了すると、偏差算出器87は、ステップS10において、特定部分の偏差を求める。
 具体的には、まず、画像処理器84は、第1電極61が教示点に位置する状態のロボット4を撮像し、撮像結果から第1マーカ10の位置を求める。位置検出器86は、求められた第1マーカ10の位置に基づいて、ツール座標系の原点位置及び座標軸の向きを求める。位置検出器86は、求められたツール座標系の原点位置及び座標軸の向きと、記憶部71から読み出した、ツール座標系における第1電極61の位置等に基づいて、ベース座標系における第1電極61の位置等を求める。求められた第1電極61の位置等は、第1電極61の検出位置等である。
 次に、偏差算出器87は、動作制御器73から受け取った教示データに基づいて第1電極61の目標位置等を算出する。偏差算出器87は、求められた第1電極61の目標位置等と位置検出器86によって検出された第1電極61の検出位置等との偏差を算出する。偏差算出器87は、求められた特定部分の偏差を教示点の情報と紐づけて記憶部81に記憶していく。
 特定部分の偏差の算出が完了すると、位置検出器86は、ステップS11において、全ての教示点への第1電極61の移動が完了したか否かを判定する。具体的には、全ての教示点への第1電極61の移動が完了したときには、動作制御器73は、教示データに従うロボット4の全動作が完了したことを示す全完了報告を制御装置8へ出力する。位置検出器86は、全完了報告を動作制御器73から受け取ったか否かを判定する。
 全ての教示点へのロボット4の移動が完了していない場合には、位置検出器86は、ステップS8へ戻り、ロボット4を教示データに従って動作させる指令をロボット制御装置7へ再び出力する(ステップss81b)。動作制御器73は、位置検出器86からの指令を受けて、第1電極61を次の教示点へ移動させる(ステップss82b)。第1電極61が次の教示点へ移動すると、動作制御器73は、対応する教示データと動作完了報告とを制御装置8へ出力する(ステップss83b)。
 その後、偏差算出器87は、前述の如く、ステップS10において特定部分の偏差を求め、ステップS11において全ての教示点への第1電極61の移動が完了したか否かを判定する。こうして、全ての教示点への第1電極61の移動が完了するまで、ステップS8,S9,S10,S11の処理が繰り返される。
 全ての教示点への第1電極61の移動が完了すると、動作制御器73は、対応する教示データと動作完了報告と全完了報告とを制御装置8へ出力する(ステップss83x)。偏差算出器87は、最後の教示点に対応する特定部分の偏差を算出する。偏差算出器87は、全完了報告を受け取っているので、ステップS11からステップS12へ進む。
 偏差算出器87は、ステップS12において、記憶部81から全ての特定部分の偏差を読み出し、ロボット制御装置7へ出力する(ステップss12)。
 ロボット制御装置7が全ての特定部分の偏差を受け取ると、補正器74は、ステップS13において、各偏差が小さくなるように教示データにおける各関節52の角度を補正する。補正器74は、補正後の教示データを記憶部71に記憶する。その後、補正器74は、補正完了報告を制御装置8へ出力する(ステップss13)。
 偏差算出器87は、補正完了報告を受け取ることによって補正処理を終了する。
 こうして、教示データが補正された後は、ロボット制御装置7は、ロボット4の通常運転を行う際には補正後の教示データを用いる。
 このように、第1撮像対象1は、ツール6において互いに異なる位置に設けられた複数の第1マーカ10である。このため、教示データに従ってロボット4を動作させて撮像装置39により第1撮像対象1を撮像する際、1つの第1マーカ10が撮像装置39によって撮像できない箇所に位置したとしても、他の第1マーカ10を撮像装置39によって撮像できる可能性がある。つまり、撮像装置39が少なくとも1つの第1マーカ10を撮像できる状況が発生しやすくなる。したがって、ツール6の位置及び姿勢を適切に検出でき、ひいては、教示データを適切に補正することができる。
 また、第1マーカ10は、ツール6において異なる方向を向く複数の面である第1面60aと第2面60bとに設けられている。すなわち、第1マーカ10は、第1面60aと第2面60bとのそれぞれに設けられている。この場合、第1面60a及び第2面60bのうちの一方が撮像装置39によって撮像し難い方向を向いたとしても、他方は撮像装置39によって撮像しやすい方向を向く可能性が高い。このため、撮像装置39によって、より確実に第1マーカ10を撮像することができる。特にこの例では第1面60aと第2面60bとは、互いに反対側を向く面である。そのため、第1面60a及び第2面60bのうちの一方が撮像装置39によって撮像し難い方向を向いたとしても、他方は撮像装置39によって撮像しやすい方向を向く可能性がより高くなる。
 さらに、第1面60a及び第2面60bのそれぞれに少なくとも3つの第1マーカ10が設けられている。そのため、撮像装置39が第1面60a又は第2面60bを撮像できる場合には、少なくとも3つの第1マーカ10を撮像することができる。3つの第1マーカ10の位置がわかると、ツール6の位置だけでなく、ツール6の姿勢も求めることができる。
 また、ツール本体60に設けられた第1マーカ10の撮像結果と、第1マーカ10と特定部分(この例では第1電極61)との相対的な位置関係とに基づいて、特定部分の検出位置等が求められる。即ち、特定部分の撮像結果を用いて直接的に特定部分の検出位置等が求められるのではなく、特定部分とは別の部分であるツール本体60に設けられた第1マーカ10の撮像結果を用いて間接的に特定部分の検出位置等が求められる。これにより、ツール6において特定部分が撮像装置39によって撮像し難い箇所に位置する場合でも、撮像装置39によって撮像しやすいツール本体60に第1マーカ10を設けることによって、特定部分の検出位置等を容易に求めることができる。特に特定部分が第1電極61である場合には、第1電極61の周囲には、第2電極62、電極駆動装置63及び支持部65等が配置されているので、第1電極61は、撮像装置39から隠れやすい。しかし、第1マーカ10をツール本体60に設けることによって、第1マーカ10の位置をツール本体60において比較的高い自由度で決めることができる。つまり、第1マーカ10は、撮像装置39から隠れない位置に配置しやすい。その結果、第1電極61の検出位置等を適切に求めることができる。
 また、第1マーカ10と第1電極61との相対的な位置関係は、第1マーカ10と、第1電極61に関連付けて配置された第2マーカ20との撮像結果、即ち、ツール6の実機の撮像結果に基づいて求められる。このため、ツール6の撓み又はツール6の寸法誤差等にかかわらず、第1マーカ10と第1電極61との相対的な位置関係を正確に求めることができ、これにより、第1電極61の検出位置等をより正確に求めることができる。
 また、第2マーカ20は、ツール本体60に対して着脱可能な治具21に設けられている。このため、補正処理において教示データに従ってロボット4を動作させる際に、治具21をツール本体60から取り外した状態にすることができる。ツール本体60に治具21が取り付けられた状態では、ロボット4が教示データに従って動作する際に、ツール6が教示点に到達することを治具21が妨害したり、治具21によって第1マーカ10が撮像装置39から隠れたりする虞がある。したがって、治具21をツール本体60から取り外すことによって、ツール6を教示点に適切に到達させることができ、撮像装置39によって第1マーカ10を適切に撮像することができる。
 また、第1マーカ10は、発光可能な自発光マーカである。このため、例えば、ツール本体60が、例えば、金属等の光を反射しやすい材料から形成される場合にも、撮像装置39による第1マーカ10の撮像において、ツール本体60による光の反射等の外乱の影響を受け難くすることができ、第1マーカ10を適切に撮像することができる。
 また、第1撮像対象1は、4つ以上の第1マーカ10を含んでいる。少なくとも3つの第1マーカ10の位置がわかると、ツール本体60の位置及び姿勢を求めることができる。4つ以上の第1マーカ10が設けられていると、1つの第1マーカ10が撮像装置39から隠れたとしても、撮像装置39は、残りの3つ以上の第1マーカ10を撮像することができる。つまり、少なくとも3つの第1マーカ10を撮影できる状況は発生しやすくなる。
 本開示の技術の第1の側面に係る補正システム100は、ロボット4のツール6に設けられた第1撮像対象1と、第1撮像対象1を撮像する撮像装置39と、ロボット4の教示データを補正する補正装置3とを備え、制御装置8は、ロボット4が教示データに従って動作する際に撮像装置39によって撮像された第1撮像対象1の撮像結果から求められるツール6の検出位置に基づいて教示データを補正し、第1撮像対象1は、ツール6における互いに異なる位置に設けられた複数の第1マーカ10(マーカ)である。
 この構成によれば、撮像装置39によって第1撮像対象1を撮像する際に、1つの第1マーカ10が撮像装置39によって撮像できない箇所に位置したとしても、他の第1マーカ10を撮像できる可能性がある。したがって、ツール6の検出位置を適切に求め、ロボット4の教示データを適切に補正することができる。
 本開示の技術の第2の側面に係る補正システム100は、第1の側面に係る補正システム100において、第1マーカ10は、ツール6のうち異なる方向を向く第1面60a及び第2面60b(複数の面)に設けられている。
 この構成によれば、第1マーカ10が設けられた第1面60a及び第2面60bのうちの一方が、撮像装置39によって撮像し難い方向を向いたとしても、他方は撮像装置39によって撮像しやすい方向を向く可能性がある。このため、撮像装置39によって、より確実に第1マーカ10を撮像することができる。
 本開示の技術の第3の側面に係る補正システム100は、第2の側面に係る補正システム100において、第1マーカ10は、ツール6のうち互いに反対側を向く第1面60a及び第2面60bに設けられている。
 この構成によれば、第1面60a及び第2面60bのうちの少なくとも一方が、撮像装置39によって撮像しやすい方向を向く可能性が高い。このため、撮像装置39によって、より確実に第1マーカ10を撮像することができる。
 本開示の技術の第4の側面に係る補正システム100は、第1乃至3のいずれか1つの側面に係る補正システム100において、ツール6は、ツール本体60と、ツール本体60に設けられた第1電極61(特定部分)とを有し、第1撮像対象1は、ツール本体60に設けられた複数の第1マーカ10を含み、制御装置8は、撮像装置39による第1マーカ10の撮像結果と、第1マーカ10と第1電極61との相対的な位置関係とから第1電極61の検出位置を求め、第1電極61の検出位置に基づいて教示データを補正する。
 この構成によれば、第1電極61が撮像装置39から見て隠れやすい位置に存在する場合でも、ツール本体60に設けられた第1マーカ10の撮像結果から第1電極61の検出位置を適切に求めることができる。
 本開示の技術の第5の側面に係る補正システム100は、第4の側面に係る補正システム100において、第1電極61(特定部分)に関連付けて配置された第2撮像対象2をさらに備え、制御装置8は、撮像装置39によって撮像された第1マーカ10及び第2撮像対象2の撮像結果から相対的な位置関係を求める。
 この構成によれば、第2撮像対象2は、第1電極61と所定の位置関係を有して配置されているので、第2撮像対象2の撮像結果に基づいて、第1マーカ10に対する第1電極61の相対的な位置関係を正確に求めることができる。
 本開示の技術の第6の側面に係る補正システム100は、第5の側面に係る補正システム100において、第1電極61を基準にしてツール本体60に取り付けられる治具21をさらに備え、第2撮像対象2は、治具21において互いに異なる位置に設けられた複数の第2マーカ20である。
 この構成によれば、ツール本体60に治具21を取り付けることで、第1マーカ10に対する第1電極61の相対的な位置関係を求めることができる。また、治具21には複数の第2マーカ20が設けられるため、第1マーカ10に対する第1電極61の相対的な位置関係を一層正確に求めることができる。
 本開示の技術の第7の側面に係る補正システム100は、第6の側面に係る補正システム100において、第1電極61は、複数の第2マーカ20を含む仮想的な平面上に配置されている。
 この構成によれば、第2マーカ20の位置から第1電極の位置を求めやすくなる。その結果、第1マーカ10に対する第1電極61の相対的な位置関係を簡単に求めることができる。
 本開示の技術の第8の側面に係る補正システム100は、第6又は第7の側面に係る補正システム100において、治具21は、撮像装置39によって第1マーカ10を撮像するためにロボット4が教示データに従って動作する際にはツール本体60から取り外される。
 この構成によれば、教示データに従って行われるロボット4の動作を、治具21がツール本体60から取り外されている状態で行うことができる。このため、撮像装置39によって第1マーカ10を撮像する際に治具21によって第1マーカ10が隠れることがなくなり、第1マーカ10を適切に撮像することができる。また、教示データに従ってロボット4を動作させる際に、治具21がツール6の移動を妨害することを回避することができる。
 本開示の技術の第9の側面に係る補正システム100は、第4乃至8の何れか1つの側面に係る補正システム100において、第1マーカ10は、発光可能な自発光マーカである。
 この構成によれば、撮像装置39による第1マーカ10の撮像において、第1マーカ10を発光させることにより、例えば、ツール本体60による光の反射等の外乱の影響を受け難くすることができ、第1マーカ10を適切に撮像することができる。
 本開示の技術の第10の側面に係る補正システム100は、第4乃至9の何れか1つの側面に係る補正システム100において、ツール6は、溶接用の第1電極61(電極)を有する溶接ガンであり、特定部分は、第1電極61である。
 この構成によれば、撮像装置39による第1マーカ10の撮像結果に基づいて、溶接ガンの第1電極61の検出位置を求め、この第1電極61の検出位置に基づいて教示データを補正することができる。したがって、溶接ガンによって適切に溶接を行うことができる。
 本開示の技術の第11の側面に係る教示データの補正方法は、ロボット4を教示データに従って動作させることと、教示データに従って動作させられたロボット4のツール6に設けられた第1撮像対象1を撮像装置39によって撮像することと、撮像装置39によって撮像された第1撮像対象1の撮像結果から求められるツール6の検出位置に基づいて教示データを補正することとを含み、第1撮像対象1は、ツール6における互いに異なる位置に設けられた複数の第1マーカ10(マーカ)を含んでいる。
 この構成によれば、撮像装置39によって第1撮像対象1を撮像する際に、1つの第1マーカ10が撮像装置39によって撮像できない箇所に位置したとしても、他の第1マーカ10を撮像できる可能性がある。したがって、ツール6の検出位置を適切に求め、ロボット4の教示データを適切に補正することができる。
 《その他の実施形態》
 以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 例えば、第1マーカ10は、図12に示すような自発光マーカであってもよい。この第1マーカ10は、光源12と、光源12を覆うカバー13とを有している。カバー13には、光源12から発せられた光が通過する窓部14が設けられている。窓部14は、例えば、孔又は光が透過可能な透明部又は半透明部である。窓部14は、例えば、円形、三角形、四角形又は星形等の形状を有する。自発光マーカは、窓部14と略同形状の光を発する。
 このような自発光マーカを用いることで、窓部14の形状を変更するだけで、第1マーカ10の形状を第1マーカ10ごとに変更することができる。したがって、制御装置8は、第1マーカ10の撮像結果に基づいて、第1マーカ10がツール6のどの部分に配置された第1マーカ10かを容易に判別することができ、ひいては、ツール6の姿勢をより簡単に求めることができる。
 また、第1マーカ10は、見る角度によって見え方が変化するマーカであってもよい。例えば、第1マーカ10は、図13に示すように、複数のマーク15を含んでいてもよい。第1マーカ10は、3つ以上のマーク15を含んでいることが好ましい。3つ以上のマーク15を頂点とする多角形は、見る角度に応じて形状が変化する。そのため、撮像装置39によって撮像された、3つ以上のマーク15を頂点とする多角形の外形に基づいて、該多角形の姿勢(例えば、法線方向など)、即ち、ツール6の姿勢を求めることができる。また、複数のマーク15を形状又は色等によって互いに判別可能に構成してもよい。これにより、ツール6の姿勢をより簡単に求めることができる。さらに、第1マーカ10には、複数の第1マーカ10のそれぞれを判別可能な記号(文字及び数字を含む)16又は図形が付されてもよい。これにより、第1マーカ10の撮像画像に基づいて、該第1マーカ10がツール6のどの部分に配置された第1マーカ10かを容易に判別することができ、ひいては、ツール6の姿勢をより簡単に求めることができる。
 また、例えば、以下に示すように各第1マーカ10を判別してもよい。まず、撮像装置39によってツール6を撮像し、この撮像結果と、予め登録された、ツール6のCADデータ等とを比較して、ツール6のおおよその姿勢を求める。この後、求めたツール6のおおよその姿勢に基づいて、各第1マーカ10の検出する範囲を自動的に変更して各第1マーカ10を検出する。このように第1マーカ10を検出することで、例えば、第1マーカ10ごとに形状等を変更することなく、各第1マーカ10がツール6のどの部分に配置された第1マーカ10であるのかを判定することができる。
 また、ロボット4は、産業用ロボットに限定されず、例えば、医療用ロボットであってもよい。また、ロボットアーム5は、垂直多関節型に限定されず、水平多関節型、パラレルリンク型、直角座標型、又は極座標型等であってもよい。また、ツール6を移動する機構は、ロボットアームに限定されない。
 また、ロボット4が行う溶接の対象物Wは、2枚の板に限定されず、例えば、板以外の部材の組み合わせであってもよい。
 また、ロボット4が行う作業は、スポット溶接以外の溶接であってもよく、例えば、アーク溶接又はレーザ溶接等であってもよい。また、作業は、溶接以外の作業であってもよく、例えば、穿孔、研削、研磨、塗装、組立又は仕分け等であってもよい。
 また、ツール本体60の形状及び大きさ等は、適宜変更可能である。また、ツール6の駆動機構68は、ボールねじ機構に限定されず、リンク機構等の他の機構であってもよい。
 また、ツール6の駆動源69は、サーボモータ以外のモータであってもよい。また、駆動源69は、モータに限定されず、例えば、油圧式又は空圧式のピストン又は電気式リニアアクチュエータ等であってもよい。
 また、ロボット4のツール6は、溶接ガンに限定されない。例えば、ツール6は、穿孔、研削、研磨、若しくは塗装を行う装置、又はロボットハンド等であってもよい。
 また、補正装置3は、ロボット制御装置7の機能と制御装置8の機能とを含む1つの装置から形成されてもよい。
 また、補正処理の実行指示は、ロボット制御装置7が受け付けてもよいし、さらに別の装置が受け付けてもよい。
 また、撮像装置39と制御装置8との通信、及び撮像装置39とロボット制御装置7との通信の各々は、有線通信であってもよいし、無線通信であってもよい。
 また、撮像装置39は、動画を撮像可能なカメラであってもよい。
 また、補正器74は、制御装置8が特定部分の偏差を取得する度に教示データを補正しても構わない。また、補正装置3による補正処理は、図10に示すフローチャートのように一度だけ行われるものに限定されない。例えば、教示データの補正後に特定部分の偏差が所定の閾値以下になったか否かが判定され、所定の閾値以下でなければ再び補正処理が行われることにより、特定部分の偏差が所定の閾値以下になるまで補正処理が繰り返し行われてもよい。
 また、第1マーカ10とツール6の特定部分との相対的な位置関係は、撮像装置39によって第2撮像対象2を撮像することによって取得するものに限定されない。例えば、第1マーカ10とツール6の特定部分との相対的な位置関係は、ツール6の設計上の値等に基づいて設定されてもよい。この場合、図10に示すステップS2~ステップS7の処理は、省略可能である。
 また、教示データは、各関節52の角度に限定されず、ツール先端等のロボット4における特定部分の位置及び姿勢であってもよい。さらに、教示データにおける教示点は、打点位置に限定されない。例えば、教示点には、打点位置に加えて、打点位置までの経由地点を含んでいてもよい。
 また、教示データに従って実行されるロボット4の作業は、対象物Wの一か所だけを溶接する作業であってもよい。
 また、補正前の教示データは、教示者が実際のロボット4を直接触って動かすことによるダイレクト教示、教示者がティーチングペンダントを用いて遠隔操縦することによる教示、又は教示者のマスタスレーブ装置の操作による教示等によって取得されてもよい。
 また、ロボット制御装置7の動作制御器73は、教示データに基づくロボット4の通常運転の際にロボット4の動作を制御する機能を備えなくてもよい。つまり、ロボット制御装置7は、ロボット4の通常運転を制御する別の機能ブロックを有していてもよい。
 また、第1マーカ10は、形状が非球状である等、第1マーカ10の見え方が見る角度によって変化するマーカであってもよい。この場合、第1撮像対象1は、少なくとも2つの第1マーカ10を有すれば、撮像装置39によって一方の第1マーカ10を撮像できなかったとしても、他方の第1マーカ10を撮像できさえすれば、第1マーカ10の姿勢がわかるため、ツール6の位置及び姿勢を求めることができる。
 また、ツール6において第1マーカ10が設けられる面は限定されない。例えば、第1マーカ10は、ツール6において互いに反対側を向く面に設けられなくてもよく、互いに反対側を向かないが、互いに異なる方向を向く複数の面に設けられてもよい。また、ツール本体60に設けられる第1マーカ10の位置及び数は限定されない。例えば、第1マーカ10は、図2~図4に示す六つの第1マーカ10に加えて又は代えて、支持部65のうち取付部64が設けられている面等、ツール本体60における上下方向と交差する面等に設けられてもよい。
 また、第1マーカ10としての自発光マーカの光源は、LEDに限定されず、白熱電球又は有機エレクトロルミネッセンス等であってもよい。また、第1マーカ10は、発光しない非発光マーカであってもよい。非発光マーカは、例えば、図形、模様、凸部、凹部、孔又は切欠等である。
 また、第1マーカ10の形状は限定されない。また、第1マーカ10は、ツール本体60ではなく、第1電極61、第2電極62又は電極駆動装置63等に設けられてもよい。
 また、第1マーカ10は、ツール本体60に対して、直接的に取り付けられてもよいし、他の部材を介して間接的に取り付けられてもよい。
 また、治具21は、ツール本体60に直接的に取り付けられてもよいし、他の部材を介してツール本体60に間接的に取り付けられてもよい。
 また、治具21は、補正処理においてロボット4が動作する際に、ツール本体60に取り付けられた状態であってもよい。また、補正システム100は治具21を備えなくてもよく、例えば、第2撮像対象2は、ツール本体60に直接設けられてもよい。
 また、複数の第2マーカ20は、特定部分に関連付けて配置される限り、任意の位置に配置することができる。例えば、第2マーカ20の個数が2つである場合には、2つの第2マーカ20で形成される線分の中点に第1電極61が位置していてもよい。第2マーカ20の個数が4つ以上である場合には、複数の第2マーカ20を頂点とする多角形の重心に第1電極61が位置していてもよい。
 また、複数の第2マーカ20が形状等によって互いに判別可能な場合には、第1電極61は、複数の第2マーカ20で形成される図形の重心の位置ではなく、任意の位置に配置することができる。例えば、第2マーカ20の個数が2つである場合には、一方の第2マーカ20からの距離と他方の第2マーカ20からの距離との比が1:2となる位置に第1電極61が位置していてもよい。このように、複数の第2マーカ20が互いに判別可能な場合には、第2マーカ20を高い自由度で配置することができる。
 また、第2マーカ20は、特定部分から離れた位置ではなく、特定部分に配置されていてもよい。つまり、第2マーカ20を撮像するときには、ロボット4は、教示データとは無関係に、第2マーカ20の撮像のための位置である取得位置へ移動する。特定部分に配置された第2マーカ20が撮像装置39から隠れない位置及び姿勢に取得位置等を設定することによって、特定部分に配置された第2マーカ20を撮像装置39で適切に撮像することができる。
 また、各第2マーカ20は、切欠きに限定されず、模様、凸部、凹部又は孔等であってもよい。また、各第2マーカ20は、図12及び図13に示すような自発光マーカであってもよい。

 

Claims (11)

  1.  ロボットのツールに設けられた第1撮像対象と、
     前記第1撮像対象を撮像する撮像装置と、
     前記ロボットの教示データを補正する補正装置とを備え、
     前記補正装置は、前記ロボットが前記教示データに従って動作する際に前記撮像装置によって撮像された前記第1撮像対象の撮像結果から求められる前記ツールの検出位置に基づいて前記教示データを補正し、
     前記第1撮像対象は、前記ツールにおける互いに異なる位置に設けられた複数のマーカである補正システム。
  2.  請求項1に記載の補正システムにおいて
     前記マーカは、前記ツールのうち異なる方向を向く複数の面に設けられている補正システム。
  3.  請求項2に記載の補正システムにおいて、
     前記マーカは、前記ツールのうち互いに反対側を向く2つの面に設けられている補正システム。
  4.  請求項1乃至3のいずれか1つに記載の補正システムにおいて、
     前記ツールは、ツール本体と、前記ツール本体に設けられた特定部分とを有し、
     前記第1撮像対象は、前記ツール本体に設けられた複数の第1マーカを含み、
     前記補正装置は、
      前記撮像装置による前記第1マーカの撮像結果と、前記第1マーカと前記特定部分との相対的な位置関係とから前記特定部分の検出位置を求め、
      前記特定部分の検出位置に基づいて前記教示データを補正する補正システム。
  5.  請求項4に記載の補正システムにおいて、
     前記特定部分に関連付けて配置される第2撮像対象をさらに備え、
     前記補正装置は、前記撮像装置によって撮像された前記第1マーカ及び前記第2撮像対象の撮像結果から前記相対的な位置関係を求める補正システム。
  6.  請求項5に記載の補正システムにおいて、
     前記特定部分を基準にして前記ツール本体に取り付けられる治具をさらに備え、
     前記第2撮像対象は、前記治具において互いに異なる位置に設けられた複数の第2マーカである補正システム。
  7.  請求項6に記載の補正システムにおいて、
     前記特定部分は、複数の前記第2マーカを含む仮想的な平面上に配置されている補正システム。
  8.  請求項6又は7に記載の補正システムにおいて、
     前記治具は、前記撮像装置によって前記第1マーカを撮像するために前記ロボットが前記教示データに従って動作する際には前記ツール本体から取り外されている補正システム。
  9.  請求項4乃至8の何れか1つに記載の補正システムにおいて、
     前記第1マーカは、発光可能な自発光マーカである補正システム。
  10.  請求項4乃至9の何れか1つに記載の補正システムにおいて、
     前記ツールは、溶接用の電極を有する溶接ガンであり、
     前記特定部分は、前記電極である補正システム。
  11.  ロボットを教示データに従って動作させることと、
     前記教示データに従って動作させられたロボットのツールに設けられた第1撮像対象を撮像装置によって撮像することと、
     前記撮像装置によって撮像された前記第1撮像対象の撮像結果から求められる前記ツールの検出位置に基づいて前記教示データを補正することとを含み、
     前記第1撮像対象は、前記ツールにおける互いに異なる位置に設けられた複数のマーカを含んでいる教示データの補正方法。

     
PCT/JP2022/026072 2021-07-02 2022-06-29 補正システム及び教示データの補正方法 WO2023277095A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021111005A JP2023007886A (ja) 2021-07-02 2021-07-02 補正システム及び教示データの補正方法
JP2021-111005 2021-07-02

Publications (1)

Publication Number Publication Date
WO2023277095A1 true WO2023277095A1 (ja) 2023-01-05

Family

ID=84691803

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/026072 WO2023277095A1 (ja) 2021-07-02 2022-06-29 補正システム及び教示データの補正方法

Country Status (2)

Country Link
JP (1) JP2023007886A (ja)
WO (1) WO2023277095A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000084876A (ja) * 1998-09-17 2000-03-28 Nippon Telegr & Teleph Corp <Ntt> ロボットアーム視覚追跡方法及びシステム装置
JP2015136764A (ja) * 2014-01-23 2015-07-30 セイコーエプソン株式会社 制御装置、ロボットシステム、ロボット及びロボット制御方法
US20190381659A1 (en) * 2018-06-13 2019-12-19 Siemens Healthcare Gmbh Method for operating a robot, data memory with corresponding program code, robot, and robot system
JP2020069568A (ja) * 2018-10-31 2020-05-07 トヨタ自動車株式会社 教示システム
JP2020075105A (ja) * 2017-05-31 2020-05-21 グローバス メディカル インコーポレイティッド 追跡マーカーを備えた手術用ロボットオートメーション

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000084876A (ja) * 1998-09-17 2000-03-28 Nippon Telegr & Teleph Corp <Ntt> ロボットアーム視覚追跡方法及びシステム装置
JP2015136764A (ja) * 2014-01-23 2015-07-30 セイコーエプソン株式会社 制御装置、ロボットシステム、ロボット及びロボット制御方法
JP2020075105A (ja) * 2017-05-31 2020-05-21 グローバス メディカル インコーポレイティッド 追跡マーカーを備えた手術用ロボットオートメーション
US20190381659A1 (en) * 2018-06-13 2019-12-19 Siemens Healthcare Gmbh Method for operating a robot, data memory with corresponding program code, robot, and robot system
JP2020069568A (ja) * 2018-10-31 2020-05-07 トヨタ自動車株式会社 教示システム

Also Published As

Publication number Publication date
JP2023007886A (ja) 2023-01-19

Similar Documents

Publication Publication Date Title
JP6429473B2 (ja) ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP6468741B2 (ja) ロボットシステム及びロボットシステムの校正方法
US9221176B2 (en) Robot system and method for controlling the same
US8306661B2 (en) Method and system for establishing no-entry zone for robot
US8457786B2 (en) Method and an apparatus for calibration of an industrial robot system
JP4171488B2 (ja) オフラインプログラミング装置
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
US20090234502A1 (en) Apparatus for determining pickup pose of robot arm with camera
WO2018043525A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP2015199192A (ja) ロボットシステムの制御方法、プログラム、記録媒体、及びロボットシステム
JP2014508050A (ja) ロボット作業対象セル較正のためのデバイス、システムおよび方法
JP6674655B2 (ja) 相対データ較正装置と方法
JP2003117861A (ja) ロボットの位置補正システム
CN106003020A (zh) 机器人、机器人控制装置以及机器人系统
JP5531996B2 (ja) 6軸ロボットの軸間オフセット検出方法
JP6622772B2 (ja) 計測システム
JP2017077609A (ja) ロボットの手首部の機構パラメータを校正する校正装置および校正方法
US20220105640A1 (en) Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot
JP4613955B2 (ja) 回転軸線算出方法、プログラムの作成方法、動作方法およびロボット装置
WO2019049488A1 (ja) ロボットの診断方法
JP6603289B2 (ja) ロボット、ロボットシステム、およびロボットの座標系設定方法
JP2006297559A (ja) キャリブレーションシステムおよびロボットのキャリブレーション方法
JP2018001332A (ja) ロボット、制御装置、及びロボットシステム
WO2023277095A1 (ja) 補正システム及び教示データの補正方法
US20200189094A1 (en) Device, method and system for teaching robot

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: 22833241

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE