WO2020234946A1 - ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法 - Google Patents

ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法 Download PDF

Info

Publication number
WO2020234946A1
WO2020234946A1 PCT/JP2019/019788 JP2019019788W WO2020234946A1 WO 2020234946 A1 WO2020234946 A1 WO 2020234946A1 JP 2019019788 W JP2019019788 W JP 2019019788W WO 2020234946 A1 WO2020234946 A1 WO 2020234946A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
program
peripheral device
unit
return
Prior art date
Application number
PCT/JP2019/019788
Other languages
English (en)
French (fr)
Inventor
橋口 幸男
康一 桑原
Original Assignee
株式会社安川電機
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社安川電機 filed Critical 株式会社安川電機
Priority to CN201980096428.1A priority Critical patent/CN113874177A/zh
Priority to EP19929443.0A priority patent/EP3970925A4/en
Priority to PCT/JP2019/019788 priority patent/WO2020234946A1/ja
Priority to JP2019545836A priority patent/JP6658985B1/ja
Publication of WO2020234946A1 publication Critical patent/WO2020234946A1/ja
Priority to US17/525,959 priority patent/US20220072703A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • 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
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40164Fault recovery from task execution errors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40204Each fault condition has a different recovery procedure
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40314Simulation of program locally before remote operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40516Replanning

Definitions

  • the present disclosure relates to a robot system, a return program generator, a control support device, a control device, a program, a return program generation method, and a return program output method.
  • Patent Document 1 discloses a processing machine system that includes a processing machine and a robot and causes the robot to exchange workpieces with the processing machine.
  • the present disclosure provides a robot system effective for quickly returning from an irregular state in a robot peripheral device.
  • the robot system is a case where an irregular state occurs in the robot, peripheral devices arranged around the robot, at least a control unit that operates the robot based on a program, and peripheral devices.
  • a return program is generated based on at least the interruption part that interrupts a series of multiple operations linked to the peripheral equipment by the robot based on the operation program and the robot state information of the robot at the time when the operation is interrupted due to the occurrence of an irregular state.
  • a return program generation unit is provided, and the control unit operates the robot with respect to peripheral devices based on the return program so that the operation by the interrupted operation program can be continued.
  • the return program generator interrupts a series of plurality of operations linked with the peripheral device based on the operation program when an irregular state occurs in the peripheral device arranged around the robot.
  • a state information acquisition unit that acquires at least robot state information of the robot, and a return program generation unit that generates a robot return program for making the operation of the interrupted operation program continuous based on at least the robot state information.
  • the control support device interrupts a series of multiple operations linked with the peripheral device based on the operation program when an irregular state occurs in the peripheral device arranged around the robot.
  • Type identification that specifies the type of the irregular state based on at least the state information acquisition unit that acquires at least the robot state information of the robot and the irregular state information indicating the irregular state of the peripheral device, and at least the irregular state information. It includes a unit and a return program output unit that outputs a return program of the robot for making the operation of the interrupted operation program continuous based on at least the type of the irregular state and the robot state information.
  • the control device is based on an operation program based on a program, at least when an irregular state occurs in a control unit that operates the robot and peripheral devices arranged around the robot.
  • the control unit is provided with an interrupt unit that interrupts a series of operations linked to peripheral devices by the robot and a return program acquisition unit that acquires at least a return program based on robot state information, and the control unit interrupts based on the return program.
  • the robot is operated with respect to the peripheral device so that the operation by the executed operation program can be continued.
  • the program according to still another aspect of the present disclosure is a robot in which a series of operations linked with peripheral devices based on an operation program is interrupted when an irregular state occurs in peripheral devices arranged around the robot.
  • the device is made to execute at least the acquisition of the robot state information and the generation of the robot return program for making the operation by the interrupted operation program continuous based on at least the robot state information.
  • the program according to still another aspect of the present disclosure is a robot in which a series of operations linked with peripheral devices based on an operation program is interrupted when an irregular state occurs in peripheral devices arranged around the robot. Acquiring at least the robot state information and the irregular state information indicating the irregular state of the peripheral device, specifying the type of the irregular state based on at least the irregular state information, and the irregular state.
  • the device is made to output the return program of the robot for making the operation by the interrupted operation program continuous based on at least the type and the robot state information.
  • the method of generating the return program is to perform a series of a plurality of operations linked with the peripheral device based on the operation program when an irregular state occurs in the peripheral device arranged around the robot. It includes at least acquiring the robot state information of the interrupted robot and generating a robot return program for making the operation by the interrupted operation program continuous based on at least the robot state information. ..
  • the output method of the return program is to perform a series of a plurality of operations linked with the peripheral device based on the operation program when an irregular state occurs in the peripheral device arranged around the robot. At least acquiring the robot state information of the interrupted robot and the irregular state information indicating the irregular state of the peripheral device, and specifying the type of the irregular state based on at least the irregular state information. It includes outputting a robot return program for making the operation by the interrupted operation program a continuous state based on at least the type of the irregular state and the robot state information.
  • the robot system is a system in which a robot and at least one peripheral device arranged around the robot perform a predetermined work (for example, machining, assembly, etc.) on the work.
  • a predetermined work for example, machining, assembly, etc.
  • Specific examples of the collaborative form between the robot and the peripheral device include a form in which a work handled by the robot is subjected to a predetermined work by the peripheral device, and a work held by the peripheral device and adjusted in position / posture by the robot. Examples include a form in which work is performed.
  • the robot system 1 includes at least one robot 10, at least one peripheral device 50, and a control system 2.
  • the robot 10 is, for example, a 6-axis vertical articulated robot, and has a base 11, a swivel portion 12, a first arm 13, a second arm 14, a wrist portion 15, a tip portion 16, and actuators 41 and 42. , 43, 44, 45, 46.
  • the base 11 is fixed to the floor surface, a dolly, or the like.
  • the swivel portion 12 is provided on the base portion 11 and can swivel around the vertical axis 21. That is, the robot 10 has a joint 31 that allows the swivel portion 12 to swivel around the axis 21.
  • the first arm 13 extends from the swivel portion 12 and can swing around the axis 22 intersecting (for example, orthogonal to) the axis 21. That is, the robot 10 has a joint 32 that allows the first arm 13 to swing around the axis 22.
  • the intersection here includes an intersection in a state of being twisted with each other like a so-called grade separation. The same applies to the following.
  • the second arm 14 extends from the tip of the first arm 13 and can swing around the axis 23 intersecting (for example, orthogonal to) the axis 21. That is, the robot 10 has a joint 33 that allows the second arm 14 to swing around the axis 23.
  • the axis 23 may be parallel to the axis 22.
  • the tip of the second arm 14 can turn around the axis 24 that intersects (for example, orthogonally) the axis 23 along the extending direction of the second arm 14. That is, the robot 10 has a joint 34 that allows the tip of the second arm 14 to rotate around the axis 24.
  • the wrist portion 15 extends from the tip end portion of the second arm 14 and can swing around the axis line 25 intersecting (for example, orthogonal to) the axis line 24. That is, the robot 10 has a joint 35 that allows the wrist portion 15 to swing around the axis 25.
  • the tip portion 16 is provided at the tip portion of the wrist portion 15 and can turn around the axis 26 that intersects (for example, orthogonally) the axis 25 along the extending direction of the wrist portion 15. That is, the robot 10 has a joint 36 that allows the tip portion 16 to rotate around the axis 26.
  • Various tools for work are provided on the tip portion 16. Specific examples of the tool include a hand for holding a work, a painting gun for discharging paint, a welding torch, and the like.
  • Actuators 41, 42, 43, 44, 45, 46 drive joints 31, 32, 33, 34, 35, 36, respectively.
  • the actuator 41 swings the swivel portion 12 around the axis 21
  • the actuator 42 swings the first arm 13 around the axis 22
  • the actuator 43 swings the second arm 14 around the axis 23, and the actuator 44 swings.
  • the tip of the second arm 14 is swiveled around the axis 24, the actuator 45 swings the wrist 15 around the axis 25, and the actuator 46 swivels the tip 16 around the axis 26.
  • the robot 10 can be configured in any way as long as the position and posture of the tip portion 16 can be changed within a desired range.
  • the robot 10 may be a 7-axis vertical articulated robot in which a redundant axis is added to the 6-axis vertical articulated robot described above.
  • the robot 10 may be a so-called scalar type robot or a parallel link type robot.
  • the peripheral device 50 include an NC (Numerical Control) machine tool (for example, a machining center, an NC lathe, an NC milling machine, etc.), a work posture adjusting device that holds a work and adjusts the posture, and the like.
  • the peripheral device 50 may be a robot configured in the same manner as the robot 10. Although FIG. 1 shows one robot 10 and two peripheral devices 50, the number of the robot 10 and the peripheral devices 50 is not particularly limited.
  • the control system 2 operates at least the robot 10 based on the program, and when an irregular state occurs in the peripheral device 50, a series of a plurality of operations linked with the peripheral device 50 by the robot 10 based on the operation program.
  • To generate a return program based on at least the robot state information of the robot 10 at the time when the operation is interrupted due to the occurrence of an irregular state, and to generate an operation by the interrupted operation program based on the return program. Is configured to operate and execute the robot 10 with respect to the peripheral device 50 so that the robot 10 can be continued.
  • the control system 2 has a controller 100, a control support device 200, and a simulator 300.
  • the controller 100 is arranged on the so-called edge side with reference to the arrangement position of the robot 10 and the peripheral device 50.
  • the simulator 300 is arranged on the so-called cloud side.
  • the simulator 300 communicates with the controller 100 via the communication network NW.
  • the communication network NW may be the Internet or a private network.
  • the control support device 200 is interposed between the simulator 300 and the controller 100.
  • the control support device 200 may be interposed between the simulator 300 and the plurality of controllers 100.
  • the control support device 200 may be provided on the edge side or may be provided on the cloud side.
  • the control support device 200 is provided on the edge side and is connected to the controller 100.
  • the connection here means that mutual information communication is possible by wireless or wired.
  • the simulator 300 communicates with at least one control support device 200 via the communication network NW, and communicates with the controller 100 via the communication network NW and the control support device 200.
  • the simulator 300 may communicate with a plurality of control support devices 200.
  • the functions and configurations of the controller 100, the control support device 200, and the simulator 300 will be described individually.
  • the controller 100 controls at least the robot 10 based on a program, interrupts the series of a plurality of operations when an irregular state occurs in the peripheral device 50, and operates by the occurrence of the irregular state.
  • Peripheral device 50 so that the robot 10 can acquire a return program based on at least the robot state information of the robot 10 at the time of interruption and can continue the operation by the interrupted operation program based on the return program. To act on and to execute.
  • the controller 100 is a cell controller that controls at least one robot 10 and at least one peripheral device 50 grouped in one cell.
  • the controller 100 is configured to output driving power to the actuators 41, 42, 43, 44, 45, 46 of the robot 10 and output a control command to the peripheral device 50.
  • the controller 100 may be configured to output drive power to at least one of the peripheral devices 50 instead of a control command.
  • the controller 100 does not necessarily have to be integrated into one housing, and may be divided into a plurality of housings.
  • the controller 100 includes a robot controller that outputs drive power to the actuators 41, 42, 43, 44, 45, 46 of the robot 10 in response to a control command, and a programmable logic controller that outputs a control command to the robot controller and peripheral device 50. It may be divided into and.
  • first type peripheral device 50 receives drive power
  • second type peripheral device 50 receives a control command
  • the controller 100 sends a control command to the robot controller, a servo driver that outputs drive power to the first type peripheral device 50 in response to a control command, a robot controller, a servo driver, and a second type peripheral device 50. It may be separated from the programmable logic controller that outputs.
  • the controller 100 (control device) has a program storage unit 111, a control unit 112, an interruption unit 113, and a return program acquisition as a functional configuration (hereinafter, referred to as “functional block”). It has a part 114 and.
  • the program storage unit 111 stores an operation program for operating the robot 10 and the peripheral device 50.
  • the operation program includes a robot operation program for operating the robot 10 and a peripheral processing program for causing the peripheral device 50 to execute processing in conjunction with the robot 10.
  • the robot operation program includes multiple unit jobs arranged in chronological order.
  • Each unit job is a program for causing the robot 10 to execute a series of unit operations.
  • Specific examples of the unit operation include gripping the work, transporting the gripped work, attaching the work to the peripheral device 50, removing the work from the peripheral device 50, attaching a tool to the peripheral device 50, and attaching the tool to the peripheral device 50. Examples include removing the tool, gripping the tool, transporting the gripped tool, and machining the workpiece with the tool.
  • a unit job includes a plurality of operation instructions arranged in chronological order.
  • Each motion command includes a target position and a target posture of the tip portion 16, a moving speed to the target position and the target posture, and an interpolation method from the current position and the current posture to the target position and the target posture.
  • Specific examples of the interpolation method include linear interpolation and S-shaped interpolation.
  • the robot operation program may have interruptable points between one or two or more of a plurality of unit operations of the robot 10.
  • the information indicating the suspendable point may be stored in association with the unit job.
  • each unit job may include a stop enable / disable flag indicating whether the operation of the robot 10 can be interrupted after the job is completed. For example, when the stop enable / disable flag of a unit job is "OK", the interruptable point is between the unit job and the next unit job.
  • the peripheral processing program includes at least one processing instruction for causing the peripheral device 50 to execute processing in conjunction with the robot 10.
  • the processing instruction is an instruction code that expresses the contents of a series of unit processing in a format that can be recognized by the peripheral device 50.
  • the control unit 112 operates at least the robot 10 based on the program.
  • the control unit 112 operates the robot 10 based on the robot operation program, and operates the peripheral device 50 based on the peripheral device operation program.
  • control unit 112 repeats the control of the robot 10 and the peripheral device 50 in a predetermined control cycle. In each control cycle, the control unit 112 calculates a control command for the robot 10 based on the states of the robot 10 and the peripheral device 50 and the robot operation program, and applies drive power according to the calculated control command to the actuators 41, 42, Output to 43, 44, 45, 46.
  • control unit 112 calculates the target position and target posture of the tip portion 16 for each control cycle based on the states of the robot 10 and the peripheral device 50 and the robot operation program, and reverse kinematics based on the target position and target posture.
  • the target angles of the actuators 41, 42, 43, 44, 45, 46 are calculated as the control command by calculation.
  • control unit 112 calculates and outputs a control command for the peripheral device 50 based on the states of the robot 10 and the peripheral device 50 and the peripheral device operation program.
  • the interruption unit 113 interrupts the operation by the robot 10 based on the robot operation program (a series of a series of plurality of unit operations linked with the peripheral device 50).
  • the interruption unit 113 may interrupt the operation by the peripheral device 50 (the operation linked with the robot 10) based on the peripheral device operation program.
  • the irregular state generated in the peripheral device 50 includes an irregular state caused by an operation failure of the robot 10, such as a work grip failure and a tool grip failure.
  • the interruption unit 113 may interrupt a plurality of unit operations by the robot 10 at the interruption possible point after the time when the irregular state occurs in the peripheral device 50.
  • the interruption unit 113 may interrupt a plurality of unit operations by the robot 10 at the interruption possible point that comes next when the irregular state occurs in the peripheral device 50.
  • the return program acquisition unit 114 acquires at least a return program based on the state information of the robot 10 at the time when the operation is interrupted due to the occurrence of an irregular state. For example, the return program acquisition unit 114 transmits the state information of the robot system 1 at the time when the robot 10 interrupts the operation due to the occurrence of the irregular state to the control support device 200, and the return is generated based on the state information of the robot system 1. The program is acquired from the control support device 200.
  • the state information of the robot system 1 includes the state information of the robot 10 (hereinafter referred to as “robot state information”) and the state information of the peripheral device 50 (hereinafter referred to as “peripheral device state information").
  • the robot state information includes at least information indicating the position and posture of the tip portion 16.
  • the information indicating the position and posture of the tip portion 16 may be the angle information of the joints 31, 32, 33, 34, 35, 36.
  • the robot state information may further include an image captured by the robot 10.
  • the peripheral device status information includes irregular status information indicating the irregular status of the peripheral device 50.
  • Specific examples of the irregular state information include level information indicating the load level, heat generation level, and the like, as well as various alarm information for notifying the occurrence of the various irregular states described above.
  • the peripheral device state information may further include a captured image or the like of the peripheral device 50.
  • the return program may include a return program for the robot (hereinafter referred to as “robot return program”) and a return program for the peripheral device 50 (hereinafter referred to as “peripheral return program").
  • robot return program a return program for the robot
  • peripheral return program a return program for the peripheral device 50
  • the robot return program is a program for causing the robot 10 to execute an operation (hereinafter, referred to as "return operation") for making the operation by the interrupted operation program continuous.
  • return operation an operation for making the operation by the interrupted operation program continuous.
  • Specific examples of the return operation include work replacement, tool replacement, work re-installation, and tool re-installation.
  • the return operation includes substituting the work scheduled to be performed by the other robot. You may.
  • making the operation of the interrupted operation program sustainable means not only making the operation sustainable from the time of interruption, but also making the operation sustainable from a point before the interruption. Including to do.
  • the time point before the interruption time point may be the start time point of the operation program.
  • the sustainable state means a state in which the irregular state is released and the operation by the operation program can be resumed.
  • the robot return program includes a plurality of unit jobs arranged in chronological order.
  • the number of unit jobs included in the robot return program may be one.
  • the peripheral return program is a program for causing the peripheral device 50 to execute a process (hereinafter, referred to as “return process”) for making the operation of the interrupted operation program continuous. Specific examples of the return processing include home return.
  • the peripheral return program includes at least one processing instruction for causing the peripheral device 50 to execute the return process in conjunction with the robot 10.
  • the control unit 112 When the return program acquisition unit 114 acquires the return program, the control unit 112 sends the robot 10 to the peripheral device 50 so that the operation by the interrupted operation program can be continued based on the return program. Make it work. After that, the control unit 112 causes the robot 10 to resume the operation by the interrupted operation program.
  • the control unit 112 surrounds the robot 10 based on the robot return program so that the operation by the interrupted operation program can be continued.
  • the device 50 is operated, and the peripheral device 50 is made to execute the return process in conjunction with the robot 10 based on the peripheral return program.
  • controller 100 may be configured to periodically transmit the state information of the robot system 1 to the control support device 200 even when the irregular state has not occurred.
  • the control support device 200 acquires at least the robot state information and the irregular state information, specifies the type of the irregular state based on at least the irregular state information, and determines the type of the irregular state. It is configured to output and execute a return program of the robot 10 for making the operation by the interrupted operation program continuous based on at least the type and the robot state information.
  • the control support device 200 is a computer that communicates with at least one controller 100 and supports control by the controller 100 based on the information collected from the controller 100.
  • the control support device 200 may be configured to communicate with a plurality of controllers 100 and support control by each controller 100 based on information collected from the plurality of controllers 100.
  • the control support device 200 has a unit operation database 211, a return processing database 212, a return procedure setting unit 213, a return procedure database 214, a type identification unit 215, and a return procedure as functional blocks.
  • a specific unit 216 and a return program output unit 217 are included.
  • the unit operation database 211 stores a plurality of unit operations that can be used to configure the robot return operation.
  • the unit operation database 211 includes, for example, gripping the work, transporting the gripped work, attaching the work to the peripheral device 50, removing the work from the peripheral device 50, attaching the tool to the peripheral device 50, and attaching the tool to the peripheral device 50.
  • Multiple unit operations may be stored as conceptual information indicating the purpose of operation, such as tool removal, tool gripping, and gripped tool transfer, and multiple unit jobs can be supported for multiple unit operations. It may be attached and memorized.
  • the plurality of unit jobs stored in the unit operation database 211 may include a unit job common to the unit job included in the robot operation program of the program storage unit 111.
  • the return processing database 212 stores a plurality of unit processes that can be used to configure the return process.
  • the return processing database 212 may store a plurality of unit processes as conceptual information indicating a processing purpose, such as initialization, return to origin, etc., and supports a plurality of processing instructions for each of the plurality of unit processes. It may be attached and memorized.
  • the plurality of processing instructions stored in the return processing database 212 may include processing instructions common to the processing instructions included in the peripheral processing program of the program storage unit 111.
  • the return procedure setting unit 213 sets the return procedure based on the user's input (for example, input to the input device 226) for each type of irregular state that may occur in the peripheral device 50.
  • the return procedure includes a return procedure (hereinafter referred to as "robot return procedure") that should be executed by the robot 10 in order to enable the operation by the operation program interrupted due to the occurrence of the irregular state to be continued, and peripheral devices. It includes a return procedure to be executed by 50 (hereinafter referred to as "peripheral return procedure").
  • the robot return procedure includes at least one unit operation and its execution procedure.
  • the peripheral return procedure includes at least one unit process and its execution order.
  • the return procedure database 214 stores the return procedure set by the return procedure setting unit 213 for each type of irregular state.
  • the type specifying unit 215 specifies the type of the irregular state at least based on the irregular state information.
  • the type here is information indicating the cause of the irregular state at a level at which the return procedure can be derived.
  • the type specifying unit 215 identifies which type in the return procedure database 214 the irregular state corresponds to based on the irregular state information.
  • the return procedure specifying unit 216 (unit operation specifying unit) specifies one or more unit operations representing the predetermined operation of the robot 10 based on the type of the irregular state specified by the type specifying unit 215.
  • the return procedure specifying unit 216 specifies the return procedure based on the type of the irregular state specified by the type specification unit 215 and the return procedure database 214. More specifically, the return procedure specifying unit 216 specifies the return procedure associated with the type of irregular state in the return procedure database 214.
  • at least one unit operation included in the robot return procedure is specified, and at least one unit process included in the peripheral return procedure is specified as the return process.
  • specifying the type of the irregular state by the type specifying unit 215 specifies the unit operation and the return process in the present embodiment. Equivalent to doing. That is, the type specifying unit 215 specifies one or more unit operations by the robot 10 in addition to the type of the irregular state based on the irregular state information, and specifies the return process in the peripheral device 50.
  • the return program output unit 217 outputs a return program of the robot 10 to the controller 100 so that the operation by the interrupted operation program can be continued, at least based on the type of the irregular state and the robot state information.
  • the return program output unit 217 transmits the return procedure specified by the return procedure identification unit 216 and the state information of the robot system 1 acquired from the controller 100 to the simulator 300, and based on the return procedure and the state information of the robot system 1.
  • the generated return program is acquired from the simulator 300, and the acquired return program is output to the controller 100.
  • the simulator 300 acquires at least robot state information of the robot 10 that interrupts a series of a series of operations linked with the peripheral device 50 based on the operation program when an irregular state occurs in the peripheral device 50. It is configured to execute, and to generate a return program of the robot 10 for making the operation by the interrupted operation program continuous based on at least the robot state information.
  • the simulator 300 may generate a return program by using a simulation of the robot 10 and the peripheral device 50 based on at least the robot state information.
  • the simulator 300 may generate a return program by reproducing the states of the robot 10 and the peripheral device 50 on a simulation based on at least the irregular state information and the robot state information.
  • the simulator 300 may generate a return program by using a simulation at least based on the type of the irregular state and the robot state information.
  • the simulator 300 is a cell simulator that simulates control by the controller 100 based on a simulation model of the robot 10 and the peripheral device 50.
  • the simulator 300 communicates with at least one control support device 200, and simulates control by at least one controller 100 based on the information collected by the control support device 200.
  • the simulator 300 may be configured to communicate with a plurality of control support devices 200 and simulate control by the plurality of controllers 100 based on the information collected by each control support device 200.
  • the simulator 300 has a simulation model storage unit 311 as a functional block, an air cut generation unit 312, a programming unit 313, an interference check unit 314, and a return program output unit 315.
  • the simulation model storage unit 311 stores the model data of the robot 10, the model data of the peripheral device 50, and the model data of the work, the tool, and the like.
  • the model data of the robot 10 includes the arrangement, structure, and dimensions of each part of the robot 10.
  • the model data of the peripheral device 50 includes the arrangement, structure, dimensions of each part, etc. of the peripheral device 50.
  • Model data of workpieces and tools include the structure and dimensions of each part.
  • the air cut generation unit 312 uses simulation based on at least one unit operation included in the return procedure acquired from the control support device 200 and the robot state information, and uses simulation to at least one of the robots 10 before and after the unit operation. Generates an air-cutting action that should work.
  • the air cut generation unit 312 may generate an air cut operation by using a simulation so that the robot 10 does not collide with other objects including the peripheral device 50.
  • the air cut generation unit 312 reproduces a model of the state of the robot 10 and the peripheral device 50 in a virtual space based on the state information of the robot system 1 and the model data stored in the simulation model storage unit 311. Based on the model, an air cut motion is generated from the current position and posture of the tip portion 16 to the start point of the first unit motion (target position and target posture of the first motion command).
  • the air cut generation unit 312 generates an air cut operation between unit operations when the return procedure includes a plurality of unit operations. For example, the air cut generation unit 312 aircuts to the end point of the preceding unit operation (target position and target posture of the last operation command) and the start point of the subsequent unit operation (target position and target posture of the first operation command). Generate an action. As an example of the air cut operation, the air cut generation unit 312 generates an air cut job including a plurality of operation commands arranged in a time series. Each motion command includes a target position and a target posture of the tip portion 16, a moving speed to the target position and the target posture, and an interpolation method from the current position and the current posture to the target position and the target posture.
  • the air cut generation unit 312 generates a waypoint that can avoid collision with another object in the section of the air cut operation, and modifies the air cut job so as to pass through the way point. Repeat until collision avoidance is possible throughout the cut job.
  • the method for generating an air cut job is also disclosed in detail in Japanese Patent No. 4130557, for example.
  • the programming unit 313 generates a robot return program based on at least one unit operation included in the return procedure and the air cut operation generated by the air cut generation unit 312. For example, the programming unit 313 generates a robot return program by connecting at least one unit job corresponding to at least one unit operation included in the return procedure and the air cut job generated by the air cut generation unit 312. In addition, the programming unit 313 generates the peripheral return program based on the return process included in the return procedure.
  • the interference check unit 314 confirms on a simulation whether or not the robot 10 collides with another object based on the robot return program generated by the programming unit 313. For example, the interference check unit 314 calculates the transition of the posture of the robot 10 based on the robot return program by inverse kinematics calculation and forward kinematics calculation based on the model data stored in the simulation model storage unit 311, and the collision in each posture. Check for presence.
  • the return program output unit 315 controls a return program that combines a robot return program generated by the programming unit 313 and confirmed that the interference check unit 314 does not interfere with the peripheral return program generated by the programming unit 313. Output to.
  • the return program output unit 315 may output only the return program to the control support device 200, or may output a program in which the operation program to be restarted after the return program is connected to the return program to the control support device 200.
  • the control support device 200 outputs the return program acquired from the return program output unit 315 to the controller 100.
  • the control unit 112 of the controller 100 operates the robot 10 with respect to the peripheral device 50 based on the robot return program, and executes the return process to the peripheral device 50 in conjunction with the robot 10 based on the peripheral return program. Let me. After that, the controller 100 restarts the operation of the robot 10 and the peripheral device 50 based on the operation program.
  • FIG. 5 is a sequence diagram illustrating the operation of the robot 10 and the processing of the peripheral device 50 based on the operation program.
  • the operation of the robot 10 includes unit operations R01, R02, R03, R04, and R05.
  • the processing of the peripheral device 50 on the left side includes the unit processing M11, M12, and M13, and the unit processing M12 is executed in conjunction with the unit operation R04.
  • the processing of the peripheral device 50 on the right side includes the unit processing M21, M22, M23, and M24, and the unit processing M22 is executed in conjunction with the unit operation R02.
  • the point P1 immediately after the unit operation R04 represents the suspendable point.
  • control system 2 when an irregular state occurs in the middle of the unit processing M23 of FIG. 5 (see point P2) is illustrated.
  • the controller 100 continues the operation of the robot 10 up to the interruptable point P1 after the point P2, and interrupts the operation of the robot 10.
  • control support device 200 and the simulator 300 generate a return program and output it to the controller 100.
  • the controller 100 causes the robot to execute the return operation R11 based on the robot return program.
  • the controller 100 causes the peripheral device 50 to execute the return process M31 based on the peripheral return program.
  • the controller 100 restarts the operation of the robot 10 from the unit operation R05, restarts the processing of the peripheral device 50 on the left side from the unit processing M13, and processes the peripheral device 50 on the right side from the unit processing M23 in which the irregular state occurs. To resume.
  • the simulator 300 may be configured to also generate a unit job corresponding to the unit operation when the unit operation included in the return procedure is the above conceptual information. Further, the simulator 300 may be configured to store the generated return program in association with the return procedure and the state information of the robot system 1. In this case, if the return procedure and the state information of the robot system 1 match, the past return program can be reused.
  • FIG. 7 is a block diagram illustrating a hardware configuration of the control system.
  • the controller 100 includes a circuit 120.
  • the circuit 120 includes at least one processor 121, a memory 122, a storage 123, a communication port 124, a driver 125, an input / output port 126, and a driver 127.
  • the storage 123 is a non-volatile storage medium (eg, flash memory) that can be read by a computer.
  • the storage 123 controls at least the robot 10 based on a program, interrupts the series of a plurality of operations when an irregular state occurs in the peripheral device 50, and operates by the occurrence of the irregular state.
  • Peripheral device 50 so that the robot 10 can acquire a return program based on at least the robot state information of the robot 10 at the time of interruption and can continue the operation by the interrupted operation program based on the return program. It stores a program for operating the controller 100 and causing the controller 100 to execute the program.
  • the storage 123 stores a program for configuring each of the above-mentioned functional blocks in cooperation with the hardware of the controller 100.
  • the memory 122 temporarily stores the program loaded from the storage 123 and the calculation result by the processor 121.
  • the processor 121 constitutes each functional block of the controller 100 by executing the above program in cooperation with the memory 122.
  • the communication port 124 performs network communication with the control support device 200 in response to a command from the processor 121.
  • the communication port 124 is used for acquiring the return program by the return program acquisition unit 114.
  • the driver 125 drives the actuators 41, 42, 43, 44, 45, 46 of the robot 10 according to the command from the processor 121.
  • the input / output port 126 inputs / outputs an electric signal to / from the peripheral device 50 in response to a command from the processor 121.
  • the driver 127 drives the actuator of the peripheral device 50 according to the command from the processor 121.
  • the control support device 200 includes a circuit 220.
  • the circuit 220 includes at least one processor 221, a memory 222, a storage 223, a communication port 224, a network adapter 225, an input device 226, and a display device 227.
  • the storage 223 is a non-volatile storage medium (eg, flash memory) that can be read by a computer.
  • the storage 223 acquires at least the robot state information and the irregular state information, specifies the type of the irregular state based on at least the irregular state information, and determines the type of the irregular state. Based on at least the robot state information, the output of the return program of the robot 10 for making the operation by the interrupted operation program continuous is output, and the program for causing the control support device 200 to execute is stored. ing.
  • the storage 223 stores a program for configuring each of the above-mentioned functional blocks in cooperation with the hardware of the control support device 200.
  • the memory 222 temporarily stores the program loaded from the storage 223 and the calculation result by the processor 221.
  • the processor 221 constitutes each functional block of the control support device 200 by executing the above program in cooperation with the memory 222.
  • the communication port 224 performs network communication with the controller 100 in response to a command from the processor 221.
  • the communication port 224 is used for the output of the return program by the return program output unit 217.
  • the network adapter 225 communicates with the simulator 300 via the communication network NW in response to a command from the processor 221.
  • the input device 226 is, for example, a liquid crystal monitor or the like.
  • the display device 227 is, for example, a keyboard or the like.
  • the input device 226 and the display device 227 may be integrated like a so-called touch panel.
  • the input device 226 and the display device 227 are used, for example, for setting the return procedure by the return procedure setting unit 213.
  • the simulator 300 includes a circuit 320.
  • Circuit 320 includes at least one processor 321, memory 322, storage 323, and network adapter 324.
  • the storage 323 is a non-volatile storage medium (eg, hard disk drive or flash memory) that can be read by a computer.
  • the storage 323 acquires at least the robot state information of the robot 10 that interrupts a series of a series of operations linked with the peripheral device 50 based on the operation program when an irregular state occurs in the peripheral device 50, and the robot state. Based on at least the information, it stores a program for generating the return program of the robot 10 for making the operation by the interrupted operation program continuous, and a program for causing the simulator 300 to execute.
  • the storage 323 stores a program for configuring each of the above-mentioned functional blocks in cooperation with the hardware of the simulator 300.
  • the memory 322 temporarily stores the program loaded from the storage 323 and the calculation result by the processor 321.
  • the processor 321 constitutes each functional block of the simulator 300 by executing the above program in cooperation with the memory 322.
  • the network adapter 324 communicates with the control support device 200 via the communication network NW in response to a command from the processor 321.
  • the simulator 300 does not necessarily have to be arranged on the cloud side, and may be arranged on the edge side together with the controller 100 and the control support device 200.
  • the control support device 200 may be incorporated in the controller 100, or the control support device 200 and the simulator 300 may be incorporated in the controller 100.
  • the controller 100, the control support device 200, and the simulator 300 are not necessarily limited to those whose functions are configured by a program.
  • the controller 100, the control support device 200, and the simulator 300 may have at least some functions configured by a dedicated logic circuit or an ASIC (Application Specific Integrated Circuit) that integrates the dedicated logic circuit.
  • ASIC Application Specific Integrated Circuit
  • control procedure of the robot system 1 will be illustrated.
  • This control procedure consists of a control procedure of the robot 10 and the peripheral device 50 by the controller 100, a return program generation support procedure by the control support device 200, a return program generation procedure by the simulator 300, and a return procedure by the control support device 200. Including setting procedure.
  • each procedure will be illustrated in detail.
  • Control procedure The control procedure of the robot 10 and the peripheral device 50 by the controller 100 is to control at least the robot 10 based on a program and to interrupt the above-mentioned series of a plurality of operations when an irregular state occurs in the peripheral device 50. Then, the return program based on at least the robot state information of the robot 10 at the time when the operation is interrupted due to the occurrence of the irregular state is acquired, and the operation by the interrupted operation program can be continued based on the return program. This includes operating the robot 10 with respect to the peripheral device 50.
  • the controller 100 first executes steps S01, S02, and S03.
  • step S01 the control unit 112 calculates the target position and target posture of the tip portion 16 based on the states of the robot 10 and the peripheral device 50 and the robot operation program, and reverse kinematics calculation based on the target position and target posture.
  • the target angles of the actuators 41, 42, 43, 44, 45, 46 are calculated as the control command.
  • the control unit 112 calculates a control command for the peripheral device 50 based on the states of the robot 10 and the peripheral device 50 and the peripheral device operation program.
  • step S02 the control unit 112 outputs the drive power corresponding to the control command calculated in step S01 to the actuators 41, 42, 43, 44, 45, 46, and outputs the control command calculated in step S01 to the peripheral device 50.
  • step S03 the interruption unit 113 confirms whether or not an irregular state has occurred. For example, the interruption unit 113 confirms whether or not an irregular state has occurred based on the state information acquired from the peripheral device 50.
  • step S03 If it is determined in step S03 that no irregular state has occurred, the controller 100 executes step S04. In step S04, the control unit 112 confirms whether or not the execution of the operation program is completed.
  • step S05 the control unit 112 waits for the elapse of the control cycle and shifts the processing to the control of the next cycle. After that, the controller 100 returns the process to step S01. After that, the control of the robot 10 and the peripheral device 50 is continued while confirming the occurrence of the irregular state until the execution of the operation program is completed.
  • step S03 If it is determined in step S03 that an irregular state has occurred, the controller 100 executes the interruption process in step S11. After that, the controller 100 executes the return process in step S12, and then restarts step S04. The specific contents of the suspend process and the return process will be described later.
  • step S04 When it is determined in step S04 that the execution of the operation program is completed, the controller 100 completes the control of the robot 10 and the peripheral device 50.
  • FIG. 9 is a flowchart illustrating the procedure of the interruption process in step S11.
  • the controller 100 first executes steps S21 and S22.
  • step S21 the interruptable point that the interruption unit 113 visits next when an irregular state occurs in the peripheral device 50 is set as the interruption point of the operation by the robot 10.
  • step S22 the interruption unit 113 confirms whether or not the operation by the robot 10 has reached the interruption point.
  • step S22 If it is determined in step S22 that the operation by the robot 10 has not reached the interruption point, the controller 100 executes steps S23, S24, and S25.
  • step S23 the control unit 112 waits for the elapse of the control cycle and shifts the processing to the control of the next cycle.
  • step S24 the control unit 112 calculates the control commands for the robot 10 and the peripheral device 50, as in step S01.
  • step S25 similarly to step S02, the control unit 112 outputs the drive power according to the control command calculated in step S24 to the actuators 41, 42, 43, 44, 45, 46, and the control calculated in step S24. The command is output to the peripheral device 50. After that, the controller 100 returns the process to step S22.
  • step S22 When it is determined in step S22 that the operation by the robot 10 has reached the interruption point, the interruption unit 113 interrupts the control of the robot 10 and the peripheral device 50 by the control unit 112. This completes the interruption process.
  • FIG. 10 is a flowchart illustrating the procedure of the return process in step S12.
  • the controller 100 first executes steps S31, S32, S33, S34, S35, and S36.
  • step S31 the return program acquisition unit 114 notifies the control support device 200 of the interruption of the operations of the robot 10 and the peripheral device 50 due to the occurrence of the irregular state.
  • step S32 the return program acquisition unit 114 transmits the state information of the robot system 1 at the time when the robot 10 interrupts the operation due to the occurrence of the irregular state to the control support device 200.
  • the return program acquisition unit 114 waits for the return program generated based on the state information of the robot system 1 to be acquired from the control support device 200.
  • step S34 the control unit 112 calculates the target position and target posture of the tip portion 16 based on the states of the robot 10 and the peripheral device 50 and the robot return program, and reverse kinematics calculation based on the target position and target posture.
  • the target angles of the actuators 41, 42, 43, 44, 45, 46 are calculated as the control command.
  • the control unit 112 calculates a control command for the peripheral device 50 based on the states of the robot 10 and the peripheral device 50 and the peripheral device operation program.
  • step S35 the control unit 112 outputs the drive power corresponding to the control command calculated in step S34 to the actuators 41, 42, 43, 44, 45, 46, and outputs the control command calculated in step S34 to the peripheral device 50. Output.
  • step S36 the control unit 112 confirms whether or not the execution of the return program is completed.
  • step S37 the control unit 112 waits for the elapse of the control cycle and shifts to the control of the next cycle. After that, the controller 100 returns the process to step S31. After that, the control of the robot 10 and the peripheral device 50 based on the return program is continued until the execution of the return program is completed.
  • step S36 When it is determined in step S36 that the execution of the return program is completed, the controller 100 completes the control of the robot 10 and the peripheral device 50 based on the return program. This completes the return process.
  • the procedure for supporting the generation of the return program by the control support device 200 specifies at least the robot state information and the irregular state information, and specifies the type of the irregular state based on at least the irregular state information. This includes outputting a return program of the robot 10 for making the operation by the interrupted operation program a continuous state based on at least the type of the irregular state and the robot state information.
  • the control support device 200 executes steps S41, S42, S43, S44, S45, S46, and S47.
  • step S41 the return program output unit 217 waits for notification of interruption of operation of the robot 10 and the peripheral device 50.
  • step S42 the return program output unit 217 waits for the reception of the state information of the robot system 1 at the time when the robot 10 interrupts the operation due to the occurrence of the irregular state.
  • step S43 the type specifying unit 215 specifies the type of the irregular state at least based on the irregular state information.
  • the return procedure specifying unit 216 specifies the return procedure based on the type of the irregular state specified by the type specifying unit 215 and the return procedure database 214.
  • step S45 the return program output unit 217 transmits the return procedure specified by the return procedure specifying unit 216 and the state information of the robot system 1 acquired from the controller 100 to the simulator 300.
  • step S46 the return program output unit 217 waits to acquire the return program generated based on the return procedure and the state information of the robot system 1 from the simulator 300.
  • step S47 the return program output unit 217 outputs the return program acquired from the simulator 300 to the controller 100. This completes the procedure for supporting the generation of the return program.
  • the procedure for generating the return program by the simulator 300 is to acquire at least the robot state information of the robot 10 that interrupts a series of multiple operations linked with the peripheral device 50 based on the operation program when an irregular state occurs in the peripheral device 50. This includes generating a return program for the robot 10 so that the operation by the interrupted operation program can be continued based on at least the robot state information.
  • the simulator 300 first executes steps S51, S52, S53, S54, and S55.
  • step S51 the air cut generation unit 312 waits for reception from the control support device 200 of the return procedure specified by the return procedure specifying unit 216 and the state information of the robot system 1 acquired from the controller 100.
  • step S52 the air cut generation unit 312 reproduces the state of the robot 10 and the peripheral device 50 in the virtual space based on the state information of the robot system 1 and the model data stored in the simulation model storage unit 311.
  • the state in which the air cut generation unit 312 reproduces in the virtual space is referred to as a “reproduction model”.
  • step S53 the air cut generation unit 312 generates the above air cut operation based on the reproduction model.
  • step S54 the programming unit 313 generates a robot return program based on at least one unit operation included in the return procedure and the air cut operation generated by the air cut generation unit 312.
  • the programming unit 313 generates the peripheral return program based on the return process included in the return procedure.
  • step S55 the interference check unit 314 confirms on the simulation whether or not the robot 10 collides with another object based on the robot return program generated by the programming unit 313.
  • step S55 If it is determined in step S55 that the robot 10 collides with another object, the simulator 300 returns the process to step S53 and re-executes the generation of the air cut operation.
  • step S55 If it is determined in step S55 that the robot 10 does not collide with another object, the simulator 300 executes step S56.
  • step S56 the return program output unit 315 generates a return program that combines the robot return program generated by the programming unit 313 and confirmed that the interference check unit 314 does not interfere with the peripheral return program generated by the programming unit 313. Output to the control support device 200. This completes the return program generation process.
  • the procedure for setting the return procedure by the control support device 200 is to acquire the selection input of the unit operation of the robot 10 and the selection input of the unit processing of the peripheral device 50 for each type of irregular state, and to select by the selection input. It includes setting the return procedure based on the unit operation and the return process.
  • the control support device 200 executes steps S61, S62, S63, S64, S65, and S66.
  • step S61 the return procedure setting unit 213 waits for the request to start setting the return procedure to be input (for example, input to the input device 226).
  • step S62 the return procedure setting unit 213 generates a list of a plurality of unit operations stored in the unit operation database 211.
  • step S63 the return procedure setting unit 213 generates a list of a plurality of unit processes stored in the return process database 212.
  • step S64 the return procedure setting unit 213 displays the return procedure input screen (for example, displayed on the display device 227).
  • step S65 the return procedure setting unit 213 waits for a request to register the input contents on the input screen.
  • step S66 the return procedure setting unit 213 sets the return procedure based on the input contents on the input screen, and stores this in the return procedure database 214 in association with the above type of the input screen. This completes the procedure for setting the return procedure.
  • the robot system 1 includes the robot 10, peripheral devices 50 arranged around the robot 10, a control unit 112 that operates at least the robot 10 based on a program, and peripheral devices 50.
  • the interruption unit 113 that interrupts a series of multiple operations linked with the peripheral device 50 by the robot 10 based on the operation program, and the robot of the robot 10 at the time when the operation is interrupted due to the occurrence of the irregular state.
  • a simulator 300 that generates a return program based on at least the state information is provided, and the control unit 112 sets the robot 10 in a state in which the operation by the interrupted operation program can be continued based on the return program. Operate on the peripheral device 50.
  • the interrupted operation can be automatically restarted based on the return program.
  • the return program is automatically generated based on the robot state information, it is possible to automatically recover from various irregular states without preparing many return programs in advance. Therefore, it is effective for quick recovery from the irregular state.
  • the simulator 300 may generate a return program by using simulations of the robot 10 and the peripheral device 50, at least based on the robot state information.
  • a flexible and highly reliable return program can be generated by simulation.
  • the simulator 300 simulates the states of the robot 10 and the peripheral device 50 based on at least the irregular state information representing the irregular state of the peripheral device 50 and the robot state information. May be reproduced to generate a return program. In this case, a more reliable return program can be generated.
  • the robot system 1 further includes a type identification unit 215 that specifies the type of the irregular state based on at least the irregular state information, and the simulator 300 has at least the irregular state.
  • a return program may be generated by using a simulation based on the type of the robot and the robot state information.
  • the logic for specifying the type of irregular state can be set without the skill of operation programming of the robot 10. Therefore, by separating the simulator 300 and the type identification unit 215, it is possible to entrust the construction of the database and logic used for identification by the type identification unit 215 to the user, and the robot system 1 can be easily started up.
  • the type specifying unit 215 specifies the restoration process in the peripheral device 50 in addition to the type of the irregular state based on the irregular state information, and the peripheral device 50 performs the restoration process. You may do it. In this case, the operation of the peripheral device 50 can be automatically restarted. Therefore, it is more effective for quick recovery from the irregular state.
  • the robot system 1 further includes a return procedure specifying unit 216 that specifies one or more unit movements representing the predetermined movement of the robot 10 based on the type of irregular state.
  • the simulator 300 and the air cut generator 312 generate an air cut motion to be operated by the robot 10 at least one before and after the unit motion by using a simulation based on at least the unit motion and the robot state information.
  • a programming unit 313 that generates a return program based on a unit operation and an air cut operation may be provided.
  • the place where accuracy is required is defined as a unit operation, and by connecting between them by an air cut operation, a return program requiring high accuracy can be generated with less resources.
  • the air cut generation unit 312 may use simulation to generate an air cut operation so that the robot 10 does not collide with other objects including the peripheral device 50. In this case, a more reliable return program can be generated.
  • the simulator 300 is an interference that confirms on a simulation whether or not the robot 10 collides with another object including the peripheral device 50 based on the return program generated by the programming unit 313.
  • the robot 10 may further include a check unit 314, and the control unit 112 may operate the robot 10 based on a return program confirmed that the interference check unit 314 does not interfere. In this case, the reliability of the return program is further improved.
  • the operation program has an interruptable point between one or two or more of a plurality of operations of the robot 10, and the interrupted portion 113 is in an irregular state in the peripheral device 50.
  • a plurality of operations by the robot 10 may be interrupted at a suspendable point set after the occurrence.
  • the interruption of the operation of the robot 10 affects the output of the robot system 1 (work production, etc.). It can be suppressed.
  • limiting the state of the robot 10 at the time when the operation is interrupted is also effective in facilitating the generation of the return program.
  • At least the simulator 300 may communicate with the control unit 112 arranged on the edge side where the robot 10 and the peripheral device 50 are arranged via a private network or the Internet. ..
  • the simulator 300 can be easily shared by a plurality of control units 112.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

ロボットシステム1は、ロボット10と、ロボット10の周辺に配置された周辺機器50と、プログラムに基づいて、少なくともロボット10を動作させる制御部112と、周辺機器50でイレギュラー状態が発生した場合に、動作プログラムに基づくロボット10による周辺機器50と連動した一連の複数の動作を中断させる中断部113と、イレギュラー状態の発生により動作を中断した時点におけるロボット10のロボット状態情報に少なくとも基づいて、復帰プログラムを生成するシミュレータ300と、を備え、制御部112は、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボット10を周辺機器50に対して動作させる。

Description

ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
 本開示は、ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法に関する。
 特許文献1には、加工機とロボットとを備え、加工機に対するワークの交換をロボットに実行させる加工機システムが開示されている。
特開2016-168661号公報
 本開示は、ロボットの周辺機器におけるイレギュラー状態からの迅速な復帰に有効なロボットシステムを提供する。
 本開示の一側面に係るロボットシステムは、ロボットと、ロボットの周辺に配置された周辺機器と、プログラムに基づいて、少なくともロボットを動作させる制御部と、周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づくロボットによる周辺機器と連動した一連の複数の動作を中断させる中断部と、イレギュラー状態の発生により動作を中断した時点におけるロボットのロボット状態情報に少なくとも基づいて、復帰プログラムを生成する復帰プログラム生成部と、を備え、制御部は、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボットを周辺機器に対して動作させる。
 本開示の他の側面に係る復帰プログラム生成装置は、ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器と連動した一連の複数の動作を中断したロボットのロボット状態情報を少なくとも取得する状態情報取得部と、ロボット状態情報に少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボットの復帰プログラムを生成する復帰プログラム生成部と、を備える。
 本開示の更に他の側面に係る制御支援装置は、ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器と連動した一連の複数の動作を中断したロボットのロボット状態情報と、周辺機器のイレギュラー状態を表すイレギュラー状態情報とを少なくとも取得する状態情報取得部と、少なくともイレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定する種別特定部と、イレギュラー状態の種別とロボット状態情報とに少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボットの復帰プログラムを出力する復帰プログラム出力部と、を備える。
 本開示の更に他の側面に係る制御装置は、プログラムに基づいて、少なくともロボットを動作させる制御部と、ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づくロボットによる周辺機器と連動した一連の複数の動作を中断させる中断部と、ロボット状態情報に少なくとも基づく復帰プログラムを取得する復帰プログラム取得部と、を備え、制御部は、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボットを周辺機器に対して動作させる。
 本開示の更に他の側面に係るプログラムは、ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器と連動した一連の複数の動作を中断したロボットのロボット状態情報を少なくとも取得することと、ロボット状態情報に少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボットの復帰プログラムを生成することと、を装置に実行させる。
 本開示の更に他の側面に係るプログラムは、ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器と連動した一連の複数の動作を中断したロボットのロボット状態情報と、周辺機器のイレギュラー状態を表すイレギュラー状態情報とを少なくとも取得することと、少なくともイレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定することと、イレギュラー状態の種別とロボット状態情報とに少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボットの復帰プログラムを出力することと、を装置に実行させる。
 本開示の更に他の側面に係る復帰プログラムの生成方法は、ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器と連動した一連の複数の動作を中断したロボットのロボット状態情報を少なくとも取得することと、ロボット状態情報に少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボットの復帰プログラムを生成することと、を含む。
 本開示の更に他の側面に係る復帰プログラムの出力方法は、ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器と連動した一連の複数の動作を中断したロボットのロボット状態情報と、周辺機器のイレギュラー状態を表すイレギュラー状態情報とを少なくとも取得することと、少なくともイレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定することと、イレギュラー状態の種別とロボット状態情報とに少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボットの復帰プログラムを出力することと、を含む。
 本開示によれば、ロボットの周辺機器におけるイレギュラー状態からの迅速な復帰に有効なロボットシステムを提供することができる。
ロボットシステムの概略構成を示す模式図である。 コントローラの機能的な構成を例示するブロック図である。 制御支援装置の機能的な構成を例示するブロック図である。 シミュレータの機能的な構成を例示するブロック図である。 動作プログラムを例示するシーケンス図である。 復帰プログラムが挿入された動作プログラムを例示するシーケンス図である。 制御システムのハードウェア構成を例示するブロック図である。 制御手順を例示するフローチャートである。 中断処理手順を例示するフローチャートである。 復帰処理手順を例示するフローチャートである。 復帰プログラムの生成支援手順を例示するフローチャートである。 復帰プログラムの生成手順を例示するフローチャートである。 復帰手順の設定手順を例示するフローチャートである。
 以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
〔ロボットシステム〕
 本実施形態に係るロボットシステムは、ロボットと、その周辺に配置される少なくとも1台の周辺機器とによって、ワークに対し所定の作業(例えば加工、組立等)を実行するシステムである。ロボットと周辺機器との協働形態の具体例としては、ロボットがハンドリングするワークに対して周辺機器により所定の作業を施す形態、周辺機器が保持し位置・姿勢を調節するワークにロボットによる所定の作業を施す形態等が挙げられる。
 図1に示すように、ロボットシステム1は、少なくとも1台のロボット10と、少なくとも1台の周辺機器50と、制御システム2とを備える。ロボット10は、例えば6軸の垂直多関節ロボットであり、基部11と、旋回部12と、第1アーム13と、第2アーム14と、手首部15と、先端部16と、アクチュエータ41,42,43,44,45,46とを有する。
 基部11は、床面又は台車等に固定される。旋回部12は基部11上に設けられており、鉛直な軸線21まわりに旋回可能である。すなわちロボット10は、軸線21まわりに旋回部12を旋回可能とする関節31を有する。
 第1アーム13は、旋回部12から延出しており、軸線21に交差(例えば直交)する軸線22まわりに揺動可能である。すなわちロボット10は、軸線22まわりに第1アーム13を揺動可能とする関節32を有する。なお、ここでの交差は、所謂立体交差のように互いにねじれの関係にある状態での交差を含む。以下においても同様である。
 第2アーム14は、第1アーム13の先端部から延出しており、軸線21に交差(例えば直交)する軸線23まわりに揺動可能である。すなわちロボット10は、軸線23まわりに第2アーム14を揺動可能とする関節33を有する。軸線23は軸線22と平行であってもよい。
 第2アーム14の先端部は、第2アーム14の延出方向に沿って軸線23に交差(例えば直交)する軸線24まわりに旋回可能である。すなわちロボット10は、軸線24まわりに第2アーム14の先端部を旋回可能とする関節34を有する。
 手首部15は、第2アーム14の先端部から延出しており、軸線24に交差(例えば直交)する軸線25まわりに揺動可能である。すなわちロボット10は、軸線25まわりに手首部15を揺動可能とする関節35を有する。
 先端部16は、手首部15の先端部に設けられており、手首部15の延出方向に沿って軸線25に交差(例えば直交)する軸線26まわりに旋回可能である。すなわちロボット10は、軸線26まわりに先端部16を旋回可能とする関節36を有する。先端部16には、作業用の様々なツールが設けられる。ツールの具体例としては、ワークを保持するためのハンド、塗料を吐出する塗装ガン、及び溶接トーチ等が挙げられる。
 アクチュエータ41,42,43,44,45,46は、関節31,32,33,34,35,36をそれぞれ駆動する。例えばアクチュエータ41は軸線21まわりに旋回部12を旋回させ、アクチュエータ42は軸線22まわりに第1アーム13を揺動させ、アクチュエータ43は軸線23まわりに第2アーム14を揺動させ、アクチュエータ44は軸線24まわりに第2アーム14の先端部を旋回させ、アクチュエータ45は軸線25まわりに手首部15を揺動させ、アクチュエータ46は軸線26まわりに先端部16を旋回させる。
 なお、ロボット10は、先端部16の位置及び姿勢を所望の範囲で変更し得る限りいかようにも構成可能である。例えばロボット10は、上述した6軸の垂直多関節ロボットに冗長軸を追加した7軸の垂直多関節ロボットであってもよい。また、ロボット10は所謂スカラー型のロボットであってもよく、パラレルリンク型のロボットであってもよい。
 周辺機器50の具体例としては、NC(Numerical Control)工作機械(例えばマシニングセンタ、NC旋盤、NCフライス盤等)、ワークを保持して姿勢を調節するワーク姿勢調節装置等が挙げられる。周辺機器50は、ロボット10と同様に構成されたロボットであってもよい。なお、図1においては、1台のロボット10と、2台の周辺機器50とを示しているが、ロボット10及び周辺機器50の数に特に制限はない。
 制御システム2は、プログラムに基づいて、少なくともロボット10を動作させることと、周辺機器50でイレギュラー状態が発生した場合に、動作プログラムに基づくロボット10による周辺機器50と連動した一連の複数の動作を中断させることと、イレギュラー状態の発生により動作を中断した時点におけるロボット10のロボット状態情報に少なくとも基づいて、復帰プログラムを生成することと、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボット10を周辺機器50に対して動作させることと、を実行するように構成されている。
 例えば制御システム2は、コントローラ100と、制御支援装置200と、シミュレータ300とを有する。以下、これらの構成を個別に例示する。ロボット10及び周辺機器50の配置位置を基準にして、コントローラ100は所謂エッジ側に配置される。これに対し、シミュレータ300は所謂クラウド側に配置される。例えばシミュレータ300は、通信ネットワークNWを介してコントローラ100と通信する。通信ネットワークNWは、インターネットであってもよいし、プライベートネットワークであってもよい。
 制御支援装置200はシミュレータ300とコントローラ100との間に介在する。制御支援装置200は、シミュレータ300と複数のコントローラ100との間に介在していてもよい。制御支援装置200はエッジ側に設けられていてよいし、クラウド側に設けられていてもよい。例えば制御支援装置200はエッジ側に設けられており、コントローラ100に接続されている。ここでの接続は、無線又は有線により相互の情報通信が可能となっていることを意味する。
 シミュレータ300は、通信ネットワークNWを介して少なくとも1つの制御支援装置200と通信し、通信ネットワークNW及び制御支援装置200を介してコントローラ100と通信する。シミュレータ300は、複数の制御支援装置200と通信してもよい。以下、コントローラ100、制御支援装置200及びシミュレータ300の機能及び構成を個別に説明する。
(コントローラ)
 コントローラ100は、プログラムに基づいて少なくともロボット10を制御することと、周辺機器50でイレギュラー状態が発生した場合に、上記一連の複数の動作を中断させることと、イレギュラー状態の発生により動作を中断した時点におけるロボット10のロボット状態情報に少なくとも基づく復帰プログラムを取得することと、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボット10を周辺機器50に対して動作させることと、を実行する。
 例えばコントローラ100は、1セルにまとめられた少なくとも1台のロボット10及び少なくとも1台の周辺機器50を制御するセルコントローラである。コントローラ100は、ロボット10のアクチュエータ41,42,43,44,45,46に駆動電力を出力し、周辺機器50に制御指令を出力するように構成されている。コントローラ100は、少なくともいずれかの周辺機器50に対し、制御指令に代えて駆動電力を出力するように構成されていてもよい。
 なお、コントローラ100は、必ずしも1つの筐体にまとまっていなくてもよく、複数の筐体に分かれていてもよい。例えばコントローラ100は、制御指令に応じてロボット10のアクチュエータ41,42,43,44,45,46に駆動電力を出力するロボットコントローラと、ロボットコントローラ及び周辺機器50に制御指令を出力するプログラマブルロジックコントローラとに分かれていてもよい。
 駆動電力を受ける周辺機器50(以下、「第1タイプの周辺機器50」という。)と、制御指令を受ける周辺機器50(以下、「第2タイプの周辺機器50」という。)とが存在する場合、コントローラ100は、上記ロボットコントローラと、制御指令に応じて第1タイプの周辺機器50に駆動電力を出力するサーボドライバと、ロボットコントローラ、サーボドライバ、及び第2タイプの周辺機器50に制御指令を出力するプログラマブルロジックコントローラとに分かれていてもよい。
 図2に示すように、コントローラ100(制御装置)は、機能的な構成(以下、「機能ブロック」という。)として、プログラム記憶部111と、制御部112と、中断部113と、復帰プログラム取得部114とを有する。
 プログラム記憶部111は、ロボット10と周辺機器50とを動作させるための動作プログラムを記憶している。動作プログラムは、ロボット10を動作させるためのロボット動作プログラムと、ロボット10に連動して周辺機器50に処理を実行させるための周辺処理プログラムとを含む。
 ロボット動作プログラムは、時系列に並ぶ複数の単位ジョブを含む。各単位ジョブは、一連の単位動作をロボット10に実行させるためのプログラムである。単位動作の具体例としては、ワークの把持、把持したワークの搬送、周辺機器50へのワークの取り付け、周辺機器50からのワークの取り外し、周辺機器50への工具の取り付け、周辺機器50からの工具の取り外し、工具の把持、把持した工具の搬送、工具によるワークへの加工等が挙げられる。
 例えば単位ジョブは、時系列に並ぶ複数の動作命令を含む。各動作命令は、先端部16の目標位置及び目標姿勢と、目標位置及び目標姿勢への移動速度と、現在位置及び現在姿勢から目標位置及び目標姿勢までの補間方式とを含む。補間方式の具体例としては、線形補間、S字補間等が挙げられる。
 ロボット動作プログラムは、ロボット10の複数の単位動作の1又は2以上の間に、中断可能ポイントを有していてもよい。中断可能ポイントを示す情報は、単位ジョブに対応付けて記憶されていてもよい。例えば、各単位ジョブが、当該ジョブの完了後にロボット10の動作を中断可能であるかを示す停止可否フラグを含んでいてもよい。例えば、単位ジョブの停止可否フラグが「可」である場合、当該単位ジョブと次の単位ジョブとの間が中断可能ポイントとなる。
 周辺処理プログラムは、ロボット10に連動して周辺機器50に処理を実行させるための少なくとも1つの処理命令を含んでいる。処理命令は、一連の単位処理の内容を、周辺機器50にて認識可能な形式で表した命令コードである。
 制御部112は、プログラムに基づいて、少なくともロボット10を動作させる。例えば制御部112は、ロボット動作プログラムに基づいてロボット10を動作させ、周辺機器動作プログラムに基づいて周辺機器50を動作させる。
 例えば制御部112は、ロボット10及び周辺機器50の制御を所定の制御周期で繰り返す。各制御周期において、制御部112は、ロボット10及び周辺機器50の状態とロボット動作プログラムとに基づいてロボット10に対する制御指令を算出し、算出した制御指令に応じた駆動電力をアクチュエータ41,42,43,44,45,46に出力する。
 例えば制御部112は、ロボット10及び周辺機器50の状態とロボット動作プログラムとに基づいて制御周期ごとの先端部16の目標位置及び目標姿勢を算出し、当該目標位置及び目標姿勢に基づく逆運動学演算によりアクチュエータ41,42,43,44,45,46の目標角度を上記制御指令として算出する。各制御周期において、制御部112は、ロボット10及び周辺機器50の状態と周辺機器動作プログラムとに基づいて周辺機器50に対する制御指令を算出し、出力する。
 中断部113は、周辺機器50でイレギュラー状態が発生した場合に、ロボット動作プログラムに基づくロボット10による動作(周辺機器50と連動した一連の複数の単位動作)を中断させる。中断部113は、周辺機器動作プログラムに基づく周辺機器50による動作(ロボット10と連動した動作)を中断させてもよい。
 イレギュラー状態の具体例としては、ワークの設置不良、工具の設置不良、ワークの不存在、工具の不存在、ワークの品質不良、アクチュエータの過負荷異常、異常発熱、周辺機器50のドアの開閉不良等が挙げられる。なお、周辺機器50で発生するイレギュラー状態は、ワークの把持失敗、工具の把持失敗等、ロボット10の動作失敗に起因して生じるイレギュラー状態を含む。
 中断部113は、周辺機器50でイレギュラー状態が発生した時より後の上記中断可能ポイントにおいて、ロボット10による複数の単位動作を中断させてもよい。例えば中断部113は、周辺機器50でイレギュラー状態が発生した時の次に訪れる上記中断可能ポイントにおいて、ロボット10による複数の単位動作を中断させてもよい。
 復帰プログラム取得部114は、イレギュラー状態の発生により動作を中断した時点におけるロボット10の状態情報に少なくとも基づく復帰プログラムを取得する。例えば復帰プログラム取得部114は、イレギュラー状態の発生によりロボット10が動作を中断した時点におけるロボットシステム1の状態情報を制御支援装置200に送信し、ロボットシステム1の状態情報に基づき生成された復帰プログラムを制御支援装置200から取得する。
 ロボットシステム1の状態情報は、ロボット10の状態情報(以下、「ロボット状態情報」という。)と、周辺機器50の状態情報(以下、「周辺機器状態情報」という。)とを含む。
 ロボット状態情報は、少なくとも先端部16の位置及び姿勢を示す情報を含む。先端部16の位置及び姿勢を示す情報は、関節31,32,33,34,35,36の角度情報であってもよい。ロボット状態情報は、ロボット10の撮像画像等を更に含んでいてもよい。
 周辺機器状態情報は、周辺機器50におけるイレギュラー状態を表すイレギュラー状態情報を含む。イレギュラー状態情報の具体例としては、負荷レベル、発熱レベル等を示すレベル情報の他、上述した各種イレギュラー状態の発生を報知する各種アラーム情報等が挙げられる。周辺機器状態情報は、周辺機器50の撮像画像等を更に含んでいてもよい。
 復帰プログラムは、ロボット用の復帰プログラム(以下、「ロボット復帰プログラム」という。)と、周辺機器50用の復帰プログラム(以下、「周辺復帰プログラム」という。)とを含んでいてもよい。
 ロボット復帰プログラムは、中断された動作プログラムによる動作が継続可能な状態にするための動作(以下、「復帰動作」という。)をロボット10に実行させるためのプログラムである。復帰動作の具体例としては、ワークの交換、工具の交換、ワークの再設置、工具の再設置等が挙げられる。また、周辺機器50がロボット10と同じ構成のロボット(以下、「他のロボット」という。)である場合、復帰動作は、他のロボットにより実行する予定であった作業を代替することを含んでいてもよい。
 なお、中断された動作プログラムによる動作を継続可能な状態にすることは、当該動作を中断時点から継続可能な状態にすることの他、当該動作を中断時点より前の時点から継続可能な状態にすることも含む。中断時点より前の時点は、動作プログラムの開始時点であってもよい。継続可能な状態とは、イレギュラー状態が解除され、動作プログラムによる動作を再開可能な状態を意味する。
 ロボット動作プログラムと同様に、ロボット復帰プログラムは、時系列に並ぶ複数の単位ジョブを含む。ロボット復帰プログラムが含む単位ジョブの数は一つであってもよい。周辺復帰プログラムは、中断された動作プログラムによる動作が継続可能な状態にするための処理(以下、「復帰処理」という。)を周辺機器50に実行させるためのプログラムである。復帰処理の具体例としては、原点復帰等が挙げられる。周辺復帰プログラムは、ロボット10に連動して周辺機器50に復帰処理を実行させるための少なくとも1つの処理命令を含んでいる。
 復帰プログラム取得部114が復帰プログラムを取得した場合、制御部112は、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボット10を周辺機器50に対して動作させる。その後、制御部112は、中断された動作プログラムによる動作をロボット10に再開させる。
 復帰プログラムが、上記ロボット復帰プログラムと周辺復帰プログラムとを含む場合、制御部112は、ロボット復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボット10を周辺機器50に対して動作させ、周辺復帰プログラムに基づいて、ロボット10に連動して周辺機器50に復帰処理を実行させる。
 なお、コントローラ100は、イレギュラー状態が発生していない場合においても、ロボットシステム1の状態情報を周期的に制御支援装置200に送信するように構成されていてもよい。
(制御支援装置)
 制御支援装置200は、上記ロボット状態情報と、上記イレギュラー状態情報とを少なくとも取得することと、少なくともイレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定することと、イレギュラー状態の種別とロボット状態情報とに少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボット10の復帰プログラムを出力することと、を実行するように構成されている。
 制御支援装置200は、少なくとも1つのコントローラ100と通信し、コントローラ100から収集した情報に基づいてコントローラ100による制御を支援するコンピュータである。制御支援装置200は、複数のコントローラ100と通信し、複数のコントローラ100から収集した情報に基づいて各コントローラ100による制御を支援するように構成されていてもよい。図3に示すように、制御支援装置200は、機能ブロックとして、単位動作データベース211と、復帰処理データベース212と、復帰手順設定部213と、復帰手順データベース214と、種別特定部215と、復帰手順特定部216と、復帰プログラム出力部217とを含む。
 単位動作データベース211は、上記ロボット復帰動作を構成するのに利用可能な複数の単位動作を記憶している。単位動作データベース211は、例えば、ワークの把持、把持したワークの搬送、周辺機器50へのワークの取り付け、周辺機器50からのワークの取り外し、周辺機器50への工具の取り付け、周辺機器50からの工具の取り外し、工具の把持、把持した工具の搬送等のように、動作目的を表す概念情報として複数の単位動作を記憶していてもよいし、複数の単位ジョブを複数の単位動作にそれぞれ対応付けて記憶していてもよい。単位動作データベース211が記憶する複数の単位ジョブは、プログラム記憶部111のロボット動作プログラムが含む単位ジョブと共通の単位ジョブを含んでいてもよい。
 復帰処理データベース212は、上記復帰処理を構成するのに利用可能な複数の単位処理を記憶している。復帰処理データベース212は、例えば、初期化、原点復帰等のように、処理目的を表す概念情報として複数の単位処理を記憶していてもよいし、複数の処理命令を複数の単位処理にそれぞれ対応付けて記憶していてもよい。復帰処理データベース212が記憶する複数の処理命令は、プログラム記憶部111の周辺処理プログラムが含む処理命令と共通の処理命令を含んでいてもよい。
 復帰手順設定部213は、周辺機器50にて発生し得るイレギュラー状態の種別ごとに、ユーザの入力(例えば入力デバイス226への入力)に基づいて復帰手順を設定する。復帰手順は、イレギュラー状態の発生により中断された動作プログラムによる動作が継続可能な状態にするために、ロボット10に実行させるべき復帰手順(以下、「ロボット復帰手順」という。)と、周辺機器50に実行させるべき復帰手順(以下、「周辺復帰手順」という。)とを含む。ロボット復帰手順は、少なくとも1つの単位動作と、その実行手順とを含む。周辺復帰手順は、少なくとも1つの単位処理と、その実行順序とを含む。
 復帰手順データベース214は、復帰手順設定部213が設定した復帰手順をイレギュラー状態の種別ごとに記憶している。種別特定部215は、少なくともイレギュラー状態情報に基づいて、イレギュラー状態の種別を特定する。ここでの種別は、復帰手順を導出し得るレベルでイレギュラー状態の要因を示す情報である。一例として、種別特定部215は、イレギュラー状態情報に基づいて、イレギュラー状態が復帰手順データベース214におけるいずれの種別に該当するのかを特定する。
 復帰手順特定部216(単位動作特定部)は、種別特定部215により特定されたイレギュラー状態の種別に基づいて、既定されたロボット10の動作を表す1又は2以上の単位動作を特定する。例えば復帰手順特定部216は、種別特定部215により特定されたイレギュラー状態の種別と復帰手順データベース214とに基づいて復帰手順を特定する。より具体的に、復帰手順特定部216は、復帰手順データベース214において、イレギュラー状態の種別に対応付けられた復帰手順を特定する。これにより、ロボット復帰手順が含む少なくとも1つの単位動作が特定され、周辺復帰手順が含む少なくとも1つの単位処理が復帰処理として特定される。
 このように、イレギュラー状態の種別に対応する単位動作及び復帰処理が特定されるので、種別特定部215がイレギュラー状態の種別を特定することは、本実施形態において単位動作及び復帰処理を特定することに相当する。すなわち種別特定部215は、イレギュラー状態情報に基づいて、イレギュラー状態の種別に加えて、ロボット10による1又は2以上の単位動作を特定し、周辺機器50における復帰処理を特定する。
 復帰プログラム出力部217は、イレギュラー状態の種別とロボット状態情報とに少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボット10の復帰プログラムをコントローラ100に出力する。例えば復帰プログラム出力部217は、復帰手順特定部216が特定した復帰手順と、コントローラ100から取得したロボットシステム1の状態情報とをシミュレータ300に送信し、復帰手順及びロボットシステム1の状態情報に基づき生成された復帰プログラムをシミュレータ300から取得し、取得した復帰プログラムをコントローラ100に出力する。
(シミュレータ)
 シミュレータ300(復帰プログラム生成部)は、周辺機器50でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器50と連動した一連の複数の動作を中断したロボット10のロボット状態情報を少なくとも取得することと、ロボット状態情報に少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボット10の復帰プログラムを生成することと、を実行するように構成されている。
 シミュレータ300は、少なくともロボット状態情報に基づいて、ロボット10と周辺機器50のシミュレーションを用いて、復帰プログラムを生成してもよい。シミュレータ300は、上記イレギュラー状態情報と、ロボット状態情報とに少なくとも基づいて、シミュレーション上にロボット10と周辺機器50との状態を再現して、復帰プログラムを生成してもよい。シミュレータ300は、少なくとも上記イレギュラー状態の種別とロボット状態情報とに基づいて、シミュレーションを用いて復帰プログラムを生成してもよい。
 シミュレータ300は、ロボット10及び周辺機器50のシミュレーションモデルに基づいてコントローラ100による制御のシミュレーションを行うセルシミュレータである。シミュレータ300は、少なくとも1つの制御支援装置200と通信し、制御支援装置200が収集した情報に基づいて少なくとも1つのコントローラ100による制御のシミュレーションを行う。シミュレータ300は、複数の制御支援装置200と通信し、各制御支援装置200が収集した情報に基づいて複数のコントローラ100による制御のシミュレーションを行うように構成されていてもよい。
 図4に示すように、シミュレータ300は、機能ブロックとして、シミュレーションモデル記憶部311と、エアカット生成部312と、プログラム化部313と、干渉チェック部314と、復帰プログラム出力部315とを有する。
 シミュレーションモデル記憶部311は、ロボット10のモデルデータと、周辺機器50のモデルデータと、ワーク及び工具等のモデルデータとを記憶する。ロボット10のモデルデータは、ロボット10の配置、構造及び各部寸法を含む。周辺機器50のモデルデータは、周辺機器50の配置、構造及び各部寸法等を含む。ワーク及び工具等のモデルデータは構造及び各部寸法を含む。
 エアカット生成部312は、制御支援装置200から取得した復帰手順が含む少なくとも1つの単位動作と、ロボット状態情報とに基づいて、シミュレーションを用いて、単位動作の前及び後の少なくとも一方でロボット10が動作すべきエアカット動作を生成する。
 エアカット生成部312は、シミュレーションを用いて、ロボット10が周辺機器50を含む他の物体に衝突しないように、エアカット動作を生成してもよい。例えばエアカット生成部312は、ロボットシステム1の状態情報と、シミュレーションモデル記憶部311が記憶するモデルデータとに基づいて、ロボット10と周辺機器50との状態のモデルをバーチャル空間に再現し、当該モデルに基づいて先端部16の現在位置及び姿勢から最初の単位動作の始点(最初の動作命令の目標位置及び目標姿勢)までのエアカット動作を生成する。
 また、エアカット生成部312は、復帰手順が複数の単位動作を含む場合に、単位動作間のエアカット動作を生成する。例えばエアカット生成部312は、先行する単位動作の終点(最後の動作命令の目標位置及び目標姿勢)と、後続する単位動作の始点(最初の動作命令の目標位置及び目標姿勢)までのエアカット動作を生成する。エアカット動作の一例として、エアカット生成部312は、時系列に並ぶ複数の動作命令を含むエアカットジョブを生成する。各動作命令は、先端部16の目標位置及び目標姿勢と、目標位置及び目標姿勢への移動速度と、現在位置及び現在姿勢から目標位置及び目標姿勢までの補間方式とを含む。
 一例として、エアカット生成部312は、エアカット動作の区間において、他の物体との衝突を回避可能な経由点を生成し、当該経由点を通るようにエアカットジョブを修正することを、エアカットジョブ全体にわたって衝突回避が可能となるまで繰り返す。なお、エアカットジョブの生成手法は、例えば特許第4103057号等にも詳細に開示されている。
 プログラム化部313は、復帰手順が含む少なくとも1つの単位動作と、エアカット生成部312が生成したエアカット動作とに基づいて、ロボット復帰プログラムを生成する。例えばプログラム化部313は、復帰手順が含む少なくとも1つの単位動作に対応する少なくとも1つの単位ジョブと、エアカット生成部312が生成したエアカットジョブとをつないでロボット復帰プログラムを生成する。また、プログラム化部313は、復帰手順が含む復帰処理に基づいて、上記周辺復帰プログラムを生成する。
 干渉チェック部314は、プログラム化部313が生成したロボット復帰プログラムに基づいて、ロボット10が他の物体に衝突するか否かをシミュレーション上で確認する。例えば干渉チェック部314は、ロボット復帰プログラムに基づくロボット10の姿勢の推移を、シミュレーションモデル記憶部311が記憶するモデルデータに基づく逆運動学演算及び順運動学演算により算出し、各姿勢における衝突の有無を確認する。
 復帰プログラム出力部315は、プログラム化部313が生成し干渉チェック部314が干渉しないと確認したロボット復帰プログラムと、プログラム化部313が生成した周辺復帰プログラムとを組み合わせた復帰プログラムを制御支援装置200に出力する。復帰プログラム出力部315は、復帰プログラムのみを制御支援装置200に出力してもよいし、復帰プログラムの後に再開する動作プログラムを復帰プログラムにつなげたプログラムを制御支援装置200に出力してもよい。
 制御支援装置200は、復帰プログラム出力部315から取得した復帰プログラムをコントローラ100に出力する。これに応じ、コントローラ100の制御部112が、ロボット復帰プログラムに基づいてロボット10を周辺機器50に対して動作させ、周辺復帰プログラムに基づいてロボット10に連動して周辺機器50に復帰処理を実行させる。その後コントローラ100は、動作プログラムに基づくロボット10及び周辺機器50の動作を再開させる。
 図5は、動作プログラムに基づくロボット10の動作及び周辺機器50の処理を例示するシーケンス図である。ロボット10の動作は、単位動作R01,R02,R03,R04,R05を含んでいる。左側の周辺機器50の処理は、単位処理M11,M12,M13を含んでおり、単位処理M12は単位動作R04に連動して実行される。右側の周辺機器50の処理は、単位処理M21,M22,M23,M24を含んでおり、単位処理M22は単位動作R02に連動して実行される。単位動作R04の直後の点P1は、上記中断可能ポイントを表している。
 図5の単位処理M23の途中(点P2参照)にて、イレギュラー状態が生じた場合における制御システム2の作用を例示する。点P2にてイレギュラー状態が発生すると、コントローラ100は、点P2より後の中断可能ポイントである点P1までロボット10の動作を継続し、ロボット10の動作を中断させる。
 その後、制御支援装置200及びシミュレータ300によって、復帰プログラムが生成され、コントローラ100に出力される。これに応じ、図6に示すように、コントローラ100は、ロボット復帰プログラムに基づく復帰動作R11をロボットに実行させる。これに連動し、コントローラ100は、周辺復帰プログラムに基づいて、復帰処理M31を周辺機器50に実行させる。
 その後、コントローラ100は、単位動作R05からロボット10の動作を再開させ、単位処理M13から左側の周辺機器50の処理を再開させ、イレギュラー状態が発生した単位処理M23から右側の周辺機器50の処理を再開させる。
 なお、シミュレータ300は、復帰手順が含む単位動作が上記概念情報である場合に、当該単位動作に対応する単位ジョブの生成も実行するように構成されていてもよい。また、シミュレータ300は、生成した復帰プログラムを、復帰手順とロボットシステム1の状態情報とに対応付けて蓄積するように構成されていてもよい。この場合、復帰手順とロボットシステム1の状態情報とが一致する場合に過去の復帰プログラムを使いまわすことが可能となる。
(制御システムのハードウェア構成)
 図7は、制御システムのハードウェア構成を例示するブロック図である。図7に示すように、コントローラ100は、回路120を含む。回路120は、少なくとも一つのプロセッサ121と、メモリ122と、ストレージ123と、通信ポート124と、ドライバ125と、入出力ポート126と、ドライバ127とを含む。ストレージ123は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばフラッシュメモリ)である。ストレージ123は、プログラムに基づいて少なくともロボット10を制御することと、周辺機器50でイレギュラー状態が発生した場合に、上記一連の複数の動作を中断させることと、イレギュラー状態の発生により動作を中断した時点におけるロボット10のロボット状態情報に少なくとも基づく復帰プログラムを取得することと、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボット10を周辺機器50に対して動作させることと、をコントローラ100に実行させるためのプログラムを記憶している。例えばストレージ123は、コントローラ100のハードウェアとの協働により上述の各機能ブロックを構成するためのプログラムを記憶している。
 メモリ122は、ストレージ123からロードしたプログラム及びプロセッサ121による演算結果等を一時的に記憶する。プロセッサ121は、メモリ122と協働して上記プログラムを実行することで、コントローラ100の各機能ブロックを構成する。通信ポート124は、プロセッサ121からの指令に応じ、制御支援装置200との間でネットワーク通信を行う。例えば通信ポート124は、上記復帰プログラム取得部114による復帰プログラムの取得に用いられる。ドライバ125は、プロセッサ121からの指令に従って、ロボット10のアクチュエータ41,42,43,44,45,46を駆動する。入出力ポート126は、プロセッサ121からの指令に応じて周辺機器50との間で電気信号の入出力を行う。ドライバ127は、プロセッサ121からの指令に従って、周辺機器50のアクチュエータを駆動する。
 制御支援装置200は、回路220を含む。回路220は、少なくとも一つのプロセッサ221と、メモリ222と、ストレージ223と、通信ポート224と、ネットワークアダプタ225と、入力デバイス226と、表示デバイス227とを含む。ストレージ223は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばフラッシュメモリ)である。ストレージ223は、上記ロボット状態情報と、上記イレギュラー状態情報とを少なくとも取得することと、少なくともイレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定することと、イレギュラー状態の種別とロボット状態情報とに少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボット10の復帰プログラムを出力することと、を制御支援装置200に実行させるためのプログラムを記憶している。例えばストレージ223は、制御支援装置200のハードウェアとの協働により上述の各機能ブロックを構成するためのプログラムを記憶している。
 メモリ222は、ストレージ223からロードしたプログラム及びプロセッサ221による演算結果等を一時的に記憶する。プロセッサ221は、メモリ222と協働して上記プログラムを実行することで、制御支援装置200の各機能ブロックを構成する。通信ポート224は、プロセッサ221からの指令に応じ、コントローラ100との間でネットワーク通信を行う。例えば通信ポート224は、上記復帰プログラム出力部217による復帰プログラムの出力に用いられる。ネットワークアダプタ225は、プロセッサ221からの指令に応じて、シミュレータ300との間で通信ネットワークNWを介した通信を行う。入力デバイス226は、例えば液晶モニタ等である。表示デバイス227は、例えばキーボード等である。入力デバイス226及び表示デバイス227は、所謂タッチパネルのように一体化されていてもよい。入力デバイス226及び表示デバイス227は、例えば上記復帰手順設定部213による復帰手順の設定に用いられる。
 シミュレータ300は、回路320を含む。回路320は、少なくとも一つのプロセッサ321と、メモリ322と、ストレージ323と、ネットワークアダプタ324とを含む。ストレージ323は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスクドライブ又はフラッシュメモリ)である。ストレージ323は、周辺機器50でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器50と連動した一連の複数の動作を中断したロボット10のロボット状態情報を少なくとも取得することと、ロボット状態情報に少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボット10の復帰プログラムを生成することと、をシミュレータ300に実行させるためのプログラムを記憶している。例えばストレージ323は、シミュレータ300のハードウェアとの協働により上述の各機能ブロックを構成するためのプログラムを記憶している。
 メモリ322は、ストレージ323からロードしたプログラム及びプロセッサ321による演算結果等を一時的に記憶する。プロセッサ321は、メモリ322と協働して上記プログラムを実行することで、シミュレータ300の各機能ブロックを構成する。ネットワークアダプタ324は、プロセッサ321からの指令に応じて、制御支援装置200との間で通信ネットワークNWを介した通信を行う。
 なお、以上のハードウェア構成はあくまで一例であり、適宜変更可能である。例えばシミュレータ300は必ずしもクラウド側に配置されていなくてもよく、コントローラ100及び制御支援装置200と共にエッジ側に配置されていてもよい。制御支援装置200がコントローラ100に組み込まれていてもよいし、制御支援装置200及びシミュレータ300がコントローラ100に組み込まれていてもよい。また、コントローラ100、制御支援装置200及びシミュレータ300は、必ずしもプログラムにより各機能を構成するものに限られない。例えばコントローラ100、制御支援装置200及びシミュレータ300は、専用の論理回路又はこれを集積したASIC(Application Specific Integrated Circuit)により少なくとも一部の機能を構成してもよい。
