WO2013027283A1 - Nc工作機械システム - Google Patents

Nc工作機械システム Download PDF

Info

Publication number
WO2013027283A1
WO2013027283A1 PCT/JP2011/069077 JP2011069077W WO2013027283A1 WO 2013027283 A1 WO2013027283 A1 WO 2013027283A1 JP 2011069077 W JP2011069077 W JP 2011069077W WO 2013027283 A1 WO2013027283 A1 WO 2013027283A1
Authority
WO
WIPO (PCT)
Prior art keywords
axis
robot
articulated robot
machine tool
cpu
Prior art date
Application number
PCT/JP2011/069077
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 PCT/JP2011/069077 priority Critical patent/WO2013027283A1/ja
Priority to CN201180025513.2A priority patent/CN103987496B/zh
Priority to EP11869764.8A priority patent/EP2666598B1/en
Priority to US13/814,455 priority patent/US8694160B2/en
Priority to JP2012539899A priority patent/JP5160700B1/ja
Publication of WO2013027283A1 publication Critical patent/WO2013027283A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4067Restoring data or position after power failure or other interruption
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36153Two, several consoles, displays, panels, two different input, joystick
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39105Manipulator cooperates with moving machine, like press brake
    • 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/40224If robot gets a return signal, go to initial condition position
    • 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/40431Grid of preoptimised paths as function of target position, choose closest, fine adapt
    • 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/40476Collision, planning for collision free path
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50118Select as function of position of tool during cycle, optimum path
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/14Arm movement, spatial
    • Y10S901/16Cartesian, three degrees of freedom
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/27Arm part
    • Y10S901/28Joint
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/41Tool
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/49Protective device

