KR102586646B1 - 공작기계 시스템 - Google Patents

공작기계 시스템 Download PDF

Info

Publication number
KR102586646B1
KR102586646B1 KR1020190133716A KR20190133716A KR102586646B1 KR 102586646 B1 KR102586646 B1 KR 102586646B1 KR 1020190133716 A KR1020190133716 A KR 1020190133716A KR 20190133716 A KR20190133716 A KR 20190133716A KR 102586646 B1 KR102586646 B1 KR 102586646B1
Authority
KR
South Korea
Prior art keywords
robot
machine tool
program
controller
preprocessor
Prior art date
Application number
KR1020190133716A
Other languages
English (en)
Other versions
KR20200049600A (ko
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 오쿠마 가부시키가이샤
Publication of KR20200049600A publication Critical patent/KR20200049600A/ko
Application granted granted Critical
Publication of KR102586646B1 publication Critical patent/KR102586646B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/409Numerical 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 using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • 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/4069Simulating machining process on screen
    • 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
    • G05B19/41825Total 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 machine tools and manipulators only, machining centre
    • 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/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

로봇을 사용한 적이 없는 공작기계 사용자라도, 로봇 프로그램 작성에 요하는 시간을 단축할 수 있는 공작기계 시스템이 개시된다. 공작기계 컨트롤러는 조작패널 및 대화형 프로그램 작성부를 구비하고, 로봇의 정형화된 동작마다 준비된 템플레이트 화면을 사용해서 로봇의 동작 파라미터를 설정한다. 대화형 프로그램 작성부는 설정된 동작 파라미터를 사용해서 로봇 프리프로그램을 작성하고, 공작기계 프로그램의 실행 중에 당해 로봇 프리프로그램을 리딩해서 로봇 프리프로세서에 전송한다. 로봇 프리프로세서는 로봇 프리프로그램을 해석해서 로봇 컨트롤러에 제어지령을 출력한다.

Description

공작기계 시스템{MACHINE TOOL SYSTEM}
본 발명은 공작기계 시스템에 관한 것으로서, 특히 로봇 교시 기능을 구비하는 공작기계 시스템에 관한 것이다.
최근에는 일손 부족을 배경으로, 제조업, 특히 중소기업이나 작은 공장 등의 소규모 공장에서 산업용 로봇을 도입해서 자동화ㆍ인력 절감화를 진행시키는 것이 필수과제가 되고 있다.
산업용 로봇을 동작시키기 위해서는 각 이동점을 교시해서 이동경로를 프로그래밍할 필요가 있지만, 로봇을 사용한 적이 없는 공작기계 사용자에게는 새롭게 로봇의 사용방법과 프로그래밍을 익힐 필요가 있어, 로봇 도입의 장벽이 되고 있다.
특허문헌 1에는 로봇 탑재의 기계 로봇 조작을 기계 제어부에서 가능하도록 하는 기술이 기재되어 있다. 로봇을 탑재하는 사출성형기의 제어부와 로봇 제어부를 통신회선으로 접속하고, 사출성형기의 제어부 및 표시장치, 입력수단, 조작반에는 로봇의 동작 프로그램을 작성하는 수단, 로봇과 사출성형기의 좌표계를 관련짓는 캘리브레이션 수단 등을 구비한다. 사출성형기의 제어부에서 작성된 로봇 동작 프로그램은 통신회선을 통해서 로봇 제어부로 송신되고, 로봇은 당해 프로그램에 의거하여 동작한다.
그런데 로봇을 사용해 본 적이 없는 공작기계 사용자가 로봇을 도입하고, 가공 셀을 운용하기에 있어서는 하기가 문제가 된다. 즉,
(1) 로봇의 사용방법ㆍ교시 방법ㆍ프로그래밍을 처음부터 배울 필요가 있고, 거기에다 공작기계와 조작계가 다른 때문에 익숙해질 때까지 시간을 필요로 한다.
(2) 공작기계와 로봇은 각각의 제어장치에서 동작이 실행되고, 각 제어장치에는 제어대상을 동작시키는 경우의 간섭 확인을 실시하는 기능을 갖추는 것이 일반화되어 있다. 그러나 공작기계와 로봇이 서로 동작하는 경우, 간섭 확인하기 위한 환경이 항상 변화되게 되어 간섭 확인을 할 수 없게 된다. 처리능력이 뛰어난 PC(퍼스널 컴퓨터)에서의 오프라인 작업에서, 공작기계나 로봇을 포함시킨 가공셀의 시뮬레이션을 실시해서 프로그램을 생성 가능한 기능도 실현되고 있지만, 그 시뮬레이션은 결정된 시퀀스에서의 동작 확인이기 때문에, 돌발적인 상태의 변화에는 대응할 수 없다.
(3) 공작기계와 로봇의 프로그램은 각 제어장치에서 관리할 필요가 있어 번잡해진다. 로봇 프로그램을 실행하기 위해서는 로봇 컨트롤러의 기억영역에 프로그램을 미리 리딩해 두고, 어느 기억영역의 프로그램을 실행하는지를 지령하는 수법이 일반적이다. 라인 생산방식에서는 세트-업 체인지를 실시하는 빈도가 적기 때문에 문제가 되기 어렵지만, 다품종 소량생산이 필요하게 되는 공작기계 사용자에게는 필연적으로 프로그램수가 증가하고, 기억영역에 리딩시킬 때의 휴먼 에러가 발생하기 쉬워진다. 이 점, FMS(유연 생산방식)이나 FMC(플렉서블 생산셀)등의 상위 장치를 설치함으로써 자동선택은 실현 가능하지만, 로봇 도입 코스트를 올리게 되는 요인이 되기 때문에 장벽이 된다.
일본 공개특허공보 2001-154717호
본 발명은 로봇을 사용해 본 적이 없는, 혹은 반드시 로봇 조작에 익숙하지 않은 공작기계의 사용자라 해도, 로봇 프로그램 작성에 요구되는 시간을 단축할 수 있는 기술을 제공한다.
본 발명은 공작기계를 제어하는 공작기계 컨트롤러와, 상기 공작기계 컨트롤러와 데이터 송수신 가능하도록 접속되는 로봇 프리프로세서를 구비하고, 상기 공작기계 컨트롤러는 로봇의 동작 파라미터를 설정하는 동시에, 로봇의 수동조작이 가능한 조작패널과, 설정된 상기 동작 파라미터 및 상기 수동조작을 사용해서 로봇 프리프로그램을 작성하는 로봇 프리프로그램 작성수단과, 공작기계 프로그램을 실행해서 공작기계를 제어하는 동시에, 상기 로봇 프리프로그램을 상기 로봇 프리프로세서로 송신하는 제어수단과, 로봇에 수동 조작정보를 통지하는 통지수단을 구비하고, 상기 로봇 프리프로세서는, 상기 공작기계 컨트롤러로부터 송신된 상기 로봇 프리프로그램을 수신하고, 상기 로봇 프리프로그램에 따라서 로봇을 제어하는 로봇 컨트롤러에 제어지령을 출력하는 로봇 프리프로그램 실행수단과, 상기 수동 조작정보에 의거해 로봇 제어지령을 출력하는 제어지령출력 수단을 갖추는 공작기계 시스템이다.
본 발명에 하나의 실시형태에서는, 상기 공작기계 컨트롤러는 상기 공작기계 및 상기 로봇에 3D 모델에 의거하여 상기 공작기계와 상기 로봇의 간섭 유무를 확인하는 간섭 확인수단을 구비한다.
본 발명의 다른 실시형태에서는, 상기 로봇 프리프로세서는 상기 로봇의 관절각도를 상기 공작기계 컨트롤러로 송신하는 통신수단을 구비하고, 상기 간섭 확인수단은 상기 로봇의 관절각도를 사용해서 상기 공작기계와 상기 로봇의 간섭 유무를 확인한다.
본 발명의 또 다른 실시형태에서는, 상기 공작기계 컨트롤러는 상기 공작기계에 3D 모델을 상기 로봇 프리프로세서로 송신하는 통신수단을 구비하고, 상기 로봇 프리프로그램 실행수단은 상기 3D 모델에 의거하여 상기 공작기계와의 간섭을 회피하는 상기 로봇의 경로를 생성해서 상기 제어지령을 출력한다.
본 발명의 또 다른 실시형태에서는, 상기 공작기계 컨트롤러의 상기 제어수단은 공작기계 프로그램을 실행하고, 상기 공작기계 프로그램에서 기술된 상기 로봇 프리프로그램명에 의거하여 상기 로봇 프리프로그램을 상기 로봇 프리프로세서로 송신한다.
본 발명의 또 다른 실시형태에서는, 상기 공작기계 컨트롤러의 상기 로봇 프리프로그램 작성수단은 상기 로봇의 정형화된 동작마다 템플레이트 화면을 작성해서 상기 조작패널의 표시부에 표시하고, 상기 템플레이트 화면에서 상기 동작 파라미터를 설정한다.
본 발명의 또 다른 실시형태에서는, 상기 공작기계 컨트롤러의 상기 로봇 프리프로그램 작성수단은 설정된 상기 동작 파라미터를 사용해서 상기 로봇을 산출하고, 산출된 상기 로봇의 위치가 상기 수동조작에 의해 미세 조정되었을 경우에, 미세 조정후의 위치를 상기 동작 파라미터에 반영시켜서 상기 로봇 프리프로그램을 작성한다.
본 발명의 또 다른 실시형태에서는, 상기 공작기계 컨트롤러는 상기 로봇 프리프로그램 및 상기 3D 모델을 기억하는 제1 기억수단을 구비하고, 상기 로봇 프리프로세서는, 상기 공작기계 컨트롤러로부터 송신된 상기 로봇 프리프로그램 및 상기 3D 모델을 기억하는 제2 기억수단을 구비한다.
본 발명의 또 다른 실시형태에서는, 상기 로봇 프리프로그램 및 상기 3D 모델은 상기 공작기계 프로그램의 실행 중에 상기 로봇 프리프로그램의 실행 요구가 있을 때마다, 상기 공작기계 컨트롤러의 상기 제1 기억수단으로부터 리딩되어 상기 로봇 프리프로세서로 송신되고, 상기 제2 기억수단에 수용된다.
본 발명의 공작기계 컨트롤러와 로봇 프리프로세서는 별개로 형성되는 이외에, 로봇 프리프로세서가 공작기계 컨트롤러에 탑재되어 있을 수도 있고, 혹은 로봇 프리프로세서가 로봇 컨트롤러에 탑재되어 있을 수도 있다. 로봇 프리프로그램 작성수단, 제어수단, 통지수단 등은 CPU 등의 제1 프로세서와, 프로그램이나 제어 파라미터를 기억하는 제1 메모리를 포함해서 구성될 수 있다. 제1 프로세서는 제1 메모리에 기억된 프로그램을 실행함으로써, 각종 처리를 실행한다. 또, 로봇 프리프로그램 실행수단과, 제어지령 출력수단 등은 CPU 등의 제2 프로세서와, 프로그램이나 제어 파라미터를 기억하는 제2 메모리를 포함해서 구성될 수 있다. 제2 프로세서는 제2 메모리에 기억된 프로그램을 실행함으로써, 각종 처리를 실행한다.
본 발명에 의하면, 공작기계의 사용자는 공작기계 컨트롤러의 조작패널을 사용해서 로봇을 수동조작할 수 있고, 이 조작패널을 사용해서 로봇의 동작 파라미터를 설정함으로써 로봇 프리프로그램을 작성할 수 있다. 또, 로봇의 동작 파라미터를 사용하고, 간섭을 회피해서 로봇을 교시점으로 산출할 수 있고, 위치의 미세 조정도 용이하게 실시할 수 있다.
또, 본 발명에 의하면, 공작기계 프로그램 실행 시에 로봇 프리프로그램을 공작기계 컨트롤러로부터 로봇 프리프로세서로 송신하므로, 예를 들면 세트-업 체인지 시의 프로그램 선택 미스를 방지할 수 있다.
도 1은 실시형태의 구성 블럭도이다.
도 2는 실시형태의 처리 플로우차트(그 1)이다.
도 3은 실시형태의 처리 플로우차트(그 2)이다.
도 4는 실시형태의 처리 플로우차트(그 3)이다.
도 5는 실시형태의 처리 플로우차트(그 4)이다.
도 6은 실시형태의 대화형 프로그램 작성 설명도이다.
이하, 도면에 의거해 본 발명의 실시형태에 대해서 설명한다.
도 1은 본 실시형태의 시스템 구성도를 나타낸다. 이 시스템은 로봇의 조작 용이성을 추구하고, 공작기계부터 로봇에 대하여 태스크 실행 요구를 실시하는 것에 특화한 시스템이다.
이 시스템은 공작기계 컨트롤러(1), 로봇 프리프로세서(20), 및 로봇 컨트롤러(30)를 구비한다. 공작기계 컨트롤러(1)와 로봇 프리프로세서(20)는 통신회선에서 데이터 송수신 가능하도록 접속되고, 로봇 프리프로세서(20)와 로봇 컨트롤러(30)는 통신회선에서 데이터 송수신 가능하도록 접속된다. 통신회선은 예를 들면 이더넷(등록상표)이지만, 이것에 한정되지 않는다.
우선, 공작기계 컨트롤러(1)에 대해서 설명한다.
공작기계 컨트롤러(1)는 공작기계의 동작을 제어하는 컨트롤러(수치 제어장치)이고, 조작패널(2), 로봇 조작 지령 생성부(3), 로봇 프리프로그램 실행 요구부(4), 공작기계 조작지령 접수부(5), 간섭 확인부(6), 공작기계 3D(3차원) 모델 전송부(7), 통신부(8), 대화형 프로그램 작성부(9), 로봇 산출 지원부(10), 공작기계 제어부(11), 및 기억부(12)를 구비한다.
조작패널(2)은 표시부와, 공작기계 조작용 UI(사용자 인터페이스), 및 로봇 조작용 UI로 구성된다. 공작기계 사용자는 로봇 조작용 UI를 사용해서 로봇의 JOG(이동동작)나 엔드 이펙터를 조작한다. 로봇 조작용 UI는 공작기계 조작용 UI와 대화형 프로그램 작성부(9) 협동에 의해 로봇 프리프로그램을 작성한다. 로봇 조작용 UI는 조작정보를 공작기계 제어부(11)에 출력한다.
로봇 조작 지령 생성부(3)는 공작기계 제어부(11)로부터 출력된 로봇 조작용 UI의 조작정보 등을 공작기계 컨트롤러(1)와 로봇 컨트롤러(30) 사이에 설치되는 로봇 프리프로세서(20)에 대한 지령으로 변환한다. 로봇 조작 지령 생성부(3)는 예를 들면, 공작기계 조작용 UI의 오버라이드값을 로봇 프리프로세서(20)로 송신함으로써, 오버라이드 조작에 의한 동작 속도의 변경을 공작기계와 로봇에서 공유한다. 또, 공작기계 조작용 UI에 구비할 수 있는 펄스 핸들의 입력으로부터 로봇 동작 지령을 생성해서 로봇 프리프로세서(20)로 송신함으로써, 로봇을 조작할 수 있다. 이것에 의해, 로봇의 티칭 펜던트가 없어도, 공작기계 컨트롤러(1)에 구비된 조작패널만으로 로봇의 수동조작이 가능하게 되고, 로봇 조작에 익숙하지 않은 공작기계 사용자라 해도 직감적으로 조작할 수 있다. 또, 로봇 조작 지령 생성부(3)는 로봇 프리프로세서(20)에서 사용하는 공작기계의 축 위치를 로봇 프리프로세서(20)로 송신한다.
로봇 프리프로그램 실행 요구부(4)는 공작기계 제어부(11)로부터의 실행지령에 따라, 로봇 프리프로세서(20)에 실행 요구를 송신한다. 로봇 프리프로그램 실행 요구부(4)는 실행 요구 시, 공작기계 컨트롤러(1)의 기억부(12)에 수용되어 있는, 지정된 로봇 프리프로그램을 로봇 프리프로세서(20)에 전송한다. 로봇 프리프로그램의 지정은 공작기계 프로그램(가공 프로그램)에 명칭을 기술함으로써 실시한다. 이것에 의해, 공작기계 프로그램에서 매크로를 실행하는 것과 같은 조작성인 상태에서 로봇의 태스크를 공작기계로부터 실행할 수 있다.
공작기계 조작지령 접수부(5)는 로봇 프리프로세서(20)로부터 송신된 공작기계 조작지령을 접수한다. 공작기계 조작지령 접수부(5)는 로봇 프리프로세서(20)로부터 접수한 지령을 공작기계 제어부(11)에 전송하고, 공작기계 제어부(11)는 당해 지령을 실행한다. 공작기계 조작지령에는 로봇의 관절각도 정보도 포함된다.
간섭 확인부(6)는 3D 모델을 이용해서 공작기계 동작시의 간섭 확인을 실시간으로 실시한다. 3D 모델은 공작대상물 스토커(work stocker) 등의 주변 장치를 포함하는 공작기계 및 로봇에 3D 모델 데이터로 구성된다. 공작기계에 3D 모델 데이터에는 공작대상물(work)의 3D 모델 데이터도 포함된다. 간섭 확인부(6)는 공작기계 제어부(11)로부터 출력된 로봇 관절각도를 고려함으로써, 공작기계와 로봇이 서로 동작하는 상황에서도 간섭 확인을 실시한다.
공작기계 3D 모델 전송부(7)는 기억부(12)에 수용되고, 공작기계 컨트롤러(1)에서 사용하는 3D 모델을 기억부(12)로부터 리딩해서 로봇 프리프로세서(20)에 전송한다. 이 3D 모델은 공구 변경 등 공작기계 컨트롤러(1)의 시뮬레이션 환경이 변화되었을 경우에, 로봇 프리프로세서(20)의 시뮬레이션 환경을 일치시키기 위해서 사용한다. 또, 공작기계와 로봇을 동시에 동작시킬 때에, 로봇의 진입 금지구역을 지정할 때에도 사용한다. 예를 들면, 공작기계가 동작하는 영역을 포함하는 직육면체 등의 형상을 로봇 프리프로세서(20)로 송신함으로써, 로봇 프리프로세서(20)는 로봇의 진입 금지영역에 간섭하지 않도록 로봇 경로를 생성할 수 있다. 또, 공작기계 3D 모델 전송부(7)는 3D 모델에 공작기계의 축 위치의 정보를 부가해서 전송할 수도 있다.
통신부(8)는 공작기계 컨트롤러(1)와 로봇 프리프로세서(20) 사이의 통신처리를 실행한다. 통신부(8)의 1예는 상기한 바와 같이 이더넷(등록상표)이지만, 통신의 리얼타임성이나 시간동기 등이 필요하게 되는 경우에는, 그것에 대응한 통신수단을 사용할 수 있다.
대화형 프로그램 작성부(9)ㄴ느 공작기계 조작용 UI와 로봇 조작용 UI의 협동에 의해 로봇 프리프로그램을 작성한다. 대화형 프로그램 작성부(9)는 로봇의 태스크를 미리 정형화하고, 공작기계의 사용자가 입력한 파라미터를 포함해서 로봇 프리프로그램을 자동 생성한다. 이것에 의해, 공작기계의 사용자는 파라미터를 입력하는 것만으로 간단하게 로봇 프리프로그램을 작성해서 로봇을 동작시킬 수 있다. 또, 대화형 프로그램 작성부(9)는 로봇 산출 지원부(10)를 실행하기 위한 UI를 구비하고, 교시점을 로봇의 현재 위치로부터 결정할 수도 있다. 대화형 프로그램 작성부(9)는 작성한 로봇 프리프로그램을 기억부(12)에 격납한다.
로봇 산출 지원부(10)는 지정점으로의 로봇의 산출을 지원한다. 즉, 대화형 프로그램 작성부(9)에서 위치의 미세 조정이 필요하게 되는 경우, 종래와 같이 공작기계의 사용자가 교시점까지 JOG 조작을 하는 것으로서는 작업의 난이도가 올라가 버린다. 그래서, 로봇 산출 지원부(10)는 대화형 프로그램 작성부(9)에서 입력된 파라미터를 이용해서 산출용 로봇 프리프로그램을 자동 생성한다. 로봇 산출 지원부(10)는 대화형 프로그램 작성부(9)에 설치된 UI로부터 산출 실행 조작이 되었을 경우에 지원처리를 실행해서 산출용 로봇 프리프로그램을 자동 생성하고, 산출용 로봇 프리프로그램을 실행 요구하는 공작기계 프로그램을 자동 생성한 후, 사용자가 기동 버튼을 누르는 것에 의해서 지정점까지 자동적으로 로봇을 산출한다. 산출 완료 후, 조작패널(2)의 수동조작에 의해 로봇 위치를 미세 조정하고, 대화형 프로그램 작성부(9)에서 로봇의 현재 위치로부터 교시점을 확정한다. 로봇 산출 지원부(10)는 자동 생성한 산출용 로봇 프리프로그램 및 산출용 로봇 프리프로그램을 실행 요구하는 공작기계 프로그램을 기억부(12)에 격납한다.
공작기계 제어부(11)는 공작기계의 각부 동작을 제어한다. 본 실시형태에서는 공작기계 제어부(11)는 특히, 로봇 조작용 UI의 조작정보 등을 로봇 조작 지령 생성부(3)에 출력하는 동시에, 기억부(12)에 기억된 로봇 프리프로그램을 리딩해서 로봇 프리프로그램 실행 요구부(4)에 출력한다.
기억부(12)는 로봇 프리프로그램, 공작기계 프로그램, 및 3D 모델을 기억한다. 로봇 프리프로그램은 사용자에 의한 조작에 따라서 대화형 프로그램 작성부(9) 및 로봇 산출 지원부(10)에서 작성된다. 3D 모델은 미리 작성되고 기억된다.
로봇 조작 지령 생성부(3), 로봇 프리프로그램 실행 요구부(4), 공작기계 조작지령 접수부(5), 간섭 확인부(6), 공작기계 3D 모델 전송부(7), 대화형 프로그램 작성부(9), 로봇 산출 지원부(10), 및 공작기계 제어부(11)는 하나 또는 복수의 CPU로 구성될 수 있다. 하나 또는 복수의 CPU는 ROM 등의 프로그램 메모리에 기억된 처리 프로그램을 리딩해서 실행함으로써, 이것들의 기능을 실현시킨다. 단, 이것들의 기능의 일부는 프로그램의 실행에 의한 소프트웨어 처리가 아니라, 하드웨어 처리에 의해 실현시킬 수도 있다. 하드웨어 처리는 예를 들면 ASIC이나 FPGA(필드 프로그램 가능 게이트 어레이) 등의 회로를 사용해서 실시할 수도 있다.
다음에, 로봇 프리프로세서(20)에 대해서 설명한다.
로봇 프리프로세서(20)는 공작기계 컨트롤러(1)과 로봇 컨트롤러(30)의 제휴를 취하기 위한 프로세서이다. 로봇 프리프로세서(20)는 단체(單體)로 존재할 수도 있고, 공작기계 컨트롤러(1)에 탑재 되어 있을 수도 있고, 혹은 로봇 컨트롤러(30)에 탑재 되어 있을 수도 있다. 단체로 존재하는 경우, 혹은 공작기계 컨트롤러(1)에 탑재되는 경우, 로봇 컨트롤러(30)의 종류 (구체적으로는 로봇 컨트롤러(30)의 메이커)에 의존하지 않고 로봇을 동작할 수 있음이 바람직하다. 부가해서, 단체로 존재하는 경우 혹은 로봇 컨트롤러(30)에 탑재되는 경우, 공작기계 컨트롤러(1)의 종류 (구체적으로는 공작기계 컨트롤러(1)의 메이커)에 의존하지 않는 것이 바람직하다.
로봇 프리프로세서(20)는 로봇 프리프로그램 해석부(21), 로봇 컨트롤러 제어지령 생성부(22), 로봇 조작 지령 접수부(23), 로봇 프리프로그램 접수부(24), 공작기계 3D 모델 접수부(25), 공작기계 조작지령 생성부(26), 통신부(27, 28) 및 기억부(29)을 구비한다.
로봇 프리프로그램 해석부(21)는 로봇 조작 지령 접수부(23)로부터의 제어지령에 따라, 로봇 프리프로세서(20)용으로 준비된 로봇 프리프로그램을 기억부(29)로부터 리딩해서 해석하고, 로봇 컨트롤러 제어지령 생성부(22)에 출력한다. 또, 로봇 프리프로그램 해석부(21)는 로봇 프리프로그램을 해석한 결과, 공작기계에 대한 동작 지령을 생성할 필요가 있는 경우, 공작기계 조작지령 생성부(26)에 출력한다.
로봇 컨트롤러 제어지령 생성부(22)는 로봇 프리프로그램 해석부(21)에서 해석된 로봇 프리프로그램 지령에 따라서, 기억부(29)로부터 리딩한 3D 모델을 이용해서 간섭 회피한 로봇 지령값이나, 로봇 컨트롤러(30)에 설치되는 I/O 접점의 제어지령 등, 로봇 컨트롤러(30)를 동작시키기 위한 제어지령을 생성한다. 로봇 컨트롤러 제어지령 생성부(22)는 생성한 제어지령을 통신부(28)를 통해서 로봇 컨트롤러(30)로 송신한다. 또, 로봇 컨트롤러 제어지령 생성부(22)는 로봇 조작 지령 접수부(23)로부터 접수한 지령에 대한 동작도 제어한다. 예를 들면, 로봇 조작 지령 접수부(23)로부터 접수한 공작기계의 오버라이드값을 실시간으로 로봇 지령값에 반영한다.
로봇 조작 지령 접수부(23)는 공작기계 컨트롤러(1)의 로봇 조작 지령 생성부(3)에서 생성되어 통신부(8, 27)를 통해서 전송된 로봇 조작 지령을 접수한다. 로봇 조작 지령 접수부(23)는 접수한 로봇 조작 지령을 로봇 프리프로그램 해석부(21) 및 로봇 컨트롤러 제어지령 생성부(22)로 출력한다. 로봇 조작 지령 접수부(23)는 공작기계의 축 위치통지의 접수도 실시하고, 기억부(29)에 수용된 공작기계 3D 모델에 반영한다. 또, 공작기계 3D 모델 전송부(7)에서 축 위치를 부가한 3D 모델이 전송되었을 경우, 이 처리는 불필요하다.
로봇 프리프로그램 접수부(24)는 공작기계 컨트롤러(1)의 로봇 프리프로그램 실행 요구부(4)로부터 통신부(8, 27)를 통해서 전송된 로봇 프리프로그램을 접수한다. 로봇 프리프로그램 접수부(24)는 접수한 로봇 프리프로그램을 기억부(29)에 격납한다. 기억부(29)에 수용된 로봇 프리프로그램은, 상기한 바와 같이 로봇 프리프로그램 해석부(21)에서 해석된다.
공작기계 3D 모델 접수부(25)는 공작기계 컨트롤러(1)의 공작기계 3D 모델 전송부(7)로부터 통신부(8, 27)를 통해서 전송된 3D 모델을 접수한다. 공작기계 3D 모델 접수부(25)는 접수한 3D 모델을 기억부(29)에 격납한다. 기억부(29)에 수용된 3D 모델은 상기한 바와 같이 로봇 컨트롤러 제어지령 생성부(22)에서 간섭을 회피하는 로봇 지령값의 생성에 사용된다. 또, 3D 모델의 포맷은 특별히 제한되지 않는다.
공작기계 조작지령 생성부(26)는 공작기계로의 동작 요구를 통신부(27, 8)를 통해서 공작기계 컨트롤러(1)의 공작기계 조작지령 접수부(5)로 송신한다. 로봇 프리프로그램 해석부(21)에서 로봇 프리프로그램을 해석한 결과, 공작기계에 대한 동작 지령을 생성할 필요가 있는 경우로 송신한다. 예를 들면, 로봇 동작 도중의 공작기계 안전 도어의 개폐 동작 등이다. 동작 지령에는 로봇 관절각도가 포함된다.
통신부(27)는 공작기계 컨트롤러(1)와의 통신처리를 실행한다. 통신 알고리즘을 고정함으로써, 공작기계 컨트롤러(1)는 고정의 통신 알고리즘으로 다양한 메이커의 로봇을 동작시킬 수 있다.
통신부(28)는 로봇 컨트롤러(30)와의 통신처리를 실행한다. 로봇 컨트롤러(30)의 종류에 의존하지 않는 로봇 프리프로세서(20)로 하는 경우, 이 통신부(28)에서 통신 알고리즘의 차이를 흡수할 수 있다.
기억부(29)는 공작기계 컨트롤러(1)로부터 전송된 공작기계 3D 모델 및 로봇 프리프로그램을 기억한다.
로봇 프리프로그램 해석부(21), 로봇 컨트롤러 제어지령 생성부(22), 로봇 조작 지령 접수부(23), 로봇 프리프로그램 접수부(24), 공작기계 3D 모델 접수부(25), 공작기계 조작지령 생성부(26)는, 하나 또는 복수의 CPU로 구성될 수 있다. 하나 또는 복수의 CPU는 ROM 등의 프로그램 메모리에 기억된 처리 프로그램을 리딩해서 실행함으로써, 이것들의 기능을 실현시킨다. 단, 이것들의 기능의 일부는, 프로그램의 실행에 의한 소프트웨어 처리가 아니라, 하드웨어 처리에 의해 실현시킬 수도 있다. 하드웨어 처리는 예를 들면 ASIC이나 FPGA(필드 프로그램 가능 게이트 어레이) 등의 회로를 사용해서 실시 할 수도 있다.
또, 로봇 컨트롤러(30)는 로봇 프리프로세서(20)로부터 송신된 제어지령에 따라서 로봇을 제어한다. 로봇의 형태는 임의이지만, 예를 들면 공작기계 내에 설치되고, 공작대상물의 착탈(공작 대상물의 로딩/언로딩) 등을 실시하는 기내 로봇으로 할 수도 있다.
도 2는 본 실시형태의 전체 처리 플로우차트를 나타낸다.
공작기계의 사용자는 공작기계 컨트롤러(1)의 조작패널(2)을 조작하고, 대화형 프로그램 작성부(9)에서 로봇 프리프로그램을 작성한다(S101). 대화형 프로그램 작성부(9)는 공작기계의 사용자가 공작기계 조작용 UI와 로봇 조작용 UI를 사용해서 가이던스에 따라 입력한 파라미터 를 포함해서 로봇 프리프로그램을 자동 생성한다. 공작기계의 사용자는 파라미터를 입력하는 것만으로 간단하게 로봇 프리프로그램을 작성할 수 있다. 대화형 프로그램 작성부(9)는 로봇 산출 지원부(10)를 실행하기 위한 UI를 구비하고, 교시점을 로봇의 현재 위치로부터 결정한다. 대화형 프로그램 작성부(9)는 작성한 로봇 프리프로그램을 기억부(12)에 격납한다.
로봇 산출 지원부(10)는 공작기계의 사용자가 위치의 미세 조정이 필요하다고 판단해서 대화형 프로그램 작성부(9)에 설치된 UI로부터 산출 실행 조작을 실시했을 경우에 처리된다. 로봇 산출 지원부(10)는 대화형 프로그램 작성부(9)로 입력된 파라미터를 이용해서 산출용 로봇 프리프로그램을 자동 생성하고, 부가해서 산출용 로봇 프리프로그램을 실행 요구하는 공작기계 프로그램도 자동 생성한다. 공작기계의 사용자가 기동 버튼을 누르는 것에 의해서, 로봇의 산출이 자동적으로 수행된다. 산출 완료 후, 조작패널(2)의 수동조작에 의해 로봇 위치를 미세 조정하고, 대화형 프로그램 작성부(9)에서 로봇의 현재 위치로부터 교시점을 확정한다. 로봇 산출 지원부(10)는 자동 생성한 산출용 로봇 프리프로그램과, 산출용 로봇 프리프로그램을 실행 요구하는 공작기계 프로그램을 기억부(12)에 격납한다.
다음에, 공작기계의 사용자, 공작기계 프로그램에 로봇 프리프로그램 실행 요구 지령을 기술해서 실행한다. 공작기계 컨트롤러(1)의 공작기계 제어부(11)는 로봇 프리프로그램을 기억부(12)로부터 리딩해서 로봇 프리프로그램 실행 요구부(4)로 출력하고, 로봇 프리프로그램 실행 요구부(4)는 로봇 프리프로그램을 로봇 프리프로세서(20)로 전송해서 실행 요구를 출력한다(S102).
로봇 프리프로세서(20)는 전송된 로봇 프리프로그램을 로봇 프리프로그램 해석부(21)에서 해석한다. 해석된 로봇 프리프로그램은 로봇 컨트롤러 제어지령 생성부(22)로 출력되고, 로봇 컨트롤러 제어지령 생성부(22)는 로봇 프리프로그램에 따라서 로봇 지령값을 생성하고, 로봇 컨트롤러(30)로 출력해서 로봇을 구동한다. 공작기계의 사용자는 동작을 확인하고, 로봇 프리프로그램을 수정할 필요가 있는지의 여부를 판정한다(S103). 예를 들면, 조작패널(2)에서 공작기계를 시뮬레이션 모드로 설정하고, 로봇 조작 지령 생성부(3)에서 로봇 프리프로세서(20)에도 시뮬레이션 모드 요구를 통지해서 공유하고, 실제로 공작기계와 로봇을 동작시키지 않고 시뮬레이션 상에서 공작기계와 로봇의 연동 동작을 확인한다. 확인 결과, 로봇 프리프로그램을 수정할 필요가 있을 경우((S103)에서 YES), 공작기계의 사용자는 대화형 프로그램 작성부(9)에서 작성한 동작을 편집한다. 로봇 프리프로그램을 수정하는 필요가 없는 경우((S103)에서 NO), 교시 작업을 종료한다.
도 3은 도 2의 스텝(S101)의 처리, 즉 대화형 프로그램 작성부(9)에서의 로봇 프리프로그램 작성 처리의 상세 플로우차트를 나타낸다.
우선, 공작기계의 사용자는 조작패널(2)을 조작해서 로봇의 동작에 필요한 동작 파라미터를 설정한다(S201). 동작 파라미터는 로봇의 동작에 따라서 결정된다. 예를 들면, 로봇의 동작이 공작대상물 언로딩의 경우,
ㆍ파지 시의 에어 토출(할 것인지의 여부)
ㆍ푸셔(사용할 것인지의 여부)
ㆍ공작대상물 인발량
ㆍ파지 어프로치량
ㆍ파지 오프셋
등이다. 이것들의 동작 파라미터는 공작기계의 사용자가 대화형 프로그램 작성부(9)에 의해 작성되어 조작패널(2)에 표시되는 작은 추형(템플레이트) 화면을 조작하면서 설정한다. 템플레이트 화면의 구체예에 대해서는 추가로 후술한다.
다음에, 공작기계 사용자는 위치의 미세 조정을 할 것인지의 여부를 판정한다(S202). 이 판정은, 설정해야 할 동작 파라미터에 따라서 결정된다. 예를 들면, 파지 시의 에어 토출이나 공작대상물 인발량 등의 파라미터는 위치의 미세 조정은 불필요하지만, 파지 오프셋에 대해서는 위치의 미세 조정이 필요하게 될 수 있다.
위치를 미세 조정하는 경우((S202)에서 YES), 공작기계 사용자는 조작패널(2)의 「가위치 산출」 버튼을 누르고, 로봇 산출 지원부(10)를 실행시킨다. 로봇 산출 지원부(10)는 스텝(S201)에서 설정된 동작 파라미터를 사용해서 산출용 로봇 프리프로그램을 자동 생성한다(S203). 그리고 상기 산출용 로봇 프리프로그램을 실행 요구하는 공작기계 프로그램도 더불어서 자동 생성한다. 공작기계 사용자가 조작패널(2)에서 기동 버튼을 누르면, 이것에 따라 산출용 로봇 프리프로그램을 실행하고(S204), 지정점까지 자동적으로 간섭을 회피한 경로에서 로봇을 산출한다.
지정점까지 로봇을 산출한 후, 조작패널의 수동조작에 의해 로봇 위치를 미세 조정한다(S205). 미세 조정한 후, 공작기계 사용자는 조작패널(2)의 「현재위치 리」 버튼을 누르면, 대화형 프로그램 작성부(9)는 이것에 따라 로봇의 현재위치를 파라미터에 반영시킨다(S206).
이상과 같이 해서 위치의 미세 조정이 실행되고, 최종적으로 로봇 프리프로그램이 작성되어 기억부(12)에 수용된다(S207).
또, 위치를 미세조정하지 않을 경우((S202)에서 NO), 스텝(S203∼S207)의 처리를 실행할 필요는 없다.
도 4 및 도 5는 도 2의 스텝(S1020의 처리, 즉 로봇 프리프로그램의 실행 처리의 상세 플로우차트를 나타낸다.
우선, 도 4에서 공작기계 사용자는 공작기계 프로그램에, 도 3에 나타내는 처리로 작성되어 기억부(12)에 기억되고 있는 로봇 프리프로그램의 실행 요구를 기술하고, 공작기계 프로그램을 기동 버튼 조작에서 실행한다(S301).
공작기계 제어부(11)는 공작기계 프로그램을 해석하고(S302), 로봇 프리프로그램의 실행 요구인지의 여부를 판정한다(S303). 로봇 프리프로그램의 실행 요구가 아닌 경우((S303)에서 NO), 간섭 확인부(6)는 공작기계의 동작 간섭 확인을 실행한다(S304). 간섭 확인부(6)는 기억부(12)에 기억되어 있는 3D 모델을 사용해서 공작기계 동작시의 공작기계와 로봇의 간섭 유무를 확인한다. 이 때, 로봇 프리프로세서(20)의 공작기계 조작지령 생성부(26)로부터 송신되는 로봇의 관절각도의 정보를 사용해서 간섭 확인을 실행한다. 그리고 공작기계 프로그램에 따라서 공작기계를 동작시킨다(S305). 이상의 처리를 공작기계 프로그램의 엔드까지 반복해서 실행한다(S306).
한편, 로봇 프리프로그램의 실행 요구인 경우((S303)에서 YES), 공작기계 3D 모델 전송부(7)로부터 로봇 프리프로세서(20)에 공작기계에 3D 모델을 전송한다(S307).
로봇 프리프로세서(20)의 공작기계 3D 모델 접수부(25)는 공작기계 컨트롤러(1)로부터 전송된 3D 모델을 접수하고, 기억부(29)에 격납한다 (S308).
또, 공작기계 제어부(11) 및 로봇 프리프로그램 실행 요구부(4)는 공작기계 프로그램에 기술됨으로써 지정된 로봇 프리프로그램을 로봇 프리프로세서(20)로 전송해서 실행 요구를 출력한다(S309).
로봇 프리프로세서(20)의 로봇 프리프로그램 접수부(24)는 공작기계 컨트롤러(1)로부터 전송된 로봇 프리프로그램을 접수하고, 기억부(29)에 격납한다(S310). 또, 로봇 조작 지령 접수부(23)는 공작기계 컨트롤러(1)로부터 전송된 실행 요구를 접수한다(S311). 이 다음, 도 5의 처리로 이행한다.
도 5에서 로봇 프리프로그램 해석부(21)는 로봇 조작 지령 접수부(23)에서 실행 요구를 접수하면, 이것에 응답해서 기억부(29)로부터 로봇 프리프로그램을 리딩해서 해석한다(S312). 로봇 프리프로그램 해석부(21)는 해석 결과를 로봇 컨트롤러 제어지령 생성부(22)로 출력한다.
또, 로봇 프리프로그램 해석부(21)는 로봇 프리프로그램을 해석한 결과, 공작기계에 대한 동작 요구가 있는지의 여부를 판정한다(S313). 예를 들면, 로봇 프리프로그램을 해석한 결과, 로봇 동작 도중에 공작기계 안전도어의 개폐 동작이 존재하는 경우에는 공작기계에 대한 동작 요구가 있음으로 판정한다.
공작기계에 대한 동작 요구가 없을 경우((S313)에서 NO), 로봇 컨트롤러 제어지령 생성부(22)은 로봇 프리프로그램 해석부(21)에서 해석된 로봇 프리프로그램에 따라, 3D 모델을 사용해서 간섭 회피한 로봇의 궤도를 생성하고(S314), 로봇 컨트롤러(30)로 출력하고, 로봇을 동작시킨다 (S315). 간섭을 회피하는 궤도의 생성은 예를 들면 RRT(Rapidly-exploring Random Trees)법을 사용할 수 있다. 이것은 컨피그레이션 공간(C-space) 상의 점을 랜덤으로 조사해서 탐색트리상으로 자유공간을 구축하고, 공간 내의 초기 컨피그레이션점과 목표 컨피그레이션점을 탐색트리로 접속하는 것으로 경로를 얻는 수법이다. 단, 회피 궤도의 생성은 이것에 한정되는 것은 아니고, 임의의 알고리즘을 사용할 수 있다.
한편, 공작기계에 대한 동작 요구가 있는 경우((S313)에서 YES), 공작기계 조작지령 생성부(26)는 당해 동작 요구를 공작기계 컨트롤러(1)로 송신한다(S316). 공작기계 컨트롤러(1)의 공작기계 조작지령 접수부(5)는 로봇 프리프로세서(20)로부터 전송된 동작 요구를 접수하여 공작기계 제어부(11)로 출력한다. 공작기계 제어부(11)는 접수한 동작 요구에 따라서, 도 4의 스텝(S304)과 동일하게 공작기계의 동작 간섭 확인을 실행하고(S317), 공작기계를 연동해서 동작시킨다(S318).
스텝(S312∼S318)의 처리는 로봇 프리프로그램이 종료할 때까지 반복 실행된다((S319)에서 NO).
로봇 프리프로그램이 종료하면((S319)에서 YES), 로봇 프리프로그램 해석부(21)는 로봇 프리프로그램의 실행 완료 통지를 공작기계 조작지령 생성부(26)로 출력하고(S320), 도 4의 스텝(S306) 이후의 처리를 실행한다.
즉, 공작기계 프로그램의 엔드인지의 여부를 판정하고(S306), 엔드라면 처리를 종료한다. 엔드가 아니면, 스텝(S302) 이후의 처리를 반복한다.
이와 같이, 본 실시형태에서는 공작기계 프로그램에 로봇 프리프로그램의 실행 요구 및 로봇 프리프로그램명을 기술하고, 공작기계 프로그램을 실행함으로써, 공작기계 제어부(11)는 공작기계 컨트롤러(1)의 기억부(12)에 기억된 로봇 프리프로그램을 로봇 프리프로세서(20)로 전송한다. 로봇 프리프로그램의 로봇 프리프로세서(20)로의 전송은 로봇 프리프로그램 실행 요구 시 마다 수행된다. 또, 공작기계 컨트롤러(1)의 기억부(12)에 기억된 로봇 프리프로그램은 마스터 데이터로 하고, 로봇 프리프로세서(20)의 기억부(29)에 기억된 로봇 프리프로그램은 템프로리로서 취급한다. 로봇 프리프로세서(20)의 기억부(29)에 기억된 임시로서의 로봇 프리프로그램은 실행후 도 삭제하지 않고, 그때마다, 공작기계 컨트롤러(1)의 기억부(12)에 기억된 로봇 프리프로그램의 마스터 데이터와 대조할 수도 있다.
또, 본 실시형태에서는 공작기계 프로그램을 실행함으로써, 공작기계 제어부(11)는 공작기계 컨트롤러(1)의 기억부(12)에 기억된 3D 모델을 로봇 프리프로세서(20)로 전송한다. 3D 모델의 로봇 프리프로세서(20)로의 전송은 로봇 프리프로그램과 동일하게 로봇 프리프로그램 실행 요구 시 마다 수행된다. 공작기계 컨트롤러(1)의 기억부(12)에 기억된 3D 모델은 마스터 데이터로 하고, 로봇 프리프로세서(20)의 기억부(29)에 기억된 3D 모델은 템프로리로서 취급한다. 이것에 의해, 공구변경 등, 공작기계 컨트롤러(1)의 시뮬레이션 환경이 변화된 경우에도, 로봇 프리프로세서(20)의 시뮬레이션 환경을 공작기계 컨트롤러(1)의 변화 후의 환경과 일치시킬 수 있다.
도 6은 공작기계의 조작패널에 표시되는 파라미터 설정화면의 1 예를 나타낸다. 대화형 프로그램 작성부(9)에서 작성되는 화면이고, 로봇의 태스크를 미리 정형화하고, 각 동작의 템플레이트로서 작성되는 화면이다.
이 경우, 로봇의 동작은 「공작대상물 언로딩」이고, 설정해야 할 파라미터가 [동작 파라미터] (100)으로 나타낸다. 여기에서는,
1. 파지시의 에어 토출(할 것인지의 여부)
2. 푸셔(사용할 것인지의 여부)
3. 공작대상물 인발량
4. 파지 어프로치량
5. 파지 오프셋
으로 표시된다.
또, [동작 파라미터] (100)의 우측에는 작성하는 동작에 따른 척, 공작대상물, 로봇 등을 모식적으로 나타낸 안내도(200)가 표시되고, 이 도면 중에 [동작 파라미터](100)의 항목이 예를 들면 번호로 나타낸다. 공작기계의 사용자는 이 안내도(200)를 참조함으로써, [동작 파라미터] (100)(의 각 항목이, 작성하는 동작의 어느 부분에 대응하는지를 용이하게 파악할 수 있다. 공작기계의 사용자는 이것들의 항목을 메뉴로부터 선택하고, 혹은 수치를 입력함으로써 설정한다.
위치의 미세 조정이 필요한 경우, 예를 들면 파지 오프셋을 미세 조정하는 경우, 공작기계의 사용자는 동작 파라미터를 설정한 후에, 「가위치 산출」 버튼(300)을 누른다. 그러면 도 3의 스텝(S203∼S207)에 나타난 처리가 실행된다. 즉, 로봇 산출 지원부(10)는 설정된 동작 파라미터를 사용해서 산출용 로봇 프리프로그램을 자동 생성하고(S203), 당해 산출용 로봇 프리프로그램을 실행 요구하는 공작기계 프로그램도 더불어서 자동 생성한다. 그리고 산출용 로봇 프리프로그램을 실행하고(S204), 지정점까지 자동적으로 로봇을 산출한다.
지정점까지 로봇을 산출한 후, 공작기계의 사용자는 조작패널(2)의 수동조작(주로 JOG 스위치와 펄스핸들)에 의해 로봇 위치를 미세 조정한다. 미세 조정한 후, 공작기계의 사용자는 조작패널(2)의 「현재위치 리딩」 버튼(400)을 누르면, 이것에 의해 로봇의 현재위치가 동작 파라미터에 반영된다(S206).
본 실시형태에서의 「로봇 프리프로그램」은 로봇 프리프로세서(20)에서 해석되고, 이것에 의거하여 로봇의 제어지령이 생성되어 로봇 컨트롤러(30)로 출력되는 것에 감안한 것으로, 로봇 프리프로세서(20)가 로봇 컨트롤러(30)에 탑재되는 경우에는, 「로봇 프리프로그램」은 「로봇 프로그램」 그 자체라고 말할 수 있다.

Claims (11)

  1. 공작기계를 제어하는 공작기계 컨트롤러와,
    상기 공작기계 컨트롤러와 데이터 송수신 가능하도록 접속되는 로봇 프리프로세서를 구비하고,
    상기 공작기계 컨트롤러는,
    로봇의 동작 파라미터를 설정하는 동시에, 로봇의 수동조작이 가능한 조작패널과,
    설정된 상기 동작 파라미터 및 상기 수동조작을 사용해서 로봇 프리프로그램을 작성하는 로봇 프리프로그램 작성수단과,
    공작기계 프로그램을 실행해서 공작기계를 제어하는 동시에, 상기 로봇 프리프로그램을 상기 로봇 프리프로세서로 송신하는 제어수단과,
    로봇에 수동 조작정보를 통지하는 통지수단을 구비하고,
    상기 로봇 프리프로세서는,
    상기 공작기계 컨트롤러로부터 송신된 상기 로봇 프리프로그램을 수신하고, 상기 로봇 프리프로그램에 따라서 로봇을 제어하는 로봇 컨트롤러에 제어지령을 출력하는 로봇 프리프로그램 실행수단과,
    상기 수동 조작정보에 의거해 로봇 제어지령을 출력하는 제어지령 출력수단을 구비하고,
    상기 공작기계 컨트롤러는,
    상기 공작기계 및 상기 로봇의 3D 모델에 의거하여 상기 공작기계와 상기 로봇의 간섭 유무를 확인하는 간섭 확인수단을 구비하고,
    상기 로봇 프리프로세서는,
    상기 로봇의 관절각도를 상기 공작기계 컨트롤러로 송신하는 통신수단을 구비하고,
    상기 간섭 확인수단은 상기 로봇의 관절각도를 사용해서 상기 공작기계와 상기 로봇의 간섭 유무를 확인하는 공작기계 시스템.
  2. 공작기계를 제어하는 공작기계 컨트롤러와,
    상기 공작기계 컨트롤러와 데이터 송수신 가능하도록 접속되는 로봇 프리프로세서를 구비하고,
    상기 공작기계 컨트롤러는,
    로봇의 동작 파라미터를 설정하는 동시에, 로봇의 수동조작이 가능한 조작패널과,
    설정된 상기 동작 파라미터 및 상기 수동조작을 사용해서 로봇 프리프로그램을 작성하는 로봇 프리프로그램 작성수단과,
    공작기계 프로그램을 실행해서 공작기계를 제어하는 동시에, 상기 로봇 프리프로그램을 상기 로봇 프리프로세서로 송신하는 제어수단과,
    로봇에 수동 조작정보를 통지하는 통지수단을 구비하고,
    상기 로봇 프리프로세서는,
    상기 공작기계 컨트롤러로부터 송신된 상기 로봇 프리프로그램을 수신하고, 상기 로봇 프리프로그램에 따라서 로봇을 제어하는 로봇 컨트롤러에 제어지령을 출력하는 로봇 프리프로그램 실행수단과,
    상기 수동 조작정보에 의거해 로봇 제어지령을 출력하는 제어지령 출력수단을 구비하고,
    상기 공작기계 컨트롤러는,
    상기 공작기계 및 상기 로봇의 3D 모델에 의거하여 상기 공작기계와 상기 로봇의 간섭 유무를 확인하는 간섭 확인수단을 구비하고,
    상기 공작기계 컨트롤러는,
    상기 공작기계의 상기 3D 모델을 상기 로봇 프리프로세서로 송신하는 통신수단을 구비하고,
    상기 로봇 프리프로그램 실행수단은 상기 3D 모델에 의거하여 상기 공작기계와의 간섭을 회피하는 상기 로봇의 경로를 생성해서 상기 제어지령을 출력하는 공작기계 시스템.
  3. 제1 항 또는 제2 항에 있어서,
    상기 공작기계 컨트롤러의 상기 제어수단은 공작기계 프로그램을 실행하고, 상기 공작기계 프로그램에서 기술된 로봇 프리프로그램명에 의거하여 상기 로봇 프리프로그램을 상기 로봇 프리프로세서로 송신하는 공작기계 시스템.
  4. 제1 항 또는 제2 항에 있어서,
    상기 공작기계 컨트롤러의 상기 로봇 프리프로그램 작성수단은 상기 로봇의 정형화된 동작마다 템플레이트 화면을 작성해서 상기 조작패널의 표시부에 표시하고, 상기 템플레이트 화면에서 상기 동작 파라미터를 설정하는 공작기계 시스템.
  5. 제4 항에 있어서,
    상기 공작기계 컨트롤러의 상기 로봇 프리프로그램 작성수단은 설정된 상기 동작 파라미터를 사용해서 상기 로봇을 산출하고, 산출된 상기 로봇의 위치가 상기 수동조작에 의해 미세 조정되었을 경우에, 미세 조정 후의 위치를 상기 동작 파라미터에 반영시켜서 상기 로봇 프리프로그램을 작성하는 공작기계 시스템.
  6. 제1 항 또는 제2 항에 있어서,
    상기 공작기계 컨트롤러는,
    상기 로봇 프리프로그램 및 상기 3D 모델을 기억하는 제1 기억수단을 구비하고,
    상기 로봇 프리프로세서는,
    상기 공작기계 컨트롤러로부터 송신된 상기 로봇 프리프로그램 및 상기 3D 모델을 기억하는 제2 기억수단을 구비하는 공작기계 시스템.
  7. 제6 항에 있어서,
    상기 로봇 프리프로그램 및 상기 3D 모델은 상기 공작기계 프로그램의 실행 중에 상기 로봇 프리프로그램의 실행 요구가 있을 때마다, 상기 공작기계 컨트롤러의 상기 제1 기억수단으로부터 리딩되어 상기 로봇 프리프로세서로 송신되고, 상기 제2 기억수단에 수용되는 공작기계 시스템.
  8. 제1 항 또는 제2 항에 있어서,
    상기 로봇 프리프로세서는 상기 공작기계 컨트롤러에 탑재되는 공작기계 시스템.
  9. 제1 항 또는 제2 항에 있어서,
    상기 로봇 프리프로세서는 상기 로봇 컨트롤러에 탑재되는 공작기계 시스템.
  10. 삭제
  11. 삭제
KR1020190133716A 2018-10-29 2019-10-25 공작기계 시스템 KR102586646B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018203203A JP7184595B2 (ja) 2018-10-29 2018-10-29 工作機械システム
JPJP-P-2018-203203 2018-10-29

Publications (2)

Publication Number Publication Date
KR20200049600A KR20200049600A (ko) 2020-05-08
KR102586646B1 true KR102586646B1 (ko) 2023-10-06

Family

ID=70326402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190133716A KR102586646B1 (ko) 2018-10-29 2019-10-25 공작기계 시스템

Country Status (6)

Country Link
US (1) US11648670B2 (ko)
JP (1) JP7184595B2 (ko)
KR (1) KR102586646B1 (ko)
CN (1) CN111103850A (ko)
DE (1) DE102019129041A1 (ko)
TW (1) TW202024824A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6806757B2 (ja) * 2018-11-16 2021-01-06 ファナック株式会社 動作プログラム作成装置
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
JP7355533B2 (ja) * 2019-06-25 2023-10-03 ファナック株式会社 ロボットプログラミング装置
TW202224877A (zh) * 2020-12-15 2022-07-01 日商發那科股份有限公司 數值控制系統及產業機械的控制方法
TWI744147B (zh) * 2020-12-24 2021-10-21 財團法人工業技術研究院 可動式機械的動作測試方法與控制主機
JP2022145329A (ja) * 2021-03-19 2022-10-04 株式会社Kokusai Electric 管理装置、データ処理方法、プログラム、半導体装置の製造方法および処理システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154717A (ja) * 1999-09-13 2001-06-08 Fanuc Ltd ロボットと機械の結合システム
JP2013184242A (ja) * 2012-03-07 2013-09-19 Denso Wave Inc 産業用機械の干渉判定装置、干渉判定方法、コンピュータプログラムおよび記録媒体
JP2017027501A (ja) * 2015-07-27 2017-02-02 ファナック株式会社 工作機械とロボットのリアルタイム干渉確認システム
US20170190052A1 (en) 2014-06-03 2017-07-06 ArtiMinds Robotics GmbH Method and system for programming a robot
US20170320211A1 (en) 2016-05-09 2017-11-09 Opiflex Automation AB system and a method for programming an industrial robot

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113111A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
JPH0628019A (ja) * 1992-07-10 1994-02-04 Hitachi Seiki Co Ltd 数値制御工作機械のロボットプログラム呼出方法とその装置
EP1085389B1 (en) 1999-09-13 2004-05-12 Fanuc Ltd Robot and machine linked system
CN101888920B (zh) * 2007-12-07 2012-10-03 株式会社安川电机 机器人动作限制方法、机器人***和机器人动作限制装置
JP2012245577A (ja) * 2011-05-26 2012-12-13 Seiko Epson Corp ロボット制御システム、ロボットシステム及びプログラム
JP2013099815A (ja) 2011-11-08 2013-05-23 Fanuc Ltd ロボットプログラミング装置
US9063535B2 (en) 2011-12-22 2015-06-23 Fanuc Robotics America Corporation Numerical control program execution by robot
JP6799505B2 (ja) 2017-06-09 2020-12-16 帝人株式会社 ピラーレスフロントウインドウ用樹脂基板

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154717A (ja) * 1999-09-13 2001-06-08 Fanuc Ltd ロボットと機械の結合システム
JP2013184242A (ja) * 2012-03-07 2013-09-19 Denso Wave Inc 産業用機械の干渉判定装置、干渉判定方法、コンピュータプログラムおよび記録媒体
US20170190052A1 (en) 2014-06-03 2017-07-06 ArtiMinds Robotics GmbH Method and system for programming a robot
JP2017027501A (ja) * 2015-07-27 2017-02-02 ファナック株式会社 工作機械とロボットのリアルタイム干渉確認システム
US20170320211A1 (en) 2016-05-09 2017-11-09 Opiflex Automation AB system and a method for programming an industrial robot

Also Published As

Publication number Publication date
CN111103850A (zh) 2020-05-05
DE102019129041A1 (de) 2020-04-30
JP2020071533A (ja) 2020-05-07
US11648670B2 (en) 2023-05-16
KR20200049600A (ko) 2020-05-08
US20200130184A1 (en) 2020-04-30
TW202024824A (zh) 2020-07-01
JP7184595B2 (ja) 2022-12-06

Similar Documents

Publication Publication Date Title
KR102586646B1 (ko) 공작기계 시스템
US10279476B2 (en) Method and system for programming a robot
Fang et al. A novel augmented reality-based interface for robot path planning
EP3243607B1 (en) A system and a method for programming an industrial robot
Tipary et al. Generic development methodology for flexible robotic pick-and-place workcells based on Digital Twin
US10850393B2 (en) Method for extending end user programming of an industrial robot with third party contributions
US10166673B2 (en) Portable apparatus for controlling robot and method thereof
EP3166084B1 (en) Method and system for determining a configuration of a virtual robot in a virtual environment
CN102317044A (zh) 产业用机器人***
KR101876845B1 (ko) 로봇 제어 장치
US20170197308A1 (en) Teaching data generating device and teaching data-generating method for work robot
Fang et al. Orientation planning of robot end-effector using augmented reality
Chacko et al. An augmented reality framework for robotic tool-path teaching
Gogouvitis et al. Construction of a virtual reality environment for robotic manufacturing cells
Rückert et al. Augmented Reality for teaching collaborative robots based on a physical simulation
JP7494155B2 (ja) 生産システム、セルコントローラ、ロボットコントローラ及び制御方法
CN103403637A (zh) 用于教导机器人移动的***
Diachenko et al. Industrial collaborative robot Digital Twin integration and control using Robot Operating System
Ferrolho et al. Intelligent control and integration software for flexible manufacturing cells
Pichler et al. Towards robot systems for small batch manufacturing
Filaretov et al. Human machine interface based on virtual reality for programming industrial robots
Kuts et al. Digital Twin: Universal User Interface for Online Management of the Manufacturing System
Protic et al. Development of a novel control approach for collaborative robotics in i4 intelligent flexible assembling cells
KR20220050953A (ko) 적어도 하나의 기계, 특히 기계들의 집합체를 제어하기 위한 시스템 및 방법
Vidaković et al. Procedure for definition of end-effector orientation in planar surfaces robot applications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant