WO2023105979A1 - オフライン教示装置およびオフライン教示方法 - Google Patents

オフライン教示装置およびオフライン教示方法 Download PDF

Info

Publication number
WO2023105979A1
WO2023105979A1 PCT/JP2022/040275 JP2022040275W WO2023105979A1 WO 2023105979 A1 WO2023105979 A1 WO 2023105979A1 JP 2022040275 W JP2022040275 W JP 2022040275W WO 2023105979 A1 WO2023105979 A1 WO 2023105979A1
Authority
WO
WIPO (PCT)
Prior art keywords
welding
sensor
information
obstacle
workpiece
Prior art date
Application number
PCT/JP2022/040275
Other languages
English (en)
French (fr)
Inventor
克明 大熊
正弥 平山
嘉幸 岡崎
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2023566154A priority Critical patent/JPWO2023105979A1/ja
Priority to EP22903911.0A priority patent/EP4446048A1/en
Priority to CN202280081195.XA priority patent/CN118369181A/zh
Publication of WO2023105979A1 publication Critical patent/WO2023105979A1/ja
Priority to US18/737,116 priority patent/US20240331574A1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B25/00Models for purposes not provided for in G09B23/00, e.g. full-sized devices for demonstration purposes
    • G09B25/02Models for purposes not provided for in G09B23/00, e.g. full-sized devices for demonstration purposes of industrial processes; of machinery
    • 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
    • B23K31/00Processes relevant to this subclass, specially adapted for particular articles or purposes, but not covered by only one of the preceding main groups
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Definitions

  • the present disclosure relates to an offline teaching device and an offline teaching method.
  • Patent Document 1 discloses an off-line teaching device that displays a motion trajectory of a robot when a teaching program is executed on a model diagram, and displays some of a plurality of position detection commands and a portion of a plurality of welding commands.
  • the off-line teaching device includes a display unit that displays a teaching program and model diagrams, a storage unit that stores instructions constituting the teaching program and model data of the model diagrams, and a control unit that controls the display unit and the storage unit.
  • the teaching program includes a position detection program composed of a plurality of position detection instructions and a welding program composed of a plurality of welding instructions.
  • each of the instructions, position detection program, and welding program that constitute the teaching program is created by the operator.
  • the present disclosure provides an offline teaching device and an offline teaching device that, when an obstacle is placed within the scanning region of a sensor performed by a welding robot, visualizes the interference between the scanning region and the obstacle, and supports teaching of an appropriate scanning operation. Provide a teaching method.
  • the present disclosure includes welding line information indicating a weld line on a workpiece to be welded, sensor information indicating a measurement area of a sensor for measuring the external shape of a bead formed on the workpiece based on the welding, and the an acquisition unit that acquires obstacle information having at least the position of an obstacle placed between the sensor and the workpiece; and based on the welding line information, the sensor information, and the obstacle information,
  • a computing unit that computes a coverage ratio indicating a ratio of measurable weld lines for which the external shape cannot be measured due to the obstacle during the measurement, and an output unit that generates the calculation result of the coverage ratio and outputs it to a screen. and to provide an offline teaching device.
  • an offline teaching method performed by an offline teaching device configured to include one or more computers, and includes welding line information indicating a welding line on a work to be welded, and welding based on the welding.
  • Acquiring sensor information indicating a measurement area of a sensor for measuring the external shape of a bead formed on the work, and obstacle information including at least the position of an obstacle placed between the sensor and the work. and, based on the welding line information, the sensor information, and the obstacle information, a coverage ratio indicating the ratio of measurable welding lines for which the obstacle prevents the outer shape from being measured during the measurement by the sensor.
  • the present disclosure is an offline teaching method using an offline teaching device configured to include one or more computers, wherein welding line information indicating a welding line on a workpiece to be welded is input to the computer. Then, sensor information indicating a measurement area of a sensor for measuring the external shape of a bead formed on the work based on the welding is input to the computer, and an obstacle placed between the sensor and the work is input to the computer. into the computer, and based on the welding line information, the sensor information, and the obstacle information, the external shape can be measured by the obstacle during the measurement by the sensor.
  • a coverage ratio indicating a proportion of measurable weld lines that cannot be rejected to a screen.
  • the interference between the scanning area and the obstacle can be visualized, and appropriate scanning operation teaching can be supported.
  • FIG. 1 shows an internal configuration example of an inspection control device, a robot control device, a host device, and an offline teaching device according to Embodiment 1;
  • Diagram showing an example of the sensor's scan effective area FIG. 4 is a diagram showing an example of the scan effective area of the sensor when an obstacle is placed within the scan effective area of the sensor in FIG.
  • a diagram showing a first example of the scan effective area screen A diagram showing an XY projection plane of the scan effective area of FIG.
  • a diagram showing a second example of the scan effective area screen 4 is a flow chart showing the operation procedure of the offline teaching device according to Embodiment 1.
  • FIG. 11 is a diagram showing a first example showing that measurement cannot be performed at the position Pt1 of the reflection point when an obstacle exists between the sensor and the workpiece;
  • FIG. 10 is a diagram showing a second example showing that measurement cannot be performed at the position Pt1 of the reflection point when an obstacle exists between the sensor and the workpiece;
  • Patent Document 1 it is known to use an off-line teaching device to create a teaching program for teaching the movement, movement path, or the like of a welding robot. For example, an operator uses a teach pendant to operate a teaching operation for specifying the movement or movement path of a welding robot, and the actual welding robot and workpiece (object) are positioned by visual confirmation. is being created.
  • Such a method of creating a teaching program has drawbacks such as the need for a worker skilled in operating the welding robot and the need to stop the production equipment each time the teaching is corrected.
  • a virtual production facility for example, a welding robot
  • off-line teaching is performed to teach the movement or movement path of the welding robot.
  • the welding operation is taught by bringing the welding torch close to the workpiece and visually confirming the positional relationship between the welding torch and the processing point, which is the welding location.
  • the scanning operation is taught using a non-contact laser sensor arranged at a certain distance from the workpiece. Therefore, unlike teaching welding operations, it was difficult for the operator to visually determine whether or not the positional relationship between the location to be visually inspected (inspected location) and the laser sensor is appropriate. Furthermore, even if the positional relationship between the inspection point and the laser sensor is appropriate, if an obstacle (such as a jig or workpiece) is placed between the workpiece inspection point and the non-contact laser sensor, the Scanning may not be possible.
  • the laser sensor actually scans, and then the measurement is acquired. There was a problem that it was necessary to visually confirm whether or not there was a defect in the data (for example, an inspected portion that was not inspected), which increased the number of man-hours.
  • Work The term “work” is defined as having the concept of both an object to be welded (metal, for example) and an object produced (manufactured) by welding.
  • a “work” is not limited to a primary work produced (manufactured) by one welding, but may be a secondary work produced (manufactured) by two or more weldings.
  • Yielding A process of producing a work by joining at least two works by a welding robot is defined as “welding”. Note that “welding” may also be referred to as "final welding”.
  • Appearance inspection A process in which a sensor (see below) is used to measure the appearance of a bead formed on the surface of a workpiece produced (manufactured) by welding, and to inspect whether or not there is a welding defect. is defined as "visual inspection”.
  • sensors are usually used for visual inspection of beads formed on the surfaces of workpieces produced (manufactured) by welding. This sensor measures, for example, the external shape of a bead. In the visual inspection, it is determined whether or not there is a defective welding to the work using the measurement result.
  • FIG. 9A is a diagram showing an example of incident light ICL1 and reflected light RFL1 when there is no obstacle OBS between sensor 4z and workpiece Wk.
  • FIG. 9B is a diagram showing a first example showing that measurement cannot be performed at the reflection point position Pt1 when an obstacle OBS exists between the sensor 4z and the workpiece Wk.
  • FIG. 9C is a diagram showing a second example showing that measurement cannot be performed at the reflection point position Pt1 when an obstacle OBS exists between the sensor 4z and the workpiece Wk.
  • the triangulation type sensor 4z is illustrated for easy understanding, but the measurement method of the sensor 4z is not limited to the triangulation type (optical type). For example, it may be of a reflective type or a transmissive type.
  • the position of the object is detected by the sensor 4z by, for example, whether or not the light beam emitted from the light projecting part of the sensor 4z is incident on the light receiving part of the sensor 4z. Therefore, if an obstacle exists on the path (optical path) from the light projecting part to the light receiving part, the sensor 4z cannot correctly detect the position of the object (work) to be measured. That is, when performing an appearance inspection using the triangulation sensor 4z, there is a restriction that an obstacle must not exist in an area that blocks the incident light from the sensor 4z and the reflected light from the object (work).
  • the incident light ICL1 emitted from the light projecting part 4a of the sensor 4z is positioned on the surface of the work Wk, which is the object. Reflected at Pt1. Then, the reflected light RFL1 reflected at this position Pt1 is incident on the light receiving portion 4b of the sensor 4z. Therefore, in the example of FIG. 9A, the sensor 4z can detect the position Pt1 on the surface of the work Wk.
  • the incident light ICL1 emitted from the light projecting section 4a is reflected at the position Pt1 on the surface of the work Wk, and the reflected light RFL1 is reflected by the obstacle OBS. Therefore, the position Pt1 does not become a shadow of the light beam (incident light ICL1) from the obstacle OBS, but the reflected light RFL1 cannot enter the light receiving portion 4b of the sensor 4z, and as a result cannot be detected by the sensor 4z.
  • an off-line teaching device that makes it possible to teach an appropriate scanning operation by modeling the path of a ray (in other words, a scanning effective area) and an obstacle and visualizing the presence or absence or degree of interference.
  • FIG. 1 is a schematic diagram showing a system configuration example of a welding system 100 according to Embodiment 1.
  • FIG. Welding system 100 includes host device 1 connected to external storage ST, input interface UI1 and monitor MN1, robot control device 2, inspection control device 3 connected to sensor 4 and monitor MN2, and offline
  • the configuration includes a teaching device 5 and a welding robot MC1.
  • the offline teaching device 5 is connected to each of the monitor MN3 and the input device UI3.
  • the sensor 4 is illustrated as a separate body from the welding robot MC1, but may be provided as a configuration integrated with the welding robot MC1 (see FIG. 2).
  • the monitor MN2 is not an essential component and may be omitted.
  • the host device 1 controls, via the robot control device 2, the start and completion of welding performed by the welding robot MC1.
  • the host device 1 reads welding-related information previously input or set by a user (for example, a welding operator or a system administrator; the same shall apply hereinafter) from the external storage ST, and uses the welding-related information to read the welding-related information is generated and transmitted to the corresponding robot control device 2 .
  • the host device 1 receives a welding completion report indicating that the welding by the welding robot MC1 is completed from the robot control device 2, and updates the status to indicate that the corresponding welding is completed. and record it in the external storage ST.
  • the welding execution command described above is not limited to being generated by the host device 1.
  • the operation panel of the equipment in the factory where welding is performed for example, PLC: Programmable Logic Controller
  • the robot control device 2 It may be generated by an operation panel (for example, a teach pendant.
  • the teach pendant is a device for operating the welding robot MC1 connected to the robot control device 2.
  • the host device 1 centrally controls the start and completion of the bead visual inspection using the robot control device 2, the inspection control device 3, and the sensor 4. For example, when the host device 1 receives a welding completion report from the robot control device 2, it generates a bead visual inspection execution command for the workpiece produced by the welding robot MC1 and sends it to the robot control device 2 and the inspection control device 3 respectively. Send. When the bead visual inspection is completed, the host device 1 receives a visual inspection report to the effect that the bead visual inspection is completed from the inspection control device 3, updates the status to the effect that the corresponding bead visual inspection is completed, and sends it to the external device. Record in storage ST.
  • the welding-related information is information indicating the details of welding performed by the welding robot MC1, and is created in advance for each welding process and registered in the external storage ST.
  • Welding-related information includes, for example, the number of workpieces used for welding, IDs of workpieces used for welding, workpiece lot information, names, and welding locations (for example, welding line information, welding line position information, etc.). Work information, scheduled execution date of welding, number of works to be produced, and various welding conditions at the time of welding are included.
  • the welding-related information is not limited to the data of the items described above, and includes teaching programs for welding operations and scanning operations that have already been created (see below), welding operation setting information used to create these teaching programs, Information such as scan operation setting information may be further included.
  • the welding conditions include, for example, the material and thickness of the workpiece, the material and wire diameter of the welding wire 301, the type of shielding gas, the flow rate of the shielding gas, the set average value of the welding current, the set average value of the welding voltage, and the feed rate of the welding wire 301. These are the feed speed and feed amount, the number of welding times, the welding time, and the like. In addition to these, for example, information indicating the type of welding (for example, TIG welding, MAG welding, pulse welding), moving speed and moving time of manipulator 200 may be included.
  • the robot control device 2 Based on the welding execution command sent from the host device 1, the robot control device 2 causes the welding robot MC1 to start welding using the workpiece specified by the execution command.
  • the welding-related information described above is not limited to being managed by the host device 1 with reference to the external storage ST, and may be managed by the robot control device 2, for example. In this case, since the robot control device 2 can grasp the state that the welding is completed, the actual execution date of the welding process may be managed instead of the scheduled execution date of the welding-related information.
  • the type of welding does not matter, a process of joining a plurality of works to produce one work will be described for the sake of clarity.
  • the host device 1 is connected to the monitor MN1, the input interface UI1, and the external storage ST so as to be able to input and output data, and is also capable of data communication with the robot controller 2. connected so that The host device 1 may be a terminal device P1 that integrally includes the monitor MN1 and the input interface UI1, and may also integrally include the external storage ST.
  • the terminal device P1 is a PC (Personal Computer) used by the user prior to execution of welding.
  • the terminal device P1 is not limited to the PC described above, and may be a computer device having a communication function such as a smart phone or a tablet terminal.
  • the monitor MN1 may be configured using a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electroluminescence).
  • the monitor MN1 may display a screen output from the host device 1, for example, showing a notification that welding has been completed or that a bead visual inspection has been completed.
  • a speaker (not shown) may be connected to the host device 1 in place of the monitor MN1 or together with the monitor MN1. Audio of the content may be output via a speaker.
  • the input interface UI1 is a user interface that detects a user's input operation and outputs it to the host device 1, and may be configured using a mouse, keyboard, touch panel, or the like, for example.
  • the input interface UI1 receives an input operation when the user creates welding-related information, or receives an input operation when transmitting a welding execution command to the robot control device 2, for example.
  • the external storage ST is configured using, for example, a hard disk drive or a solid state drive.
  • the external storage ST stores, for example, welding-related information data created for each welding, the status (production status) of the work Wk produced by welding, and work information of the work Wk (see above).
  • the external storage ST may store the welding operation teaching program created by the offline teaching device 5 and the scanning operation teaching program for each welding line. Each of the teaching programs for the welding operation and the scanning operation will be described later.
  • the robot control device 2 is connected to enable data communication with the host device 1, the inspection control device 3, and the offline teaching device 5, respectively, and is connected to enable data communication with the welding robot MC1. be done.
  • the robot control device 2 Upon receiving the welding execution command transmitted from the host device 1, the robot control device 2 creates a welding program based on the welding operation teaching program corresponding to this execution command, and controls the welding robot MC1 to perform welding. to run.
  • the robot control device 2 When detecting the completion of welding, the robot control device 2 generates a welding completion report to the effect that the welding has been completed and notifies it to the host device 1 . Thereby, the host device 1 can properly detect completion of welding by the robot control device 2 .
  • the robot control device 2 may detect the completion of welding based on a signal indicating the completion of welding from a sensor (not shown) included in the wire feeding device 300, or may be a known method. Well, the contents of the welding completion detection method need not be limited.
  • the welding robot MC1 is connected to the robot control device 2 so that data communication is possible.
  • Welding robot MC ⁇ b>1 performs welding commanded by host device 1 under the control of corresponding robot control device 2 .
  • the welding robot MC1 moves the sensor 4 based on the scan operation teaching program (see FIG. 3) to perform the bead visual inspection commanded by the host device 1.
  • FIG. 3 the scan operation teaching program
  • the inspection control device 3 is connected to enable data communication with each of the host device 1, the robot control device 2, the sensor 4, and the offline teaching device 5.
  • the inspection control device 3 receives a bead visual inspection execution command transmitted from the host device 1, the inspection control device 3 follows the teaching program for the scanning operation of the corresponding work Wk, and is formed at the welding location of the work Wk produced by the welding robot MC1.
  • a bead appearance inspection of the bead (for example, an inspection of whether or not the bead formed on the workpiece satisfies a predetermined welding standard) is performed with the sensor 4 .
  • the inspection control device 3 uses input data (for example, point cloud data that can specify the three-dimensional shape of the bead) regarding the shape of the bead acquired by the sensor 4 as a result of the scanning operation.
  • a bead visual inspection is performed based on comparison with the master data of non-defective workpieces.
  • the bead visual inspection performed by the welding robot MC1 is not limited to the bead visual inspection, and includes the bead visual inspection and other visual inspections (for example, presence or absence of parts mounted on the workpiece Wk). may be
  • the operator can more efficiently utilize the scanning effective area of the sensor 4 and simultaneously perform appearance inspections having different purposes based on the appearance inspection results.
  • the scan effective area referred to here indicates a three-dimensional area in which the sensor 4 can read the external shape by scanning, which will be described later with reference to FIG. 3 .
  • the inspection control device 3 performs a bead visual inspection, generates a visual inspection report including the inspection judgment result of this bead visual inspection and a notice that the bead visual inspection is completed, and transmits it to the host device 1, and monitors MN2. output to When the inspection control device 3 determines that a defect has been detected in the bead visual inspection of the workpiece, it generates a visual inspection report including visual inspection results including information on the defective section for repair welding of the defect. , to the host device 1 and the robot control device 2 . In addition, when the inspection control device 3 determines that a defect has been detected by the bead visual inspection of the workpiece, the repair welding for performing correction such as repairing the defective portion using the visual inspection result including information on the defective section. create a program The inspection control device 3 associates this repair welding program with the visual inspection result and transmits them to the host device 1 or the robot control device 2 .
  • the sensor 4 is connected to enable data communication with the inspection control device 3 .
  • the sensor 4 is attached and fixed to the welding robot MC1, for example, and detects the workpiece Wk or the three-dimensional stage STG (see FIG. 2) on which the workpiece Wk is placed according to the driving of the manipulator 200 based on the control of the robot controller 2. Run a scan.
  • the sensor 4 detects the three-dimensional shape data of the workpiece Wk placed on the stage STG or the shape, size, and Three-dimensional shape data (for example, point cloud data) that can specify a position or the like is acquired and transmitted to the inspection control device 3 .
  • the monitor MN2 may be configured using a display device such as LCD or organic EL.
  • the monitor MN2 displays a screen output from the inspection control device 3, for example, a notification that the bead visual inspection has been completed, or a screen showing the notification and the result of the bead visual inspection.
  • a speaker (not shown) may be connected to the inspection control device 3 instead of the monitor MN2 or together with the monitor MN2. You may output the audio
  • the offline teaching device 5 is connected to the robot control device 2, the inspection control device 3, the monitor MN3, and the input device UI3 so that they can communicate with each other.
  • the offline teaching device 5 stores, as setting information, welding line position information for each workpiece Wk for which a teaching program is to be created or which has already been created.
  • the offline teaching device 5 constructs an environment and a coordinate system of strictly virtual production equipment (for example, a virtual welding robot, a virtual work, a virtual stage, etc.) different from the real welding environment, and implements the control transmitted from the input device UI 3.
  • a teaching program for the welding operation and a teaching program for the scanning operation of the workpiece Wk are created based on the reference 3D model data, the position information of the welding line, etc.).
  • the off-line teaching device 5 transmits the created teaching program for the welding operation and the created teaching program for the scanning operation to the robot control device 2 .
  • the created scanning operation teaching program may be sent to the inspection control device 3 as well as the robot control device 2 .
  • the offline teaching device 5 also stores the created teaching program for the welding operation and the created teaching program for the scanning operation for each workpiece Wk to be welded.
  • the weld line position information here is information indicating the position of the weld line formed on the workpiece Wk.
  • the welding operation teaching program referred to here is a program created based on the welding line and for causing the welding robot MC1 to perform welding.
  • the welding operation teaching program is a program for teaching the position, distance, angle (orientation) of welding torch 400 for executing various operations (for example, approach, retract, avoidance, welding, etc.) for welding workpiece Wk using welding torch 400. ) and information such as welding conditions.
  • the scanning operation teaching program referred to here is a program that is created based on the weld line and causes the welding robot MC1 to perform visual inspection of at least one bead created by welding or the work Wk.
  • the scan operation teaching program uses the sensor 4 to perform various operations (for example, approach, retract, avoidance, scan, etc.) for performing visual inspection of the prepared bead, workpiece Wk, etc. It is created including information on the position, distance, and angle (orientation) of
  • the monitor MN3 may be configured using a display device such as LCD or organic EL.
  • the monitor MN3 displays images of virtual production equipment (for example, a virtual welding robot, a virtual workpiece, a virtual stage, etc.) and a coordinate system transmitted from the offline teaching device 5, and displays a welding torch based on a welding operation teaching program. 400, the motion trajectory of the sensor 4 based on the scanning motion teaching program, and the like.
  • the monitor MN3 also displays an image in which the motion trajectory of the sensor 4, the motion trajectory of the welding torch 400, or the like is superimposed on the image of the virtual production facility transmitted from the offline teaching device 5.
  • the input device UI3 is a user interface that detects a user's input operation and outputs it to the host device 1, and may be configured using a mouse, keyboard, touch panel, or the like, for example.
  • the input device UI 3 is used for inputting position information of the welding line of the workpiece Wk, welding setting information, scan setting information, 3D model, etc. used for creating teaching programs for scan motions and welding motions, or for inputting operations such as scan motions and welding motions that have already been created.
  • Each input operation of the motion teaching program is received.
  • the monitor MN3 and the input device UI3 may be a terminal device P3 (for example, a PC, a notebook PC, a tablet terminal, etc.) configured integrally.
  • FIG. 2 is a diagram showing an internal configuration example of the inspection control device 3, the robot control device 2, the host device 1, and the offline teaching device 5 according to the first embodiment.
  • the monitors MN1 and MN2 and the input interface UI1 are omitted from FIG.
  • a work Wk shown in FIG. 2 is a work to be subjected to the bead appearance inspection. This work Wk may be a work produced by welding, or a repaired work that has been repaired one or more times by repair welding.
  • the welding robot MC1 shown in FIG. 2 is configured to include a sensor 4, but the sensor 4 may be used by other robots (for example, an inspection robot for performing visual inspection and a repair welding robot for performing repair welding). etc.).
  • the welding robot MC1 Under the control of the robot controller 2, the welding robot MC1 performs a welding process based on a welding operation teaching program using the welding torch 400, a bead visual inspection process based on a scanning operation teaching program using the sensor 4, and the like. Execute. In addition, the welding robot MC1 uses the sensor 4 to acquire the external shape of the work Wk and the positional information of the beads formed on the work Wk, which are used to create teaching programs for the welding operation and the scanning operation. The appearance of the work Wk may be scanned. The welding robot MC1 performs, for example, arc welding in the welding process. However, the welding robot MC1 may perform welding other than arc welding (for example, laser welding and gas welding).
  • Welding robot MC ⁇ b>1 includes at least a manipulator 200 , a wire feeder 300 , a welding wire 301 and a welding torch 400 .
  • the manipulator 200 has articulated arms, and moves each arm based on control signals from the robot controller 25 of the robot controller 2 . Thereby, manipulator 200 can change the positional relationship between work Wk and welding torch 400 (for example, the angle of welding torch 400 with respect to work Wk) and the positional relationship between work Wk and sensor 4 by driving the arm.
  • the wire feeding device 300 controls the feeding speed of the welding wire 301 based on the control signal from the robot control device 2.
  • Wire feeding device 300 may include a sensor (not shown) capable of detecting the remaining amount of welding wire 301 .
  • the robot control device 2 can detect completion of the welding process based on the output of this sensor.
  • Welding wire 301 is held by welding torch 400 .
  • Electric power is supplied to welding torch 400 from power supply device 500, whereby an arc is generated between the tip of welding wire 301 and work Wk, and arc welding is performed.
  • illustration and explanation of the configuration for supplying the shielding gas to the welding torch 400 are omitted.
  • the host device 1 uses the welding-related information input or set in advance by the user to generate execution commands for various processes such as welding or bead visual inspection, and transmits them to the robot control device 2 .
  • execution commands for various processes such as welding or bead visual inspection, and transmits them to the robot control device 2 .
  • the sensor 4 is integrally attached to the welding robot MC ⁇ b>1
  • the bead visual inspection execution command is sent to both the robot control device 2 and the inspection control device 3 .
  • the host device 1 has a configuration including at least a communication unit 10 , a processor 11 and a memory 12 .
  • the communication unit 10 is connected to enable data communication with each of the robot control device 2 and the external storage ST.
  • the communication unit 10 transmits to the robot control device 2 execution commands for various processes such as welding or bead visual inspection generated by the processor 11 .
  • the communication unit 10 receives the welding completion report and visual inspection report transmitted from the robot control device 2 and outputs them to the processor 11 .
  • the welding execution command may include, for example, control signals for controlling each of manipulator 200, wire feeder 300 and power supply 500 provided in welding robot MC1.
  • the processor 11 is configured using, for example, a CPU (Central Processing Unit) or FPGA (Field Programmable Gate Array), and cooperates with the memory 12 to perform various types of processing and control. Specifically, the processor 11 functionally implements the cell control unit 13 by referring to the program held in the memory 12 and executing the program.
  • a CPU Central Processing Unit
  • FPGA Field Programmable Gate Array
  • the memory 12 has, for example, a RAM (Random Access Memory) as a work memory used when executing the processing of the processor 11, and a ROM (Read Only Memory) that stores a program that defines the processing of the processor 11. Data generated or acquired by the processor 11 is temporarily stored in the RAM. A program that defines the processing of the processor 11 is written in the ROM.
  • the memory 12 also stores welding-related information data read from the external storage ST, status of the work Wk, and work information (see later) data of the work Wk transmitted from the robot control device 2 .
  • the cell control unit 13 Based on the welding-related information stored in the external storage ST, the cell control unit 13 generates an execution command for performing welding, bead visual inspection of the work Wk, visual scan of the work Wk, or repair welding. In addition, the cell control unit 13 is based on the welding-related information stored in the external storage ST and the teaching programs for the welding operation and the scanning operation created in the off-line teaching device 5 and transmitted from the robot control device 2. Then, a welding program for welding, a visual inspection program for driving the welding robot MC1 for visual inspection of the bead of the workpiece Wk, or a visual scanning program for driving the welding robot MC1 for visual scanning is created. Further, the cell control unit 13 creates execution commands for these created programs.
  • each of the appearance inspection program and the appearance scanning program may be created in advance for each work Wk and stored in the external storage ST. Read and get the program.
  • the cell control unit 13 may generate a different execution command for each of various welding processes to be performed by the welding robot MC1.
  • the welding visual inspection and visual scanning execution commands generated by the cell control unit 13 are transmitted to the corresponding robot control device 2 or to each of the robot control device 2 and the inspection control device 3 via the communication unit 10 .
  • the robot control device 2 refers to the corresponding program based on the welding, bead appearance inspection, or appearance scan execution command sent from the host device 1.
  • the robot controller 2 controls the welding robot MC1 (eg, sensor 4, manipulator 200, wire feeder 300, power supply 500) based on the referenced program.
  • the robot control device 2 has a configuration including at least a communication unit 20 , a processor 21 and a memory 22 .
  • the communication unit 20 is connected to enable data communication with the host device 1, the inspection control device 3, the welding robot MC1, and the offline teaching device 5, respectively. Although the illustration is simplified in FIG. 2, there are connections between the robot control unit 25 and the manipulator 200, between the robot control unit 25 and the wire feeding device 300, and between the power control unit 26 and the power supply device 500. Data is transmitted and received between them via the communication unit 20 .
  • the communication unit 20 receives a welding or bead visual inspection execution command transmitted from the host device 1 .
  • the communication unit 20 receives the welding line position information, the welding operation teaching program, and the scanning operation teaching program transmitted from the offline teaching device 5 .
  • the communication unit 20 transmits work information of the work Wk produced by welding to the host device 1 .
  • the work information includes not only the ID of the work Wk, but also the ID, name, welding location, and welding conditions of the work used for welding.
  • the processor 21 is configured using, for example, a CPU or FPGA, and cooperates with the memory 22 to perform various types of processing and control. Specifically, the processor 21 refers to the program held in the memory 22 and executes the program, thereby functionally realizing the main welding program creation unit 23, the robot control unit 25, and the power supply control unit 26. . The processor 21 also controls the welding robot MC1 (specifically, the manipulator 200, the wire feeder 300, and the power supply device) controlled by the robot controller 25 based on the welding program generated by the main welding program generator 23. 500), and the like.
  • the welding robot MC1 specifically, the manipulator 200, the wire feeder 300, and the power supply device
  • the memory 22 has, for example, a RAM as a work memory that is used when executing the processing of the processor 21, and a ROM that stores a program that defines the processing of the processor 21. Data generated or acquired by the processor 21 is temporarily stored in the RAM. A program that defines the processing of the processor 21 is written in the ROM.
  • the memory 22 stores welding-related information that associates welding or bead visual inspection execution command data transmitted from the host device 1, work information of the work Wk produced by welding, and welding line position information. memorize each.
  • the welding-related information including the work information of the work Wk to which the teaching programs for the welding operation and the scanning operation have been transmitted from the offline teaching device 5 includes the teaching programs for the welding operation and the scanning operation, the welding operation and the scanning operation. may include welding line position information, welding operation setting information, and scanning operation setting information used to create each teaching program.
  • the main welding program creation unit 23 Based on the welding execution command transmitted from the host device 1 via the communication unit 20, the main welding program creation unit 23 generates work information (for example, work ID, name, Work coordinate system, work information, welding line position information, etc.) and a welding operation teaching program associated with the work information are used to create a welding program for welding to be executed by the welding robot MC1.
  • the welding program includes welding current, welding voltage, offset amount, welding speed, and attitude of welding torch 400 for controlling power supply 500, manipulator 200, wire feeder 300, welding torch 400, etc. during execution of welding. and other various parameters may be included.
  • the welding program may be stored in the processor 21 or may be stored in the RAM in the memory 22 .
  • the calculation unit 24 performs various calculations.
  • the computing unit 24 controls the welding robot MC1 (specifically, the manipulator 200, the wire feeder 300 and the power Calculation of parameters and the like for controlling each of the devices 500 is performed.
  • the robot control unit 25 controls the welding robot MC1 (specifically, each of the sensor 4, the manipulator 200, the wire feeder 300, and the power supply device 500) based on the welding program generated by the main welding program generation unit 23. Generate a control signal for driving. The robot control unit 25 transmits this generated control signal to the welding robot MC1.
  • the robot control unit 25 drives the manipulator 200 and the sensor 4 of the welding robot MC1 based on the appearance inspection program created using the scan operation teaching program.
  • the sensor 4 attached to the welding robot MC1 moves along with the operation of the welding robot MC1, and by scanning the bead of the workpiece Wk, the input data related to the shape of the bead (for example, the three-dimensional shape of the bead can be identified).
  • point cloud data or by partially scanning the work Wk, input data on the partial shape of the work Wk corresponding to another appearance inspection location (for example, input data of the work Wk corresponding to another appearance inspection location
  • Point cloud data that can specify a three-dimensional shape can be acquired.
  • the power supply control unit 26 drives the power supply device 500 based on the calculation result of the welding program generated by the main welding program generation unit 23.
  • the inspection control device 3 based on a bead visual inspection execution command sent from the host device 1, is a work Wk produced by welding by the welding robot MC1 or a repaired work that has been repaired by one or more repair weldings. It controls the bead visual inspection processing of a work Wk.
  • the bead appearance inspection is, for example, an inspection of whether or not the bead formed on the surface of the work Wk satisfies a predetermined welding standard (for example, a welding quality standard required by each user). It consists of decisions. In other words, the bead appearance inspection is performed to determine whether or not there is a welding defect with respect to the workpiece Wk.
  • the inspection control device 3 determines the external shape of the bead formed on the workpiece Wk based on the input data (for example, point cloud data that can specify the three-dimensional shape of the bead) acquired by the sensor 4 regarding the shape of the bead. Determine (inspect) whether or not the welding standards of Further, the inspection control device 3 transmits to the off-line teaching device 5 input data regarding the shape of the bead or the work Wk acquired by driving (moving) the sensor 4 by the welding robot MC1.
  • the inspection control device 3 includes at least a communication unit 30 , a processor 31 , a memory 32 and an inspection result storage unit 33 .
  • the communication unit 30 is connected to each of the host device 1, the robot control device 2, the sensor 4, and the offline teaching device 5 so that data communication is possible. Although the illustration is simplified in FIG. 2, data is transmitted and received between the shape detection control section 35 and the sensor 4 via the communication section 30, respectively.
  • the communication unit 30 receives a bead visual inspection execution command transmitted from the host device 1 .
  • the communication unit 30 transmits the inspection determination result of the bead appearance inspection using the sensor 4 to the host device 1 and transmits the three-dimensional shape data of the bead acquired by the sensor 4 to the offline teaching device 5 .
  • the processor 31 is configured using, for example, a CPU or FPGA, and cooperates with the memory 32 to perform various types of processing and control. Specifically, the processor 31 refers to the program held in the memory 32 and executes the program to perform the determination threshold value storage unit 34, the shape detection control unit 35, the data processing unit 36, and the inspection result determination unit 37. , and a repair welding program creation unit 38 are functionally realized.
  • the memory 32 has, for example, a RAM as a work memory that is used when executing the processing of the processor 31, and a ROM that stores a program that defines the processing of the processor 31. Data generated or acquired by the processor 31 is temporarily stored in the RAM. A program that defines the processing of the processor 31 is written in the ROM. Further, the memory 32 may store the scan operation teaching program transmitted from the offline teaching device 5 and the work information in association with each other.
  • the inspection result storage unit 33 is configured using, for example, a hard disk or solid state drive.
  • the inspection result storage unit 33 stores, as an example of the data generated or acquired by the processor 31, data indicating the result of the bead visual inspection of the welded portion of the work Wk (for example, work or repair work).
  • the data indicating the result of this bead appearance inspection is, for example, the inspection result determination unit 37 (specifically, the first inspection determination unit 371, the second inspection determination unit 372 to the Nth inspection determination unit included in the inspection result determination unit 37). 37N).
  • the determination threshold value storage unit 34 is configured by, for example, a cache memory provided in the processor 31, is set in advance by a user operation, and stores the weld location and the first inspection determination unit 371, . . . Information of each threshold value (for example, each threshold value set for each type of welding failure) corresponding to each bead appearance inspection process of the N inspection determination unit 37N is stored.
  • the respective thresholds are, for example, the permissible range of bead misalignment, the respective thresholds of bead length, height, and width, and the respective thresholds of perforations, pits, undercuts, and spatters.
  • the determination threshold value storage unit 34 stores, as each threshold value at the time of bead visual inspection after repair welding, an allowable range (for example, a minimum allowable value, a maximum allowable value, etc.) that satisfies the minimum welding standard (quality) required by a customer or the like. can be stored. Note that these threshold values are set so that the inspection results generated by the first inspection determination unit 371 and the second inspection determination unit 372 to the N-th inspection determination unit 37N included in the inspection result determination unit 37 pass the bead visual inspection. It is used for the process of determining whether or not there is. Furthermore, the determination threshold value storage unit 34 may store an upper limit of the number of bead appearance inspections for each welding location.
  • an allowable range for example, a minimum allowable value, a maximum allowable value, etc.
  • the inspection control device 3 determines that it is difficult or impossible to repair the defective portion by automatic repair welding by the welding robot MC1 when the predetermined upper limit is exceeded when the defective portion is repaired by repair welding. , the decrease in the operating rate of the welding system 100 can be suppressed.
  • the shape detection control unit 35 detects the shape of the bead acquired and transmitted by the sensor 4 based on the bead visual inspection execution command of the welded portion of the work Wk (for example, work or repair work) transmitted from the host device 1.
  • Input data for example, point cloud data that can identify the three-dimensional shape of the bead
  • the shape detection control unit 35 is acquired by the sensor 4 and transmitted input data related to the shape of the work Wk (for example, 3 point cloud data that can identify the dimensional shape).
  • the shape detection control unit 35 enables the sensor 4 to image the bead or the workpiece Wk in accordance with the driving of the manipulator 200 by the robot control device 2 described above (in other words, the three-dimensional shape of the welding point or the workpiece Wk can be detected). possible), for example, a laser beam is emitted from the sensor 4 to obtain input data regarding the shape of the bead or workpiece Wk. Upon receiving the input data (see above) acquired by the sensor 4 , the shape detection control section 35 passes the input data to the data processing section 36 .
  • the data processing unit 36 When the data processing unit 36 acquires the input data (see above) regarding the shape of the bead from the shape detection control unit 35, the data processing unit 36 converts it into a data format suitable for the first inspection determination in the inspection result determination unit 37, and The data is converted into a data format suitable for each of the second inspection determination, .
  • the conversion of the data format may include, as a so-called preprocessing, correction processing in which unnecessary point cloud data (for example, noise) contained in the input data (that is, point cloud data) is removed, and may omit the pretreatment described above.
  • the data processing unit 36 generates image data representing the three-dimensional shape of the bead by using a data format suitable for the first inspection determination and, for example, performing statistical processing on the input shape data.
  • the data processing unit 36 may perform edge enhancement correction that enhances the peripheral portion of the bead in order to enhance the position and shape of the bead as the data for the first inspection determination.
  • the data processing unit 36 counts the number of times the bead appearance inspection is performed for each location of defective welding, and if the number of bead appearance inspections exceeds the number of times previously stored in the memory 32, the welding inspection result does not improve. , it may be determined that it is difficult or impossible to correct the defective welding portion by automatic repair welding.
  • the inspection result determination unit 37 generates an alert screen including the position of the defective welding location and the type of the defective welding (for example, hole, pit, undercut, spatter, protrusion), and displays the generated alert screen. , to the host device 1 via the communication unit 30 .
  • the alert screen sent to the host device 1 is displayed on the monitor MN1. This alert screen may be displayed on the monitor MN2.
  • the data processing unit 36 uses the threshold value for the bead appearance inspection stored in the determination threshold storage unit 34 to obtain the input data related to the shape of the bead acquired by the sensor 4 and master data of non-defective workpieces predetermined for each workpiece. Perform bead visual inspection based on comparison with The data processing unit 36 creates and inspects a visual inspection report including defect determination results as inspection determination results (that is, information indicating the presence or absence of defects requiring repair welding) and information on defect sections for each defect location. The results are stored in the result storage unit 33 and transmitted to the host device 1 or the robot control device 2 via the communication unit 30 .
  • the data processing unit 36 determines that there is no defective portion requiring repair welding in the workpiece Wk to be inspected, the data processing unit 36 creates a visual inspection report including the inspection determination result indicating that the bead has passed the visual inspection. It is stored in the inspection result storage unit 33 and transmitted to the host device 1 via the communication unit 30 .
  • the data processing unit 36 acquires the input data (see above) regarding the shape of the workpiece Wk from the shape detection control unit 35, it converts it into a data format suitable for the arithmetic processing executed by the offline teaching device 5.
  • the conversion of the data format may include, as so-called preprocessing, correction processing in which unnecessary point cloud data (for example, noise) contained in the input data (that is, point cloud data) is removed. 4 to generate a 3D model of the scan effective area.
  • the data processing unit 36 may perform edge enhancement correction that emphasizes the position and shape of the work Wk and emphasizes the peripheral portion of the work Wk.
  • the data processing unit 36 transmits the input data regarding the shape of the workpiece Wk after conversion to the offline teaching device 5 via the communication unit 30 .
  • the first inspection determination unit 371 performs a first inspection determination (that is, a bead appearance inspection based on comparison between input data regarding the shape of the bead acquired by the sensor 4 and master data of a non-defective work predetermined for each work). to inspect bead shape reliability (e.g., whether along a straight or curved weld line), bead chipping, and bead misalignment.
  • the first inspection determination unit 371 compares the data converted by the data processing unit 36 for the first inspection determination (for example, image data generated based on the point cloud data) with the master data of the non-defective workpiece (so-called image data). process).
  • the first inspection determination unit 371 can inspect bead shape reliability, bead chipping, and bead misalignment with high accuracy.
  • the first inspection determination unit 371 calculates an inspection score indicating the inspection results of bead shape reliability, bead chipping, and bead misalignment, and creates the calculated value of the inspection score as the first inspection result. Further, the first inspection determination unit 371 compares the created first inspection result with the threshold value for the first inspection result stored in the memory 32 .
  • the first inspection determination unit 371 transmits the first inspection result including the information of the comparison result (that is, whether the acquired first inspection result passed or failed the bead appearance inspection) to the second inspection determination unit 372. to the N-th inspection determination unit 37N.
  • each of the second inspection determining section 372 to the N-th inspection determining section 37N determines that the corresponding type of defective welding has been detected, it specifies the position of the bead where the defective welding has been detected.
  • Each of the second inspection determination unit 372 to the Nth inspection determination unit 37N uses a learning model (AI) obtained in advance by learning processing for each type of defective welding or for each group of defective welding types, Determine the presence or absence of welding defects.
  • AI learning model
  • each of the second inspection determination section 372 to the Nth inspection determination section 37N can inspect, for example, the presence or absence of holes, pits, undercuts, spatters, and protrusions in the bead with high accuracy.
  • the second inspection determination unit 372 to the Nth inspection determination unit 37N do not perform the bead shape reliability, bead chipping, and bead misalignment inspections that are performed by the first inspection determination unit 371, respectively.
  • the second inspection determination unit 372 to the Nth inspection determination unit 37N calculate inspection results (in other words, inspection scores indicating occurrence probability) of bead perforations, pits, undercuts, spatters, and protrusions, and calculate the inspection scores. A calculated value is created as a second inspection determination result.
  • the inspection result determination unit 37 determines whether repair welding by the welding robot MC1 is possible based on the inspection result (inspection score) included in the first inspection result or the second inspection result (in other words, It may be determined whether repair welding by the welding robot MC1 is better or manual repair welding is better), and the result of the determination may be included in the visual inspection report described above and output.
  • the repair welding program creation unit 38 creates a repair welding program for the work Wk to be executed by the welding robot MC1, using the appearance inspection report of the work Wk by the data processing unit 36.
  • the repair welding program includes welding current, welding voltage, offset amount, welding speed, welding torch 400 for controlling power supply 500, manipulator 200, wire feeder 300, welding torch 400, etc. during execution of repair welding. may include various parameters such as the attitude of the Note that the generated repair welding program may be stored in the processor 31, may be stored in the RAM in the memory 32, may be associated with the visual inspection report, and may be sent to the host device via the communication unit 30. 1 or the robot controller 2 .
  • the repair welding program creation unit 38 receives the visual inspection report of the work Wk (for example, work or repair work) by the inspection result determination unit 37 and work information (for example, information such as coordinates indicating the position of the detection point of the defective welding of the work or repair work) ) to create a repair welding program for the work Wk (for example, work or repair work) to be executed by the welding robot MC1.
  • the repair welding program includes welding current, welding voltage, offset amount, welding speed, welding torch 400 for controlling power supply 500, manipulator 200, wire feeder 300, welding torch 400, etc. during execution of repair welding. may include various parameters such as the attitude of the
  • the generated repair welding program may be stored in processor 31 or may be stored in RAM in memory 32 .
  • the sensor 4 is, for example, a three-dimensional shape sensor, is attached to the tip of the welding robot MC1, and acquires a plurality of point cloud data that can identify the shape of the workpiece Wk or the welding location on the workpiece Wk. Based on the acquired point cloud data, the sensor 4 generates point cloud data that can specify the three-dimensional shape of the welded portion, and transmits the generated point cloud data to the inspection control device 3 . If the sensor 4 is not attached to the tip of the welding robot MC1 and is arranged separately from the welding robot MC1, the position information of the workpiece Wk or the welding point transmitted from the inspection control device 3 may be used.
  • a laser light source (not shown) configured to be able to scan the work Wk or the welding point on the work Wk (for example, work or repair work) and an imaging area including the work Wk or the periphery of the welding point can be imaged.
  • a camera (not shown) that is arranged and captures the reflected trajectory of the reflected laser beam (that is, the shape line of the welded portion) of the laser beam irradiated to the workpiece Wk or the welded portion.
  • the sensor 4 transmits to the inspection control device 3 shape data of the workpiece Wk or the welded portion (in other words, image data of the workpiece Wk or the bead) based on the laser light imaged by the camera.
  • the camera described above includes at least a lens (not shown) and an image sensor (not shown).
  • the image sensor is a solid-state imaging device such as a CCD (Charge Coupled Device) or CMOS (Complementary Metal Oxide Semi-conductor), and converts an optical image formed on an imaging surface into an electrical signal.
  • CCD Charge Coupled Device
  • CMOS Complementary Metal Oxide Semi-conductor
  • the offline teaching device 5 is connected to the robot control device 2, the inspection control device 3, the monitor MN3, and the input device UI3 so that they can communicate with each other.
  • the off-line teaching device 5 creates a teaching program for the welding operation of the workpiece Wk based on various data such as welding line position information, welding operation setting information, scan operation setting information, etc., and welding line position information transmitted from the input device UI 3. and a scanning operation teaching program.
  • the offline teaching device 5 includes a communication section 50 , a processor 51 , a memory 52 and an input/output section 53 .
  • the offline teaching device 5 in the first embodiment will explain an example of creating teaching programs for the welding operation and the scanning operation, but the creation of the teaching program for the welding operation is not essential and may be omitted.
  • the off-line teaching device 5 is provided with a sensor 4, and it is sufficient that a scanning motion teaching program for a robot capable of executing a scanning motion (that is, a bead visual inspection) can be created by the sensor 4.
  • FIG. 1 A scanning motion teaching program for a robot capable of executing a scanning motion (that is, a bead visual inspection) can be created by the sensor 4.
  • the communication unit 50 is connected to enable data communication with the robot control device 2, the inspection control device 3, the input device UI3, and the monitor MN3.
  • the communication unit 50 transmits the created teaching programs for the welding operation and the scanning operation, and various data (for example, welding line position information, welding operation settings, etc.) used to create the teaching programs for the welding operation and the scanning operation. information, scan operation setting information, work information of the work Wk, etc.) are associated with each other and transmitted to the robot control device 2 .
  • the processor 51 is configured using, for example, a CPU or FPGA, and cooperates with the memory 52 to perform various types of processing and control. Specifically, processor 51 functionally implements 3D computing unit 54 and program creating unit 55 by referring to the program held in memory 52 and executing the program.
  • the memory 52 has, for example, a RAM as a work memory that is used when executing the processing of the processor 51, and a ROM that stores a program that defines the processing of the processor 51. Data generated or acquired by the processor 51 is temporarily stored in the RAM. A program that defines the processing of the processor 51 is written in the ROM. In addition, the memory 52 stores the welding operation teaching program created by the program creating unit 55, the scanning operation teaching program, and the workpiece information in association with each other.
  • the memory 52 also stores welding line information, sensor information, and obstacle information.
  • the weld line information is information indicating the weld line on the workpiece Wk to be welded.
  • the sensor information is information indicating measurement areas (for example, scan effective areas VLD0 and VLD1) of the sensor 4 that measures the external shape of the bead formed on the workpiece based on welding.
  • the obstacle information is information having at least the position of the obstacle OBS arranged between the sensor 4 and the work Wk.
  • the obstacle information may include not only the position of the obstacle OBS, but also information on the shape and dimensions of the obstacle.
  • An input/output unit 53 which is an example of an input unit and an acquisition unit, receives an execution command transmitted from the input device UI 3, a 3D model of the workpiece Wk or the scan effective area of the sensor 4, welding operation setting information, and scanning operation setting information. , the robot control device 2 , the inspection control device 3 , or the position information of the weld line transmitted from the input device UI 3 and output to the processor 51 .
  • the input/output unit 53 also receives images of virtual production equipment (for example, virtual welding robots, virtual workpieces, virtual stages, etc.) generated by the 3D computing unit 54, virtual production equipment transmitted from the offline teaching device 5, An image obtained by superimposing the motion locus of the sensor 4 or the motion locus of the welding torch 400 on the image of the equipment is transmitted to the monitor MN3.
  • virtual production equipment for example, virtual welding robots, virtual workpieces, virtual stages, etc.
  • the 3D computing unit 54 which is an example of a generation unit, generates, for example, input data (that is, three-dimensional shape data) relating to the shape of the workpiece Wk or bead, data of the 3D model of the workpiece Wk or the scan effective area of the sensor 4, workpiece Wk necessary for executing the welding process and visual inspection process of the work Wk based on the work information of the work Wk, data related to the production equipment (for example, position information of the stage STG, robot information or position information of the welding robot MC1), etc. Configure production equipment virtually.
  • the 3D computing unit 54 converts the data of the virtually configured production equipment into image data, outputs the image data to the input/output unit 53, and displays it on the monitor MN3.
  • the 3D computing unit 54 also calculates one or more teaching points included in the teaching program for the welding operation created by the program creation unit, and the operation trajectory of the welding torch 400 (specifically, idle running section, welding section, etc.). etc. are virtually superimposed on the production equipment to generate image data.
  • the 3D computing unit 54 acquires one or more teaching points included in the scanning motion teaching program created by the program creating unit, the motion trajectory of the sensor 4 (specifically, various Image data is generated by virtually superimposing an operation trajectory indicating an operation, an idle running section, a scanning section, etc., on the production equipment.
  • the 3D computing unit 54 converts the data of the virtual production facility on which data included in various teaching programs are superimposed into image data, outputs the image data to the input/output unit 53, and displays it on the monitor MN3. Note that the 3D computing unit 54, based on teaching programs for the welding operation and the scanning operation, respectively, teaches points for the welding operation and the scanning operation, and the operation trajectories of the welding torch 400 and the sensor 4 (specifically, idle running). section, welding section, scanning section, etc.) may be collectively superimposed on virtual production equipment to generate image data.
  • the 3D computing unit 54 which is an example of an acquisition unit, also obtains welding line information indicating the welding line (see FIG. 5) on the workpiece Wk to be welded, and the appearance of the bead formed on the workpiece Wk based on the welding.
  • sensor information indicating the measurement area of the sensor 4 that measures the shape (for example, the scan effective area VLD0 shown in FIG. 3); and obstacle information including at least the position of the obstacle OBS placed between the sensor 4 and the workpiece Wk is obtained from the memory 52 .
  • a 3D computing unit 54 which is an example of a computing unit, measures the external shape of an obstacle OBS during measurement by the sensor 4 based on the weld line information, the sensor information, and the obstacle information acquired from the memory 52.
  • a coverage ratio (see below) indicating the proportion of measurable weld lines (see FIG. 5) that are not rejected is calculated, and the calculation result of the coverage ratio is sent to the input/output unit 53 .
  • the program creation unit 55 generates welding line position information (e.g., workpiece Wk or 3D model data of the scan effective area of the sensor 4, input data related to the workpiece Wk or bead shape, welding line start and end points, respectively). coordinate information), the welding operation setting information, and the scanning operation setting information, a teaching program for the welding operation and a teaching program for the scanning operation are created.
  • the program generator 55 includes a welding motion generator 551 and a scan motion generator 552 .
  • the welding operation creation unit 551 creates a welding operation teaching program for performing a welding process on the workpiece Wk based on the input welding line position information and welding operation setting information.
  • the welding operation setting information referred to here may be a group of various parameters necessary for the welding operation, such as various welding conditions and retracted positions of the welding torch 400 before the start of welding and after the end of welding.
  • the scan motion creation unit 552 includes the input motion trajectory of the welding motion, position information of the welding line (welding line information) indicating the range of welding on the surface of the workpiece Wk, a 3D model, and a 3D model arranged on the 3D model. Based on the scan operation setting information and the like for each of the one or more scan effective areas, a scan operation teaching program is created for executing the visual inspection process of the bead formed on the work Wk or other visual inspection locations. do.
  • the scan operation setting information referred to here includes the distance between the sensor 4 and the workpiece Wk (see FIG. 3), sensor information regarding the specifications of the sensor 4 (for example, the scan measurement area (cross-sectional SEC shown in FIG. 3), Scan effective area VLD0 (see FIG.
  • VLD1 see FIG. 4
  • VLD1 corresponding to the measurement area of the sensor 4
  • measurement range approach information (for example, approach start position and approach end position information, instructions instructing the approach information, etc.), run-up section of scan, scan section, retraction information (e.g. information on retraction start position and retraction end position, instruction information for instructing retraction, etc.), avoidance information (e.g. information on avoidance start position and avoidance end position , positional information of workpieces, jigs, etc., which are obstacles to be avoided), beads, etc., or various parameter groups necessary for the scanning operation of other objects to be inspected.
  • approach information for example, approach start position and approach end position information, instructions instructing the approach information, etc.
  • run-up section of scan scan section
  • retraction information e.g. information on retraction start position and retraction end position, instruction information for instructing retraction, etc.
  • avoidance information e.g. information on avoidance start position and avoidance end
  • the scan motion creation unit 552 scans the motion trajectory of the input welding motion, the position information of the weld line (weld line information), the 3D model, and one or more scan effective areas arranged on the 3D model.
  • the obstacle information including at least the position of the obstacle OBS may be referenced to prepare the scan operation teaching program.
  • FIG. 3 is a diagram showing an example of a scan effective area of the sensor 4.
  • FIG. 4 is a diagram showing an example of the scan effective area of the sensor 4 in FIG. 3 when an obstacle OBS is placed within the scan effective area of the sensor 4.
  • FIG. 4 the same reference numerals are assigned to the same components as those in FIG. 3, the description is simplified or omitted, and the different contents are described.
  • 3 and 4 show examples in which a three-dimensional coordinate system (X, Y, Z) is virtually constructed by the offline teaching device 5, and the sensor 4 is virtually arranged in the three-dimensional coordinate system.
  • the sensor 4 can irradiate, for example, a linear laser beam (laser beam) in the -Z direction.
  • the light beam emitted from the sensor 4 is linear, and the sensor 4 can acquire two-dimensional information on the position on the linear sensor detection line LLRH and the height at that position as a measurement result. More specifically, the sensor 4 can acquire two-dimensional information of the position on the sensor detection line LLRH and the height at that position for each predetermined pitch of the distance h1 determined by the specifications of the sensor 4 . That is, when the sensor 4 is stopped at a certain height position, the measurement area of the sensor 4 at that stop position has a trapezoidal cross section SEC.
  • the sensor 4 is moved along the scan direction SCDR1 by the welding robot MC1 during the actual visual inspection. Therefore, the measurement area (in other words, scan effective area) of the sensor 4 is obtained by integrating the area of the cross section SEC having a two-dimensional trapezoidal shape by the movement distance of the sensor 4 along the scanning direction SCDR1. It becomes a scan effective area VLD0 having a dimensional shape.
  • the measurement range of the sensor 4 is determined according to its specifications. Therefore, the sensor 4 cannot measure when the object is too close or too far from the sensor 4 .
  • An intermediate region MID is provided in which measurement of 4 is impossible.
  • the influence (for example, presence or absence of interference) of the obstacle OBS on the ray path in other words, the scan effective area
  • the intermediate area MID that is, the sensor 4 and the scan It is also necessary to consider interference between an obstacle OBS and an area outside the scan effective area between the effective area VLD0.
  • the measurement area of the sensor 4 (in other words, the effective scan area) is reduced.
  • the net scan effective area VLD1 is an area having a volume obtained by reducing the volume of the area NVLD1 shown in FIG. 4 from the volume of the trapezoidal columnar scan effective area VLD0 shown in FIG.
  • the area NVLD1 is an area where the sensor 4 cannot measure due to interference between the scan effective area VLD0 of the sensor 4 and the obstacle OBS.
  • a rectangular parallelepiped obstacle OBS having a width Wu in the X direction overlaps the scan effective area VLD0 by a length d u in the Y direction at a height h3 from the wide bottom surface of the scan effective area VLD0.
  • the volume of the above-described area NVLD1 is determined by the 3D computing unit 54 as the height h 3 , the length d u , the width W u , and the rectangular shape of the wide bottom surface of the scan effective area VLD0 that is shadowed by the obstacle OBS. It can be calculated geometrically based on the Y-direction length d d and the X-direction width W d of the part.
  • the 3D computing unit 54 can identify the height h 3 , the length d u , and the width W u from the obstacle information including at least the position of the obstacle OBS. Similarly, the 3D computing unit 54 calculates the length of the rectangular portion of the wide bottom surface of the scan effective area VLD0 that is shadowed by the obstacle OBS from the sensor information (for example, the volume of the scan effective area VLD0) and the obstacle information. d d and width W d can be calculated.
  • the length d u represents the length (interference length) in the Y direction where measurement by the sensor 4 becomes impossible on the narrow upper surface (upper side in the Z direction) of the scan effective area VLD0 due to the obstacle OBS.
  • the width W d indicates the width (interference length) in the X direction where measurement by the sensor 4 becomes impossible on the narrow upper surface (upper side in the Z direction) of the scan effective area VLD0 due to the obstacle OBS.
  • a height h3 indicates the height from the wide bottom surface (lower side in the Z direction) of the scan effective area VLD0 when the obstacle OBS is arranged so as to overlap the scan effective area VLD0 of the sensor 4 . Note that the height h 3 may be the same as the height h 1 (see FIG. 3).
  • the length d indicates the Y-direction length (interference length) at which the sensor 4 cannot measure the wide bottom surface (Z-direction lower side) of the scan effective area VLD0 due to the obstacle OBS.
  • the width W d indicates the width (interference length) in the X direction where measurement by the sensor 4 becomes impossible at the wide bottom surface (lower side in the Z direction) of the scan effective area VLD0 due to the obstacle OBS.
  • the 3D computing unit 54 computes the inclusion rate (see above) according to, for example, the formula "100*(volume of scan effective area VLD1/scan effective area VLD0)" (*: operator indicating multiplication).
  • the inclusion rate is defined as the obstacle OBS in the area between the sensor 4 and the workpiece Wk (for example, the scan effective area VLD0, the intermediate area MID, or the area straddling both the scan effective area VLD0 and the intermediate area MID).
  • the length of the measurable weld line (see FIG. 5) that does not make it impossible to measure the external shape of the bead (in other words, the weld line) by the sensor 4 due to the reduction in the scan effective area of the sensor 4 based on the arrangement. and the length of the weld line to be inspected visually when the obstacle OBS is not arranged.
  • the object of visual inspection is the bead formed on the surface of the work Wk by welding. Focusing on following the weld line that shows the trajectory of contact on the surface, the inclusion rate here is the length of the measurable weld line described above and the weld line that should be the object of visual inspection when the obstacle OBS is not arranged. can be calculated as a ratio (proportion) to the length of
  • FIG. 5 is a diagram showing a first example of the scan valid area screen WD1.
  • FIG. 6 is a diagram showing the XY projection plane of the scan effective area VLD1 in FIG.
  • the scan effective area screen WD1 is created by the processor 51 of the offline teaching device 5 and displayed on the monitor MN3.
  • the same reference numerals are assigned to the same configurations as those in FIG. 3 or 4, and the description is simplified or omitted, and different contents are described.
  • the scan effective area screen WD1 includes a three-dimensional coordinate system virtually constructed by the processor 51 of the offline teaching device 5, welding lines of welding applied to a work (not shown), and three-dimensional At least the sensor 4 arranged in the coordinate system, the obstacle OBS arranged between the sensor 4 and the surface of the workpiece (not shown), the scan effective area VLD1 and the intermediate area MID of the sensor 4, and the coverage rate display field PP1 are displayed. do.
  • Each of the sensor 4, the obstacle OBS, the scan effective area VLD1, and the intermediate area MID are the same as those shown in FIG. 4, for example.
  • the processor 51 of the offline teaching device 5 may display the scan effective area VLD1 on the scan effective area screen WD1, and a shadow is projected on the surface of the workpiece (not shown) corresponding to the reduced scan effective area of the sensor 4 (see FIG. 4) due to the obstacle OBS. may be displayed as
  • the interference between the path of the light beam (for example, laser light) emitted from the sensor 4 and the obstacle OBS does not directly affect the result of the visual inspection.
  • the processor 51 receives welding line information indicating the position of the welding line of welding applied to the workpiece (not shown) and information on the scan effective area VLD0 of the sensor 4.
  • sensor information and obstacle information including the position of the obstacle OBS are acquired from the memory 52, and welding lines WLD1, WLD2 and welding line NWLD1 are determined using the welding line information, the sensor information, and the obstacle information. Display in a distinguishable manner.
  • the weld lines are weld lines WLD1 and WLD2 that can be measured by the sensor 4 without being affected by the interference caused by the obstacle OBS (that is, are included in the scan effective area VLD1), and the interference caused by the obstacle OBS.
  • the weld line NWLD1 is received and cannot be measured by the sensor 4 (that is, it is not included in the scan effective area VLD1).
  • the processor 51 displays the welding lines WLD1 and WLD2 in blue so that they can be measured by the sensor 4, and displays the welding line NWLD1 in red so that it cannot be measured by the sensor 4.
  • the processor 51 displays the welding lines WLD1 and WLD2 with thick solid lines so that they can be measured by the sensor 4, and displays the welding line NWLD1 with a thin dashed line so that it cannot be measured by the sensor 4 (FIG. 6). reference).
  • the thick solid line and the thin dashed line are merely examples of display modes, and the present invention is not limited to these display modes. In FIG.
  • the scan effective area VLD1 of the sensor 4 includes the welding lines WLD1 and WLD2 so as to be slightly lifted from the bottom surface of the scan effective area VLD1.
  • the scan effective area VLD1 may include the welding lines WLD1 and WLD2 so as to be in contact with the bottom surface thereof, or may include the welding lines WLD1 and WLD2 so as to slightly float from the bottom surface as shown in FIG. good.
  • the wide bottom surface BFC1 is the bottom surface on the side that contacts the surface of the workpiece (not shown) when the scan effective area VLD1 of the sensor 4 is viewed in the -Z direction on the XY plane.
  • Projected welding lines WLD1pj and WLD2pj obtained by projecting the welding lines WLD1 and WLD2 (see FIG. 5) onto the XY plane are included in the scan effective area VLD1 of the sensor 4. It is located on the wide bottom surface BFC1 of the effective area VLD1.
  • a projected weld line NWLD1pj which is the weld line NWLD1 (see FIG. 5) projected onto the XY plane, is arranged outside the scan effective area VLD1 of the sensor 4 .
  • the inclusion rate display field PP1 is a sub-screen showing the calculation results of the individual inclusion rate and the overall inclusion rate by the 3D calculation unit 54 of the processor 51, for example.
  • the individual inclusion rate is the original number of weld lines included in the scan effective area VLD1 of one sensor 4 (in other words, the measurable weld line whose external shape cannot be measured by the obstacle OBS during measurement by the sensor 4). Indicates the percentage of the total weld line length planned for the welding process. In other words, the individual coverage rate indicates to what extent the scanning operation by one sensor 4 covers the bead (welding line) targeted by the scanning operation.
  • the overall coverage rate is based on the assumption that multiple scanning operations are performed, such as by placing a single sensor in different orientations, and a scanning effective area is provided according to each scanning operation. case, the addition result of the individual inclusion rate calculated corresponding to each scan effective area is shown. In other words, it indicates how well the planned scanning motions from different directions by a single sensor collectively encompass the bead (weld line) that each scanning motion is intended for.
  • the individual coverage rate and the overall coverage rate are the results calculated by the 3D computing unit 54 according to the above definitions. It has the same value as the inclusion rate.
  • the total inclusion rate is more effective and appropriate than the individual inclusion rate as an index for determining whether or not the teaching of the scanning operation has been completed.
  • the individual inclusion rate In order to improve the total coverage rate, it is effective to add a new scanning operation and increase the sum of the scan effective area, which is the net measurement range. It is preferable that the individual inclusion rate also has a value as high as possible.
  • FIG. 7 is a diagram showing a second example of the scan effective area screen WD2. Similar to the scan effective area screen WD1, the scan effective area screen WD2 is created by the processor 51 of the offline teaching device 5 and displayed on the monitor MN3. In the description of FIG. 7, the same reference numerals are given to the same components as those in FIG. 3, 4 or 5, and the description is simplified or omitted, and different contents are described.
  • the scan effective area screen WD2 includes a three-dimensional coordinate system virtually constructed by the processor 51 of the offline teaching device 5, a welding line of a work (not shown), a three-dimensional Sensors 4 and 4A arranged in a coordinate system, obstacle OBS arranged between sensor 4 and the surface of a workpiece (not shown), scan effective area VLD1 and intermediate area MID of sensor 4, and scan effective area of sensor 4A At least the VLD2, the intermediate area, and the inclusion rate display column PP2 are displayed.
  • the direction of the sensor 4A is changed so that the direction of the same sensor 4 is different from the arrangement position where the irradiation direction of the laser beam is parallel to the -Z direction (for example, the laser beam is irradiated obliquely upward toward the XY plane). ) are virtually placed position sensors.
  • the sensor 4 and the sensor 4A are given different reference numerals in order to distinguish that the same sensor is virtually arranged at different positions in the three-dimensional coordinate system.
  • Sensor 4, obstacle OBS, scan effective area VLD1, intermediate area MID, weld lines WLD1 and WLD2, and weld line NWLD1 are the same as those shown in FIG. 4 or 5, for example.
  • FIG. 7 shows an example in which a new scanning operation is added when the sensor 4 is arranged at the position of the sensor 4A in order to improve the overall coverage rate, unlike FIG. Specifically, the individual inclusion rate R1 calculated corresponding to the scanning operation by the sensor 4 shown in FIG.
  • the individual inclusion rate R2 calculated for the new scan operation is 50%.
  • the scan operation by the sensor 4 includes only 60% of the entire length of the weld line as the object of the visual inspection, and the scan operation when the sensor 4 is placed at the position of the sensor 4A covers the entire length of the weld line. Only 50% of them are included in the visual inspection.
  • the visual information of the scan effective area or the weld line based on the scanning operation based on the positions of the sensors 4 and 4A dynamically change according to the teaching of the scanning operation or the setting change.
  • the user can use the offline teaching device 5 to create a teaching program for the optimum scanning operation with reference to these visual information.
  • FIG. 8 is a flow chart showing the operation procedure of the offline teaching device 5 according to the first embodiment. Each process (step) shown in FIG. 8 is mainly executed by the processor 51 of the offline teaching device 5 .
  • the processor 51 reads and acquires sensor information, welding line information, and obstacle information (all of which are described above) from the memory 52 (St1), and uses these various kinds of information to create a virtual three-dimensional coordinate system. is constructed, and the sensor 4, welding line, workpiece (not shown), and obstacle OBS are arranged in the three-dimensional coordinate system and displayed on the scan effective area screens WD1 and WD2 (see FIG. 4 or 5).
  • the processor 51 geometrically calculates the degree of interference between the scanning area of the scanning operation by the sensor 4 and the obstacle OBS (for example, the volume of the portion where the scanning effective area VLD0 and the obstacle OBS three-dimensionally overlap), A scan valid area VLD1 that can be said to be a net scan area is calculated (St2).
  • the processor 51 uses the calculation result of step St2 to calculate the coverage rate (individual coverage rate and overall coverage rate) of welding lines in the scan effective area VLD1 (that is, welding lines included in the scan effective area VLD1). (St3).
  • Processor 51 uses the calculation result of the coverage rate to display coverage rate display fields PP1 and PP2 on scan effective area screens WD1 and WD2.
  • a form for example, line type, line color
  • a form that can distinguish between the included portion and the non-included portion is visually displayed, and the display is updated (St4).
  • the scan effective area of the sensor 4 is determined by the user's request (for example, the sensor 4 A determination result as to whether or not the scan valid area) is satisfied is input (St5). If the input indicating that the user's request is satisfied (St5, YES), the processor 51 teaches the scanning operation based on the scan effective area VLD1 of the sensor 4 currently virtually arranged. A program is generated and sent to the robot controller 2 (St6).
  • the processor 51 causes the user to scan the scan effective area VLD1 of the sensor 4 currently virtually arranged.
  • An operation editing operation for example, division, movement, deletion, etc. of the scanning section of the sensor 4 accompanying the scanning operation
  • St7 An operation editing operation (for example, division, movement, deletion, etc. of the scanning section of the sensor 4 accompanying the scanning operation)
  • a scanning effective area is generated by the sensor 4, and three-dimensional coordinates are generated. placed in the system.
  • the processing of the processor 51 returns to step St2. That is, the processor 51 determines the degree of interference with the obstacle OBS for the new scan effective area corrected by the editing operation (for example, the volume of the portion where the scan effective area after the editing operation and the obstacle OBS three-dimensionally overlap). ) is geometrically calculated to calculate a scan effective area VLD1 that can be said to be a net scan area (St2).
  • the offline teaching device 5 measures the welding line information indicating the welding line on the work Wk to be welded and the external shape of the bead formed on the work Wk based on the welding.
  • An acquisition unit for example, 3D calculation unit
  • the welding line information, the sensor information, and the obstacle information measurable welding lines (for example, welding lines WLD1 and WLD2) whose external shape cannot be measured by the obstacle OBS during measurement by the sensor 4.
  • an output unit e.g., input/output unit 53 that generates a calculation result of the coverage rate and outputs it to a screen (e.g., scan effective area screen WD1). , provided.
  • the offline teaching device 5 can detect interference between the scan area and the obstacle OBS (for example, the path of the light beam from the sensor 4 and the interference with the obstacle OBS) can be visualized. Therefore, the offline teaching device 5 can assist the user in teaching an appropriate scanning operation of the sensor 4 for offline visual inspection.
  • the measurement area has a three-dimensional shape (for example, a trapezoidal column) configured based on the scanning distance of the sensor 4 during measurement (see FIG. 3).
  • a calculation unit (for example, the 3D calculation unit 54) specifies an effective measurement area (for example, a scan effective area VLD1) based on the overlapping of the measurement area and the obstacle OBS, and based on the effective measurement area and the weld line information, the coverage rate is calculated. is calculated.
  • the offline teaching device 5 can determine how much of the weld line cannot be measured during visual inspection due to interference between the obstacle OBS and the path of the light beam from the sensor 4 .
  • the output unit (for example, the input/output unit 53) outputs the calculated value of the inclusion rate to the screen (for example, the scan effective area screen WD1). This allows the user to visually recognize how much of the weld line cannot be measured during visual inspection due to interference between the obstacle OBS and the path of the light beam from the sensor 4 .
  • the output unit (for example, the input/output unit 53) outputs the first weld line (for example, the weld line WLD1 and the weld line WLD2) located within the effective measurement area (for example, the scan effective area VLD1) of the weld lines and the effective measurement area.
  • a second welding line located outside (for example, welding line NWLD1) is output to a screen (for example, scan effective area screen WD1) in a manner distinguishable from the second welding line (for example, welding line NWLD1). This allows the user to visually recognize which part of the weld line cannot be visually inspected due to interference between the obstacle OBS and the path of the light beam from the sensor 4 .
  • the measurement area of the sensor is divided into a first measurement area (for example, the scan effective area VLD1) by the first arrangement position of the sensor 4 (for example, the position of the sensor 4 shown in FIG. 7) and a second arrangement position of the sensor 4 (
  • the position of the sensor 4A shown in FIG. 7) has at least a second measurement area (for example, the scan effective area VLD2).
  • the calculation unit determines the first measurable weld line (for example, the weld line WLD1 and the weld line WLD2) whose external shape cannot be measured due to the obstacle OBS during the measurement of the first measurement area.
  • a first coverage rate for example, an individual coverage rate R1 indicating a ratio
  • a second measurable weld line for example, a weld line NWLD1
  • a second coverage rate for example, individual coverage rate R2 that indicates the ratio of the Calculate.
  • the output unit converts the first coverage rate (for example, the individual coverage rate R1), the second coverage rate (for example, the individual coverage rate R2), and the overall coverage rate RW into the calculation result of the coverage rate. to the screen (for example, scan effective area screen WD2).
  • the screen for example, scan effective area screen WD2
  • the offline teaching device uses the offline teaching device 5 configured to include one or more computers.
  • Information is input to a computer
  • sensor information indicating a measurement area of a sensor for measuring the external shape of a bead formed on a work based on welding is input to the computer, and the sensor is placed between the sensor 4 and the work Wk.
  • Obstacle information including at least the position of the obstacle OBS is input to the computer, and based on the weld line information, the sensor information, and the obstacle information, measurement is performed in which the external shape cannot be measured due to the obstacle during measurement by the sensor 4.
  • Generates a coverage ratio calculation result indicating the percentage of possible weld lines and outputs it to the screen.
  • the user can use the offline teaching device 5 to receive assistance in teaching an appropriate scanning operation of the sensor 4 for offline appearance inspection, thereby improving the user's convenience.
  • the present disclosure provides an offline teaching device and an offline teaching device that, when an obstacle is placed within the scanning region of a sensor performed by a welding robot, visualizes the interference between the scanning region and the obstacle, and supports teaching of an appropriate scanning operation. It is useful as a teaching method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