Definitions

  • the present invention relates to an NC machine tool system.
  • articulated robots are composed of a plurality of rotation axes. Therefore, it is extremely difficult for the operator to manually operate the articulated robot using the teaching box. Even if the operator is familiar with the operation, if there are interference objects around the multi-joint robot, there is a risk that the multi-joint robot may interfere with the interference object if the axis is selected or the direction of movement is wrong. For this reason, the worker moves the articulated robot little by little while carefully considering the selection of the optimal axis and the moving direction. As described above, the operation of the articulated robot is very difficult to handle because it is a very nerve-intensive operation. In Japan, in particular, in order to operate an articulated robot, it is necessary to obtain a qualification by taking a class prescribed by law.
  • Patent Document 1 discloses an industrial robot that is provided with a switch corresponding to each of a plurality of operation programs, and that performs work according to a program read according to a pressed switch.
  • Patent Document 2 discloses that the robot is activated in a continuous operation mode when the activation switch of the teaching pendant is operated for a long time, and the robot is activated in a single block operation when operated for a short time.
  • an NC machine tool is systemized using an articulated robot, no consideration is given to an operator who is not handled as a robot.
  • An object of the present invention is to provide an NC machine tool system that can be safely operated even by an operator who operates the articulated robot for the first time in an NC machine tool system including an articulated robot and an NC machine tool. It is in.
  • an NC machine tool an operation panel for the NC machine tool, an articulated robot arranged above the NC machine tool, and an articulated robot.
  • an NC machine tool system including program storage means for storing a program for operating, and a robot control device for controlling an articulated robot according to the program.
  • the operation panel is provided with switch means for operating the articulated robot by executing the program stored in the program storage means.
  • the program sets the target position / posture of the articulated robot and selects the movement path according to the position / posture of the articulated robot when the switch means is turned on, and the target position / posture along the selected movement path. It is programmed to move the articulated robot to take.
  • the robot control device controls the articulated robot according to a program.
  • the program when the operator operates the switch means of the operation panel, the program is executed and the articulated robot operates. Thereby, even an operator who operates the articulated robot for the first time can operate it safely. Further, the movement path is selected according to the position and orientation of the articulated robot when the switch means is turned on, and the articulated robot moves along the selected movement path so as to take the target position and orientation. This eliminates the need for the operator to operate the articulated robot in accordance with the position and orientation of the articulated robot.
  • a workpiece pallet is arranged on the side of the NC machine tool, and the articulated robot can move between the NC machine tool and the pallet.
  • the program sets the target position and orientation of the articulated robot and selects the movement path according to the position and orientation of the articulated robot when the switch means is turned on. It is preferably programmed to move the articulated robot so as to take the target position and posture while avoiding interference with the safety fence along the route, and the robot controller preferably controls the articulated robot according to the program.
  • the movement path is selected according to the position and orientation of the articulated robot when the switch means is turned on, and the target position and orientation are avoided while avoiding interference with the safety fence.
  • the articulated robot moves to take This eliminates the need for the operator to operate the articulated robot while avoiding interference with the safety fence according to the position and orientation of the articulated robot.
  • the operation panel includes a first operation panel disposed near the NC machine tool and a second operation panel disposed near the pallet, each of the first and second operation panels.
  • a switch means operated to execute the program is provided.
  • the program when an articulated robot is located near the NC machine tool, the program can be executed by operating the switch means of the first operation panel near the NC machine tool.
  • the program when the articulated robot is positioned near the pallet, the program can be executed by operating the switch means on the second operation panel near the pallet.
  • the program is preferably programmed under an orthogonal coordinate system used in the NC machine tool.
  • the program can be executed under the orthogonal coordinate system used in the NC machine tool. For this reason, it is easy for an operator accustomed to the operation of the NC machine tool to understand the operation of the articulated robot.
  • FIG. 1 is a front view of an NC machine tool system according to an embodiment of the present invention.
  • the front view of NC machine tool system which omitted the front fence.
  • the side view of an articulated robot when moving in a machine tool The side view of an articulated robot when moving above a pallet.
  • the flowchart of the program started with the one-touch button.
  • the flowchart of the program started with the one-touch button.
  • Flowchart of pattern 5 Explanatory drawing showing the relationship between each process of Pattern 5 to Pattern 16, the vicinity of the front fence, the front fence separation, the vicinity of the machine, the vicinity of the traveling end, and the separation of the apparatus and the traveling end.
  • the perspective view of a robot hand The perspective view of a robot hand.
  • the side view of the articulated robot which takes a stand-by posture in a stand-by position is a schematic diagram showing the position of the robot hand where each process of pattern 5 to pattern 16 is performed, and (b) is a schematic diagram showing the position of the robot hand where each process of pattern 5 to pattern 16 is performed.
  • the NC machine tool system includes an NC machine tool 10, an NC control device 20 that controls the NC machine tool 10, an articulated robot 40, and a robot control device 50 that controls the articulated robot 40. It has.
  • the articulated robot 40 travels on the gantry rail 30 disposed above the NC machine tool 10.
  • the NC machine tool 10 is an opposed spindle type compound lathe.
  • a pallet 60 for supplying and discharging workpieces is arranged on the side of the NC machine tool 10.
  • the gantry rail 30 extends so as to straddle between the upper surface of the NC machine tool 10 and the upper surface of the pallet 60.
  • the vertical direction, the front-rear direction, and the left-right direction when the NC machine tool 10 shown in FIGS. 1 and 2 is viewed from the front are defined as the Z-axis direction, the X-axis direction, and the Y-axis direction, respectively.
  • the + X-axis direction is the front direction
  • the + Y-axis direction is the right direction
  • the + Z-axis direction is the upward direction.
  • the NC machine tool 10 includes a tool spindle unit 10h.
  • the tool spindle unit 10h is supported by a column and a saddle.
  • the column is movable in the X-axis direction with respect to the base portion.
  • the base part is movable in the Y-axis direction.
  • the saddle is movable in the Z-axis direction with respect to the column.
  • the column is moved in the X-axis direction by the X-axis motor 320 shown in FIG.
  • the column is also moved in the Y-axis direction by the base portion driven by the Y-axis motor 330.
  • the saddle is also driven in the Z-axis direction by being driven by the Z-axis motor 340 shown in FIG.
  • a processing tool 10j is mounted on the tool spindle unit 10h.
  • the articulated robot 40 has 6 axes (J1 axis to J6 axis).
  • the articulated robot 40 includes a robot base 41 that moves along the J1 axis that coincides with the horizontal direction.
  • the robot base 41 is attached to the gantry rail 30 so as to be movable along the longitudinal direction of the gantry rail 30.
  • the robot base 41 is provided with a rack and pinion type rail drive unit.
  • the rail drive unit includes a J1-axis motor M1 shown in FIG. Since the pinion provided on the output shaft of the J1 axis motor M1 meshes with the rack of the gantry rail 30, when the J1 axis motor M1 is driven, the robot base 41 and the right traveling end RE of the gantry rail 30 shown in FIG. Move between the left travel ends LE.
  • the J1 axis is a travel axis.
  • a J2 axis arm 42 that swings around a J2 axis parallel to the J1 axis is connected.
  • the J2 axis arm 42 is swung by a J2 axis motor M2 with a speed reduction mechanism provided on the robot base 41.
  • Connected to the tip of the J2 axis arm 42 is a J3 axis casing 43 that swings around the J3 axis parallel to the J2 axis.
  • the J3 axis casing 43 is swung by a J3 axis motor M3 with a speed reduction mechanism built in the J3 axis casing 43.
  • a J3 axis arm 44 that rotates around the J4 axis orthogonal to the J3 axis is connected to the tip of the J3 axis casing 43.
  • the J3 axis arm 44 is rotated by a J4 axis motor M4 with a speed reduction mechanism provided in the J3 axis casing 43.
  • a J6 axis unit 45 that swings around a J5 axis orthogonal to the J4 axis is connected to the tip of the J3 axis arm 44.
  • the J6 axis unit 45 is swung by a J5 axis motor M5 shown in FIG. 6 with a speed reduction mechanism built in the J3 axis arm 44. As shown in FIGS.
  • the tip of the J6 axis unit 45 rotates around the J6 axis orthogonal to the J5 axis.
  • the tip of the J6 axis unit 45 is rotated by a J6 axis motor M6 with a speed reduction mechanism built in the J6 axis unit 45.
  • a robot hand 46 is connected to the tip of the J6 axis unit 45.
  • the robot hand 46 is fixed to the J6 axis unit 45 via the base 46a.
  • a loading hand 46b is fixed to one of a pair of opposed end surfaces of the base 46a, and an unloading hand 46c is fixed to the other.
  • Each of the loading hand 46b and the unloading hand 46c is provided with a plurality of jaws 46d. The jaw 46d is operated, and the workpiece 80 is gripped or the workpiece 80 is released. Both the J2 axis and the J6 axis are turning axes.
  • the rotation angle around the J2 axis when the J2 axis arm 42 is oriented in the + X direction in a horizontal state is set to 0 degree.
  • the rotation angle when the J2 axis arm 42 rotates upward from 0 degree is defined as +, and the rotation angle when the J2 axis arm 42 rotates in the downward direction is defined as ⁇ .
  • the rotation angle when the J3 axis arm 44 is directed vertically downward ( ⁇ Z direction) is set to +180 degrees. That is, the rotation angle when the J3 axis arm 44 is directed vertically upward (+ Z direction) is 0 degree.
  • the rotation angle around the J3 axis when the J3 axis arm 44 rotates forward from 0 degrees is defined as +, and the rotation angle around the J3 axis when rotated in the rear direction is defined as ⁇ .
  • the rotation angle around the J4 axis when the reference portion 44a of the J3 axis arm 44 faces in the + X direction is set to 0 degree.
  • the rotation angle around the J4 axis when the reference portion 44a of the J3 axis arm 44 is oriented in the + Y direction from the 0 degree position is +, and the rotation angle around the J4 axis when rotating in the -Y direction is-.
  • the rotation angle around the J5 axis when the J6 axis unit 45 is aligned with the J3 axis arm 44 is 0 degree.
  • the rotation angle around the J5 axis when the J6 axis unit 45 rotates from 0 degree in one direction (forward direction in FIG. 5) is ⁇ , and the rotation angle around the J5 axis when rotating in the opposite direction (backward direction in FIG. 5) The rotation angle is +.
  • the rotation angle around the J6 axis is 0 degree. . That is, this state corresponds to a state in which the loading hand 46b and the unloading hand 46c are in a horizontal state and aligned along the Y axis.
  • the rotation angle around the J6 axis when the reference portion 46e of the robot hand 46 is oriented in the + Y direction from 0 degrees is defined as +, and the rotation angle around the J6 axis when rotated in the -Y direction is defined as-.
  • the robot hand 46 grips and supplies the workpiece 80 on the pallet 60 to the NC machine tool 10, and discharges the workpiece 80 that has been processed by the NC machine tool 10 onto the pallet 60.
  • a front fence 70, a side fence 72, and a rear fence 74 as safety fences are disposed around the NC machine tool 10 and the pallet 60.
  • Doors 76 and 78 corresponding to the NC machine tool 10 and the pallet 60 are provided on the front fence 70 so as to be freely opened and closed.
  • the doors 76 and 78 are provided with windows 76a and 78a.
  • the first operation panel 22 is provided near the window 76 a of the NC machine tool 10.
  • the second operation panel 24 is provided.
  • the first operation panel 22 and the second operation panel 24 correspond to an operation panel for an NC machine tool.
  • a teaching box 26 is provided in the vicinity of the window 78a.
  • the teaching box 26 is electrically connected to the robot controller 50 shown in FIG.
  • the CPU (central processing unit) 110 of the NC control device 20 controls the NC control device 20 as a whole.
  • ROM 110, RAM 140, memory 150, interface 160, communication interface 170, X-axis control unit 210, Y-axis control unit 220, Z-axis control unit 230, spindle control unit 240, etc. are connected to CPU 110 via bus line 120.
  • the ROM 130 stores various system programs for controlling the entire NC controller 20.
  • the RAM 140 stores temporary calculation data and display data and various data input by the operator via the first operation panel 22 and the second operation panel 24.
  • the first operation panel 22 and the second operation panel 24 are connected to the interface 160.
  • the first operation panel 22 and the second operation panel 24 include display devices 22a and 24a and keyboards 22b and 24b for data input. As shown in FIGS. 1 and 6, the keyboards 22b and 24b are operated when the articulated robot 40 is raised and the switch keys 22c and 24c operated when the articulated robot 40 is returned to the standby position. Buttons 22d and 24d are provided.
  • the switch keys 22c and 24c and the buttons 22d and 24d are switch means.
  • the X-axis control unit 210 receives the X-axis position control command from the CPU 110 and outputs the position control command to the servo amplifier 280.
  • the servo amplifier 280 drives the X-axis motor 320 based on the position control command and moves the column in the X-axis direction.
  • the Y-axis control unit 220 receives the Y-axis position control command from the CPU 110 and outputs the position control command to the servo amplifier 290.
  • the servo amplifier 290 drives the Y-axis motor 330 based on the position control command and moves the column in the Y-axis direction.
  • the Z-axis control unit 230 receives the Z-axis position control command from the CPU 110 and outputs the position control command to the servo amplifier 300.
  • the servo amplifier 300 drives the Z-axis motor 340 based on the position control command, and moves the saddle in the Z-axis direction.
  • the spindle control unit 240 receives a spindle rotation control command from the CPU 110 and outputs a spindle speed signal to the spindle amplifier 310.
  • the spindle amplifier 310 rotates the spindle motor 350 at the commanded spindle speed based on the spindle speed signal, and drives the machining tool 10j.
  • the communication interface 170 can communicate with the robot controller 50 via the communication line L.
  • the X-axis motor 320, the Y-axis motor 330, the Z-axis motor 340, and the main shaft motor 350 are servo motors.
  • the CPU 410 of the robot controller 50 has a ROM 430, a RAM 440, a memory 450, an interface 460, a communication interface 470, a J1 axis controller 510, a J2 axis controller 520, a J3 axis controller 530, and a J4 axis via a bus line 420.
  • a control unit 540, a J5 axis control unit 550, a J6 axis control unit 560, and the like are connected.
  • the ROM 430 stores a control program for executing robot operation control and data such as execution conditions.
  • the RAM 440 stores a teaching program for the articulated robot 40.
  • the RAM 440 is used as a working area for the CPU 410.
  • the RAM 440 temporarily stores data being calculated.
  • the memory 450 is composed of, for example, a hard disk or a nonvolatile semiconductor memory.
  • the memory 450 stores teaching data.
  • the teaching data is data that is taught to the articulated robot 40 by manual control and is read when the teaching program is executed.
  • the memory 450 stores a standby position return program.
  • the memory 450 corresponds to program storage means.
  • the standby position return program is programmed to operate under an orthogonal coordinate system of the X axis, the Y axis, and the Z axis.
  • the X-axis, Y-axis, and Z-axis orthogonal coordinate systems are orthogonal coordinate systems used in NC machine tools.
  • the interface 460 is connected to the teaching box 26 used for inputting teaching data and manual control of the articulated robot 40.
  • the J1 axis control unit 510 to J6 axis control unit 560 are connected to servo amplifiers 610 to 660, respectively.
  • the J1 axis control unit 510 to J6 axis control unit 560 is based on the rotation control command from the CPU 410 and the current position information (current rotation angle) from the rotary encoders E1 to E6 of the J1 axis motor M1 to J6 axis motor M6.
  • the feedback control of each servo amplifier is executed.
  • the J1-axis motor M1 to J6-axis motor M6 are servo motors.
  • the servo amplifiers 610 to 660 drive the robot hand 46 by driving the J1 axis motor M1 to J6 axis motor M6 based on commands from the J1 axis control unit 510 to J6 axis control unit 560.
  • the communication interface 470 can communicate with the NC control device 20 via the communication line L.
  • the standby position return program executed in the present embodiment is a program for returning the articulated robot 40 to the standby position G. As shown in FIG. 2, the standby position G is set above the end of the NC machine tool 10 facing the pallet 60.
  • the standby position return program is stored in the memory 450, read by the CPU 410 at the time of activation, and stored in the RAM 440.
  • the operator When returning the articulated robot 40 to the standby position, the operator operates the switch key 22c of the first operation panel 22 when working near the machine tool. On the other hand, when working near the pallet 60, the operator operates the switch key 24c of the second operation panel 24.
  • a signal for starting a program is output from the first operation panel 22 or the second operation panel 24 and input to the interface 160 of the NC control device 20.
  • a signal for starting the program is input to the CPU 410 of the robot control device 50 via the communication interface 170 and the communication interface 470.
  • CPU 410 activates the standby position return program based on the signal for program activation.
  • the CPU 410 determines whether or not all the J1 to J6 axes are in the position and orientation when the articulated robot 40 returns to the standby position G shown in FIGS. Determine whether.
  • the position and orientation when the articulated robot 40 returns to the standby position G is set in advance in the program. Therefore, the CPU 410 determines whether or not all the J1 to J6 axes are in the position and orientation.
  • the rotary encoders E1 to E6 detect current position information of the J1 axis motor M1 to J6 axis motor M6 at a predetermined cycle. For this reason, the CPU 410 performs the determination of S10 based on the current position information.
  • the CPU 410 ends the execution of the standby position return program.
  • the CPU 410 proceeds to S20.
  • the CPU 410 determines whether or not the articulated robot 40 is located at the setup position based on the current position information.
  • the setup generally refers to an operation for an operator to make various preparations for operating an NC machine tool system.
  • an operation for exchanging the hands of an articulated robot is shown.
  • the setup position is the position of the articulated robot 40 when the operator changes the hand of the articulated robot, and is different from the standby position.
  • the articulated robot 40 is executed by a predetermined program or is moved by manual operation of the teaching box 26, moves to a setup position, and takes a posture for setup.
  • the CPU 410 determines whether or not the articulated robot 40 is in the setup position. When the articulated robot 40 is located at the setup position, the CPU 410 performs processing of the pattern 1 programmed in S22.
  • the CPU 410 gives a rotation control command to each axis motor in order to return the articulated robot 40 located at the setup position to the standby position G.
  • the positions and orientations of the arms of the articulated robot 40 and the robot hand 46 located at the setup position are set in advance by a standby position return program. For this reason, the articulated robot 40 is returned to the standby position G from the position and orientation.
  • the interval between the standby position G as the end point and the current position based on the current position information is divided into a plurality of sections.
  • the CPU 410 controls the operation of the robot hand 46 by linear interpolation, circular interpolation or joint interpolation for each section and moves the robot hand 46 to the standby position G.
  • the program of pattern 1 is set so as not to interfere with the front fence 70, the rear fence 74, and the side fence 72 when the articulated robot 40 moves in each section to the standby position G.
  • the positions and orientations of the arms and the robot hand 46 when the articulated robot 40 returns to the standby position G are S32, S42, S56, S83, S84, S86, S87, S93, S94, S96, S97, which will be described later. This is the same as the position and orientation when returning to the standby position G in each process of S103, S104, S106, and S107.
  • the CPU 410 determines whether or not the articulated robot 40 is in the position and posture for J2 axis refueling.
  • FIG. 16 shows the J2 axis refueling posture of the articulated robot 40.
  • the J2 axis is -90 degrees
  • the J3 axis is +105 degrees
  • the J4 axis is 0 degrees
  • the J5 axis is +75 degrees
  • the J6 axis is 0 degrees.
  • Refueling is performed after the coordinate positions of the J2 to J6 axes are positioned at the above angle.
  • the position and posture for refueling the J2 axis are changed according to the structure of each arm constituting the articulated robot 40.
  • the CPU 410 gives a rotation control command to each axis motor in order to return the articulated robot 40 at the J2 axis oil supply position to the standby position G.
  • the position and orientation of each arm of the articulated robot 40 and the robot hand 46 at the J2 axis refueling position are set in advance by the standby position return program. For this reason, the articulated robot 40 is returned to the standby position G from the position and orientation for the J2 axis refueling.
  • the interval between the standby position G as the end point and the current position based on the current position information is divided into a plurality of sections.
  • the CPU 410 controls the operation of the robot hand 46 by linear interpolation, circular interpolation or joint interpolation for each section and moves the robot hand 46 to the standby position G.
  • the program of pattern 2 is set so as not to interfere with the front fence 70, the rear fence 74, and the side fence 72 when the articulated robot 40 moves in each section to the standby position G.
  • the CPU 410 ends the execution of the standby position return program after the articulated robot 40 returns to the standby position G.
  • the CPU 410 proceeds to S40.
  • the CPU 410 determines whether or not the articulated robot 40 is in the position and posture for refueling the J5 axis and the J6 axis in FIG.
  • the refueling postures of the J5 axis and the J6 axis are J2 axis ⁇ 30 degrees, J3 axis +220 degrees, J4 axis 0 degrees, J5 axis +50 degrees, and J6 axis 0 degrees.
  • the description of the position and posture for refueling the J5 axis and the J6 axis is changed according to the structure of each arm constituting the articulated robot 40.
  • the CPU 410 gives a rotation control command to each axis motor in order to return the articulated robot 4 at the position for J5 axis and J6 axis refueling to the standby position G.
  • the positions and orientations of the arms of the articulated robot 40 and the robot hand 46 at the positions for the J5 axis and J6 axis refueling are set in advance by the standby position return program. For this reason, the articulated robot 40 returns to the standby position G from the position and orientation. In this case, the interval between the standby position G as the end point and the current position based on the current position information is divided into a plurality of sections.
  • the CPU 410 controls the operation of the robot hand 46 by linear interpolation, circular interpolation or joint interpolation for each section and moves the robot hand 46 to the standby position G.
  • the program of the pattern 3 is set so as not to interfere with the front fence 70, the rear fence 74, and the side fence 72 when the articulated robot 40 moves in each section to the standby position G.
  • the CPU 410 ends the execution of the standby position return program after the articulated robot 40 returns to the standby position G. If the articulated robot 40 is not in the position and posture for refueling the J5 axis and the J6 axis in S40, the CPU 410 proceeds to S50.
  • the CPU 410 determines whether or not the robot hand 46 of the articulated robot 40 is on this machine based on the current position information. That is, the CPU 410 determines whether or not the robot hand 46 is located in an area occupied by the NC machine tool 10 within a range along the Y-axis direction. Hereinafter, in some cases, the NC machine tool 10 is referred to as this machine.
  • the articulated robot 40 travels within the range between the travel ends LE and RE of the gantry rail 30.
  • the CPU 410 determines whether or not the robot hand 46 is located in an area occupied by the NC machine tool 10 within the range between the traveling ends LE and RE.
  • the CPU 410 determines whether or not the robot hand 46 is positioned in the machine, that is, in the NC machine tool 10 in the Z-axis direction.
  • the inside of the machine assumes a case where the robot hand 46 has entered the NC machine tool 10 in order to attach and detach the workpiece 80 to and from the chucks 10f and 10g.
  • a Z-axis coordinate value that is a threshold value for determining whether or not the robot hand 46 has entered the NC machine tool 10 is input in advance.
  • the CPU 410 determines that the robot hand 46 is located in the machine, and proceeds to S54. If the Z-axis coordinate value exceeds the threshold value, the CPU 410 determines that the robot hand 46 is not located in the machine, and proceeds to S56.
  • the CPU 410 cannot operate in the standby position return program because the robot hand 46 is positioned in the apparatus with respect to the display device 22a of the first operation panel 22 and the display device 24a of the second operation panel 24.
  • a warning that operation is necessary using the operation key is displayed.
  • the CPU 410 causes the display devices 22a and 24a to display “Please use the ascending operation button”.
  • the CPU 410 displays the above warning on the display devices 22a and 24a, and then ends the execution of the standby position return program.
  • the operator operates the buttons 22d and 24d for the robot ascending operation on the keyboards 22b and 24b.
  • the button When the button is operated, the ascending command signal is input from the first operation panel 22 to the interface 160 of the NC control device 20. Then, the ascending command signal is input to the CPU 410 of the robot controller 50 via the communication interface 170 and the communication interface 470.
  • CPU 410 activates a separately prepared in-flight program based on the rise command signal.
  • the in-machine lift program confirms the positions of the tool spindle unit 10h and the work spindle head 10c in the machine, and then performs the same process as the process of the standby position return program, thereby avoiding interference with the above-mentioned unit.
  • the hand 46 is raised.
  • the robot hand 46 is located on the NC machine tool 10 but is not in the machine, and therefore the pattern 4 is processed.
  • the CPU 410 gives a rotation control command to each axis motor in order to return the articulated robot 40 located on the NC machine tool 10 to the standby position G.
  • the assumed posture is extremely limited. Therefore, a plurality of routes to the standby position G, which is the end point, avoiding interference with an interference object. It can be created in advance as a section program. Then, the CPU 410 controls the operation of the robot hand 46 by linear interpolation, circular interpolation or joint interpolation for each section and moves the robot hand 46 to the standby position G.
  • the program of the pattern 4 is also set so as not to interfere with the front fence 70, the rear fence 74, and the side fence 72 when the articulated robot 40 moves in each section to the standby position G. After the articulated robot 40 returns to the standby position G, the CPU 410 ends the execution of the standby position return program.
  • the subsequent processing assumes a case where the articulated robot 40 is performing a handling operation on the workpiece 80 of the pallet 60.
  • the CPU 410 views the current position of the robot hand 46 on the W axis and calculates the Y axis correction value.
  • the W axis is a rotation axis around the X axis.
  • the robot hand 46 includes a loading hand 46b and an unloading hand 46c.
  • the robot hand 46 switches the hand to be used by rotating 180 degrees around the J6 axis. Also, when reading the position of the robot hand 46 written in the program or instructing the position of the robot hand 46, it is switched by selecting the tool coordinate system to which hand is instructed. It is done. Specifically, there are two types of tool coordinate systems, a loading hand coordinate system and an unloading coordinate system. When the current position of the robot hand 46 is read in the loading hand coordinate system, the coordinate value of the reference portion 47 of the loading hand 46b is obtained. When read in the unloading coordinate system, the coordinate value of the reference portion 47 of the unloading hand 46c is shown.
  • the robot hand 46 does not perform loading or unloading, but instructs the robot hand 46 to return to the standby position. For this reason, the position of the robot hand 46 is read or the position of the robot hand 46 is instructed using a loading hand coordinate system. Therefore, in this specification, when expressed as the current position or coordinate value of the robot hand 46, all values are in the loading hand coordinate system. However, the angle of the J6 axis of the robot hand 46 when the standby position return program operates is undecided. For this reason, it is not possible to calculate the distance between the robot hand 46 and the interfering object using the read coordinate values as they are.
  • the robot hand 46 and the interference object when calculating the distance in the X-axis direction only by the X-axis coordinate value, the distance in the Y-axis direction only by the Y-axis coordinate value, and the distance in the Z-axis direction only by the Z-axis coordinate value, the robot hand 46 and the interference object The correct distance between them cannot be obtained. If there is a sufficient distance between the robot hand 46 and the interfering object, the interference between the robot hand 46 and the interfering object is determined by securing a clearance that allows the robot hand 46 to rotate 360 degrees around the J6 axis. Can do. However, when there is no allowance for the distance between the robot hand 46 and the interfering object, the Y axis correction is performed and the interference determination in the Y axis direction is performed.
  • the W-axis coordinate value of the robot hand 46 is a vector having a center point of a perfect circle drawn by the reference part 47 when the robot hand 46 is turned 360 degrees on the J6 axis as a base point and a coordinate of the reference part 47 as an end point. It means the rotation angle around the X axis. Based on the W-axis coordinate value, it is possible to roughly determine whether the loading hand 46b is upward, downward, rightward, or leftward. Then, the Y-axis coordinate value of the reference portion 47 when the loading hand 46 is turned to the left by rotating only the J6 axis while maintaining the robot in this posture is calculated. The error between the coordinate value calculated in this way and the current Y-axis coordinate value is stored as a Y-axis correction value, and is used for the subsequent interference determination.
  • the CPU 410 determines whether or not the robot hand 46 is located in the vicinity of the rear fence 74 on the X-axis in S70. That is, the CPU 410 determines whether or not the robot fence 46 does not interfere with the rear fence 74 even if the robot hand 46 is turned around the J4 axis to the J6 axis in the current X axis coordinate value where the robot hand 46 is located.
  • the CPU 410 When the X-axis coordinate value of the robot hand 46 is closer to the rear fence 74 than the determination X-axis coordinate value stored in the memory 450 in advance, the CPU 410 is located near the rear fence, and the J4 axis to J6 When the robot hand 46 is turned around the axis, it is determined that there is a possibility of interference with the rear fence 74.
  • the CPU 410 determines that the robot hand 46 is positioned in the vicinity of the rear fence 74 in the X-axis direction, the CPU 410 moves J2 to the position in the X-axis direction that does not interfere with the rear fence 74 even if the robot hand 46 is turned in S72. Any one of the axis, the J3 axis, and the J5 axis is turned and moved. At this time, which of the J2 axis, the J3 axis, and the J5 axis to move or which axis to move in combination may be appropriately combined.
  • the CPU 410 proceeds to S80 after performing the process of S72 or when determining in S70 that the robot hand 46 is not positioned in the vicinity of the rear fence 74 in the X-axis direction.
  • the CPU 410 determines the position of the robot hand 46 in the Y axis based on a value obtained by adding the Y axis correction value calculated in S60 to the Y axis coordinate value (hereinafter referred to as “corrected Y axis coordinate value”). Is determined to be near the machine.
  • This determination process includes a determination process for determining whether or not the corrected Y-axis coordinate value is closer to the apparatus than the apparatus vicinity determination threshold value HS1 stored in the memory 450 in advance. If the corrected Y-axis coordinate value is closer to the machine than the machine vicinity determination threshold HS1, the CPU 410 determines that the position of the robot hand 46 is near the machine.
  • the machine vicinity determination threshold HS1 is a coordinate value for determination on the Y axis. If the CPU 410 determines that the position of the robot hand 46 is close to the machine, the CPU 410 proceeds to S81. If the CPU 410 determines that the position of the robot hand 46 is not close to the machine, the CPU 410 proceeds to S90.
  • the CPU 410 determines whether or not the position of the robot hand 46 is near the front fence 70 in the X-axis direction based on the current position information.
  • This determination process includes a determination process of whether or not the X-axis coordinate value is closer to the front fence 70 than the front fence vicinity determination threshold value MS1 stored in the memory 450 in advance.
  • the CPU 410 determines that the current position of the robot hand 46 is close to the front fence 70.
  • the front fence vicinity determination threshold MS1 is a coordinate value for determination on the X axis.
  • the CPU 410 proceeds to S82.
  • the CPU 410 determines whether the position of the robot hand 46 is near the pallet 60 in the Z-axis direction based on the current position information. This determination process includes a determination process as to whether or not the Z-axis coordinate value is closer to the pallet 60 than the pallet vicinity determination threshold value PS1 stored in the memory 450 in advance. The CPU 410 determines that the current position of the robot hand 46 is near the pallet 60 when the current Z-axis coordinate value is closer to the pallet 60 than the pallet vicinity determination threshold PS1.
  • the palette proximity determination threshold PS1 is a coordinate value for determining the position in the Z-axis direction.
  • the pallet vicinity determination threshold PS1 is a value that considers the case where the workpiece 80 is on the pallet 60, and is a value at which the robot hand 46 does not interfere with the workpiece 80.
  • the CPU 410 proceeds to S83.
  • the CPU 410 performs the return process of pattern 5, moves the articulated robot 40 to the standby position G, and then ends this flowchart.
  • the CPU 410 proceeds to S84. Then, the CPU 410 ends the flowchart after moving the articulated robot 40 to the standby position G after performing the return processing of the pattern 6.
  • the CPU 410 proceeds to S85.
  • the process of S85 is the same as that of S82. If it is determined in S85 that the Z-axis coordinate value of the robot hand 46 is near the pallet, the CPU 410 moves to S86. Then, the CPU 410 ends the flowchart after performing the restoration process of the pattern 7. If it is determined in S85 that the Z-axis coordinate value of the robot hand 46 is not near the pallet, the CPU 410 proceeds to S87. Then, the CPU 410 ends the flowchart after performing the restoration process of the pattern 8.
  • the CPU 410 determines whether or not the position of the robot hand 46 is in the vicinity of the traveling end RE on the Y axis based on the current position information. This determination process is a determination process of whether or not the corrected Y-axis coordinate value is closer to the travel end RE than the travel end vicinity determination threshold HS2 stored in the memory 450 in advance.
  • the CPU 410 determines that the position of the robot hand 46 is close to the travel end RE. That is, the CPU 410 determines “YES”.
  • the running end vicinity determination threshold HS2 is a coordinate value for determination on the Y axis.
  • the CPU 410 determines “YES” in S91 and “YES” in S92, it performs the process of pattern 9 in S93, and then ends this flowchart. If the CPU 410 determines “NO” in S92, it performs the process of the pattern 10 in S94, and then ends this flowchart. On the other hand, if the CPU 410 determines “NO” in S91 and determines “YES” in S95, it performs the process of the pattern 11 in S96, and then ends this flowchart. If the CPU 410 determines “NO” in S95, it performs the process of pattern 12 in S97, and then ends this flowchart.
  • the CPU 410 determines “YES” in S101 and “YES” in S102, the CPU 410 performs the process of the pattern 13 in S103, and then ends this flowchart. If the CPU 410 determines “NO” in S102, it performs the process of the pattern 14 in S104, and then ends this flowchart. On the other hand, if the CPU 410 determines “NO” in S101 and “YES” in S105, the CPU 410 performs the process of the pattern 15 in S106, and then ends this flowchart. If the CPU 410 determines “NO” in S105, it performs the process of the pattern 16 in S107, and then ends this flowchart.
  • FIGS. 13A and 13B show the position of the robot hand 46 as determined in the processing of S80, S81, S82, S85, S90, S91, S92, S95, S101, S102, and S105. The description will be given with reference.
  • FIGS. 13A and 13B the position of the robot hand 46 to be processed in the processing of the patterns 5 to 16 is indicated by P with a pattern number.
  • FIG. 13A shows the respective areas divided by the machine vicinity determination threshold value HS1, the traveling end vicinity determination threshold value HS2, and the front fence vicinity determination threshold value MS1.
  • FIG. 13B shows the respective areas divided by the machine vicinity determination threshold value HS1, the travel end vicinity determination threshold value HS2, and the pallet vicinity determination threshold value PS1.
  • patterns 5 to 16 are all processing items of singularity check, J5 axis check, interference angle check, axis movement, interference avoidance check, and standby position return, or a combination of some processing items. Consists of. First, a flowchart of the process of pattern 5 in which all process items are combined will be described with reference to FIG. The other patterns 6 to 16 will be described in comparison with items performed in the pattern 5 process.
  • the CPU 410 sequentially performs a singularity check, J5 axis check, interference angle check, axis movement, interference avoidance check, and standby position return process.
  • the CPU 410 determines whether or not the posture of the J6 axis unit 45 is not in the vicinity of the singular point based on the current rotation angle of the J5 axis. Specifically, it is confirmed whether the value of the J5 axis is in the range of ⁇ 5 degrees to +5 degrees. If the posture of the J6 axis unit 45 is not near the singular point, the CPU 410 proceeds to the next S202. When the CPU 410 determines that the posture of the J6 axis unit 45 is in the vicinity of the singular point, the CPU 410 rotates the J5 axis so as to be separated from the vicinity of the singular point in S201. After correcting the angle of the J5 axis in this way, the CPU 410 proceeds to S202.
  • the CPU 410 determines whether or not the current position of the robot hand 46 is in the vicinity of the singular point, and prevents it from being positioned at the singular point by the subsequent operation.
  • the CPU 410 looks at the J5 axis, which is the wrist angle of the robot hand 46, and even if the robot hand 46 rotates the wrist, specifically the J4 and J6 axes, The coordinate value of the Z axis that does not interfere with the pallet 60 is calculated.
  • the CPU 410 stores the calculated Z-axis coordinate value in the RAM 440 for later use.
  • the next interference angle check it is determined whether or not the members constituting the articulated robot 40 interfere with each other. Specifically, when the J2 axis arm 42 and the J3 axis arm 44 approach each other, it is likely to interfere with the subsequent operation.
  • the CPU 410 determines whether the angle (interference angle) formed by the J2 axis arm 42 and the J3 axis arm 44 is equal to or less than the interference angle threshold value. To do. Then, the CPU 410 determines that there is a possibility of interference if the interference angle is equal to or smaller than the interference angle threshold, and proceeds to S205. In S205, the CPU 410 drives the J2 axis motor M2, and moves the J2 axis so that the interference angle exceeds the interference angle threshold.
  • the CPU 410 may drive the J3 axis motor M3 instead of the J2 axis motor M2 to rotate the J3 axis casing 43 so that the interference angle exceeds the interference angle threshold. If the interference angle is not equal to or smaller than the interference angle threshold in S204, the CPU 410 proceeds to S206.
  • the axis movement in S206 is a process for moving the robot hand 46 to an intermediate position between the current position and the standby position G.
  • the setting of the intermediate position will be described.
  • the robot hand 46 is located in the vicinity of at least one of the front fence 70, the pallet 60, the traveling end RE, and the machine, a position that is a predetermined distance away from them is set as an intermediate position.
  • a value obtained by further adding a predetermined value to the X-axis coordinate value of the current position of the robot hand 46 becomes the X-axis coordinate value of the intermediate position.
  • the predetermined value added to the X-axis coordinate value is a value that can be determined as “NO” when it is determined by the front fence vicinity determination threshold value MS1 in S81.
  • the Y-axis coordinate value and the Z-axis coordinate value of the intermediate position are the corrected Y-axis coordinate value and Z-axis coordinate value of the current position of the robot hand 46.
  • the X-axis coordinate value and the Y-axis coordinate value of the intermediate position are the X-axis coordinate value of the current position of the robot hand 46 and the corrected Y-axis coordinate value.
  • the CPU 410 sets the value calculated by the J5 axis check as the Z-axis coordinate value at the intermediate position.
  • the X-axis coordinate value and the Z-axis coordinate value of the intermediate position are the X-axis coordinate value and the Z-axis coordinate value of the current position of the robot hand 46, respectively.
  • the Y-axis coordinate value of the intermediate position is a value obtained by adding a predetermined value to the corrected Y-axis coordinate value of the robot hand 46.
  • the predetermined value added to the corrected Y-axis coordinate value is a value that can be determined as “NO” when determined by the machine vicinity determination threshold HS1 in S80. Alternatively, it is a value that can be determined as “NO” when it is determined at the running end vicinity determination threshold HS2 in S90.
  • the coordinate value of the current position of the robot hand 46 is directly adopted as the coordinate value of the intermediate position.
  • the value calculated by the J5 axis check is set as the Z-axis coordinate value of the intermediate position.
  • the current position of the robot hand 46 becomes the coordinate value of the intermediate position, and as a result, the CPU 410 does not move to the intermediate position.
  • the CPU 410 controls the robot hand 46 so as to move the robot hand 46 from the current position to the intermediate position in the axis movement of S206.
  • the intermediate position is set when it can interfere with any of the interferers. For this reason, the movement to the intermediate position is controlled by linear interpolation.
  • next interference avoidance check whether or not the robot hand 46 may interfere with the front fence 70 when the articulated robot 40 is moved from the state where the robot hand 46 is located at the intermediate position to the standby position G by joint interpolation. Is checked.
  • the CPU 410 performs an interference avoidance check in S208 based on the comparison between the Z-axis coordinate value of the intermediate position and the determination threshold value on the Z-axis.
  • the determination threshold is a value obtained from a test value or the like, and is stored in the memory 450.
  • FIG. 15 illustrates a case where joint interpolation is performed on the J2 axis and the J3 axis before the multi-joint robot 40 returns from the intermediate position C to the standby position G when the Z-axis coordinate value of the intermediate position C is equal to or less than the determination threshold.
  • the movement locus of the articulated robot 40 is shown.
  • the robot hand 46 comes out of the front fence 70 and interferes with the front fence 70.
  • the robot hand 46 may interfere with the front fence 70 because the movement range by joint interpolation of the J2 axis and J3 axis is large. Assuming such a case, it is necessary to move the robot hand 46 to an interference avoidance point K described later.
  • rotation angle is J2 axis +63 degrees, J3 axis +149 degrees, J4 axis 0 degrees, J5 axis +31 degrees, J6 axis 0 It is the posture when it is a degree. For this reason, in joint interpolation for movement to a standby position in S210, which will be described later, the rotation angle of each axis is controlled from the current rotation angle with the rotation angle at the standby position G as a target.
  • the CPU 410 moves to S209, moves the robot hand 46 to the interference avoidance point K, and then returns to the standby position in S210. Move on to processing.
  • the interference avoidance point K is located above the intermediate position C on the Z axis, and does not interfere with the front fence 70 when the articulated robot 40 is moved from the interference avoidance point K to the standby position G by joint interpolation. Position.
  • FIG. 14 shows the movement trajectory of the articulated robot 40 when joint interpolation is performed on the J2 axis and the J3 axis before the articulated robot 40 returns from the interference avoidance point K to the standby position G.
  • the robot hand 46 moves upward along the Z axis without interfering with the front fence 70. That is, since the interference avoidance point K is located above the determination threshold on the Z axis, the movement trajectory of the J2 axis and the J3 axis becomes narrow, and the robot hand 46 does not interfere with the front fence 70.
  • the CPU 410 returns the articulated robot 40 from the intermediate position C or the interference avoidance point K to the standby position G by joint interpolation.
  • the J5 axis check is omitted, and processing items of singularity check, interference angle check, axis movement, interference avoidance check, and standby position return are performed. Since the J5 axis check is omitted in Pattern 6, Pattern 10, and Pattern 14, in the flowchart of Pattern 6, Pattern 10, and Pattern 14, S200 is “NO” in the flowchart of FIG. Proceeds to S204.
  • Pattern 6, Pattern 10, and Pattern 14 are cases where the robot hand 46 is positioned above the pallet vicinity determination threshold PS1, as shown in FIG. 13B.
  • the robot hand 46 has a sufficient height so that the robot hand 46 does not interfere with the pallet 60 even when the wrist is rotated by looking at the J5 axis that is the angle of the wrist of the robot hand 46. For this reason, in the pattern 6, the pattern 10, and the pattern 14, the J5 axis check is omitted.
  • the flowchart of the pattern 7, the pattern 11, and the pattern 15 is the same as the flowchart of FIG.
  • the singular point check, the J5 axis check, and the interference angle check are omitted, and processing items of axis movement, interference avoidance check, and standby position return are performed.
  • the singular point check is omitted.
  • the robot hand 46 is positioned above the pallet vicinity determination threshold PS1. That is, the robot hand 46 has a height sufficient to prevent the robot hand 46 from interfering with the pallet 60 even when the wrist is rotated by looking at the J5 axis which is the wrist angle of the robot hand 46. For this reason, the J5 axis check is omitted. Further, in the patterns 8 and 12, there is no possibility that the members interfere with each other before returning from the current position to the standby position G. For this reason, the interference angle check is omitted.
  • the singular point check, the J5 axis check, the interference angle check, and the axis movement are omitted, and the processing items of the interference avoidance check and the standby position return are performed.
  • the reason why the singular point check, the J5 axis check, and the interference angle check are omitted in the pattern 16 is the same reason as in the patterns 8 and 12.
  • the current position is the intermediate position C because it is not located in the vicinity of all the interfering objects, and the axis movement from the pattern 5 to the pattern 15 is performed. This is the same state as when completed. For this reason, in the pattern 16, the axial movement is omitted. Therefore, in the pattern 16, it is only necessary to perform the interference avoidance check and the standby position return.
  • a movement path is selected according to the position and orientation of the articulated robot 40 when the switch key 22c is turned on, and along the selected movement path. Then, the robot hand 46 is controlled to move to the standby position G. Patterns 1 to 16 are programmed in each program corresponding to the selected movement route.
  • the first operation panel 22 and the second operation panel 24 of the NC machine tool system are provided with switch keys 22c and 24c for operating the articulated robot 40 by executing the standby position return program stored in the memory 450. For this reason, if the operator turns on the switch keys 22c and 24c of the first operation panel 22 and the second operation panel 24, the standby position return program is executed and the articulated robot 40 operates. Thereby, even the worker who operates the articulated robot 40 for the first time can operate it safely.
  • the standby position return program is programmed to operate under the orthogonal coordinate system used in the NC machine tool 10. For this reason, the articulated robot 40 can be operated under the orthogonal coordinate system used in the NC machine tool 10. For this reason, it is easy for an operator accustomed to the operation of the NC machine tool 10 to understand the operation of the articulated robot 40.
  • the standby position return program is programmed as follows. That is, the standby position G (target position and orientation) of the articulated robot 40 is set, and the switch keys 22c and 24c are turned on when the articulated robot 40 moves to the standby position G (target position and orientation).
  • the movement path is selected according to the position and orientation of the multi-joint robot 40 at the time, and the multi-joint robot 40 is moved along the selected movement path.
  • the robot control device 50 controls the articulated robot 40 according to a program. Therefore, the operator does not need to operate the articulated robot 40 according to the position and orientation of the articulated robot 40.
  • the pallet 60 of the workpiece 80 is disposed on the side of the NC machine tool 10.
  • the multi-joint robot 40 can move between the NC machine tool 10 and the pallet 60.
  • the pallet 60 and the NC machine tool 10 are surrounded by a front fence 70, a side fence 72, and a rear fence 74 (safety fence).
  • the standby position return program the standby position G (target position / posture) of the articulated robot 40 is set.
  • the standby position return program is programmed so that the articulated robot 40 moves along a movement path selected according to the position and orientation of the articulated robot 40 when the switch keys 22c and 24c are turned on. .
  • the articulated robot 40 is moved to the standby position G (target position / posture) while avoiding interference with the front fence 70, the side fence 72, and the rear fence 74 (safety fence). It is also programmed.
  • the robot control device 50 controls the articulated robot 40 according to the standby position return program. For this reason, when the standby position return program is executed, the movement path is selected according to the position and orientation of the articulated robot 40 when the switch keys 22c and 24c are turned on, and the front fence 70 (safety fence) is connected.
  • the articulated robot 40 can be moved to the standby position G (target position / posture) while avoiding interference. This eliminates the need for the operator to operate the articulated robot so as not to interfere with the front fence 70 (safety fence) according to the position and orientation of the articulated robot 40.
  • the NC machine tool 10 is provided with a first operation panel 22, and the pallet 60 is provided with a second operation panel 24.
  • the operation panels 22 and 24 are respectively provided with switch keys 22c and 24c for executing a standby position return program. Therefore, when the articulated robot 40 is located near the pallet 60, the standby position return program can be executed by turning on the switch key 24c of the second operation panel 24. On the other hand, when the articulated robot 40 is located near the NC machine tool 10, the program can be executed by operating the first operation panel 22. For this reason, depending on whether the articulated robot 40 is located in the vicinity of either the pallet 60 or the NC machine tool 10, the operator can switch the switch means of the operation panel closer to the pallet 60 or the NC machine tool 10. Can be operated. Thereby, a common program for operating the articulated robot 40 is executed.
  • the pallet 60 is arranged on the right side of the NC machine tool 10, but the pallet 60 may be arranged on the left side of the NC machine tool 10.
  • the articulated robot 40 may be a 6-axis articulated robot, replacing the J1 axis, which is the traveling axis, with the turning axis.
  • the articulated robot 40 may be an articulated robot having 7 or more axes other than the 6-axis robot.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

 NC工作機械システムは、NC工作機械(10)、NC工作機械用の第1操作盤(22)、第2操作盤(24)、多関節ロボット(40)、メモリ(450)、及びロボット制御装置(50)を備える。多関節ロボット(40)は、NC工作機械用の上方に配置されている。メモリ(450)は、多関節ロボット(40)を動作させるための待機位置復帰プログラムを記憶する。ロボット制御装置(50)は、プログラムに従って多関節ロボット(40)を制御する。第1操作盤(22,24)には、メモリ(450)に記憶した待機位置復帰プログラムを実行して多関節ロボット(40)を動作させるために操作されるスイッチキー(22c,24c)がそれぞれ設けられている。

