WO2023199620A1 - ロボット制御装置およびオフライン教示システム - Google Patents

ロボット制御装置およびオフライン教示システム Download PDF

Info

Publication number
WO2023199620A1
WO2023199620A1 PCT/JP2023/006911 JP2023006911W WO2023199620A1 WO 2023199620 A1 WO2023199620 A1 WO 2023199620A1 JP 2023006911 W JP2023006911 W JP 2023006911W WO 2023199620 A1 WO2023199620 A1 WO 2023199620A1
Authority
WO
WIPO (PCT)
Prior art keywords
workpiece
welding
teaching
robot
control device
Prior art date
Application number
PCT/JP2023/006911
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 JP2023539063A priority Critical patent/JP7496540B2/ja
Publication of WO2023199620A1 publication Critical patent/WO2023199620A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K9/00Arc welding or cutting
    • B23K9/12Automatic feeding or moving of electrodes or work for spot or seam welding or cutting
    • B23K9/127Means for tracking lines during arc welding or cutting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present disclosure relates to a robot control device and an offline teaching system.
  • Patent Document 1 discloses an offline teaching device that displays the motion trajectory of a robot when a teaching program is executed on a model diagram, and displays a portion of a plurality of position detection commands and a portion of a plurality of welding commands.
  • the offline teaching device includes a display section that displays a teaching program and a model diagram, a storage section that stores instructions constituting the teaching program and model data of the model diagram, and a control section that controls the display section and the storage section.
  • the teaching program includes a position detection program made up of a plurality of position detection commands and a welding program made up of a plurality of welding commands.
  • each of the instructions, position detection program, and welding program that constitute the teaching program is created by an operator.
  • the present disclosure provides a robot control device and an offline teaching system that are used by the same robot to more efficiently modify the teaching points of teaching programs for performing different tasks.
  • the present disclosure includes: an acquisition unit that acquires information regarding the position of a workpiece to be produced by welding; a storage unit that stores a set position of the workpiece based on a robot that performs the production; a calculation unit that calculates a positional deviation amount of the workpiece based on an actual measured position of the workpiece and a set position of the workpiece; and a plurality of teaching programs that the robot uses in the production based on the positional deviation amount of the workpiece. and a control section that controls the robot using the plurality of modified teaching programs.
  • the present disclosure also provides offline teaching in which a robot control device that controls a robot that produces a workpiece by welding is communicably connected to the robot control device, and the workpiece and the robot are constructed in a virtual space.
  • An offline teaching system comprising: an offline teaching system that acquires information regarding the position of the workpiece, and determines the actual measured position of the workpiece based on the information regarding the position of the workpiece; Calculating the amount of positional deviation of the workpiece based on the set position of the workpiece, and correcting and correcting the positions of the teaching points of the plurality of teaching programs used by the robot in the production based on the amount of positional deviation of the workpiece.
  • An offline teaching system is provided in which the plurality of subsequent teaching programs are transmitted to the robot control device, and the robot control device controls the robot using the plurality of corrected teaching programs.
  • FIG. 1 Schematic diagram showing a system configuration example of a welding system according to Embodiment 1 and a modification of Embodiment 1
  • an offline teaching device is used to teach a robot such as a welding robot a teaching program (for example, a position detection program, a welding program, etc.) including a work procedure, a motion trajectory, etc.
  • a teaching program for example, a position detection program, a welding program, etc.
  • the robot executes the work by reading various programs corresponding to the work instructions.
  • the motion trajectory includes the positions of teaching points that indicate the positions that the robot should pass through and reach.
  • the teaching point is recorded as a position relative to the robot (that is, a position based on the coordinate system of the robot). Therefore, if there is a misalignment in the position of the workpiece (hereinafter referred to as "work") relative to the robot and the position of the teaching point is not corrected, the robot may have problems such as not being able to reach the processing point on the workpiece. Ta. Therefore, it is desirable that the position of the teaching point be corrected in accordance with the form of positional deviation.
  • the number of teaching points can range from several hundred to several thousand depending on the workpiece, there is a problem in that the number of man-hours required for correction is extremely large.
  • the robot executes each work process using a plurality of different teaching programs. In such a case, the robot cannot produce workpieces until the positions of teaching points of all teaching programs used by the robot have been corrected, which may reduce productivity.
  • robots have sometimes measured the position of a workpiece using a contact sensor, a camera, or the like in order to calculate the amount of positional deviation of the workpiece.
  • a contact sensor e.g., a Bosch Sensortec XPS
  • a camera e.g., a Bosch Sensortec XPS
  • the contact type sensor determines whether or not the workpiece has come into contact with the workpiece, and the position of the workpiece cannot be measured in some cases.
  • the robot When capturing an image of a workpiece using a camera, the robot must attach and remove the camera each time it measures the position of the workpiece and corrects the teaching program to stop production of the workpiece, and corrects the position of the teaching point. The problem was that the conditions under which it could be done were limited.
  • the object to be welded (for example, metal) will be defined as the "original work”, and the object produced (manufactured) by the actual welding will be defined as the "work”.
  • the "work” is not limited to a work produced by one main welding, but may be a composite work produced by two or more main welding.
  • main welding the process of producing a workpiece by joining the original workpiece and another original workpiece by a welding robot is defined as "main welding".
  • FIG. 1 is a schematic diagram showing a system configuration example of a welding system 100, 100A according to the first embodiment and a modification of the first embodiment.
  • the configuration of welding system 100 according to Embodiment 1 will be described.
  • the welding system 100A according to the modification of the first embodiment has a configuration that does not include the offline teaching device 5, the monitor MN3, and the input interface UI3, so a description thereof will be omitted here.
  • the welding system 100 includes a host device 1 connected to an external storage ST, an input interface UI1, and a monitor MN1, a robot control device 2, an inspection control device 3, a sensor 4, and a welding robot.
  • the configuration includes an MC1 and a monitor MN2. Note that the teach pendant TP1 is not an essential component and may be omitted.
  • the monitor MN2 is not an essential configuration and may be omitted.
  • the host device 1 centrally controls the start and completion of main welding performed by the welding robot MC1 via the robot control device 2. For example, the host device 1 reads welding-related information input or set in advance by a user (for example, a welding operator or system administrator; the same applies hereinafter) from the external storage ST, and uses the welding-related information to generate welding-related information. A main welding execution command including the contents is generated and transmitted to the corresponding robot control device 2. When the main welding by the welding robot MC1 is completed, the host device 1 receives a main welding completion report from the robot control device 2 indicating that the main welding by the welding robot MC1 has been completed, and sends a notification indicating that the corresponding main welding has been completed. The status is updated and recorded in the external storage ST.
  • a user for example, a welding operator or system administrator; the same applies hereinafter
  • the above-mentioned actual welding execution command is not limited to being generated by the host device 1, but may be generated, for example, by an operation panel of equipment in a factory or the like where actual welding is performed (for example, a PLC: Programmable Logic Controller), or a robot control device. It may be generated by the second operation panel (for example, the teach pendant TP1).
  • the teach pendant TP1 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 bead appearance inspection using the robot control device 2, inspection control device 3, and sensor 4. For example, upon receiving the main welding completion report from the robot control device 2, the host device 1 generates an execution command for bead appearance inspection of the workpiece produced by the welding robot MC1, and sends the instruction to each of the robot control device 2 and the inspection control device 3. Send to.
  • the host device 1 receives a visual inspection report to the effect that the bead visual inspection has been completed from the inspection control device 3, updates the status to indicate that the corresponding bead visual inspection has been completed, and transmits the external visual inspection report. Record in storage ST.
  • the welding-related information is information indicating the content of the main welding performed by the welding robot MC1, and is created in advance for each main welding process and registered in the external storage ST.
  • the welding-related information includes, for example, the number of original workpieces used for main welding, the ID of the original workpieces used for main welding, the lot information of the original workpieces, the name, and the welding location (for example, welding line information, welding line information, The information includes workpiece information including positional information, etc.), a scheduled execution date for actual welding, the number of original workpieces to be produced, and various welding conditions during actual welding.
  • the welding-related information is not limited to the data of the items mentioned above, but includes each of the created welding operation and scan operation teaching programs (see below), welding operation setting information used to create these teaching programs, It may further include information such as scan operation setting information.
  • the welding operation setting information here may be a group of various parameters necessary for the welding operation, such as various welding conditions for main welding, retracted positions of the welding torch 400 before welding starts and after welding ends.
  • the scan operation setting information referred to here includes the distance between the sensor 4 and the workpiece Wk, information on the sensor 4 (for example, scan effective range AR (see FIG. 6), etc.), measurement range, approach information, scan run-up.
  • Weld beads such as (idle running) sections, scan sections, retract information (for example, information on the retract start position and retract end position, instruction information instructing retract, etc.), avoidance information, or other visual inspection targets, Any parameter group may be used as long as it is necessary for an external appearance scan to measure the position of the workpiece Wk.
  • the welding conditions include, for example, the material and thickness of the original 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 welding wire 301. These include feeding speed and amount, number of welding operations, welding time, etc. Further, in addition to these, information indicating the type of main welding (for example, TIG welding, MAG welding, pulse welding), the moving speed and moving time of the manipulator 200 may be included.
  • the type of main welding for example, TIG welding, MAG welding, pulse welding
  • the robot control device 2 Based on the actual welding execution command transmitted from the host device 1, the robot control device 2 causes the welding robot MC1 to start performing actual welding using the original workpiece specified by the execution command.
  • the above-mentioned welding related information is not limited to being managed by the host device 1 with reference to the external storage ST, but may be managed by the robot control device 2, for example.
  • the robot control device 2 since the robot control device 2 can grasp the state in which the main welding has been completed, the actual execution date may be managed instead of the scheduled execution date on which the welding process is scheduled to be executed among the welding-related information.
  • the type of main welding does not matter, in order to make the explanation easier to understand, a process of joining a plurality of original workpieces to produce one workpiece will be described as an example.
  • the host device 1 is connected to each of the monitor MN1, input interface UI1, and external storage ST so as to be able to input and output data, and furthermore, it is connected to the robot control device 2 and the inspection control device 3 so that data can be input and output. are connected so that communication is possible.
  • the host device 1 may be a terminal device P1 that integrally includes a monitor MN1 and an input interface UI1, and may further include an external storage ST.
  • the terminal device P1 is a PC (Personal Computer) used by the user prior to execution of the main welding.
  • the terminal device P1 is not limited to the above-mentioned PC, but may be a computer device having a communication function, such as a smartphone 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, for example, a screen output from the host device 1 showing a notification that main welding has been completed or a notification that a bead appearance inspection has been completed.
  • a speaker (not shown) may be connected to the host device 1 instead of or together with the monitor MN1, and the host device 1 can send information indicating that main welding has been completed or that bead appearance inspection has been completed.
  • the audio 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, for example, a mouse, a keyboard, a touch panel, or the like.
  • the input interface UI1 receives, for example, an input operation when a user creates welding-related information, or receives an input operation when a user sends an execution command for actual welding to the robot control device 2.
  • 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, data of welding related information created for each actual welding, the status (production status) of the workpiece Wk produced by the actual welding, and work information of the workpiece Wk (see above).
  • the external storage ST may store a welding operation teaching program and a scanning operation teaching program created by the robot control device 2 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 and with the welding robot MC1. Upon receiving the actual welding execution command transmitted from the host device 1, the robot control device 2 creates a regular welding program based on the welding operation teaching program corresponding to this execution command, and controls the welding robot MC1. to perform the actual welding.
  • the robot control device 2 When the robot control device 2 detects the completion of the main welding, it generates a main welding completion report to the effect that the main welding has been completed and notifies the higher-level device 1 of the report. Thereby, the host device 1 can appropriately detect the completion of main welding by the robot control device 2.
  • the method for detecting the completion of main welding by the robot control device 2 may be, for example, a method of determining based on a signal indicating completion of main welding from a sensor (not shown) included in the wire feeding device 300, or a method known in the art. The method for detecting the completion of main welding does not need to be limited.
  • the robot control device 2 is connected to the host device 1 and the inspection control device 3 to enable data communication, and to the welding robot MC1 to enable data communication.
  • the robot control device 2 measures the amount of positional deviation with respect to the workpiece Wk.
  • the robot control device 2 corrects the positions of the teaching points included in the teaching program for the scanning operation, or corrects the positions of the teaching points included in the teaching program for the welding operation based on the measured positional deviation amount of the workpiece Wk. or correct the position.
  • the robot control device 2 creates a main welding program using the modified welding operation teaching program, and controls the welding robot MC1 to perform the main welding based on the created main welding program.
  • the robot control device 2 When the robot control device 2 receives the bead appearance inspection execution command transmitted from the host device 1, it creates a scan program based on the scan operation teaching program corresponding to this execution command, and executes the welding robot MC1 (Fig. ) to perform a visual inspection of the weld bead.
  • the robot control device 2 controls the welding robot MC1 (see FIG. 2) to which the sensor 4 is attached to check the external shape of the workpiece Wk. Perform an appearance scan to obtain.
  • the robot control device 2 controls the welding robot MC1 (see FIG. 2) to which the sensor 4 is attached based on the scan operation teaching program corresponding to this execution command, and controls the appearance of the weld bead generated on the workpiece Wk. Perform inspection. Note that the visual inspection report indicating that the bead visual inspection has been completed is sent from the inspection control device 3 to the host device 1; It may also be transmitted to the host device 1. Thereby, the host device 1 can appropriately detect the completion of the bead visual inspection.
  • a welding robot MC1 which is an example of a robot, is connected to a robot control device 2 so as to be able to communicate data.
  • the welding robot MC1 executes the main welding instructed by the host device 1 under the control of the corresponding robot control device 2. Further, the welding robot MC1 executes a bead appearance inspection (exterior scan) instructed by the host device 1 by moving the sensor 4 based on a scan operation teaching program.
  • the inspection control device 3 is connected to each of the host device 1, robot control device 2, and sensor 4 so as to be able to communicate data.
  • the inspection control device 3 receives the bead appearance inspection execution command transmitted from the host device 1, the inspection control device 3 checks the welding location (i.e., A bead appearance inspection (for example, an inspection of whether a weld bead formed on a workpiece satisfies a predetermined welding standard) of a welding bead is performed together with a sensor 4 included in the welding robot MC1.
  • a bead appearance inspection for example, an inspection of whether a weld bead formed on a workpiece satisfies a predetermined welding standard
  • the inspection control device 3 uses three-dimensional shape data regarding the shape of the weld bead (for example, point cloud data that can specify the three-dimensional shape of the weld bead) acquired by the sensor 4 as a result of the scanning operation, and performs inspection for each workpiece. Bead appearance inspection is performed based on comparison with predetermined master data of good workpieces.
  • the inspection control device 3 performs a bead appearance inspection, generates an appearance inspection report including the inspection judgment result of this bead appearance inspection and a notification that the bead appearance inspection has been completed, and transmits it to the host device 1, and also sends it to the host device 1. Output to. Note that when the inspection control device 3 determines that a defect is detected in the bead visual inspection of the workpiece, it generates a visual inspection report that includes visual inspection results that include information on the defective section for repair-welding the defect. , and sends it to the host device 1.
  • the inspection control device 3 determines that a defect is detected by the bead visual inspection of the workpiece, uses the visual inspection result including information on the defective section to perform repair welding to perform corrections such as repairing the defective part. Create a program. The inspection control device 3 associates the repair welding program with the visual inspection results and transmits them to the host device 1.
  • the inspection control device 3 scans the appearance of the workpiece Wk based on an execution command for the appearance scan to scan the workpiece Wk transmitted via the host device 1.
  • the inspection control device 3 sends three-dimensional shape data (for example, point cloud data that can specify the three-dimensional shape of the workpiece Wk) regarding the shape of the workpiece Wk acquired by the sensor 4 as a result of the appearance scan to the robot control device 2. do.
  • the sensor 4 is connected to the inspection control device 3 so as to be able to communicate data.
  • Sensor 4 is attached to welding robot MC1, and executes a three-dimensional scan of workpiece Wk placed on stage STG (see FIG. 3) in response to driving of manipulator 200 under control of robot control device 2.
  • the sensor 4 collects three-dimensional shape data (for example, point cloud data, mesh data, etc.) and transmits it to the inspection control device 3.
  • the monitor MN2 may be configured using a display device such as an LCD or an organic EL, for example.
  • the monitor MN2 displays, for example, a notification output from the inspection control device 3 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, and the inspection control device 3 can send a notification that the bead appearance inspection has been completed, or the notification and the bead appearance inspection. Audio indicating the content of the visual inspection results may be output via a speaker.
  • the welding line position information is information indicating the position of the welding line to be welded to the workpiece Wk in the main welding process.
  • the welding operation teaching program is created based on the position of the welding line, and is a program for causing the welding robot MC1 to perform the main welding.
  • the welding operation teaching program includes the positions, distances, and angles (postures) of teaching points for performing various operations (for example, approach, retract, avoidance, welding, etc.) for actually welding the workpiece Wk using the welding torch 400. ) and information such as welding conditions.
  • the welding operation teaching program may be generated for each welding line, or may be generated to be able to execute main welding for each of an arbitrary number of welding lines.
  • the scanning operation teaching program referred to herein is a program that is created based on the welding line and causes the welding robot MC1 to perform a bead appearance inspection of at least one weld bead created by main welding.
  • the scan operation teaching program uses the sensor 4 to determine the positions of teaching points for performing various operations (for example, approach, retract, avoidance, scan, etc.) for performing a bead appearance inspection of the created weld bead. , distance, and angle (posture) information.
  • the teach pendant TP1 is connected to the robot control device 2 so as to be able to transmit and receive data.
  • the teach pendant TP1 transmits to the robot control device 2 the position information of the welding line defined by the user's operation using the actual welding robot MC1 and the workpiece Wk.
  • the robot control device 2 stores the welding line position information transmitted from the teach pendant TP1 in the memory 22 (see FIG. 2), and transmits it to the robot control device 2.
  • FIG. 2 is a diagram showing an example of the internal configuration of the host device 1, robot control device 2, inspection control device 3, and offline teaching device 5 according to the first embodiment and a modification of the first embodiment.
  • the monitors MN1, MN2, input interfaces UI1, UI3, etc. are not illustrated in FIG.
  • an example of the internal configuration of each component of welding system 100 according to Embodiment 1 will be described.
  • the welding system 100A according to the modification of the first embodiment has a configuration that does not include the offline teaching device 5, the monitor MN3, and the input interface UI3, so the description thereof will be omitted here.
  • the welding robot MC1 executes the main welding process based on a welding operation teaching program using the welding torch 400 under the control of the robot control device 2.
  • Welding robot MC1 performs arc welding, for example, in the main welding process.
  • the welding robot MC1 may perform welding other than arc welding (for example, laser welding, gas welding), etc.
  • a laser head may be connected to a laser oscillator via an optical fiber instead of the welding torch 400.
  • the welding robot MC1 includes at least a manipulator 200, a wire feeding device 300, a welding wire 301, and a welding torch 400.
  • the manipulator 200 includes multi-jointed arms, and moves each arm based on control signals from the robot control unit 25 of the robot control device 2. Thereby, the manipulator 200 can change the positional relationship of the welding torch 400 with respect to the workpiece Wk (for example, the angle of the welding torch 400 with respect to the welding robot MC1) by driving the arm.
  • the wire feeding device 300 controls the feeding speed of the welding wire 301 based on a control signal from the robot control device 2.
  • the wire feeding device 300 may include a sensor (not shown) that can detect the remaining amount of the welding wire 301.
  • the robot control device 2 can detect that the main welding process is completed based on the output of this sensor.
  • Welding wire 301 is held by welding torch 400, and by supplying electric power to welding torch 400 from power supply device 500, an arc is generated between the tip of welding wire 301 and workpiece Wk, and arc welding is performed. . Note that illustration and description of the configuration for supplying shielding gas to welding torch 400 will be omitted for convenience of explanation.
  • the host device 1 uses welding-related information input or set in advance by the user to generate execution commands for various processes such as actual welding or bead appearance inspection, and sends them to the robot control device 2.
  • the host device 1 has a configuration that includes at least a communication section 10, a processor 11, and a memory 12.
  • the communication unit 10 is connected to each of the robot control device 2, inspection control device 3, and external storage ST to enable data communication.
  • the communication unit 10 transmits execution commands for various processes such as actual welding or bead appearance inspection generated by the processor 11 to the robot control device 2 or the inspection control device 3.
  • the communication unit 10 receives a main welding completion report sent from the robot control device 2 and an appearance inspection report sent from the inspection control device 3, and outputs the received report to the processor 11.
  • the actual welding execution command may include control signals for controlling each of the manipulator 200, wire feeding device 300, and power supply device 500 included in the welding robot MC1, for example.
  • the processor 11 is configured using, for example, a CPU (Central Processing Unit) or an FPGA (Field Programmable Gate Array), and performs various processing and control in cooperation with the memory 12. Specifically, the processor 11 functionally realizes the cell control unit 13 by referring to a program held in the memory 12 and executing the program.
  • a CPU Central Processing Unit
  • FPGA Field Programmable Gate Array
  • the memory 12 includes, 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, workpiece status, etc. read from the external storage ST.
  • a RAM Random Access Memory
  • ROM Read Only Memory
  • the cell control unit 13 creates an execution command for performing main welding, bead appearance inspection of the workpiece Wk, appearance scan of the workpiece Wk, or repair welding based on welding-related information stored in the external storage ST. . Further, the cell control unit 13 performs main welding during main welding based on the welding related information stored in the external storage ST and the teaching programs for the welding operation and scanning operation transmitted from the robot control device 2. A scanning program for driving the welding robot MC1 when measuring the amount of positional deviation of the workpiece Wk or when inspecting the bead appearance of the workpiece Wk is created. Furthermore, the cell control unit 13 creates execution commands for these created programs.
  • a scan program for performing an appearance scan (position measurement) of the workpiece Wk or an appearance inspection of the weld bead of the workpiece Wk may be created in advance for each workpiece Wk and stored in the external storage ST.
  • the cell control unit 13 reads and acquires various programs from the external storage ST.
  • the cell control unit 13 may generate different execution commands for each of the various main welding processes executed by the welding robot MC1.
  • the actual welding visual inspection and visual scan execution commands generated by the cell control unit 13 are sent to the corresponding robot control device 2 or inspection control device 3 via the communication unit 10, respectively.
  • the robot control device 2 refers to the corresponding program based on the execution command for actual welding, bead appearance inspection, or appearance scan transmitted from the host device 1.
  • Robot control device 2 controls welding robot MC1 (for example, manipulator 200, wire feeding device 300, and power supply device 500) based on the referenced program.
  • the robot control device 2 has a configuration that includes at least a communication section 20, a processor 21, and a memory 22.
  • the communication unit 20 which is an example of an acquisition unit, is connected to the host device 1, the welding robot MC1, the inspection control device 3, and the teach pendant TP1 so as to be able to communicate data with each other.
  • the communication unit 20 receives an execution command for actual welding or bead appearance inspection 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 teach pendant TP1.
  • the communication unit 20 transmits work information of the work Wk produced by main welding to the host device 1.
  • the workpiece information includes not only the ID of the workpiece but also at least the ID of the original workpiece used for the main welding, the name, the welding location, and the welding conditions when performing the main welding.
  • the processor 21, which is an example of a calculation unit and a correction unit, is configured using, for example, a CPU or an FPGA, and performs various processing and control in cooperation with the memory 22. Specifically, the processor 21 refers to the program held in the memory 22 and executes the program, thereby controlling the main welding program creation section 23, the scan program creation section 24, the robot control section 25, and the power supply control section 26. Functionally realized. Further, the processor 21 uses the welding operation teaching program to control the welding robot MC1 (specifically, the manipulator 200, wire feeding device 300, and power supply device 500).
  • the processor 21 determines the amount of positional deviation (distance and angle) and the amount of positional deviation (distance and angle) of welding robot MC1.
  • the processor 21 corrects the position of each of the plurality of teaching points included in the scanning operation teaching program based on the calculated positional deviation amount of the workpiece Wk.
  • the processor 21 corrects the respective positions of the teaching points included in the teaching programs for the welding operation and the scanning operation, based on the calculated positional deviation amount of the workpiece Wk.
  • the processor 21 outputs the modified welding operation teaching program to the main welding program creation section 23.
  • the processor 21 outputs the modified scan operation teaching program to the scan program creation section 24.
  • the memory 22, which is an example of a storage unit, includes a RAM as a work memory used, for example, 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 associates data of execution commands for actual welding, bead appearance inspection, or appearance scanning transmitted from the host device 1, work information of the workpiece Wk produced by actual welding, and position information of the weld line.
  • the welding related information transmitted from the teach pendant TP1, the position information of the welding line transmitted from the teach pendant TP1, etc. are stored.
  • the welding related information including the workpiece information of the workpiece Wk includes the welding operation and scan operation teaching programs, the welding line position information used to create the welding operation and scan operation teaching programs, and the welding operation settings. May contain information and.
  • the main welding program creation unit 23 Based on the actual 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, workpiece ID, The actual welding is performed by the welding robot MC1 using the name, information on the component parts (original workpiece, parts, etc.), positional information on the welding line, etc.) and the welding operation teaching program associated with these workpiece information. Create a book welding program. Further, when the main welding program creation unit 23 obtains a teaching program for welding operation after the position of the teaching point has been corrected from the processor 21, the main welding program creation unit 23 performs the main welding based on the obtained teaching program for welding operation. Create the main welding program.
  • work information for example, workpiece ID
  • the actual welding is performed by the welding robot MC1 using the name, information on the component parts (original workpiece, parts, etc.), positional information on the welding line, etc.
  • the welding operation teaching program associated with these workpiece information Create a book welding program.
  • the main welding program creation unit 23 obtains a
  • the main welding program includes welding current, welding voltage, offset amount, welding speed, welding torch 400, etc. to control the power supply device 500, manipulator 200, wire feeder 300, welding torch 400, etc. during execution of main welding.
  • Various parameters such as the attitude angle of the image may be included.
  • this welding program may be stored in the processor 21 or in the RAM in the memory 22.
  • the scan program creation unit 24 Based on the external appearance scan or visual inspection execution command transmitted from the host device 1 via the communication unit 20, the scan program creation unit 24 generates work information (for example, workpiece information) of each of the plurality of original workpieces included in the execution command. This is executed by the welding robot MC1 using the ID, name, information on the component parts (original workpiece, parts, etc.), position information on the welding line, etc.) and the scan operation teaching program associated with these workpiece information. A scan program for the appearance scan of the workpiece Wk or the bead appearance inspection is created. Furthermore, when the scan program creation unit 24 acquires a scan operation teaching program in which the position of the teaching point has been corrected from the processor 21, it creates the scan program based on the acquired welding operation teaching program.
  • work information for example, workpiece information
  • the robot control section 25 which is an example of a control section, controls the welding robot MC1 (specifically, the manipulator 200, the wire feeding device 300, and the power supply device 500) based on the main welding program generated by the main welding program creation section 23. generate a control signal to drive each of the following. Robot control unit 25 transmits this generated control signal to welding robot MC1.
  • the robot control unit 25 generates a control signal for driving the welding robot MC1 (specifically, the sensor 4 and the manipulator 200) based on the scan program generated by the scan program generation unit 24. Robot control unit 25 transmits this generated control signal to welding robot MC1.
  • the robot control unit 25 drives the manipulator 200 and the sensor 4 of the welding robot MC1 based on the scan operation teaching program (that is, the scan program) transmitted from the teach pendant TP1.
  • the sensor 4 attached to the welding robot MC1 detects the appearance of the workpiece Wk (that is, the plurality of original workpieces that make up the workpiece Wk), the alignment pattern AP (see FIG. 4) attached to the workpiece Wk, the weld bead, etc.
  • the shape of the workpiece Wk, alignment pattern AP, or weld bead can be acquired.
  • the power supply control section 26 drives the power supply device 500 based on the calculation result of the main welding program generated by the main welding program creation section 23.
  • FIG. 1 shows a configuration in which the three-dimensional shape data scanned by the sensor 4 is sent to the inspection control device 3, it is also possible to send it directly from the sensor 4 to the robot control device 2 as shown in FIG. It may be a configuration.
  • the sensor 4 is connected to the communication unit 20 of the robot control device 2 so as to be able to send and receive data, and receives three-dimensional shape data regarding the external shape of the workpiece Wk or three-dimensional shape data regarding the shape of the alignment pattern AP. is sent to the robot control device 2.
  • the inspection control device 3 inspects the workpiece Wk produced by main welding by the welding robot MC1 or the workpiece Wk repaired by one or more repair weldings based on the bead appearance inspection execution command transmitted from the host device 1. Controls the bead visual inspection and visual scanning processes.
  • the bead appearance inspection is, for example, an inspection to determine whether the weld bead formed on the workpiece Wk satisfies predetermined welding standards (for example, welding quality standards required by each user), and is based on the above-mentioned inspection judgment. configured.
  • the inspection control device 3 inspects the weld bead formed on the workpiece Wk based on three-dimensional shape data regarding the shape of the weld bead (for example, point cloud data that can identify the three-dimensional shape of the weld bead) acquired by the sensor 4. It is determined (inspected) whether the external shape of the welding material satisfies predetermined welding standards. In addition, the inspection control device 3 transmits three-dimensional shape data regarding the shape of the weld bead acquired by the sensor 4 or three-dimensional shape data regarding the shape of the workpiece Wk to the robot control device 2.
  • the test control device 3 includes at least a communication section 30, a processor 31, a memory 32, and a test result storage section 33.
  • the communication unit 30 is connected to the host device 1, the robot control device 2, and the sensor 4 so as to be able to communicate data with each other. 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 judgment results of the bead appearance inspection using the sensor 4 to the host device 1, and transmits data on the three-dimensional shape of the weld bead acquired by the sensor 4 to the robot control device 2. .
  • the processor 31 is configured using, for example, a CPU or an FPGA, and performs various processing and control in cooperation with the memory 32. Specifically, the processor 31 refers to a program held in the memory 32 and executes the program, thereby controlling the determination threshold storage section 34, the shape detection control section 35, the data processing section 36, and the inspection result determination section 37. , and the functions of a repair welding program creation section 38 and the like.
  • the memory 32 includes, for example, a RAM as a work memory 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.
  • the test result storage unit 33 is configured using, for example, a hard disk or a solid state drive.
  • the inspection result storage unit 33 stores, as an example of data generated or acquired by the processor 31, data indicating the result of a bead appearance inspection of a welding location in a workpiece Wk (for example, a workpiece or a repair workpiece). Data indicating the result of this bead appearance inspection is generated by, for example, the inspection result determination section 37.
  • the determination threshold storage unit 34 is configured by, for example, a cache memory provided in the processor 31, and is set in advance by a user operation, and stores respective threshold values corresponding to the welding location and the bead appearance inspection processing by the inspection result determination unit 37. (For example, each threshold value set for each type of welding defect) is stored.
  • the respective threshold values are, for example, the permissible range of the positional deviation of the weld bead, the respective threshold values for the length, height, and width of the weld bead, and the respective threshold values for holes, pits, undercuts, and spatters.
  • the determination threshold storage unit 34 stores tolerance ranges (for example, minimum tolerance values, maximum tolerance values, etc.) that satisfy the minimum welding standards (quality) required by customers etc.
  • each threshold value during bead appearance inspection after repair welding may be memorized.
  • these threshold values are used in the process of determining whether the inspection results created by the inspection result determination section 37 pass the bead appearance inspection.
  • the determination threshold value storage unit 34 may store an upper limit value of the number of bead visual inspections for each welding location.
  • the shape detection control unit 35 detects the transmitted three-dimensional shape of the weld bead, which is acquired by the sensor 4, based on a command to perform a bead appearance inspection of the welding location of the workpiece Wk (for example, a workpiece) transmitted from the host device 1.
  • Obtain shape data for example, point cloud data that can specify the three-dimensional shape of the weld bead.
  • the shape detection control unit 35 also generates three-dimensional shape data regarding the shape of the workpiece Wk acquired by the sensor 4 and transmitted based on a command to perform an external appearance scan of the workpiece Wk (for example, a workpiece) transmitted from the host device 1. (For example, point cloud data that can specify the three-dimensional shape of the workpiece Wk) is acquired.
  • the shape detection control unit 35 enables the sensor 4 to image the weld bead or the workpiece Wk (in other words, detects the three-dimensional shape of the welding location or the workpiece Wk) in response to the drive of the manipulator 200 by the robot control device 2 described above.
  • the weld bead or the workpiece Wk reaches a position where it can be detected, for example, a laser beam is irradiated from the sensor 4 to obtain three-dimensional shape data regarding the shape of the weld bead or the workpiece Wk.
  • the shape detection control section 35 Upon receiving the three-dimensional shape data (see above) acquired by the sensor 4, the shape detection control section 35 passes this three-dimensional shape data to the data processing section 36.
  • the data processing section 36 Upon acquiring the three-dimensional shape data (see above) regarding the shape of the weld bead from the shape detection control section 35, the data processing section 36 converts it into a data format suitable for various inspection determinations performed by the inspection result determination section 37. . Data format conversion may be carried out as so-called preprocessing, in which correction processing is performed to remove unnecessary point cloud data (e.g., noise) included in the three-dimensional shape data (i.e., point cloud data), or preprocessing may be performed. May be omitted.
  • the data processing unit 36 generates image data indicating the three-dimensional shape of the weld bead by, for example, performing statistical processing on the input shape data.
  • the data processing unit 36 may perform edge emphasis correction to emphasize the peripheral portion of the weld bead in order to emphasize the position and shape of the weld bead as data for inspection and determination.
  • the data processing unit 36 counts the number of times the bead visual inspection is performed for each location of welding defects, and if the welding inspection result does not become good even if the number of bead visual inspections exceeds the number of times stored in advance in the memory 32, , it may be determined that it is difficult or impossible to repair the defective weld by automatic repair welding.
  • the inspection result determination unit 37 generates an alert screen that includes the location of the welding defect and the type of welding defect (for example, hole, pit, undercut, spatter, protrusion), and displays the generated alert screen. , is transmitted 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. Note that this alert screen may be displayed on the monitor MN2.
  • the data processing unit 36 uses the bead appearance inspection threshold stored in the determination threshold storage unit 34 to generate three-dimensional shape data regarding the shape of the weld bead acquired by the sensor 4 and a non-defective workpiece predetermined for each workpiece. Perform bead appearance inspection based on comparison with master data.
  • the data processing unit 36 creates a visual inspection report that includes a defect determination result as an inspection determination result (that is, information indicating the presence or absence of a defect requiring repair welding) and information on a defect section for each defect location, and performs the inspection.
  • the result is stored in the result storage section 33 and transmitted to the host device 1 or the robot control device 2 via the communication section 30.
  • the data processing unit 36 determines that there is no defective part requiring repair welding in the workpiece Wk to be inspected, the data processing unit 36 creates a visual inspection report including an inspection determination result indicating that the bead visual inspection has been passed. It is stored in the test result storage section 33 and transmitted to the host device 1 via the communication section 30.
  • the data processing section 36 converts it into a data format suitable for the arithmetic processing performed by the inspection result determination section 37.
  • Data format conversion may include, as so-called preprocessing, correction processing in which unnecessary point cloud data (e.g., noise) included in the three-dimensional shape data (i.e., point cloud data) is removed; It may also be a process of generating a 3D model.
  • the data processing unit 36 may perform edge emphasis correction that emphasizes the position and shape of the workpiece Wk, and emphasizes the peripheral portion of the workpiece Wk.
  • the data processing unit 36 transmits three-dimensional shape data regarding the transformed shape of the workpiece Wk to the robot control device 2 via the communication unit 30.
  • the inspection result determination unit 37 performs a bead appearance inspection based on a comparison between the three-dimensional shape data regarding the shape of the weld bead acquired by the sensor 4 and master data of a non-defective workpiece predetermined for each workpiece, and determines the shape of the weld bead. Inspect for reliability (eg, whether along a straight or curved weld line), bead chipping, and bead misalignment.
  • the inspection result determination unit 37 compares the data converted by the data processing unit 36 for inspection determination (for example, image data generated based on point cloud data) with the master data of the non-defective workpiece (so-called image processing). conduct.
  • the inspection result determination section 37 can inspect the shape reliability of the weld bead, bead chipping, and bead positional deviation with high precision.
  • the inspection result determination unit 37 calculates an inspection score indicating the inspection results for the shape reliability of the weld bead, bead chipping, and bead positional deviation, and creates the calculated value of this inspection score as the inspection result. Further, the test result determination unit 37 compares the created test result with the test result threshold stored in the memory 32.
  • the inspection result determination unit 37 outputs the visual inspection results including information on the comparison results (that is, whether the obtained first inspection result passes or fails the bead visual inspection) to the host device 1 and the monitor MN2. do.
  • the inspection result determination unit 37 forms a neural network using multiple types of artificial intelligence, and the three-dimensional shape data regarding the shape of the weld bead acquired by the sensor 4 or the three-dimensional shape data is processed by the data processing unit 36.
  • Perform a bead appearance inspection to determine the presence or absence of welding defects based on AI based on preprocessed 3D shape data, and inspect the weld bead for holes, pits, undercuts, spatter, and protrusions. .
  • Weld bead holes, pits, undercuts, spatters, and protrusions are merely listed as examples, and the types of defects inspected by the inspection result determination section 37 are not limited to these.
  • the inspection result determining unit 37 determines that a corresponding type of welding defect has been detected, it identifies the position of the weld bead where the welding defect was detected.
  • the inspection result determination unit 37 determines the presence or absence of each welding defect using a learning model (AI) obtained in advance through a learning process for each type of welding defect or for each group of types of welding defects. Thereby, the inspection result determination section 37 can highly accurately inspect the presence or absence of holes, pits, undercuts, spatters, and protrusions in the weld bead, for example.
  • AI learning model
  • the inspection result determination unit 37 calculates the inspection results for holes, pits, undercuts, spatters, and protrusions in the weld bead (in other words, the inspection score indicating the probability of occurrence), and outputs the appearance inspection result including the calculated value of the inspection score. is created and output to the host device 1 and monitor MN2.
  • the inspection result determination unit 37 determines whether repair welding by the welding robot MC1 is possible (in other words, whether repair welding by the welding robot MC1 is possible) based on the inspection results (inspection scores) included in each of the above-mentioned appearance inspection results. (Whether welding or manual repair welding is better) may be determined, and the determination result may be included in the above-mentioned visual inspection report and output.
  • the repair welding program creation unit 38 creates a repair welding program for the workpiece Wk to be executed by the welding robot MC1, using the visual inspection report of the workpiece Wk by the data processing unit 36.
  • the repair welding program includes welding current, welding voltage, offset amount, welding speed, welding torch 400, etc. to control the power supply 500, manipulator 200, wire feeder 300, welding torch 400, etc. during repair welding.
  • Various parameters such as the attitude angle of the image may be included.
  • the generated repair welding program may be stored in the processor 31 or in the RAM in the memory 32, or may be associated with the visual inspection report and sent to the host device via the communication unit 30. 1 or may be sent to the robot control device 2.
  • the repair welding program creation unit 38 receives the visual inspection report of the workpiece Wk (for example, the workpiece or repair workpiece) by the inspection result determination unit 37 and the workpiece information (for example, information such as coordinates indicating the position of a detected point of welding defect on the workpiece or repair workpiece). ) is used to create a repair welding program for the workpiece Wk (for example, a workpiece or a repair workpiece) to be executed by the welding robot MC1.
  • the repair welding program includes welding current, welding voltage, offset amount, welding speed, welding torch 400, etc. to control the power supply 500, manipulator 200, wire feeder 300, welding torch 400, etc. during repair welding. Various parameters such as the attitude angle of the image may be included.
  • the generated repair welding program may be stored in the processor 31 or in the RAM in the memory 32.
  • the sensor 4 is, for example, a three-dimensional shape sensor, which is attached to the tip of the welding robot MC1, and has a plurality of point groups capable of specifying the alignment pattern AP, the workpiece Wk, or the shape of the welding location (the shape of the weld bead) on the workpiece Wk. Get data. Based on the acquired point cloud data, the sensor 4 generates point cloud data that can specify the three-dimensional shape of the welding location, and transmits it to the robot control device 2 or the inspection control device 3.
  • a laser light source (not shown) configured to be able to scan alignment pattern AP, workpiece Wk, or the vicinity of the position of the welding point;
  • a camera (not shown) is arranged so as to be able to image the imaging area including the surrounding area, and is configured to image the reflection locus of the reflected laser beam (i.e., the shape line of the welding point) among the irradiated laser beams. good.
  • the sensor 4 transmits the shape data (in other words, image data) of the welding torch 400 of the welding robot MC1, the alignment pattern AP, the workpiece Wk, or the welding location (that is, the weld bead) captured by the camera, or the inspection control. Send to device 3.
  • shape data in other words, image data
  • the alignment pattern AP the alignment pattern AP
  • the workpiece Wk the workpiece Wk
  • the welding location that is, the weld bead
  • the above-described camera is configured to include 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 a 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
  • FIG. 3 is a diagram illustrating the relationship between the welding coordinate system ⁇ W1 and the workpiece Wk.
  • a welding coordinate system ⁇ W1 is set for the welding robot MC1.
  • the positions of teaching points included in the teaching programs for welding operations and scanning operations are defined based on the welding coordinate system ⁇ W1.
  • Information on the welding coordinate system ⁇ W1 is stored in the memory 22 of the robot control device 2.
  • FIG. 4 is a diagram illustrating an example of the alignment pattern AP.
  • FIG. 5 is a diagram illustrating an example of reading the alignment pattern AP.
  • the shape of the alignment pattern AP shown in FIG. 4 is just an example, and is not limited thereto.
  • the alignment pattern AP shown in FIG. 5 is attached to the surface of the workpiece Wk as an example, the alignment pattern AP is not limited to this, and may be attached at a position that can be scanned (read) by the sensor 4 of the welding robot MC1. All you have to do is stay there.
  • the alignment pattern AP is a plate for measuring the position (i.e., distance, direction (posture), etc.) of the workpiece Wk with respect to the welding robot MC1, and is a plate for measuring the position (i.e., distance, orientation (posture), etc.) of the workpiece Wk (i.e., one of the plurality of original workpieces constituting the workpiece Wk). attached to a predetermined position on any one of the original workpieces).
  • two holes HO1 and HO2 having different sizes are formed.
  • the robot control device 2 detects each of the two holes HO1 and HO2 from the three-dimensional shape data of the alignment pattern AP read by the sensor 4.
  • the robot control device 2 calculates center positions CT1 and CT2 of the two detected holes HO1 and HO2, connects these two center positions CT1 and CT2, and connects one hole (hole HO1 in the example shown in FIG. 4). ), and the center position of the other hole (hole HO2 in the example shown in FIG. 4) is the end point.
  • the robot control device 2 calculates the mounting angle (posture) of the alignment pattern AP based on the direction of the generated vector VC, and calculates the distance between the welding robot MC1 and the workpiece Wk based on the length of the vector VC. Calculate. Thereby, the robot control device 2 can calculate the relative position of the workpiece Wk with respect to the welding robot MC1.
  • FIG. 6 is a diagram illustrating an example of scanning the workpiece Wk.
  • the robot control device 2 drives the welding robot MC1 to scan the workpiece Wk with the sensor 4. Note that the robot control device 2 acquires the current position information of the workpiece Wk or stage STG transmitted from the host device 1, and moves the sensor 4 to a position where the workpiece Wk can be scanned by driving the welding robot MC1. You may let them.
  • the sensor 4 transmits three-dimensional shape data of the workpiece Wk to the robot control device 2.
  • the robot control device 2 uses feature points (for example, a predetermined surface of the workpiece Wk or the original workpiece, a corner of a predetermined surface, Read the shape of a predetermined hole (such as a predetermined hole formed in a surface). The robot control device 2 calculates the relative position (distance) of the workpiece Wk with respect to the welding robot MC1 based on the shape of the feature point.
  • feature points for example, a predetermined surface of the workpiece Wk or the original workpiece, a corner of a predetermined surface, Read the shape of a predetermined hole (such as a predetermined hole formed in a surface).
  • the robot control device 2 calculates the relative position (distance) of the workpiece Wk with respect to the welding robot MC1 based on the shape of the feature point.
  • the robot control device 2 may calculate the relative position (distance, posture) of the workpiece Wk with respect to the welding robot MC1 based on the respective positions of two or more feature points.
  • FIG. 7 is a diagram illustrating an example of calculating the amount of positional deviation of the workpiece Wk.
  • the position (posture) of the workpiece Wk in a normal state included in the workpiece information of the workpiece Wk is shown as a normal workpiece Wk10
  • the actual position (posture) of the workpiece Wk is shown as a normal workpiece Wk10. It is illustrated as a misaligned work Wk11.
  • the position PS2 of the normal workpiece Wk10 indicates the position of the workpiece Wk in a normal state (that is, when there is no positional deviation) included in the workpiece information of the workpiece Wk.
  • the position PS3 of the misaligned workpiece Wk11 indicates the actual position of the workpiece Wk calculated based on the reading result of the workpiece Wk or alignment pattern AP by the sensor 4.
  • the robot control device 2 determines the position PS3 (distance, posture) of the misaligned workpiece Wk11 with respect to the position PS1 of the welding robot MC1 in the welding coordinate system ⁇ W1 based on the feature points of the workpiece Wk or the alignment pattern AP read by the sensor 4. calculate.
  • the robot control device 2 determines the amount of positional deviation (distance, angle).
  • an example of calculating the amount of positional deviation of the workpiece Wk will be specifically explained.
  • the robot control device 2 calculates each of the vectors VC11 and VC12 based on the position PS1 of the welding robot MC1, the position PS2 of the normal workpiece Wk10, and the position PS3 of the misaligned workpiece Wk11.
  • vector VC11 is a vector whose starting point is position PS1 of welding robot MC1 in welding coordinate system ⁇ W1 and whose end point is position PS2 of normal workpiece Wk10 with respect to welding robot MC1.
  • Vector VC12 is a vector whose starting point is position PS1 of welding robot MC1 in welding coordinate system ⁇ W1 and whose end point is position PS3 of misaligned workpiece Wk11 with respect to welding robot MC1.
  • the robot control device 2 calculates a vector VC13 based on the sum of the inverse vector of the vector VC11 and the vector VC12.
  • the vector VC13 is a vector whose starting point is the position PS2 of the normal workpiece Wk10 and whose end point is the position PS3 of the misaligned workpiece Wk11, and is a vector indicating the amount of positional deviation (distance, angle) of the workpiece Wk.
  • the robot control device 2 calculates the positional deviation amount of the workpiece Wk with respect to the welding robot MC1 based on the calculated vector VC13, and performs a welding operation corresponding to this workpiece Wk based on the calculated positional deviation amount of the workpiece Wk.
  • the positions of the teaching points included in the teaching program for the scan operation are corrected, and the positions of the teaching points included in the teaching program for the scan operation are corrected.
  • FIG. 8 is a flowchart illustrating an example of a procedure for modifying the teaching program by the robot control device 2 in the first embodiment.
  • the robot control device 2 acquires the three-dimensional shape data of the workpiece Wk (original workpiece) or alignment pattern AP transmitted from the sensor 4.
  • the robot control device 2 calculates the position PS3 of the misaligned workpiece Wk11 based on the welding coordinate system ⁇ W1 of the welding robot MC1 based on the acquired three-dimensional shape data, and records it in the memory 22 (St11).
  • the robot control device 2 stores the calculated position PS3 of the misaligned workpiece Wk11 (the position of the workpiece Wk when the deviation occurs) and the position PS2 of the normal workpiece Wk10 (that is, the position of the workpiece Wk during normal operation) from the memory 22.
  • the amount of positional deviation (difference) of the workpiece Wk is calculated (St12).
  • the robot control device 2 corrects the position of the teaching point included in the teaching program for the welding operation and the scanning operation based on the calculated positional deviation amount of the workpiece Wk (St13).
  • the robot control device 2 determines whether there is a correction error in at least one teaching program among the teaching programs after correction. is determined (St14).
  • the correction error here indicates that work processes such as production and inspection of the workpiece Wk based on the corrected teaching program cannot be executed. For example, if the position of the teaching point included in the revised teaching program exceeds the operating area of the welding robot MC1, the robot control device 2 may cause the welding torch 400 or the sensor 4 to control the workpiece Wk or the workpiece Wk according to the revised teaching program. It is determined that there is a correction error when there is interference with the stage STG, jig, etc. to be placed.
  • the robot control device 2 determines in the process of step St14 that there is a modification error in at least one of the modified teaching programs (St14, YES)
  • the robot control device 2 updates the modified welding motion and scan motion teaching programs. is returned to the welding operation and scanning operation teaching program before modification (St15).
  • the robot control device 2 generates a notification (e.g., image data, audio data, etc.) to the effect that the teaching program for welding operations and scanning operations cannot be modified, and sends the notification to the host device 1.
  • a notification e.g., image data, audio data, etc.
  • the notification may include work information of the calculated work Wk, information on the amount of positional deviation, and the like.
  • step St14 if it is determined that there is no correction error in the corrected teaching program (St14, NO), the robot control device 2 includes the position PS3 of the misaligned workpiece Wk11 in the workpiece information of the workpiece Wk. It is recorded (that is, overwritten) as the position (that is, the position PS2 of the normal workpiece Wk10) (St16).
  • the robot control device 2 creates a main welding program based on the modified welding operation teaching program, and causes the welding robot MC1 to perform main welding based on the created main welding program (St17). Furthermore, the robot control device 2 creates a scan program based on the modified scan operation teaching program, and causes the sensor 4 of the welding robot MC1 to perform an external appearance inspection of the workpiece Wk based on the created scan program. (St18).
  • the robot control device 2 may execute the process of step St14 every time one teaching program is modified. In such a case, the robot control device 2 repeatedly executes the process of step St14 a number of times corresponding to the number of teaching programs used to produce the workpiece Wk.
  • the robot control device 2 in the first embodiment can control the positions of the teaching points included in the teaching programs more easily. Can be corrected efficiently.
  • the robot control device 2 can modify all the teaching programs used for the production of the work Wk at once. It is possible to suppress the production of workpieces Wk of higher quality.
  • the welding system 100 according to the first embodiment described above shows an example in which the robot control device 2 executes modifications of a plurality of teaching programs.
  • a welding system 100A according to a modification of the first embodiment uses production equipment (for example, welding robot MC1, workpiece Wk, etc.) constructed in a virtual space (three-dimensional space) by an offline teaching device 5 to An example of modifying the teaching program will be explained.
  • a welding system 100A according to a modification of the first embodiment will be described.
  • a welding system 100A according to a modification of the first embodiment will be described with reference to FIG. 1. Note that in the following description, descriptions of the same configuration and functions as those of welding system 100 according to Embodiment 1 will be omitted.
  • a welding system 100A includes a host device 1 connected to an external storage ST, an input interface UI1, and a monitor MN1, a robot control device 2, an inspection control device 3, and a sensor 4. , an offline teaching device 5, a welding robot MC1, and monitors MN2 and MN3.
  • the teach pendant TP1 is not an essential component and may be omitted.
  • the monitors MN2 and MN3 are not essential components and may be omitted.
  • the offline teaching device 5 is connected to the robot control device 2, inspection control device 3, monitor MN3, and input interface UI3 so that data can be communicated 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 has been created, and positional information of the workpiece Wk with respect to the welding robot MC1.
  • the offline teaching device 5 also constructs virtual production equipment (for example, a virtual welding robot, a virtual workpiece, a virtual stage, a virtual jig, etc.) in a virtual space, and receives control commands and various data (for example, three-dimensional shape data regarding the shape of the weld bead or workpiece Wk, 3D model data, welding line position information, etc.), or various data output from the robot control device 2 or inspection control device 3 (for example, A teaching program for the welding operation and a teaching program for the scanning operation of the workpiece Wk are created based on the welding bead or three-dimensional shape data regarding the shape of the workpiece Wk, data of the 3D model of the workpiece Wk, position information of the welding line, etc.). Create each.
  • virtual production equipment for example, a virtual welding robot, a virtual workpiece, a virtual stage, a virtual jig, etc.
  • various data for example, three-dimensional shape data regarding the shape of the weld bead or workpiece Wk, 3
  • the offline teaching device 5 transmits each of the created welding operation teaching program and scanning operation teaching program to the robot control device 2.
  • the created scan operation teaching program may be sent not only to the robot control device 2 but also to the inspection control device 3.
  • the offline teaching device 5 stores each of the created welding operation teaching program and scanning operation teaching program for each workpiece Wk.
  • the offline teaching device 5 constructs a virtual production facility in the virtual space based on the position information of the welding line, and installs a welding line corresponding to the workpiece Wk and a sensor on the virtual workpiece corresponding to the workpiece Wk.
  • a teaching auxiliary image (not shown) on which the scan area etc. scanned by 4 is superimposed is generated and transmitted to the monitor MN3 for display.
  • the monitor MN3 may be configured using a display device such as an LCD or an organic EL, for example.
  • the monitor MN3 displays the teaching assistance screen transmitted from the offline teaching device 5.
  • the monitor MN3 displays a teaching auxiliary image in which the operation trajectory of the sensor 4 or the operation trajectory of the welding torch 400 is superimposed on the image of the virtual production equipment transmitted from the offline teaching device 5.
  • the input interface UI3 is a worker interface that detects the worker's input operation and outputs it to the host device 1, and may be configured using, for example, a mouse, a keyboard, a touch panel, or the like.
  • the input interface UI3 is used to input information such as position information of the welding line of the workpiece Wk, welding setting information, scan setting information, 3D model, etc. used for creating a teaching program for scan operation and welding operation, or input operations for inputting already created welding operation and scan. It accepts each input operation of the motion teaching program.
  • the monitor MN3 and the input interface UI3 may be an integrated terminal device P3 (eg, a PC, a notebook PC, a tablet terminal, etc.).
  • the offline teaching device 5 is connected to the robot control device 2, inspection control device 3, monitor MN3, and input interface UI3 so that data can be communicated with each other.
  • the offline teaching device 5 creates a teaching program for scanning the workpiece Wk based on the welding line position information transmitted from the input interface UI3.
  • the offline teaching device 5 may create a teaching program for the workpiece Wk based on the welding line position information transmitted from the input interface UI3 and various data such as welding operation setting information and scan operation setting information. good.
  • the offline teaching device 5 includes a communication section 50, a processor 51, a memory 52, and an input/output section 53.
  • the communication unit 50 is connected to the robot control device 2, inspection control device 3, input interface UI3, and monitor MN3 so that data can be communicated with each other.
  • the communication unit 50 stores the created teaching programs for the welding motion and scanning motion, and various data (for example, welding line position information, welding motion settings) used in creating the welding motion and scanning motion teaching programs. information, scanning operation setting information, workpiece information of the workpiece Wk, etc.) and transmits it to the robot control device 2.
  • the processor 51 is configured using, for example, a CPU or an FPGA, and performs various processing and control in cooperation with the memory 52. Specifically, the processor 51 functionally realizes the 3D calculation section 54 and the program creation section 55 by referring to programs, learning models, etc. held in the memory 52 and executing the programs.
  • the memory 52 includes, for example, a RAM as a work memory 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. Further, the memory 52 stores a welding operation teaching program, a scanning operation teaching program, and workpiece information created by the program creation unit 55 in association with each other. Note that the memory 52 may store learning models and learning data for creating the welding operation teaching program and the scanning operation teaching program, respectively.
  • the learning model has a storage device including a semiconductor memory such as RAM and ROM, and a storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive).
  • a storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive).
  • the learning model includes, for example, learning data for generating a welding operation teaching program and a scanning operation teaching program executed by the processor 51, a welding operation teaching program created in the past, and a scanning operation teaching program. Edit information, setting information, etc. based on operator operations at the time of each creation are stored.
  • the learning model automatically generates a welding operation or a scanning operation (that is, the operation trajectory of the sensor 4, the scan section, the scan effective area, etc.) based on the welding operation setting information.
  • the learning model is based on editing information, setting information, etc. based on operator operations at the time of creation of the welding operation teaching program and scan operation teaching program created in the past.
  • Teacher data for generating each of the scanning operation teaching program and the scanning operation teaching program may be generated.
  • the learning for generating the teacher data may be performed using one or more statistical classification techniques.
  • statistical classification techniques include linear classifiers, support vector machines, quadratic classifiers, and kernel density estimation. ), Decision Trees, Artificial Neural Networks, Bayesian Techniques and/or Networks, Hidden Markov Models, Binary classifiers (Binary Classifiers), Multi-Class classifiers (Multi-Class Classifiers) ), Clustering Technique, Random Forest Technique, Logistic Regression Technique, Linear Regression Examples include gradient boosting technique and gradient boosting technique.
  • the statistical classification techniques used are not limited to these.
  • the input/output unit 53 receives the execution command, the 3D model of the workpiece Wk, the welding operation setting information, and the scanning operation setting information transmitted from the input interface UI3, as well as from the robot control device 2, inspection control device 3, or input interface UI3.
  • the transmitted welding line position information is acquired 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 calculation unit 54, and virtual production equipment transmitted from the offline teaching device 5.
  • An image in which the operation trajectory of the sensor 4 or the operation trajectory of the welding torch 400 is superimposed on the image of the equipment is transmitted to the monitor MN3.
  • the 3D calculation unit 54 includes, for example, three-dimensional shape data regarding the shape of the workpiece Wk or weld bead, data on the 3D model of the workpiece Wk, workpiece information on the workpiece Wk, and data regarding production equipment (for example, stage position information, jig Based on the position information, the robot information or position information of the welding robot MC1, etc., production equipment required to perform the actual welding or the visual inspection of the workpiece Wk is virtually constructed.
  • the 3D calculation unit 54 converts the data of the virtually constructed production equipment into image data, outputs it to the input/output unit 53, and displays it on the monitor MN3.
  • the 3D calculation unit 54 also displays a teaching auxiliary screen in which the position information of at least one welding line and the scan effective area of the sensor 4 that scans this welding line are superimposed on the virtual production equipment in the virtual space. (image data) is generated. Note that if the 3D calculation unit 54 can acquire the welding operation teaching program created by the program creation unit 55, the 3D calculation unit 54 calculates one or more teaching points of the welding torch 400 included in the welding operation teaching program.
  • An auxiliary teaching screen (image data) may be generated in which a motion trajectory (specifically, an auxiliary scan section, a welding section, etc.) is virtually superimposed on the production equipment.
  • the 3D calculation unit 54 calculates one or more teaching points included in the scan operation teaching program created by the program creation unit 55 and the movement trajectory of the sensor 4 (specifically, approach movement, retract movement, avoidance movement, etc.).
  • a teaching auxiliary screen (image data) is generated in which motion trajectories, auxiliary scan sections, scan sections, etc. indicating various operations are superimposed on virtual production equipment.
  • the 3D calculation unit 54 converts data of a virtual production facility on which data included in various teaching programs are superimposed into image data, outputs it to the input/output unit 53, and displays it on the monitor MN3.
  • the 3D calculation unit 54 calculates the teaching points and welding torch for each of the welding operation or scanning operation based on the teaching programs for the welding operation and the scanning operation, or various data regarding production equipment, position information of the welding line, etc. 400 or the operation trajectory of the sensor 4 (specifically, the auxiliary scan section, welding section, scan section, etc.) may be combined to generate a teaching auxiliary screen (image data) superimposed on the virtual production equipment. .
  • the program creation unit 55 includes positional information of the welding line (for example, data of a 3D model of the workpiece Wk, three-dimensional shape data regarding the shape of the workpiece Wk or the welding bead, coordinate information of the start point and end point of the welding line), Based on the welding operation setting information, scan operation setting information, etc., a welding operation teaching program and a scanning operation teaching program are created. Further, the program creation unit 55 uses various input information, learning models stored in the memory 52, algorithms such as mathematical programming, etc. to create respective teaching programs for the welding operation and the scanning operation. You may create one.
  • the program creation unit 55 includes a welding action creation unit 551 and a scan action creation unit 552.
  • the welding operation creation unit 551 creates a welding operation teaching program for performing main welding on the workpiece Wk based on the input welding line position information and welding operation setting information.
  • the scan operation creation unit 552 executes an appearance scan of the workpiece Wk (original workpiece) and an appearance inspection of the weld bead generated on the workpiece Wk or other appearance inspection points based on the input position information of at least the welding line. Create a scan operation teaching program to do this. Note that the scan motion creation unit 552 creates a pattern for the workpiece Wk based on the motion locus of the input welding motion, the 3D model, each of one or more scan effective areas arranged on the 3D model, scan motion setting information, etc. A teaching program for scanning operations may be created to perform external scanning, visual inspection of weld beads generated on the workpiece Wk, or other visual inspection locations.
  • the offline teaching device 5 acquires the welding operation teaching program for the workpiece Wk, the main welding program, information on the welding operation trajectory, etc. transmitted from the robot control device 2 or the terminal device P3. The positional information of the welding line of the workpiece Wk included in these programs or information is acquired.
  • the offline teaching device 5 may acquire the position information of the welding line from the welding line data linked to this 3D model. Further, if welding line data is not linked to the 3D model of the workpiece Wk transmitted from the terminal device P3, the offline teaching device 5 acquires position information of the welding line based on the three-dimensional shape of the 3D model. It's okay. For example, the offline teaching device 5 acquires the intersection point where the surfaces of these original workpieces intersect or the contact point where the surfaces of these original workpieces intersect with each other as the position information of the welding line, based on the surface shapes of two or more original workpieces constituting the workpiece Wk. do.
  • the offline teaching device 5 may acquire the position information of the weld line based on scan data (for example, mesh data) acquired by scanning the workpiece Wk or the weld bead formed on the workpiece Wk by the sensor 4. . Further, the offline teaching device 5 may acquire the position information of the welding line by teaching using a teach pendant (not shown).
  • scan data for example, mesh data
  • the offline teaching device 5 may acquire the position information of the welding line by teaching using a teach pendant (not shown).
  • FIG. 9 is a sequence diagram illustrating an example of a procedure for correcting a teaching program by the robot control device 2 and offline teaching device 5 in a modification of the first embodiment.
  • the robot control device 2 acquires the three-dimensional shape data of the workpiece Wk (original workpiece) or alignment pattern AP transmitted from the sensor 4.
  • the robot control device 2 calculates the position PS3 of the misaligned workpiece Wk11 based on the welding coordinate system ⁇ W1 of the welding robot MC1 based on the acquired three-dimensional shape data, and records it in the memory 22 (St21).
  • the robot control device 2 generates a reading result that associates the information on the calculated position PS3 of the misaligned workpiece Wk11 with the three-dimensional shape data of the misaligned workpiece Wk11, and sends it to the offline teaching device 5 (St22 ).
  • the offline teaching device 5 acquires the reading results sent from the robot control device 2.
  • the offline teaching device 5 is configured to determine the workpiece Wk between the arrangement position of virtual production equipment (virtual equipment) constructed on the virtual space and the acquired position PS3 of the misaligned workpiece Wk11 (the position of the workpiece Wk when the misalignment occurs).
  • the positional shift amount (difference) is calculated (St23).
  • the offline teaching device 5 determines the position of the workpiece Wk between the placement position of the virtual workpiece corresponding to the position PS2 of the normal workpiece Wk10 (that is, the position of the workpiece Wk during normal operation) and the position PS3 of the misaligned workpiece Wk11.
  • the amount of deviation (difference) is calculated (St23).
  • the offline teaching device 5 corrects the position of the teaching point included in the teaching program for the welding operation and the scanning operation based on the calculated positional deviation amount of the workpiece Wk (St24).
  • the offline teaching device 5 determines whether there is a correction error in at least one teaching program among the teaching programs after correction. is determined (St25).
  • the offline teaching device 5 determines in the process of step St25 that there is a correction error in at least one of the corrected teaching programs (St25, YES)
  • the offline teaching device 5 updates the corrected welding operation and scan operation teaching programs. is returned to the welding operation and scanning operation teaching program before modification (St26).
  • the offline teaching device 5 generates a notification (e.g., image data, audio data, etc.) to the effect that the teaching program for welding operation and scanning operation cannot be modified, and sends the notification from the monitor MN3. You may also output it.
  • the notification may include work information of the calculated work Wk, information on the amount of positional deviation, and the like.
  • the offline teaching device 5 includes the position PS3 of the misaligned workpiece Wk11 in the workpiece information of the workpiece Wk. It is recorded (that is, overwritten) as the position (that is, the position PS2 of the normal workpiece Wk10) (St27).
  • the offline teaching device 5 transmits each of the modified welding operation and scanning operation teaching programs to the robot control device 2 (St28).
  • the robot control device 2 acquires each of the welding operation and scanning operation teaching programs transmitted from the offline teaching device 5.
  • the robot control device 2 creates a main welding program based on the welding operation, and causes the welding robot MC1 to perform main welding based on the created main welding program (St29).
  • the offline teaching device 5 creates a scan program based on the modified scan operation teaching program, and causes the sensor 4 of the welding robot MC1 to perform an external appearance inspection of the workpiece Wk based on the created scan program. (St30).
  • the offline teaching device 5 may execute the process of step St25 every time one teaching program is modified. In such a case, the offline teaching device 5 repeatedly executes the process of step St25 a number of times corresponding to the number of teaching programs used to produce the work Wk.
  • the offline teaching device 5 in the modified example of the first embodiment is able to adjust the teaching points included in the teaching programs even when one welding robot MC1 produces the workpiece Wk using a plurality of teaching programs.
  • the position can be corrected more efficiently.
  • the offline teaching device 5 can correct all the teaching programs used for producing the workpiece Wk at once by calculating the positional deviation amount of the workpiece Wk, thereby effectively reducing the reduction in production efficiency of the workpiece Wk. It is possible to suppress the production of workpieces Wk of higher quality.
  • the robot control device 2 includes the communication unit 20 (an example of an acquisition unit) that acquires information (for example, three-dimensional shape data, alignment pattern, etc.) regarding the position of the workpiece Wk produced by welding. , a memory 22 (an example of a storage unit) that stores the set position of the workpiece Wk based on the welding robot MC1 (an example of a robot) that performs production, and an actual measured position of the workpiece Wk based on information regarding the position of the workpiece Wk (for example, The position PS3 of the misaligned workpiece Wk11 shown in FIG.
  • the communication unit 20 an example of an acquisition unit
  • information for example, three-dimensional shape data, alignment pattern, etc.
  • the processor 21 calculates the amount of positional deviation of the workpiece based on the amount of positional deviation of the workpiece Wk, and the position of the teaching point of the plurality of teaching programs used for production by the welding robot MC1 is corrected based on the amount of positional deviation of the workpiece Wk.
  • a robot control section (an example of a control section) that controls the welding robot MC1 using a plurality of modified teaching programs.
  • the robot control device 2 can control the positions of the teaching points included in the teaching programs even when one welding robot MC1 produces the workpiece Wk using a plurality of teaching programs. Can be corrected more efficiently.
  • the robot control device 2 can modify all the teaching programs used for the production of the work Wk at once. It is possible to suppress the production of workpieces Wk of higher quality.
  • the processor 21 of the robot control device 2 determines whether the position of the teaching point of the modified teaching program is outside the operating range of the welding robot MC1.
  • the robot control unit 25 determines that the position of the teaching point of the modified teaching program is not outside the operating range of the welding robot MC1
  • the robot control unit 25 controls the welding robot MC1 using the plurality of modified teaching programs.
  • the robot control device 2 according to the first embodiment uses the plurality of teaching programs in which the modification of the teaching points is reflected only when it is determined that there is no modification error in the modified teaching program. Can be produced.
  • the robot control unit 25 of the robot control device 2 according to the first embodiment determines that the position of the teaching point of the modified teaching program is outside the operating range of the welding robot MC1
  • the robot control unit 25 of the robot control device 2 according to the first embodiment The position of the teaching point of the program is returned to the position of the teaching point of the plurality of teaching programs before correction.
  • the robot control device 2 according to the first embodiment determines that there is a modification error in the modified teaching program
  • the robot control device 2 according to the first embodiment returns all the modified teaching programs to the teaching program before modification. Erroneous correction of points can be suppressed.
  • the information regarding the position of the workpiece Wk is three-dimensional shape data of the workpiece Wk.
  • the processor 21 calculates the actually measured position of the workpiece Wk based on the three-dimensional shape data.
  • the robot control device 2 according to the first embodiment determines the actual position of the workpiece Wk (position of the misaligned workpiece Wk11) based on the three-dimensional shape data of the workpiece Wk scanned by the sensor 4 included in the welding robot MC1. PS3) can be calculated. Therefore, the welding system 100 does not require a measuring device (for example, a dedicated camera, etc.) for measuring the position of the workpiece Wk.
  • the welding system 100 can more effectively suppress the decrease in production efficiency of the workpiece Wk caused by attaching or detaching a measuring device to the welding robot MC1 every time the teaching program is modified.
  • the processor 21 of the robot control device 2 detects the feature points of the workpiece Wk using the three-dimensional shape data, and calculates the actual measured position of the workpiece Wk based on the detected feature points. .
  • the robot control device 2 according to the first embodiment uses the three-dimensional shape data of the workpiece Wk scanned by the sensor 4 included in the welding robot MC1 to determine the actual position of the workpiece Wk (position of the misaligned workpiece Wk11). PS3) can be calculated.
  • a feature of the robot control device 2 according to the first embodiment is a predetermined hole formed in the workpiece Wk.
  • the robot control device 2 according to the first embodiment uses the three-dimensional shape data of the workpiece Wk scanned by the sensor 4 included in the welding robot MC1 to determine the actual position of the workpiece Wk (position of the misaligned workpiece Wk11). PS3) can be calculated.
  • a feature point in the robot control device 2 according to the first embodiment is a predetermined surface of the workpiece Wk or a corner of the surface.
  • the robot control device 2 according to the first embodiment uses the three-dimensional shape data of the workpiece Wk scanned by the sensor 4 included in the welding robot MC1 to determine the actual position of the workpiece Wk (position of the misaligned workpiece Wk11). PS3) can be calculated.
  • the information regarding the position of the workpiece Wk in the robot control device 2 according to the first embodiment is three-dimensional shape data of the alignment pattern AP attached to the workpiece Wk.
  • the alignment pattern AP two holes HO1 and HO2 having different sizes are formed.
  • the processor 21 calculates the actually measured position of the workpiece Wk based on the positions of the two holes HO1 and HO2. Thereby, the robot control device 2 according to the first embodiment can calculate the position of the workpiece Wk with higher accuracy based on the alignment pattern AP.
  • the welding system 100A (an example of an offline teaching system) according to the modification of the first embodiment includes a robot control device 2 that controls a welding robot MC1 (an example of a robot) that produces a workpiece Wk by welding,
  • the off-line teaching device 5 is communicably connected to the device 2 and constructs a workpiece Wk and a welding robot MC1 in a virtual space.
  • the offline teaching device 5 acquires information regarding the position of the workpiece Wk (for example, three-dimensional shape data, alignment pattern AP, etc.), and determines the actual measured position of the workpiece Wk based on the information regarding the position of the workpiece Wk (for example, the position shown in FIG. 7).
  • the position PS3 of the misaligned workpiece Wk11) and the set position of the workpiece Wk with respect to the welding robot MC1 (for example, the position of the workpiece Wk included in the workpiece information of the workpiece Wk, and the position PS2 of the normal workpiece Wk10 shown in FIG. 7) ), the positional deviation amount of the workpiece Wk is calculated, based on the positional deviation amount of the workpiece Wk, the positions of the teaching points of the plurality of teaching programs used by the welding robot MC1 for production are corrected, and the positions of the teaching points of the plurality of teaching programs used for production are corrected.
  • the teaching program is sent to the robot control device 2.
  • the robot control device 2 controls the welding robot MC1 using a plurality of modified teaching programs.
  • the welding system 100A including the offline teaching device 5 in the modified example of the first embodiment can be configured to use a plurality of teaching programs even when one welding robot MC1 produces a workpiece Wk using a plurality of teaching programs.
  • the positions of the included teaching points can be corrected more efficiently.
  • the offline teaching device 5 can correct all the teaching programs used for producing the workpiece Wk at once by calculating the positional deviation amount of the workpiece Wk, thereby effectively reducing the reduction in production efficiency of the workpiece Wk. It is possible to suppress the production of workpieces Wk of higher quality.
  • the present disclosure is useful as an offline teaching device and an offline teaching system that are used by the same robot to more efficiently modify the teaching points of teaching programs for performing different tasks.
  • Robot control section 1 Host device 2 Robot control device 3 Inspection control device 4 Sensor 5 Off-line teaching device 10, 20, 30, 50 Communication section 11, 21, 31, 51 Processor 12, 22, 32, 52 Memory 23 Main welding program creation section 24 Scan Program creation section 25 Robot control section 26 Power supply control section 100, 100A Welding system 200 Manipulator 300 Wire feeding device 301 Welding wire 400 Welding torch 500 Power supply AP Alignment pattern MC1 Welding robot MN1, MN2, MN3 Monitor UI1, UI3 Input interface Wk Workpiece Wk10 Normal workpiece Wk11 Misaligned workpiece

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Plasma & Fusion (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

ロボット制御装置は、溶接により生産するワークの位置に関する情報を取得する取得部と、生産を行うロボットを基準とするワークの設定位置を記憶する記憶部と、ワークの位置に関する情報に基づくワークの実測位置と、ワークの設定位置とに基づいて、ワークの位置ずれ量を算出する算出部と、ワークの位置ずれ量に基づいて、ロボットが生産で用いる複数の教示プログラムの教示点の位置を修正する修正部と、修正後の複数の教示プログラムを用いて、ロボットを制御する制御部と、を備える。

Description

ロボット制御装置およびオフライン教示システム
 本開示は、ロボット制御装置およびオフライン教示システムに関する。
 特許文献1には、モデル図に、ティーチングプログラムを実行したときのロボットの動作軌跡を表示し、複数の位置検出命令の一部および複数の溶接命令の一部を表示するオフラインティーチング装置が開示されている。オフラインティーチング装置は、ティーチングプログラムとモデル図とを表示する表示部と、ティーチングプログラムを構成する命令と、モデル図のモデルデータとを記憶する記憶部と、表示部および記憶部を制御する制御部と、を備える。ティーチングプログラムは、複数の位置検出命令で構成される位置検出プログラム、および、複数の溶接命令で構成される溶接プログラムを含む。ここで、ティーチングプログラムを構成する命令、位置検出プログラムおよび溶接プログラムのそれぞれは、作業者により作成される。
国際公開第2016/021130号
 本開示は、同一のロボットで使用され、それぞれ異なる作業を実行するための教示プログラムの教示点をより効率的に修正するロボット制御装置およびオフライン教示システムを提供する。
 本開示は、溶接により生産するワークの位置に関する情報を取得する取得部と、前記生産を行うロボットを基準とする前記ワークの設定位置を記憶する記憶部と、前記ワークの位置に関する情報に基づく前記ワークの実測位置と、前記ワークの設定位置とに基づいて、前記ワークの位置ずれ量を算出する算出部と、前記ワークの位置ずれ量に基づいて、前記ロボットが前記生産で用いる複数の教示プログラムの教示点の位置を修正する修正部と、修正後の前記複数の教示プログラムを用いて、前記ロボットを制御する制御部と、を備える、ロボット制御装置を提供する。
 また、本開示は、溶接によりワークを生産するロボットを制御するロボット制御装置と、前記ロボット制御装置との間で通信可能に接続され、仮想空間上に前記ワークと前記ロボットとを構築するオフライン教示装置と、を備えるオフライン教示システムであって、前記オフライン教示装置は、前記ワークの位置に関する情報を取得し、前記ワークの位置に関する情報に基づく前記ワークの実測位置と、前記ロボットを基準とする前記ワークの設定位置とに基づいて、前記ワークの位置ずれ量を算出し、前記ワークの位置ずれ量に基づいて、前記ロボットが前記生産で用いる複数の教示プログラムの教示点の位置を修正し、修正後の前記複数の教示プログラムを前記ロボット制御装置に送信し、前記ロボット制御装置は、修正後の前記複数の教示プログラムを用いて、前記ロボットを制御する、オフライン教示システムを提供する。
 本開示によれば、同一のロボットで使用され、それぞれ異なる作業を実行するための教示プログラムの教示点をより効率的に修正できる。
実施の形態1および実施の形態1の変形例に係る溶接システムのシステム構成例を示す概略図 実施の形態1および実施の形態1の変形例に係る上位装置、ロボット制御装置、検査制御装置、およびオフライン教示装置の内部構成例を示す図 ロボット座標系とワークとの関係を説明する図 アライメントパターンの一例を説明する図 アライメントパターンの読み取り例を説明する図 ワークのスキャン例を説明する図 溶接ロボットに対するワークの位置ずれ量の算出例を説明する図 実施の形態1におけるロボット制御装置による教示プログラムの補正手順例を説明するフローチャート 実施の形態1の変形例におけるロボット制御装置およびオフライン教示装置による教示プログラムの補正手順例を説明するシーケンス図
(本開示に至る経緯)
 特許文献1のように、従来、オフライン教示装置を用いて、溶接ロボット等のロボットに、作業の作業手順、動作軌跡等を含む教示プログラム(例えば、位置検出プログラム、溶接プログラム等)を教示するオフラインティーチング装置がある。ロボットは、作業指示に基づいて、作業指示に対応する各種プログラムを読み出すことで作業を実行する。
 動作軌跡は、ロボットが通過,到達すべき位置を示す教示点の位置を含む。一般的に、教示点は、ロボットに対する相対位置(つまり、ロボットの座標系を基準とする位置)が記録される。よって、ロボットに対する作業対象物(以降、「ワーク」と表記)の位置に位置ずれがあり、教示点の位置修正がされない場合には、ロボットは、ワークの加工点に到達できない等の課題があった。したがって、教示点の位置修正は、位置ずれの形態に合わせて行われることが望ましい。しかし、教示点の数は、ワークによって数百~数千個になることがあるため、修正に要する工数が極めて大きいという課題があった。
 1台のロボットでワークを生産する場合、ロボットは、それぞれ異なる複数の教示プログラムを用いて、各作業工程を実行する。このような場合、ロボットは、ロボットにより使用されるすべての教示プログラムの教示点の位置修正が終わるまでワークの生産を行うことができず、生産性が低下する可能性があった。
 また、従来、ロボットは、ワークの位置ずれ量を算出するために接触型のセンサ、あるいはカメラ等を用いてワークの位置を計測することがあった。しかし、接触型のセンサは、ワークの表面が平らな水平面である場合、ワークに接触したか否かの判定が難しく、ワークの位置が計測できないことがあった。カメラを用いてワークを撮像する場合、ロボットは、ワークの位置の計測および教示プログラムの修正を行うたびにカメラを取り付け,取り外しによってワークの生産を停止する必要があり、教示点の位置修正を実行できる条件が限られるという課題があった。
 以下、適宜図面を参照しながら、本開示に係るロボット制御装置およびオフライン教示システムを具体的に開示した各実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
 以下、本溶接される対象物(例えば金属)を「元ワーク」、本溶接により生産(製造)された対象物を「ワーク」とそれぞれ定義する。「ワーク」は、1回の本溶接により生産されたワークに限らず、2回以上の本溶接により生産された複合的なワークであってもよい。また、元ワークと他の元ワークとが溶接ロボットにより接合等されてワークを生産する工程を「本溶接」と定義する。
(実施の形態1)
 図1は、実施の形態1および実施の形態1の変形例に係る溶接システム100,100Aのシステム構成例を示す概略図である。まず、実施の形態1に係る溶接システム100の構成について説明する。なお、実施の形態1の変形例に係る溶接システム100Aは、オフライン教示装置5、モニタMN3、および入力インターフェースUI3を含まない構成であるため、ここでは説明を省略する。
 実施の形態1に係る溶接システム100は、外部ストレージST、入力インターフェースUI1およびモニタMN1のそれぞれと接続された上位装置1と、ロボット制御装置2と、検査制御装置3と、センサ4と、溶接ロボットMC1と、モニタMN2とを含む構成である。なお、ティーチペンダントTP1は必須の構成でなく、省略されてもよい。モニタMN2は、必須の構成でなく、省略されてもよい。
 上位装置1は、ロボット制御装置2を介して溶接ロボットMC1により実行される本溶接の開始および完了を統括して制御する。例えば、上位装置1は、ユーザ(例えば、溶接作業者あるいはシステム管理者。以下同様。)により予め入力あるいは設定された溶接関連情報を外部ストレージSTから読み出し、溶接関連情報を用いて、溶接関連情報の内容を含めた本溶接の実行指令を生成して対応するロボット制御装置2に送信する。上位装置1は、溶接ロボットMC1による本溶接が完了した場合に、溶接ロボットMC1による本溶接が完了した旨の本溶接完了報告をロボット制御装置2から受信し、対応する本溶接が完了した旨のステータスに更新して外部ストレージSTに記録する。
 なお、上述した本溶接の実行指令は上位装置1により生成されることに限定されず、例えば本溶接が行われる工場等内の設備の操作盤(例えばPLC:Programmable Logic Controller)、あるいはロボット制御装置2の操作盤(例えば、ティーチペンダントTP1)により生成されてもよい。なお、ティーチペンダントTP1は、ロボット制御装置2に接続された溶接ロボットMC1を操作するための装置である。
 また、上位装置1は、ロボット制御装置2、検査制御装置3およびセンサ4を用いたビード外観検査の開始および完了を統括して制御する。例えば、上位装置1は、ロボット制御装置2から本溶接完了報告を受信すると、溶接ロボットMC1により生産されたワークのビード外観検査の実行指令を生成してロボット制御装置2および検査制御装置3のそれぞれに送信する。上位装置1は、ビード外観検査が完了した場合に、ビード外観検査が完了した旨の外観検査報告を検査制御装置3から受信し、対応するビード外観検査が完了した旨のステータスに更新して外部ストレージSTに記録する。
 ここで、溶接関連情報とは、溶接ロボットMC1により実行される本溶接の内容を示す情報であり、本溶接の工程ごとに予め作成されて外部ストレージSTに登録されている。溶接関連情報は、例えば本溶接に使用される元ワークの数と、本溶接に使用される元ワークのID、元ワークのロット情報、名前および溶接箇所(例えば、溶接線の情報、溶接線の位置情報等)を含むワーク情報と、本溶接が実行される実行予定日と、元ワークの生産台数と、本溶接時の各種の溶接条件と、を含む。なお、溶接関連情報は、上述した項目のデータに限定されず、作成済みの溶接動作およびスキャン動作の教示プログラムのそれぞれ(後述参照)、これらの教示プログラムの作成に用いられた溶接動作設定情報、スキャン動作設定情報等の情報をさらに含んでもよい。
 ここでいう溶接動作設定情報は、本溶接の各種溶接条件、溶接開始前および溶接終了後のそれぞれの溶接トーチ400の退避位置等の溶接動作に必要な各種パラメータ群であればよい。
 また、ここでいうスキャン動作設定情報は、センサ4とワークWkとの間の距離、センサ4の情報(例えば、スキャン有効範囲AR(図6参照)等)、測定レンジ、アプローチ情報、スキャンの助走(空走)区間、スキャン区間、リトラクト情報(例えば、リトラクト開始位置およびリトラクト終了位置の情報、リトラクトを指示する指示情報等)、回避情報等の溶接ビード、あるいは他の外観検査対象のスキャン動作、ワークWkの位置計測のための外観スキャンに必要な各種パラメータ群であればよい。
 また、溶接条件は、例えば元ワークの材質および厚み、溶接ワイヤ301の材質およびワイヤ径、シールドガス種、シールドガスの流量、溶接電流の設定平均値、溶接電圧の設定平均値、溶接ワイヤ301の送給速度および送給量、溶接回数、溶接時間等である。また、これらの他に、例えば本溶接の種別(例えばTIG溶接、MAG溶接、パルス溶接)を示す情報、マニピュレータ200の移動速度および移動時間が含まれても構わない。
 ロボット制御装置2は、上位装置1から送信された本溶接の実行指令に基づいて、その実行指令で指定される元ワークを用いた本溶接の実行を溶接ロボットMC1に開始させる。なお、上述した溶接関連情報は、上位装置1が外部ストレージSTを参照して管理することに限定されず、例えばロボット制御装置2において管理されてもよい。この場合、ロボット制御装置2は本溶接が完了した状態を把握できるので、溶接関連情報のうち溶接工程が実行される予定の実行予定日の代わりに実際の実行日が管理されてよい。なお、本明細書において、本溶接の種類は問わないが、説明を分かり易くするために、複数の元ワークを接合して1つのワークを生産する工程を例示して説明する。
 上位装置1は、モニタMN1、入力インターフェースUI1および外部ストレージSTのそれぞれとの間でデータの入出力が可能となるように接続され、さらに、ロボット制御装置2および検査制御装置3との間でデータの通信が可能となるように接続される。上位装置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は、ロボット制御装置2によって作成された溶接動作の教示プログラムと、スキャン動作の教示プログラムとを溶接線ごとに記憶していてもよい。溶接動作およびスキャン動作の教示プログラムのそれぞれについては、後述する。
 ロボット制御装置2は、上位装置1およびとの間でそれぞれデータの通信が可能に接続されるとともに、溶接ロボットMC1との間でデータの通信が可能に接続される。ロボット制御装置2は、上位装置1から送信された本溶接の実行指令を受信すると、この実行指令に対応する溶接動作の教示プログラムに基づいて、本溶接プログラムを作成し、溶接ロボットMC1を制御して本溶接を実行させる。
 ロボット制御装置2は、本溶接の完了を検出すると本溶接が完了した旨の本溶接完了報告を生成して上位装置1に通知する。これにより、上位装置1は、ロボット制御装置2による本溶接の完了を適正に検出できる。なお、ロボット制御装置2による本溶接の完了の検出方法は、例えばワイヤ送給装置300が備えるセンサ(図示略)からの本溶接の完了を示す信号に基づいて判別する方法でよく、あるいは公知の方法でもよく、本溶接の完了の検出方法の内容は限定されなくてよい。
 ロボット制御装置2は、上位装置1、および検査制御装置3との間でそれぞれデータの通信が可能に接続されるとともに、溶接ロボットMC1との間でデータの通信が可能に接続される。ロボット制御装置2は、上位装置1から送信された本溶接の実行指令を受信すると、ワークWkとの間の位置ずれ量を計測する。ロボット制御装置2は、計測されたワークWkの位置ずれ量に基づいて、スキャン動作の教示プログラムに含まれる教示点のそれぞれの位置を修正したり、溶接動作の教示プログラムに含まれる教示点のそれぞれの位置を修正したりする。ロボット制御装置2は、修正後の溶接動作の教示プログラムを用いて本溶接プログラムを作成し、作成された本溶接プログラムに基づいて、溶接ロボットMC1を制御して本溶接を実行させる。
 ロボット制御装置2は、上位装置1から送信されたビード外観検査の実行指令を受信すると、この実行指令に対応するスキャン動作の教示プログラムに基づいて、スキャンプログラムを作成し、溶接ロボットMC1(図2参照)を制御して溶接ビードの外観検査を実行させる。
 また、ロボット制御装置2は、上位装置1から送信されたワークWkのスキャン実行指令を受信すると、センサ4が取り付けられた溶接ロボットMC1(図2参照)を制御して、ワークWkの外観形状を取得する外観スキャンを実行する。
 ロボット制御装置2は、この実行指令に対応するスキャン動作の教示プログラムに基づいて、センサ4が取り付けられた溶接ロボットMC1(図2参照)を制御して、ワークWkに生成された溶接ビードの外観検査を実行する。なお、ビード外観検査が完了した旨の外観検査報告は検査制御装置3から上位装置1に送信されるが、ロボット制御装置2自ら、あるいは検査制御装置3からの指示を受けたロボット制御装置2から上位装置1に送信されてもよい。これにより、上位装置1は、ビード外観検査の完了を適切に検出できる。
 ロボットの一例としての溶接ロボットMC1は、ロボット制御装置2との間でデータの通信が可能に接続される。溶接ロボットMC1は、対応するロボット制御装置2の制御の下で、上位装置1から指令された本溶接を実行する。また、溶接ロボットMC1は、スキャン動作の教示プログラムに基づいてセンサ4を移動することで、上位装置1から指令されたビード外観検査(外観スキャン)を実行する。
 検査制御装置3は、上位装置1、ロボット制御装置2、およびセンサ4のそれぞれとの間でデータの通信が可能に接続される。検査制御装置3は、上位装置1から送信されたビード外観検査の実行指令を受信すると、対応するワークWkのスキャン動作の教示プログラムに従い、溶接ロボットMC1により生産されたワークWkの溶接箇所(つまり、溶接ビード)のビード外観検査(例えば、ワークに形成された溶接ビードが予め既定された溶接基準を満たすか否かの検査)を、溶接ロボットMC1が備えるセンサ4とともに実行する。検査制御装置3は、スキャン動作の結果、センサ4により取得された溶接ビードの形状に関する3次元形状データ(例えば、溶接ビードの3次元形状を特定可能な点群データ)を用いて、ワークごとに予め既定された良品ワークのマスタデータとの比較に基づいてビード外観検査を行う。
 検査制御装置3は、ビード外観検査を行い、このビード外観検査の検査判定結果とビード外観検査が完了した旨の通知とを含む外観検査報告を生成して上位装置1に送信するとともに、モニタMN2に出力する。なお、検査制御装置3は、ワークのビード外観検査において欠陥を検知したと判定した場合に、その欠陥をリペア溶接するための欠陥区間の情報を含む外観検査結果を含む外観検査報告を生成して、上位装置1に送信する。また、検査制御装置3は、ワークのビード外観検査によって欠陥を検知したと判定した場合に、欠陥区間の情報を含む外観検査結果を用いて、欠陥箇所の補修等の修正を行う旨のリペア溶接プログラムを作成する。検査制御装置3は、このリペア溶接プログラムと外観検査結果とを対応付けて上位装置1に送信する。
 また、検査制御装置3は、上位装置1を介して送信されたワークWkをスキャンする外観スキャンの実行指令に基づいて、ワークWkの外観をスキャンする。検査制御装置3は、外観スキャンの結果、センサ4により取得されたワークWkの形状に関する3次元形状データ(例えば、ワークWkの3次元形状を特定可能な点群データ)をロボット制御装置2に送信する。
 センサ4は、検査制御装置3との間でデータの通信が可能に接続される。センサ4は、溶接ロボットMC1に取り付けられ、ロボット制御装置2の制御に基づくマニピュレータ200の駆動に応じて、ステージSTG(図3参照)上に載置されたワークWkの3次元スキャンを実行する。センサ4は、ロボット制御装置2の制御に基づくマニピュレータ200の駆動に応じて、ステージSTGに置かれたワークWkの位置等を特定可能なワークWkの3次元形状データ(例えば、点群データ、メッシュデータ等)を取得して検査制御装置3に送信する。
 モニタMN2は、例えばLCDまたは有機EL等の表示用デバイスを用いて構成されてよい。モニタMN2は、例えば検査制御装置3から出力された、ビード外観検査が完了した旨の通知、あるいはその通知とビード外観検査の結果とを示す画面を表示する。また、モニタMN2の代わりに、あるいはモニタMN2とともにスピーカ(図示略)が検査制御装置3に接続されてもよく、検査制御装置3は、ビード外観検査が完了した旨の通知、あるいはその通知およびビード外観検査結果の内容を示す音声を、スピーカを介して出力してもよい。
 ここで、溶接線の位置情報は、本溶接工程においてワークWkに溶接される溶接線の位置を示す情報である。
 また、溶接動作の教示プログラムは、溶接線の位置に基づいて作成され、溶接ロボットMC1に本溶接を実行させるためのプログラムである。溶接動作の教示プログラムは、溶接トーチ400を用いてワークWkを本溶接するための各種動作(例えば、アプローチ、リトラクト、回避、溶接等)を実行するための教示点の位置、距離、角度(姿勢)の情報と、溶接条件等の情報と、を含んで作成される。なお、溶接動作の教示プログラムは、溶接線ごとに生成されてもよいし、任意の数の溶接線のそれぞれの本溶接を実行可能に生成されてもよい。
 また、ここでいうスキャン動作の教示プログラムは、溶接線に基づいて作成され、溶接ロボットMC1に本溶接により作成された少なくとも1つの溶接ビードのビード外観検査を実行させるためのプログラムである。スキャン動作の教示プログラムは、センサ4を用いて、作成された溶接ビードのビード外観検査を実行するための各種動作(例えば、アプローチ、リトラクト、回避、スキャン等)を実行するための教示点の位置、距離、角度(姿勢)の情報を含んで作成される。
 ティーチペンダントTP1は、ロボット制御装置2との間でデータ送受信可能に接続される。ティーチペンダントTP1は、実際の溶接ロボットMC1とワークWkとを用いたユーザ操作によって定義された溶接線の位置情報をロボット制御装置2に送信する。ロボット制御装置2は、ティーチペンダントTP1から送信された溶接線の位置情報をメモリ22(図2参照)に記憶するとともに、ロボット制御装置2に送信する。
 図2は、実施の形態1および実施の形態1の変形例に係る上位装置1、ロボット制御装置2、検査制御装置3、およびオフライン教示装置5の内部構成例を示す図である。説明を分かり易くするために、図2ではモニタMN1,MN2および入力インターフェースUI1,UI3等の図示を省略する。ここでは、実施の形態1に係る溶接システム100の各構成の内部構成例について説明する。また、実施の形態1の変形例に係る溶接システム100Aは、オフライン教示装置5、モニタMN3、および入力インターフェースUI3を含まない構成であるため、ここでは説明を省略する。
 溶接ロボットMC1は、ロボット制御装置2の制御の下で、溶接トーチ400を用いた溶接動作の教示プログラムに基づく本溶接工程を実行する。溶接ロボットMC1は、本溶接の工程において、例えばアーク溶接を行う。しかし、溶接ロボットMC1は、アーク溶接以外の他の溶接(例えば、レーザ溶接、ガス溶接)等を行ってもよい。この場合、図示は省略するが、溶接トーチ400に代わって、レーザヘッドを、光ファイバを介してレーザ発振器に接続してよい。溶接ロボットMC1は、マニピュレータ200と、ワイヤ送給装置300と、溶接ワイヤ301と、溶接トーチ400とを少なくとも含む構成である。
 マニピュレータ200は、多関節のアームを備え、ロボット制御装置2のロボット制御部25からの制御信号に基づいて、それぞれのアームを可動させる。これにより、マニピュレータ200は、ワークWkに対する溶接トーチ400との位置関係(例えば、溶接ロボットMC1に対する溶接トーチ400の角度)をアームの駆動によって変更できる。
 ワイヤ送給装置300は、ロボット制御装置2からの制御信号に基づいて、溶接ワイヤ301の送給速度を制御する。なお、ワイヤ送給装置300は、溶接ワイヤ301の残量を検出可能なセンサ(図示略)を備えてよい。ロボット制御装置2は、このセンサの出力に基づいて、本溶接の工程が完了したことを検出できる。
 溶接ワイヤ301は、溶接トーチ400に保持され、溶接トーチ400に電源装置500から電力が供給されることで、溶接ワイヤ301の先端とワークWkとの間にアークが発生し、アーク溶接が行われる。なお、溶接トーチ400にシールドガスを供給するための構成等は、説明の便宜上、これらの図示および説明を省略する。
 上位装置1は、ユーザにより予め入力あるいは設定された溶接関連情報を用いて、本溶接、またはビード外観検査の各種の工程の実行指令を生成してロボット制御装置2に送信する。上位装置1は、通信部10と、プロセッサ11と、メモリ12とを少なくとも含む構成である。
 通信部10は、ロボット制御装置2、検査制御装置3、および外部ストレージSTのそれぞれとの間でデータの通信が可能に接続される。通信部10は、プロセッサ11により生成される本溶接、またはビード外観検査の各種の工程の実行指令をロボット制御装置2あるいは検査制御装置3に送信する。通信部10は、ロボット制御装置2から送られる本溶接完了報告、検査制御装置3から送られる外観検査報告を受信してプロセッサ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から読み出された溶接関連情報のデータ、ワークのステータス等をそれぞれ記憶する。
 セル制御部13は、外部ストレージSTに記憶されている溶接関連情報に基づいて、本溶接、ワークWkのビード外観検査、ワークWkの外観スキャン、あるいはリペア溶接を実行するための実行指令を作成する。また、セル制御部13は、外部ストレージSTに記憶されている溶接関連情報と、ロボット制御装置2から送信された溶接動作およびスキャン動作の教示プログラムのそれぞれとに基づいて、本溶接時の本溶接プログラム、ワークWkの位置ずれ量の計測時あるいはワークWkのビード外観検査時の溶接ロボットMC1の駆動に関するスキャンプログラム等を作成する。さらに、セル制御部13は、作成されたこれらのプログラムの実行指令を作成する。なお、ワークWkの外観スキャン(位置計測)、あるいはワークWkの溶接ビードの外観検査を実行するためのスキャンプログラムは、予めワークWkごとに作成されて外部ストレージSTに保存されていてもよく、この場合には、セル制御部13は、外部ストレージSTから各種プログラムを読み出して取得する。セル制御部13は、溶接ロボットMC1で実行される本溶接の各種の工程ごとに異なる実行指令を生成してよい。セル制御部13によって生成された本溶接外観検査、外観スキャンの実行指令は、通信部10を介して、対応するロボット制御装置2あるいは検査制御装置3のそれぞれに送られる。
 ロボット制御装置2は、上位装置1から送信された本溶接、ビード外観検査、あるいは外観スキャンの実行指令に基づいて、対応するプログラムを参照する。ロボット制御装置2は、参照されたプログラムに基づいて、溶接ロボットMC1(例えば、マニピュレータ200、ワイヤ送給装置300、電源装置500)を制御する。ロボット制御装置2は、通信部20と、プロセッサ21と、メモリ22とを少なくとも含む構成である。
 取得部の一例としての通信部20は、上位装置1、溶接ロボットMC1、検査制御装置3およびティーチペンダントTP1との間でそれぞれデータの通信が可能に接続される。なお、図2では図示を簡略化しているが、ロボット制御部25とマニピュレータ200との間、ロボット制御部25とワイヤ送給装置300との間、ならびに、電源制御部26と電源装置500との間で、それぞれ通信部20を介してデータの送受信が行われる。通信部20は、上位装置1から送信された本溶接、あるいはビード外観検査の実行指令を受信する。通信部20は、ティーチペンダントTP1から送信された溶接線の位置情報と、溶接動作の教示プログラムと、スキャン動作の教示プログラムとを受信する。通信部20は、本溶接により生産されたワークWkのワーク情報を上位装置1に送信する。
 ここで、ワーク情報には、ワークのIDだけでなく、本溶接に使用される元ワークのID、名前、溶接箇所、本溶接の実行時の溶接条件が少なくとも含まれる。
 算出部および修正部の一例としてのプロセッサ21は、例えばCPUまたはFPGAを用いて構成され、メモリ22と協働して、各種の処理および制御を行う。具体的には、プロセッサ21は、メモリ22に保持されたプログラムを参照し、そのプログラムを実行することにより、本溶接プログラム作成部23、スキャンプログラム作成部24、ロボット制御部25および電源制御部26を機能的に実現する。また、プロセッサ21は、溶接動作の教示プログラムを用いて、本溶接プログラム作成部23により生成された本溶接プログラムに基づいて、ロボット制御部25により制御される溶接ロボットMC1(具体的には、マニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれ)を制御するためのパラメータの演算等を行う。
 また、プロセッサ21は、センサ4により取得されたワークWkの形状と、溶接ロボットMC1の溶接トーチ400あるいはアライメントパターンAP(図4参照)の形状とに基づいて、ワークWkの位置ずれ量(距離および角度)と、溶接ロボットMC1の位置ずれ量(距離および角度)とをそれぞれ算出する。プロセッサ21は、算出されたワークWkの位置ずれ量に基づいて、スキャン動作の教示プログラムに含まれる複数の教示点のそれぞれの位置を修正する。
 また、プロセッサ21は、算出されたワークWkの位置ずれ量に基づいて、溶接動作およびスキャン動作の教示プログラムに含まれる教示点のそれぞれの位置を修正する。プロセッサ21は、修正後の溶接動作の教示プログラムを本溶接プログラム作成部23に出力する。プロセッサ21は、修正後のスキャン動作の教示プログラムをスキャンプログラム作成部24に出力する。
 記憶部の一例としてのメモリ22は、例えばプロセッサ21の処理を実行する際に用いられるワークメモリとしてのRAMと、プロセッサ21の処理を規定したプログラムを格納するROMとを有する。RAMには、プロセッサ21により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ21の処理を規定するプログラムが書き込まれている。また、メモリ22は、上位装置1から送信された本溶接、ビード外観検査、あるいは外観スキャンの実行指令のデータ、本溶接により生産されるワークWkのワーク情報と溶接線の位置情報とを対応付けた溶接関連情報、ティーチペンダントTP1から送信された溶接線の位置情報等をそれぞれ記憶する。なお、ワークWkのワーク情報を含む溶接関連情報は、溶接動作およびスキャン動作の教示プログラムと、溶接動作およびスキャン動作のそれぞれの教示プログラムの作成に用いられた溶接線の位置情報と、溶接動作設定情報と、を含んでいてよい。
 本溶接プログラム作成部23は、通信部20を介して上位装置1から送信された本溶接の実行指令に基づいて、実行指令に含まれる複数の元ワークのそれぞれのワーク情報(例えばワークのID、名前、構成部品(元ワーク,部品等)の情報、溶接線の位置情報等)と、これらのワーク情報に関連付けられた溶接動作の教示プログラムとを用いて、溶接ロボットMC1により実行される本溶接の本溶接プログラムを作成する。また、本溶接プログラム作成部23は、プロセッサ21から教示点の位置が修正された後の溶接動作の教示プログラムを取得した場合には、取得された溶接動作の教示プログラムに基づいて、本溶接の本溶接プログラムを作成する。
 本溶接プログラムには、本溶接の実行中に電源装置500、マニピュレータ200、ワイヤ送給装置300、溶接トーチ400等を制御するための、溶接電流、溶接電圧、オフセット量、溶接速度、溶接トーチ400の姿勢角度等の各種のパラメータが含まれてよい。なお、本溶接プログラムは、プロセッサ21内に記憶されてもよいし、メモリ22内のRAMに記憶されてもよい。
 スキャンプログラム作成部24は、通信部20を介して上位装置1から送信された外観スキャンあるいは外観検査の実行指令に基づいて、実行指令に含まれる複数の元ワークのそれぞれのワーク情報(例えばワークのID、名前、構成部品(元ワーク,部品等)の情報、溶接線の位置情報等)と、これらのワーク情報に関連付けられたスキャン動作の教示プログラムとを用いて、溶接ロボットMC1により実行されるワークWkの外観スキャンあるいはビード外観検査のスキャンプログラムを作成する。また、スキャンプログラム作成部24は、プロセッサ21から教示点の位置が修正されたスキャン動作の教示プログラムを取得した場合には、取得された溶接動作の教示プログラムに基づいて、スキャンプログラムを作成する。
 制御部の一例としてのロボット制御部25は、本溶接プログラム作成部23により生成された本溶接プログラムに基づいて、溶接ロボットMC1(具体的には、マニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれ)を駆動させるための制御信号を生成する。ロボット制御部25は、この生成された制御信号を溶接ロボットMC1に送信する。
 また、ロボット制御部25は、スキャンプログラム作成部24により生成されたスキャンプログラムに基づいて、溶接ロボットMC1(具体的には、センサ4、マニピュレータ200)を駆動させるための制御信号を生成する。ロボット制御部25は、この生成された制御信号を溶接ロボットMC1に送信する。
 また、ロボット制御部25は、ティーチペンダントTP1から送信されたスキャン動作の教示プログラム(つまり、スキャンプログラム)に基づいて、溶接ロボットMC1のマニピュレータ200およびセンサ4のそれぞれを駆動させる。これにより、溶接ロボットMC1に取り付けられたセンサ4は、ワークWk(つまり、ワークWkを構成する複数の元ワーク)の外観、ワークWkに取り付けられたアライメントパターンAP(図4参照)、溶接ビード等をスキャンすることで、ワークWk、アライメントパターンAP、あるいは溶接ビードの形状を取得できる。
 電源制御部26は、本溶接プログラム作成部23により生成された本溶接プログラムの演算結果に基づいて、電源装置500を駆動させる。
 なお、図1において、センサ4によりスキャンされた3次元形状データは、検査制御装置3に送信される構成を示すが、図3に示すようにセンサ4からロボット制御装置2に直接的に送信可能な構成であってもよい。このような場合、センサ4は、ロボット制御装置2の通信部20との間でデータ送受信可能に接続され、ワークWkの外観形状に関する3次元形状データ、あるいはアライメントパターンAPの形状に関する3次元形状データをロボット制御装置2に送信する。
 検査制御装置3は、上位装置1から送信されたビード外観検査の実行指令に基づいて、溶接ロボットMC1による本溶接により生産されたワークWk、あるいは1回以上のリペア溶接によりリペアされたワークWkのビード外観検査および外観スキャンのそれぞれの処理を制御する。ビード外観検査は、例えば、ワークWkに形成された溶接ビードが既定の溶接基準(例えば、ユーザのそれぞれにより要求される溶接の品質基準)を満たすか否かの検査であり、上述した検査判定により構成される。検査制御装置3は、センサ4により取得された溶接ビードの形状に関する3次元形状データ(例えば、溶接ビードの3次元形状を特定可能な点群データ)に基づいて、ワークWkに形成された溶接ビードの外観形状が所定の溶接基準を満たすか否かを判定(検査)する。また、検査制御装置3は、センサ4により取得された溶接ビードの形状に関する3次元形状データ、あるいはワークWkの形状に関する3次元形状データをロボット制御装置2に送信する。検査制御装置3は、通信部30と、プロセッサ31と、メモリ32と、検査結果記憶部33と、を少なくとも含む構成である。
 通信部30は、上位装置1、ロボット制御装置2、およびセンサ4との間でそれぞれデータの通信が可能に接続される。なお、図2では図示を簡略化しているが、形状検出制御部35とセンサ4との間は、それぞれ通信部30を介してデータの送受信が行われる。通信部30は、上位装置1から送信されたビード外観検査の実行指令を受信する。通信部30は、センサ4を用いたビード外観検査の検査判定結果を上位装置1に送信したり、センサ4により取得された溶接ビードの3次元形状のデータをロボット制御装置2に送信したりする。
 プロセッサ31は、例えばCPUまたはFPGAを用いて構成され、メモリ32と協働して、各種の処理および制御を行う。具体的には、プロセッサ31は、メモリ32に保持されたプログラムを参照し、そのプログラムを実行することにより、判定閾値記憶部34、形状検出制御部35、データ処理部36、検査結果判定部37、およびリペア溶接プログラム作成部38等の機能を実現する。
 メモリ32は、例えばプロセッサ31の処理を実行する際に用いられるワークメモリとしてのRAMと、プロセッサ31の処理を規定したプログラムを格納するROMとを有する。RAMには、プロセッサ31により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ31の処理を規定するプログラムが書き込まれている。
 検査結果記憶部33は、例えばハードディスクあるいはソリッドステートドライブを用いて構成される。検査結果記憶部33は、プロセッサ31により生成あるいは取得されるデータの一例として、ワークWk(例えばワークあるいはリペアワーク)における溶接箇所のビード外観検査の結果を示すデータを記憶する。このビード外観検査の結果を示すデータは、例えば検査結果判定部37により生成される。
 判定閾値記憶部34は、例えばプロセッサ31内に設けられたキャッシュメモリにより構成され、ユーザ操作によって予め設定され、溶接箇所と、検査結果判定部37によるビード外観検査の処理とに対応するそれぞれの閾値(例えば、溶接不良の種別ごとに設定されたそれぞれの閾値)の情報を記憶する。それぞれの閾値は、例えば溶接ビードの位置ずれの許容範囲、溶接ビードの長さ、高さ、幅のそれぞれの閾値、穴あき、ピット、アンダーカット、スパッタのそれぞれの閾値である。判定閾値記憶部34は、リペア溶接後のビード外観検査時の各閾値として、顧客等から要求される最低限の溶接基準(品質)を満たす許容範囲(例えば、最小許容値、最大許容値など)を記憶してよい。なお、これらの閾値は、検査結果判定部37よって作成された検査結果がビード外観検査に合格であるか否かを判定する処理に用いられる。さらに、判定閾値記憶部34は、溶接箇所ごとにビード外観検査の回数上限値を記憶してもよい。これにより、検査制御装置3は、リペア溶接によって不良箇所を修正する際に所定の回数上限値を上回る場合に、溶接ロボットMC1による自動リペア溶接による不良箇所の修正が困難あるいは不可能と判定して、溶接システム100の稼動率の低下を抑制できる。
 形状検出制御部35は、上位装置1から送信されたワークWk(例えばワーク)の溶接箇所のビード外観検査の実行指令に基づいて、センサ4により取得され、送信された溶接ビードの形状に関する3次元形状データ(例えば溶接ビードの3次元形状を特定可能な点群データ)を取得する。また、形状検出制御部35は、上位装置1から送信されたワークWk(例えばワーク)の外観スキャンの実行指令に基づいて、センサ4により取得され、送信されたワークWkの形状に関する3次元形状データ(例えばワークWkの3次元形状を特定可能な点群データ)を取得する。具体的に、形状検出制御部35は、上述したロボット制御装置2によるマニピュレータ200の駆動に応じてセンサ4が溶接ビードあるいはワークWkを撮像可能(言い換えると、溶接箇所あるいはワークWkの3次元形状を検出可能)な位置に到達すると、例えばレーザ光線をセンサ4から照射させて溶接ビードあるいはワークWkの形状に関する3次元形状データを取得させる。形状検出制御部35は、センサ4により取得された3次元形状データ(上述参照)を受信すると、この3次元形状データをデータ処理部36に渡す。
 データ処理部36は、形状検出制御部35からの溶接ビードの形状に関する3次元形状データ(上述参照)を取得すると、検査結果判定部37で実行される各種検査判定に適したデータ形式に変換する。データ形式の変換は、いわゆる前処理として、3次元形状データ(つまり点群データ)に含まれる不要な点群データ(例えばノイズ)が除去される修正処理が実行されてもよいし、前処理が省略されてもよい。データ処理部36は、例えば入力された形状データに対して統計処理を実行することで、溶接ビードの3次元形状を示す画像データを生成する。なお、データ処理部36は、検査判定用のデータとして、溶接ビードの位置および形状を強調するために溶接ビードの周縁部分を強調したエッジ強調修正を行ってもよい。なお、データ処理部36は、溶接不良の箇所ごとにビード外観検査の実行回数をカウントし、ビード外観検査の回数がメモリ32に予め記憶された回数を超えても溶接検査結果が良好にならない場合、自動リペア溶接による溶接不良の箇所の修正が困難あるいは不可能と判定してよい。この場合、検査結果判定部37は、溶接不良の箇所の位置および溶接不良の種別(例えば、穴あき、ピット、アンダーカット、スパッタ、突起)を含むアラート画面を生成し、生成されたアラート画面を、通信部30を介して上位装置1に送信する。上位装置1に送信されたアラート画面は、モニタMN1に表示される。なお、このアラート画面は、モニタMN2に表示されてもよい。
 データ処理部36は、判定閾値記憶部34に記憶されたビード外観検査用の閾値を用いて、センサ4により取得された溶接ビードの形状に関する3次元形状データとワークごとに予め既定された良品ワークのマスタデータとの比較に基づくビード外観検査を行う。データ処理部36は、検査判定結果としての欠陥判定結果(つまり、リペア溶接が必要な欠陥の有無を示す情報)と、欠陥箇所ごとの欠陥区間の情報とを含む外観検査報告を作成して検査結果記憶部33に記憶するとともに、通信部30を介して上位装置1あるいはロボット制御装置2に送信する。また、データ処理部36は、検査対象であるワークWkにリペア溶接が必要な欠陥箇所がないと判定した場合、ビード外観検査に合格である旨の検査判定結果を含む外観検査報告を作成して検査結果記憶部33に記憶するとともに、通信部30を介して上位装置1に送信する。
 また、データ処理部36は、形状検出制御部35からワークWkの形状に関する3次元形状データ(上述参照)を取得すると、検査結果判定部37により実行される演算処理に適したデータ形式に変換する。データ形式の変換には、いわゆる前処理として、3次元形状データ(つまり点群データ)に含まれる不要な点群データ(例えばノイズ)が除去される修正処理が含まれてもよいし、ワークWkの3Dモデルを生成する処理であってもよい。また、データ処理部36は、ワークWkの位置および形状を強調、ワークWkの周縁部分を強調したエッジ強調修正を行ってもよい。データ処理部36は、変換後のワークWkの形状に関する3次元形状データを、通信部30を介して、ロボット制御装置2に送信する。
 検査結果判定部37は、センサ4により取得された溶接ビードの形状に関する3次元形状データとワークごとに予め既定された良品ワークのマスタデータとの比較に基づくビード外観検査を行い、溶接ビードの形状信頼性(例えば直線状あるいは曲線状の溶接線に沿っているか否か)、ビード欠け、およびビード位置ずれを検査する。検査結果判定部37は、検査判定用にデータ処理部36によってデータ変換されたデータ(例えば点群データに基づいて生成された画像データ)と良品ワークのマスタデータとの比較(いわゆる画像処理)を行う。このため、検査結果判定部37は、溶接ビードの形状信頼性、ビード欠け、およびビード位置ずれを高精度に検査することができる。検査結果判定部37は、溶接ビードの形状信頼性、ビード欠けおよびビード位置ずれの検査結果を示す検査スコアを算出し、この検査スコアの算出値を検査結果として作成する。さらに、検査結果判定部37は、作成された検査結果とメモリ32に記憶された検査結果用の閾値とを比較する。検査結果判定部37は、比較した比較結果の情報(つまり、取得された第1検査結果がビード外観検査に合格あるいは不合格であるか)を含む外観検査結果を上位装置1およびモニタMN2に出力する。
 また、検査結果判定部37は、複数種類の人工知能によるニューラルネットワークをそれぞれ形成し、センサ4により取得された溶接ビードの形状に関する3次元形状データ、あるいはその3次元形状データがデータ処理部36によって前処理された後の3次元形状データを対象としたAIに基づく溶接不良の有無を判別するビード外観検査)を行い、溶接ビードの穴あき、ピット、アンダーカット、スパッタ、突起の有無を検査する。溶接ビードの穴あき、ピット、アンダーカット、スパッタ、突起はあくまで例示的に列挙されたものであり、検査結果判定部37により検査される不良種別はこれらに限定されない。検査結果判定部37は、該当する種別の溶接不良を検知したと判定した場合には、その溶接不良が検知された溶接ビードの位置を特定する。検査結果判定部37は、事前に溶接不良の種別ごとあるいは溶接不良の種別のグループごとに学習処理によって得られた学習モデル(AI)を用いて、それぞれの溶接不良の有無を判別する。これにより、検査結果判定部37は、例えば溶接ビードの穴あき、ピット、アンダーカット、スパッタ、突起の有無を高精度に検査することができる。検査結果判定部37は、溶接ビードの穴あき、ピット、アンダーカット、スパッタ、突起の検査結果(言い換えると、発生確率を示す検査スコア)を算出し、この検査スコアの算出値を含む外観検査結果を作成して、上位装置1およびモニタMN2に出力する。
 なお、検査結果判定部37は、上述した各外観検査結果に含まれる検査結果(検査スコア)に基づいて、溶接ロボット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の先端に取り付けられ、アライメントパターンAP、ワークWkあるいはワークWk上の溶接箇所の形状(溶接ビードの形状)を特定可能な複数の点群データを取得する。センサ4は、取得された点群データに基づいて、溶接箇所の3次元形状を特定可能な点群データを生成してロボット制御装置2あるいは検査制御装置3に送信する。
 なお、センサ4は、溶接ロボットMC1の先端に取り付けられておらず、溶接ロボットMC1とは別個に配置されている場合には、あるいは検査制御装置3から送信された溶接ロボットMC1の溶接トーチ400あるいはアライメントパターンAP、ワークWk、あるいは溶接箇所の位置の付近を走査可能に構成されたレーザ光源(図示略)と、溶接ロボットMC1の溶接トーチ400あるいはアライメントパターンAP、ワークWk、あるいは溶接箇所の位置の周辺を含む撮像領域を撮像可能に配置され、照射されたレーザ光のうち反射されたレーザ光の反射軌跡(つまり、溶接箇所の形状線)を撮像するカメラ(図示略)と、により構成されてよい。この場合、センサ4は、カメラにより撮像された溶接ロボットMC1の溶接トーチ400あるいはアライメントパターンAP、ワークWk、あるいは溶接箇所(つまり、溶接ビード)の形状データ(言い換えると、画像データ)をあるいは検査制御装置3に送信する。
 なお、上述したカメラは、少なくともレンズ(図示略)とイメージセンサ(図示略)とを有して構成される。イメージセンサは、例えばCCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semi-conductor)等の固体撮像素子であり、撮像面に結像した光学像を電気信号に変換する。
 図3を参照して、溶接ロボットMC1の座標系(溶接座標系ΣW1)と、ワークWkとの位置関係について説明する。図3は、溶接座標系ΣW1とワークWkとの関係を説明する図である。
 溶接ロボットMC1は、溶接座標系ΣW1が設定される。溶接動作およびスキャン動作の教示プログラムに含まれる教示点の位置は、溶接座標系ΣW1に基づいて定義される。溶接座標系ΣW1の情報は、ロボット制御装置2のメモリ22に記憶される。
 図4および図5のそれぞれを参照して、アライメントパターンAPを用いたワークWkの位置算出例について説明する。図4は、アライメントパターンAPの一例を説明する図である。図5は、アライメントパターンAPの読み取り例を説明する図である。
 なお、図4に示すアライメントパターンAPの形状は、一例であってこれに限定されない。また、図5に示すアライメントパターンAPは、一例としてワークWkの表面に取り付けられている例を示すが、これに限定されず、溶接ロボットMC1のセンサ4によりスキャン(読み取り)可能な位置に取り付けられていればよい。
 アライメントパターンAPは、溶接ロボットMC1に対するワークWkの位置(つまり、距離、向き(姿勢)等)を計測するためのプレートであって、ワークWk(つまり、ワークWkを構成する複数の元ワークのうちいずれか1つの元ワーク)上の所定位置に取り付けられる。アライメントパターンAPは、異なる大きさを有する2つの孔HO1,HO2のそれぞれが形成される。
 ロボット制御装置2は、センサ4により読み取られたアライメントパターンAPの3次元形状データから2つの孔HO1,HO2のそれぞれを検出する。ロボット制御装置2は、検出された2つの孔HO1,HO2のそれぞれの中心位置CT1,CT2を算出し、これら2つの中心位置CT1,CT2を結び、一方の孔(図4に示す例では孔HO1)の中心位置を始点、他方の孔(図4に示す例では孔HO2)の中心位置を終点とするベクトルVCを生成する。ロボット制御装置2は、生成されたベクトルVCの向きに基づいて、アライメントパターンAPの取付角度(姿勢)を算出し、ベクトルVCの長さに基づいて、溶接ロボットMC1とワークWkとの間の距離を算出する。これにより、ロボット制御装置2は、溶接ロボットMC1に対するワークWkの相対位置を算出することができる。
 図6を参照して、ワークWkの外観形状に基づくワークWkの位置算出例について説明する。図6は、ワークWkのスキャン例を説明する図である。
 ロボット制御装置2は、溶接ロボットMC1を駆動させて、ワークWkをセンサ4でスキャンする。なお、ロボット制御装置2は、上位装置1から送信された現在のワークWkあるいはステージSTGの位置情報を取得し、溶接ロボットMC1を駆動させることで、ワークWkをスキャン可能な位置にセンサ4を移動させてもよい。センサ4は、ワークWkの3次元形状データをロボット制御装置2に送信する。
 ロボット制御装置2は、センサ4から送信されたワークWkの3次元形状データからワークWkの位置を特定するための特徴点(例えば、ワークWkあるいは元ワークの所定の面、所定の面の角、面に形成された所定の孔等)の形状を読み取る。ロボット制御装置2は、特徴点の形状に基づいて、溶接ロボットMC1に対するワークWkの相対位置(距離)を算出する。
 なお、特徴点の数は、1つであっても複数であってもよい。ロボット制御装置2は、2つ以上の特徴点のそれぞれの位置に基づいて、溶接ロボットMC1に対するワークWkの相対位置(距離,姿勢)を算出してもよい。
 図7を参照して、溶接座標系ΣW1におけるワークWkの位置ずれ量の算出例について説明する。図7は、ワークWkの位置ずれ量の算出例を説明する図である。
 なお、図7では、説明を分かりやすくするために、ワークWkのワーク情報に含まれる正常時のワークWkの位置(姿勢)を正常ワークWk10として図示し、ワークWkの実際の位置(姿勢)を位置ずれワークWk11として図示する。また、正常ワークWk10の位置PS2は、ワークWkのワーク情報に含まれる正常時(つまり、位置ずれがない場合)のワークWkの位置を示す。位置ずれワークWk11の位置PS3は、センサ4によるワークWkあるいはアライメントパターンAPの読み取り結果に基づいて算出された実際のワークWkの位置を示す。
 ロボット制御装置2は、センサ4により読み取られたワークWkの特徴点あるいはアライメントパターンAPに基づいて、溶接座標系ΣW1における溶接ロボットMC1の位置PS1に対する位置ずれワークWk11の位置PS3(距離,姿勢)を算出する。ロボット制御装置2は、算出された位置ずれワークWk11の位置PS3と、正常ワークWk10の位置PS2(正常時の位置,姿勢)とに基づいて、溶接ロボットMC1に対するワークWkの位置ずれ量(距離,角度)を算出する。以下、ワークWkの位置ずれ量の算出例を具体的に説明する。
 ロボット制御装置2は、溶接ロボットMC1の位置PS1と、正常ワークWk10の位置PS2と、位置ずれワークWk11の位置PS3とに基づいて、ベクトルVC11,VC12のそれぞれを算出する。
 ここで、ベクトルVC11は、溶接座標系ΣW1における溶接ロボットMC1の位置PS1を始点、溶接ロボットMC1に対する正常ワークWk10の位置PS2を終点とするベクトルである。ベクトルVC12は、溶接座標系ΣW1における溶接ロボットMC1の位置PS1を始点、溶接ロボットMC1に対する位置ずれワークWk11の位置PS3を終点とするベクトルである。
 ロボット制御装置2は、ベクトルVC11の逆ベクトルと、ベクトルVC12との和に基づいて、ベクトルVC13を算出する。ベクトルVC13は、正常ワークWk10の位置PS2を始点、位置ずれワークWk11の位置PS3を終点とするベクトルであって、ワークWkの位置ずれ量(距離,角度)を示すベクトルである。
 ロボット制御装置2は、算出されたベクトルVC13に基づいて、溶接ロボットMC1に対するワークWkの位置ずれ量を算出し、算出されたワークWkの位置ずれ量に基づいて、このワークWkに対応する溶接動作の教示プログラムに含まれる教示点の位置修正と、スキャン動作の教示プログラムに含まれる教示点の位置修正とを実行する。
 次に、図8を参照して、実施の形態1におけるロボット制御装置2の動作手順について説明する。図8は、実施の形態1におけるロボット制御装置2による教示プログラムの修正手順例を説明するフローチャートである。
 ロボット制御装置2は、センサ4から送信されたワークWk(元ワーク)あるいはアライメントパターンAPの3次元形状データを取得する。ロボット制御装置2は、取得された3次元形状データに基づいて、溶接ロボットMC1の溶接座標系ΣW1を基準とする位置ずれワークWk11の位置PS3を算出して、メモリ22に記録する(St11)。
 ロボット制御装置2は、算出された位置ずれワークWk11の位置PS3(ずれ発生時のワークWkの位置)と、正常ワークWk10の位置PS2(つまり、正常時のワークWkの位置)とをメモリ22から読み出し、ワークWkの位置ずれ量(差分)を算出する(St12)。
 ロボット制御装置2は、算出されたワークWkの位置ずれ量に基づいて、溶接動作およびスキャン動作の教示プログラムに含まれる教示点の位置を修正する(St13)。
 ロボット制御装置2は、ワークWkの生産に用いられるすべての教示プログラムに含まれる教示点の位置修正が終了した場合、修正後の教示プログラムのうち少なくとも1つの教示プログラムに修正エラーがあるか否かを判定する(St14)。ここでいう修正エラーは、修正後の教示プログラムに基づくワークWkの生産、検査等の作業工程が実行不可であることを示す。例えば、ロボット制御装置2は、修正後の教示プログラムに含まれる教示点の位置が溶接ロボットMC1の稼働領域を超える場合、修正後の教示プログラムにより溶接トーチ400あるいはセンサ4がワークWk、ワークWkを載置するステージSTG,治具等と干渉する場合等に修正エラーがあると判定する。
 ロボット制御装置2は、ステップSt14の処理において、修正後の教示プログラムのうち少なくとも1つの教示プログラムに修正エラーがあると判定した場合(St14,YES)、修正後の溶接動作およびスキャン動作の教示プログラムを、修正前の溶接動作およびスキャン動作の教示プログラムに戻す(St15)。なお、ロボット制御装置2は、ステップSt15の処理の後、溶接動作およびスキャン動作の教示プログラムの修正が不可である旨の通知(例えば、画像データ,音声データ等)を生成して、上位装置1あるいは検査制御装置3に送信し、対応するモニタMN1,MN2から出力させてもよい。また、通知は、算出されたワークWkのワーク情報、位置ずれ量の情報等を含んでもよい。
 一方、ロボット制御装置2は、ステップSt14の処理において、修正後の教示プログラムで修正エラーがないと判定した場合(St14,NO)、位置ずれワークWk11の位置PS3をワークWkのワーク情報に含まれる位置(つまり、正常ワークWk10の位置PS2)として記録(つまり、上書き)する(St16)。
 ロボット制御装置2は、修正後の溶接動作の教示プログラムに基づいて、本溶接プログラムを作成し、作成された本溶接プログラムに基づいて、溶接ロボットMC1による本溶接を実行させる(St17)。また、ロボット制御装置2は、修正後のスキャン動作の教示プログラムに基づいて、スキャンプログラムを作成し、作成されたスキャンプログラムに基づいて、溶接ロボットMC1のセンサ4によるワークWkの外観検査を実行させる(St18)。
 なお、ロボット制御装置2は、1つの教示プログラムを修正するごとにステップSt14の処理を実行してもよい。このような場合、ロボット制御装置2は、ワークWkの生産に用いられる教示プログラムの数に対応する回数だけステップSt14の処理を繰り返し実行する。
 以上により、実施の形態1におけるロボット制御装置2は、1台の溶接ロボットMC1で複数の教示プログラムを用いてワークWkを生産する場合であっても、教示プログラムに含まれる教示点の位置をより効率的に修正できる。また、ロボット制御装置2は、ワークWkの位置ずれ量を1度算出することで、このワークWkの生産に用いられるすべての教示プログラムをまとめて修正できるため、ワークWkの生産効率の低下を効果的に抑制するとともに、より高品質なワークWkの生産を実現できる。
(実施の形態1の変形例)
 上述した実施の形態1に係る溶接システム100は、ロボット制御装置2によって複数の教示プログラムの修正を実行する例を示した。実施の形態1の変形例に係る溶接システム100Aは、オフライン教示装置5によって仮想空間(3次元空間)上に構築された生産設備(例えば、溶接ロボットMC1、ワークWk等)を用いて、複数の教示プログラムの修正する例について説明する。
 まず、実施の形態1の変形例に係る溶接システム100Aについて説明する。以下、図1を参照して、実施の形態1の変形例に係る溶接システム100Aについて説明する。なお、以下の説明において、実施の形態1に係る溶接システム100と同様の構成および機能については、説明を省略する。
 実施の形態1の変形例に係る溶接システム100Aは、外部ストレージST、入力インターフェースUI1およびモニタMN1のそれぞれと接続された上位装置1と、ロボット制御装置2と、検査制御装置3と、センサ4と、オフライン教示装置5と、溶接ロボットMC1と、モニタMN2,MN3と、を含む構成である。なお、ティーチペンダントTP1は必須の構成でなく、省略されてもよい。モニタMN2,MN3は、必須の構成でなく、省略されてもよい。
 オフライン教示装置5は、ロボット制御装置2、検査制御装置3、モニタMN3、および入力インターフェースUI3との間でそれぞれデータ通信可能に接続される。オフライン教示装置5は、教示プログラムの作成対象あるいは作成済みのワークWkごとの溶接線の位置情報、溶接ロボットMC1に対するワークWkの位置情報を設定情報として記憶する。
 また、オフライン教示装置5は、仮想空間上に仮想的な生産設備(例えば、仮想溶接ロボット、仮想ワーク、仮想ステージ、仮想治具等)を構築し、入力インターフェースUI3から送信された制御指令および各種データ(例えば、溶接ビード、あるいはワークWkの形状に関する3次元形状データ、3Dモデルのデータ、溶接線の位置情報等)、あるいはロボット制御装置2または検査制御装置3から出力された各種データ(例えば、溶接ビード、あるいはワークWkの形状に関する3次元形状データ、ワークWkの3Dモデルのデータ、溶接線の位置情報等)等に基づいて、ワークWkの溶接動作の教示プログラムとスキャン動作の教示プログラムとをそれぞれ作成する。オフライン教示装置5は、作成された溶接動作の教示プログラムおよびスキャン動作の教示プログラムのそれぞれをロボット制御装置2に送信する。なお、作成されたスキャン動作の教示プログラムは、ロボット制御装置2だけでなく、検査制御装置3に送信されてもよい。また、オフライン教示装置5は、作成された溶接動作の教示プログラムおよびスキャン動作の教示プログラムのそれぞれをワークWkごとに記憶する。
 また、オフライン教示装置5は、溶接線の位置情報に基づいて、仮想空間上に、仮想的な生産設備を構築し、ワークWkに対応する仮想ワーク上に、ワークWkに対応する溶接線、センサ4によりスキャンされるスキャン領域等を重畳した教示補助画像(不図示)を生成してモニタMN3に送信し、表示させる。
 モニタMN3は、例えばLCDまたは有機EL等の表示用デバイスを用いて構成されてよい。モニタMN3は、オフライン教示装置5から送信された教示補助画面を表示する。また、モニタMN3は、オフライン教示装置5から送信された仮想的な生産設備の画像上にセンサ4の動作軌跡あるいは溶接トーチ400の動作軌跡等を重畳した教示補助画像を表示する。
 入力インターフェースUI3は、作業者の入力操作を検出して上位装置1に出力する作業者インターフェースであり、例えば、マウス、キーボードまたはタッチパネル等を用いて構成されてよい。入力インターフェースUI3は、スキャン動作および溶接動作の教示プログラムの作成に用いられるワークWkの溶接線の位置情報、溶接設定情報、スキャン設定情報、3Dモデル等の入力操作、あるいは作成済みの溶接動作およびスキャン動作の教示プログラムのそれぞれの入力操作等を受け付ける。なお、ここでモニタMN3および入力インターフェースUI3は、一体に構成された端末装置P3(例えば、PC、ノートPC、タブレット端末等)であってもよい。
 次に、図2を参照して、実施の形態1の変形例に係る溶接システム100Aの各構成の内部構成について説明する。なお、以下の説明において、実施の形態1に係る溶接システム100と同様の構成および機能については、説明を省略する。
 オフライン教示装置5は、ロボット制御装置2、検査制御装置3、モニタMN3、および入力インターフェースUI3との間でそれぞれデータ通信可能に接続される。オフライン教示装置5は、入力インターフェースUI3から送信された溶接線の位置情報に基づいて、ワークWkのスキャン動作の教示プログラムを作成する。なお、オフライン教示装置5は、入力インターフェースUI3から送信された溶接線の位置情報と、溶接動作設定情報、スキャン動作設定情報等の各種データとに基づいて、ワークWkの教示プログラムを作成してもよい。オフライン教示装置5は、通信部50と、プロセッサ51と、メモリ52と、入出力部53と、を含んで構成される。
 通信部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は、溶接動作の教示プログラム、およびスキャン動作の教示プログラムのそれぞれを作成するための学習モデル,学習データを記憶していてもよい。
 学習モデルは、RAMおよびROMなどによる半導体メモリと、SSD(Solid State Drive)あるいはHDD(Hard Disk Drive)等のストレージデバイスのうちいずれかを含む記憶デバイスを有する。
 学習モデルは、例えばプロセッサ51が実行する溶接動作の教示プログラム、およびスキャン動作の教示プログラムのそれぞれを生成するための学習データ、過去に作成された溶接動作の教示プログラム、およびスキャン動作の教示プログラムのそれぞれの作成時の作業者操作に基づく編集情報,設定情報等を記憶する。
 学習モデルは、溶接動作設定情報に基づいて、溶接動作あるいはスキャン動作(つまり、センサ4の動作軌跡,スキャン区間,スキャン有効領域等)を自動生成する。なお、学習モデルは、過去に作成された溶接動作の教示プログラム、およびスキャン動作の教示プログラムのそれぞれの作成時の作業者操作に基づく編集情報,設定情報等に基づいて、溶接動作の教示プログラム、およびスキャン動作の教示プログラムのそれぞれを生成するための教師データ(学習データ)を生成してもよい。
 なお、教師データを生成するための学習は、1つ以上の統計的分類技術を用いて行っても良い。統計的分類技術としては、例えば、線形分類器(Linear Classifiers)、サポートベクターマシン(Support Vector Machines)、二次分類器(Quadratic Classifiers)、カーネル密度推測(Kernel Estimation)、決定木(Decision Trees)、人工ニューラルネットワーク(Artificial Neural Networks)、ベイジアン技術および/またはネットワーク(Bayesian Techniques and/or Networks)、隠れマルコフモデル(Hidden Markov Models)、バイナリ分類子(Binary Classifiers)、マルチクラス分類器(Multi-Class Classifiers)、クラスタリング(Clustering Technique)、ランダムフォレスト(Random Forest Technique)、ロジスティック回帰(Logistic Regression Technique)、線形回帰(Linear Regression Technique)、勾配ブースティング(Gradient Boosting Technique)等が挙げられる。但し、使用される統計的分類技術はこれらに限定されない。
 入出力部53は、入力インターフェースUI3から送信された実行指令、ワークWkの3Dモデル、溶接動作設定情報およびスキャン動作設定情報のそれぞれと、ロボット制御装置2、検査制御装置3、あるいは入力インターフェースUI3から送信された溶接線の位置情報とを取得して、プロセッサ51に出力する。また、入出力部53は、3D演算部54により生成された仮想的な生産設備(例えば、仮想溶接ロボット、仮想ワーク、仮想ステージ等)の画像、オフライン教示装置5から送信された仮想的な生産設備の画像上にセンサ4の動作軌跡あるいは溶接トーチ400の動作軌跡等を重畳した画像をモニタMN3に送信する。
 3D演算部54は、例えば、ワークWkあるいは溶接ビードの形状に関する3次元形状データ、ワークWkの3Dモデルのデータ、ワークWkのワーク情報、生産設備に関するデータ(例えば、ステージの位置情報、治具の位置情報、溶接ロボットMC1のロボット情報あるいは位置情報)等に基づいて、ワークWkの本溶接あるいは外観検査のそれぞれを実行するために必要な生産設備を仮想的に構築する。3D演算部54は、仮想的に構築された生産設備のデータを画像データに変換して入出力部53に出力し、モニタMN3に表示させる。
 また、3D演算部54は、仮想空間上に、少なくとも1つの溶接線の位置情報と、この溶接線をスキャンするセンサ4のスキャン有効領域とを、仮想的な生産設備上に重畳した教示補助画面(画像データ)を生成する。なお、3D演算部54は、プログラム作成部55により作成された溶接動作の教示プログラムを取得可能である場合には、この溶接動作の教示プログラムに含まれる1つ以上の教示点、溶接トーチ400の動作軌跡(具体的には、補助スキャン区間、溶接区間等)等を仮想的に生産設備上に重畳した教示補助画面(画像データ)を生成してもよい。
 3D演算部54は、プログラム作成部55により作成されたスキャン動作の教示プログラムに含まれる1つ以上の教示点、センサ4の動作軌跡(具体的には、アプローチ動作、リトラクト動作、回避動作等の各種動作を示す動作軌跡、補助スキャン区間、スキャン区間等)等を仮想的な生産設備上に重畳した教示補助画面(画像データ)を生成する。3D演算部54は、各種教示プログラムに含まれるデータが重畳された仮想的な生産設備のデータを画像データに変換して入出力部53に出力し、モニタMN3に表示させる。なお、3D演算部54は、溶接動作およびスキャン動作の教示プログラムのそれぞれ、あるいは、生産設備に関する各種データおよび溶接線の位置情報等に基づいて、溶接動作あるいはスキャン動作のそれぞれの教示点、溶接トーチ400あるいはセンサ4の動作軌跡(具体的には、補助スキャン区間、溶接区間、スキャン区間等)等をまとめて仮想的な生産設備上に重畳した教示補助画面(画像データ)を生成してもよい。
 プログラム作成部55は、溶接線の位置情報(例えば、ワークWkの3Dモデルのデータ、ワークWkあるいは溶接ビードの形状に関する3次元形状データ、溶接線の開始点および終了点のそれぞれの座標情報)、溶接動作設定情報、スキャン動作設定情報等に基づいて、溶接動作の教示プログラムおよびスキャン動作のそれぞれの教示プログラムを作成する。また、プログラム作成部55は、入力された各種情報と、メモリ52に記憶された学習モデル,数理計画法等のアルゴリズム等とを用いて、溶接動作の教示プログラムおよびスキャン動作のそれぞれの教示プログラムを作成してもよい。プログラム作成部55は、溶接動作作成部551と、スキャン動作作成部552とを含んで構成される。
 溶接動作作成部551は、入力された溶接線の位置情報と、溶接動作設定情報とに基づいて、ワークWkに本溶接を実行するための溶接動作の教示プログラムを作成する。
 スキャン動作作成部552は、入力された少なくとも溶接線の位置情報に基づいて、ワークWk(元ワーク)の外観スキャン、ワークWk上に生成された溶接ビードあるいは他の外観検査箇所の外観検査を実行するためのスキャン動作の教示プログラムを作成する。なお、スキャン動作作成部552は、入力された溶接動作の動作軌跡、3Dモデル、3Dモデル上に配置された1つ以上のスキャン有効領域のそれぞれ、スキャン動作設定情報等に基づいて、ワークWkの外観スキャン、ワークWk上に生成された溶接ビードあるいは他の外観検査箇所の外観検査等を実行するためのスキャン動作の教示プログラムを作成してもよい。
 ここで、溶接線の位置情報の取得例について説明する。なお、以下で説明する溶接線の位置情報の取得例は一例であって、これに限定されないことは言うまでもない。
 オフライン教示装置5は、ロボット制御装置2、あるいは端末装置P3から送信されたワークWkの溶接動作の教示プログラム、本溶接プログラム、溶接動作の動作軌跡の情報等を取得し。これらのプログラムあるいは情報に含まれるワークWkの溶接線の位置情報を取得する。
 オフライン教示装置5は、端末装置P3から送信されたワークWkの3Dモデルに基づいて、この3Dモデルに紐付けられた溶接線データから溶接線の位置情報を取得してもよい。また、オフライン教示装置5は、端末装置P3から送信されたワークWkの3Dモデルに溶接線データが紐付けられていない場合、3Dモデルの3次元形状に基づいて、溶接線の位置情報を取得してもよい。例えば、オフライン教示装置5は、ワークWkを構成する2つ以上の元ワークの面形状に基づいて、これらの元ワークの面同士が交差する交差点あるいは接触する接触点を溶接線の位置情報として取得する。
 オフライン教示装置5は、センサ4によりワークWkあるいはワークWkに形成された溶接ビードをスキャンして取得されたスキャンデータ(例えば、メッシュデータ)に基づいて、溶接線の位置情報を取得してもよい。また、オフライン教示装置5は、ティーチペンダント(不図示)を用いた教示により溶接線の位置情報を取得してもよい。
 次に、図9を参照して、実施の形態1の変形例におけるロボット制御装置2およびオフライン教示装置5の動作手順について説明する。図9は、実施の形態1の変形例におけるロボット制御装置2およびオフライン教示装置5による教示プログラムの補正手順例を説明するシーケンス図である。
 ロボット制御装置2は、センサ4から送信されたワークWk(元ワーク)あるいはアライメントパターンAPの3次元形状データを取得する。ロボット制御装置2は、取得された3次元形状データに基づいて、溶接ロボットMC1の溶接座標系ΣW1を基準とする位置ずれワークWk11の位置PS3を算出して、メモリ22に記録する(St21)。
 ロボット制御装置2は、算出された位置ずれワークWk11の位置PS3の情報と、位置ずれワークWk11の3次元形状データとを対応付けた読み取り結果を生成して、オフライン教示装置5に送信する(St22)。
 オフライン教示装置5は、ロボット制御装置2から送信された読み取り結果を取得する。オフライン教示装置5は、仮想空間上に構築された仮想の生産設備(仮想設備)の配置位置と、取得された位置ずれワークWk11の位置PS3(ずれ発生時のワークWkの位置)とのワークWkの位置ずれ量(差分)を算出する(St23)。具体的に、オフライン教示装置5は、正常ワークWk10の位置PS2に対応する仮想ワークの配置位置(つまり、正常時のワークWkの位置)と、位置ずれワークWk11の位置PS3とのワークWkの位置ずれ量(差分)を算出する(St23)。
 オフライン教示装置5は、算出されたワークWkの位置ずれ量に基づいて、溶接動作およびスキャン動作の教示プログラムに含まれる教示点の位置を修正する(St24)。
 オフライン教示装置5は、ワークWkの生産に用いられるすべての教示プログラムに含まれる教示点の位置修正が終了した場合、修正後の教示プログラムのうち少なくとも1つの教示プログラムに修正エラーがあるか否かを判定する(St25)。
 オフライン教示装置5は、ステップSt25の処理において、修正後の教示プログラムのうち少なくとも1つの教示プログラムに修正エラーがあると判定した場合(St25,YES)、修正後の溶接動作およびスキャン動作の教示プログラムを、修正前の溶接動作およびスキャン動作の教示プログラムに戻す(St26)。なお、オフライン教示装置5は、ステップSt26の処理の後、溶接動作およびスキャン動作の教示プログラムの修正が不可である旨の通知(例えば、画像データ,音声データ等)を生成して、モニタMN3から出力させてもよい。また、通知は、算出されたワークWkのワーク情報、位置ずれ量の情報等を含んでもよい。
 一方、オフライン教示装置5は、ステップSt25の処理において、修正後の教示プログラムで修正エラーがないと判定した場合(St25,NO)、位置ずれワークWk11の位置PS3をワークWkのワーク情報に含まれる位置(つまり、正常ワークWk10の位置PS2)として記録(つまり、上書き)する(St27)。
 オフライン教示装置5は、修正後の溶接動作およびスキャン動作の教示プログラムのそれぞれをロボット制御装置2に送信する(St28)。
 ロボット制御装置2は、オフライン教示装置5から送信された溶接動作およびスキャン動作の教示プログラムのそれぞれを取得する。ロボット制御装置2は、溶接動作に基づいて、本溶接プログラムを作成し、作成された本溶接プログラムに基づいて、溶接ロボットMC1による本溶接を実行させる(St29)。また、オフライン教示装置5は、修正後のスキャン動作の教示プログラムに基づいて、スキャンプログラムを作成し、作成されたスキャンプログラムに基づいて、溶接ロボットMC1のセンサ4によるワークWkの外観検査を実行させる(St30)。
 なお、オフライン教示装置5は、ステップSt25の処理を1つの教示プログラムの修正するごとに実行してもよい。このような場合、オフライン教示装置5は、ワークWkの生産に用いられる教示プログラムの数に対応する回数だけステップSt25の処理を繰り返し実行する。
 以上により、実施の形態1の変形例におけるオフライン教示装置5は、1台の溶接ロボットMC1で複数の教示プログラムを用いてワークWkを生産する場合であっても、教示プログラムに含まれる教示点の位置をより効率的に修正できる。また、オフライン教示装置5は、ワークWkの位置ずれ量を1度算出することで、このワークWkの生産に用いられるすべての教示プログラムをまとめて修正できるため、ワークWkの生産効率の低下を効果的に抑制するとともに、より高品質なワークWkの生産を実現できる。
 以上により、実施の形態1に係るロボット制御装置2は、溶接により生産するワークWkの位置に関する情報(例えば、3次元形状データ、アライメントパターン等)を取得する通信部20(取得部の一例)と、生産を行う溶接ロボットMC1(ロボットの一例)を基準とするワークWkの設定位置を記憶するメモリ22(記憶部の一例)と、ワークWkの位置に関する情報に基づくワークWkの実測位置(例えば、図7に示す位置ずれワークWk11の位置PS3)と、ワークWkの設定位置(例えば、ワークWkのワーク情報に含まれるワークWkの位置であって、図7に示す正常ワークWk10の位置PS2)とに基づいて、ワークの位置ずれ量を算出するプロセッサ21(算出部の一例)と、ワークWkの位置ずれ量に基づいて、溶接ロボットMC1が生産に用いる複数の教示プログラムの教示点の位置を修正するプロセッサ21(修正部の一例)と、修正後の複数の教示プログラムを用いて、溶接ロボットMC1を制御するロボット制御部(制御部の一例)と、を備える。
 これにより、実施の形態1に係るロボット制御装置2は、1台の溶接ロボットMC1で複数の教示プログラムを用いてワークWkを生産する場合であっても、教示プログラムに含まれる教示点の位置をより効率的に修正できる。また、ロボット制御装置2は、ワークWkの位置ずれ量を1度算出することで、このワークWkの生産に用いられるすべての教示プログラムをまとめて修正できるため、ワークWkの生産効率の低下を効果的に抑制するとともに、より高品質なワークWkの生産を実現できる。
 また、実施の形態1に係るロボット制御装置2のプロセッサ21は、修正後の教示プログラムの教示点の位置が溶接ロボットMC1の稼働範囲外であるか否かを判定する。ロボット制御部25は、修正後の教示プログラムの教示点の位置が溶接ロボットMC1の稼働範囲外でないと判定した場合、修正後の複数の教示プログラムを用いて、溶接ロボットMC1を制御する。これにより、実施の形態1に係るロボット制御装置2は、修正後の教示プログラムに修正エラーがないと判定した場合にのみ、教示点の修正が反映された複数の教示プログラムを用いてワークWkを生産できる。
 また、実施の形態1に係るロボット制御装置2のロボット制御部25は、修正後の教示プログラムの教示点の位置が溶接ロボットMC1の稼働範囲外であると判定した場合、修正後の複数の教示プログラムの教示点の位置を、修正前の複数の教示プログラムの教示点の位置に戻す。これにより、実施の形態1に係るロボット制御装置2は、修正後の教示プログラムに修正エラーがあると判定した場合には、修正済みの教示プログラムをすべて修正前の教示プログラムに戻すことで、教示点の誤修正を抑制できる。
 また、実施の形態1に係るロボット制御装置2において、ワークWkの位置に関する情報は、ワークWkの3次元形状データである。プロセッサ21は、3次元形状データに基づいて、ワークWkの実測位置を算出する。これにより、実施の形態1に係るロボット制御装置2は、溶接ロボットMC1が備えるセンサ4によりスキャンされたワークWkの3次元形状データに基づいて、実際のワークWkの位置(位置ずれワークWk11の位置PS3)を算出できる。したがって、溶接システム100は、ワークWkの位置計測のための計測装置(例えば、専用のカメラ等)が不要となる。溶接システム100は、教示プログラムの修正を行うたびに溶接ロボットMC1に計測装置を取り付けたり、取り外したりすることによるワークWkの生産効率の低下をより効果的に抑制できる。
 また、実施の形態1に係るロボット制御装置2のプロセッサ21は、3次元形状データを用いてワークWkの特徴点を検出し、検出された特徴点に基づいて、ワークWkの実測位置を算出する。これにより、実施の形態1に係るロボット制御装置2は、溶接ロボットMC1が備えるセンサ4によりスキャンされたワークWkの3次元形状データを用いて、実際のワークWkの位置(位置ずれワークWk11の位置PS3)を算出できる。
 また、実施の形態1に係るロボット制御装置2における特徴点は、ワークWkに形成された所定の孔である。これにより、実施の形態1に係るロボット制御装置2は、溶接ロボットMC1が備えるセンサ4によりスキャンされたワークWkの3次元形状データを用いて、実際のワークWkの位置(位置ずれワークWk11の位置PS3)を算出できる。
 また、実施の形態1に係るロボット制御装置2における特徴点は、ワークWkの所定の面または面の角部である。これにより、実施の形態1に係るロボット制御装置2は、溶接ロボットMC1が備えるセンサ4によりスキャンされたワークWkの3次元形状データを用いて、実際のワークWkの位置(位置ずれワークWk11の位置PS3)を算出できる。
 また、実施の形態1に係るロボット制御装置2におけるワークWkの位置に関する情報は、ワークWkに取り付けられたアライメントパターンAPの3次元形状データである。アライメントパターンAPは、異なる大きさを有する2つの孔HO1,HO2が形成される。プロセッサ21は、2つの孔HO1,HO2の位置に基づいて、ワークWkの実測位置を算出する。これにより、実施の形態1に係るロボット制御装置2は、アライメントパターンAPに基づいて、ワークWkの位置をより高精度に算出できる。
 以上により、実施の形態1の変形例に係る溶接システム100A(オフライン教示システムの一例)は、溶接によりワークWkを生産する溶接ロボットMC1(ロボットの一例)を制御するロボット制御装置2と、ロボット制御装置2との間で通信可能に接続され、仮想空間上にワークWkと溶接ロボットMC1とを構築するオフライン教示装置5と、を備える。オフライン教示装置5は、ワークWkの位置に関する情報(例えば、3次元形状データ、アライメントパターンAP等)を取得し、ワークWkの位置に関する情報に基づくワークWkの実測位置(例えば、図7に示す位置ずれワークWk11の位置PS3)と、溶接ロボットMC1を基準とするワークWkの設定位置(例えば、ワークWkのワーク情報に含まれるワークWkの位置であって、図7に示す正常ワークWk10の位置PS2)とに基づいて、ワークWkの位置ずれ量を算出し、ワークWkの位置ずれ量に基づいて、溶接ロボットMC1が生産に用いる複数の教示プログラムの教示点の位置を修正し、修正後の複数の教示プログラムをロボット制御装置2に送信する。ロボット制御装置2は、修正後の複数の教示プログラムを用いて、溶接ロボットMC1を制御する。
 以上により、実施の形態1の変形例におけるオフライン教示装置5を含む溶接システム100Aは、1台の溶接ロボットMC1で複数の教示プログラムを用いてワークWkを生産する場合であっても、教示プログラムに含まれる教示点の位置をより効率的に修正できる。また、オフライン教示装置5は、ワークWkの位置ずれ量を1度算出することで、このワークWkの生産に用いられるすべての教示プログラムをまとめて修正できるため、ワークWkの生産効率の低下を効果的に抑制するとともに、より高品質なワークWkの生産を実現できる。
 以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
 なお、本出願は、2022年4月13日出願の日本特許出願(特願2022-066608)に基づくものであり、その内容は本出願の中に参照として援用される。
 本開示は、同一のロボットで使用され、それぞれ異なる作業を実行するための教示プログラムの教示点をより効率的に修正するオフライン教示装置およびオフライン教示システムとして有用である。
1 上位装置
2 ロボット制御装置
3 検査制御装置
4 センサ
5 オフライン教示装置
10,20,30,50 通信部
11,21,31,51 プロセッサ
12,22,32,52 メモリ
23 本溶接プログラム作成部
24 スキャンプログラム作成部
25 ロボット制御部
26 電源制御部
100,100A 溶接システム
200 マニピュレータ
300 ワイヤ送給装置
301 溶接ワイヤ
400 溶接トーチ
500 電源装置
AP アライメントパターン
MC1 溶接ロボット
MN1,MN2,MN3 モニタ
UI1,UI3 入力インターフェース
Wk ワーク
Wk10 正常ワーク
Wk11 位置ずれワーク

Claims (9)

  1.  溶接により生産するワークの位置に関する情報を取得する取得部と、
     前記生産を行うロボットを基準とする前記ワークの設定位置を記憶する記憶部と、
     前記ワークの位置に関する情報に基づく前記ワークの実測位置と、前記ワークの設定位置とに基づいて、前記ワークの位置ずれ量を算出する算出部と、
     前記ワークの位置ずれ量に基づいて、前記ロボットが前記生産で用いる複数の教示プログラムの教示点の位置を修正する修正部と、
     修正後の前記複数の教示プログラムを用いて、前記ロボットを制御する制御部と、を備える、
     ロボット制御装置。
  2.  前記修正部は、
     修正後の前記教示プログラムの教示点の位置が前記ロボットの稼働範囲外であるか否かを判定し、
     前記制御部は、
     修正後の前記教示プログラムの教示点の位置が前記ロボットの稼働範囲外でないと判定した場合、修正後の前記複数の教示プログラムを用いて、前記ロボットを制御する、
     請求項1に記載のロボット制御装置。
  3.  前記制御部は、
     修正後の前記教示プログラムの教示点の位置が前記ロボットの稼働範囲外であると判定した場合、修正後の前記複数の教示プログラムの教示点の位置を、修正前の複数の教示プログラムの教示点の位置に戻す、
     請求項2に記載のロボット制御装置。
  4.  前記ワークの位置に関する情報は、前記ワークの3次元形状データであって、
     前記算出部は、
     前記3次元形状データに基づいて、前記ワークの実測位置を算出する、
     請求項1に記載のロボット制御装置。
  5.  前記算出部は、
     前記3次元形状データを用いて前記ワークの特徴点を検出し、
     検出された前記特徴点に基づいて、前記ワークの実測位置を算出する、
     請求項4に記載のロボット制御装置。
  6.  前記特徴点は、
     前記ワークに形成された所定の孔である、
     請求項5に記載のロボット制御装置。
  7.  前記特徴点は、
     前記ワークの所定の面または前記面の角部である、
     請求項5に記載のロボット制御装置。
  8.  前記ワークの位置に関する情報は、前記ワークに取り付けられたパターンの3次元形状データであって、
     前記パターンは、異なる大きさを有する2つの孔が形成され、
     前記算出部は、前記2つの孔の位置に基づいて、前記ワークの実測位置を算出する、
     請求項1に記載のロボット制御装置。
  9.  溶接によりワークを生産するロボットを制御するロボット制御装置と、
     前記ロボット制御装置との間で通信可能に接続され、仮想空間上に前記ワークと前記ロボットとを構築するオフライン教示装置と、を備えるオフライン教示システムであって、
     前記オフライン教示装置は、
     前記ワークの位置に関する情報を取得し、
     前記ワークの位置に関する情報に基づく前記ワークの実測位置と、前記ロボットを基準とする前記ワークの設定位置とに基づいて、前記ワークの位置ずれ量を算出し、
     前記ワークの位置ずれ量に基づいて、前記ロボットが前記生産で用いる複数の教示プログラムの教示点の位置を修正し、
     修正後の前記複数の教示プログラムを前記ロボット制御装置に送信し、
     前記ロボット制御装置は、
     修正後の前記複数の教示プログラムを用いて、前記ロボットを制御する、
     オフライン教示システム。