オフライン教示装置は、ワーク上の溶接線を示す溶接線情報と、溶接に基づいてワーク上に形成されるビードの外観形状を計測するセンサの計測領域を示すセンサ情報と、センサとワークとの間に配置される障害物の位置を少なくとも有する障害物情報とを取得する取得部と、溶接線情報とセンサ情報と障害物情報とに基づいて、センサによる計測中に障害物により外観形状の計測が不可とならない計測可能溶接線の割合を示す包含率を演算する演算部と、包含率の演算結果を生成してスクリーンに出力する出力部と、を備える。

Description

オフライン教示装置およびオフライン教示方法
 本開示は、オフライン教示装置およびオフライン教示方法に関する。
 特許文献1には、モデル図に、ティーチングプログラムを実行したときのロボットの動作軌跡を表示し、複数の位置検出命令の一部および複数の溶接命令の一部を表示するオフラインティーチング装置が開示されている。オフラインティーチング装置は、ティーチングプログラムとモデル図とを表示する表示部と、ティーチングプログラムを構成する命令と、モデル図のモデルデータとを記憶する記憶部と、表示部および記憶部を制御する制御部と、を備える。ティーチングプログラムは、複数の位置検出命令で構成される位置検出プログラム、および、複数の溶接命令で構成される溶接プログラムを含む。ここで、ティーチングプログラムを構成する命令、位置検出プログラムおよび溶接プログラムのそれぞれは、作業者により作成される。
国際公開第2016/021130号
 本開示は、溶接ロボットにより実行されるセンサのスキャン領域内に障害物が配置される場合、スキャン領域と障害物との干渉を可視化し、適切なスキャン動作の教示を支援するオフライン教示装置およびオフライン教示方法を提供する。
 本開示は、溶接が行われるワーク上の溶接線を示す溶接線情報と、前記溶接に基づいて前記ワーク上に形成されるビードの外観形状を計測するセンサの計測領域を示すセンサ情報と、前記センサと前記ワークとの間に配置される障害物の位置を少なくとも有する障害物情報とを取得する取得部と、前記溶接線情報と前記センサ情報と前記障害物情報とに基づいて、前記センサによる前記計測中に前記障害物により前記外観形状の計測が不可とならない計測可能溶接線の割合を示す包含率を演算する演算部と、前記包含率の演算結果を生成してスクリーンに出力する出力部と、を備える、オフライン教示装置を提供する。
 また、本開示は、1つ以上のコンピュータを含んで構成されたオフライン教示装置が行うオフライン教示方法であって、溶接が行われるワーク上の溶接線を示す溶接線情報と、前記溶接に基づいて前記ワーク上に形成されるビードの外観形状を計測するセンサの計測領域を示すセンサ情報と、前記センサと前記ワークとの間に配置される障害物の位置を少なくとも有する障害物情報とを取得し、前記溶接線情報と前記センサ情報と前記障害物情報とに基づいて、前記センサによる前記計測中に前記障害物により前記外観形状の計測が不可とならない計測可能溶接線の割合を示す包含率を演算し、前記包含率の演算結果を生成してスクリーンに出力する、オフライン教示方法を提供する。
 また、本開示は、1つ以上のコンピュータを含んで構成されたオフライン教示装置を用いて行うオフライン教示方法であって、溶接が行われるワーク上の溶接線を示す溶接線情報を前記コンピュータに入力し、前記溶接に基づいて前記ワーク上に形成されるビードの外観形状を計測するセンサの計測領域を示すセンサ情報を前記コンピュータに入力し、前記センサと前記ワークとの間に配置される障害物の位置を少なくとも有する障害物情報を前記コンピュータに入力し、前記溶接線情報と前記センサ情報と前記障害物情報とに基づいて、前記センサによる前記計測中に前記障害物により前記外観形状の計測が不可とならない計測可能溶接線の割合を示す包含率の演算結果を生成してスクリーンに出力する、オフライン教示方法を提供する。
 本開示によれば、溶接ロボットにより実行されるセンサのスキャン領域内に障害物が配置される場合、スキャン領域と障害物との干渉を可視化でき、適切なスキャン動作の教示を支援できる。