Description

NC工作機械システム
 本発明は、NC工作機械システムに関する。
 従来から、多関節ロボットは、複数の回転軸により構成されている。そのため、作業者がティーチングボックスを用いて多関節ロボットを手動で操作することは、極めて困難である。操作に習熟した作業者であっても、多関節ロボットの周囲に干渉物が存在する場合、軸の選択や移動方向を間違えると、多関節ロボットを干渉物に干渉させてしまう虞がある。このため、作業者は、最適な軸の選択や移動方向を慎重に考慮しながら、多関節ロボットを少しずつ動かすようにしている。このように、作業者にとって多関節ロボットの操作は、非常に神経を使う作業であり、扱い難い作業である。特に日本では、多関節ロボットを操作するのに、法令で定められた講習を受けて資格を取得しなければならない。
 ロボットを操作したことのない一般の作業者は、NC工作機械の附属品としてシステム化された多関節ロボットを操作できない。このため、多関節ロボットによる作業を必要とする特殊なケースを除いて、上記のような工作機械の導入は敬遠されてきた。
 特許文献1は、複数の動作プログラムにそれぞれ対応したスイッチを設け、押されたスイッチに応じて読み出されたプログラムに従い作業を実行する工業用ロボットを開示する。特許文献2は、ティーチングペンダントの起動スイッチを長い時間で操作すると連続動作モードでロボットが起動し、短い時間で操作するとシングルブロック運転でロボットが起動することを開示する。いずれの特許文献も、多関節ロボットを用いてNC工作機械をシステム化した場合において、ロボット操作の扱いになれていない作業者への考慮がされていない。