〔制御方法〕
 続いて、制御方法の一例として、ロボットシステム1の制御手順を例示する。この制御手順は、コントローラ100によるロボット10及び周辺機器50の制御手順と、制御支援装置200による復帰プログラムの生成支援手順と、シミュレータ300による復帰プログラムの生成手順と、制御支援装置200による復帰手順の設定手順とを含む。以下、各手順を詳細に例示する。
(制御手順)
 コントローラ100によるロボット10及び周辺機器50の制御手順は、プログラムに基づいて少なくともロボット10を制御することと、周辺機器50でイレギュラー状態が発生した場合に、上記一連の複数の動作を中断させることと、イレギュラー状態の発生により動作を中断した時点におけるロボット10のロボット状態情報に少なくとも基づく復帰プログラムを取得することと、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボット10を周辺機器50に対して動作させることと、を含む。
 図8に示すように、コントローラ100は、まずステップS01,S02,S03を実行する。ステップS01では、制御部112が、ロボット10及び周辺機器50の状態とロボット動作プログラムとに基づいて先端部16の目標位置及び目標姿勢を算出し、当該目標位置及び目標姿勢に基づく逆運動学演算によりアクチュエータ41,42,43,44,45,46の目標角度を上記制御指令として算出する。また、制御部112は、ロボット10及び周辺機器50の状態と周辺機器動作プログラムとに基づいて周辺機器50に対する制御指令を算出する。
 ステップS02では、制御部112が、ステップS01で算出した制御指令に応じた駆動電力をアクチュエータ41,42,43,44,45,46に出力し、ステップS01で算出した制御指令を周辺機器50に出力する。ステップS03では、イレギュラー状態の発生がないかを中断部113が確認する。例えば中断部113は、周辺機器50から取得した状態情報に基づいてイレギュラー状態の発生がないかを確認する。
 ステップS03においてイレギュラー状態の発生がないと判定した場合、コントローラ100はステップS04を実行する。ステップS04では、動作プログラムの実行が完了したか否かを制御部112が確認する。
 ステップS04において動作プログラムの実行が完了していないと判定した場合、コントローラ100はステップS05を実行する。ステップS05では、制御部112が、制御周期の経過を待って処理を次周期の制御に移行させる。その後、コントローラ100は処理をステップS01に戻す。以後、動作プログラムの実行が完了するまでは、イレギュラー状態の発生を確認しながらロボット10及び周辺機器50の制御が継続される。
 ステップS03においてイレギュラー状態が発生していると判定した場合、コントローラ100はステップS11にて中断処理を実行する。その後コントローラ100は、ステップS12にて復帰処理を実行した後に、ステップS04を再開させる。中断処理及び復帰処理の具体的内容については後述する。
 ステップS04において動作プログラムの実行が完了したと判定した場合、コントローラ100はロボット10及び周辺機器50の制御を完了する。
 図9は、ステップS11における中断処理の手順を例示するフローチャートである。図9に示すように、コントローラ100は、まずステップS21,S22を実行する。ステップS21では、中断部113が、周辺機器50でイレギュラー状態が発生した時の次に訪れる上記中断可能ポイントを、ロボット10による動作の中断ポイントとする。ステップS22では、ロボット10による動作が中断ポイントに到達したかを中断部113が確認する。
 ステップS22においてロボット10による動作が中断ポイントに到達していないと判定した場合、コントローラ100はステップS23,S24,S25を実行する。ステップS23では、制御部112が、制御周期の経過を待って処理を次周期の制御に移行させる。ステップS24では、ステップS01と同様に、制御部112が、ロボット10及び周辺機器50の制御指令を算出する。ステップS25では、ステップS02と同様に、制御部112が、ステップS24で算出した制御指令に応じた駆動電力をアクチュエータ41,42,43,44,45,46に出力し、ステップS24で算出した制御指令を周辺機器50に出力する。その後、コントローラ100は処理をステップS22に戻す。
 ステップS22においてロボット10による動作が中断ポイントに到達したと判定した場合、中断部113が、制御部112によるロボット10及び周辺機器50の制御を中断させる。以上で中断処理が完了する。
 図10は、ステップS12における復帰処理の手順を例示するフローチャートである。図10に示すように、コントローラ100は、まずステップS31,S32,S33,S34,S35,S36を実行する。ステップS31では、復帰プログラム取得部114が、イレギュラー状態の発生によるロボット10及び周辺機器50の動作の中断を制御支援装置200に通知する。ステップS32では、復帰プログラム取得部114が、イレギュラー状態の発生によりロボット10が動作を中断した時点におけるロボットシステム1の状態情報を制御支援装置200に送信する。ステップS33では、復帰プログラム取得部114が、ロボットシステム1の状態情報に基づき生成された復帰プログラムを制御支援装置200から取得するのを待機する。
 ステップS34では、制御部112が、ロボット10及び周辺機器50の状態とロボット復帰プログラムとに基づいて先端部16の目標位置及び目標姿勢を算出し、当該目標位置及び目標姿勢に基づく逆運動学演算によりアクチュエータ41,42,43,44,45,46の目標角度を上記制御指令として算出する。また、制御部112は、ロボット10及び周辺機器50の状態と周辺機器動作プログラムとに基づいて周辺機器50に対する制御指令を算出する。ステップS35では、制御部112が、ステップS34で算出した制御指令に応じた駆動電力をアクチュエータ41,42,43,44,45,46に出力し、ステップS34で算出した制御指令を周辺機器50に出力する。ステップS36では、復帰プログラムの実行が完了したか否かを制御部112が確認する。
 ステップS36において復帰プログラムの実行が完了していないと判定した場合、コントローラ100はステップS37を実行する。ステップS37では、制御部112が、制御周期の経過を待って次周期の制御に移行させる。その後、コントローラ100は処理をステップS31に戻す。以後、復帰プログラムの実行が完了するまでは、復帰プログラムに基づくロボット10及び周辺機器50の制御が継続される。
 ステップS36において復帰プログラムの実行が完了したと判定した場合、コントローラ100は復帰プログラムに基づくロボット10及び周辺機器50の制御を完了する。以上で復帰処理が完了する。
(復帰プログラムの生成支援手順)
 制御支援装置200による復帰プログラムの生成支援手順は、上記ロボット状態情報と、上記イレギュラー状態情報とを少なくとも取得することと、少なくともイレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定することと、イレギュラー状態の種別とロボット状態情報とに少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボット10の復帰プログラムを出力することと、を含む。
 図11に示すように、制御支援装置200は、ステップS41,S42,S43,S44,S45,S46,S47を実行する。ステップS41では、復帰プログラム出力部217が、ロボット10及び周辺機器50の動作の中断の通知を待機する。ステップS42では、復帰プログラム出力部217が、イレギュラー状態の発生によりロボット10が動作を中断した時点におけるロボットシステム1の状態情報の受信を待機する。
 ステップS43では、種別特定部215が、少なくともイレギュラー状態情報に基づいて、イレギュラー状態の種別を特定する。ステップS44では、復帰手順特定部216が、種別特定部215により特定されたイレギュラー状態の種別と復帰手順データベース214とに基づいて復帰手順を特定する。
 ステップS45では、復帰手順特定部216が特定した復帰手順と、コントローラ100から取得したロボットシステム1の状態情報とを、復帰プログラム出力部217がシミュレータ300に送信する。ステップS46では、復帰プログラム出力部217が、復帰手順及びロボットシステム1の状態情報に基づき生成された復帰プログラムをシミュレータ300から取得するのを待機する。ステップS47では、復帰プログラム出力部217が、シミュレータ300から取得した復帰プログラムをコントローラ100に出力する。以上で復帰プログラムの生成支援手順が完了する。