実施の形態1に係る溶接システムのシステム構成例を示す概略図 実施の形態1に係る検査制御装置、ロボット制御装置、上位装置およびオフライン教示装置の内部構成例を示す図 センサのスキャン有効領域例を示す図 図3のセンサのスキャン有効領域内に障害物が配置された場合のセンサのスキャン有効領域例を示す図 スキャン有効領域画面の第1例を示す図 図5のスキャン有効領域のXY投影面を示す図 スキャン有効領域画面の第2例を示す図 実施の形態1に係るオフライン教示装置の動作手順を示すフローチャート センサとワークとの間に障害物が存在しない場合の入射光および反射光の一例を示す図 センサとワークとの間に障害物が存在する場合に反射点の位置Pt1での計測ができないことを示す第1例を示す図 センサとワークとの間に障害物が存在する場合に反射点の位置Pt1での計測ができないことを示す第2例を示す図
(本開示に至る経緯)
 特許文献1のように、オフライン教示装置を用いて溶接ロボットの動きあるいは移動経路等を教示するための教示プログラムを作成することは既知である。例えば、溶接ロボットの動きあるいは移動経路等を指定するための教示作業を作業者がティーチペンダントを用いて操作し、実物の溶接ロボットとワーク(対象物)とを目視確認によって位置決めすることで教示プログラムを作成することが行われている。このような教示プログラムの作成方法では、溶接ロボットの操作に習熟した作業者が必要になること、教示の修正の度に生産設備を停止させなければならないこと、等の欠点があった。このため、近年、パソコン等の比較的高性能ではない身近なコンピュータ装置を用いて、仮想的な生産設備(例えば溶接ロボット)を構築して画面上に表示し、ユーザのコンピュータ装置への入力操作によって溶接ロボットの動きあるいは移動経路等を教示するオフライン教示が行われる場合がある。
 また、近年の自動化が普及し、溶接動作だけでなく、溶接箇所に形成されたビードの品質確認方法である外観検査が溶接ロボットによって自動的に行われる例が登場している。このような自動外観検査は、レーザセンサ等の3次元形状を計測できる装置を溶接ロボットに装着し、溶接ロボットの移動によってレーザセンサを3次元的に走査(スキャン動作)することで行われている。
 ここで、溶接動作の教示は、溶接トーチをワークに近接させ、溶接箇所である加工点と溶接トーチとの位置関係を作業者が目視確認しながら行われる。一方で、スキャン動作の教示は、ワークから一定程度離間した位置に配置された非接触型のレーザセンサを用いて行われる。このため、溶接動作の教示と異なり、外観検査の対象となる箇所(検査箇所)とレーザセンサとの位置関係が適正であるか否かを作業者が目視で判断することは困難であった。さらに、検査箇所とレーザセンサとの位置関係が適正であっても、ワークの検査箇所と非接触型のレーザセンサとの間に障害物(例えば治具、ワーク)が配置されていると、正しくスキャン動作を行うことができないことがある。従来ではこのような障害物によってレーザセンサとワークの検査箇所との間に干渉が生じるような異常な状況を検出するためには、実際にレーザセンサによってスキャンを行い、その上で取得される計測データに欠損(例えば検査されない検査箇所)があるか否かを目視確認する必要があり、作業工数が増大するという課題があった。
 そこで、以下の実施の形態では、溶接ロボットにより実行されるセンサのスキャン領域内に障害物が配置される場合、スキャン領域と障害物との干渉を可視化し、適切なスキャン動作の教示を支援するオフライン教示装置およびオフライン教示方法の例を説明する。
 以下、適宜図面を参照しながら、本開示に係るオフライン教示装置およびオフライン教示方法を具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(用語の定義)
 「ワーク」:溶接される対象物(例えば金属)、溶接により生産(製造)された対象物の両方の概念を有する用語を「ワーク」と定義する。「ワーク」は、1回の溶接により生産(製造)された1次的なワークに限らず、2回以上の溶接により生産(製造)された2次的なワークでもよい。
 「溶接」:少なくとも2つのワークが溶接ロボットにより接合等されてワークを生産する工程を「溶接」と定義する。なお、「溶接」を「本溶接」と称する場合もある。
 「外観検査」:センサ(後述参照)を用いて、溶接により生産(製造)されたワークの表面上に形成されたビードの外観形状を計測して溶接の不良があるか否かを検査する工程を「外観検査」と定義する。
(外観検査において障害物により生じる問題点)
 上述した外観検査の定義で説明したように、溶接により生産(製造)されたワークの表面上に形成されるビードの外観検査では、通常センサが使用される。このセンサは、例えばビードの外観形状を計測する。外観検査では、この計測結果を用いて、ワークへの溶接不良があったかどうかが判定される。
 図9Aは、センサ4zとワークWkとの間に障害物OBSが存在しない場合の入射光ICL1および反射光RFL1の一例を示す図である。図9Bは、センサ4zとワークWkとの間に障害物OBSが存在する場合に反射点の位置Pt1での計測ができないことを示す第1例を示す図である。図9Cは、センサ4zとワークWkとの間に障害物OBSが存在する場合に反射点の位置Pt1での計測ができないことを示す第2例を示す図である。なお、図9A、図9Bおよび図9Cでは、分かりやすく説明するために三角測量方式のセンサ4zを例示して説明するが、センサ4zの計測方式は三角測量方式(光学式)に限定されず、例えば反射型でもよいし、透過型でもよい。
 三角測量方式のセンサ4zを用いた場合、センサ4zによる対象物の位置検出は、例えばセンサ4zの投光部から放射された光線がセンサ4zの受光部に入射されるか否かによって行われる。したがって、投光部から受光部までの経路(光路)上に障害物が存在する場合、センサ4zは対象物(ワーク)の計測するべき位置を正しく検出できない。つまり、三角測量方式のセンサ4zを用いて外観検査する際、センサ4zからの入射光と対象物(ワーク)での反射光とを遮る領域に障害物が存在してはならないという制約がある。
 図9Aに示すように、センサ4zとワークWkとの間に障害物OBSが存在しない場合、センサ4zの投光部4aから照射された入射光ICL1は対象物であるワークWkの表面上の位置Pt1で反射する。そして、この位置Pt1で反射した反射光RFL1は、センサ4zの受光部4bに入射する。したがって、図9Aの例では、センサ4zは、ワークWkの表面上の位置Pt1を検出可能である。
 ところが、図9Bおよび図9Cに示すように、投光部4aから受光部4bまでのセンサ4zの光線の経路上に障害物OBSが存在する場合、その障害物OBSによって光線の影となる領域が、センサ4zが計測して取得可能なデータにおいて欠損として現れる。図9Bの例では、投光部4aから照射された入射光ICL1が障害物OBSで反射してワークWkの表面上の位置Pt1で反射しない。このため、位置Pt1は、障害物OBSによる光線(入射光ICL1)の影となり、センサ4zにより検出不可となる。同様に、図9Cの例では、投光部4aから照射された入射光ICL1はワークWkの表面上の位置Pt1で反射するが、その反射光RFL1が障害物OBSで反射する。このため、位置Pt1は、障害物OBSによる光線(入射光ICL1)の影とはならないが、反射光RFL1がセンサ4zの受光部4bに入射不可となり、結果的にセンサ4zにより検出不可となる。
 以上から、センサから照射される入射光(光線)の経路はセンサによって規定されているので、経路と障害物OBSとの干渉が無いか幾何学的に判定することが求められる。以下の実施の形態では、光線の経路(言い換えると、スキャン有効領域)と障害物とをモデル化して干渉の有無あるいはその程度を可視化することで、適切なスキャン動作を教示可能とするオフライン教示装置の例を説明する。