実開平06-002408号公報 特開平05-301184号公報
 本発明の目的は、多関節ロボットとNC工作機械を備えるNC工作機械システムにおいて、多関節ロボットを初めて操作する作業者であっても、安全に操作することのできるNC工作機械システムを提供することにある。
 上記目的を達成するため、本発明の第一の態様によれば、NC工作機械と、NC工作機械用の操作盤と、NC工作機械の上方に配置された多関節ロボットと、多関節ロボットを動作させるためのプログラムを記憶するプログラム記憶手段と、プログラムに従って多関節ロボットを制御するロボット制御装置とを備えたNC工作機械システムが提供される。操作盤には、プログラム記憶手段に記憶したプログラムを実行して多関節ロボットを動作させるスイッチ手段が設けられている。プログラムは、多関節ロボットの目標位置姿勢が設定されると共にスイッチ手段がオン操作されたときの多関節ロボットの位置姿勢に応じて移動経路が選択されその選択された移動経路に沿って目標位置姿勢を取るよう多関節ロボットを移動させるようにプログラミングされている。ロボット制御装置は、プログラムに従って多関節ロボットを制御する。
 この構成によれば、作業者が、操作盤のスイッチ手段を操作すると、プログラムが実行されて、多関節ロボットが動作する。これにより、多関節ロボットを初めて操作する作業者であっても、安全に操作することができる。また、スイッチ手段がオン操作されたときの多関節ロボットの位置姿勢に応じて移動経路が選択され、選択された移動経路に沿って多関節ロボットが目標位置姿勢を取るように移動する。このため、作業者は、多関節ロボットの位置姿勢に応じて多関節ロボットを操作する必要がなくなる。
 上記のNC工作機械システムにおいて、NC工作機械の側部には、ワークのパレットが配置され、多関節ロボットは、NC工作機械とパレットとの間を移動可能であり、パレット及びNC工作機械の周囲は安全柵で囲われ、プログラムは、多関節ロボットの目標位置姿勢が設定されると共にスイッチ手段がオン操作されたときの多関節ロボットの位置姿勢に応じて移動経路が選択されその選択された移動経路に沿って安全柵との干渉を回避しながら目標位置姿勢を取るよう多関節ロボットを移動させるようにプログラミングされ、ロボット制御装置は、プログラムに従って多関節ロボットを制御することが好ましい。
 この構成によれば、プログラムが実行されると、スイッチ手段がオン操作されたときの多関節ロボットの位置姿勢に応じて移動経路が選択されると共に安全柵との干渉を回避しながら目標位置姿勢を取るように多関節ロボットが移動する。このため、作業者は、多関節ロボットの位置姿勢に応じて安全柵との干渉を回避しながら多関節ロボットを操作する必要がなくなる。
 上記のNC工作機械システムにおいて、操作盤は、NC工作機械付近に配置された第1操作盤と、パレット付近に配置された第2操作盤とを含み、第1及び第2操作盤のそれぞれには、プログラムを実行するために操作されるスイッチ手段が設けられていることが好ましい。
 この構成によれば、NC工作機械付近に多関節ロボットが位置している場合、NC工作機械付近にある第1操作盤のスイッチ手段を操作すれば、プログラムを実行することができる。一方、パレット付近に多関節ロボットが位置している場合、パレット付近の第2操作盤にあるスイッチ手段を操作すれば、プログラムを実行することができる。
 上記のNC工作機械システムにおいて、プログラムは、NC工作機械で使用される直交座標系の下でプログラミングされていることが好ましい。
 この構成によれば、NC工作機械で使用される直交座標系の下でプログラムを実行させることができる。このため、NC工作機械の操作に慣れている作業者にとって、多関節ロボットの動作の理解が容易である。
本発明の一実施形態に係るNC工作機械システムの正面図。 前フェンスを省略したNC工作機械システムの正面図。 工作機械内に移動したときの多関節ロボットの側面図。 パレットの上方に移動したときの多関節ロボットの側面図。 多関節ロボットの斜視図。 システムのブロック図。 ワンタッチボタンで起動したプログラムのフローチャート。 ワンタッチボタンで起動したプログラムのフローチャート。 パターン5のフローチャート。 パターン5~パターン16の各処理と、前フェンス近傍、前フェンス離反、本機近傍、走行端近傍及び本機・走行端離反との関係を表す説明図。 ロボットハンドの斜視図。 待機位置において待機姿勢を取る多関節ロボットの側面図。 (a)は、パターン5~パターン16の各処理が行われるロボットハンドの位置を示す模式図、(b)は、パターン5~パターン16の各処理が行われるロボットハンドの位置を示す模式図。 前フェンスと干渉しない場合の多関節ロボットの動きを示す模式図。 前フェンスと干渉する場合の多関節ロボットの動きを示す模式図。 J2軸給油姿勢を取る多関節ロボットの側面図。 J5,J6軸給油姿勢を取る多関節ロボットの側面図。
 以下、本発明を具体化したNC工作機械システムの一実施形態を図1~図17を参照して説明する。
 図1及び図6に示すように、NC工作機械システムは、NC工作機械10、NC工作機械10を制御するNC制御装置20、多関節ロボット40、及び多関節ロボット40を制御するロボット制御装置50を備えている。多関節ロボット40は、NC工作機械10の上方に配置されるガントリーレール30上を走行する。NC工作機械10は、対向主軸型複合旋盤である。図1の右側に示すように、NC工作機械10の側方には、ワーク供給・排出用のパレット60が配置されている。ガントリーレール30は、NC工作機械10の上面とパレット60の上面との間を跨るように延びている。なお、本実施形態において、図1及び図2に示すNC工作機械10を正面から見た場合の上下方向,前後方向,左右方向をそれぞれ、Z軸方向,X軸方向,Y軸方向とする。また、図1~図5に示すように、+X軸方向は手前方向であり、+Y軸方向は右方向であり、+Z軸方向は上方向である。
 NC工作機械10のベッド10a上には、第1主軸台10b及び第2主軸台10cが配置されている。第1主軸台10bには、ワークを保持するチャック10fを備えた主軸ヘッド10dが配置されている。第2主軸台10cには、ワークを保持するチャック10gを備えた主軸ヘッド10eが配置されている。NC工作機械10は、工具主軸ユニット10hを備えている。工具主軸ユニット10hは、コラム及びサドルにより支持されている。コラムは、ベース部に対しX軸方向へ移動可能である。ベース部は、Y軸方向へ移動可能である。サドルは、コラムに対してZ軸方向に移動可能である。
 コラムは、図6に示すX軸モータ320によりX軸方向に移動する。また、コラムは、Y軸モータ330により駆動されたベース部によってY軸方向にも移動する。また、サドルは、図6に示すZ軸モータ340により駆動されてZ軸方向にも移動する。工具主軸ユニット10hには、加工工具10jが装着されている。
 図5に示すように、多関節ロボット40は、6軸(J1軸~J6軸)を有する。多関節ロボット40は、水平方向と一致するJ1軸に沿って移動するロボットベース41を備えている。ロボットベース41は、ガントリーレール30に対し、ガントリーレール30の長手方向に沿って移動可能に取り付けられている。ロボットベース41には、ラックアンドピニオン型のレール駆動部が設けられている。レール駆動部は、図6に示すJ1軸モータM1を備えている。ガントリーレール30のラックにJ1軸モータM1の出力軸に設けられたピニオンが噛み合うため、J1軸モータM1が駆動されると、ロボットベース41は、図2に示すガントリーレール30の右側走行端REと左側走行端LEの間を移動する。J1軸は、走行軸である。
 ロボットベース41上には、J1軸と平行なJ2軸周りに揺動するJ2軸アーム42が連結されている。J2軸アーム42は、ロボットベース41に設けられた減速機構付きのJ2軸モータM2により揺動する。J2軸アーム42の先端には、J2軸と平行なJ3軸周りに揺動するJ3軸ケーシング43が連結されている。J3軸ケーシング43は、J3軸ケーシング43に内蔵された減速機構付きのJ3軸モータM3により揺動する。
 J3軸ケーシング43の先端には、J3軸と直交するJ4軸周りに回動するJ3軸アーム44が連結されている。J3軸アーム44は、J3軸ケーシング43に設けられた減速機構付きのJ4軸モータM4により回動する。J3軸アーム44の先端には、J4軸と直交するJ5軸周りに揺動するJ6軸ユニット45が連結されている。J6軸ユニット45は、J3軸アーム44に内蔵された減速機構付きの図6に示すJ5軸モータM5により揺動する。図4及び図5に示すように、J6軸ユニット45の先端部は、J5軸と直交するJ6軸周りに回動する。J6軸ユニット45の先端部は、J6軸ユニット45に内蔵された減速機構付きのJ6軸モータM6により回動する。J6軸ユニット45の先端部には、ロボットハンド46が連結されている。
 図11に示すように、ロボットハンド46は、ベース46aを介してJ6軸ユニット45に固定されている。ベース46aの対向する一対の端面のうち一方にはローディングハンド46bが固定され、他方にはアンローディングハンド46cが固定されている。ローディングハンド46b及びアンローディングハンド46cのそれぞれには、複数のジョー46dが設けられている。ジョー46dが作動して、ワーク80が把持されたり、ワーク80の把持が解除されたりする。J2軸からJ6軸はいずれも旋回軸である。
 図5に示すように、J2軸アーム42が水平状態で+X方向に向いたときのJ2軸周りの回転角を0度とする。J2軸アーム42が0度から上方向へ回転するときの回転角度を+とし、下向き方向へ回転するときの回転角度を-とする。J3軸アーム44が鉛直下方(-Z方向)に向いたときの回転角を+180度とする。すなわち、J3軸アーム44が鉛直上方(+Z方向)に向いたときの回転角が0度である。J3軸アーム44が0度から前方向へ回転するときのJ3軸周りの回転角度を+とし、後方向へ回転するときのJ3軸周りの回転角度を-とする。J3軸アーム44の基準部位44aが+X方向に向いたときのJ4軸周りの回転角を0度とする。0度の位置からJ3軸アーム44の基準部位44aが+Y方向へ向くときのJ4軸周りの回転角度を+とし、-Y方向へ回転するときのJ4軸周りの回転角度を-とする。J6軸ユニット45がJ3軸アーム44と一直線状態に配置されたときのJ5軸周りの回転角を0度とする。J6軸ユニット45が0度から一方向(図5の前方向)へ回転するときのJ5軸周りの回転角度を-とし、反対方向(図5の後方向)へ回転するときのJ5軸周りの回転角度を+とする。
 図11に示すように、J6軸ユニット45に取り付けられたロボットハンド46の基準部位46eがJ3軸アーム44の基準部位44aと同一方向に向いたときのJ6軸周りの回転角を0度とする。すなわち、この状態は、ローディングハンド46b及びアンローディングハンド46cが水平状態で、かつY軸に沿って並んでいる状態に対応する。ロボットハンド46の基準部位46eが0度から+Y方向へ向くときのJ6軸周りの回転角度を+とし、-Y方向へ回転するときのJ6軸周りの回転角度を-とする。ロボットハンド46は、パレット60上のワーク80を把持してNC工作機械10へ供給するとともに、NC工作機械10で加工が終了したワーク80をパレット60上に排出する。
 図1、図2、図3及び図4に示すように、NC工作機械10及びパレット60の周囲には、安全柵としての前フェンス70、側面フェンス72、及び後フェンス74が配置されている。前フェンス70には、NC工作機械10及びパレット60にそれぞれ対応するドア76、78が開閉自在に設けられている。ドア76,78には、窓76a,78aが設けられている。前フェンス70において、NC工作機械10の窓76a付近には、第1操作盤22が設けられている。パレット60の窓78a付近には、第2操作盤24が設けられている。第1操作盤22及び第2操作盤24は、NC工作機械用の操作盤に相当する。窓78a付近には、ティーチングボックス26が設けられている。ティーチングボックス26は、図6に示すロボット制御装置50に対し電気的に接続されている。
 次に、NC工作機械システムの電気的構成について図6を参照して説明する。
 図6に示すように、NC制御装置20のCPU(中央処理装置)110は、NC制御装置20を全体的に制御する。CPU110には、バス線120を介して、ROM130、RAM140、メモリ150、インターフェイス160、通信インターフェイス170、X軸制御部210、Y軸制御部220、Z軸制御部230、主軸制御部240等が接続されている。ROM130には、NC制御装置20の全体を制御するための各種のシステムプログラムが格納されている。RAM140には、一時的な計算データや表示データ及び第1操作盤22、第2操作盤24を介して、オペレータが入力した各種データ等が格納される。
 インターフェイス160には、第1操作盤22及び第2操作盤24が接続されている。第1操作盤22及び第2操作盤24は、表示装置22a,24a及びデータ入力のためのキーボード22b,24bを備えている。図1及び図6に示すように、キーボード22b,24bには、多関節ロボット40を待機位置へ復帰させるときに操作されるスイッチキー22c,24c、及び多関節ロボット40を上昇させる際に操作されるボタン22d,24dが設けられている。スイッチキー22c,24c及びボタン22d,24dは、スイッチ手段である。
 X軸制御部210は、CPU110からのX軸の位置制御指令を受けて、位置制御指令をサーボアンプ280に出力する。サーボアンプ280は、位置制御指令に基づいてX軸モータ320を駆動し、コラムをX軸方向に移動する。Y軸制御部220は、CPU110からのY軸の位置制御指令を受けて、位置制御指令をサーボアンプ290に出力する。サーボアンプ290は、位置制御指令に基づいてY軸モータ330を駆動し、コラムをY軸方向に移動する。Z軸制御部230は、CPU110からのZ軸の位置制御指令を受けて、位置制御指令をサーボアンプ300に出力する。サーボアンプ300は、位置制御指令に基づいてZ軸モータ340を駆動し、サドルをZ軸方向に移動する。
 主軸制御部240は、CPU110からの主軸回転制御指令を受け、主軸アンプ310に主軸速度信号を出力する。主軸アンプ310は、主軸速度信号に基づいて、指令された主軸回転数で主軸モータ350を回転させ、加工工具10jを駆動する。通信インターフェイス170は、通信線Lを介して、ロボット制御装置50と通信可能である。X軸モータ320、Y軸モータ330、Z軸モータ340及び主軸モータ350は、サーボモータからなる。
 次に、ロボット制御装置50を説明する。
 ロボット制御装置50のCPU410には、バス線420を介して、ROM430、RAM440、メモリ450、インターフェイス460、通信インターフェイス470、J1軸制御部510、J2軸制御部520、J3軸制御部530、J4軸制御部540、J5軸制御部550、J6軸制御部560等が接続されている。
 ROM430には、ロボットの動作制御を実行するための制御プログラムと、実行条件等のデータとが記憶されている。RAM440には、多関節ロボット40の教示プログラムが記憶される。RAM440は、CPU410のワーキングエリアとして用いられる。RAM440には、計算途中のデータが一時的に格納される。メモリ450は、例えば、ハードディスク又は不揮発性の半導体メモリからなる。メモリ450には、教示データが記憶されている。教示データは、多関節ロボット40に対し手動制御により教示されるとともに教示プログラムの実行時に読み込まれるデータである。メモリ450には、待機位置復帰プログラムが記憶されている。メモリ450は、プログラム記憶手段に相当する。待機位置復帰プログラムは、X軸、Y軸、Z軸の直交座標系の下で動作するようにプログラミングされている。X軸、Y軸、Z軸の直交座標系は、NC工作機械で使用される直交座標系である。
 多関節ロボット40のロボットベース41の任意の点を基点とするベース座標系、各アームの基点を原点とする各アームの座標系、及びロボットハンド46の取付位置である任意の点を原点とするツール座標系はいずれも、既知である。このため、待機位置復帰プログラムにX軸、Y軸、Z軸の直交座標系で記述された各種指令は、既知のデータから得られる同次変換行列を用いて各座標系の指令に変換された後、各軸制御部に出力される。インターフェイス460には、多関節ロボット40の教示データの入力及び手動制御時に使用されるティーチングボックス26が接続されている。
 J1軸制御部510~J6軸制御部560はそれぞれサーボアンプ610~660に接続されている。J1軸制御部510~J6軸制御部560は、CPU410からの回転制御指令と、J1軸モータM1~J6軸モータM6の各ロータリエンコーダE1~E6からの現在位置情報(現在回転角度)とに基づいて、各サーボアンプのフィードバック制御を実行する。J1軸モータM1~J6軸モータM6はサーボモータからなる。サーボアンプ610~660は、J1軸制御部510~J6軸制御部560からの指令に基づいて、J1軸モータM1~J6軸モータM6を駆動し、ロボットハンド46を移動する。通信インターフェイス470は、通信線Lを介してNC制御装置20と通信が可能である。
 次に、NC工作機械システムの作用について図7~図9のフローチャートを参照して説明する。
 本実施形態で実行される待機位置復帰プログラムは、多関節ロボット40を待機位置Gへ復帰させるためのプログラムである。図2に示すように、待機位置Gは、NC工作機械10のパレット60に面する端部の上方に設定されている。待機位置復帰プログラムは、メモリ450に格納されており、起動時にCPU410により読み込まれて、RAM440に記憶される。
 多関節ロボット40を待機位置へ復帰させたい場合、オペレータは、工作機械付近で作業している場合、第1操作盤22のスイッチキー22cを操作する。一方、オペレータは、パレット60付近で作業している場合、第2操作盤24のスイッチキー24cを操作する。スイッチキー22c,24cのいずれかが操作されると、第1操作盤22又は第2操作盤24からプログラム起動のための信号が出力されて、NC制御装置20のインターフェイス160に入力される。そして、プログラム起動のための信号は、通信インターフェイス170及び通信インターフェイス470を介してロボット制御装置50のCPU410に入力される。CPU410は、プログラム起動のための信号に基づいて、待機位置復帰プログラムを起動する。
 図7に示すように、CPU410は、S10において、J1軸~J6軸の全軸が、多関節ロボット40が図2及び図12に示す待機位置Gに復帰したときの位置姿勢になっているか否かを判定する。多関節ロボット40が待機位置Gに復帰した場合の位置姿勢は、予めプログラムに設定されている。このため、CPU410は、J1軸~J6軸の全軸がその位置姿勢になっているか否かを判定する。多関節ロボット40の作動時、ロータリエンコーダE1~E6は、J1軸モータM1~J6軸モータM6の現在位置情報を所定周期で検出する。このため、CPU410は、現在位置情報に基づいてS10の判定を行う。多関節ロボット40が待機位置Gに復帰したときの位置姿勢になっている場合、CPU410は、待機位置復帰プログラムの実行を終了する。多関節ロボット40が待機位置Gに位置していない場合、CPU410はS20に移行する。
 S20では、CPU410は、現在位置情報に基づいて、多関節ロボット40が段取り位置に位置しているか否かを判定する。段取りとは、一般的にオペレータがNC工作機械システムを作動させるために種々の準備をするための作業を指すが、ここでは、多関節ロボットのハンドを交換するための作業を示す。従って、段取り位置は、オペレータが多関節ロボットのハンドを交換するときの多関節ロボット40の位置であり、待機位置とは異なる。詳しくは、多関節ロボット40は、所定のプログラムにより実行されるか、ティーチングボックス26の手動操作により移動させられて、段取り位置に移動し、段取りのための姿勢を取る。S20では、CPU410は、多関節ロボット40がその段取り位置にあるか否かを判定する。多関節ロボット40が段取り位置に位置している場合、CPU410は、S22においてプログラムされたパターン1の処理を行う。
 パターン1の処理では、CPU410は、段取り位置に位置している多関節ロボット40を待機位置Gに復帰させるため、各軸モータに対して回転制御指令を付与する。段取り位置に位置する多関節ロボット40の各アーム及びロボットハンド46の位置姿勢は、予め待機位置復帰プログラムにより設定されている。このため、多関節ロボット40は、その位置姿勢から待機位置Gに復帰させられる。この場合、終点である待機位置Gと現在位置情報に基づく現在位置との間が複数の区間に区分されている。そして、CPU410は、ロボットハンド46を、区間毎に直線補間、円弧補間又は関節補間により動作制御して、待機位置Gに移動させる。パターン1のプログラムは、多関節ロボット40が待機位置Gまで各区間を移動する場合、前フェンス70,後フェンス74、及び側面フェンス72と干渉しないように設定されている。なお、多関節ロボット40が待機位置Gに復帰したときの各アーム及びロボットハンド46の位置姿勢は、後述するS32,S42,S56,S83,S84,S86,S87,S93,S94,S96,S97,S103,S104,S106,S107の各処理において待機位置Gに復帰したときの位置姿勢と同じである。
 S22において、CPU410は、待機位置Gに多関節ロボット40を復帰させた後、待機位置復帰プログラムの実行を終了する。
 S20において段取り位置及び姿勢になっていない場合、CPU410はS30に移行する。
 S30では、CPU410は、現在位置情報に基づいて、多関節ロボット40がJ2軸の給油のための位置及び姿勢になっているか否かを判定する。
 ここで、J2軸の給油のための位置及び姿勢について説明する。
 図16は、多関節ロボット40のJ2軸給油姿勢を示す。J2軸給油姿勢では、J2軸-90度、J3軸+105度、J4軸0度、J5軸+75度、J6軸0度である。J2~J6軸の座標位置を上記の角度に位置決めしてから、給油が行われる。J2軸の給油のための位置及び姿勢は、多関節ロボット40を構成する各アームの構造に応じて変更される。
 S30において、多関節ロボット40がJ2軸の給油のための位置及び姿勢になっている場合、CPU410は、S32においてパターン2の処理を行う。
 パターン2の処理では、CPU410は、J2軸給油位置にある多関節ロボット40を待機位置Gに復帰させるため、各軸モータに対し回転制御指令を付与する。J2軸の給油位置にある多関節ロボット40の各アーム及びロボットハンド46の位置姿勢は、予め待機位置復帰プログラムにより設定されている。このため、多関節ロボット40は、そのJ2軸給油のための位置姿勢から待機位置Gに復帰させられる。この場合、終点である待機位置Gと現在位置情報に基づく現在位置との間が複数の区間に区分されている。そして、CPU410は、ロボットハンド46を、区間毎に直線補間、円弧補間又は関節補間により動作制御して、待機位置Gに移動させる。パターン2のプログラムは、多関節ロボット40が待機位置Gまで各区間を移動する場合、前フェンス70,後フェンス74、及び側面フェンス72と干渉しないように設定されている。
 CPU410は、待機位置Gに多関節ロボット40が復帰した後、待機位置復帰プログラムの実行を終了する。S30において、多関節ロボット40がJ2軸の給油のための位置及び姿勢になっていない場合、CPU410はS40に移行する。
 S40では、CPU410は、現在位置情報に基づいて、多関節ロボット40が図17のJ5軸及びJ6軸の給油のための位置及び姿勢になっているか否かを判定する。本実施形態において、J5軸及びJ6軸の給油姿勢は、J2軸-30度、J3軸+220度、J4軸0度、J5軸+50度、J6軸0度である。J5軸及びJ6軸の給油のための位置及び姿勢の説明は、多関節ロボット40を構成する各アームの構造に応じて変更される。
 S40において、多関節ロボット40がJ5軸及びJ6軸の給油のための位置及び姿勢になっている場合、CPU410は、S42においてパターン3の処理を行う。
 パターン3の処理では、CPU410は、J5軸及びJ6軸給油のための位置にある多関節ロボット4を待機位置Gに復帰させるため、各軸モータに対し回転制御指令を付与する。J5軸及びJ6軸給油のための位置にある多関節ロボット40の各アーム及びロボットハンド46の位置姿勢は、予め待機位置復帰プログラムにより設定されている。このため、多関節ロボット40は、その位置姿勢から待機位置Gに復帰する。この場合、終点である待機位置Gと現在位置情報に基づく現在位置との間が複数の区間に区分されている。そして、CPU410は、ロボットハンド46を、区間毎に直線補間、円弧補間又は関節補間により動作制御して、待機位置Gに移動させる。パターン3のプログラムは、多関節ロボット40が待機位置Gまで各区間を移動する場合、前フェンス70,後フェンス74、及び側面フェンス72と干渉しないように設定されている。
 CPU410は、待機位置Gに多関節ロボット40が復帰した後、待機位置復帰プログラムの実行を終了する。S40において、多関節ロボット40がJ5軸及びJ6軸の給油のための位置及び姿勢になっていない場合、CPU410はS50に移行する。
 S50では、CPU410は、現在位置情報に基づいて、多関節ロボット40のロボットハンド46が、本機上にあるか否かを判定する。すなわち、CPU410は、Y軸方向に沿った範囲内においてNC工作機械10が占有する領域にロボットハンド46が位置しているか否かを判定する。以下、場合によっては、NC工作機械10のことを本機と称す。多関節ロボット40は、ガントリーレール30の走行端LE、RE間の範囲内を走行する。CPU410は、走行端LE、RE間の範囲内においてNC工作機械10が占有する領域にロボットハンド46が位置しているか否かを判定する。
 S50において、CPU410は、ロボットハンド46が本機上にあると判定した場合、S52に移行する。S52では、CPU410は、ロボットハンド46がZ軸方向において機内、即ち、NC工作機械10内に位置しているか否かを判定する。ここで言う機内とは、チャック10f、10gへワーク80を着脱するためにNC工作機械10内にロボットハンド46が侵入している場合を想定している。NC工作機械10内にロボットハンド46が侵入しているか否かを判定するための閾値であるZ軸座標値は、予め入力されている。
 CPU410は、ロボットハンド46のZ軸上の現在位置情報(Z軸座標値)が閾値以下の場合、ロボットハンド46が機内に位置していると判定して、S54に移行する。Z軸座標値が閾値を超えている場合、CPU410は、ロボットハンド46が機内に位置していないと判定して、S56に移行する。
 S54では、CPU410は、第1操作盤22の表示装置22a並びに第2操作盤24の表示装置24aに対し、ロボットハンド46が機内に位置しているため待機位置復帰プログラムでは動作不可であり他の操作キーを用いて操作する必要がある、旨の警告を表示させる。具体的には、CPU410は、表示装置22a,24aに対し、「上昇操作ボタンを使用して下さい」と表示させる。CPU410は、表示装置22a,24aに上記の警告を表示させた後、待機位置復帰プログラムの実行を終了する。
 この場合、オペレータは、キーボード22b,24bにあるロボット上昇操作のためのボタン22d,24dを操作する。ボタンが操作されると、上昇指令信号は、第1操作盤22からNC制御装置20のインターフェイス160に入力される。そして、上昇指令信号は、通信インターフェイス170及び通信インターフェイス470を介して、ロボット制御装置50のCPU410に入力される。CPU410は、上昇指令信号に基づいて、別途用意された機内上昇プログラムを起動させる。
 機内上昇プログラムは、本機内の工具主軸ユニット10hやワーク主軸ヘッド10cの位置を確認した後、待機位置復帰プログラムの処理と同様の処理を行うことにより、上記のユニットとの干渉を回避しながらロボットハンド46を上昇させる。
 S52において、ロボットハンド46が機内に位置していない場合、CPU410はS56に移行する。
 S52からS56に移行した場合、ロボットハンド46は、機内ではないがNC工作機械10上に位置しているため、パターン4の処理を行う。
 パターン4の処理では、CPU410は、NC工作機械10上に位置している多関節ロボット40を待機位置Gに復帰させるため、各軸モータに対し回転制御指令を付与する。この場合、ロボットハンド46はNC工作機械10上に位置しているため、想定される姿勢が極めて限定されるので、終点である待機位置Gまでの経路を、干渉物との干渉を回避した複数区間のプログラムとして予め作成しておくことができる。そして、CPU410は、ロボットハンド46を、区間毎に直線補間、円弧補間又は関節補間により動作制御して、待機位置Gに移動させる。パターン4のプログラムも、多関節ロボット40が待機位置Gまで各区間を移動する場合、前フェンス70,後フェンス74、及び側面フェンス72と干渉しないように設定されている。CPU410は、待機位置Gに多関節ロボット40が復帰した後、待機位置復帰プログラムの実行を終了する。
 S50において、CPU410はロボットハンド46が本機上にはないと判定した場合、S60に移行する。S10,S20,S30,S40及びS50で全てNOと判定された場合は、多関節ロボット40がパレット60のワーク80に対するハンドリングを行っていた場合である。
 以後の処理は、多関節ロボット40がパレット60のワーク80に対するハンドリング操作を行っていた場合を想定している。
 S60では、CPU410は、ロボットハンド46の現在位置をW軸で見て、Y軸補正値を演算する。W軸は、X軸の周りの回転軸である。
 図11に示すように、ロボットハンド46は、ローディングハンド46bと、アンローディングハンド46cとから構成されている。ロボットハンド46は、J6軸周りに180度回転することで、使用するハンドを切り換える。また、プログラムに書き込まれたロボットハンド46の位置を読み取ったり、ロボットハンド46の位置を指令したりする場合、どちらのハンドに対して指示を行っているかを、ツール座標系を選択することで切り替えられる。具体的には、ツール座標系はローディングハンド座標系とアンローディング座標系の2種類あり、ロボットハンド46の現在位置を、ローディングハンド座標系で読むと、ローディングハンド46bの基準部位47の座標値が示され、アンローディング座標系で読むとアンローディングハンド46cの基準部位47の座標値が示される。
 待機位置復帰プログラムでは、ロボットハンド46によりローディング又はアンローディングを行う訳ではなく、ロボットハンド46を待機位置へ復帰させるための動作を指令する。このため、一義的にローディングハンド座標系を用いて、ロボットハンド46の位置が読み取られたり、ロボットハンド46の位置の指令が行われるようにしている。従って、本明細書では、ロボットハンド46の現在位置あるいは座標値と表現するとき、全てローディングハンド座標系における値である。ところが、待機位置復帰プログラムが動作するときのロボットハンド46のJ6軸の角度は未定である。このため、読み取った座標値をそのまま用いて、ロボットハンド46と干渉物との間の距離を計算することはできない。例えば、X軸座標値だけでX軸方向の距離、Y軸座標値だけでY軸方向の距離、Z軸座標値だけでZ軸方向の距離をそれぞれ計算すると、ロボットハンド46と干渉物との間の正しい距離は得られない。ロボットハンド46と干渉物との間の距離に余裕があれば、ロボットハンド46をJ6軸周りに360度回転させることができるクリアランスを確保することで、ロボットハンド46と干渉物との干渉を判定することはできる。しかしながら、ロボットハンド46と干渉物との間の距離に余裕がない場合、Y軸補正を行った上で、Y軸方向での干渉判定を行うようにしている。
 ロボットハンド46のW軸座標値とは、J6軸でロボットハンド46を360度旋回させたときに基準部位47が描く真円の中心座標を基点としかつ基準部位47の座標を終点とするベクトルのX軸周りの回転角を意味する。W軸座標値により、ローディングハンド46bが上向き、下向き、右向き、左向きのいずれであるかを大まかに判定することができる。そして、ロボットをこのときの姿勢に維持しつつJ6軸だけを回転させてローディングハンド46を左向きにしたときの基準部位47のY軸座標値を計算する。こうして計算された座標値と現在のY軸座標値との誤差は、Y軸補正値として記憶されて、この後行われる干渉判定に用いられる。
 CPU410は、S60でY軸補正値を算出した後、S70において、ロボットハンド46がX軸上における後フェンス74の近傍に位置するか否かを判定する。即ち、CPU410は、現在のロボットハンド46が位置するX軸座標値においてJ4軸~J6軸周りにロボットハンド46を旋回させても後フェンス74に干渉しないか否かを判定する。
 CPU410は、予めメモリ450に格納された判定X軸座標値よりもロボットハンド46のX軸座標値が後フェンス74に近い場合、ロボットハンド46が後フェンス近傍に位置しており、J4軸~J6軸周りにロボットハンド46を旋回させると後フェンス74に干渉する可能性があると判定する。
 S70において、CPU410は、ロボットハンド46がX軸方向で後フェンス74の近傍に位置すると判定した場合、S72において、ロボットハンド46を旋回しても後フェンス74に干渉しないX軸方向の位置にJ2軸、J3軸、J5軸のいずれかを旋回して移動させる。このとき、J2軸、J3軸、J5軸のどれを移動するか、どの軸を組み合わせて移動させるかは適宜組み合わせればよい。
 CPU410は、S72の処理を行った後、或いは、S70でロボットハンド46がX軸方向で後フェンス74の近傍に位置しないと判定した場合、S80に移行する。
 S80では、CPU410は、Y軸座標値にS60で計算したY軸補正値を加えた値(以後、「補正後のY軸座標値」と言う)に基づいて、Y軸においてロボットハンド46の位置が本機近傍にあるか否かを判定する。この判定処理には、補正後のY軸座標値が予めメモリ450に格納された本機近傍判定閾値HS1よりも本機に近いか否かの判定処理が含まれる。補正後のY軸座標値が本機近傍判定閾値HS1よりも本機に近い場合、CPU410は、ロボットハンド46の位置が本機近傍であると判定する。本機近傍判定閾値HS1は、Y軸上の判定のための座標値である。ロボットハンド46の位置が本機に近いと判定した場合、CPU410はS81に移行し、ロボットハンド46の位置が本機に近くないと判定した場合、CPU410はS90に移行する。
 S81では、CPU410は、現在位置情報に基づいて、X軸方向でロボットハンド46の位置が前フェンス70近傍にあるか否かを判定する。この判定処理には、X軸座標値が予めメモリ450に格納された前フェンス近傍判定閾値MS1よりも前フェンス70に近いか否かの判定処理が含まれる。CPU410は、現在のX軸座標値が前フェンス近傍判定閾値MS1よりも前フェンス70に近い場合、ロボットハンド46の現在位置が前フェンス70に近傍であると判定する。前フェンス近傍判定閾値MS1は、X軸上の判定のための座標値である。
 ロボットハンド46の現在位置が前フェンス70に近いと判定した場合、CPU410はS82に移行する。
 S82では、CPU410は、現在位置情報に基づいて、Z軸方向でロボットハンド46の位置がパレット60近傍か否かを判定する。この判定処理には、Z軸座標値が予めメモリ450に格納されたパレット近傍判定閾値PS1よりもパレット60に近いか否かの判定処理が含まれる。CPU410は、現在のZ軸座標値がパレット近傍判定閾値PS1よりもパレット60に近い場合、ロボットハンド46の現在位置がパレット60近傍であると判定する。パレット近傍判定閾値PS1は、Z軸方向の位置判定のための座標値である。なお、パレット近傍判定閾値PS1は、パレット60にワーク80がある場合を考慮した値であり、ワーク80に対してロボットハンド46が干渉しない値である。
 ロボットハンド46の現在位置がパレット近傍であると判定した場合、CPU410はS83に移行する。S83では、CPU410は、パターン5の復帰処理を行って、多関節ロボット40を待機位置Gに移動した後、このフローチャートを終了する。
 S82において、ロボットハンド46の現在位置がパレット60近傍ではない判定すると、CPU410はS84に移行する。そして、CPU410は、パターン6の復帰処理を行ってから多関節ロボット40を待機位置Gに移動した後、このフローチャートを終了する。
 S81において、ロボットハンド46の現在位置が前フェンス70の近傍ではないと判定した場合、CPU410はS85に移行する。S85の処理は、S82と同様である。S85において、ロボットハンド46のZ軸座標値がパレット近傍であると判定した場合、CPU410はS86に移行する。そして、CPU410は、パターン7の復帰処理を行った後、このフローチャートを終了する。S85において、ロボットハンド46のZ軸座標値がパレット近傍でないと判定した場合、CPU410はS87に移行する。そして、CPU410は、パターン8の復帰処理を行った後、このフローチャートを終了する。
 S90では、CPU410は、現在位置情報に基づいて、Y軸においてロボットハンド46の位置が走行端RE近傍にあるか否かを判定する。この判定処理は、補正後のY軸座標値が予めメモリ450に格納された走行端近傍判定閾値HS2よりも走行端REに近いか否かの判定処理である。
 ロボットハンド46の補正後のY軸座標値が走行端近傍判定閾値HS2よりも走行端REに近い場合、CPU410は、ロボットハンド46の位置が走行端REに近傍にあると判定する。即ち、CPU410は「YES」と判定する。走行端近傍判定閾値HS2は、Y軸上の判定のための座標値である。ロボットハンド46の位置が走行端REに近いと判定した場合、CPU410はS91に移行する。一方、ロボットハンド46の位置が走行端REの近傍ではないと判定した場合、CPU410はS101に移行する。
 S91以降の処理について説明する。
 S91、S92、及びS95の各判定処理は、S80において「YES」と判定された後の、S81,S82,及びS85の各判定処理と同様のため、説明を省略する。
 CPU410は、S91において「YES」、S92において「YES」と判定した場合、S93においてパターン9の処理を行った後、このフローチャートを終了する。又、CPU410は、S92において「NO」と判定した場合、S94においてパターン10の処理を行った後、このフローチャートを終了する。一方、CPU410は、S91において「NO」と判定し、S95において「YES」と判定した場合、S96においてパターン11の処理を行った後、このフローチャートを終了する。CPU410は、S95において「NO」と判定した場合、S97においてパターン12の処理を行った後、このフローチャートを終了する。
 S101以降の処理について説明する。
 S101、S102、及びS105の各判定処理は、CPU410がS80で「YES」と判定した後の、S81,S82,及びS85の各判定処理とそれぞれ同様のため、説明を省略する。
 CPU410は、S101において「YES」、S102において「YES」と判定した場合、S103においてパターン13の処理を行った後、このフローチャートを終了する。CPU410は、S102において「NO」と判定した場合、S104においてパターン14の処理を行った後、このフローチャートを終了する。一方、CPU410は、S101において「NO」と判定し、S105において「YES」と判定した場合、S106においてパターン15の処理を行った後、このフローチャートを終了する。CPU410は、S105において「NO」と判定した場合、S107においてパターン16の処理を行った後、このフローチャートを終了する。
 上記のように、S80,S81,S82,S85、S90,S91,S92,S95、S101,S102,S105の処理で判定したときのロボットハンド46の位置について、図13(a)、(b)を参照して説明する。
 図13(a)、(b)に示すように、パターン5~パターン16の処理で対象となるロボットハンド46の位置が、Pにパターン番号を付して示されている。図13(a)は、本機近傍判定閾値HS1、走行端近傍判定閾値HS2及び前フェンス近傍判定閾値MS1で区分された各領域を示す。図13(b)は、本機近傍判定閾値HS1、走行端近傍判定閾値HS2及びパレット近傍判定閾値PS1で区分された各領域を示す。各領域内にロボットハンド46が位置している場合、各領域に対応するパターン5~パターン16の処理がそれぞれ行われる。
 次に、パターン5~パターン16の処理について図9及び図10を参照して説明する。
 図10に示すように、パターン5~パターン16は、特異点チェック、J5軸チェック、干渉角チェック、軸移動、干渉回避チェック、及び待機位置復帰の全処理項目、又は一部の処理項目の組み合わせからなる。まず、全ての処理項目が組み合わされているパターン5の処理のフローチャートについて図9を参照して説明する。他のパターン6~パターン16については、パターン5の処理で行われる項目と比較して説明する。
 パターン5の処理では、CPU410は、特異点チェック、J5軸チェック、干渉角チェック、軸移動、干渉回避チェック及び待機位置復帰の処理を順に行う。
 特異点チェックでは、S200において、CPU410は、J6軸ユニット45の姿勢が特異点近傍の姿勢になっていないか否かを、J5軸の現在回転角度に基づき判定する。具体的には、J5軸の値が-5度~+5度の範囲にあるか否かを確認する。そして、CPU410は、J6軸ユニット45の姿勢が特異点近傍でなければ、次のS202に移行する。CPU410は、J6軸ユニット45の姿勢が特異点近傍であると判定した場合、S201において特異点近傍から離間するようにJ5軸を回転させる。こうして、J5軸の角度を修正した後、CPU410はS202に移行する。
 なお、ロボットが特異点、即ち、特異姿勢にある場合は、指定した直交座標値による形態が無限に存在することになる。この場合、ロボットが動作できなくなる。このため、CPU410は、現在のロボットハンド46の位置が特異点近傍にあるか否かを判定して、この後の動作により特異点に位置させないようにする。
 J5軸チェックのS202では、CPU410は、ロボットハンド46の手首の角度であるJ5軸を見て、手首を回転させても、具体的にはJ4軸、J6軸を回転させても