PCT/JP2023/006911 2022-04-13 2023-02-27 ロボット制御装置およびオフライン教示システム WO2023199620A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023539063A JP7496540B2 (ja) 2022-04-13 2023-02-27 ロボット制御装置およびオフライン教示システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022066608 2022-04-13
JP2022-066608 2022-04-13

Publications (1)

Publication Number Publication Date
WO2023199620A1 true WO2023199620A1 (ja) 2023-10-19

Family

ID=88329326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/006911 WO2023199620A1 (ja) 2022-04-13 2023-02-27 ロボット制御装置およびオフライン教示システム

Country Status (1)

Country Link
WO (1) WO2023199620A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6358505A (ja) * 1986-08-29 1988-03-14 Fanuc Ltd ロボツト制御装置
JPH08328632A (ja) * 1995-05-26 1996-12-13 Matsushita Electric Works Ltd ロボット動作のシミュレーション方法
JP2004255547A (ja) * 2003-02-27 2004-09-16 Fanuc Ltd 教示位置修正装置
JP2020069568A (ja) * 2018-10-31 2020-05-07 トヨタ自動車株式会社 教示システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6358505A (ja) * 1986-08-29 1988-03-14 Fanuc Ltd ロボツト制御装置
JPH08328632A (ja) * 1995-05-26 1996-12-13 Matsushita Electric Works Ltd ロボット動作のシミュレーション方法
JP2004255547A (ja) * 2003-02-27 2004-09-16 Fanuc Ltd 教示位置修正装置
JP2020069568A (ja) * 2018-10-31 2020-05-07 トヨタ自動車株式会社 教示システム