(溶接システムの構成)
 次に、本開示に係るオフライン教示装置を含む溶接システム100のシステム構成について、図1を参照して説明する。
 図1は、実施の形態1に係る溶接システム100のシステム構成例を示す概略図である。溶接システム100は、外部ストレージST、入力インターフェースUI1およびモニタMN1のそれぞれと接続される上位装置1と、ロボット制御装置2と、センサ4およびモニタMN2のそれぞれと接続される検査制御装置3と、オフライン教示装置5と、溶接ロボットMC1とを含む構成である。オフライン教示装置5は、モニタMN3および入力装置UI3のそれぞれと接続される。図1では、センサ4は、溶接ロボットMC1と別体として図示されているが、溶接ロボットMC1と一体化した構成として設けられてもよい(図2参照)。モニタMN2は必須の構成でなく、省略されてもよい。
 上位装置1は、ロボット制御装置2を介して溶接ロボットMC1により実行される溶接の開始および完了を統括して制御する。例えば、上位装置1は、ユーザ(例えば、溶接作業者あるいはシステム管理者。以下同様。)により予め入力あるいは設定された溶接関連情報を外部ストレージSTから読み出し、溶接関連情報を用いて、溶接関連情報の内容を含めた溶接の各種処理の実行指令を生成して対応するロボット制御装置2に送信する。上位装置1は、溶接ロボットMC1による溶接が完了した場合に、溶接ロボットMC1による溶接が完了した旨の溶接完了報告をロボット制御装置2から受信し、対応する溶接が完了した旨のステータスに更新して外部ストレージSTに記録する。
 なお、上述した溶接の実行指令は上位装置1により生成されることに限定されず、例えば溶接が行われる工場等内の設備の操作盤(例えばPLC:Programmable Logic Controller)、あるいはロボット制御装置2の操作盤(例えばティーチペンダントにより生成されてもよい。なお、ティーチペンダントは、ロボット制御装置2に接続された溶接ロボットMC1を操作するための装置である。
 上位装置1は、ロボット制御装置2、検査制御装置3およびセンサ4を用いたビード外観検査の開始および完了を統括して制御する。例えば、上位装置1は、ロボット制御装置2から溶接完了報告を受信すると、溶接ロボットMC1により生産されたワークのビード外観検査の実行指令を生成してロボット制御装置2および検査制御装置3のそれぞれに送信する。上位装置1は、ビード外観検査が完了した場合に、ビード外観検査が完了した旨の外観検査報告を検査制御装置3から受信し、対応するビード外観検査が完了した旨のステータスに更新して外部ストレージSTに記録する。
 ここで、溶接関連情報とは、溶接ロボットMC1により実行される溶接の内容を示す情報であり、溶接の工程ごとに予め作成されて外部ストレージSTに登録されている。溶接関連情報は、例えば溶接に使用されるワークの数と、溶接に使用されるワークのID、ワークのロット情報、名前および溶接箇所(例えば、溶接線の情報、溶接線の位置情報等)を含むワーク情報と、溶接が実行される実行予定日と、ワークの生産台数と、溶接時の各種の溶接条件と、を含む。なお、溶接関連情報は、上述した項目のデータに限定されず、作成済みの溶接動作およびスキャン動作の教示プログラムのそれぞれ(後述参照)、これらの教示プログラムの作成に用いられた溶接動作設定情報、スキャン動作設定情報等の情報をさらに含んでもよい。
 また、溶接条件は、例えばワークの材質および厚み、溶接ワイヤ301の材質およびワイヤ径、シールドガス種、シールドガスの流量、溶接電流の設定平均値、溶接電圧の設定平均値、溶接ワイヤ301の送給速度および送給量、溶接回数、溶接時間等である。また、これらの他に、例えば溶接の種別(例えばTIG溶接、MAG溶接、パルス溶接)を示す情報、マニピュレータ200の移動速度および移動時間が含まれても構わない。
 ロボット制御装置2は、上位装置1から送信された溶接の実行指令に基づいて、その実行指令で指定されるワークを用いた溶接の実行を溶接ロボットMC1に開始させる。なお、上述した溶接関連情報は、上位装置1が外部ストレージSTを参照して管理することに限定されず、例えばロボット制御装置2において管理されてもよい。この場合、ロボット制御装置2は溶接が完了した状態を把握できるので、溶接関連情報のうち溶接工程が実行される予定の実行予定日の代わりに実際の実行日が管理されてよい。なお、本明細書において、溶接の種類は問わないが、説明を分かり易くするために、複数のワークを接合して1つのワークを生産する工程を例示して説明する。
 上位装置1は、モニタMN1、入力インターフェースUI1および外部ストレージSTのそれぞれとの間でデータの入出力が可能となるように接続され、さらに、ロボット制御装置2との間でデータの通信が可能となるように接続される。上位装置1は、モニタMN1および入力インターフェースUI1を一体に含む端末装置P1でもよく、さらに、外部ストレージSTを一体に含んでもよい。この場合、端末装置P1は、溶接の実行に先立ってユーザにより使用されるPC(Personal Computer)である。なお、端末装置P1は、上述したPCに限らず、例えばスマートフォン、タブレット端末等の通信機能を有するコンピュータ装置でよい。
 モニタMN1は、例えばLCD(Liquid Crystal Display)または有機EL(Electroluminescence)等の表示用デバイスを用いて構成されてよい。モニタMN1は、例えば上位装置1から出力された、溶接が完了した旨の通知、あるいはビード外観検査が完了した旨の通知を示す画面を表示してよい。また、モニタMN1の代わりに、あるいはモニタMN1とともにスピーカ(図示略)が上位装置1に接続されてもよく、上位装置1は、溶接が完了した旨の内容、あるいはビード外観検査が完了した旨の内容の音声を、スピーカを介して出力してもよい。
 入力インターフェースUI1は、ユーザの入力操作を検出して上位装置1に出力するユーザインターフェースであり、例えば、マウス、キーボードまたはタッチパネル等を用いて構成されてよい。入力インターフェースUI1は、例えばユーザが溶接関連情報を作成する時の入力操作を受け付けたり、ロボット制御装置2への溶接の実行指令を送信する時の入力操作を受け付けたりする。
 外部ストレージSTは、例えばハードディスクドライブ(Hard Disk Drive)またはソリッドステートドライブ(Solid State Drive)を用いて構成される。外部ストレージSTは、例えば溶接ごとに作成された溶接関連情報のデータ、溶接により生産されたワークWkのステータス(生産状況)、ワークWkのワーク情報(上述参照)を記憶する。なお、外部ストレージSTは、オフライン教示装置5によって作成された溶接動作の教示プログラムと、スキャン動作の教示プログラムとを溶接線ごとに記憶していてもよい。溶接動作およびスキャン動作の教示プログラムのそれぞれについては、後述する。
 ロボット制御装置2は、上位装置1、検査制御装置3、およびオフライン教示装置5との間でそれぞれデータの通信が可能に接続されるとともに、溶接ロボットMC1との間でデータの通信が可能に接続される。ロボット制御装置2は、上位装置1から送信された溶接の実行指令を受信すると、この実行指令に対応する溶接動作の教示プログラムに基づいて、溶接プログラムを作成し、溶接ロボットMC1を制御して溶接を実行させる。ロボット制御装置2は、溶接の完了を検出すると溶接が完了した旨の溶接完了報告を生成して上位装置1に通知する。これにより、上位装置1は、ロボット制御装置2による溶接の完了を適正に検出できる。なお、ロボット制御装置2による溶接の完了の検出方法は、例えばワイヤ送給装置300が備えるセンサ(図示略)からの溶接の完了を示す信号に基づいて判別する方法でよく、あるいは公知の方法でもよく、溶接の完了の検出方法の内容は限定されなくてよい。
 溶接ロボットMC1は、ロボット制御装置2との間でデータの通信が可能に接続される。溶接ロボットMC1は、対応するロボット制御装置2の制御の下で、上位装置1から指令された溶接を実行する。また、溶接ロボットMC1は、スキャン動作の教示プログラムに基づいてセンサ4を移動させることで(図3参照)、上位装置1から指令されたビード外観検査を実行する。
 検査制御装置3は、上位装置1、ロボット制御装置2、センサ4およびオフライン教示装置5のそれぞれとの間でデータの通信が可能に接続される。検査制御装置3は、上位装置1から送信されたビード外観検査の実行指令を受信すると、対応するワークWkのスキャン動作の教示プログラムに従い、溶接ロボットMC1により生産されたワークWkの溶接箇所に形成されるビードのビード外観検査(例えば、ワークに形成されたビードが予め既定された溶接基準を満たすか否かの検査)をセンサ4とともに実行する。検査制御装置3は、スキャン動作の結果、センサ4により取得されたビードの形状に関する入力データ(例えば、ビードの3次元形状を特定可能な点群データ)を用いて、ワークごとに予め既定された良品ワークのマスタデータとの比較に基づいてビード外観検査を行う。なお、溶接ロボットMC1により実行されるビード外観検査は、ビードの外観検査に限定されず、ビードの外観検査と他の外観検査(例えば、ワークWkへの部品装着の有無等)等とを含む検査であってもよい。これにより、作業者は、センサ4のスキャン有効領域をより効率的に活用して、外観検査結果に基づいて、異なる目的を有する外観検査をそれぞれ同時に実行できる。また、ここでいうスキャン有効領域は、図3を参照して後述するが、センサ4がスキャンにより外観形状を読み取り可能な3次元領域を示す。
 検査制御装置3は、ビード外観検査を行い、このビード外観検査の検査判定結果とビード外観検査が完了した旨の通知とを含む外観検査報告を生成して上位装置1に送信するとともに、モニタMN2に出力する。なお、検査制御装置3は、ワークのビード外観検査において欠陥を検知したと判定した場合に、その欠陥をリペア溶接するための欠陥区間の情報を含む外観検査結果を含む外観検査報告を生成して、上位装置1およびロボット制御装置2に送信する。また、検査制御装置3は、ワークのビード外観検査によって欠陥を検知したと判定した場合に、欠陥区間の情報を含む外観検査結果を用いて、欠陥箇所の補修等の修正を行う旨のリペア溶接プログラムを作成する。検査制御装置3は、このリペア溶接プログラムと外観検査結果とを対応付けて上位装置1あるいはロボット制御装置2に送信する。
 センサ4は、検査制御装置3との間でデータの通信が可能に接続される。センサ4は、例えば溶接ロボットMC1に取付固定され、ロボット制御装置2の制御に基づくマニピュレータ200の駆動に応じて、ワークWk、またはワークWkが載置されたステージSTG(図2参照)の3次元スキャンを実行する。センサ4は、ロボット制御装置2の制御に基づくマニピュレータ200の駆動に応じて、ステージSTGに置かれたワークWkの3次元形状のデータまたはワークWkが載置されたステージSTGの形状、大きさ、位置等を特定可能な3次元形状のデータ(例えば、点群データ)を取得して検査制御装置3に送信する。
 モニタMN2は、例えばLCDまたは有機EL等の表示用デバイスを用いて構成されてよい。モニタMN2は、例えば検査制御装置3から出力された、ビード外観検査が完了した旨の通知、あるいはその通知とビード外観検査の結果とを示す画面を表示する。また、モニタMN2の代わりに、あるいはモニタMN2とともにスピーカ(図示略)が検査制御装置3に接続されてもよく、検査制御装置3は、外観検査が完了した旨の通知、あるいはその通知とビード外観検査結果との内容を示す音声を、スピーカを介して出力してもよい。
 オフライン教示装置5は、ロボット制御装置2、検査制御装置3、モニタMN3、および入力装置UI3との間でそれぞれデータ通信可能に接続される。オフライン教示装置5は、教示プログラムの作成対象あるいは作成済みのワークWkごとの溶接線の位置情報を設定情報として記憶する。オフライン教示装置5は、実物の溶接環境とは異なるあくまで仮想的な生産設備(例えば、仮想溶接ロボット、仮想ワーク、仮想ステージ等)の環境および座標系を構築し、入力装置UI3から送信された制御指令および各種データ、あるいはロボット制御装置2または検査制御装置3から出力された各種データ(例えば、ビード、あるいはワークWkの形状に関する入力データ、障害物OBSが配置されていない場合にセンサ4が計測可能となる基準的な3Dモデルのデータ、溶接線の位置情報等)等に基づいて、ワークWkの溶接動作の教示プログラムおよびスキャン動作の教示プログラムをそれぞれ作成する。オフライン教示装置5は、作成された溶接動作の教示プログラムおよびスキャン動作の教示プログラムのそれぞれをロボット制御装置2に送信する。なお、作成されたスキャン動作の教示プログラムは、ロボット制御装置2だけでなく、検査制御装置3に送信されてもよい。また、オフライン教示装置5は、作成された溶接動作の教示プログラムおよびスキャン動作の教示プログラムのそれぞれを溶接対象となるワークWkごとに記憶する。
 ここでいう溶接線の位置情報は、ワークWkに形成される溶接線の位置を示す情報である。
 また、ここでいう溶接動作の教示プログラムは、溶接線に基づいて作成され、溶接ロボットMC1に溶接を実行させるためのプログラムである。溶接動作の教示プログラムは、溶接トーチ400を用いてワークWkを溶接するための各種動作(例えば、アプローチ、リトラクト、回避、溶接等)を実行するための溶接トーチ400の位置、距離、角度(姿勢)の情報と、溶接条件等の情報と、を含んで作成される。
 また、ここでいうスキャン動作の教示プログラムは、溶接線に基づいて作成され、溶接ロボットMC1に溶接により作成された少なくとも1つのビード、あるいはワークWkの外観検査を実行させるためのプログラムである。スキャン動作の教示プログラムは、センサ4を用いて、作成されたビード、ワークWk等の外観検査を実行するための各種動作(例えば、アプローチ、リトラクト、回避、スキャン等)を実行するためのセンサ4の位置、距離、角度(姿勢)の情報を含んで作成される。
 モニタMN3は、例えばLCDまたは有機EL等の表示用デバイスを用いて構成されてよい。モニタMN3は、オフライン教示装置5から送信された仮想的な生産設備(例えば、仮想溶接ロボット、仮想ワーク、仮想ステージ等)および座標系の画像を表示したり、溶接動作の教示プログラムに基づく溶接トーチ400の動作軌跡、スキャン動作の教示プログラムに基づくセンサ4の動作軌跡等を表示したりする。また、モニタMN3は、オフライン教示装置5から送信された仮想的な生産設備の画像上にセンサ4の動作軌跡あるいは溶接トーチ400の動作軌跡等を重畳した画像を表示する。
 入力装置UI3は、ユーザの入力操作を検出して上位装置1に出力するユーザインターフェースであり、例えば、マウス、キーボードまたはタッチパネル等を用いて構成されてよい。入力装置UI3は、スキャン動作および溶接動作の教示プログラムの作成に用いられるワークWkの溶接線の位置情報、溶接設定情報、スキャン設定情報、3Dモデル等の入力操作、あるいは作成済みのスキャン動作および溶接動作の教示プログラムのそれぞれの入力操作等を受け付ける。なお、ここでモニタMN3および入力装置UI3は、一体に構成された端末装置P3(例えば、PC、ノートPC、タブレット端末等)であってもよい。
 図2は、実施の形態1に係る検査制御装置3、ロボット制御装置2、上位装置1およびオフライン教示装置5の内部構成例を示す図である。説明を分かり易くするために、図2ではモニタMN1,MN2および入力インターフェースUI1の図示を省略する。なお、図2に示されるワークWkは、ビード外観検査の対象となるワークである。このワークWkは、溶接により生産されたワークであってもよいし、リペア溶接により1回以上リペアされたリペア済みワークであってもよい。また、図2に示す溶接ロボットMC1は、センサ4を備える構成であるが、センサ4は、他のロボット(例えば、外観検査を実行するための検査ロボット、リペア溶接を実行するためのリペア溶接ロボット等)に備えられてもよい。
 溶接ロボットMC1は、ロボット制御装置2の制御の下で、溶接トーチ400を用いた溶接動作の教示プログラムに基づく溶接工程と、センサ4を用いたスキャン動作の教示プログラムに基づくビード外観検査工程等を実行する。また、溶接ロボットMC1は、溶接動作およびスキャン動作の教示プログラムの作成に使用されるワークWkの外観形状、およびこのワークWkに形成されたビードの位置情報を取得するために、センサ4を用いたワークWkの外観をスキャンしてもよい。溶接ロボットMC1は、溶接の工程において、例えばアーク溶接を行う。しかし、溶接ロボットMC1は、アーク溶接以外の他の溶接(例えば、レーザ溶接、ガス溶接)等を行ってもよい。この場合、図示は省略するが、溶接トーチ400に代わって、レーザヘッドを、光ファイバを介してレーザ発振器に接続してよい。溶接ロボットMC1は、マニピュレータ200と、ワイヤ送給装置300と、溶接ワイヤ301と、溶接トーチ400とを少なくとも含む構成である。
 マニピュレータ200は、多関節のアームを備え、ロボット制御装置2のロボット制御部25からの制御信号に基づいて、それぞれのアームを可動させる。これにより、マニピュレータ200は、ワークWkと溶接トーチ400との位置関係(例えば、ワークWkに対する溶接トーチ400の角度)、およびワークWkとセンサ4との位置関係をそれぞれアームの駆動によって変更できる。
 ワイヤ送給装置300は、ロボット制御装置2からの制御信号に基づいて、溶接ワイヤ301の送給速度を制御する。なお、ワイヤ送給装置300は、溶接ワイヤ301の残量を検出可能なセンサ(図示略)を備えてよい。ロボット制御装置2は、このセンサの出力に基づいて、溶接の工程が完了したことを検出できる。
 溶接ワイヤ301は、溶接トーチ400に保持されている。溶接トーチ400に電源装置500から電力が供給されることで、溶接ワイヤ301の先端とワークWkとの間にアークが発生し、アーク溶接が行われる。なお、溶接トーチ400にシールドガスを供給するための構成等は、説明の便宜上、これらの図示および説明を省略する。
 上位装置1は、ユーザにより予め入力あるいは設定された溶接関連情報を用いて、溶接、またはビード外観検査の各種の工程の実行指令を生成してロボット制御装置2に送信する。なお、上述したように、センサ4が溶接ロボットMC1に一体的に取り付けられている場合には、ビード外観検査の実行指令は、ロボット制御装置2および検査制御装置3の両方に送られる。上位装置1は、通信部10と、プロセッサ11と、メモリ12とを少なくとも含む構成である。
 通信部10は、ロボット制御装置2および外部ストレージSTのそれぞれとの間でデータの通信が可能に接続される。通信部10は、プロセッサ11により生成される溶接、またはビード外観検査の各種の工程の実行指令をロボット制御装置2に送信する。通信部10は、ロボット制御装置2から送信される溶接完了報告、外観検査報告を受信してプロセッサ11に出力する。なお、溶接の実行指令には、例えば溶接ロボットMC1が備えるマニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれを制御するための制御信号が含まれてもよい。
 プロセッサ11は、例えばCPU(Central Processing Unit)またはFPGA(Field Programmable Gate Array)を用いて構成され、メモリ12と協働して、各種の処理および制御を行う。具体的には、プロセッサ11は、メモリ12に保持されたプログラムを参照し、そのプログラムを実行することにより、セル制御部13を機能的に実現する。
 メモリ12は、例えばプロセッサ11の処理を実行する際に用いられるワークメモリとしてのRAM(Random Access Memory)と、プロセッサ11の処理を規定したプログラムを格納するROM(Read Only Memory)とを有する。RAMには、プロセッサ11により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ11の処理を規定するプログラムが書き込まれている。また、メモリ12は、外部ストレージSTから読み出された溶接関連情報のデータ、ワークWkのステータス、ロボット制御装置2から送信されたワークWkのワーク情報(後述参照)のデータをそれぞれ記憶する。
 セル制御部13は、外部ストレージSTに記憶されている溶接関連情報に基づいて、溶接、ワークWkのビード外観検査、ワークWkの外観スキャン、あるいはリペア溶接を実行するための実行指令を生成する。また、セル制御部13は、外部ストレージSTに記憶されている溶接関連情報と、オフライン教示装置5に作成されてロボット制御装置2から送信された溶接動作およびスキャン動作の教示プログラムのそれぞれとに基づいて、溶接時の溶接プログラム、ワークWkのビード外観検査時の溶接ロボットMC1の駆動に関する外観検査用プログラム、または外観スキャン時の溶接ロボットMC1の駆動に関する外観スキャン用プログラム等を作成する。さらに、セル制御部13は、作成されたこれらのプログラムの実行指令を作成する。なお、外観検査用プログラムあるいは外観スキャン用プログラムのそれぞれは、予めワークWkごとに作成されて外部ストレージSTに保存されていてもよく、この場合には、セル制御部13は、外部ストレージSTから各種プログラムを読み出して取得する。セル制御部13は、溶接ロボットMC1で実行される溶接の各種の工程ごとに異なる実行指令を生成してよい。セル制御部13によって生成された溶接外観検査、外観スキャンの実行指令は、通信部10を介して、対応するロボット制御装置2、あるいはロボット制御装置2および検査制御装置3のそれぞれに送信される。
 ロボット制御装置2は、上位装置1から送信された溶接、ビード外観検査、あるいは外観スキャンの実行指令に基づいて、対応するプログラムを参照する。ロボット制御装置2は、参照されたプログラムに基づいて、溶接ロボットMC1(例えば、センサ4、マニピュレータ200、ワイヤ送給装置300、電源装置500)を制御する。ロボット制御装置2は、通信部20と、プロセッサ21と、メモリ22とを少なくとも含む構成である。
 通信部20は、上位装置1、検査制御装置3、溶接ロボットMC1、およびオフライン教示装置5との間でそれぞれデータの通信が可能に接続される。なお、図2では図示を簡略化しているが、ロボット制御部25とマニピュレータ200との間、ロボット制御部25とワイヤ送給装置300との間、ならびに、電源制御部26と電源装置500との間で、それぞれ通信部20を介してデータの送受信が行われる。通信部20は、上位装置1から送信された溶接、あるいはビード外観検査の実行指令を受信する。通信部20は、オフライン教示装置5から送信された溶接線の位置情報と、溶接動作の教示プログラムと、スキャン動作の教示プログラムとを受信する。通信部20は、溶接により生産されたワークWkのワーク情報を上位装置1に送信する。
 ここで、ワーク情報には、ワークWkのIDだけでなく、溶接に使用されるワークのID、名前、溶接箇所、溶接の実行時の溶接条件が少なくとも含まれる。
 プロセッサ21は、例えばCPUまたはFPGAを用いて構成され、メモリ22と協働して、各種の処理および制御を行う。具体的には、プロセッサ21は、メモリ22に保持されたプログラムを参照し、そのプログラムを実行することにより、本溶接プログラム作成部23、ロボット制御部25および電源制御部26を機能的に実現する。また、プロセッサ21は、本溶接プログラム作成部23により生成された溶接プログラムに基づいて、ロボット制御部25により制御される溶接ロボットMC1(具体的には、マニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれ)を制御するためのパラメータの演算等を行う。
 メモリ22は、例えばプロセッサ21の処理を実行する際に用いられるワークメモリとしてのRAMと、プロセッサ21の処理を規定したプログラムを格納するROMとを有する。RAMには、プロセッサ21により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ21の処理を規定するプログラムが書き込まれている。また、メモリ22は、上位装置1から送信された溶接、あるいはビード外観検査の実行指令のデータ、溶接により生産されるワークWkのワーク情報と溶接線の位置情報とを対応付けた溶接関連情報をそれぞれ記憶する。なお、オフライン教示装置5から溶接動作およびスキャン動作のそれぞれの教示プログラムが送信されたワークWkのワーク情報を含む溶接関連情報は、溶接動作およびスキャン動作のそれぞれの教示プログラムと、溶接動作およびスキャン動作のそれぞれの教示プログラムの作成に用いられた溶接線の位置情報と、溶接動作設定情報と、スキャン動作設定情報と、を含んでいてよい。
 本溶接プログラム作成部23は、通信部20を介して上位装置1から送信された溶接の実行指令に基づいて、実行指令に含まれる複数のワークのそれぞれのワーク情報(例えばワークのID、名前、ワーク座標系、ワークの情報、溶接線の位置情報等)と、これらのワーク情報に関連付けられた溶接動作の教示プログラムとを用いて、溶接ロボットMC1により実行される溶接の溶接プログラムを作成する。溶接プログラムには、溶接の実行中に電源装置500、マニピュレータ200、ワイヤ送給装置300、溶接トーチ400等を制御するための、溶接電流、溶接電圧、オフセット量、溶接速度、溶接トーチ400の姿勢等の各種のパラメータが含まれてよい。なお、溶接プログラムは、プロセッサ21内に記憶されてもよいし、メモリ22内のRAMに記憶されてもよい。
 演算部24は、各種の演算を行う。例えば、演算部24は、本溶接プログラム作成部23により生成された溶接プログラムに基づいて、ロボット制御部25により制御される溶接ロボットMC1(具体的には、マニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれ)を制御するためのパラメータ等の演算を行う。
 ロボット制御部25は、本溶接プログラム作成部23により生成された溶接プログラムに基づいて、溶接ロボットMC1(具体的には、センサ4、マニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれ)を駆動させるための制御信号を生成する。ロボット制御部25は、この生成された制御信号を溶接ロボットMC1に送信する。
 また、ロボット制御部25は、スキャン動作の教示プログラムを用いて作成された外観検査用プログラムに基づいて、溶接ロボットMC1のマニピュレータ200およびセンサ4のそれぞれを駆動させる。これにより、溶接ロボットMC1に取り付けられたセンサ4は、溶接ロボットMC1の動作に伴って移動し、ワークWkのビードをスキャンすることでビードの形状に関する入力データ(例えばビードの3次元形状を特定可能な点群データ)を取得したり、ワークWkを部分的にスキャンすることで他の外観検査箇所に対応するワークWkの部分的形状に関する入力データ(例えば他の外観検査箇所に対応するワークWkの3次元形状を特定可能な点群データ)を取得したりできる。
 電源制御部26は、本溶接プログラム作成部23により生成された溶接プログラムの演算結果に基づいて、電源装置500を駆動させる。
 検査制御装置3は、上位装置1から送信されたビード外観検査の実行指令に基づいて、溶接ロボットMC1による溶接により生産されたワークWk、あるいは1回以上のリペア溶接によりリペアされたリペア済みワークであるワークWkのビード外観検査の処理を制御する。ビード外観検査は、例えば、ワークWkの表面上に形成されたビードが既定の溶接基準(例えば、ユーザのそれぞれにより要求される溶接の品質基準)を満たすか否かの検査であり、上述した検査判定により構成される。つまり、ビード外観検査は、ワークWkに対する溶接の不良があったか否かを判定するために行われる。検査制御装置3は、センサ4により取得されたビードの形状に関する入力データ(例えば、ビードの3次元形状を特定可能な点群データ)に基づいて、ワークWkに形成されたビードの外観形状が所定の溶接基準を満たすか否かを判定(検査)する。また、検査制御装置3は、溶接ロボットMC1によってセンサ4を駆動(移動)させたことにより取得されたビード、あるいはワークWkの形状に関する入力データをオフライン教示装置5に送信する。検査制御装置3は、通信部30と、プロセッサ31と、メモリ32と、検査結果記憶部33と、を少なくとも含む構成である。
 通信部30は、上位装置1、ロボット制御装置2、センサ4、およびオフライン教示装置5との間でそれぞれデータの通信が可能に接続される。なお、図2では図示を簡略化しているが、形状検出制御部35とセンサ4との間は、それぞれ通信部30を介してデータの送受信が行われる。通信部30は、上位装置1から送信されたビード外観検査の実行指令を受信する。通信部30は、センサ4を用いたビード外観検査の検査判定結果を上位装置1に送信したり、センサ4により取得されたビードの3次元形状のデータをオフライン教示装置5に送信したりする。
 プロセッサ31は、例えばCPUまたはFPGAを用いて構成され、メモリ32と協働して、各種の処理および制御を行う。具体的には、プロセッサ31は、メモリ32に保持されたプログラムを参照し、そのプログラムを実行することにより、判定閾値記憶部34、形状検出制御部35、データ処理部36、検査結果判定部37、およびリペア溶接プログラム作成部38を機能的に実現する。
 メモリ32は、例えばプロセッサ31の処理を実行する際に用いられるワークメモリとしてのRAMと、プロセッサ31の処理を規定したプログラムを格納するROMとを有する。RAMには、プロセッサ31により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ31の処理を規定するプログラムが書き込まれている。また、メモリ32は、オフライン教示装置5から送信されたスキャン動作の教示プログラムと、ワーク情報とを関連付けて記憶してもよい。
 検査結果記憶部33は、例えばハードディスクあるいはソリッドステートドライブを用いて構成される。検査結果記憶部33は、プロセッサ31により生成あるいは取得されるデータの一例として、ワークWk(例えばワークあるいはリペアワーク)における溶接箇所のビード外観検査の結果を示すデータを記憶する。このビード外観検査の結果を示すデータは、例えば検査結果判定部37(具体的には、検査結果判定部37に含まれる第1検査判定部371、第2検査判定部372~第N検査判定部37Nのいずれか)により生成される。
 判定閾値記憶部34は、例えばプロセッサ31内に設けられたキャッシュメモリにより構成され、ユーザ操作によって予め設定され、溶接箇所と、検査結果判定部37に含まれる第1検査判定部371,…,第N検査判定部37Nのそれぞれのビード外観検査の処理とに対応するそれぞれの閾値(例えば、溶接不良の種別ごとに設定されたそれぞれの閾値)の情報を記憶する。それぞれの閾値は、例えばビードの位置ずれの許容範囲、ビードの長さ、高さ、幅のそれぞれの閾値、穴あき、ピット、アンダーカット、スパッタのそれぞれの閾値である。判定閾値記憶部34は、リペア溶接後のビード外観検査時の各閾値として、顧客等から要求される最低限の溶接基準(品質)を満たす許容範囲(例えば、最小許容値、最大許容値等)を記憶してよい。なお、これらの閾値は、検査結果判定部37に含まれる第1検査判定部371、第2検査判定部372~第N検査判定部37Nのそれぞれによって作成された検査結果がビード外観検査に合格であるか否かを判定する処理に用いられる。さらに、判定閾値記憶部34は、溶接箇所ごとにビード外観検査の回数上限値を記憶してもよい。これにより、検査制御装置3は、リペア溶接によって不良箇所を修正する際に所定の回数上限値を上回る場合に、溶接ロボットMC1による自動リペア溶接による不良箇所の修正が困難あるいは不可能と判定して、溶接システム100の稼動率の低下を抑制できる。
 形状検出制御部35は、上位装置1から送信されたワークWk(例えばワークあるいはリペアワーク)の溶接箇所のビード外観検査の実行指令に基づいて、センサ4により取得されて送信されたビードの形状に関する入力データ(例えばビードの3次元形状を特定可能な点群データ)を取得する。また、形状検出制御部35は、上位装置1から送信されたワークWkの外観スキャンの実行指令に基づいて、センサ4により取得され、送信されたワークWkの形状に関する入力データ(例えばワークWkの3次元形状を特定可能な点群データ)を取得する。具体的に、形状検出制御部35は、上述したロボット制御装置2によるマニピュレータ200の駆動に応じてセンサ4がビードあるいはワークWkを撮像可能(言い換えると、溶接箇所あるいはワークWkの3次元形状を検出可能)な位置に到達すると、例えばレーザ光線をセンサ4から照射させてビードあるいはワークWkの形状に関する入力データを取得させる。形状検出制御部35は、センサ4により取得された入力データ(上述参照)を受信すると、この入力データをデータ処理部36に渡す。
 データ処理部36は、形状検出制御部35からのビードの形状に関する入力データ(上述参照)を取得すると、検査結果判定部37での第1検査判定用に適したデータ形式に変換するとともに、検査結果判定部37での第2検査判定用,…,第N検査判定用のそれぞれに適したデータ形式に変換する。データ形式の変換には、いわゆる前処理として、入力データ(つまり点群データ)に含まれる不要な点群データ(例えばノイズ)が除去される補正処理が含まれて構わないし、第1検査判定用には上述した前処理は省略されてもよい。データ処理部36は、第1検査判定用に適したデータ形式とし、例えば入力された形状データに対して統計処理を実行することで、ビードの3次元形状を示す画像データを生成する。なお、データ処理部36は、第1検査判定用のデータとして、ビードの位置および形状を強調するためにビードの周縁部分を強調したエッジ強調補正を行ってもよい。なお、データ処理部36は、溶接不良の箇所ごとにビード外観検査の実行回数をカウントし、ビード外観検査の回数がメモリ32に予め記憶された回数を超えても溶接検査結果が良好にならない場合、自動リペア溶接による溶接不良の箇所の修正が困難あるいは不可能と判定してよい。この場合、検査結果判定部37は、溶接不良の箇所の位置および溶接不良の種別(例えば、穴あき、ピット、アンダーカット、スパッタ、突起)を含むアラート画面を生成し、生成されたアラート画面を、通信部30を介して上位装置1に送信する。上位装置1に送信されたアラート画面は、モニタMN1に表示される。なお、このアラート画面は、モニタMN2に表示されてもよい。
 データ処理部36は、判定閾値記憶部34に記憶されたビード外観検査用の閾値を用いて、センサ4により取得されたビードの形状に関する入力データとワークごとに予め既定された良品ワークのマスタデータとの比較に基づくビード外観検査を行う。データ処理部36は、検査判定結果としての欠陥判定結果(つまり、リペア溶接が必要な欠陥の有無を示す情報)と、欠陥箇所ごとの欠陥区間の情報とを含む外観検査報告を作成して検査結果記憶部33に記憶するとともに、通信部30を介して上位装置1あるいはロボット制御装置2に送信する。また、データ処理部36は、検査対象であるワークWkにリペア溶接が必要な欠陥箇所がないと判定した場合、ビード外観検査に合格である旨の検査判定結果を含む外観検査報告を作成して検査結果記憶部33に記憶するとともに、通信部30を介して上位装置1に送信する。
 また、データ処理部36は、形状検出制御部35からワークWkの形状に関する入力データ(上述参照)を取得すると、オフライン教示装置5により実行される演算処理に適したデータ形式に変換する。データ形式の変換には、いわゆる前処理として、入力データ(つまり点群データ)に含まれる不要な点群データ(例えばノイズ)が除去される補正処理が含まれてもよいし、ワークWkあるいはセンサ4のスキャン有効領域の3Dモデルを生成する処理であってもよい。また、データ処理部36は、ワークWkの位置および形状を強調、ワークWkの周縁部分を強調したエッジ強調補正を行ってもよい。データ処理部36は、変換後のワークWkの形状に関する入力データを、通信部30を介して、オフライン教示装置5に送信する。
 検査結果判定部37は、合計N(N:2以上の整数)種類のビード外観検査(例えば、上述した第1検査判定および第2検査判定のそれぞれ)を実行可能である。具体的には、検査結果判定部37は、第1検査判定部371、第2検査判定部372~第N検査判定部37Nを有する。図2の説明を分かり易く簡易化するため、N=2として説明するが、N=3以上の整数であっても同様である。
 第1検査判定部371は、第1検査判定(つまり、センサ4により取得されたビードの形状に関する入力データとワークごとに予め既定された良品ワークのマスタデータとの比較に基づくビード外観検査)を行い、ビードの形状信頼性(例えば直線状あるいは曲線状の溶接線に沿っているか否か)、ビード欠け、およびビード位置ずれを検査する。第1検査判定部371は、第1検査判定用にデータ処理部36によってデータ変換されたデータ(例えば点群データに基づいて生成された画像データ)と良品ワークのマスタデータとの比較(いわゆる画像処理)を行う。このため、第1検査判定部371は、ビードの形状信頼性、ビード欠け、およびビード位置ずれを高精度に検査することができる。第1検査判定部371は、ビードの形状信頼性、ビード欠けおよびビード位置ずれの検査結果を示す検査スコアを算出し、この検査スコアの算出値を第1検査結果として作成する。さらに、第1検査判定部371は、作成された第1検査結果とメモリ32に記憶された第1検査結果用の閾値とを比較する。第1検査判定部371は、比較した比較結果の情報(つまり、取得された第1検査結果がビード外観検査に合格あるいは不合格であるか)を含む第1検査結果を第2検査判定部372~第N検査判定部37Nに出力する。
 第2検査判定部372~第N検査判定部37Nは、第2検査判定(つまり、k=(N-1)種類の人工知能によるニューラルネットワークをそれぞれ形成し、センサ4により取得されたビードの形状に関する入力データ、あるいはその入力データがデータ処理部36によって前処理された後の入力データを対象としたAIに基づく溶接不良の有無を判別するビード外観検査)を行い、ビードの穴あき、ピット、アンダーカット、スパッタ、突起の有無を検査する。ビードの穴あき、ピット、アンダーカット、スパッタ、突起はあくまで例示的に列挙されたものであり、第N検査判定部37Nにより検査される不良種別はこれらに限定されない。第2検査判定部372~第N検査判定部37Nのそれぞれは、該当する種別の溶接不良を検知したと判定した場合には、その溶接不良が検知されたビードの位置を特定する。第2検査判定部372~第N検査判定部37Nのそれぞれは、事前に溶接不良の種別ごとあるいは溶接不良の種別のグループごとに学習処理によって得られた学習モデル(AI)を用いて、それぞれの溶接不良の有無を判別する。これにより、第2検査判定部372~第N検査判定部37Nのそれぞれは、例えばビードの穴あき、ピット、アンダーカット、スパッタ、突起の有無を高精度に検査することができる。なお、第2検査判定部372~第N検査判定部37Nのそれぞれは、第1検査判定部371で実行されるビードの形状信頼性、ビード欠け、およびビード位置ずれの検査は実行しない。第2検査判定部372~第N検査判定部37Nは、ビードの穴あき、ピット、アンダーカット、スパッタ、突起の検査結果(言い換えると、発生確率を示す検査スコア)を算出し、この検査スコアの算出値を第2検査判定結果として作成する。
 なお、検査結果判定部37は、上述した第1検査結果あるいは第2検査結果に含まれる検査結果(検査スコア)に基づいて、溶接ロボットMC1によるリペア溶接が可能であるか否か(言い換えると、溶接ロボットMC1によるリペア溶接がよいか、あるいは人手によるリペア溶接がよいか)を判定し、その判定結果を上述した外観検査報告に含めて出力してよい。
 リペア溶接プログラム作成部38は、データ処理部36によるワークWkの外観検査報告を用いて、溶接ロボットMC1により実行されるべきワークWkのリペア溶接プログラムを作成する。リペア溶接プログラムには、リペア溶接の実行中に電源装置500、マニピュレータ200、ワイヤ送給装置300、溶接トーチ400等を制御するための、溶接電流、溶接電圧、オフセット量、溶接速度、溶接トーチ400の姿勢等の各種のパラメータが含まれてよい。なお、生成されたリペア溶接プログラムは、プロセッサ31内に記憶されてもよいし、メモリ32内のRAMに記憶されてもよいし、外観検査報告と対応付けられて通信部30を介して上位装置1あるいはロボット制御装置2に送られてもよい。
 リペア溶接プログラム作成部38は、検査結果判定部37によるワークWk(例えばワークあるいはリペアワーク)の外観検査報告とワーク情報(例えばワークあるいはリペアワークの溶接不良の検出点の位置を示す座標等の情報)とを用いて、溶接ロボットMC1により実行されるべきワークWk(例えばワークあるいはリペアワーク)のリペア溶接プログラムを作成する。リペア溶接プログラムには、リペア溶接の実行中に電源装置500、マニピュレータ200、ワイヤ送給装置300、溶接トーチ400等を制御するための、溶接電流、溶接電圧、オフセット量、溶接速度、溶接トーチ400の姿勢等の各種のパラメータが含まれてよい。なお、生成されたリペア溶接プログラムは、プロセッサ31内に記憶されてもよいし、メモリ32内のRAMに記憶されてもよい。
 センサ4は、例えば3次元形状センサであり、溶接ロボットMC1の先端に取り付けられ、ワークWkあるいはワークWk上の溶接箇所の形状を特定可能な複数の点群データを取得する。センサ4は、取得された点群データに基づいて、溶接箇所の3次元形状を特定可能な点群データを生成して検査制御装置3に送信する。なお、センサ4は、溶接ロボットMC1の先端に取り付けられておらず、溶接ロボットMC1とは別個に配置されている場合には、検査制御装置3から送信されたワークWkあるいは溶接箇所の位置情報に基づいて、ワークWkあるいはワークWk(例えば、ワークあるいはリペアワーク)上の溶接箇所を走査可能に構成されたレーザ光源(図示略)と、ワークWkあるいは溶接箇所の周辺を含む撮像領域を撮像可能に配置され、ワークWkあるいは溶接箇所に照射されたレーザ光のうち反射されたレーザ光の反射軌跡(つまり、溶接箇所の形状線)を撮像するカメラ(図示略)と、により構成されてよい。この場合、センサ4は、カメラにより撮像されたレーザ光に基づくワークWkあるいは溶接箇所の形状データ(言い換えると、ワークWkあるいはビードの画像データ)を検査制御装置3に送信する。なお、上述したカメラは、少なくともレンズ(図示略)とイメージセンサ(図示略)とを有して構成される。イメージセンサは、例えばCCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semi-conductor)等の固体撮像素子であり、撮像面に結像した光学像を電気信号に変換する。
 オフライン教示装置5は、ロボット制御装置2、検査制御装置3、モニタMN3、および入力装置UI3との間でそれぞれデータ通信可能に接続される。オフライン教示装置5は、入力装置UI3から送信された溶接線の位置情報、溶接動作設定情報、スキャン動作設定情報等の各種データ、溶接線の位置情報に基づいて、ワークWkの溶接動作の教示プログラムとスキャン動作の教示プログラムとを作成する。オフライン教示装置5は、通信部50と、プロセッサ51と、メモリ52と、入出力部53と、を含んで構成される。
 なお、実施の形態1におけるオフライン教示装置5は、溶接動作およびスキャン動作の教示プログラムのそれぞれを作成する例について説明するが、溶接動作の教示プログラムの作成は必須でなく、省略されてもよい。オフライン教示装置5は、センサ4を備え、このセンサ4によりスキャン動作(つまり、ビード外観検査)を実行可能なロボット用のスキャン動作の教示プログラムを作成可能であればよい。
 通信部50は、ロボット制御装置2、検査制御装置3、入力装置UI3、およびモニタMN3との間でそれぞれデータの通信が可能に接続される。通信部50は、作成された溶接動作およびスキャン動作のそれぞれの教示プログラムと、溶接動作およびスキャン動作の教示プログラムのそれぞれの作成に用いられた各種データ(例えば、溶接線の位置情報、溶接動作設定情報、スキャン動作設定情報、ワークWkのワーク情報等)とを関連付けて、ロボット制御装置2に送信する。
 プロセッサ51は、例えばCPUまたはFPGAを用いて構成され、メモリ52と協働して、各種の処理および制御を行う。具体的には、プロセッサ51は、メモリ52に保持されたプログラムを参照し、そのプログラムを実行することにより、3D演算部54およびプログラム作成部55を機能的に実現する。
 メモリ52は、例えばプロセッサ51の処理を実行する際に用いられるワークメモリとしてのRAMと、プロセッサ51の処理を規定したプログラムを格納するROMとを有する。RAMには、プロセッサ51により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ51の処理を規定するプログラムが書き込まれている。また、メモリ52は、プログラム作成部55により作成された溶接動作の教示プログラムと、スキャン動作の教示プログラムと、ワーク情報とを関連付けて記憶する。
 また、メモリ52は、溶接線情報と、センサ情報と、障害物情報とをそれぞれ記憶する。溶接線情報は、溶接が行われるワークWk上の溶接線を示す情報である。センサ情報は、溶接に基づいてワーク上に形成されるビードの外観形状を計測するセンサ4の計測領域(例えばスキャン有効領域VLD0,VLD1)を示す情報である。障害物情報は、センサ4とワークWkとの間に配置される障害物OBSの位置を少なくとも有する情報である。なお、障害物情報は、障害物OBSの位置だけでなく、障害物の形状および寸法の情報を含んでよい。
 入力部および取得部の一例としての入出力部53は、入力装置UI3から送信された実行指令、ワークWkあるいはセンサ4のスキャン有効領域の3Dモデル、溶接動作設定情報およびスキャン動作設定情報のそれぞれと、ロボット制御装置2、検査制御装置3、あるいは入力装置UI3から送信された溶接線の位置情報とを取得して、プロセッサ51に出力する。また、入出力部53は、3D演算部54により生成された仮想的な生産設備(例えば、仮想溶接ロボット、仮想ワーク、仮想ステージ等)の画像、オフライン教示装置5から送信された仮想的な生産設備の画像上にセンサ4の動作軌跡あるいは溶接トーチ400の動作軌跡等を重畳した画像をモニタMN3に送信する。
 生成部の一例としての3D演算部54は、例えば、ワークWkあるいはビードの形状に関する入力データ(つまり、3次元形状のデータ)、ワークWkあるいはセンサ4のスキャン有効領域の3Dモデルのデータ、ワークWkのワーク情報、生産設備に関するデータ(例えば、ステージSTGの位置情報、溶接ロボットMC1のロボット情報あるいは位置情報)等に基づいて、ワークWkの溶接工程および外観検査工程のそれぞれを実行するために必要な生産設備を仮想的に構成する。3D演算部54は、仮想的に構成された生産設備のデータを画像データに変換して入出力部53に出力し、モニタMN3に表示させる。
 また、3D演算部54は、プログラム作成部により作成された溶接動作の教示プログラムに含まれる1つ以上の教示点、溶接トーチ400の動作軌跡(具体的には、空走区間、溶接区間等)等を仮想的に生産設備上に重畳した画像データを生成する。3D演算部54は、プログラム作成部により作成されたスキャン動作の教示プログラムに含まれる1つ以上の教示点、センサ4の動作軌跡(具体的には、アプローチ動作、リトラクト動作、回避動作等の各種動作を示す動作軌跡、空走区間、スキャン区間等)等を仮想的に生産設備上に重畳した画像データを生成する。3D演算部54は、各種教示プログラムに含まれるデータが重畳された仮想的な生産設備のデータを画像データに変換して入出力部53に出力し、モニタMN3に表示させる。なお、3D演算部54は、溶接動作およびスキャン動作の教示プログラムのそれぞれに基づいて、溶接動作およびスキャン動作のそれぞれの教示点、溶接トーチ400およびセンサ4の動作軌跡(具体的には、空走区間、溶接区間、スキャン区間等)等をまとめて仮想的な生産設備上に重畳した画像データを生成してもよい。
 また、取得部の一例としての3D演算部54は、溶接が行われるワークWk上の溶接線(図5参照)を示す溶接線情報と、溶接に基づいてワークWk上に形成されるビードの外観形状を計測するセンサ4の計測領域(例えば図3に示すスキャン有効領域VLD0)を示すセンサ情報と、センサ4とワークWkとの間に配置される障害物OBSの位置を少なくとも有する障害物情報とをメモリ52から取得する。
 また、演算部の一例としての3D演算部54は、メモリ52から取得された溶接線情報とセンサ情報と障害物情報とに基づいて、センサ4による計測中に障害物OBSにより外観形状の計測が不可とならない計測可能溶接線(図5参照)の割合を示す包含率(後述参照)を演算し、包含率の演算結果を入出力部53に送る。
 プログラム作成部55は、溶接線の位置情報(例えば、ワークWkあるいはセンサ4のスキャン有効領域の3Dモデルのデータ、ワークWkあるいはビードの形状に関する入力データ、溶接線の開始点および終了点のそれぞれの座標情報)と、溶接動作設定情報と、スキャン動作設定情報と、に基づいて、溶接動作の教示プログラムおよびスキャン動作のそれぞれの教示プログラムを作成する。プログラム作成部55は、溶接動作作成部551と、スキャン動作作成部552とを含んで構成される。
 溶接動作作成部551は、入力された溶接線の位置情報と、溶接動作設定情報とに基づいて、ワークWkに溶接工程を実行するための溶接動作の教示プログラムを作成する。また、ここでいう溶接動作設定情報は、溶接の各種溶接条件、溶接開始前および溶接終了後のそれぞれの溶接トーチ400の退避位置等の溶接動作に必要な各種パラメータ群であればよい。
 スキャン動作作成部552は、入力された溶接動作の動作軌跡、ワークWkの表面上で溶接が施される範囲を示す溶接線の位置情報(溶接線情報)、3Dモデル、3Dモデル上に配置された1つ以上のスキャン有効領域のそれぞれ、スキャン動作設定情報等に基づいて、ワークWk上に形成されたビードあるいは他の外観検査箇所の外観検査工程を実行するためのスキャン動作の教示プログラムを作成する。また、ここでいうスキャン動作設定情報は、センサ4とワークWkとの間の距離(図3参照)、センサ4の仕様に関するセンサ情報(例えば、スキャンの計測領域(図3に示す断面SEC)、センサ4の計測領域に相当するスキャン有効領域VLD0(図3参照),VLD1(図4参照)等)、測定レンジ、アプローチ情報(例えば、アプローチ開始位置およびアプローチ終了位置の情報、アプローチを指示する指示情報等)、スキャンの助走区間、スキャン区間、リトラクト情報(例えば、リトラクト開始位置およびリトラクト終了位置の情報、リトラクトを指示する指示情報等)、回避情報(例えば、回避開始位置および回避終了位置の情報、回避すべき障害物であるワーク、治具等の位置情報)等のビード、あるいは他の外観検査対象のスキャン動作に必要な各種パラメータ群であればよい。なお、スキャン動作作成部552は、入力された溶接動作の動作軌跡、溶接線の位置情報(溶接線情報)、3Dモデル、3Dモデル上に配置された1つ以上のスキャン有効領域のそれぞれ、スキャン動作設定情報(上述参照)に加えて、障害物OBSの位置を少なくとも有する障害物情報も参照してスキャン動作の教示プログラムを作成してもよい。
 次に、センサ4の計測領域およびスキャン有効領域について、図3および図4を参照して説明する。図3は、センサ4のスキャン有効領域例を示す図である。図4は、図3のセンサ4のスキャン有効領域内に障害物OBSが配置された場合のセンサ4のスキャン有効領域例を示す図である。図4の説明において、図3中の構成と同一の構成については同一の符号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。
 図3および図4では、オフライン教示装置5により仮想的に3次元座標系(X,Y,Z)が構築され、その3次元座標系においてセンサ4が仮想的に配置された例が示されている。
 センサ4は、例えば線状のレーザ光(レーザ光線)を-Z方向に照射可能である。センサ4から照射される光線は線状になっており、センサ4は、その線状のセンサ検知ラインLLRH上の位置とその位置における高さとの2次元情報を計測結果として取得できる。より具体的には、センサ4は、センサ4の仕様により定まる距離hの所定ピッチごとに、センサ検知ラインLLRH上の位置とその位置における高さとの2次元情報を取得できる。つまり、センサ4がある高さの位置で停止している時、その停止位置におけるセンサ4の計測領域は台形状の断面SECとなる。
 図3に示すように、センサ4は、実際の外観検査の間、溶接ロボットMC1によってスキャン方向SCDR1に沿って移動する。したがって、センサ4の計測領域(言い換えると、スキャン有効領域)は、2次元の台形状を有する断面SECの面積がセンサ4のスキャン方向SCDR1に沿った移動距離の分ほど積分されて得られた3次元形状を有するスキャン有効領域VLD0となる。
 なお、センサ4はその仕様上、計測範囲が決まっている。このため、センサ4は、対象物がセンサ4からあまりに近くに存在する場合あるいは遠くに存在する場合には計測不可となる。例えば図3および図4の例では、センサ4から距離h未満の距離以内に存在する対象物の計測は仕様上不可であり、センサ4の計測が可能となるスキャン有効領域VLD0に対し、センサ4の計測が不可となる中間領域MIDが設けられる。つまり、光線の経路(言い換えると、スキャン有効領域)に対する障害物OBSの影響(例えば干渉の有無)を可視化する上では、スキャン有効領域だけではなく、上述した中間領域MID(つまり、センサ4とスキャン有効領域VLD0との間にあるスキャン有効領域外の領域)と障害物OBSとの干渉も考慮する必要がある。
 図4に示すように、センサ4とワークWkとの間に障害物OBS(例えば治具、他のワーク)が配置される場合、センサ4の計測領域(言い換えると、スキャン有効領域)が減少する。つまり、正味のスキャン有効領域VLD1は、図3に示す台形柱状のスキャン有効領域VLD0の体積から図4に示す領域NVLD1の体積を減少した体積を有する領域となる。領域NVLD1は、センサ4のスキャン有効領域VLD0と障害物OBSとの干渉によってセンサ4が計測不可となる領域である。
 例えば、X方向の幅Wを有する直方体状の障害物OBSがスキャン有効領域VLD0の幅広底面から高さhの位置でY方向の長さdだけスキャン有効領域VLD0と重なり、センサ4のスキャン有効領域VLD0と障害物OBSとの間で干渉が生じている状態を想定する。この時、上述した領域NVLD1の体積は、3D演算部54により、高さh、長さd、幅W、スキャン有効領域VLD0の幅広底面のうち障害物OBSの影となる長方形状の部分のY方向の長さd、X方向の幅W、に基づいて幾何学的に算出可能となる。
 ここで、3D演算部54は、障害物OBSの位置を少なくとも有する障害物情報から、高さh、長さd、幅Wを特定可能である。同様に、3D演算部54は、センサ情報(例えばスキャン有効領域VLD0の体積)と障害物情報とから、スキャン有効領域VLD0の幅広底面のうち障害物OBSの影となる長方形状の部分の長さd、幅Wを算出可能となる。
 長さdは、障害物OBSによって、スキャン有効領域VLD0の幅狭上面(Z方向上側)においてセンサ4による計測が不可となるY方向の長さ(干渉長)を示す。幅Wは、障害物OBSによって、スキャン有効領域VLD0の幅狭上面(Z方向上側)においてセンサ4による計測が不可となるX方向の幅(干渉長)を示す。高さhは、障害物OBSがセンサ4のスキャン有効領域VLD0と重なるように配置された時のスキャン有効領域VLD0の幅広底面(Z方向下側)から高さを示す。なお、高さhは、高さh(図3参照)と同一であってもよい。
 長さdは、障害物OBSによって、スキャン有効領域VLD0の幅広底面(Z方向下側)においてセンサ4による計測が不可となるY方向の長さ(干渉長)を示す。幅Wは、障害物OBSによって、スキャン有効領域VLD0の幅広底面(Z方向下側)においてセンサ4による計測が不可となるX方向の幅(干渉長)を示す。
 3D演算部54は、例えば「100*(スキャン有効領域VLD1の体積/スキャン有効領域VLD0)」の式にしたがって(*:乗算を示す演算子)、包含率(上述参照)を演算する。ここで、包含率は、障害物OBSがセンサ4とワークWkとの間の領域(例えばスキャン有効領域VLD0、中間領域MID、あるいは、スキャン有効領域VLD0および中間領域MIDの両方に跨った領域)に配置されたことに基づいてセンサ4のスキャン有効領域が減少したことで、センサ4によるビード(言い換えると、溶接線)の外観形状の計測が不可とならない計測可能溶接線(図5参照)の長さと障害物OBSが配置されていない場合の外観検査の対象となるべき溶接線の長さとの割合を示す。
 なお、外観検査の対象となるのは溶接によりワークWkの表面上に形成されるビードであるが、ビードが本来形成されるのは溶接工程中に溶接トーチ400(図2参照)がワークWkの表面上に接触する軌跡を示す溶接線にしたがうことに着目し、ここでは包含率は上述した計測可能溶接線の長さと障害物OBSが配置されていない場合の外観検査の対象となるべき溶接線の長さとの比率(割合)として算出可能としている。
 次に、オフライン教示装置5に接続されるモニタMN3に表示されるスキャン有効領域画面WD1について、図5および図6を参照して説明する。図5は、スキャン有効領域画面WD1の第1例を示す図である。図6は、図5のスキャン有効領域VLD1のXY投影面を示す図である。スキャン有効領域画面WD1は、オフライン教示装置5のプロセッサ51により作成されてモニタMN3に表示される。図5および図6の説明において、図3あるいは図4中の構成と同一の構成については同一の符号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。
 図5に示すように、スキャン有効領域画面WD1は、オフライン教示装置5のプロセッサ51により仮想的に構築される3次元座標系、ワーク(図示略)に施される溶接の溶接線、その3次元座標系に配置されるセンサ4、センサ4とワーク(図示略)の表面との間に配置される障害物OBS、センサ4のスキャン有効領域VLD1および中間領域MID、包含率表示欄PP1を少なくとも表示する。センサ4、障害物OBS、スキャン有効領域VLD1、中間領域MIDのそれぞれは、例えば図4に示したものと同じである。
 なお、ユーザ(例えばスキャン動作の教示プログラムを作成する作業者)にセンサ4の計測範囲が障害物OBSによって減少していることを視覚的に表示するために、オフライン教示装置5のプロセッサ51は、スキャン有効領域VLD1をスキャン有効領域画面WD1に表示してよいし、障害物OBSによってセンサ4のスキャン有効領域の減少した部分(図4参照)に対応するワーク(図示略)の表面に影を投影して表示してもよい。
 ここで、センサ4によるスキャン動作の教示においては、センサ4から照射される光線(例えばレーザ光)の経路と障害物OBSとの干渉が直接的に外観検査の結果に悪影響を及ぼすのではなく、干渉が生じることによって外観検査の対象部位(例えばビードあるいは溶接線)が正しく計測できなくなる場合に問題が発生する。
 そこで、オフライン教示装置5では、プロセッサ51(例えば3D演算部54)は、ワーク(図示略)に施される溶接の溶接線の位置を示す溶接線情報とセンサ4のスキャン有効領域VLD0の情報を有するセンサ情報と障害物OBSの位置を有する障害物情報とをメモリ52から取得し、これらの溶接線情報とセンサ情報と障害物情報とを用いて、溶接線WLD1,WLD2と溶接線NWLD1とを区別可能な態様で表示する。溶接線は、障害物OBSによる干渉の影響を受けずにセンサ4による計測が可能となる(つまり、スキャン有効領域VLD1内に含まれる)溶接線WLD1,WLD2と、障害物OBSによる干渉の影響を受けてセンサ4による計測が不可となる(つまり、スキャン有効領域VLD1内に含まれない)溶接線NWLD1とにより構成される。
 例えば、プロセッサ51は、溶接線WLD1,WLD2をセンサ4による計測が可能となるように青色で表示し、溶接線NWLD1をセンサ4による計測が不可となるように赤色で表示する。あるいは、プロセッサ51は、溶接線WLD1,WLD2をセンサ4による計測が可能となるように太い実線で表示し、溶接線NWLD1をセンサ4による計測が不可となるように細い破線で表示する(図6参照)。なお、太い実線、細い破線はあくまで表示形態の一例であり、これらの表示態様に限定されなくてよい。図5において、センサ4のスキャン有効領域VLD1は、溶接線WLD1,WLD2をスキャン有効領域VLD1の底面から少し浮いて位置するように内包している。なお、スキャン有効領域VLD1は、その底面に接するように溶接線WLD1,WLD2を内包してもよいし、図5に示すようにその底面から溶接線WLD1,WLD2が少し浮くように内包してもよい。
 図6に示すように、幅広底面BFC1は、センサ4のスキャン有効領域VLD1をXY平面で-Z方向に見た場合のワーク(図示略)の表面と接する側の底面である。溶接線WLD1,WLD2(図5参照)のそれぞれがXY平面に投影された投影溶接線WLD1pj,WLD2pj(図6参照)は、センサ4のスキャン有効領域VLD1内に含まれ、具体的には、スキャン有効領域VLD1の幅広底面BFC1上に位置している。溶接線NWLD1(図5参照)がXY平面に投影された投影溶接線NWLD1pjは、センサ4のスキャン有効領域VLD1外に配置される。
 包含率表示欄PP1は、例えばプロセッサ51の3D演算部54による個別包含率および全体包含率の算出結果を示すサブ画面である。個別包含率は、1つのセンサ4のスキャン有効領域VLD1内に包含される溶接線(言い換えると、センサ4による計測中に障害物OBSにより外観形状の計測が不可とならない計測可能溶接線)の元々溶接工程で予定されている溶接線の長さ全体に占める割合を示す。つまり、個別包含率は、ある1つのセンサ4によるスキャン動作がそのスキャン動作が対象としているビード(溶接線)をどの程度包含しているかを示す。一方、全体包含率は、単一のセンサが向きを変えて配置される等して複数回のスキャン動作がなされることを前提とした場合に、各スキャン動作に応じたスキャン有効領域が設けられる場合に、それぞれのスキャン有効領域に対応して算出される個別包含率の加算結果を示す。つまり、予定されている単一のセンサによる異なる方向からのスキャン動作がそれぞれのスキャン動作が対象としているビード(溶接線)を全体的にどの程度包含しているかを示す。図5の例では、個別包含率および全体包含率は上述した定義にしたがって3D演算部54によって算出された結果であるが、センサ4によるスキャン動作は1つのみであるため、個別包含率と全体包含率とは同一値となっている。
 外観検査において特に重要なのは溶接線の全体が可能な限り漏れなく検査されることである。このため、個別包含率よりも全体包含率の方がスキャン動作の教示が完了したかどうかを判断するための指標として有効かつ適切である。なお、全体包含率を向上させるには、新たなスキャン動作を追加し、正味の計測範囲であるスキャン有効領域の総和を増加させることが有効であるが、外観検査の時間増加にもつながるため、個別包含率もなるべく高い値になることが好ましい。
 図7は、スキャン有効領域画面WD2の第2例を示す図である。スキャン有効領域画面WD2は、スキャン有効領域画面WD1と同様に、オフライン教示装置5のプロセッサ51により作成されてモニタMN3に表示される。図7の説明において、図3、図4あるいは図5中の構成と同一の構成については同一の符号を付与して説明を簡略化あるいは省略し、異なる内容について説明する。
 図7に示すように、スキャン有効領域画面WD2は、オフライン教示装置5のプロセッサ51により仮想的に構築される3次元座標系、ワーク(図示略)に施される溶接の溶接線、その3次元座標系に配置されるセンサ4,4A、センサ4とワーク(図示略)の表面との間に配置される障害物OBS、センサ4のスキャン有効領域VLD1および中間領域MID、センサ4Aのスキャン有効領域VLD2および中間領域、包含率表示欄PP2を少なくとも表示する。センサ4Aは、同一のセンサ4が、レーザ光線の照射方向が-Z方向と平行になる配置位置と異なるように向きを変えて(例えば斜め上からXY平面に向けてレーザ光線を照射するように)仮想的に配置された位置のセンサである。つまり、センサ4とセンサ4Aとは、同一のセンサが3次元座標系に仮想的に配置される位置が異なることを区別するために符号を異ならせている。センサ4、障害物OBS、スキャン有効領域VLD1、中間領域MID、溶接線WLD1,WLD2、溶接線NWLD1のそれぞれは、例えば図4あるいは図5に示したものと同じである。
 図7には、図5と異なり全体包含率を向上させるためにセンサ4がセンサ4Aの位置に配置された場合の新たなスキャン動作を追加した例が示されている。具体的には、図5に示したセンサ4によるスキャン動作に対応して算出された個別包含率R1は60%であり、図7に示したセンサ4Aの位置にセンサ4が配置された時の新たなスキャン動作に対応して算出された個別包含率R2は50%である。つまり、センサ4によるスキャン動作では溶接線全体の長さのうち60%しか外観検査の対象として包含されず、センサ4Aの位置にセンサ4が配置された時のスキャン動作では溶接線全体の長さのうち50%しか外観検査の対象として包含されない。
 ところが、例えば3D演算部54の算出結果として溶接線NWLD1(つまり、センサ4によるスキャン動作では包含されない部分の溶接線)がセンサ4Aの位置にセンサ4が配置された時の新たなスキャン動作で包含されることが分かった場合、3D演算部54は、個別包含率R1と個別包含率R2とを加味して本来溶接されるべき溶接線全体の長さがセンサ4,4Aの位置に応じたそれぞれのスキャン動作を行うことで包含されることを示す「全体包含率=100%」を算出できる。なお、センサ4,4Aの位置によるスキャン動作に基づくスキャン有効領域あるいは溶接線の視覚情報は、スキャン動作の教示あるいは設定変更に合わせて動的に変化することが好ましい。ユーザは、オフライン教示装置5を用いて、これらの視覚情報を参考にして最適なスキャン動作の教示プログラムを作成できる。
(オフライン教示装置の動作)
 次に、オフライン教示装置5による障害物OBSによる干渉の影響を視覚的に表示する動作手順について、図8を参照して説明する。図8は、実施の形態1に係るオフライン教示装置5の動作手順を示すフローチャートである。図8に示す各処理(ステップ)は、主にオフライン教示装置5のプロセッサ51により実行される。
 図8において、プロセッサ51は、メモリ52からセンサ情報、溶接線情報、障害物情報(いずれも上述参照)を読み出して取得し(St1)、これらの各種情報を用いて仮想的な3次元座標系を構築するとともに、その3次元座標系にセンサ4、溶接線、ワーク(図示略)、障害物OBSを配置してスキャン有効領域画面WD1,WD2に表示する(図4または図5参照)。プロセッサ51は、センサ4によるスキャン動作のスキャン領域と障害物OBSとの干渉の程度(例えばスキャン有効領域VLD0と障害物OBSとが3次元的に重なる部分の体積)を幾何学的に算出し、正味のスキャン領域と言えるスキャン有効領域VLD1を算出する(St2)。
 プロセッサ51は、ステップSt2の算出結果を用いて、スキャン有効領域VLD1における溶接線(つまり、スキャン有効領域VLD1内に包含される溶接線)の包含率(個別包含率および全体包含率)を算出する(St3)。プロセッサ51は、包含率の算出結果を用いて、包含率表示欄PP1,PP2をスキャン有効領域画面WD1,WD2に表示し、さらに、仮想的に配置された溶接線のうちスキャン有効領域VLD1内に包含される部分と包含されない部分とを区別可能な態様(例えば線種、線色)を視覚的に表示したり、その表示を更新したりする(St4)。
 ここで、ステップSt4によって表示されたスキャン有効領域画面の内容を確認したユーザが固定的に配置されている障害物OBSとの位置関係でセンサ4のスキャン有効領域がユーザの要求(例えばセンサ4によるスキャン有効領域)が満たされているか否かの判断結果が入力される(St5)。ユーザの要求が満たされている旨の入力がなされた場合には(St5、YES)、プロセッサ51は、現在仮想的に配置されているセンサ4のスキャン有効領域VLD1に基づいて、スキャン動作の教示プログラムを生成してロボット制御装置2に送る(St6)。
 一方、ユーザの要求が満たされている旨の入力がなされない場合には(St5、NO)、プロセッサ51は、現在仮想的に配置されているセンサ4のスキャン有効領域VLD1に対してユーザによるスキャン動作の編集操作(例えば、スキャン動作に伴うセンサ4の走査区間の分割、移動、削除等)を受け付け(St7)、その編集操作に基づいて、センサ4によるスキャン有効領域を生成して3次元座標系に配置する。この後、プロセッサ51の処理はステップSt2に戻る。つまり、プロセッサ51は、編集操作によって修正された新たなスキャン有効領域について、障害物OBSとの干渉の程度(例えば編集操作後のスキャン有効領域と障害物OBSとが3次元的に重なる部分の体積)を幾何学的に算出し、正味のスキャン領域と言えるスキャン有効領域VLD1を算出する(St2)。
 以上により、実施の形態1に係るオフライン教示装置5は、溶接が行われるワークWk上の溶接線を示す溶接線情報と、溶接に基づいてワークWk上に形成されるビードの外観形状を計測するセンサ4の計測領域(例えばスキャン有効領域VLD0)を示すセンサ情報と、センサ4とワークWkとの間に配置される障害物OBSの位置を少なくとも有する障害物情報とを取得する取得部(例えば3D演算部)と、溶接線情報とセンサ情報と障害物情報とに基づいて、センサ4による計測中に障害物OBSにより外観形状の計測が不可とならない計測可能溶接線(例えば溶接線WLD1,WLD2)の割合を示す包含率を演算する演算部(例えば3D演算部)と、包含率の演算結果を生成してスクリーン(例えばスキャン有効領域画面WD1)に出力する出力部(例えば入出力部53)と、を備える。
 これにより、オフライン教示装置5は、溶接ロボットMC1により実行されるセンサ4のスキャン領域(例えばスキャン有効領域VLD0)内に障害物OBSが配置される場合、そのスキャン領域と障害物OBSとの干渉(例えば、センサ4からの光線の経路と障害物OBSとの干渉)を可視化できる。したがって、オフライン教示装置5は、ユーザによるオフラインでの外観検査向けのセンサ4の適切なスキャン動作の教示を支援できる。
 また、計測領域は、計測中のセンサ4の走査距離に基づいて構成される3次元形状(例えば台形柱)を有する(図3参照)。演算部(例えば3D演算部54)は、計測領域と障害物OBSとの重なりに基づく有効計測領域(例えばスキャン有効領域VLD1)を特定し、有効計測領域と溶接線情報とに基づいて、包含率を演算する。これにより、オフライン教示装置5は、障害物OBSとセンサ4からの光線の経路との干渉によって外観検査の際に溶接線のどの程度が計測できなくなるかを判定できる。
 また、出力部(例えば入出力部53)は、包含率の算出値をスクリーン(例えばスキャン有効領域画面WD1)に出力する。これにより、ユーザは、障害物OBSとセンサ4からの光線の経路との干渉によって外観検査の際に溶接線のどの程度が計測できなくなるかを視覚的に認識できる。
 また、出力部(例えば入出力部53)は、溶接線のうち有効計測領域(例えばスキャン有効領域VLD1)内に位置する第1の溶接線(例えば溶接線WLD1および溶接線WLD2)と有効計測領域外に位置する第2の溶接線(例えば溶接線NWLD1)とを区別可能な態様でスクリーン(例えばスキャン有効領域画面WD1)に出力する。これにより、ユーザは、溶接線の中でどこの部分が障害物OBSとセンサ4からの光線の経路との干渉によって外観検査ができないかを視覚的に認識できる。
 また、センサの計測領域は、センサ4の第1の配置位置(例えば図7に示すセンサ4の位置)による第1の計測領域(例えばスキャン有効領域VLD1)とセンサ4の第2の配置位置(例えば図7に示すセンサ4Aの位置)による第2の計測領域(例えばスキャン有効領域VLD2)とを少なくとも有する。演算部(例えば3D演算部54)は、第1の計測領域の計測中に障害物OBSにより外観形状の計測が不可とならない第1の計測可能溶接線(例えば溶接線WLD1および溶接線WLD2)の割合を示す第1の包含率(例えば個別包含率R1)と、第2の計測領域の計測中に障害物OBSにより外観形状の計測が不可とならない第2の計測可能溶接線(例えば溶接線NWLD1)の割合を示す第2の包含率(例えば個別包含率R2)と、第1の計測可能溶接線および第2の計測可能溶接線の総和と溶接線との比率を示す全体包含率RWとを演算する。これにより、オフライン教示装置5は、センサが仮想的に異なる位置に配置された場合のその位置を起点としたセンサによるそれぞれのスキャン有効領域を組み合わせることで、障害物OBSとセンサ4,4Aからの光線の経路との干渉によって外観検査の際に溶接線のどの程度が計測できなくなるかを個別または総合的に判定できる。
 また、出力部(例えば入出力部53)は、第1の包含率(例えば個別包含率R1)と第2の包含率(例えば個別包含率R2)と全体包含率RWとを包含率の演算結果としてスクリーン(例えばスキャン有効領域画面WD2)に出力する。これにより、ユーザは、障害物OBSとセンサ4,4Aからの光線の経路との干渉によって外観検査の際に溶接線のどの程度が計測できなくなるかの影響を個別または総合的であってかつ視覚的に認識できる。
 また、実施の形態1に係るオフライン教示装置は、1つ以上のコンピュータを含んで構成されたオフライン教示装置5を用いて行うものであって、溶接が行われるワーク上の溶接線を示す溶接線情報をコンピュータに入力し、溶接に基づいてワーク上に形成されるビードの外観形状を計測するセンサの計測領域を示すセンサ情報をコンピュータに入力し、センサ4とワークWkとの間に配置される障害物OBSの位置を少なくとも有する障害物情報をコンピュータに入力し、溶接線情報とセンサ情報と障害物情報とに基づいて、センサ4による計測中に障害物により外観形状の計測が不可とならない計測可能溶接線の割合を示す包含率の演算結果を生成してスクリーンに出力する。これにより、ユーザは、オフライン教示装置5を用いることで、オフラインでの外観検査向けのセンサ4の適切なスキャン動作の教示の支援を受けることができ、ユーザの利便性が向上する。
 以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
 なお、本出願は、2021年12月8日出願の日本特許出願(特願2021-199680)に基づくものであり、その内容は本出願の中に参照として援用される。
 本開示は、溶接ロボットにより実行されるセンサのスキャン領域内に障害物が配置される場合、スキャン領域と障害物との干渉を可視化し、適切なスキャン動作の教示を支援するオフライン教示装置およびオフライン教示方法として有用である。
1 上位装置
2 ロボット制御装置
3 検査制御装置
4 センサ
5 オフライン教示装置
10,20,30,50 通信部
11,21,31,51 プロセッサ
12,22,32,52 メモリ
53 入出力部
54 3D演算部
55 プログラム作成部
551 溶接動作作成部
552 スキャン動作作成部
100 溶接システム
200 マニピュレータ
300 ワイヤ送給装置
301 溶接ワイヤ
400 溶接トーチ
500 電源装置
MC1 溶接ロボット
MN1,MN2,MN3 モニタ
Wk ワーク

Claims (8)

  1.  溶接が行われるワーク上の溶接線を示す溶接線情報と、前記溶接に基づいて前記ワーク上に形成されるビードの外観形状を計測するセンサの計測領域を示すセンサ情報と、前記センサと前記ワークとの間に配置される障害物の位置を少なくとも有する障害物情報とを取得する取得部と、
     前記溶接線情報と前記センサ情報と前記障害物情報とに基づいて、前記センサによる前記計測中に前記障害物により前記外観形状の計測が不可とならない計測可能溶接線の割合を示す包含率を演算する演算部と、
     前記包含率の演算結果を生成してスクリーンに出力する出力部と、を備える、
     オフライン教示装置。
  2.  前記計測領域は、前記計測中の前記センサの走査距離に基づいて構成される3次元形状を有し、
     前記演算部は、前記計測領域と前記障害物との重なりに基づく有効計測領域を特定し、前記有効計測領域と前記溶接線情報とに基づいて、前記包含率を演算する、
     請求項1に記載のオフライン教示装置。
  3.  前記出力部は、前記包含率の算出値を前記スクリーンに出力する、
     請求項2に記載のオフライン教示装置。
  4.  前記出力部は、前記溶接線のうち前記有効計測領域内に位置する第1の溶接線と前記有効計測領域外に位置する第2の溶接線とを区別可能な態様で前記スクリーンに出力する、
     請求項2に記載のオフライン教示装置。
  5.  前記センサの計測領域は、前記センサの第1の配置位置による第1の計測領域と前記第1の計測領域とは異なる前記センサの第2の配置位置による第2の計測領域とを少なくとも有し、
     前記演算部は、前記第1の計測領域の計測中に前記障害物により前記外観形状の計測が不可とならない第1の計測可能溶接線の割合を示す第1の包含率と、前記第2の計測領域の計測中に前記障害物により前記外観形状の計測が不可とならない第2の計測可能溶接線の割合を示す第2の包含率と、前記第1の計測可能溶接線および前記第2の計測可能溶接線の総和と前記溶接線との比率を示す全体包含率とを演算する、
     請求項1に記載のオフライン教示装置。
  6.  前記出力部は、前記第1の包含率と前記第2の包含率と前記全体包含率とを前記包含率の演算結果として前記スクリーンに出力する、
     請求項5に記載のオフライン教示装置。
  7.  1つ以上のコンピュータを含んで構成されたオフライン教示装置が行うオフライン教示方法であって、
     溶接が行われるワーク上の溶接線を示す溶接線情報と、前記溶接に基づいて前記ワーク上に形成されるビードの外観形状を計測するセンサの計測領域を示すセンサ情報と、前記センサと前記ワークとの間に配置される障害物の位置を少なくとも有する障害物情報とを取得し、
     前記溶接線情報と前記センサ情報と前記障害物情報とに基づいて、前記センサによる前記計測中に前記障害物により前記外観形状の計測が不可とならない計測可能溶接線の割合を示す包含率を演算し、
     前記包含率の演算結果を生成してスクリーンに出力する、
     オフライン教示方法。
  8.  1つ以上のコンピュータを含んで構成されたオフライン教示装置を用いて行うオフライン教示方法であって、
     溶接が行われるワーク上の溶接線を示す溶接線情報を前記コンピュータに入力し、
     前記溶接に基づいて前記ワーク上に形成されるビードの外観形状を計測するセンサの計測領域を示すセンサ情報を前記コンピュータに入力し、
     前記センサと前記ワークとの間に配置される障害物の位置を少なくとも有する障害物情報を前記コンピュータに入力し、
     前記溶接線情報と前記センサ情報と前記障害物情報とに基づいて、前記センサによる前記計測中に前記障害物により前記外観形状の計測が不可とならない計測可能溶接線の割合を示す包含率の演算結果を生成してスクリーンに出力する、
     オフライン教示方法。