ロボットハンド46がパレット60に干渉しないZ軸の座標値を算出する。CPU410は、算出したZ軸の座標値を後で使用するため、RAM440に記憶する。次の干渉角チェックでは、多関節ロボット40を構成する部材同士が干渉するか否かを判定する。具体的には、J2軸アーム42とJ3軸アーム44とが接近したとき、その後の動作によって干渉し易い。
 そこで、CPU410は、S204において、J2軸及びJ3軸のそれぞれの現在回転角度に基づいて、J2軸アーム42とJ3軸アーム44とがなす角度(干渉角)が干渉角閾値以下であるかを確認する。そして、CPU410は、干渉角が干渉角閾値以下であれば干渉する虞があると判定し、S205に移行する。S205では、CPU410は、J2軸モータM2を駆動し、干渉角が干渉角閾値を超えるようにJ2軸を動かす。なお、CPU410は、J2軸モータM2に代えてJ3軸モータM3を駆動し、干渉角が干渉角閾値を超えるようにJ3軸ケーシング43を回転させてもよい。S204において、干渉角が干渉角閾値以下でなければ、CPU410はS206に移行する。
 S206の軸移動は、ロボットハンド46について、現在位置及び待機位置G間の中間位置まで移動させるための処理である。まず、中間位置までの移動の説明の前に、中間位置の設定について説明する。ロボットハンド46が、前フェンス70、パレット60、走行端RE及び本機のうち、少なくともいずれか1つ物の近傍に位置する場合、それらから所定の距離だけ離れた位置を中間位置とする。具体的には、ロボットハンド46が前フェンス70のみに近接している場合、ロボットハンド46の現在位置のX軸座標値にさらに所定値を加算した値が、中間位置のX軸座標値となる。X軸座標値に加算する所定値は、S81において、前フェンス近傍判定閾値MS1で判定した場合に「NO」と判定できる値である。
 中間位置のY軸座標値及びZ軸座標値は、ロボットハンド46の現在位置の補正後のY軸座標値及びZ軸座標値とする。ロボットハンド46がパレット60のみに近接している場合、中間位置のX軸座標値及びY軸座標値は、ロボットハンド46の現在位置のX軸座標値及び補正後のY軸座標値となる。又、CPU410は、J5軸チェックで算出した値を中間位置のZ軸座標値とする。
 ロボットハンド46が本機、又は走行端REのみに近接している場合、中間位置のX軸座標値及びZ軸座標値は、ロボットハンド46の現在位置のX軸座標値及びZ軸座標値となる。又、中間位置のY軸座標値は、ロボットハンド46の補正後のY軸座標値にさらに所定値を加算した値となる。本機、又は走行端REのみに近接している場合、それぞれ補正後のY軸座標値に加算する所定値は、S80において本機近傍判定閾値HS1で判定した場合に「NO」と判定できる値、又は、S90において走行端近傍判定閾値HS2で判定した場合に「NO」と判定できる値である。
 次に、ロボットハンド46が前フェンス70、本機、走行端RE、パレットのいずれか2つ以上に近接している場合の中間位置の設定について説明する。
 2つ以上のものにロボットハンド46が近接している場合、1つのものに近接しているときと同様に、それぞれの近傍の座標軸における現在の座標値に所定値をそれぞれ加算したものを、中間位置の座標値とする。
 又、上述した干渉物に近傍していない場合、ロボットハンド46の現在位置の座標値がそのまま中間位置の座標値として採用される。ロボットハンド46の現在位置がパレット60近傍である場合、J5軸チェックで算出した値を中間位置のZ軸座標値とする。ロボットハンド46がいずれの干渉物にも近接していない場合、ロボットハンド46の現在位置が中間位置の座標値となり、結果として、CPU410は中間位置への移動を行わない。
 上記のように、CPU410は、中間位置を設定後、S206の軸移動において、ロボットハンド46を現在位置から中間位置へと移動させるようにロボットハンド46を制御する。なお、中間位置は、いずれかの干渉物に対し干渉し得るときに設定される。このため、中間位置への移動は、直線補間によって制御される。
 次の干渉回避チェックでは、ロボットハンド46が中間位置に位置する状態から多関節ロボット40を待機位置Gまで関節補間により移動させた場合、ロボットハンド46が前フェンス70に干渉する虞があるか否かがチェックされる。
 CPU410は、中間位置のZ軸座標値とZ軸上における判定閾値との比較に基づいて、S208において干渉回避チェックを行う。判定閾値は、試験値等により得られた値であり、メモリ450に格納されている。
 図15は、中間位置CのZ軸座標値が判定閾値以下である場合、中間位置Cから待機位置Gに多関節ロボット40が戻るまでにJ2軸及びJ3軸で関節補間が行われた場合の多関節ロボット40の移動軌跡を示す。図15に示すように、ロボットハンド46は、前フェンス70から前方に出て前フェンス70と干渉してしまう。中間位置Cから待機位置Gまで多関節ロボット40を関節補間により移動させる場合、J2軸、J3軸の関節補間による移動範囲が大きいため、ロボットハンド46が前フェンス70と干渉する虞がある。このような場合を想定して、後述する干渉回避点Kへのロボットハンド46の移動が必要となる。
 多関節ロボット40が待機位置Gに復帰したときの位置姿勢は、図12に示すように、回転角度をJ2軸+63度、J3軸+149度、J4軸0度、J5軸+31度、J6軸0度とした場合の姿勢となっている。このため、後述するS210における待機位置への移動のための関節補間では、各軸の回転角度が、現在回転角度から、待機位置Gでの上記回転角度を目標として制御される。
 S208において、中間位置CのZ軸座標値がZ軸上における判定閾値以下である場合、CPU410はS209に移行して、干渉回避点Kへロボットハンド46を移動させた後、S210の待機位置復帰の処理に移行する。干渉回避点Kは、中間位置CよりもZ軸上の上方に位置すると共に、干渉回避点Kから待機位置Gへと多関節ロボット40を関節補間により移動させた場合に前フェンス70と干渉しない位置である。
 図14は、干渉回避点Kから待機位置Gに多関節ロボット40が戻るまでにJ2軸及びJ3軸で関節補間が行われた場合の多関節ロボット40の移動軌跡を示す。図14に示すように、ロボットハンド46は、前フェンス70と干渉することなくZ軸に沿って上方に移動する。即ち、干渉回避点KがZ軸上における判定閾値より上方に位置するため、J2軸及びJ3軸の移動軌跡が狭くなり、ロボットハンド46は前フェンス70と干渉しない。
 次の待機位置復帰では、S210において、CPU410は、中間位置C又は干渉回避点Kから待機位置Gまで、多関節ロボット40を関節補間により復帰させる。
 次に、パターン13及びパターン9について図10を参照して説明する。
 図10に示すように、パターン9及びパターン13では、パターン5と同様に、特異点チェック、J5軸チェック、干渉角チェック、軸移動、干渉回避チェック、及び待機位置復帰の全ての処理項目が行われる。
 パターン6、パターン10、及びパターン14では、J5軸チェックが省略されて、特異点チェック、干渉角チェック、軸移動、干渉回避チェック、及び待機位置復帰の処理項目が行われる。パターン6、パターン10、及びパターン14では、J5軸チェックが省略されているため、パターン6、パターン10、及びパターン14のフローチャートでは、図9のフローチャートにおいてS200が「NO」又はS201の後、CPU410はS204に移行する。
 パターン6、パターン10、及びパターン14は、図13(b)に示すように、パレット近傍判定閾値PS1よりも上方にロボットハンド46が位置している場合である。この場合、ロボットハンド46の手首の角度であるJ5軸を見て、手首を回転させても、ロボットハンド46がパレット60に干渉しない十分な高さを有している。このため、パターン6、パターン10、及びパターン14では、J5軸チェックが省略されている。
 パターン7、パターン11、及びパターン15では、パターン5と同様に、特異点チェック、J5軸チェック、干渉角チェック、軸移動、干渉回避チェック、及び待機位置復帰の全ての処理項目が行われる。パターン7、パターン11、及びパターン15のフローチャートは、図9のフローチャートと同様である。
 パターン8及びパターン12では、パターン5とは異なり、特異点チェック、J5軸チェック、及び干渉角チェックが省略され、軸移動、干渉回避チェック、及び待機位置復帰の処理項目が行われる。
 パターン8及びパターン12では、現在位置から待機位置Gまで復帰するまでの間に特異点が発生しないため、特異点チェックが省略されている。又、図13(b)に示すように、パレット近傍判定閾値PS1よりも上方にロボットハンド46が位置している。即ち、ロボットハンド46の手首の角度であるJ5軸を見て、手首を回転させても、ロボットハンド46がパレット60に干渉しない十分な高さを有している。このため、J5軸チェックが省略されている。又、パターン8及びパターン12では、現在位置から待機位置Gまで復帰するまでの間に各部材同士が干渉する虞がない。このため、干渉角チェックが省略されている。
 パターン16は、パターン5とは異なり、特異点チェック、J5軸チェック、干渉角チェック及び軸移動が省略され、干渉回避チェック及び待機位置復帰の処理項目が行われる。パターン16で、特異点チェック、J5軸チェック、及び干渉角チェックが省略されている理由は、パターン8及びパターン12の場合と同じ理由である。又、図13(a),(b)に示すように、全ての干渉物の近傍に位置していないため、現在位置している地点が中間位置Cであり、パターン5からパターン15における軸移動が完了した状態と同じ状態である。このため、パターン16では、軸移動が省略されている。従って、パターン16では、干渉回避チェックと待機位置復帰とを行うだけでよい。
 このように、スイッチキー22c,24cのいずれかがオン操作されたときに、オン操作されたときの多関節ロボット40の位置姿勢に応じて移動経路が選択され、その選択された移動経路に沿って待機位置Gへとロボットハンド46が移動するように制御される。選択される移動経路に対応する各プログラムには、パターン1~パターン16がそれぞれプログラミングされている。
 NC工作機械システムの第1操作盤22、第2操作盤24には、メモリ450に記憶した待機位置復帰プログラムを実行させて多関節ロボット40を動作させるスイッチキー22c,24cが設けられている。このため、作業者が第1操作盤22、第2操作盤24のスイッチキー22c,24cをオン操作すれば、待機位置復帰プログラムが実行されて、多関節ロボット40が動作する。これにより、多関節ロボット40を初めて操作する作業者であっても、安全に操作することができる。
 又、待機位置復帰プログラムは、NC工作機械10で使用される直交座標系の下で動作するようプログラミングされている。このため、NC工作機械10で使用される直交座標系の下で多関節ロボット40を動作させることができる。このため、NC工作機械10の操作に慣れている作業者にとって、多関節ロボット40の動作の理解が容易である。
 待機位置復帰プログラムは、以下のようにプログラミングされている。即ち、多関節ロボット40の待機位置G(目標位置姿勢)が設定されると共に、待機位置G(目標位置姿勢)になるように多関節ロボット40が移動する際、スイッチキー22c,24cがオン操作されたときの多関節ロボット40の位置姿勢に応じて移動経路が選択され、選択された移動経路に沿って多関節ロボット40を移動させる。ロボット制御装置50は、プログラムに従って多関節ロボット40を制御する。よって、作業者は、多関節ロボット40の位置姿勢に応じて多関節ロボット40を操作する必要がなくなる。
 NC工作機械10の側部には、ワーク80のパレット60が配置されている。多関節ロボット40は、NC工作機械10とパレット60との間を移動可能である。パレット60とNC工作機械10の周囲は、前フェンス70、側面フェンス72、及び後フェンス74(安全柵)によって囲われている。待機位置復帰プログラムには、多関節ロボット40の待機位置G(目標位置姿勢)が設定されている。待機位置復帰プログラムは、スイッチキー22c,24cがオン操作されたときの多関節ロボット40の位置姿勢に応じて選択された移動経路に沿って、多関節ロボット40が移動するようにプログラミングされている。また、待機位置復帰プログラムには、前フェンス70、側面フェンス72、及び後フェンス74(安全柵)との干渉を回避しながら待機位置G(目標位置姿勢)になるよう多関節ロボット40を移動させるようにもプログラミングされている。
 ロボット制御装置50は、待機位置復帰プログラムに従って多関節ロボット40を制御する。このため、待機位置復帰プログラムが実行されると、スイッチキー22c,24cがオン操作されたときの多関節ロボット40の位置姿勢に応じて移動経路が選択され、前フェンス70(安全柵)との干渉を回避しながら待機位置G(目標位置姿勢)になるように多関節ロボット40を移動させることができる。このため、作業者は、多関節ロボット40の位置姿勢に応じて前フェンス70(安全柵)に干渉しないように多関節ロボットを操作する必要がなくなる。
 NC工作機械10には第1操作盤22が設けられ、パレット60には第2操作盤24が設けられている。各操作盤22,24には、待機位置復帰プログラムを実行させるスイッチキー22c,24cがそれぞれ設けられている。このため、多関節ロボット40がパレット60付近に位置している場合、第2操作盤24のスイッチキー24cをオン操作すれば、待機位置復帰プログラムを実行することができる。一方、NC工作機械10付近に多関節ロボット40が位置している場合、第1操作盤22を操作すれば、プログラムを実行することができる。このため、パレット60及びNC工作機械10のいずれかの付近に多関節ロボット40が位置しているかよって、作業者は、パレット60及びNC工作機械10のいずれか近い方の操作盤のスイッチ手段を操作することができる。これにより、多関節ロボット40を作動するための共通のプログラムが実行される。
 この実施形態において、パレット60をNC工作機械10の右側に配置したが、パレット60をNC工作機械10の左側に配置してもよい。
 この実施形態において、多関節ロボット40は、走行軸であるJ1軸を旋回軸に代えて、6軸の多関節ロボットであってもよい。
 この実施形態において、多関節ロボット40は、6軸ロボット以外に、7軸以上の多関節ロボットであってもよい。

