WO2014185215A1 - 産業用ロボットおよび周辺装置の動作を制御する制御システムおよび制御方法 - Google Patents
産業用ロボットおよび周辺装置の動作を制御する制御システムおよび制御方法 Download PDFInfo
- Publication number
- WO2014185215A1 WO2014185215A1 PCT/JP2014/060964 JP2014060964W WO2014185215A1 WO 2014185215 A1 WO2014185215 A1 WO 2014185215A1 JP 2014060964 W JP2014060964 W JP 2014060964W WO 2014185215 A1 WO2014185215 A1 WO 2014185215A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- movement
- command
- asynchronous
- robot
- peripheral device
- Prior art date
Links
- 230000002093 peripheral effect Effects 0.000 title claims description 91
- 238000000034 method Methods 0.000 title description 17
- 238000000926 separation method Methods 0.000 claims abstract description 48
- 230000001360 synchronised effect Effects 0.000 claims abstract description 42
- 238000003860 storage Methods 0.000 claims description 20
- 238000003466 welding Methods 0.000 description 110
- 238000005520 cutting process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K9/00—Arc welding or cutting
- B23K9/10—Other electric circuits therefor; Protective circuits; Remote controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41815—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34399—Switch between synchronous and asynchronous mode of controllers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35374—First memory for independent axis, second memory for synchronized axis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39101—Cooperation with one or more rotating workpiece holders, manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39102—Manipulator cooperating with conveyor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39143—One program in robot controller for both robot and machine, press, mold
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45104—Lasrobot, welding robot
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
- Y10S901/03—Teaching system
Definitions
- the present invention relates to a control system and a control method for controlling operations of industrial robots and peripheral devices.
- Industrial robots such as welding robots and their peripheral devices that perform welding operate so as to execute work set by the teaching data by giving the teaching data.
- the teaching data is composed of, for example, a set of programs describing operations to be executed by the robot or peripheral device.
- Patent Document 1 in a control device for a work machine that controls a plurality of control objects configured by two or more axes, the actuator and the control are performed when controlling an actuator such as a motor that drives each axis of each control object It is described that an operation command to a control object is distributed to a predetermined actuator and output by relating the object.
- teaching positions for only the selected control target are registered, and the work program is executed independently of each other.
- Patent Document 2 in a robot control apparatus that moves a plurality of control objects, an asynchronous control section in which a manipulator and a positioner that are control objects are asynchronously controlled by one work program is set, and each control object Are not controlled synchronously at the same time, but are controlled so as to reach each moving target.
- each device In a program that describes an operation to be executed by an industrial robot or its peripheral device, the operation of each device may be controlled to be synchronized. In such a case, in order to reduce the total time required for work, a program is created in consideration of the relationship between the operation of industrial robots and peripheral devices, but the time required for creating such a program is reduced. It is desirable to shorten the length. Further, if a section in which each device is not synchronously controlled is set, the program instructions may not be executed in the order described. An object of the present invention is to reduce the total time required for work by reducing the work of correcting a program.
- the present invention provides a storage unit that stores a teaching program in which an operation to be executed by a robot and a peripheral device is described, and the teaching program stored by the storage unit includes: About a movement-related command that identifies an asynchronous section that is not synchronized with the operation of the robot and a synchronous section that is not the asynchronous section, and is a command related to movement of at least one of the robot and the peripheral device among the instructions of the teaching program A determination unit that determines whether the instruction is in the asynchronous section or the instruction in the synchronous section, and the asynchronous instruction determined as the instruction in the asynchronous section by the determination unit is separated into instructions for each device of the robot and the peripheral device Based on the synchronization command determined by the determination unit and the command of the synchronization interval, A first control unit that controls the operation of the robot and the peripheral device in synchronization, and controls the operation of the robot based on a command related to the robot among the asynchronous commands separated by the separation unit; A control system comprising: a
- control system stores, in the order in which the commands acquired while the operation of the peripheral device is controlled by the second control unit, the commands related to the peripheral device among the asynchronous commands separated by the separating unit.
- the storage device further includes a storage unit, and the second control unit executes the instructions stored in the storage unit in order.
- the control system further includes a peripheral device group including one or more other devices in addition to the peripheral device, and the operation of the peripheral device group is controlled in synchronization with the operation of the robot.
- the first control unit includes the asynchronous command separated by the separation unit.
- the operations of the robot and the peripheral device group are controlled synchronously, and the second control unit is configured to include the asynchronous command separated by the separation unit.
- the operation of the peripheral device is controlled without synchronizing with the operation of the robot and the peripheral device group based on a command related to the peripheral device.
- control system includes one or a plurality of peripheral devices provided with an asynchronous section that is controlled without being synchronized with the operation of the robot, and the asynchronous section of each peripheral device.
- the second control unit performs the operation of each peripheral device in which the asynchronous section is provided in the overlapping section. Control is performed without synchronizing with the operation of the apparatus.
- this control system is characterized in that the movement-related command is described in a sub teaching program called by the main teaching program among the teaching programs.
- the present invention is stored in a predetermined storage unit, and the operation of the peripheral device is not synchronized with the operation of the robot with respect to a command group related to the operation executed by the robot and the peripheral device. Identifying an asynchronous section and a synchronous section that is not the asynchronous section, and regarding a movement related command that is a command related to movement of at least one of the robot and the peripheral device in the command group, A step of determining whether the instruction is a synchronous section, a step of separating the asynchronous instruction determined to be an instruction of the asynchronous section into instructions for each device of the robot and the peripheral device, and a instruction of the synchronous section Based on the synchronization command, the operation of the robot and the peripheral device is controlled in synchronization, and the asynchronous operation is separated.
- peripheral devices that are controlled by a control device (robot controller) along with the welding robot are becoming larger.
- the peripheral device include a positioner that is a device that determines the position of a workpiece to be welded, and a slider that is a device that moves a welding robot.
- the peripheral devices must be installed before welding starts, such as positioning of the workpiece by the positioner when attaching and detaching the workpiece, and the operation of the slider to retract the welding robot to a position that does not interfere with the operation of the positioner.
- the operating time is longer. For this reason, the cycle time, which is the total time required for welding one workpiece, is increased.
- welding peripheral operations such as wire cutting and nozzle replacement by a welding robot are also factors that increase the cycle time.
- the operations to be executed by the welding robot and peripheral devices are defined in the teaching program, and the teaching program specifies a movement command for instructing the movement of each device and a movement condition such as a movement speed accompanying the movement command. And a command for causing the welding robot to perform wire cutting.
- the movement command includes target positions of the welding robot and peripheral devices, and the operation of each device may be controlled to be synchronized by the execution of the movement command. For example, there is a case in which each device is controlled so as to simultaneously move toward and reach a target position determined for each device by one movement command. In such a case, the moving speed of the other device is adjusted in accordance with the device having the longest moving time to the target position.
- the welding robot and the peripheral device are moved independently, or the welding robot is wire-cut while the peripheral device is moving. It is conceivable to execute other operations.
- the operator needs to individually create a teaching program in which the operations of the devices are mixed in consideration of the relationship of the operations of the devices. For example, if the welding robot is to perform wire cutting in parallel with positioning the workpiece of the positioner, a program for executing the wire cutting by defining the operation of the welding robot in accordance with each movement command to the positioner is performed for each operation. Must be created separately.
- the time for creating the teaching program increases.
- it may be more difficult to confirm the contents of the created teaching program and the cycle time may not be shortened depending on the skill of the teaching program creator.
- the instructions of the teaching program are required to be executed in the order in which they are described.
- the instruction may not be executed in the order in which the instructions are described simply by setting a section in which each device is asynchronously controlled in the teaching program. . Therefore, in the following, a procedure for realizing the reduction of the cycle time by reducing the program correction work will be described.
- FIG. 1 is a diagram showing a schematic configuration of a welding robot system according to the present embodiment.
- the welding robot system includes a welding robot 10 that performs various operations related to welding, a positioner 20 as an example of a peripheral device that determines the position of the workpiece W, and a control that controls each device of the welding robot system.
- the apparatus 30 includes a wire cutter 40 for cutting a wire, and a teaching pendant 50 used for setting a welding operation and creating a teaching program.
- the welding robot system according to the present embodiment includes, for example, a slider (not shown) disposed below the welding robot 10 in order to move the welding robot 10. Other peripheral devices may be provided.
- the welding robot 10 includes an arm having a plurality of joints, and performs various operations related to welding based on a teaching program.
- a welding torch 11 for performing a welding operation on the workpiece W is provided at the tip of the arm of the welding robot 10.
- the positioner 20 adjusts the position of the workpiece W based on the teaching program.
- the control device 30 stores a storage device (memory) that stores a previously taught teaching program, and a processing device that reads the teaching program and controls the operations of the welding robot 10, the positioner 20, and the wire cutter 40 ( CPU).
- the teaching program may be transmitted from the teaching pendant 50 or may be created by a teaching program creation device (not shown) and transmitted by data communication.
- the teaching program may be passed to the control device 30 via a removable storage medium such as a memory card.
- the wire cutter 40 cuts the wire attached to the welding robot 10.
- the teaching pendant 50 is used for an operator to set a welding path, welding operation conditions, etc., and to create a teaching program in order to perform a welding operation by the welding robot 10.
- the teaching pendant 50 includes a display screen 51 configured by a liquid crystal display and the like, and an input button 52.
- FIG. 2 is a diagram illustrating a hardware configuration example of the control device according to the present embodiment.
- the control device 30 includes a CPU (Central Processing Unit) 61 that is a calculation means and a memory 62 that is a main storage means.
- the control device 30 includes a magnetic disk device (HDD: Hard Disk Drive) 63 and an input device 64 such as a keyboard and a mouse as external devices.
- the control device 30 further includes an interface 65 that transmits / receives data to / from an external device and a driver 66 that reads / writes data from / to the storage medium.
- FIG. 2 merely illustrates a hardware configuration when the control device 30 is realized by a computer system, and the control device 30 is not limited to the illustrated configuration.
- FIG. 3 is a block diagram illustrating a functional configuration example of the control device 30 according to the present embodiment.
- the control device 30 sends a teaching program storage unit 31 that stores a teaching program and a movement-related command separation unit 33 (to be described later) to execute a command that is not related to movement.
- a movement-related command separation unit 33 that determines whether the instruction is a synchronous section instruction or an asynchronous section instruction, and separates the movement-related instruction into instructions for each device according to the determined result.
- control device 30 is based on the movement-related command buffer unit 34 for selecting whether to send a movement-related command to a sub-trajectory calculation unit 36 (to be described later) or to store it based on the movement state of the device, and on the basis of the movement-related command.
- a main trajectory calculation unit 35 that calculates information related to movement for a device to be synchronously controlled
- a sub-trajectory calculation unit 36 that calculates information related to movement for a device that is not a target for synchronous control based on a movement-related command, and an operation of each device
- a motor drive unit 37 is based on the movement-related command buffer unit 34 for selecting whether to send a movement-related command to a sub-trajectory calculation unit 36 (to be described later) or to store it based on the movement state of the device, and on the basis of the movement-related command.
- the command interpretation unit 32, the movement related command separation unit 33, the movement related command buffer unit 34, the main trajectory calculation unit 35, the sub trajectory calculation unit 36, and the motor drive unit 37 are, for example, executed by the CPU 61 in the hardware configuration shown in FIG. Realized. More specifically, a program that realizes the functions of the control device 30 according to the present embodiment on a computer is stored in the magnetic disk device 63 via the driver 66 and the interface 65, and this program is expanded in the memory 62 and the CPU 61. Are executed, the functions of the command interpreting unit 32, the movement related command separation unit 33, the movement related command buffer unit 34, the main trajectory calculation unit 35, the sub trajectory calculation unit 36, and the motor drive unit 37 are realized. .
- the movement related command buffer unit 34 is further realized by a storage unit such as the memory 62 and the magnetic disk device 63 in the hardware configuration shown in FIG.
- the teaching program storage unit 31 is also realized by a storage unit such as the memory 62 and the magnetic disk device 63.
- the teaching program storage unit 31 as an example of a storage unit stores a teaching program taught in advance. Then, in response to a request from the instruction interpreting unit 32, the teaching program is transmitted to the instruction interpreting unit 32.
- the instruction interpretation unit 32 receives an input from the outside, and acquires a teaching program corresponding to the received input content from the teaching program storage unit 31.
- the input from the outside is performed from the teaching pendant 50 (see FIG. 1) via the interface 65 shown in FIG. 2, or the operator is operated by operating the input device 64 shown in FIG. Etc.
- the command interpretation unit 32 determines whether the acquired instruction of the teaching program is a movement-related command or a command not related to movement.
- the command interpretation unit 32 transmits the movement related command to the movement related command separation unit 33. If the acquired command is a command not related to movement, the command interpretation unit 32 executes the command not related to movement.
- the movement-related commands include a movement command for instructing movement of each device, a command for specifying a movement condition such as a movement speed of the device accompanying the movement command, and the like.
- the commands not related to movement include IO input / output commands for causing the welding robot 10 to execute wire cutting and nozzle replacement.
- the command interpretation unit 32 waits for a request for a movement-related command from the main trajectory calculation unit 35 and indicates that the movement of the asynchronous target device has been completed.
- the notification waits from the movement related command buffer unit 34.
- the movement-related command separation unit 33 as an example of the determination unit and the separation unit identifies an asynchronous section and a synchronous section in the teaching program, and the movement-related instruction acquired from the instruction interpreter 32 is an asynchronous section instruction or a synchronous section instruction. Determine whether.
- the synchronization section refers to the operation of the welding robot 10 and a device that is a synchronization control target among devices such as the positioner 20 that is a peripheral device of the welding robot 10 (hereinafter, a device that is a synchronization control target is a synchronization target). This is a section in which the operation of the apparatus is synchronously controlled. Synchronous control is to determine the movement speed of other devices in accordance with the device that has the longest travel time to the target position for a plurality of devices. Controlling to reach the target position at the same time.
- the asynchronous section is a device set as a device that is not a synchronous control target among devices such as the positioner 20 that is a peripheral device (hereinafter, a device set as a device that is not a synchronous control target is referred to as an asynchronous target device).
- a device set as a device that is not a synchronous control target is referred to as an asynchronous target device.
- the asynchronous target device is controlled independently of the operation of the other device, and is controlled to reach the target position at the moving speed specified by the teaching program.
- the movement-related command separation unit 33 determines that the movement-related command is a movement-related command in the synchronization section, the movement-related command separation unit 33 sends the movement-related command to the main trajectory calculation unit 35.
- the movement-related command separation unit 33 determines that the movement-related command is an asynchronous section, the movement-related command separation unit 33 separates the movement-related command into commands for each device, and moves-related commands related to the welding robot 10 and the synchronization target device. Is sent to the main trajectory calculation unit 35, and a movement related command relating to the asynchronous target device is sent to the movement related command buffer unit 34.
- the movement-related command buffer unit 34 as an example of the storage means sends or acquires the movement-related command acquired from the movement-related command separation unit 33 to the sub-trajectory calculation unit 36 based on the movement state of the asynchronous target device. Select whether to store movement-related commands.
- the movement related command buffer unit 34 acquires the movement state from the sub-trajectory calculation unit 36 for the asynchronous target device corresponding to the acquired movement related command.
- the movement related command buffer unit 34 stores the movement related command of the asynchronous target device therein.
- the movement-related command buffer unit 34 When the movement-related command buffer unit 34 accumulates movement-related commands, the movement-related command buffer unit 34 accumulates the movement-related commands in the order in which they are acquired from the movement-related command separation unit 33. On the other hand, when the acquired movement state of the asynchronous target device is not “moving”, the movement-related command buffer unit 34 transmits the movement-related command to the sub-trajectory calculation unit 36.
- the movement-related command buffer unit 34 When the movement-related command buffer unit 34 receives a request for movement-related commands from the sub-trajectory calculation unit 36, the movement-related command buffer unit 34 stores the movement-related commands stored in the asynchronous target device in the sub-trajectory calculation unit 36 in the order of accumulation. Send.
- the movement-related command buffer unit 34 transmits a movement completion notification indicating that the movement of the asynchronous target device is completed to the command interpretation unit 32.
- the main trajectory calculation unit 35 as an example of the first control means includes a movement-related command determined as a movement-related command by the movement-related command separation unit 33 or a movement in an asynchronous section separated by the movement-related command separation unit 33. Based on a movement-related command related to the welding robot 10 and the synchronization target device among the related commands, information related to movement of the welding robot 10 and the synchronization target device (hereinafter, information related to movement is referred to as movement information) is calculated.
- the movement information is information such as a movement time and a movement speed to the designated target position of each device, and the main trajectory calculation unit 35 sends the calculated movement information of each device to the motor drive unit 37.
- the main trajectory calculation unit 35 requests the command interpretation unit 32 for the next movement related command.
- the sub-trajectory calculation unit 36 as an example of the second control means moves the asynchronous target device based on the movement-related command related to the asynchronous target device among the movement-related commands in the asynchronous section separated by the movement-related command separation unit 33. Calculate information. Then, the sub trajectory calculation unit 36 sends the calculated movement information of each device to the motor drive unit 37. Further, the sub-trajectory calculation unit 36 sets the movement state of the asynchronous device that has transmitted the movement information to the motor driving unit 37 to “moving”. When the asynchronous device reaches the target position, the sub-trajectory calculation unit 36 releases the movement state of the device from “moving” and requests the movement-related command buffer unit 34 for the next movement-related command.
- the motor drive unit 37 as an example of the first control unit and the second control unit is based on the movement information of each device acquired from the main trajectory calculation unit 35 and the sub trajectory calculation unit 36, for example, the interface shown in FIG.
- the operations of the welding robot 10 and peripheral devices are controlled via 65 to move each device to the target position of each device.
- FIG. 4 is a diagram showing an example of the main teaching program according to the present embodiment.
- the teaching program shown in FIG. 4 (hereinafter referred to as teaching program A) is an example of a main teaching program that calls a sub teaching program.
- the operation of the positioner 20 is controlled as a synchronization target device or an asynchronous target device.
- the teaching program B which is a sub teaching program is called by the instruction in the first line, and the welding robot 10 is retracted.
- the calling of the teaching program B is outside the asynchronous section, and when the welding robot 10 is completely retracted, the next command is executed.
- the asynchronous section of the positioner 20 is started by the command on the second line, and the positioner 20 becomes an asynchronous target device. Therefore, in the teaching program C called by the instruction on the third line, in the teaching program D called by the instruction on the fourth line, the movement related instructions are separated into the movement related instructions of the welding robot 10 and the movement related instructions of the positioner 20. Executed. And the operation
- the welding robot 10 and the positioner 20 are waited by the instruction on the fifth line of the teaching program A. For example, when the welding robot 10 reaches the target position first with the welding robot 10 and the positioner 20, the welding robot 10 waits for the positioner 20 to reach the target position of the positioner 20. When the positioner 20 reaches the target position, the asynchronous section of the positioner 20 is finished, and synchronous control between the welding robot 10 and the positioner 20 is performed from the next command.
- the operations of the welding robot 10 and the positioner 20 are controlled has been described, but it is also possible to control a peripheral device group including one or more other devices.
- the asynchronous section of the positioner 20 is set as the asynchronous section, the movement-related commands in the asynchronous section are separated into commands for each device of the welding robot 10, the positioner 20, and the peripheral device group.
- the operations of the welding robot 10 and the peripheral device group are controlled in synchronism based on the separated welding robot 10 and peripheral device group movement-related commands. Further, based on the movement-related command of the separated positioner 20, the operation of the positioner 20 is controlled without being synchronized with the operations of the welding robot 10 and the peripheral device group.
- the instructions in the asynchronous section are described as “teaching program C call” or “teaching program D call”.
- “asynchronous teaching program C call” or “asynchronous teaching program D call” ” it may be clearly indicated that the instruction is in an asynchronous section.
- an error may be generated when the instruction is executed.
- FIG. 5A to 5D are flowcharts illustrating an example of the flow of the teaching program execution process according to the present embodiment.
- FIG. 5A is a flowchart illustrating an example of the processing flow of the instruction interpretation unit 32 and the movement related instruction separation unit 33.
- the command interpretation unit 32 receives an input from the outside, and acquires a command of a teaching program corresponding to the received input content from the teaching program storage unit 31 (step 101).
- the command interpretation unit 32 when acquiring the movement command, the command interpretation unit 32 also acquires other movement-related commands such as a speed setting command following the movement command.
- the command interpretation unit 32 acquires a command that is not related to movement for driving the wire cutter 40 or the like, it also acquires a command that is not related to movement following the command.
- the command interpretation unit 32 determines whether or not the command of the acquired teaching program is a movement related command (step 102). If it is not a movement related command (No in step 102), the command interpreter 32 sequentially executes the acquired commands in the order described in the teaching program. Here, if the acquired instruction does not include an instruction to end the asynchronous section (No in step 103), the instruction interpreter 32 executes all the acquired instructions (step 104). Then, the instruction interpretation unit 32 determines whether or not all the instructions of the teaching program to be processed have been executed (step 105). If all the instructions of the teaching program have been executed (Yes in step 105), the teaching program execution process ends. On the other hand, if there is an instruction not executed by the teaching program (No in step 105), the process proceeds to step 101.
- the instruction interpreter 32 sequentially executes the acquired instructions in the order described in the teaching program, and executes the asynchronous section end instruction. After that, a request for a movement-related command transmitted from the main trajectory calculation unit 35 and a movement completion notification of the asynchronous target device transmitted from the movement-related command buffer unit 34 are awaited (step 106).
- the command interpretation unit 32 receives both the request for the movement related command and the movement completion notification, the asynchronous section of the asynchronous target device ends.
- the command interpretation unit 32 may notify the movement-related command separation unit 33 that the subsequent movement-related commands do not have to be separated for each device because the asynchronous section has ended. If there is an instruction that has not been executed in the instruction acquired in step 101 after the end of the asynchronous period, the instruction interpretation unit 32 executes an instruction that has not been executed, and then proceeds to step 105.
- step 102 If a positive determination (Yes) is made in step 102, that is, if the instruction of the teaching program is a movement-related instruction, the instruction interpreter 32 transmits the movement-related instruction to the movement-related instruction separator 33.
- the command interpretation unit 32 also transmits other movement-related commands such as a speed setting command acquired together with the movement command to the movement-related command separation unit 33.
- the movement related command separation unit 33 determines whether or not the acquired movement related command is a command in the synchronization section (step 107).
- the movement-related command separation unit 33 assigns the movement-related instruction to each device. (Step 108). Then, the movement-related command separation unit 33 transmits a command related to the welding robot 10 and the synchronization target device among the separated commands to the main trajectory calculation unit 35, and transmits a command related to the asynchronous target device to the movement-related command buffer unit 34 ( Step 109).
- step 107 If the determination in step 107 is affirmative (Yes), that is, if the movement-related command acquired by the movement-related command separation unit 33 is a command in the synchronization section, the process proceeds to step 109, and the movement-related command separation unit 33 transmits a movement-related command to the main trajectory calculation unit 35.
- the command interpretation unit 32 waits for a command request from the main trajectory calculation unit 35 (step 110).
- the command interpretation unit 32 receives a command request from the main trajectory calculation unit 35 and proceeds to step 105.
- the instruction interpreter 32 and the movement-related instruction separator 33 are processed for the instruction of the teaching program.
- FIG. 5B is a flowchart illustrating an example of a process flow in which the main trajectory calculation unit 35 and the motor drive unit 37 move the welding robot 10 and the synchronization target device.
- the main trajectory calculation unit 35 acquires a movement related command from the movement related command separation unit 33 in Step 109 of FIG. 5A (Step 201).
- the main trajectory calculation unit 35 calculates movement information for the welding robot 10 and the synchronization target device based on the acquired movement-related command (step 202).
- the main trajectory calculation unit 35 transmits the calculated movement information to the motor drive unit 37.
- the motor drive unit 37 moves the welding robot 10 and the synchronization target device to the target position of each device based on the movement information acquired from the main trajectory calculation unit 35 (step 203). Since the movement information used here is movement information calculated based on a synchronous control command, each device is controlled to reach each target position simultaneously.
- the main trajectory calculation unit 35 requests the command interpretation unit 32 for a movement-related command to be executed next (step 205).
- the request for the movement-related command is a request that the command interpretation unit 32 waits at step 106 or 110.
- the processing of the main trajectory calculation unit 35 and the motor drive unit 37 is performed on the movement related command in the synchronous control.
- FIG. 5C is a flowchart illustrating an example of a flow of processing in which the movement-related instruction buffer unit 34 accumulates movement-related instructions.
- the movement-related command buffer unit 34 acquires a movement-related command from the movement-related command separation unit 33 in step 109 of FIG. 5A (step 301).
- the movement related command buffer unit 34 acquires the movement state from the sub-trajectory calculation unit 36 for the asynchronous target device corresponding to the acquired movement related command, and determines whether the asynchronous target device is “moving”. Judgment is made (step 302).
- the movement related command buffer unit 34 stores the movement related commands in the order in which they are acquired (Step 303).
- the movement related command buffer unit 34 transmits the movement related command to the sub-trajectory calculation unit 36 (step 304). As described above, the movement-related command buffer unit 34 performs processing for accumulating movement-related commands.
- FIG. 5D is a flowchart illustrating an example of a process flow in which the movement-related command buffer unit 34, the sub-trajectory calculation unit 36, and the motor driving unit 37 move the asynchronous target device.
- the sub-trajectory calculation unit 36 acquires a movement-related command from the movement-related command buffer unit 34 at step 304 in FIG. 5C (step 401).
- the sub-trajectory calculation unit 36 calculates movement information for the asynchronous target device based on the acquired movement-related command (step 402).
- the sub-trajectory calculation unit 36 transmits the calculated movement information to the motor driving unit 37, and sets the movement state of the asynchronous target device to “moving”.
- the motor drive unit 37 moves the asynchronous target device to the target position based on the movement information acquired from the sub-trajectory calculation unit 36 (step 403).
- the sub-trajectory calculation unit 36 releases the movement state of the asynchronous target device from “moving” and sends a movement-related command to be executed next to the movement-related command buffer unit 34. Request (step 405).
- the movement related command buffer unit 34 determines whether or not movement related commands of the asynchronous target device are accumulated (step 406). If movement-related commands are stored (Yes in step 406), the process proceeds to step 401, where the movement-related command buffer unit 34 is in the order in which the stored movement-related commands are stored, that is, the movement stored first. It transmits to the sub locus
- the movement-related command buffer unit 34 also transmits the movement-related command accompanying the movement command to the sub-trajectory calculation unit 36.
- movement-related commands such as movement commands and speed setting commands are separated for each device, and movement-related commands for the separated asynchronous target devices are accumulated and executed in order, so each device is described in the teaching program. It is guaranteed that the instructions are executed in the order in which they were executed.
- the movement related command buffer unit 34 transmits a movement completion notification of the asynchronous target device to the command interpretation unit 32 (Step 407). As described above, the movement-related command buffer unit 34, the sub-trajectory calculation unit 36, and the motor driving unit 37 are processed for the movement-related commands of the asynchronous target device.
- FIGS. 6A to 6C are diagrams showing an example of the sub teaching program according to the present embodiment.
- Each teaching program shown in FIGS. 6A to 6C is an example of a sub teaching program called from the teaching program A shown in FIG. 6A to 6C are a teaching program B, a teaching program C, and a teaching program D, respectively.
- the teaching program B is a program for retracting the welding robot 10 to a position where the operation of the positioner 20 does not interfere even when the positioner 20 rotates.
- the teaching program C is a program in which the positioner 20 determines a work position.
- the teaching program D is a program in which the welding robot 10 performs wire cutting with the wire cutter 40. The processing when the teaching program A shown in FIG.
- the instruction interpretation unit 32 receives an input from the outside, and acquires an instruction of the teaching program A corresponding to the received input content from the teaching program storage unit 31 (step 101). Since the instruction acquired here is “Teaching program B call”, the instruction interpreting unit 32 further acquires the instruction “movement instruction robot position A” of the teaching program B. Since “movement command robot position A” is a movement command, the command interpretation unit 32 transmits “movement command robot position A” to the movement-related command separation unit 33 (step 102).
- “movement command robot position A” is a command in the synchronization section (step 107)
- the movement related command separation unit 33 transmits this movement command to the main trajectory calculation unit 35 (step 109).
- movement information is calculated by the main trajectory calculation unit 35 (steps 201 and 202).
- “Movement command robot position A” is a movement command for moving the welding robot 10 to position A, and includes the movement contents of the positioner 20 as a peripheral device. Therefore, the main trajectory calculation unit 35 calculates movement information of the welding robot 10 and the positioner 20 and transmits the calculated movement information to the motor drive unit 37. Then, the motor drive unit 37 controls the welding robot 10 and the positioner 20 synchronously to move the welding robot 10 to the position A, and also moves the positioner 20 to the target position of the positioner 20 (step 203).
- the main trajectory calculation unit 35 requests the next movement related command (step 205).
- the command interpreter 32 receives a command request from the main trajectory calculator 35 (step 110)
- the command interpreter 32 acquires the next command “movement command robot position B” (steps 105 and 101). Then, similarly to the movement to the position A, the welding robot 10 and the positioner 20 are synchronously controlled, and the welding robot 10 moves to the position B.
- the execution of the teaching program B ends.
- the instruction interpretation unit 32 acquires the instruction “asynchronous section positioner start” on the second line of the teaching program A (step 101). Since “asynchronous section positioner start” is an instruction for starting the asynchronous section of the positioner and is not a movement related instruction nor an instruction for ending the asynchronous section, the instruction interpreter 32 executes “asynchronous section ⁇ positioner start” to execute the positioner. Asynchronous section is started (steps 102 to 104). Therefore, from the instruction “Teaching Program C Call” on the third line of the teaching program A, the movement related instruction separating unit 33 separates the movement related instruction into the movement related instruction of the welding robot 10 and the movement related instruction of the positioner 20. The movement-related command of the welding robot 10 is transmitted to the main trajectory calculation unit 35, and the movement-related command of the positioner 20 is transmitted to the movement-related command buffer unit 34.
- the instruction interpreting unit 32 Since the next instruction acquired by the instruction interpreting unit 32 is “Teaching program C call” of the teaching program A, the instruction interpreting unit 32 further acquires “movement instruction positioner position a” of the teaching program C (step 101). . Since “movement command positioner position a” is a movement command and is an asynchronous section command, the movement-related command separation unit 33 separates the movement command of the welding robot 10 and the movement command of the positioner 20 (step 108). Then, the movement related command separation unit 33 transmits a command related to the welding robot 10 among the separated commands to the main trajectory calculation unit 35 and transmits a command related to the positioner 20 to the movement related command buffer unit 34 (step 109).
- the movement-related command buffer unit 34 acquires the movement command of the positioner 20, and transmits the movement command to the sub-trajectory calculation unit 36 because the movement state of the positioner 20 is not “moving” (steps 301, 302, and 304). Then, the sub-trajectory calculation unit 36 acquires a movement command and starts moving the positioner 20 to the position a (steps 401 to 403).
- the target position of the welding robot 10 in the three movement commands (first line, second line, and fourth line) of the teaching program C is fixed. Therefore, the movement based on the movement command of the separated welding robot 10 is immediately completed, and the main trajectory calculation unit 35 requests the next movement-related command (steps 201 to 205).
- the command interpretation unit 32 obtains the next command “movement command positioner position b” and “movement speed setting positioner 10%” which is a command for setting the movement speed of the positioner 20. Since these commands are also movement-related commands in the asynchronous section, the movement-related command separation unit 33 separates the movement-related commands of the welding robot 10 and the movement-related commands of the positioner 20 (step 108). However, since the target position of the welding robot 10 is fixed, the movement is completed immediately, and the main trajectory calculation unit 35 requests the next movement-related command (steps 201 to 205).
- the movement command for the positioner 20 at “movement command positioner position b”, and the speed setting command for the positioner 20. Is stored in the movement related command buffer unit 34 (steps 301 to 303). In this way, the movement-related command buffer unit 34 accumulates movement-related commands for the positioner 20 acquired while the positioner 20 moves to the position a.
- the command interpretation unit 32 When receiving the command request from the main trajectory calculation unit 35, the command interpretation unit 32 acquires the next command in parallel with the movement of the positioner 20 (steps 110, 105, 101).
- the next command acquired by the command interpreter 32 is “movement command positioner position c” and “moving speed setting ⁇ positioner 100%” of the teaching program C, and the movement related command separation unit 33 separates the movement related command into commands for each device. To do. If the positioner 20 is moving to the position a, the movement-related command of the positioner 20 is accumulated in the movement-related command buffer unit 34. On the other hand, since the target position of the welding robot 10 is fixed, the movement is immediately completed, and the main trajectory calculation unit 35 requests the next movement command (steps 201 to 205).
- FIG. 7 is a diagram illustrating an example of a state in which the movement-related instruction buffer unit 34 accumulates movement-related instructions. While the positioner 20 moves to the position a, the movement-related command (commands in the second to fifth lines) of the positioner 20 of the teaching program C is transmitted to the movement-related command buffer unit 34 and represents the accumulated state. First, the movement command for the second line of the teaching program C is accumulated, and then the speed setting command for the third line, the movement instruction for the fourth line, and the speed setting instruction for the fifth line are accumulated in order. Further, since the movement command is separated into the movement command for the welding robot 10 and the movement command for the positioner 20, only the movement command for the positioner 20 is stored in the movement-related command buffer unit 34.
- the command interpreter 32 acquires the next command of the teaching program A (steps 110, 105, 101).
- the next instruction acquired by the instruction interpreter 32 is “call teaching program D”, and further acquires “positioning unnecessary positioner” of the teaching program D.
- the “positioning unnecessary positioner” is a command for setting the teaching program D so that the positioner 20 is not moved and the moving command does not include the positioner. Since “positioning unnecessary positioner” is not a movement-related command and is not an asynchronous section end command, the command interpretation unit executes (steps 102 to 104). Next, the command interpretation unit 32 obtains “movement command robot position C”. To do.
- the next “movement command robot position C” is a movement command and is an asynchronous section command, and is transmitted to the movement related command separation unit 33 (step 107). However, since the positioner 20 does not move in the teaching program D, the movement command for the positioner 20 is not transmitted to the movement-related command buffer unit 34. Then, the movement command of the welding robot 10 is transmitted to the main trajectory calculation unit 35 (step 109), the welding robot 10 moves to the position C, and after the movement is completed, the main trajectory calculation unit 35 requests the next movement related command. (Steps 201 to 205). Since the instruction of the next teaching program D is “movement instruction robot position D”, the welding robot 10 moves to position D in the same manner as the movement to position C.
- the instruction interpreter 32 executes in order and performs wire cutting (steps 102 to 104).
- wire cutting is started by the welding robot 10 and the wire cutter 40, and by executing “waiting time instruction 1 second” on the fifth line, the wire cut is performed for 1 second.
- the instruction interpretation unit 32 waits for reception of a wire cut completion signal from the wire cutter 40.
- the command interpretation unit 32 acquires the next command (steps 105 and 101).
- the command interpretation unit 32 acquires the next command “movement command robot position E” of the teaching program D. Then, the welding robot 10 moves to the position E, and after the movement is completed, the main trajectory calculation unit 35 requests the next movement related command.
- the instruction of the teaching program A acquired by the instruction interpretation unit 32 is “asynchronous section positioner waiting”, which is not a movement-related instruction, but an instruction to end the asynchronous section (steps 102 and 103). Therefore, the command interpretation unit 32 waits for a request for a movement-related command from the main trajectory calculation unit 35 and a movement completion notification from the movement-related command buffer unit 34 (step 106).
- the movement of the positioner 20 is also advanced.
- the sub locus calculator 36 moves the movement related instruction buffer.
- the next command is requested to the unit 34 (step 405).
- the next command is “movement command positioner position b”, and the movement-related command buffer unit 34 sends the movement command and the speed setting command “movement speed setting positioner 10%” together to the sub-trajectory calculation unit 36.
- the sub-trajectory calculation unit 36 executes the acquired command, and the positioner 20 moves to the position b at the changed moving speed (Steps 401 to 404).
- the sub-trajectory calculation unit 36 requests the next command from the movement related command buffer unit 34 (step 405), and the movement related command buffer unit 34 moves the movement command “movement command positioner position c”. And the speed setting command “movement speed setting positioner 100%” are transmitted to the sub-trajectory calculation unit 36 together. Similar to the movement to the position b, the positioner 20 moves to the position c at the changed moving speed (steps 401 to 404). As described above, since the movement-related instructions of the asynchronous target device are executed in the order acquired by the movement-related instruction buffer unit 34, it is guaranteed that the instructions are executed in the order described in the teaching program.
- the welding robot 10 since the movement of the positioner 20 is slow, the welding robot 10 reaches the position E and waits for the positioner 20 to reach the position c by the movement command on the seventh line of the teaching program D. Become. After the welding robot 10 reaches the position E, the command interpretation unit 32 receives a command request from the main trajectory calculation unit 35. After the positioner 20 reaches the position c, the sub-trajectory calculation unit 36 requests the next command from the movement-related command buffer unit 34 (step 405), but no command is stored in the movement-related command buffer unit 34. (Step 406). Therefore, the movement related command buffer unit 34 transmits a movement completion notification to the command interpretation unit 32 (step 407).
- the command interpretation unit 32 When the command interpretation unit 32 receives the movement completion notification from the movement-related command buffer unit 34, the waiting of the welding robot 10 and the positioner 20 is completed, and the asynchronous section of the positioner 20 ends. Since all the instructions of the teaching program A are executed, the processing of the teaching program A shown in FIG. 4 and the teaching programs B to D shown in FIGS. 6A to 6C is completed (step 105).
- the operation of the welding robot 10 and the synchronization target device and the operation of the asynchronous target device are performed independently by providing the asynchronous interval and separating the movement command of the asynchronous interval for each device.
- the operator can reduce the cycle time by reducing the correction work of the teaching program without newly creating a teaching program in which the operation of each device is mixed in consideration of the relationship of the operation of each device. Shortening can be realized.
- instructions of the teaching program including movement-related instructions other than movement instructions such as a speed setting instruction are executed in the order described in the teaching program. It is guaranteed.
- FIG. 8 is a diagram illustrating an example of a main teaching program when asynchronous sections overlap.
- a slider is controlled as a peripheral device.
- the teaching program E is called and executed by executing the instruction “teaching program call E” on the first line.
- the asynchronous section of the slider is started by executing the command “Asynchronous section Slider start” on the second line.
- the teach program F is called and executed.
- the welding robot 10 and the positioner 20 that is the synchronization target device are synchronously controlled, but the slider that is the asynchronous target device operates without synchronous control.
- the asynchronous section of the positioner 20 is started by executing the instruction “Asynchronous section Positioner start” on the fourth line.
- the operation of the slider is controlled without being synchronized with the operation of the welding robot 10 and the positioner 20.
- the operation is controlled without being synchronized with the operation of the welding robot 10 and the slider.
- the welding robot 10, slider, and positioner 20 will wait by executing the command “synchronous section slider waiting” on the seventh line and the command “waiting asynchronous section positioner” on the eighth line.
- the movements of the three devices of the welding robot 10, the slider, and the positioner 20 are all completed, the asynchronous section of the slider and the positioner 20 ends.
- each asynchronous target device operates without being controlled synchronously, and at the end of the asynchronous section, the welding robot 10 and the asynchronous target device wait.
- the movement-related instruction buffer unit 34 accumulates movement-related instructions acquired from the movement-related instruction separation unit 33 for each asynchronous target device.
- an error may be generated when a movement command is directly described and executed in an asynchronous section of the main teaching program.
- the range that the operator can designate as the asynchronous section is limited. Therefore, for example, the designation error of the asynchronous section by the operator is reduced such that the movement command described for the synchronous control is handled as a movement instruction in the asynchronous section due to omission of the description of the end of the asynchronous section.
- the peripheral device can be prevented from performing an operation not intended by the operator.
- it may be configured such that an error occurs when a command related to the welding operation of the welding robot 10 is described and executed in the asynchronous section.
- the operations of the welding robot 10 and the peripheral devices are synchronously controlled, so that the asynchronous target device does not operate independently. For this reason, when the instruction related to the welding work is executed in the asynchronous section, an error is generated, so that the peripheral device can be prevented from performing an operation not intended by the operator during the welding work.
- an error may be generated when the start instruction and end instruction of the asynchronous section are executed by different teaching programs.
- the asynchronous section does not end at the timing intended by the operator, and the movement command for synchronous control is executed as an asynchronous section instruction. It can be considered. Therefore, by describing the start instruction and the end instruction of the asynchronous section in the same teaching program, it is possible to prevent each device from performing an operation not intended by the operator.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Plasma & Fusion (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
Description
本発明の目的は、作業にかかる合計時間の短縮を、プログラムの修正作業を軽減して実現することにある。
近年、溶接ロボットシステムでは、溶接ロボットとともに制御装置(ロボットコントローラ)で制御される周辺装置が大型化している。周辺装置としては、例えば、溶接対象となるワークの位置を決める装置であるポジショナや、溶接ロボットを移動させる装置であるスライダなどが該当する。このような周辺装置の大型化に伴い、ワーク着脱時などのポジショナによるワークの位置決めや、ポジショナの動作を干渉しない位置へ溶接ロボットを退避させるためのスライダによる動作など、溶接開始前に周辺装置を動作させる時間が長くなっている。そのため、1つのワークを溶接するのに必要な合計時間であるサイクルタイムの増加を招いている。また、溶接ロボットによるワイヤカットやノズル交換など溶接周辺作業もサイクルタイムが増加する要因である。
そのため以下にて、サイクルタイムの短縮を、プログラムの修正作業を軽減して実現する手順について説明する。
図1は、本実施の形態に係る溶接ロボットシステムの概略構成を示す図である。
図1に示すように、溶接ロボットシステムは、溶接に関する各種の作業を行う溶接ロボット10と、ワークWの位置を決める周辺装置の一例としてのポジショナ20と、溶接ロボットシステムの各装置を制御する制御装置30と、ワイヤをカットするワイヤカッタ40と、溶接作業のための設定や教示プログラムの作成に使用される教示ペンダント50とを備える。また、図1に示す例では記載していないが、本実施の形態に係る溶接ロボットシステムは、例えば、溶接ロボット10を移動させるために溶接ロボット10の下に配置されるスライダ(不図示)等の他の周辺装置を備えることとしても良い。
ポジショナ20は、教示プログラムに基づいて、ワークWの位置を調節する。
制御装置30は、詳細については後述するが、予め教示された教示プログラムを記憶する記憶装置(メモリ)と、教示プログラムを読み込んで溶接ロボット10、ポジショナ20、ワイヤカッタ40の動作を制御する処理装置(CPU)とを備える。教示プログラムは、教示ペンダント50から送信される場合や、教示プログラム作成装置(不図示)により作成され、データ通信により送信される場合がある。また、教示プログラムは、例えばメモリカード等のリムーバブルな記憶媒体を介して制御装置30に渡される場合もある。
教示ペンダント50は、溶接ロボット10による溶接作業を行うために、操作者が溶接経路や溶接作業条件等を設定したり、教示プログラムを作成したりするために使用される。教示ペンダント50は、液晶ディスプレイなどにより構成された表示画面51と、入力ボタン52とを備えている。
図2は、本実施の形態に係る制御装置のハードウェア構成例を示す図である。
図2に示すように、制御装置30は、演算手段であるCPU(Central Processing Unit)61と主記憶手段であるメモリ62とを備える。また、制御装置30は、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)63とキーボードやマウス等の入力デバイス64とを備える。さらに、制御装置30は、外部装置とデータの送受信を行うインタフェース65と記憶媒体に対してデータの読み書きを行うためのドライバ66とを備える。なお、図2は、制御装置30をコンピュータシステムにて実現した場合のハードウェア構成を例示するに過ぎず、制御装置30は図示の構成に限定されない。
図3は、本実施の形態に係る制御装置30の機能構成例を示すブロック図である。
図3に示すように、制御装置30は、教示プログラムを格納する教示プログラム記憶部31と、移動関連の命令を後述する移動関連命令分離部33に送り、移動関連ではない命令を実行する命令解釈部32と、同期区間の命令か非同期区間の命令かを判定し、判定した結果に応じて移動関連命令を装置ごとの命令に分離する移動関連命令分離部33とを備える。また、制御装置30は、装置の移動状態に基づいて移動関連命令を後述するサブ軌跡計算部36に送るか内部に蓄積するかを選択する移動関連命令バッファ部34と、移動関連命令に基づいて同期制御する装置について移動に関する情報を計算するメイン軌跡計算部35と、移動関連命令に基づいて同期制御対象ではない装置について移動に関する情報を計算するサブ軌跡計算部36と、各装置の動作を実行するモータ駆動部37とを備える。
図4は、本実施の形態に係るメイン教示プログラムの一例を示す図である。
図4に示す教示プログラム(以下、教示プログラムAと称する)は、サブ教示プログラムを呼び出すメイン教示プログラムの一例である。図4に示す例では、同期対象装置または非同期対象装置として、ポジショナ20の動作が制御されるものとする。教示プログラムAでは、1行目の命令でサブ教示プログラムである教示プログラムBが呼び出されて溶接ロボット10の退避が行われる。教示プログラムBの呼び出しについては非同期区間外であり、溶接ロボット10の退避が完了すると、次の命令が実行される。
図5Aから図5Dは、本実施の形態に係る教示プログラム実行処理の流れの一例を示すフローチャートである。
図5Aは、命令解釈部32および移動関連命令分離部33の処理の流れの一例を示すフローチャートである。
以上のように、教示プログラムの命令に対して、命令解釈部32および移動関連命令分離部33の処理が行われる。
メイン軌跡計算部35は、図5Aのステップ109で移動関連命令分離部33から移動関連命令を取得する(ステップ201)。次に、メイン軌跡計算部35は、取得した移動関連命令に基づいて、溶接ロボット10および同期対象装置について移動情報を計算する(ステップ202)。そして、メイン軌跡計算部35は、計算した移動情報をモータ駆動部37に送信する。
以上のように、同期制御における移動関連命令に対して、メイン軌跡計算部35およびモータ駆動部37の処理が行われる。
移動関連命令バッファ部34は、図5Aのステップ109で移動関連命令分離部33から移動関連命令を取得する(ステップ301)。次に、移動関連命令バッファ部34は、取得した移動関連命令に対応する非同期対象装置について、サブ軌跡計算部36から移動状態を取得し、非同期対象装置が「移動中」であるか否かを判断する(ステップ302)。非同期対象装置の移動状態が「移動中」である場合(ステップ302でYes)、移動関連命令バッファ部34は移動関連命令を取得した順番に内部に蓄積する(ステップ303)。一方、非同期対象装置の移動状態が「移動中」ではない場合(ステップ302でNo)、移動関連命令バッファ部34は移動関連命令をサブ軌跡計算部36に送信する(ステップ304)。
以上のように、移動関連命令バッファ部34により移動関連命令を蓄積する処理が行われる。
サブ軌跡計算部36は、図5Cのステップ304で移動関連命令バッファ部34から移動関連命令を取得する(ステップ401)。次に、サブ軌跡計算部36は、取得した移動関連命令に基づいて、非同期対象装置について移動情報を計算する(ステップ402)。そして、サブ軌跡計算部36は、計算した移動情報をモータ駆動部37に送信し、非同期対象装置の移動状態を「移動中」とする。
以上のように、非同期対象装置の移動関連命令に対して、移動関連命令バッファ部34、サブ軌跡計算部36、モータ駆動部37の処理が行われる。
図6Aから図6Cは、本実施の形態に係るサブ教示プログラムの一例を示す図である。
図6Aから図6Cに示す各教示プログラムは、図4に示す教示プログラムAから呼び出されるサブ教示プログラムの一例である。図6Aから図6Cの各教示プログラムをそれぞれ、教示プログラムB、教示プログラムC、教示プログラムDとする。教示プログラムBは、ポジショナ20が回転してもポジショナ20の動作を干渉しない位置へ溶接ロボット10を退避させるプログラムである。教示プログラムCは、ポジショナ20がワーク位置を決めるプログラムである。また、教示プログラムDは、溶接ロボット10がワイヤカッタ40によりワイヤカットを行うプログラムである。
以下、図4に示す教示プログラムAおよび図6Aから図6Cに示す教示プログラムB~Dを実行した場合の処理について説明する。図4に示す例と同様に、図6Aすら図6Cに示す例では、同期対象装置または非同期対象装置として、ポジショナ20の動作が制御されるものとする。また、以下に示すステップは、図5Aから図5Dの各ステップに対応するものとする。
図4から図6Cに示す例では、非同期区間を設定する周辺装置が1台である場合について説明したが、複数の周辺装置について非同期区間を設定することとしても良い。そして、複数の周辺装置の非同期区間が重複することとしても良い。図8は、非同期区間が重複する場合のメイン教示プログラムの一例を示す図である。図8に示す教示プログラムでは、周辺装置としてポジショナ20のほかにスライダが制御される。
Claims (6)
- ロボットおよび周辺装置に実行させる動作が記述された教示プログラムを記憶する記憶部と、
前記記憶部により記憶された前記教示プログラムにおいて、前記周辺装置の動作が前記ロボットの動作と同期しない非同期区間と当該非同期区間ではない同期区間とを識別し、当該教示プログラムの命令のうち、当該ロボットおよび当該周辺装置の少なくともいずれか一方の移動に関する命令である移動関連命令について、当該非同期区間の命令か当該同期区間の命令かを判定する判定部と、
前記判定部により前記非同期区間の命令と判定された非同期命令について、前記ロボットおよび前記周辺装置の装置ごとの命令に分離する分離部と、
前記判定部により前記同期区間の命令と判定された同期命令に基づいて、前記ロボットおよび前記周辺装置の動作を同期させて制御し、また、前記分離部により分離された非同期命令のうちの当該ロボットに関する命令に基づいて、当該ロボットの動作を制御する第1制御部と、
前記分離部により分離された非同期命令のうちの前記周辺装置に関する命令に基づいて、前記ロボットの動作と同期させずに当該周辺装置の動作を制御する第2制御部と
を備えた制御システム。 - 前記分離部により分離された非同期命令のうちの前記周辺装置に関する命令について、前記第2制御部により当該周辺装置の動作が制御されている間に取得した当該命令を取得した順番に格納する格納部をさらに備え、
前記第2制御部は、前記格納部が格納した命令を前記順番で実行することを特徴とする請求項1に記載の制御システム。 - 前記周辺装置に加えて1または複数の他の装置からなる周辺装置群が存在し、当該周辺装置群の動作が前記ロボットの動作と同期して制御され、当該周辺装置の動作が当該ロボットの動作と同期せずに制御される前記非同期区間が設けられている場合に、当該非同期区間において、
前記第1制御部は、前記分離部により分離された非同期命令のうちの前記ロボットに関する命令および前記周辺装置群に関する命令に基づいて、当該ロボットおよび当該周辺装置群の動作を同期させて制御し、
前記第2制御部は、前記分離部により分離された非同期命令のうちの前記周辺装置に関する命令に基づいて、前記ロボットおよび前記周辺装置群の動作と同期させずに当該周辺装置の動作を制御する
ことを特徴とする請求項1または2に記載の制御システム。 - 前記周辺装置に加えて、前記ロボットの動作と同期せずに制御される非同期区間が設けられている1または複数の周辺装置が存在し、各周辺装置の当該非同期区間の少なくとも一部が重複する場合に、当該非同期区間が重複する区間において、前記第2制御部は、当該重複する区間で当該非同期区間が設けられた各周辺装置の動作を当該ロボットおよび他の周辺装置の動作と同期させずに制御することを特徴とする請求項1に記載の制御システム。
- 前記移動関連命令は、前記教示プログラムのうちのメイン教示プログラムに呼び出されるサブ教示プログラムに記述されることを特徴とする請求項1に記載の制御システム。
- 予め定められた記憶部に記憶され、ロボットおよび周辺装置に実行させる動作に関する命令群に対し、前記周辺装置の動作が前記ロボットの動作と同期しない非同期区間と当該非同期区間ではない同期区間とを識別し、前記命令群のうち、当該ロボットおよび当該周辺装置の少なくともいずれか一方の移動に関する命令である移動関連命令について、当該非同期区間の命令か当該同期区間の命令かを判定するステップと、
前記非同期区間の命令と判定された非同期命令について、前記ロボットおよび前記周辺装置の装置ごとの命令に分離するステップと、
前記同期区間の命令と判定された同期命令に基づいて、前記ロボットおよび前記周辺装置の動作を同期させて制御し、また、分離された非同期命令のうちの当該ロボットに関する命令に基づいて、当該ロボットの動作を制御するステップと、
分離された非同期命令のうちの前記周辺装置に関する命令に基づいて、前記ロボットの動作と同期させずに当該周辺装置の動作を制御するステップと
を含む、方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020157032466A KR101805283B1 (ko) | 2013-05-16 | 2014-04-17 | 산업용 로봇 및 주변 장치의 동작을 제어하는 제어 시스템 및 제어 방법 |
US14/891,209 US9802313B2 (en) | 2013-05-16 | 2014-04-17 | Industrial-use robot and control system and control method for controlling operation of peripheral device |
EP14797513.0A EP2998082B1 (en) | 2013-05-16 | 2014-04-17 | Industrial-use robot and control system and control method for controlling operation of peripheral device |
CN201480028084.8A CN105209225B (zh) | 2013-05-16 | 2014-04-17 | 控制工业用机器人及外围设备的动作的控制系统及控制方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013103752A JP5970415B2 (ja) | 2013-05-16 | 2013-05-16 | 産業用ロボットおよび周辺装置の動作を制御する制御システムおよび制御方法 |
JP2013-103752 | 2013-05-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014185215A1 true WO2014185215A1 (ja) | 2014-11-20 |
Family
ID=51898196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/060964 WO2014185215A1 (ja) | 2013-05-16 | 2014-04-17 | 産業用ロボットおよび周辺装置の動作を制御する制御システムおよび制御方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9802313B2 (ja) |
EP (1) | EP2998082B1 (ja) |
JP (1) | JP5970415B2 (ja) |
KR (1) | KR101805283B1 (ja) |
CN (1) | CN105209225B (ja) |
WO (1) | WO2014185215A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI579668B (zh) * | 2015-04-22 | 2017-04-21 | 汪宏璋 | 多工同步無等待機器人控制程式系統及其控制方法 |
TWI585559B (zh) * | 2015-04-22 | 2017-06-01 | 汪宏璋 | 多工同步無等待機器人控制程式控制方法 |
CN109732618A (zh) * | 2019-01-23 | 2019-05-10 | 国家电网有限公司 | 一种用于抽水蓄能机组的检查机器人及其控制方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9517556B2 (en) * | 2012-06-29 | 2016-12-13 | Mitsubishi Electric Corporation | Robot control apparatus and robot control method |
US20150129581A1 (en) * | 2013-11-12 | 2015-05-14 | Lincoln Global, Inc. | System and method for pendant component for a welding system |
CN106078753A (zh) * | 2016-06-30 | 2016-11-09 | 珠海格力智能装备有限公司 | 一种机器人示教器、及机器人示教器的信息处理方法 |
JP7124389B2 (ja) * | 2018-03-30 | 2022-08-24 | セイコーエプソン株式会社 | 制御装置、ロボット、およびロボットシステム |
JP7339113B2 (ja) * | 2019-10-09 | 2023-09-05 | ファナック株式会社 | ロボット制御装置及びロボット制御方法 |
JP7436796B2 (ja) * | 2019-12-16 | 2024-02-22 | 株式会社デンソーウェーブ | ロボットのプログラム作成支援装置 |
JP2021135881A (ja) * | 2020-02-28 | 2021-09-13 | セイコーエプソン株式会社 | ロボットの制御方法 |
CN113910234B (zh) * | 2021-10-27 | 2022-10-14 | 因格(苏州)智能技术有限公司 | 双机械手控制方法与存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01281504A (ja) * | 1988-05-09 | 1989-11-13 | Hitachi Ltd | 多軸位置サーボ装置 |
JPH0264713A (ja) * | 1988-08-31 | 1990-03-05 | Hitachi Ltd | 自動作業装置 |
JP2001138275A (ja) * | 1999-11-09 | 2001-05-22 | Denso Corp | ロボットの制御装置 |
JP2002073127A (ja) * | 2000-09-04 | 2002-03-12 | Fanuc Ltd | ロボット制御装置 |
JP2005346740A (ja) | 2005-09-01 | 2005-12-15 | Yaskawa Electric Corp | 作業機械の制御装置、作業機械の同期制御方法および作業機械制御システム |
JP2009026171A (ja) | 2007-07-23 | 2009-02-05 | Daihen Corp | ロボット制御装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486843A (en) * | 1982-03-03 | 1984-12-04 | Nordson Corporation | Transitional command position modification for a controller |
US4685067A (en) * | 1986-02-20 | 1987-08-04 | Cincinnati Milacron Inc. | Control system for program controlled manipulator having multiple triggered functions between programmed points |
DE69216167T2 (de) * | 1991-07-06 | 1997-07-10 | Daihen Corp | Gerät zur Steuerung eines Industrieroboters zur Durchführung koordinierter Arbeitsvorgänge unter Verwendung eines Playbackteachingverfahrens und dies-bezügliches Verfahren |
JPWO2004048049A1 (ja) * | 2002-11-27 | 2006-03-23 | 株式会社安川電機 | 自動機械の制御装置及び制御方法 |
US7860609B2 (en) * | 2005-05-06 | 2010-12-28 | Fanuc Robotics America, Inc. | Robot multi-arm control system |
JP4465012B2 (ja) * | 2008-01-31 | 2010-05-19 | ファナック株式会社 | 搬入/搬出ロボットと協調動作する加工ラインシステム |
JP5127934B2 (ja) * | 2008-12-09 | 2013-01-23 | 三菱電機株式会社 | 機械運動軌跡測定装置、数値制御工作機械および機械運動軌跡測定方法 |
-
2013
- 2013-05-16 JP JP2013103752A patent/JP5970415B2/ja active Active
-
2014
- 2014-04-17 EP EP14797513.0A patent/EP2998082B1/en active Active
- 2014-04-17 US US14/891,209 patent/US9802313B2/en active Active
- 2014-04-17 KR KR1020157032466A patent/KR101805283B1/ko active IP Right Grant
- 2014-04-17 CN CN201480028084.8A patent/CN105209225B/zh active Active
- 2014-04-17 WO PCT/JP2014/060964 patent/WO2014185215A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01281504A (ja) * | 1988-05-09 | 1989-11-13 | Hitachi Ltd | 多軸位置サーボ装置 |
JPH0264713A (ja) * | 1988-08-31 | 1990-03-05 | Hitachi Ltd | 自動作業装置 |
JP2001138275A (ja) * | 1999-11-09 | 2001-05-22 | Denso Corp | ロボットの制御装置 |
JP2002073127A (ja) * | 2000-09-04 | 2002-03-12 | Fanuc Ltd | ロボット制御装置 |
JP2005346740A (ja) | 2005-09-01 | 2005-12-15 | Yaskawa Electric Corp | 作業機械の制御装置、作業機械の同期制御方法および作業機械制御システム |
JP2009026171A (ja) | 2007-07-23 | 2009-02-05 | Daihen Corp | ロボット制御装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2998082A4 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI579668B (zh) * | 2015-04-22 | 2017-04-21 | 汪宏璋 | 多工同步無等待機器人控制程式系統及其控制方法 |
TWI585559B (zh) * | 2015-04-22 | 2017-06-01 | 汪宏璋 | 多工同步無等待機器人控制程式控制方法 |
CN109732618A (zh) * | 2019-01-23 | 2019-05-10 | 国家电网有限公司 | 一种用于抽水蓄能机组的检查机器人及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105209225A (zh) | 2015-12-30 |
KR20150142047A (ko) | 2015-12-21 |
EP2998082B1 (en) | 2019-08-28 |
JP5970415B2 (ja) | 2016-08-17 |
KR101805283B1 (ko) | 2017-12-05 |
CN105209225B (zh) | 2017-06-09 |
EP2998082A1 (en) | 2016-03-23 |
US20160089784A1 (en) | 2016-03-31 |
EP2998082A4 (en) | 2017-06-28 |
US9802313B2 (en) | 2017-10-31 |
JP2014223693A (ja) | 2014-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5970415B2 (ja) | 産業用ロボットおよび周辺装置の動作を制御する制御システムおよび制御方法 | |
KR101745064B1 (ko) | 산업용 로봇을 제어하는 제어 시스템, 제어 장치, 용접물 제조 방법 및 기록 매체에 기록된 프로그램 | |
WO2019116891A1 (ja) | ロボットシステム及びロボット制御方法 | |
JP6209392B2 (ja) | 干渉確認装置 | |
US9494928B2 (en) | Numerical control apparatus | |
JP4097670B2 (ja) | 工作機械におけるモニタ装置 | |
JP4505295B2 (ja) | Nc加工シミュレーション方法及びnc加工シミュレーション装置 | |
JP4668251B2 (ja) | ロボットシステムの制御装置、制御方法およびそのプログラム | |
TWI554856B (zh) | 加工程式轉換裝置及方法 | |
JP5210070B2 (ja) | 数値制御工作機械 | |
JP3821404B2 (ja) | 溶接作業用ロボットの制御方法 | |
US20180178383A1 (en) | Moving Along A Predetermined Path With A Robot | |
JP7538349B2 (ja) | システム及び制御装置 | |
JPS6244352A (ja) | 数値制御工作機械における送り制御方法 | |
JP2014079827A (ja) | 産業用ロボット制御装置 | |
JP4112433B2 (ja) | 工作機械の数値制御装置と工作機械の数値制御方法 | |
JP2010214503A (ja) | ロボット及びユニットコントローラ及び制御ユニット間協調制御方法 | |
JP5946680B2 (ja) | アーク溶接用プログラムのプログラム変換方法、及びアーク溶接用プログラムのプログラム変換装置 | |
JP7339113B2 (ja) | ロボット制御装置及びロボット制御方法 | |
JP2014188544A (ja) | アーク溶接ロボット制御装置及びアーク溶接ロボット制御方法 | |
JP2013215867A (ja) | ロボット制御装置、ロボット制御方法、ロボット制御プログラム、ロボット | |
JPH09305210A (ja) | 複数台ロボットの干渉防止方法 | |
JPH056213A (ja) | 産業用ロボツト制御方法およびその装置 | |
JP7107091B2 (ja) | ロボットシステム及び制御装置 | |
JP4428073B2 (ja) | 溶接装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14797513 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20157032466 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14891209 Country of ref document: US Ref document number: 2014797513 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: IDP00201508356 Country of ref document: ID |