Also Published As

Publication number Publication date
JPWO2023199620A1 (ja) 2023-10-19

Similar Documents

Publication Publication Date Title
JP7289087B2 (ja) リペア溶接装置およびリペア溶接方法
US20220412728A1 (en) Bead appearance inspection device, bead appearance inspection method, program, and bead appearance inspection system
WO2023199620A1 (ja) ロボット制御装置およびオフライン教示システム
US20220297241A1 (en) Repair welding device and repair welding method
JP7496540B2 (ja) ロボット制御装置およびオフライン教示システム
JP7365623B1 (ja) オフライン教示装置およびオフライン教示システム
JP7369981B2 (ja) リペア溶接システム、リペア溶接方法、検査装置およびロボット制御装置
US20240123537A1 (en) Offline teaching device and offline teaching method
WO2021177435A1 (ja) ビード外観検査装置、ビード外観検査方法、プログラムおよびビード外観検査システム
WO2021177436A1 (ja) ビード外観検査装置、ビード外観検査方法、プログラムおよびビード外観検査システム
WO2022270580A1 (ja) オフライン教示装置およびオフライン教示方法
JP2021062441A (ja) リペア溶接装置およびリペア溶接方法
WO2021177361A1 (ja) ビード外観検査装置およびビード外観検査システム
WO2022270579A1 (ja) オフライン教示装置およびオフライン教示方法
WO2023105979A1 (ja) オフライン教示装置およびオフライン教示方法
WO2022091543A1 (ja) リペア溶接区間検出方法およびリペア溶接区間検出装置
JP6990869B1 (ja) 外観検査方法および外観検査装置
WO2023105978A1 (ja) オフライン教示装置
WO2023105980A1 (ja) オフライン教示装置およびオフライン教示方法
WO2023105977A1 (ja) オフライン教示装置およびオフライン教示方法
JP7365624B1 (ja) オフライン教示装置およびオフライン教示方法
JP2021137849A (ja) ビード外観検査装置、ビード外観検査方法、ビード外観検査プログラムおよびビード外観検査システム
JP2021139771A (ja) 制御装置、表示装置の制御方法およびプログラム
JP2021137848A (ja) ビード外観検査装置およびビード外観検査システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023539063

Country of ref document: JP

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

Ref document number: 23788042

Country of ref document: EP

Kind code of ref document: A1