Claims (4)

  1.  NC工作機械と、前記NC工作機械用の操作盤と、前記NC工作機械の上方に配置された多関節ロボットと、前記多関節ロボットを動作させるためのプログラムを記憶するプログラム記憶手段と、前記プログラムに従って前記多関節ロボットを制御するロボット制御装置とを備えたNC工作機械システムにおいて、
     前記操作盤には、前記プログラム記憶手段に記憶したプログラムを実行して前記多関節ロボットを動作させるスイッチ手段が設けられ、
     前記プログラムは、前記多関節ロボットの目標位置姿勢が設定されると共に、前記スイッチ手段がオン操作されたときの前記多関節ロボットの位置姿勢に応じて移動経路が選択され、その選択された移動経路に沿って前記目標位置姿勢を取るよう前記多関節ロボットを移動させるようにプログラミングされ、
     前記ロボット制御装置は、前記プログラムに従って前記多関節ロボットを制御することを特徴とするNC工作機械システム。
  2.  前記NC工作機械の側部には、ワークのパレットが配置され、
     前記多関節ロボットは、前記NC工作機械と前記パレットとの間を移動可能であり、
     前記パレット及び前記NC工作機械の周囲は安全柵で囲われ、
     前記プログラムは、前記多関節ロボットの目標位置姿勢が設定されると共に、前記スイッチ手段がオン操作されたときの前記多関節ロボットの位置姿勢に応じて移動経路が選択され、その選択された移動経路に沿って前記安全柵との干渉を回避しながら前記目標位置姿勢を取るよう前記多関節ロボットを移動させるようにプログラミングされ、
     前記ロボット制御装置は、前記プログラムに従って前記多関節ロボットを制御することを特徴とする請求項1に記載のNC工作機械システム。
  3.  前記操作盤は、前記NC工作機械付近に配置された第1操作盤と、前記パレット付近に配置された第2操作盤とを含み、
     前記第1及び第2操作盤のそれぞれには、前記プログラムを実行するために操作される前記スイッチ手段が設けられていることを特徴とする請求項1又は請求項2に記載のNC工作機械システム。
  4.  前記プログラムは、前記NC工作機械で使用される直交座標系の下でプログラミングされていることを特徴とする請求項1乃至請求項3のうちいずれか1項に記載のNC工作機械システム。