(復帰プログラムの生成手順)
 シミュレータ300による復帰プログラムの生成手順は、周辺機器50でイレギュラー状態が発生した場合に、動作プログラムに基づく周辺機器50と連動した一連の複数の動作を中断したロボット10のロボット状態情報を少なくとも取得することと、ロボット状態情報に少なくとも基づいて、中断された動作プログラムによる動作を継続可能な状態とするためのロボット10の復帰プログラムを生成することと、を含む。
 図12に示すように、シミュレータ300は、まずステップS51,S52,S53,S54,S55を実行する。ステップS51では、復帰手順特定部216が特定した復帰手順と、コントローラ100から取得したロボットシステム1の状態情報との制御支援装置200からの受信を、エアカット生成部312が待機する。ステップS52では、エアカット生成部312が、ロボットシステム1の状態情報と、シミュレーションモデル記憶部311が記憶するモデルデータとに基づいて、ロボット10と周辺機器50との状態をバーチャル空間に再現する。以下、エアカット生成部312がバーチャル空間に再現した状態を「再現モデル」という。
 ステップS53では、エアカット生成部312が、再現モデルに基づいて、上記エアカット動作を生成する。ステップS54では、復帰手順が含む少なくとも1つの単位動作と、エアカット生成部312が生成したエアカット動作とに基づいて、プログラム化部313がロボット復帰プログラムを生成する。また、プログラム化部313は、復帰手順が含む復帰処理に基づいて、上記周辺復帰プログラムを生成する。ステップS55では、プログラム化部313が生成したロボット復帰プログラムに基づいて、ロボット10が他の物体に衝突しないかを、干渉チェック部314がシミュレーション上で確認する。
 ステップS55においてロボット10が他の物体に衝突すると判定した場合、シミュレータ300は処理をステップS53に戻し、エアカット動作の生成を実行しなおす。
 ステップS55においてロボット10が他の物体に衝突しないと判定した場合、シミュレータ300はステップS56を実行する。ステップS56では、プログラム化部313が生成し干渉チェック部314が干渉しないと確認したロボット復帰プログラムと、プログラム化部313が生成した周辺復帰プログラムとを組み合わせた復帰プログラムを、復帰プログラム出力部315が制御支援装置200に出力する。以上で復帰プログラムの生成処理が完了する。
(復帰手順の設定手順)
 制御支援装置200による復帰手順の設定手順は、イレギュラー状態の種別ごとに、ロボット10の単位動作の選択入力と、周辺機器50の単位処理の選択入力とを取得することと、選択入力で選択された単位動作及び復帰処理に基づいて復帰手順を設定することとを含む。
 図13に示すように、制御支援装置200は、ステップS61,S62,S63,S64,S65,S66を実行する。ステップS61では、復帰手順の設定開始の要求が入力される(例えば入力デバイス226に入力される)のを、復帰手順設定部213が待機する。ステップS62では、単位動作データベース211が記憶する複数の単位動作のリストを復帰手順設定部213が生成する。ステップS63では、復帰処理データベース212が記憶する複数の単位処理のリストを復帰手順設定部213が生成する。
 ステップS64では、復帰手順設定部213が、復帰手順の入力画面を表示(例えば表示デバイス227に表示)する。入力画面は、ステップS61,S62で生成されたリストの表示部と、復帰手順の設定対象となるイレギュラー状態の種別を指定する入力部と、実行順序を定めながら単位動作及び単位処理を選択する入力部とを含む。
 ステップS65では、復帰手順設定部213が、入力画面への入力内容の登録要求を待機する。ステップS66では、復帰手順設定部213が、入力画面への入力内容に基づいて復帰手順を設定し、これを入力画面の上記種別に対応付けて復帰手順データベース214に記憶させる。以上で復帰手順の設定手順が完了する。
〔本実施形態の効果〕
 以上に説明したように、ロボットシステム1は、ロボット10と、ロボット10の周辺に配置された周辺機器50と、プログラムに基づいて、少なくともロボット10を動作させる制御部112と、周辺機器50でイレギュラー状態が発生した場合に、動作プログラムに基づくロボット10による周辺機器50と連動した一連の複数の動作を中断させる中断部113と、イレギュラー状態の発生により動作を中断した時点におけるロボット10のロボット状態情報に少なくとも基づいて、復帰プログラムを生成するシミュレータ300と、を備え、制御部112は、復帰プログラムに基づいて、中断された動作プログラムによる動作が継続可能な状態になるように、ロボット10を周辺機器50に対して動作させる。
 このロボットシステム1によれば、イレギュラー状態の発生によりロボット10の動作が中断した場合に、復帰プログラムに基づいて中断した動作を自動的に再開することができる。また、ロボット状態情報に基づく復帰プログラムの自動生成も行われるので、予め多くの復帰プログラムを用意しておかなくても、様々なイレギュラー状態からの自動復帰が可能となる。従って、イレギュラー状態からの迅速な復帰に有効である。
 本実施形態が例示するように、シミュレータ300は、少なくともロボット状態情報に基づいて、ロボット10と周辺機器50のシミュレーションを用いて、復帰プログラムを生成してもよい。この場合、シミュレーションにより柔軟で信頼性の高い復帰プログラムを生成できる。
 本実施形態が例示するように、シミュレータ300は、少なくとも周辺機器50のイレギュラー状態を表すイレギュラー状態情報と、ロボット状態情報とに少なくとも基づいて、シミュレーション上にロボット10と周辺機器50との状態を再現して、復帰プログラムを生成してもよい。この場合、更に信頼性の高い復帰プログラムを生成できる。
 本実施形態にて例示したように、ロボットシステム1は、少なくともイレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定する種別特定部215を更に有し、シミュレータ300は、少なくともイレギュラー状態の種別とロボット状態情報とに基づいて、シミュレーションを用いて復帰プログラムを生成してもよい。イレギュラー状態の種別を特定するためのロジックは、ロボット10の動作プログラミングのスキルがなくても設定可能である。そこで、シミュレータ300と種別特定部215とを切り分けることで、種別特定部215による特定に使用するデータベースやロジックの構築をユーザに委ねることが可能となり、ロボットシステム1の立ち上げが容易になる。
 本実施形態が例示するように、種別特定部215は、イレギュラー状態情報に基づいて、イレギュラー状態の種別に加えて、周辺機器50における復帰処理を特定し、周辺機器50は、復帰処理を実行してもよい。この場合、周辺機器50の動作も自動的に再開することができる。従って、イレギュラー状態からの迅速な復帰に更に有効である。
 本実施形態が例示するように、ロボットシステム1は、イレギュラー状態の種別に基づいて、既定されたロボット10の動作を表す1又は2以上の単位動作を特定する復帰手順特定部216を更に備え、シミュレータ300は、少なくとも単位動作とロボット状態情報とに基づいて、シミュレーションを用いて、単位動作の前及び後の少なくとも一方でロボット10が動作すべきエアカット動作を生成するエアカット生成部312と、単位動作とエアカット動作とに基づいて、復帰プログラムを生成するプログラム化部313と、を有していてもよい。この場合、精度が求められるところは単位動作として既定しておき、その間をエアカット動作で繋ぐことで、高い精度が求められる復帰プログラムも、より少ないリソースで生成できる。
 本実施形態が例示するように、エアカット生成部312は、シミュレーションを用いて、ロボット10が周辺機器50を含む他の物体に衝突しないように、エアカット動作を生成してもよい。この場合、より信頼性の高い復帰プログラムを生成することができる。
 本実施形態が例示するように、シミュレータ300は、プログラム化部313が生成した復帰プログラムに基づいて、ロボット10が周辺機器50を含む他の物体に衝突するか否かをシミュレーション上で確認する干渉チェック部314を更に有し、制御部112は、干渉チェック部314が干渉しないと確認した復帰プログラムに基づいて、ロボット10を動作させてもよい。この場合、復帰プログラムの信頼性が更に向上する。
 本実施形態が例示するように、動作プログラムは、ロボット10の複数の動作の1又は2以上の間に、中断可能ポイントを有しており、中断部113は、周辺機器50でイレギュラー状態が発生した時より後に設定された中断可能ポイントにおいて、ロボット10による複数の動作を中断させてもよい。この場合、動作を中断する時点のロボット10の状態を、予め定められた中断ポイントに制限することで、ロボット10の動作の中断がロボットシステム1のアウトプット(ワークの生産等)に及ぼす影響を抑えることができる。また、動作を中断する時点のロボット10の状態を制限することは、復帰プログラムの生成の容易化にも有効である。
 本実施形態が例示するように、少なくともシミュレータ300は、ロボット10と周辺機器50とが配置されるエッジ側に配置される制御部112に対して、プライベートネットワーク又はインターネットを介して通信してもよい。この場合、シミュレータ300をネットワーク上に配置することで、シミュレータ300を、複数の制御部112で共用し易くなる。
 以上、実施形態について説明したが、本開示は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
 1…ロボットシステム、10…ロボット、50…周辺機器、112…制御部、113…中断部、114…復帰プログラム取得部、200…制御支援装置、215…種別特定部、216…復帰手順特定部(単位動作特定部)、217…復帰プログラム出力部、300…シミュレータ(復帰プログラム生成部)、312…エアカット生成部、313…プログラム化部、314…干渉チェック部、M31…復帰処理、R01,R02,R03,R04,R05…単位動作。

Claims (17)

  1.  ロボットと、
     前記ロボットの周辺に配置された周辺機器と、
     プログラムに基づいて、少なくとも前記ロボットを動作させる制御部と、
     前記周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく前記ロボットによる前記周辺機器と連動した一連の複数の動作を中断させる中断部と、
     前記イレギュラー状態の発生により動作を中断した時点における前記ロボットのロボット状態情報に少なくとも基づいて、復帰プログラムを生成する復帰プログラム生成部と、
    を備え、
     前記制御部は、
     前記復帰プログラムに基づいて、中断された前記動作プログラムによる動作が継続可能な状態になるように、前記ロボットを前記周辺機器に対して動作させる、ロボットシステム。
  2.  前記復帰プログラム生成部は、少なくとも前記ロボット状態情報に基づいて、前記ロボットと前記周辺機器のシミュレーションを用いて、前記復帰プログラムを生成する、請求項1に記載のロボットシステム。
  3.  前記復帰プログラム生成部は、少なくとも前記周辺機器の前記イレギュラー状態を表すイレギュラー状態情報と、前記ロボット状態情報とに少なくとも基づいて、シミュレーション上に前記ロボットと前記周辺機器との状態を再現して、前記復帰プログラムを生成する、請求項2に記載のロボットシステム。
  4.  少なくとも前記イレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定する種別特定部を更に有し、
     前記復帰プログラム生成部は、少なくとも前記イレギュラー状態の種別と前記ロボット状態情報とに基づいて、前記シミュレーションを用いて前記復帰プログラムを生成する、請求項3に記載のロボットシステム。
  5.  前記種別特定部は、前記イレギュラー状態情報に基づいて、前記イレギュラー状態の種別に加えて、前記周辺機器における復帰処理を特定し、
     前記周辺機器は、前記復帰処理を実行する、請求項4に記載のロボットシステム。
  6.  前記イレギュラー状態の種別に基づいて、既定された前記ロボットの動作を表す1又は2以上の単位動作を特定する単位動作特定部を更に備え、
     前記復帰プログラム生成部は、
     少なくとも前記単位動作と前記ロボット状態情報とに基づいて、前記シミュレーションを用いて、前記単位動作の前及び後の少なくとも一方で前記ロボットが動作すべきエアカット動作を生成するエアカット生成部と、
     前記単位動作と前記エアカット動作とに基づいて、前記復帰プログラムを生成するプログラム化部と、
    を有する、請求項4又は5に記載のロボットシステム。
  7.  前記エアカット生成部は、
     前記シミュレーションを用いて、前記ロボットが前記周辺機器を含む他の物体に衝突しないように、前記エアカット動作を生成する、請求項6に記載のロボットシステム。
  8.  前記復帰プログラム生成部は、
     前記プログラム化部が生成した前記復帰プログラムに基づいて、前記ロボットが前記周辺機器を含む他の物体に衝突するか否かを前記シミュレーション上で確認する干渉チェック部を更に有し、
     前記制御部は、前記干渉チェック部が干渉しないと確認した前記復帰プログラムに基づいて、前記ロボットを動作させる、請求項6又は7に記載のロボットシステム。
  9.  前記動作プログラムは、前記ロボットの複数の動作の1又は2以上の間に、中断可能ポイントを有しており、
     前記中断部は、前記周辺機器でイレギュラー状態が発生した時より後に設定された前記中断可能ポイントにおいて、前記ロボットによる複数の動作を中断させる、請求項1~8のいずれか1項に記載のロボットシステム。
  10.  少なくとも前記復帰プログラム生成部は、前記ロボットと前記周辺機器とが配置されるエッジ側に配置される制御部に対して、プライベートネットワーク又はインターネットを介して通信する、請求項1~9のいずれか1項に記載のロボットシステム。
  11.  ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく前記周辺機器と連動した一連の複数の動作を中断した前記ロボットのロボット状態情報を少なくとも取得する状態情報取得部と、
     前記ロボット状態情報に少なくとも基づいて、中断された前記動作プログラムによる動作を継続可能な状態とするための前記ロボットの復帰プログラムを生成する復帰プログラム生成部と、を備える復帰プログラム生成装置。
  12.  ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく前記周辺機器と連動した一連の複数の動作を中断した前記ロボットのロボット状態情報と、前記周辺機器の前記イレギュラー状態を表すイレギュラー状態情報とを少なくとも取得する状態情報取得部と、
     少なくとも前記イレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定する種別特定部と、
     前記イレギュラー状態の種別と前記ロボット状態情報とに少なくとも基づいて、中断された前記動作プログラムによる動作を継続可能な状態とするための前記ロボットの復帰プログラムを出力する復帰プログラム出力部と、を備える制御支援装置。
  13.  プログラムに基づいて、少なくともロボットを動作させる制御部と、
     前記ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく前記ロボットによる前記周辺機器と連動した一連の複数の動作を中断させる中断部と、
     前記イレギュラー状態の発生により動作を中断した時点における前記ロボットのロボット状態情報に少なくとも基づく復帰プログラムを取得する復帰プログラム取得部と、
    を備え、
     前記制御部は、
     前記復帰プログラムに基づいて、中断された前記動作プログラムによる動作が継続可能な状態になるように、前記ロボットを前記周辺機器に対して動作させる、制御装置。
  14.  ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく前記周辺機器と連動した一連の複数の動作を中断した前記ロボットのロボット状態情報を少なくとも取得することと、
     前記ロボット状態情報に少なくとも基づいて、中断された前記動作プログラムによる動作を継続可能な状態とするための前記ロボットの復帰プログラムを生成することと、を装置に実行させるプログラム。
  15.  ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく前記周辺機器と連動した一連の複数の動作を中断した前記ロボットのロボット状態情報と、前記周辺機器の前記イレギュラー状態を表すイレギュラー状態情報とを少なくとも取得することと、
     少なくとも前記イレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定することと、
     前記イレギュラー状態の種別と前記ロボット状態情報とに少なくとも基づいて、中断された前記動作プログラムによる動作を継続可能な状態とするための前記ロボットの復帰プログラムを出力することと、を装置に実行させるプログラム。
  16.  ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく前記周辺機器と連動した一連の複数の動作を中断した前記ロボットのロボット状態情報を少なくとも取得することと、
     前記ロボット状態情報に少なくとも基づいて、中断された前記動作プログラムによる動作を継続可能な状態とするための前記ロボットの復帰プログラムを生成することと、を含む復帰プログラムの生成方法。
  17.  ロボットの周辺に配置された周辺機器でイレギュラー状態が発生した場合に、動作プログラムに基づく前記周辺機器と連動した一連の複数の動作を中断した前記ロボットのロボット状態情報と、前記周辺機器の前記イレギュラー状態を表すイレギュラー状態情報とを少なくとも取得することと、
     少なくとも前記イレギュラー状態情報に基づいて、当該イレギュラー状態の種別を特定することと、
     前記イレギュラー状態の種別と前記ロボット状態情報とに少なくとも基づいて、中断された前記動作プログラムによる動作を継続可能な状態とするための前記ロボットの復帰プログラムを出力することと、を含む復帰プログラムの出力方法。
PCT/JP2019/019788 2019-05-17 2019-05-17 ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法 WO2020234946A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201980096428.1A CN113874177A (zh) 2019-05-17 2019-05-17 机器人系统、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法
EP19929443.0A EP3970925A4 (en) 2019-05-17 2019-05-17 ROBOT SYSTEM, RECOVERY PROGRAM GENERATING DEVICE, CONTROL SUPPORT DEVICE, CONTROL DEVICE, PROGRAM, RECOVERY PROGRAM GENERATING METHOD AND RECOVERY PROGRAM OUTPUT METHOD
PCT/JP2019/019788 WO2020234946A1 (ja) 2019-05-17 2019-05-17 ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
JP2019545836A JP6658985B1 (ja) 2019-05-17 2019-05-17 ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
US17/525,959 US20220072703A1 (en) 2019-05-17 2021-11-15 Suspended robot recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/019788 WO2020234946A1 (ja) 2019-05-17 2019-05-17 ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/525,959 Continuation US20220072703A1 (en) 2019-05-17 2021-11-15 Suspended robot recovery

Publications (1)

Publication Number Publication Date
WO2020234946A1 true WO2020234946A1 (ja) 2020-11-26

Family

ID=69997951

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/019788 WO2020234946A1 (ja) 2019-05-17 2019-05-17 ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法

Country Status (5)

Country Link
US (1) US20220072703A1 (ja)
EP (1) EP3970925A4 (ja)
JP (1) JP6658985B1 (ja)
CN (1) CN113874177A (ja)
WO (1) WO2020234946A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11826913B2 (en) 2020-07-01 2023-11-28 Kabushiki Kaisha Yaskawa Denki Control system, robot system and control method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210197368A1 (en) * 2019-12-31 2021-07-01 X Development Llc Robot planning for envelope invariants
CN115981178A (zh) * 2022-12-19 2023-04-18 广东若铂智能机器人有限公司 一种鱼类水产宰杀的仿真系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012074A (ja) * 2004-06-29 2006-01-12 Fanuc Ltd ロボットの待機位置復帰プログラム作成装置
JP4103057B2 (ja) 1998-06-29 2008-06-18 株式会社安川電機 ロボットの動作経路計画方法およびその装置
WO2010092981A1 (ja) * 2009-02-12 2010-08-19 三菱電機株式会社 産業用ロボットシステム
JP2016168661A (ja) 2015-03-13 2016-09-23 ファナック株式会社 加工により発生した切粉を除去可能な加工機システム
JP2018051686A (ja) * 2016-09-29 2018-04-05 川崎重工業株式会社 ロボット復旧支援装置及びそれを備えるロボットシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3276248B2 (ja) * 1994-08-02 2002-04-22 株式会社小松製作所 異常復帰装置
JP2012232363A (ja) * 2011-04-28 2012-11-29 Seiko Epson Corp ロボット制御システム、ロボットシステム及びプログラム
EP2906396A1 (en) * 2012-10-11 2015-08-19 ABB Technology Ltd. A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position
JP5850003B2 (ja) * 2013-07-26 2016-02-03 株式会社安川電機 ロボットシステム、ロボットシステムのロボット管理コンピュータ及びロボットシステムの管理方法
US9446517B2 (en) * 2013-10-17 2016-09-20 Intuitive Surgical Operations, Inc. Fault reaction, fault isolation, and graceful degradation in a robotic system
JP6827041B2 (ja) * 2016-01-20 2021-02-10 インテュイティブ サージカル オペレーションズ, インコーポレイテッド 医療デバイスの再配置可能なアームにおける運動偏差の急速な停止及び回復のためのシステム及び方法
CN105690395B (zh) * 2016-04-23 2017-09-19 宁波市智能制造产业研究院 工业机器人及其控制方法
JP6392819B2 (ja) * 2016-08-23 2018-09-19 ファナック株式会社 製造時間情報により異常検出条件を変更する製造管理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4103057B2 (ja) 1998-06-29 2008-06-18 株式会社安川電機 ロボットの動作経路計画方法およびその装置
JP2006012074A (ja) * 2004-06-29 2006-01-12 Fanuc Ltd ロボットの待機位置復帰プログラム作成装置
WO2010092981A1 (ja) * 2009-02-12 2010-08-19 三菱電機株式会社 産業用ロボットシステム
JP2016168661A (ja) 2015-03-13 2016-09-23 ファナック株式会社 加工により発生した切粉を除去可能な加工機システム
JP2018051686A (ja) * 2016-09-29 2018-04-05 川崎重工業株式会社 ロボット復旧支援装置及びそれを備えるロボットシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3970925A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11826913B2 (en) 2020-07-01 2023-11-28 Kabushiki Kaisha Yaskawa Denki Control system, robot system and control method

Also Published As

Publication number Publication date
EP3970925A4 (en) 2023-04-19
CN113874177A (zh) 2021-12-31
JPWO2020234946A1 (ja) 2021-06-10
JP6658985B1 (ja) 2020-03-04
US20220072703A1 (en) 2022-03-10
EP3970925A1 (en) 2022-03-23

Similar Documents

Publication Publication Date Title
WO2020234946A1 (ja) ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
JP6046467B2 (ja) ロボットシステム
JP2016049601A (ja) ティーチングシステム、ロボットシステムおよびティーチング方法
JP2007523757A (ja) 複数のロボットアームの追従及び鏡映ジョグ
US20220001537A1 (en) Control system, robot system and control method
US10946514B2 (en) Controller, work control unit, multi-axis motion control unit, and drive control unit
JP6696465B2 (ja) コントロールシステム、コントローラ及び制御方法
KR102525831B1 (ko) 제어 시스템, 컨트롤러 및 제어 방법
US10678231B2 (en) Production controller equipped with function of identifying cause upon operation stop of production facility including manufacturing facilities
JP7314824B2 (ja) ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
JP2010240782A (ja) ロボット制御システム、制御装置および制御方法
JP2019081204A (ja) ロボット制御方法、制御端末、およびロボットシステム
JP5272447B2 (ja) 数値制御機械の動作シミュレータ
JP7374867B2 (ja) 制御システム、ローカルコントローラ及び制御方法
JP2016221653A (ja) ロボット制御装置およびロボットシステム
WO2022009765A1 (ja) ロボット制御装置
JP2021146435A (ja) ロボットシステム、ロボットシステムで実行される方法および教示データを生成する方法
JP7400104B2 (ja) シミュレーション装置、制御システム、シミュレーション方法及びプログラム
WO2021241398A1 (ja) オフライン教示装置および動作プログラム生成方法
WO2023157889A1 (ja) 生産システム及び生産方法
JP4930824B2 (ja) ロボット制御装置およびロボットシステム
WO2023171722A1 (ja) プログラム生成装置、及びプログラム生成方法
WO2023276149A1 (ja) 最適化支援装置
JP7167516B2 (ja) 制御装置、制御方法、および制御プログラム
JP2022139199A (ja) 複数の移動機構を制御するシステムおよび方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019545836

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19929443

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019929443

Country of ref document: EP