PCT/JP2022/040275 2021-12-08 2022-10-27 オフライン教示装置およびオフライン教示方法 WO2023105979A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2023566154A JPWO2023105979A1 (ja) 2021-12-08 2022-10-27
EP22903911.0A EP4446048A1 (en) 2021-12-08 2022-10-27 Offline teaching device and offline teaching method
CN202280081195.XA CN118369181A (zh) 2021-12-08 2022-10-27 离线示教设备和离线示教方法
US18/737,116 US20240331574A1 (en) 2021-12-08 2024-06-07 Offline teaching device and offline teaching method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-199680 2021-12-08
JP2021199680 2021-12-08

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/737,116 Continuation US20240331574A1 (en) 2021-12-08 2024-06-07 Offline teaching device and offline teaching method

Publications (1)

Publication Number Publication Date
WO2023105979A1 true WO2023105979A1 (ja) 2023-06-15

Family

ID=86730116

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/040275 WO2023105979A1 (ja) 2021-12-08 2022-10-27 オフライン教示装置およびオフライン教示方法

Country Status (5)

Country Link
US (1) US20240331574A1 (ja)
EP (1) EP4446048A1 (ja)
JP (1) JPWO2023105979A1 (ja)
CN (1) CN118369181A (ja)
WO (1) WO2023105979A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH102723A (ja) * 1996-06-18 1998-01-06 Hitachi Constr Mach Co Ltd 溶接ビード形状測定装置
JP2011062786A (ja) * 2009-09-18 2011-03-31 Ihi Corp レーザセンサ制御装置及びレーザセンサ制御方法
JP2012223859A (ja) * 2011-04-20 2012-11-15 Daihen Corp 溶接ロボットシステム及び可搬式教示操作装置
WO2016021130A1 (ja) 2014-08-05 2016-02-11 パナソニックIpマネジメント株式会社 オフラインティーチング装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH102723A (ja) * 1996-06-18 1998-01-06 Hitachi Constr Mach Co Ltd 溶接ビード形状測定装置
JP2011062786A (ja) * 2009-09-18 2011-03-31 Ihi Corp レーザセンサ制御装置及びレーザセンサ制御方法
JP2012223859A (ja) * 2011-04-20 2012-11-15 Daihen Corp 溶接ロボットシステム及び可搬式教示操作装置
WO2016021130A1 (ja) 2014-08-05 2016-02-11 パナソニックIpマネジメント株式会社 オフラインティーチング装置

Also Published As

Publication number Publication date
JPWO2023105979A1 (ja) 2023-06-15
CN118369181A (zh) 2024-07-19
US20240331574A1 (en) 2024-10-03
EP4446048A1 (en) 2024-10-16

Similar Documents

Publication Publication Date Title
US20220297241A1 (en) Repair welding device and repair welding method
WO2022270580A1 (ja) オフライン教示装置およびオフライン教示方法
US20220297246A1 (en) Repair welding device and repair welding method
US20220410323A1 (en) Bead appearance inspection device, bead appearance inspection method, program, and bead appearance inspection system
WO2023105979A1 (ja) オフライン教示装置およびオフライン教示方法
US20220412728A1 (en) Bead appearance inspection device, bead appearance inspection method, program, and bead appearance inspection system
JP6990869B1 (ja) 外観検査方法および外観検査装置
WO2022270578A1 (ja) オフライン教示装置およびオフライン教示方法
WO2022270579A1 (ja) オフライン教示装置およびオフライン教示方法
JP2021139771A (ja) 制御装置、表示装置の制御方法およびプログラム
JP2021062441A (ja) リペア溶接装置およびリペア溶接方法
US20240321142A1 (en) Offline teaching device
US20240331575A1 (en) Offline teaching device and offline teaching method
US20240316776A1 (en) Offline teaching device and offline teaching method
WO2023199620A1 (ja) ロボット制御装置およびオフライン教示システム
JP7365623B1 (ja) オフライン教示装置およびオフライン教示システム
JP7555042B2 (ja) ビード外観検査装置、ビード外観検査方法、プログラムおよびビード外観検査システム
US20230264302A1 (en) Repair welding segment detection method and repair welding segment detection device
US20220410322A1 (en) Bead appearance inspection device and bead appearance inspection system

Legal Events

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

Ref document number: 22903911

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023566154

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2022903911

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022903911

Country of ref document: EP

Effective date: 20240708