PCT/JP2011/069077 2011-08-24 2011-08-24 Nc工作機械システム WO2013027283A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2011/069077 WO2013027283A1 (ja) 2011-08-24 2011-08-24 Nc工作機械システム
CN201180025513.2A CN103987496B (zh) 2011-08-24 2011-08-24 Nc机床系统
EP11869764.8A EP2666598B1 (en) 2011-08-24 2011-08-24 Nc machine tool system
US13/814,455 US8694160B2 (en) 2011-08-24 2011-08-24 NC machine tool system
JP2012539899A JP5160700B1 (ja) 2011-08-24 2011-08-24 Nc工作機械システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/069077 WO2013027283A1 (ja) 2011-08-24 2011-08-24 Nc工作機械システム

Publications (1)

Publication Number Publication Date
WO2013027283A1 true WO2013027283A1 (ja) 2013-02-28

Family

ID=47746064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/069077 WO2013027283A1 (ja) 2011-08-24 2011-08-24 Nc工作機械システム

Country Status (5)

Country Link
US (1) US8694160B2 (ja)
EP (1) EP2666598B1 (ja)
JP (1) JP5160700B1 (ja)
CN (1) CN103987496B (ja)
WO (1) WO2013027283A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015150675A (ja) * 2014-02-19 2015-08-24 ファナック株式会社 ケーブルトラックを備えるロボット走行装置、ロボットシステム、および加工システム
WO2016002530A1 (ja) * 2014-06-30 2016-01-07 株式会社瑞光 シート繰出システム及びこれを用いたシート繰出方法
JP2018195055A (ja) * 2017-05-17 2018-12-06 ファナック株式会社 工作機械制御装置及び生産システム
WO2022097208A1 (ja) * 2020-11-04 2022-05-12 Dmg森精機株式会社 工作機械

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170028557A1 (en) 2015-07-28 2017-02-02 Comprehensive Engineering Solutions, Inc. Robotic navigation system and method
WO2014038002A1 (ja) * 2012-09-04 2014-03-13 三菱電機株式会社 数値制御装置
JP2015080816A (ja) * 2013-10-21 2015-04-27 株式会社近藤製作所 ワーク搬送装置
USD779146S1 (en) 2013-11-19 2017-02-14 Jtekt Corporation Transfer robot
KR101713195B1 (ko) * 2014-03-28 2017-03-07 예창우 로봇의 관절각 산출 시스템 및 그 방법
JP6392581B2 (ja) 2014-08-20 2018-09-19 ファナック株式会社 工作機械とともに使用されるロボットのロボット制御装置、及び加工システム
JP6088595B2 (ja) * 2015-07-24 2017-03-01 ファナック株式会社 カバーの開口部の一部を遮蔽する仕切り部材を備える工作機械、仕切り装置、およびロボットシステム
US20170028549A1 (en) * 2015-07-28 2017-02-02 Comprehensive Engineering Solutions, Inc. Robotic navigation system and method
EP3243609A1 (en) * 2016-05-09 2017-11-15 OpiFlex Automation AB A fenceless industrial robot system
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
JP6412179B2 (ja) 2017-02-03 2018-10-24 ファナック株式会社 加工機に対して移動ロボットが物品の搬入及び搬出を行う加工システム、及び機械制御装置
US9814297B1 (en) 2017-04-06 2017-11-14 Newtonoid Technologies, L.L.C. Cosmetic applicator
JP7032994B2 (ja) * 2018-05-08 2022-03-09 Dgshape株式会社 補正装置および補正方法
JP7119556B2 (ja) * 2018-05-15 2022-08-17 オムロン株式会社 多関節ロボットの干渉判定装置、多関節ロボットの干渉判定方法、多関節ロボットの干渉判定プログラム、及び経路計画生成装置
US10589423B2 (en) * 2018-06-18 2020-03-17 Shambhu Nath Roy Robot vision super visor for hybrid homing, positioning and workspace UFO detection enabling industrial robot use for consumer applications
JP2021053707A (ja) * 2019-09-26 2021-04-08 株式会社スギノマシン 多軸ロボット
CN111142477B (zh) * 2019-12-31 2022-08-12 科德数控股份有限公司 一种机床快捷复位系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63289606A (ja) * 1987-05-21 1988-11-28 Toshiba Corp 冗長自由度形ロボット
JPH04128023A (ja) * 1990-09-20 1992-04-28 Fanuc Ltd ディスプレイ器を備えた射出成形機
JPH05200685A (ja) * 1992-01-24 1993-08-10 Totsuki Kk 加工機
JPH05301184A (ja) 1992-04-28 1993-11-16 Shibaura Eng Works Co Ltd 工業用ロボット
JPH062408U (ja) 1992-03-02 1994-01-14 株式会社ダイヘン 工業用ロボツト
WO2009144787A1 (ja) * 2008-05-28 2009-12-03 平田機工株式会社 生産装置
JP2010155328A (ja) * 2009-01-01 2010-07-15 Sony Corp 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4146924A (en) * 1975-09-22 1979-03-27 Board Of Regents For Education Of The State Of Rhode Island System for visually determining position in space and/or orientation in space and apparatus employing same
JPS61131001A (ja) * 1984-11-29 1986-06-18 Toyota Motor Corp ロボツト用制御装置
US4639184A (en) * 1985-03-06 1987-01-27 Process Equipment Company Safety coupling device for robotic tooling
US4975856A (en) * 1986-02-18 1990-12-04 Robotics Research Corporation Motion controller for redundant or nonredundant linkages
JPH01146642A (ja) * 1987-12-03 1989-06-08 Fanuc Ltd 切削工具の停止制御装置
US4972347A (en) * 1988-10-11 1990-11-20 Cincinnati Milacron Inc. Method and apparatus for determining the correct tool dimensions for a three dimensional tool mounted on a manipulator
US5014183A (en) * 1988-10-31 1991-05-07 Cincinnati Milacron, Inc. Method and means for path offsets memorization and recall in a manipulator
US5544282A (en) * 1991-04-05 1996-08-06 Chen; Pang C. Method and apparatus for planning motions of robot manipulators
JP3168682B2 (ja) * 1992-04-27 2001-05-21 ソニー株式会社 数値制御装置
US5625576A (en) * 1993-10-01 1997-04-29 Massachusetts Institute Of Technology Force reflecting haptic interface
DE29519355U1 (de) * 1995-12-06 1996-01-25 Siemens Ag Vorrichtung zur Bedienung industrieller Steuerungen über mehrere Bedieneinheiten
IT1283019B1 (it) * 1996-05-16 1998-04-03 Salvagnini Italia Spa Metodo di gestione di un'isola di lavoro comprendente un robot asser- vito ad una pressa piegatrice per lavorazione di fogli di lamiera.
US6519860B1 (en) * 2000-10-19 2003-02-18 Sandia Corporation Position feedback control system
US6681151B1 (en) * 2000-12-15 2004-01-20 Cognex Technology And Investment Corporation System and method for servoing robots based upon workpieces with fiducial marks using machine vision
US6928336B2 (en) * 2001-02-12 2005-08-09 The Stanley Works System and architecture for providing a modular intelligent assist system
AU2002331786A1 (en) * 2001-08-31 2003-03-18 The Board Of Regents Of The University And Community College System, On Behalf Of The University Of Coordinated joint motion control system
US7076322B2 (en) * 2002-03-29 2006-07-11 National Instruments Corporation System and method for satisfying move constraints when performing a motion control sequence
JP4087841B2 (ja) * 2004-12-21 2008-05-21 ファナック株式会社 ロボット制御装置
EP1941333A4 (en) * 2005-10-06 2010-10-06 Abb As CONTROL SYSTEM AND CONTROL BOX FOR AN INDUSTRIAL ROBOT
US8010234B2 (en) * 2005-12-21 2011-08-30 Abb As Control system and teach pendant for an industrial robot
US7259535B1 (en) * 2006-05-08 2007-08-21 Boeing Company Apparatus and method for situating a tool with respect to a work site on a workpiece
WO2008154932A1 (en) * 2007-06-18 2008-12-24 Syddansk Universitet Determining a robot path
JP5089533B2 (ja) * 2008-08-28 2012-12-05 株式会社神戸製鋼所 ロボットの干渉回避方法及びロボットシステム
JP2010064158A (ja) * 2008-09-08 2010-03-25 Yamazaki Mazak Corp 加工装置
US20100070077A1 (en) * 2008-09-15 2010-03-18 Xyz Automation Programmed calibration and mechanical impulse response application iin robotic automation systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63289606A (ja) * 1987-05-21 1988-11-28 Toshiba Corp 冗長自由度形ロボット
JPH04128023A (ja) * 1990-09-20 1992-04-28 Fanuc Ltd ディスプレイ器を備えた射出成形機
JPH05200685A (ja) * 1992-01-24 1993-08-10 Totsuki Kk 加工機
JPH062408U (ja) 1992-03-02 1994-01-14 株式会社ダイヘン 工業用ロボツト
JPH05301184A (ja) 1992-04-28 1993-11-16 Shibaura Eng Works Co Ltd 工業用ロボット
WO2009144787A1 (ja) * 2008-05-28 2009-12-03 平田機工株式会社 生産装置
JP2010155328A (ja) * 2009-01-01 2010-07-15 Sony Corp 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム

Non-Patent Citations (1)

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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015150675A (ja) * 2014-02-19 2015-08-24 ファナック株式会社 ケーブルトラックを備えるロボット走行装置、ロボットシステム、および加工システム
DE102015001865B4 (de) 2014-02-19 2018-03-29 Fanuc Corporation Roboterverfahrsystem mit einem Kabelschlepp, Robotersystem und Bearbeitungssystem
US10016890B2 (en) 2014-02-19 2018-07-10 Fanuc Corporation Robot traveling system provided with cable track, robot system, and machining system
WO2016002530A1 (ja) * 2014-06-30 2016-01-07 株式会社瑞光 シート繰出システム及びこれを用いたシート繰出方法
JPWO2016002530A1 (ja) * 2014-06-30 2017-04-27 株式会社瑞光 シート繰出システム及びこれを用いたシート繰出方法
US10233045B2 (en) 2014-06-30 2019-03-19 Zuiko Corporation Sheet delivery system and sheet delivery method using same
JP2018195055A (ja) * 2017-05-17 2018-12-06 ファナック株式会社 工作機械制御装置及び生産システム
US10870203B2 (en) 2017-05-17 2020-12-22 Fanuc Corporation Machine tool control device and production system
WO2022097208A1 (ja) * 2020-11-04 2022-05-12 Dmg森精機株式会社 工作機械

Also Published As

Publication number Publication date
US8694160B2 (en) 2014-04-08
EP2666598A1 (en) 2013-11-27
JP5160700B1 (ja) 2013-03-13
CN103987496B (zh) 2015-05-20
CN103987496A (zh) 2014-08-13
US20140012420A1 (en) 2014-01-09
EP2666598B1 (en) 2019-07-17
JPWO2013027283A1 (ja) 2015-03-05
EP2666598A4 (en) 2016-07-13

Similar Documents

Publication Publication Date Title
JP5160700B1 (ja) Nc工作機械システム
JP5678979B2 (ja) ロボットシステム、校正方法及び被加工物の製造方法
US10632611B2 (en) Machine tool
JP6412179B2 (ja) 加工機に対して移動ロボットが物品の搬入及び搬出を行う加工システム、及び機械制御装置
EP1749621B1 (en) Robot programming device
JP4676544B2 (ja) 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置
JP3905075B2 (ja) 作業プログラム作成装置
JP4249794B1 (ja) ワーク搬送用ロボットの制御装置
JP5481932B2 (ja) ロボット制御装置およびその制御方法
US20050246062A1 (en) Method for controlling a machine, particularly an industrial robot
JP5980867B2 (ja) ロボットをオフラインで教示するロボット教示装置
KR101558676B1 (ko) 리스폿 지그
WO2014126221A1 (ja) ロボットペンダント
JP2019025562A (ja) ロボット制御装置及び生産システム
JP2014217901A (ja) ロボットシステム
KR20080066417A (ko) 러그 용접 로봇 시스템 및 용접 방법
JPH07284936A (ja) 複数部材結合装置と複数部材結合装置の自動溶接シ ステム
JP5011507B2 (ja) ロボット教示システム及びロボット教示方法
US20210260750A1 (en) Method to Modify a Program for Robotic Welding
JPH0440506A (ja) ロボットの教示装置
JPS58225406A (ja) 工業用ロボツト
KR20140067701A (ko) 휴대용 로봇 시스템 및 그의 제어방법
WO2022264597A1 (ja) ロボットシステム
JP2732034B2 (ja) ロボット制御装置
JPH06259119A (ja) 産業用ロボットの制御装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2012539899

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011869764

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13814455

Country of ref document: US

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

Ref document number: 11869764

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE