KR20170102486A - 로봇의 동작프로그램 생성방법 및 로봇의 동작프로그램 생성장치 - Google Patents

로봇의 동작프로그램 생성방법 및 로봇의 동작프로그램 생성장치 Download PDF

Info

Publication number
KR20170102486A
KR20170102486A KR1020177018907A KR20177018907A KR20170102486A KR 20170102486 A KR20170102486 A KR 20170102486A KR 1020177018907 A KR1020177018907 A KR 1020177018907A KR 20177018907 A KR20177018907 A KR 20177018907A KR 20170102486 A KR20170102486 A KR 20170102486A
Authority
KR
South Korea
Prior art keywords
robot
program
operation program
template
element operation
Prior art date
Application number
KR1020177018907A
Other languages
English (en)
Other versions
KR102042115B1 (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 KR20170102486A publication Critical patent/KR20170102486A/ko
Application granted granted Critical
Publication of KR102042115B1 publication Critical patent/KR102042115B1/ko

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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • 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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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
    • 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/34202Reusable software, generic resource model library
    • 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/39396Manipulator action on screen depends from displayed position 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
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40099Graphical user interface for robotics, visual robot user interface
    • 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/40392Programming, visual robot programming language
    • 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/40395Compose movement with primitive movement segments from database

Landscapes

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

Abstract

티치 팬던트를 이용하는 일 없이, 프로그래밍 언어를 알지 못하는 교시자가 로봇의 이동 및 작업내용을 간단하게 로봇에게 교시할 수 있는 것을 목적으로 한다. 본 발명의 로봇 동작 프로그램 생성방법은, GUI를 이용하여 어떤 템플릿 요소동작 프로그램의 변수를 특정하기 위한 변수 특정화면을 표시하여, 그 후에, 변수가 특정된 템플릿 요소동작 프로그램을 커스텀 요소동작 프로그램으로써 저장부에 저장시키는 것을, 복수의 템플릿 요소동작 프로그램에 대하여 순차적으로 실행하는 스텝을 포함하고, 복수의 템플릿 요소동작 프로그램은 그 대응하는 요소작업에 필요한 로봇의 운동(이동 및 자세변화)을 규정하는 1이상의 손끝 위치좌표(교시점)을 변수로써 포함하고, 또한 상기 1이상의 손끝 위치좌표가 모두 특정됨으로써 로봇의 운동이 특정되도록 구성되어 있다.

Description

로봇의 동작프로그램 생성방법 및 로봇의 동작프로그램 생성장치{METHOD FOR GENERATING ROBOT OPERATION PROGRAM, AND DEVICE FOR GENERATING ROBOT OPERATION PROGRAM}
본 발명은 로봇의 동작프로그램 생성방법 및 로봇의 동작프로그램 생성장치에 관한 것이다.
종래, 로봇의 교시는 티치 펜던트(teach pendant)를 이용하여 이루어지고 있었다.
최근에는 GUI (그래픽 사용자 인터페이스)를 사용하여 로봇 언어에 대한 기존의 캐릭터 베이스(character based)에서의 언어 표현 및 편집 방법을 그래픽컬한 표현으로 바꿈으로써 로봇의 동작프로그램을 작성하는 방법이 알려져 있다 (예를 들어 특허 문헌1 참조). 또한 GUI를 사용하여 워크(work)의 끼워맞추기 동작에 관한 파라미터를 조절하는 방법이 알려져 있다 (예를 들면 특허 문헌2 참조).
특개 2007-242054호 공보 특개 2014-166681호 공보
그런데, 최근, 플로우작업 라인에서 인간과 로봇이 공존해서 일련의 공정을 분담하면서 제품의 조립을 하는 일이 주목 받고 있다. 이와 같은 플로우작업 라인에서는 제품의 종류나 공정의 변경에 따라 작업 내용이 자주 변경되는 경우가 있다.
그러나, 티치 펜던트를 이용하여 로봇을 교시하면 시간이 걸리고, 또한 교시자에게는 프로그래밍 언어를 사용하는 능력이 필요하다.
특허 문헌1 및 특허 문헌2의 기술에서는 로봇의 이동 교시는 종래대로 티치 펜던트에서 행해진다. 또한, 특허 문헌2에서는 GUI를 사용하여 파라미터 조정이 행해지는데, 이 작업은 실제로 로봇을 제어에 의해 작동시켜서 행해지고 있었다. 로봇의 이동 교시를, 티치 펜던트를 사용하여 행하는 한, 교시자에게는 프로그래밍 언어를 사용하는 능력이 필요해진다. 또한, 로봇을 제어에 의해 동작시켜 파라미터 조절 등을 해서 교시용 프로그램을 생성하면 그만큼 노력과 시간이 소요된다.
따라서, 본 발명에서는, 티치 펜던트를 이용하지 않고 프로그래밍 언어를 모르는 교시자가 로봇의 이동 및 작업 내용을 간단히 로봇에게 교시하는 것을 목적으로 한다.
본 발명자 등은, 티치 펜던트를 이용하지 않고 프로그래밍 언어를 모르는 교시자가 로봇의 이동 및 작업 내용을 간단히 로봇에게 교시하는 방법을 예의 검토했다.
우선, 티치 펜던트를 불필요로 하는 것에 대해서 검토 하였다. 그리고, 그 일환으로 오프라인 티칭(off-line teaching)을 검토했다. 그러나, 일반적으로, 오프라인 티칭에서는 로봇의 자세를 이미지 할 수 없는 것에 기인하여 오프라인 티칭이 실정에 부합하지 않으므로 실기에 의한 동작 확인 또는 오프라인 티칭에 의해 생성된 동작프로그램의 수정이 필요하게 된다.
그러나, 제품의 조립작업은 상대적으로 간단한 작업인 공정의 집합으로 세분화 되어있다. 각 공정은 인간이 소정의 절차를 수행 할 수 있도록 규정되어있다. 따라서, 예를 들어, 조립작업 라인에 있어서 인간에 가까운 크기의 양팔로봇에게 작업자 대신에 공정작업을 행하게 하는 경우에는 공정작업을 행하는 양팔 로봇의 자세를, 해당 공정작업을 행하는 작업자의 자세에 겹쳐서 이미지 할 수 있다.
따라서, 이러한 경우에서는 오프라인 티칭에 의해 비교적 실정에 따른 동작프로그램을 생성 할 수 있다. 이것이 본 발명자 등의 제1의 착안점이다.
다음에, 프로그래밍 언어를 모르는 교시자가 로봇의 이동 및 작업 내용을 간단히 로봇에게 교시하는 것에 대해 검토했다. 그 결과, 본 발명자 등은, 제품의 조립작업은 상대적으로 단순한 작업인 공정의 집합으로 세분화되어 각 공정이 소정의 절차를 수행 할 수 있도록 규정되어 있기 때문에, 각 공정을 미리 프로그래밍 해두면, 임의의 공정을 결합하여 로봇의 전체적인 동작프로그램을 생성 할 수 있다. 그리고 임의의 공정을 결합하여 로봇의 전반적인 동작프로그램을 생성 하는 것도 미리 프로그래밍 할 수 있다. 이에 따라 프로그래밍 언어를 모르는 교시자가 로봇의 이동 및 작업내용을 로봇에게 교시 할 수 있다. 또한 GUI를 이용하면, 그 교시를 간단하게 행할 수 있다. 이것이 본 발명자 등의 제2의 착안점이다.
본 발명은 이러한 착안점에 따라서 이루어진 것이다.
본 발명의 일태양에 따른 로봇의 동작프로그램 생성방법은 소정 화면에 GUI (graphical user interface)를 표시하여, 사용자 입력을 받는 GUI 제어부와, 저장부와, 프로그램 생성부와를 구비한 프로그램 생성장치를 이용하여, 팔(arm)이 있는 로봇에게 실행시켜야 할 작업의 전체인 전체작업을 상기 로봇에 실행시키는 전체 동작프로그램을 작성하는 방법으로, 상기 전체작업을 구성하는 복수의 요소작업에 각각 대응하여, 1이상의 변수를 포함하고, 또한 상기 1이상의 변수가 모두 특정 됨으로써 각각의 요소작업을 상기 로봇이 실행하는 것이 가능하도록 구성된 복수의 템플릿 요소 동작프로그램이 미리 상기 저장부에 저장되어 있으며, 상기 GUI를 사용하여 어떤 템플릿(template) 요소 동작프로그램의 상기 1이상의 변수를 모두 특정하기 위한 변수 특정 화면을 표시 하고, 그 다음 해당 변수 특정 화면을 이용하여 상기 1이상의 변수가 특정된 템플릿 요소 동작프로그램을 커스텀(custom) 요소 동작프로그램으로써 상기 저장부에 저장시키는 것을, 상기 저장부에 저장된 복수의 템플릿 요소 동작프로그램에 대해 순차적으로 실행하는 스텝A와, 상기 프로그램 생성부가 상기 저장부에 저장된 복수의 커스텀(custom) 요소 동작프로그램에 기초하여 해당 복수의 커스텀 요소 동작프로그램을 포함하는 상기 전체 동작프로그램을 생성하는 스텝B와를 포함하고, 상기 복수의 템플릿 요소 동작프로그램이 적어도 그 대응하는 요소작업에 필요한 상기 로봇의 운동을 규정하는 1이상의 손끝(fingertip) 위치좌표를 상기 변수로써 포함하고, 또한 상기 1이상의 손끝(fingertip) 위치좌표가 모두 특정됨으로써 상기 로봇의 운동이 특정되도록 구성된 템플릿 요소 동작프로그램을 포함한다.
여기에서 로봇의 운동이란 로봇의 이동 및 자세 변화를 포함한다. 예를 들어 로봇의 운동을 규정하는 1이상의 손끝 위치좌표가 교시점이다.
상기 구성에 의하면, 교시자가 GUI를 사용하여 어떠한 템플릿 요소 동작프로그램의 변수 특정 화면을 표시 한 후, 해당 변수 특정 화면을 사용하여 변수를 특정하면, 이 변수가 특정된 템플릿 요소 동작프로그램이 커스텀 요소 동작프로그램으로써 저장부에 저장된다. 그리고, 이 작업을 저장부에 저장된 복수의 템플릿 요소 동작프로그램에 대해 순차적으로 실행하면, 프로그램 생성부가 저장부에 저장된 복수의 커스텀 요소 동작프로그램을 포함한 전체 동작프로그램을 생성한다. 그리고 복수의 템플릿 요소 동작프로그램이, 적어도, 그 대응하는 요소작업에 필요한 로봇의 운동을 규정하는 손끝 위치좌표(교시점)를 변수로써 포함하고, 또한 손끝 위치좌표가 특정됨으로써 로봇의 운동이 특정되도록 구성된 템플릿 요소 동작프로그램을 포함한다. 따라서 교시자는 로봇 언어를 이해하지 않아도 GUI를 사용하여 템플릿 요소 동작프로그램의 변수를 특정하는 것만으로 로봇의 손끝 위치좌표(교시점)를 포함한 운동 동작에 관한 동작프로그램을 생성할 수 있다. 그리고 이 동작프로그램을 로봇의 제어장치에 다운로드함으로써 로봇에게 운동 동작에 대한 교시를 할 수 있다. 따라서, 로봇 언어를 이해하지 않고도 로봇을 간단하게 교시 할 수 있다.
상기 복수의 템플릿 요소 동작프로그램이 그 대응하는 요소작업의 내용을 규정하는 1이상의 변수를 포함하고, 또한 상기 1이상의 변수가 모두 특정됨으로써 상기 요소작업의 내용이 특정되도록 구성된 템플릿 요소 동작프로그램을 더 포함 할 수도 있다.
상기 구성에 의하면, 복수의 템플릿 요소 동작프로그램이 그 대응하는 요소작업의 내용을 규정하는 변수를 포함하고, 또한 변수가 특정됨으로써 요소작업의 내용이 특정되도록 구성된 템플릿 요소 동작프로그램을 더 포함한다. 따라서, 교시자는 로봇 언어를 이해하지 않아도 GUI를 사용하여 템플릿 요소 동작프로그램의 변수를 특정하는 것 만으로 로봇의 손끝 위치좌표(교시점)를 포함하는 운동 동작과 요소작업의 내용과의 쌍방에 관한 동작프로그램을 생성 할 수 있다. 그리고 이 동작프로그램을 로봇의 제어장치에 다운로드함으로써, 로봇에게 운동 동작과 요소작업의 내용과의 쌍방에 관한 교시를 할 수 있다.
상기 스텝A는 상기 GUI를 이용하여 상기 복수의 템플릿 요소 동작프로그램 의 하나를 선택하는 프로그램 선택화면을 표시하는 스텝을 포함하고, 해당 스텝에 있어서 상기 프로그램 선택화면을 이용하여 선택된 템플릿 요소 동작프로그램이 상기 어떤 템플릿 요소 동작프로그램이어도 좋다.
상기 구성에 의하면, 교시자가, 복수의 템플릿 요소 동작프로그램 중에서 소망하는 템플릿 요소 동작프로그램의 조(組)를 선택함으로써 로봇이 실행해야만 하는 소망하는 전체작업을 구축하고, 또한 소망하는 전체작업을 실행하는 로봇의 동작프로그램을 용이하게 생성 할 수 있다.
복수의 로봇에 각각 대응하는 전체작업 및 각각의 전체작업에 대응하는 복수의 템플릿 요소 동작프로그램이 각각 복수의 로봇과 관련지어서 상기 저장부에 저장되어 있으며, 상기 GUI를 이용하여 상기 복수 로봇 중 하나를 선택하는 로봇 선택화면을 표시하는 스텝을 포함하고, 해당 스텝에 있어서 상기 로봇 선택화면을 이용하여 선택된 로봇에 대해 상기 스텝A와 B를 실행하여도 좋다.
상기 구성에 의하면, 로봇 언어를 이해하지 않아도 GUI를 사용하여 복수의 로봇을 용이하게 교시 할 수 있다.
상기 로봇, 상기 전체작업, 및 상기 요소작업의 순으로 상층에서 하층으로 향하도록 계층화 되고, 각 층의 구성 요소인 개별 상기 로봇, 개별 상기 전체작업, 및 개별 상기 요소작업에 각각 서로에게 식별하기 위한 식별 명칭이 부여되고, 또한 상기 복수의 템플릿 요소 동작프로그램이 최하층을 구성하는 복수의 요소작업에 각각 대응하도록 하여, 상기 복수의 템플릿 요소 동작프로그램이 상기 저장부에 저장되어 있어도 좋다.
상기 구성에 의하면, 각 층의 구성 요소의 각 식별 명칭을 특정함으로써, 상기 로봇, 상기 전체작업, 및 템플릿 요소 동작프로그램을 특정 할 수 있다. 이에 의해 GUI를 사용하여 상기 로봇, 상기 전체작업, 및 템플릿 요소 동작프로그램을 특정하기 위한 화면표시 및 표시화면을 통하여 특정하기 위한 입력을 적절하게 할 수 있다.
상기 로봇이 현재의 손끝 위치좌표를 출력 가능하게 구성되어 있으며, 상기 스텝A에있어서, 상기 변수로써의 손끝 위치좌표를 특정하는 변수 특정 화면에 상기 손끝 위치좌표의 출력에서 얻은 값을 입력함으로써, 상기 변수로써의 손끝 위치좌표를 특정해도 좋다.
상기 구성에 의하면, 교시자는 로봇의 손끝을 소망하는 교시점에 위치시킴으로써, 간단하게 로봇의 손끝 위치좌표를 특정할 수 있다. 이 로봇의 손끝 위치좌표의 출력은 통신에 의해 GUI에 입력해도 되고, 예를 들면, 로봇 컨트롤러에 표시된 로봇의 손끝 위치좌표의 출력을 교시자가 보고 이것을 GUI의 특정 화면에서 입력해도 좋다.
상기 로봇이 협조동작을 하는 복수의 팔을 가지고 있고, 상기 전체작업이 상기 복수의 팔에 협조하여 실행시켜야 할 작업의 전체인 전체작업(이하 협조 전체작업이라 한다)이고, 상기 복수의 요소작업이 상기 협조 전체작업을 구성하는 복수의 요소작업 (이하 협조 요소작업이라 한다)이고, 상기 템플릿 요소 동작프로그램이 상기 협조 요소작업에 대응하는 템플릿 요소 동작프로그램(이하 템플릿 협조 요소 동작프로그램이라 한다)이고, 상기 커스텀 요소 동작프로그램이 상기 템플릿 협조 요소 동작프로그램에 대응하는 커스텀 요소 동작프로그램(이하 커스텀 협조 요소 동작프로그램이라 한다)이고, 상기 전체 동작프로그램이 상기 커스텀 협조 요소 동작프로그램에 대응하는 전체 동작프로그램(이하 협조 전체 동작프로그램이라 한다)이고, 또한, 상기 복수의 템플릿 협조 요소 동작프로그램이 적어도 그 대응하는 협조 요소작업에 필요한 상기 로봇의 복수의 팔 운동을 각각 각 팔마다 규정하는 각 팔의 1이상의 손끝 위치좌표를 상기 변수로써 포함하고, 또한 각 팔의 상기 1이상의 손끝 위치좌표가 모두 특정됨으로써 상기 로봇의 복수의 팔 운동이 특정되도록 구성된 템플릿 협조 요소 동작프로그램을 포함해도 좋다.
여기에서 로봇의 복수의 팔 운동이란 로봇의 이동 및 자세 변화를 포함한다. 예를 들어 각각 각 팔마다 규정하는 각 팔의 1이상의 손끝 위치좌표가 교시점이다.
상기 구성에 의하면, 로봇 언어를 이해하지 않아도, 협조 동작을 하는 복수의 팔을 가진 로봇을 용이하게 교시할 수가 있다.
상기 복수의 팔을 가진 로봇의 각 팔마다 각 팔의 단독 동작에 대응하는 상기 전체 동작프로그램을 생성하는 스텝을 더 포함하고, 상기 복수의 팔의 협조 동작에 대응하는 협조 전체 동작프로그램 및 상기 복수의 팔 각각의 단독 동작에 대응하는 각 상기 전체 동작프로그램이 소정의 액션(action)을 트리거(trigger)로 전환되도록 구성되어 있어도 좋다.
상기 구성에 의하면, 로봇 언어를 이해하지 않아도 복수의 팔을 가진 로봇을 복수의 팔의 협조 동작과 각 팔의 단독 동작을 전환해서 행하도록 용이하게 교시할 수 있다.
상기 협조동작이 작업을 회전시키는 또는 병진시키는 동작을 포함해도 좋다.
상기 구성에 의하면, 다완(多腕)로봇에 의한 작업의 회전, 병진동작을 간단히 교시할 수 있다.
상기 변수는 상기 로봇의 동작 속도, 이동 방법 및 대기 시간을 포함해도 좋다.
상기 구성에 의하면, 교시자는 GUI를 사용하여 간단히 로봇의 특정 동작에 대한 파라미터를 설정할 수 있다.
상기 프로그램 생성장치가 스마트폰 또는 태블릿형 PC여도 좋다.
상기 구성에 의하면, 교시자는 단말(프로그램 생성장치)을 용이하게 가지고 다니며 직관적이고 간단한 조작으로 교시를 할 수 있다.
상기 로봇이 제품조립용 로봇이고, 상기 전체작업이 제품의 조립작업이며, 상기 요소작업이 상기 조립작업의 공정이어도 좋다.
일반적으로 오프라인 티칭에서는 로봇의 자세를 이미지 할 수 없는 것에 기인하여, 오프라인 티칭이 실정에 부합하지 않으므로 실기에 의한 동작확인 또는 오프라인 티칭에 의해 생성된 동작프로그램의 수정이 필요하게 된다.
한편, 제품의 조립작업은 상대적으로 간단한 작업인 공정의 집합으로 세분화 되어있다. 각 공정은 인간이 소정의 절차를 수행 할 수 있도록 규정되어있다. 따라서, 예를 들어, 플로우(flow)작업 라인에서 인간에 가까운 크기의 양팔로봇에게 작업자 대신 공정작업을 수행하게 하는 경우에는 공정작업을 하는 양팔로봇의 자세를 해당 공정작업을 행하는 작업자 자세에 겹쳐서 이미지 할 수 있다.
따라서, 이러한 경우에 있어서는 오프라인 티칭에 의해서도 비교적 실정에 따른 동작프로그램을 생성 할 수 있다. 그러므로 로봇에 의해 제품의 조립작업을 할 경우에는 GUI를 사용하여 일종의 오프라인 티칭을 행하는 본 발명을 매우 적절하게 적용 할 수 있다.
본 발명의 그 외의 태양에 관계되는 로봇의 동작프로그램 생성장치는 , 소정 화면에 GUI를 표시하여 유저 입력을 받는 GUI 제어부와, 저장부와, 프로그램 생성부와, 커스터마이즈(customize)부와를 구비하고, 팔을 갖는 로봇에 실행시켜야 할 작업의 전체인 전체작업을 상기 로봇에 실행시키는 전체 동작프로그램을 작성하는 로봇 동작프로그램 생성장치로서, 상기 전체작업을 구성하는 복수의 요소작업에 각각 대응하여, 1이상의 변수를 포함하고, 또한 상기 1이상의 변수가 모두 특정됨으로써 각각의 요소작업을 상기 로봇이 실행 가능하도록 구성된 복수의 템플릿 요소 동작프로그램이 미리 상기 저장부에 저장되어 있으며, 상기 커스터마이즈부는 상기 GUI를 사용하여 어떤 템플릿 요소 동작프로그램의 상기 1이상의 변수를 모두 특정하기 위한 변수 특정 화면을 표시 하고, 그 다음, 유저에 의해 해당 변수 특정 화면을 이용하여 상기 1이상의 변수가 특정되면, 해당 특정된 템플릿 요소 동작프로그램을 커스텀 요소 동작프로그램으로 상기 저장부에 저장시키는 것을, 상기 저장부에 저장된 복수의 템플릿 요소 동작프로그램에 대해 순차적으로 실행되도록 구성되어 있으며, 상기 프로그램 생성부는, 상기 저장부에 저장된 복수의 커스텀 요소 동작프로그램을 바탕으로 해당 복수의 커스텀 요소 동작프로그램을 포함하는 상기 전체 동작프로그램을 생성하도록 구성되어 있으며, 상기 복수의 템플릿 요소 동작프로그램이, 적어도, 그 대응하는 요소작업에 필요한 상기 로봇의 운동을 규정하는 1이상의 손끝 위치좌표를 상기 변수로서 포함하고, 또한 상기 1이상의 손끝 위치좌표가 모두 특정됨으로써 상기 로봇의 운동이 특정되도록 구성된 템플릿 요소 동작프로그램을 포함한다.
본 발명에 의하면, 티치 펜던트를 이용하지 않고 프로그래밍 언어를 모르는 교시자가 로봇의 이동 및 작업 내용을 간단히 로봇에게 교시 할 수 있다.
본 발명의 상기 목적, 다른 목적, 특징 및 장점은 첨부 도면 참조 하에 다음의 매우 적절한 실시태양의 상세한 설명에서 명확해진다.
도 1은 본 실시형태에 따른 로봇의 동작프로그램 생성장치를 구비한 로봇 교시시스템의 구성을 나타내는 사시도이다.
도 2는 도 1의 로봇 팔의 관절구조를 모식적으로 나타낸 도면이다.
도 3은 도 1의 제어장치의 구성을 나타내는 블록도이다.
도 4는 도 1의 로봇 교시시스템의 평면도이다.
도 5는 도 1의 동작프로그램 생성장치의 구성을 나타내는 블록도이다.
도 6은 도 4의 동작프로그램 생성 어플리케이션의 기능 구성예를 나타낸 블록도이다.
도 7은 동작프로그램 작성 절차를 나타내는 흐름도이다.
도 8은 GUI를 사용하여 표시된 네비게이션 화면의 일례를 나타낸다.
도 9는 GUI를 사용하여 표시된 로봇 선택화면의 일례를 나타낸다.
도 10은 GUI를 사용하여 표시된 워크(work) 선택화면의 일례를 나타낸다.
도 11은 GUI를 사용하여 표시된 작업 선택화면의 일례를 나타낸다.
도 12은 GUI를 사용하여 표시된 파라미터 설정화면의 일례를 나타낸다.
도 13은 생성된 전체 동작프로그램의 일례를 설명하기 위한 모식도이다.
이하, 본 발명에 따른 실시형태에 대해서 도면을 참조하면서 설명한다. 이하에서는 모든 도면을 통해 동일 또는 상당한 요소에는 동일한 부호를 붙이고 중복 설명은 생략한다.
도 1은 제1실시형태에 따른 로봇 교시시스템의 구성을 나타내는 사시도이다. 도 1에서 나타난 바와 같이, 로봇 교시시스템(1)은 로봇 본체(이하 단순히 로봇이라 한다)(2)과 로봇(2)을 제어하는 제어장치(3)과, 제어장치(3)와 통신 가능하게 접속된 동작프로그램 생성장치(4)를 구비한다. 로봇 교시시스템(1)은 동작프로그램에 따라 로봇(2)에게 동작을 교시하는 시스템이다.
[로봇]
로봇(2)은 복수의 링크가 관절에 의해 연결되어 이루어진 로봇 팔(1 또는 그 이상)을 구비한 로봇이다. 본 실시 형태에서는 로봇(2)은 인간에 가까운 크기의 동축양팔형의 스칼라(scalar)로봇이고, 기대(9) 위에 배치된 아랫팔(10)과, 아랫팔(10) 위에 배치 된 윗팔(12)을 구비한다. 로봇(2)은, 예를 들어 플로우작업 라인에서 다른 작업들과 공존하여 작업을 행한다.
아랫팔(10)은, 제1링크(10a) 및 제2링크(10b)가 회전관절에 의해 연결되어 구성된다. 아랫팔(10)의 제2링크(10b)의 선단에는 L자형의 플랜지(10c)가 설치되어 있다. 플랜지(10c)는 제1엔드 이펙터(end effector)(11)가 직동관절에 의해 연결되어 있다.
윗팔(12)은 제1링크(12a) 및 제2링크(12b)가 회전관절에 의해 연결되어 구성된다. 윗팔(12)의 제2링크(12b)의 선단에는 L자형의 플랜지(12c)가 설치되어 있다. 플랜지(12c)는 제2엔드 이펙터(13)가 직동 관절에 의해 연결되어 있다. 또한, 제1엔드 이펙터(11) 및 제2엔드 이펙터(13)는 도 1에 도시된 형상에 한정되지 않고 손 그 외의 조립작업에 적합한 엔드 이펙터여도 좋다.
도 2는 로봇(2)의 아랫팔(10)과, 윗팔(12)의 관절구조를 모식적으로 나타낸 도면이다. 도 2에 나타낸 바와 같이 아랫팔(10)은 회전관절인 제1축(21) 및 제2축(22)과 병진(직동)관절인 제3축(23의3)자유도를 가진다. 윗팔(12)은 회전관절인 제4축(24) 및 제5축(25)와, 병진(직동)관절인 제6축(26의3)자유도를 가진다. 각 팔을 구성하는 관절 축(21)~(26)에는 각각의 관절의 각도를 검출 가능한 각도 검출기의 일례인 인코더(미도시) 등이 들어가 있다.
아랫팔(10)에는 기대(9)의 상면에 지지부재(10s)가 설치되어 수평으로 연장되는 제1링크(10a)의 일단부가 기대(9)에 연직한 회전축선을 갖는 제1축(21)을 통해 지지부재(10s)와 연결된다. 제1링크(10a)의 다른 단부는 연직한 회전축선을 갖는 제2축(22)을 통해 제2링크(10b)의 일단과 연결된다. 제2링크(10b)는 수평으로 연장한다. 제2링크(10b)의 다른 끝에 설치된 플랜지(10c)에는 연직의 병진방향을 갖는 제3축(23)을 통해 제1엔드 이펙터(11)가 연결된다. 이에 따라 제1엔드 이펙터(11)는 제2링크(10b)의 선단부에서 제3축(23)에 의해 승강 가능하게 구성된다.
윗팔(12)에서는 아랫팔(10)의 제1링크(10a)의 상면에 지지부재(12s)가 설치되어 수평으로 연장되는 제1링크(12a)의 일단부가 연직한 회전축선을 갖는 제4축(24)을 통해 지지부재(12S)에 연결된다. 제4축(24)은 그 회전축선이 제1축(21)의 회전축선과 일치하도록 배치된다. 제1링크(12a)의 다른 단부는 연직한 회전축선을 갖는 제5축(25)을 통해 제2링크(12b)의 일단과 연결된다. 제2링크(12b)는 수평으로 연장한다. 제2링크(12b)의 다른 끝에 설치된 플랜지(12c)에는 연직인 병진방향을 갖는 제6축(26)을 통해 제2엔드 이펙터(13)가 연결 된다. 이에 의해 제2엔드 이펙터(13)는 제2링크(12b)의 선단부에서 제6축(26)에 의해 승강 가능하게 구성된다. 제1엔드 이펙터(11)의 기준 위치와 제2엔드 이펙터(13)의 기준 위치는 서로 동일한 수평 위치에 설정된다(도 1 참조).
아랫팔(10) 및 윗팔(12)을 구성하는 각 축(21)~(26)는 서보기구(미도시)에 의해 구동된다. 서보기구는 팔을 변위구동하기 위한 구동부와, 구동부의 동력을 팔에 전달하는 전달기구를 포함한다. 본 실시형태에서는 구동수단은 전동모터, 예를 들면 서보모터(servo motor)에 의해 실현된다. 즉, 아랫팔(10) 및 윗팔(12)은 서보기구에 의해 제어장치(3)의 지령에 따라 운동하도록 구성된다. 여기에서 윗팔(12)의 제4축(24)은 지지부재(12S)와 아랫팔(10)의 제1링크(10a)을 통해 아랫팔의 제1축(21)에 회전축선을 공유하도록 접속되어 있기 때문에 제1축(21)의 회전을 상쇄하도록 회전한 후 주어진 회전을 행하도록 제어된다.
[제어장치]
도 3은 도1의 제어장치(3)의 구성을 나타내는 블록도 이다. 도 3에 나타낸 바와 같이, 제어장치(3)는 연산부(31)와, 저장부(32)와 통신 인터페이스(33) 입출력 인터페이스(34) 서보제어부(35)를 구비한다. 제어장치(3)는 로봇(2) 제어선(미도시)을 통해 연결되고, 예를 들면, 마이크로 컨트롤러 등의 컴퓨터를 갖춘 로봇 컨트롤러이다. 제어장치(3)는 단일 장치로 정해진 것은 아니며 복수의 장치로 구성되어도 좋다.
저장부(32)는 제어장치(3)의 기본 프로그램, 로봇의 동작프로그램 등의 정보를 저장한다. 연산부 (31)는 로봇 제어를 위한 연산처리를 하고, 로봇(2)의 제어지령을 생성한다. 서보제어부(35)는 연산부(31)에 의해 생성된 제어 명령에 따라 로봇(2) 관절 축(21)~(26)의 각 축의 동작을 제어하도록 구성되어있다. 통신 인터페이스(33)는 동작프로그램 생성장치(4)에 접속되어있다. 통신 인터페이스(33)를 통해 제어장치(3) 및 동작프로그램 생성장치(4)는 서로 데이터를 송수신한다.
도 4의 평면도에 나타낸 바와 같이, 제어장치(3)에서는 로봇(2)의 기준 좌표계B(이하 베이스 좌표계라고한다)가 설정된다. 이 좌표계B는 예를 들어, 기대(9)의 설치면과 아랫팔(10)의 제1축(21)(도 2 참조)의 회전축선과의 교점이 원점이며, 제1축(21)의 회전축선이 Z축이고, Z축에 직교하는 임의의 축이 X축이며, Z축 및 X축에 직교하는 축이 Y축이다. 아랫팔(10)의 제2링크(10b)의 선단에 부착된 플랜지(10c)를 기준으로 한 좌표계를 제1플랜지 좌표계(F1)라고 한다. 윗팔(12)의 제2링크(12b)의 선단에 장착된 제2플랜지(12c)를 기준으로한 좌표계를 제2플랜지 좌표계(F2)라고 한다.
제어장치(3)는 관절 축(21)~(26)의 각도와 아랫팔(10) 및 윗팔(12)을 구성하는 링크의 길이와를 통해 공통 베이스 좌표계(B)에서의 플랜지(10c), (12c)의 위치 및 자세를 특정 할 수 있다. 그리고 제어장치(3)는 제1플랜지 좌표계(F1)에서의 플랜지(10c)의 위치로부터 제1엔드 이펙터(11)상의 점까지의 벡터와 제2플랜지 좌표계(F2)에서의 플랜지(12c)의 위치로부터 제2엔드 이펙터(13)상의 점까지의 벡터를 미리 저장해 두는 것으로, 베이스 좌표계(B)를 기준으로 한 로봇(2)의 아랫팔(10)의 손끝 위치와 윗팔(12)의 손끝 위치를 산출 할 수 있다. 본 실시 형태에서는 로봇(2)의 아랫팔(10)의 동작을 규정하는 교시점은 베이스 좌표계(B)를 기준으로 한 엔드 이펙터(11)의 선단위치(P1)이다. 로봇(2)의 윗팔(12)의 동작을 규정하는 교시점은 베이스 좌표계(B)를 기준으로 한 엔드 이펙터(13)의 선단위치(P2)이다. 또한, 로봇 교시시스템(1)에서 비젼(vision)센서(미도시)를 병용함으로써, 로봇 이외의 공간상의 임의의 점을 교시점으로 하여도 좋다.
로봇(2)의 운동은 1이상의 교시점(P1), (P2)가 특정됨으로써 특정된다. 이에 의해 베이스 좌표계(B)를 기준으로한 로봇 팔(10),(12)의 동작 영역(20)을 설정할 수 있다. 본 실시 예에서는 동작 영역 (20)은 평면에서 보아 직사각형이며, 로봇(2)의 정면에 배치된 작업대(5)를 덮도록 설정된다.
교시자는 이 동작 영역(20)의 범위 내에서 로봇(2)에게 실행시켜야 할 작업의 전체인 전체작업의 교시를 실시한다. 로봇(2) 제품조립용 로봇이고, 로봇의 전체작업은 예를 들어 에어컨의 조립작업이다. 이 경우 로봇(2)의 전체작업은 복수의 요소작업으로 구성되며, 각 요소작업은 예를 들어 각 조립공정이다. 도 4의 예에서는 요소작업은 작업대(5)의 위에 배치된 4종류의 부품 (W1), (W2), (W3), (W4)의 조립작업이다.
일반적으로 오프라인 티칭은 로봇의 자세를 이미지 할 수 없는 것에 기인하여 오프라인 티칭이 실정에 부합하지 않으므로 실기에 의한 동작 확인 또는 오프라인 티칭에 의해 생성된 실행 프로그램의 수정이 필요하게 된다.
한편, 제품의 조립작업은 상대적으로 단순한 작업인 공정의 집합으로 세분화 되어있다. 각 공정은 인간이 소정의 절차를 수행 할 수 있도록 규정되어있다. 따라서, 본 실시형태와 같이, 플로우작업 라인에서 인간에 가까운 크기의 양팔로봇(2)에게 작업자 대신 공정작업을 수행하게 하는 경우에는 공정작업을 수행하는 양팔로봇의 자세를, 해당 공정작업을 수행하는 작업자의 자세 겹쳐 이미지 할 수 있다.
따라서, 이러한 경우에서는 오프라인 티칭에 의해서도 비교적 실정에 따른 동작프로그램을 생성 할 수 있다. 그러므로 로봇에 의해 제품의 조립작업을 할 경우에는 GUI를 사용하여 일종의 오프라인 티칭을 행하는 본 발명을 매우 적절하게 적용 할 수 있다. 이하, 구체적으로 설명한다.
[동작프로그램 생성장치]
교시자들은 동작프로그램 생성장치(4)를 사용하여 전체작업을 로봇(2)이 실행시키는 전체 동작프로그램을 생성하고, 제어장치(3)을 통해 로봇(2)에게 동작을 교시한다. 여기서 교시자는, 로봇 교시시스템(1)의 관리자라도 좋다. 동작프로그램 생성장치(4)는 로봇(2)의 전체 동작프로그램의 작성, 수정, 등록 또는 각종 파라미터의 설정을 실행한다.
도 5는 동작프로그램 생성장치(4)의 하드웨어 구성을 나타내는 블록도이다. 도 5에 나타낸 바와 같이 동작프로그램 생성장치(4)는 프로세서(41)와 터치스크린 디스플레이(42), 통신부(43)와, 스피커(44)와, 저장부(45)을 포함한다. 본 실시형태에서는 동작프로그램 생성장치(4)는 태블릿형 컴퓨터이다.
프로세서(41)는 각종 처리를 실행하는 연산 장치이며, OS(45A) 등의 기본 프로그램이나, 후술하는 동작프로그램 작성 어플리케이션을 실행한다.
터치 스크린 디스플레이(42)는 화면 표시부(4A) 및 정보 입력부(4B)를 갖는다. 화면 표시부(4A)는 액정 디스플레이 등의 표시 장치를 구비한다. 화면 표시부(4A) 문자, 이미지, 기호 및 도형 등을 화면에 표시한다.
정보 입력부(4B)는 사용자에 의한 화면에의 정보 입력을 감지한다. 본 실시 형태에서는 정보 입력부(4B)는 적어도 손가락, 펜 또는 스타일러스 펜 등이 화면에 접촉 또는 접근 위치를 감지한다. 정보 입력부(4B)의 검출방식은 정전 용량 방식 등의 임의의 어떠한 방식이여도 좋다.
통신부(43)는 유선 또는 무선을 통해 제어장치(3)와 통신한다. 통신부(43)는 1이상의 통신방식을 지원한다. 통신부(43)에 의해 지원되는 통신방식, 예를 들어, 이사넷(등록 상표), 휴대전화용의 통신방식 등을 포함한다.
스피커(44)은 소리를 출력한다. 태블릿형 컴퓨터는 헤드폰(이어폰)을 통해 소리를 출력하기 위한 출력단자를 더 포함해도 좋고, 소리를 입력하기 위해 마이크를 더 구비해도 좋다.
저장부(45)는 어플리케이션의 동작을 지원하는 운영 체제(OS)(45A)와, 포어그라운드 또는 백그라운드에서 실행되는 어플리케이션 프로그램 (이하, 단순히 앱이라고 함)(45B)와 프로그램 및 속성정보 (45C)를 저장한다. 어플리케이션(45B)은 본 실시형태의 GUI를 이용하여 로봇의 전체 동작프로그램을 생성하는 동작프로그램 생성 앱이 포함된다. 앱은, 예를 들어, GUI를 사용하여 화면 표시부(4A) 화면을 표시하고, 정보 입력부(4B)에 의해 검출되는 유저의 제스처에 따라 처리를 프로세서부(41)에 실행시킨다. 앱은, 게임, 음악과 영상의 시청에 관한 것, 사전, 지도, 공부에 관한 것 등 다양한 종류가 있다. 앱은, 마켓 등에서 태블릿 단말로 다운로드(설치)되어 실행된다. 앱은, 통신부(43)에 의한 통신 또는 저장매체를 통해 저장부(45)에 설치되어 있다. 기타 저장부(45)는 각 앱의 실행파일 및 세이브 데이터 등을 저장하는 저장영역, 프로세서부(41)의 처리결과를 일시적으로 저장하는 작업영역으로도 이용된다. 저장부(45)는 반도체 저장매체 및 자기 저장 매체 등 임의의 저장매체를 포함 할 수 있다. 저장부(45)는, 복수의 종류의 저장매체를 포함해도 좋다. 저장부(45)는 RAM 등의 일시적인 저장영역으로써 이용되는 저장디바이스를 포함 할 수 있다.
도 6은 동작프로그램 생성장치(4)에서 동작프로그램 생성앱 실행시 프로세서부(41)의 기능 구성을 나타내는 블록도이다. 도 6에 나타낸 바와 같이, 프로세서부(41)는 GUI 제어부(51)와 커스터마이즈부(52)와, 동작프로그램 생성부(53)를 포함하여 각 기능을 실행한다. 프로그램 및 속성 정보(45C)에는 화면정보, 로봇정보, 전체작업 정보, 요소작업 정보, 템플릿 요소 동작프로그램, 및 커스텀 프로그램 격납 영역에 저장된 기타 정보부가 포함된다.
화면 정보는 GUI 제어(51)에 의해 터치스크린 디스플레이(42)에 표시되는 화상정보이다. 로봇 정보는 본 시스템(1)에 의해 교시되는 로봇(1 또는 그 이상)에 대한 기본정보이다. 전체작업 정보는 각 로봇에 교시하는 전체작업(1 또는 그 이상)에 관한 정보이다. 전체작업으로는 예를 들어 에어컨, 카메라 등의 조립작업이다. 요소작업 정보는 각 전체작업을 구성하는 요소작업(1 또는 그 이상)에 관한 정보이다. 요소작업으로는 예를 들어 이동, 설치, 잡기(hold), 놓기(release), 신호 대기 등이다.
템플릿 요소 동작프로그램은 각 요소작업에 대응하고 또한 1이상의 변수를 인수로 가지며, 이러한 변수가 모두 특정 됨으로써 그 요소작업을 로봇이 실행 가능하도록 미리 로봇언어에 의해 기술된 프로그램 리스트이다. 템플릿 요소 동작프로그램은, 적어도, 그 대응하는 요소작업에 필요한 로봇의 운동을 규정하는 1이상의 손끝 위치좌표(교시점)을 변수로 포함하고, 또한 1이상의 손끝 위치좌표(교시점)가 모두 특정됨으로써 로봇의 운동이 특정되도록 구성되어있다.
저장부(45)는 로봇정보, 전체작업 정보, 및 요소작업 정보의 순으로 상층에서 하층으로 향하도록 계층화되어, 각층의 구성 요소인 개별 로봇, 개별 전체작업, 및 개별 요소작업에 각각 서로 식별하기 위한 식별명칭이 부여되고, 또한 복수의 템플릿 요소 동작프로그램이 최하층을 구성하는 복수의 요소작업에 각각 대응하도록 복수의 템플릿 요소 동작프로그램이 저장되 있다.
여기에서는 복수의 로봇에 각각 대응하는 전체작업 및 각각의 전체작업에 대응하는 복수의 템플릿 요소 동작프로그램이 각각 복수의 로봇과 관련지어 저장부(45)에 저장되어있다.
이들 정보는 네트워크를 통해 다운로드 할 수도 있고, 유저 입력되어도 좋고, 제어장치(3)에서 취득되어도 좋고, 저장 매체로부터 취득되어도 좋다.
커스텀 프로그램 격납영역에는, 커스텀 요소 동작프로그램과, 작성된 전체 동작프로그램에 관한 정보가 격납된다. 여기에 커스텀 요소 동작프로그램은 템플릿 요소 동작프로그램의 1이상의 변수가 모두 특정된 프로그램 목록을 말한다. 전체 동작프로그램은 템플릿 요소 동작프로그램(1또는 그 이상)의 변수(1또는 그 이상)가 특정된 커스텀 요소 동작프로그램(1또는 그 이상)을 바탕으로 생성된 프로그램 목록이다.
GUI 제어부(51)는 저장부(45)에 저장된 각종 정보를 기반으로 GUI를 통해, 터치스크린 디스플레이(42)에 소정 화면을 표시하고 유저 조작에 따른 처리를 실행한다.
커스터마이즈부(52)는 GUI를 사용하여 어떤 템플릿 요소 동작프로그램의 1이상의 변수를 모두 특정하기 위한 파라미터 설정화면을 표시하고, 그 다음 유저에 의해 해당 파라미터 설정화면을 이용하여 1이상의 변수가 특정되면, 해당 특정된 템플릿 요소 동작프로그램을 커스텀 요소 동작프로그램으로 저장부(45)에 저장시키는 것을, 저장부(45)에 저장된 복수의 템플릿 요소 동작프로그램에 대해서 순차적으로 실행하도록 구성되어 있다.
프로그램 생성부(53)는 저장부(45)에 저장된 복수의 커스텀 요소 동작프로그램에 따라 해당 복수의 커스텀 요소 동작프로그램을 포함한 전체 동작프로그램을 생성하도록 구성되어있다. 생성된 전체 동작프로그램은 유저 조작에 따라 통신부(43)를 통해 제어장치(3)에 다운로드 된다.
[동작프로그램 생성 순서]
다음 교시자에 의한 전체 동작프로그램의 생성 순서에 대해 도 7 내지 도 13을 이용하여 설명한다.
먼저 GUI 제어부(51)는 GUI를 사용하여 터치스크린 디스플레이(42)에 네비게이션 화면을 표시한다(도 7의 스텝S1). 구체적으로는, 교시자가 태블릿형 컴퓨터상에서 동작프로그램 생성 앱을 기동한다. 앱 기동 후 일정 시간 후에 기동화면(미도시)에서 네비게이션 화면으로 자동으로 전환한다. 도 8은 GUI를 사용하여 표시된 네비게이션 화면의 일례를 나타낸다. 같은 도면에 도시 된 바와 같이, 네비게이션 화면에서는 화면 왼쪽 절반에 있는 선택 메뉴목록이 표시된다. 위에서부터 순서대로, 교시 대상인 로봇의 정보를 설정하기 위한 메뉴(도 8에서는 "로봇"이라고 표시함), 교시점을 편집하기 위한 메뉴(도 8에서는 "교시점 편집"으로 표시함), 전체 동작프로그램을 작성하기 위한 메뉴(도 8에서는 "작업 관리"로 표시함), 데이터를 백업하기 위한 메뉴(도 8에서는 "백업"으로 표시함), 단말의 기본 설정을 위한 메뉴(도 8에서는 "설정"으로 표시함)이 표시되어 있다. 교시자는 화면상에 문자나 아이콘을 터치함으로써 원하는 메뉴를 선택한다. 이하에서는 작동 프로그램을 생성하기 위한 전형적인 절차를 설명하지만, 교시자가 네비게이션 화면에서 임의의 메뉴를 선택할 수 있음은 말할 것까지 없다.
다음으로 GUI 제어부(51)는 GUI를 사용하여 터치 스크린 디스플레이(42)상에 로봇 선택화면을 표시한다(스텝 S2). 구체적으로는 교시자가 도 8의 네비게이션 화면에서 "로봇"을 선택한 경우에 이 화면이 표시된다. 도 9는 GUI를 사용하여 표시된 로봇 선택화면의 일례를 나타낸다. 여기에서는 태블릿 단말과 접속되어, 교시 가능한 로봇에 대한 정보가 표시된다. 동일한 도면에 도시 된 바와 같이, 로봇 선택화면에서는 화면 왼쪽 절반에 있는 선택 가능한 로봇의 목록이 표시된다. 여기에서는 로봇을 서로 식별하기 위해 고유 명칭 "로봇(1)"및 "로봇(2)"가 부여되어있다. 예를 들어 "로봇(1)" 및 "로봇(2)"는 도4의 로봇(2)의 아랫팔(10) 및 윗팔(12)이 대응한다. 로봇 선택화면의 화면 오른쪽 절반은 선택한 로봇(제어장치(3))과 접속하는지 아닌지의 선택 메뉴가 표시된다. 본 실시형태에서는 로봇(2)의 아랫팔(10) 및 윗팔(12) 각각의 단독 동작에 대응하는 전체 동작프로그램의 생성에 대해서 설명한다. 또한, 화면 (도 9 ~ 도 12) 상부의 툴바를 터치함으로써 새로 파일 만들기, 편집, 복제, 삭제가 가능하다. 또한 툴바 하단의 탭을 터치하여 다른 화면으로 전환 할 수 있다.
다음으로 GUI 제어부(51)는 GUI를 사용하여 터치스크린 디스플레이(42)에 전체작업 선택화면을 표시한다(스텝S3). 구체적으로는, 교시자가 도 8의 네비게이션 화면에서 "작업 관리"를 선택한 경우에 이 화면이 표시된다. 도 10은 GUI를 사용하여 표시되는 전체작업 선택화면의 일례를 나타낸다. 동일한 도면에 도시 된 바와 같이, 전체작업 선택화면에서는 선택가능한 제품의 목록의 일람이 표시된다. 여기에서는 전체작업을 서로 식별하기 위해 식별명칭 "에어컨(1)", "카메라(1)", "렌즈(1)", "부품(1)" 및 "휴대전화 기판(1)"이 부여되어있다. 교시자들은 특정 제품을 선택한다. 여기에서는 선택된 제품의 조립작업이 로봇(2)에게 실행시켜야 하는 전체작업을 의미한다.
다음으로 GUI 제어부(51)는 GUI를 사용하여 터치스크린 디스플레이(42) 위에 요소작업 선택화면 (프로그램 선택화면)을 표시한다(스텝S4). 구체적으로는, 교시자가 도 10의 전체작업 선택화면에서 특정의 제품(예를 들면 식별 명칭 "에어컨(1)")을 선택한 경우에 이 화면이 표시된다. 도 11은 GUI를 사용하여 표시된 요소작업 선택화면(프로그램 선택화면)의 일례를 나타낸다. 동일한 도면에 도시 된 바와 같이, 요소작업 선택화면(프로그램 선택화면)에서는 선택 가능한 요소작업의 일람이 표시된다. 여기에서는 요소작업을 서로 식별하기 위해 식별명칭 "신호 대기", "A점 이동", "이동", "설치", "이동", "잡기(hold)", "놓기(release)"가 부여되어 있다. 또한, 저장부(45)에는 미리 각 요소작업에 각각 대응하고, 1이상의 변수를 포함하고, 또한 1이상의 변수가 모두 특정됨으로써 각각의 요소작업을 로봇이 실행 가능하게 구성된 복수의 템플릿 요소 동작프로그램이 저장되어 있다. 교시자는 상기 요소작업 중에서 소정의 요소작업(식별명칭)의 조(組)를 선택함으로써, 템플릿 요소 동작프로그램의 조(組)를 선택할 수 있다. 도 11에서는 전체작업으로써 에어컨 부품의 반송 작업을 구성하는 3가지 요소작업 조합(식별명칭 "잡기(hold)", "이동", "놓기(release)")가 선택되어 있다.
더욱이, 커스터마이즈부(52)는 GUI를 사용하여 터치스크린 디스플레이(42)상에 파라미터 설정화면을 표시한다(스텝S5). 구체적으로는, 교시자가 도 11의 3개의 요소작업(식별명칭 "잡기(hold)", "이동", "놓기(release)")중 하나의 요소작업(식별명칭 "이동")을 선택한 경우에 표시된다. 도 12는 GUI를 사용하여 표시된 파라미터 설정화면의 일례를 나타낸다. 동일한 도면에 도시 된 바와 같이, 파라미터 설정화면에서는 이동에 대해 설정 가능한 파라미터의 일람이 표시된다. 여기에서는 교시자는 로봇의 동작 속도, 이동 방법, 대기시간, 로봇의 교시점 및 비젼 센서에 대한 변수를 설정한다.
로봇(2)의 동작 속도는 임의로 설정할 수 있다. 본 실시형태에서는 동작 영역(20)에서 로봇(2)의 아랫팔(10) 및 윗팔(12) 각각의 최대 동작 속도를 임의로 설정할 수 있다(도4 참조). 예를 들어 동작영역(20)에서 로봇(2)과 사람이 공존하여 작업하는 영역을 마련한 경우에는 최대 동작 속도를 ISO10218-1에 저속제어로써 규정되어있는 250mm/s로 설정해도 좋다.
이동 방법은 임의로 설정할 수 있다. 예를 들어 선형보간, 원호보간, PTP(point to point)제어 중 원하는 이동 방법을 선택할 수 있다.
대기 시간을 임의로 설정할 수 있다. 여기에서는 로봇(2)가 상기 "이동"동작을 할 때까지의 대기 시간을 설정할 수 있다.
로봇의 교시점을 설정할 수 있다. 본 실시형태에서는 로봇의 교시점(손끝 위치좌표)은 통신에 의해 제어장치(3)으로부터 취득하여, 화면에 표시하도록 구성되어 있지만, 교시자가 제어장치(3)에 표시된 로봇의 손끝 위치좌표의 출력을 보고 이를 화면에 직접 입력하는 구성이어도 좋다.
또한 비전 센서의 유무를 설정할 수 있다. 로봇 교시시스템(1)에서 비전 센서(미도시)를 사용하는 것에 의해, 로봇(2) 이외의 공간상의 임의의 점을 교시점으로 해도 좋다.
다음에, 커스터마이즈부(52)는 파라미터 설정화면(도 12)에서 유저에 의해 1이상의 변수가 특정되면 해당 특정된 템플릿 요소 동작프로그램을 커스텀 요소 동작프로그램으로써 저장부(45)에 저장시킨다(스텝 S6). 커스터마이즈부(52)는 저장부(45)에 저장된 다른 템플릿 요소 동작프로그램을 순차적으로 실행한다(스텝 S7). 교시자는 그 외의 요소 동작(식별명칭 "잡기", "놓기(release)")에 대해서도 마찬가지로 GUI를 사용하여 파라미터를 설정함으로써 각 요소작업에 대응하는 템플릿 요소 동작프로그램을 커스터마이즈 하고 커스텀 요소 동작프로그램으로써 저장부(45)에 저장한다.
프로그램 생성부(53)는 저장부(45)에 저장된 복수의 커스텀 요소 동작프로그램을 바탕으로 해당 복수의 커스텀 요소 동작프로그램을 포함한 전체 동작프로그램을 생성한다(스텝S8).
도 13은 생성된 전체 동작프로그램의 일례를 설명하기 위한 모식도이다. 도13(a)에 나타낸 바와 같이, 로봇의 전체작업은 에어컨 부품의 반송 작업이다. 반송 작업은 3가지의 요소작업(식별명칭 "잡기(hold)", "이동", "놓기(release)")로 구성된다. 구체적으로는, 우선, 원점G (Xa, Ya, Za, RXa, RYa, RZa)에서 제1소정 위치까지 직선 이동한다. 다음으로 소정위치에서 점A1(Xa, Ya, Za, RXa, RYa, RZa)까지 직선 이동한다. 점A1에서 워크를 파지하여, 제1소정위치까지 직선이동한다. 그 후, 워크를 파지 한 채로 제2소정 위치까지 직선 이동한다. 다음으로, 제2소정위치에서 점B1(Xb, Yb, Zb, RXb, RYb, RZb)까지 직선 이동하여 워크를 놓는다. 다음으로, 점B1 (Xb, Yb, Zb, RXb, RYb, RZb)에서 제2소정 위치까지 직선 이동한다. 마지막으로 직선 이동하여 원점G까지 되돌아온다.
도 13(b)는 작성된 전체 동작프로그램의 소스를 나타내고 있다. 도 13(c)는 소스에 대응하는 요소작업 선택화면(프로그램 선택화면)의 일례이다. 이와 같이 교시자는 로봇 언어를 이해하지 않아도 GUI를 사용하여 간단한 조작으로 작동 프로그래밍을 작성할 수 있다.
마지막으로, 교시자는 생성된 전체 동작프로그램을 제어장치(3)에 전송한다. 도9의 로봇 선택화면 탭 "전송"을 통해 전송을 실행한다. 제어장치(3)은 전송된 동작프로그램을 바탕으로 로봇에게 동작을 교시한다. 또한 교시자는 도9의 로봇 선택화면 탭인 "모니터"에 의해 교시 결과를 플레이백하는 것도 가능하다.
이와 같이, 본 실시 예에 따르면, 교시자가 GUI를 사용하여 어떠한 템플릿 요소 동작프로그램의 파라미터 설정화면(도 12)을 표시 한 후 파라미터 설정화면을 이용하여 변수를 특정하면, 이 변수가 특정된 템플릿 요소 동작프로그램이 커스텀 요소 동작프로그램으로 저장부(45)에 저장된다. 그리고 이 조작을 저장부(45)에 저장된 복수의 템플릿 요소 동작프로그램에 대해서 순차적으로 실행하면, 프로그램 생성부(53)가 저장부(45)에 저장된 복수의 커스텀 요소 동작프로그램을 포함한 전체 동작프로그램을 생성한다. 따라서 교시자는 로봇 언어를 이해하지 않아도 GUI를 사용하여 템플릿 요소 동작프로그램의 변수를 특정하는 것만으로 로봇의 손끝 위치좌표(교시점)를 포함한 운동동작에 관한 동작프로그램을 생성할 수 있다. 그리고 이 동작프로그램을 로봇의 제어장치(3)에 다운로드함으로써 로봇 운동 동작에 관한 교시를 할 수 있다. 따라서, 로봇 언어를 이해하지 않아도 로봇을 쉽게 교시 할 수 있다.
또한, 본 실시 형태에 따르면, 교시자가 GUI를 사용하여 요소작업 선택화면(도11의 프로그램 선택화면)을 표시하고 복수의 템플릿 요소 동작프로그램 중에서 원하는 템플릿 요소 동작프로그램의 조(組)를 선택함으로써 로봇이 실행해야 하는 원하는 전체작업을 구축하고, 또한 원하는 전체작업을 수행하는 로봇의 동작프로그램을 쉽게 생성 할 수 있다.
(기타 실시 예)
또한, 본 실시 형태에서는 로봇(2)의 아랫팔(10) 및 윗팔(12) 각각의 단독 동작에 대응하는 전체 동작프로그램의 생성을 설명했지만, 이에 한정되지 않는다. 로봇(2)의 아랫팔(10) 및 윗팔(12)이 협조동작을 행하여, 상기 전체작업이 복수의 팔에 협조하여 실행시켜야 하는 작업의 전체인 전체작업(이하 협조 전체작업이라 함)이어도 좋다. 이 경우, 상기 복수의 요소작업이 협조 전체작업을 구성하는 복수의 요소작업(이하 협조 요소작업이라 함)이다. 또한, 상기 템플릿 요소 동작프로그램이 협조 요소작업에 대응하는 템플릿 요소 동작프로그램(이하 템플릿 협조 요소 동작프로그램이라 한다)이다. 또한, 상기 커스텀 요소 동작프로그램이 템플릿 협조 요소 동작프로그램에 대응하는 커스텀 요소 동작프로그램(이하 커스텀 협조 요소 동작프로그램이라 한다)이다. 또한, 상기 전체 동작프로그램이 커스텀 협조 요소 동작프로그램에 대응하는 전체 동작프로그램(이하 협조 전체 동작프로그램이라 한다)이다.
또한 복수의 템플릿 협조 요소 동작프로그램이 적어도 그 대응하는 협조 요소작업에 필요한 로봇의 복수의 팔 운동을 각각 각 팔마다 규정하는 각 팔의 1이상의 손끝 위치좌표를 변수로써 포함하고, 또한 각 팔의 1이상의 손끝 위치좌표가 모두 특정됨으로써, 로봇의 복수의 팔 운동이 특정되도록 구성된 템플릿 협조 요소 동작프로그램을 포함한다.
이에 의해, 로봇 언어를 이해하지 않아도 협조동작을 하는 복수의 팔을 가진 로봇을 용이하게 교시 할 수 있다.
또한 이 협조동작에는 워크를 회전시키는 또는 병진시키는 동작을 포함하여 다완(多腕)로봇에 의한 일의 회전, 병진 동작을 간단히 교시할 수 있다.
또한, 복수의 팔을 갖는 로봇의 각 팔마다 각 팔의 단독 동작에 대응하는 전체 동작프로그램을 생성하는 스텝을 더 포함하여, 복수의 팔의 협조 동작에 대응하는 협조 전체 동작 프로그램과 복수의 팔 각각의 단독 동작에 대응하는 각 상기 전체 동작프로그램이 소정의 액션을 트리거로써 전환되도록 구성되어 있어도 좋다. 이에 의해 로봇 언어를 이해하지 않아도 복수의 팔을 가진 로봇을 복수의 팔의 협조 동작과 각 팔의 단독 동작과 전환해서 행하도록 용이하게 교시 할 수 있다.
또한, 본 실시 형태에서는 동작프로그램 생성장치(4)는 로봇 동작프로그램 생성 어플리케이션이 설치된 태블릿형 컴퓨터로 했지만 스마트폰이여도 좋다. 이에 의해 교시자는 단말을 용이하게 가지고 다니며 직관적이고 간단한 조작으로 교시를 할 수 있다.
또한, 본 실시 예에서는 동작프로그램 생성장치(4)는 소프트웨어를 설치하여 실행 가능한 범용 컴퓨터도 좋고, 전용의 하드웨어여도 좋다.
위 설명에서 당업자에게는 본 발명의 많은 개량이나 다른 실시 형태가 분명하다. 따라서, 상기 설명은 예시로써만 해석되어야하며, 본 발명을 실행하는 최선의 형태를 당업자에게 교시할 목적으로 제공된 것이다. 본 발명의 정신을 벗어나지 않고 그 구조 및 기능의 일방 또는 쌍방의 상세한 사항을 실질적으로 변경할 수 있다.
본 발명은 로봇의 동작 교시에 유용하다.
1 로봇 교시시스템
2 로봇 본체
3 제어장치
4 동작프로그램 생성장치 (태블릿 PC)
5 대차
6 작업대
9 기대
10 아랫팔
11 제1엔드 이펙터
12 윗팔
13 제2엔드 이펙터
21~26 제1축~제6축
31 연산부
32 저장부
33 통신 인터페이스
34 입출력 인터페이스
35 서보 제어부
41 CPU
42 터치 스크린 디스플레이
43 통신부
44 스피커
45 저장부
45A OS
45B 동작 프로그램 작성 어플리케이션
B 베이스 좌표계
F1 제1플랜지 좌표계
F2 제2플랜지 좌표계

Claims (13)

  1. 소정 화면에 GUI (graphical user interface)를 표시하여, 사용자 입력을 받는 GUI 제어부, 저장부, 프로그램 생성부를 구비한 프로그램 생성장치를 이용하여, 팔을 갖는 로봇에게 실행시켜야 할 작업의 전체인 전체작업을 상기 로봇에 실행시키는 전체 동작프로그램을 생성하는 방법으로,
    상기 전체작업을 구성하는 복수의 요소작업에 각각 대응하고, 1이상의 변수를 포함하며, 또한 상기 1이상의 변수가 모두 특정됨으로써 각각의 요소작업을 상기 로봇이 실행하는 것이 가능하도록 구성된 복수의 템플릿 요소 동작프로그램이 미리 상기 저장부에 저장되어 있으며,
    상기 GUI를 사용하여 어떤 템플릿 요소 동작프로그램의 상기 1이상의 변수를 모두 특정하기 위한 변수 특정화면을 표시하고, 그 다음, 해당 변수 특정화면을 이용하여 상기 1이상의 변수가 특정된 템플릿 요소 동작프로그램을 커스텀 요소 동작프로그램으로써 상기 저장부에 저장시키는 것을, 상기 저장부에 저장된 복수의 템플릿 요소 동작프로그램에 대해 순차적으로 실행하는 스텝A와,
    상기 프로그램 생성부가 상기 저장부에 저장된 복수의 커스텀 요소 동작프로그램에 기초하여 해당 복수의 커스텀 요소 동작프로그램을 포함하는 상기 전체 동작프로그램을 생성하는 스텝B와를 포함하고,
    상기 복수의 템플릿 요소 동작프로그램이, 적어도, 그 대응하는 요소작업에 필요한 상기 로봇의 운동을 규정하는 1이상의 손끝 위치좌표를 상기 변수로써 포함하고, 또한 상기 1이상의 손끝 위치좌표가 모두 특정됨으로써 상기 로봇의 운동이 특정되도록 구성된 템플릿 요소 동작프로그램을 포함하는 로봇 동작프로그램 생성방법.
  2. 제1항에 있어서,
    상기 복수의 템플릿 요소 동작프로그램이 그 대응하는 요소작업의 내용을 규정하는 1이상의 변수를 포함하고, 또한 상기 1개 이상의 변수가 모두 특정됨으로써 상기 요소작업의 내용이 특정되도록 구성된 템플릿 요소 동작프로그램을 더 포함한 로봇 동작프로그램 생성방법.
  3. 제1항 또는 제2항에 있어서,
    상기 스텝A는 상기 GUI를 이용하여 상기 복수의 템플릿 요소 동작프로그램 의 하나를 선택하는 프로그램 선택화면을 표시하는 스텝을 포함하고, 해당 스텝에서 상기 프로그램 선택화면을 이용하여 선택된 템플릿 요소 동작프로그램이 상기 어떤 템플릿 요소 동작프로그램인 로봇 동작프로그램 생성방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    복수의 로봇에 각각 대응하는 전체작업 및 각각의 전체작업에 대응하는 복수의 템플릿 요소 동작프로그램이, 각각,복수의 로봇과 관련지어 상기 저장부에 저장되어 있으며,
    상기 GUI를 이용하여, 상기 복수 로봇의 1개를 선택하는 로봇 선택화면을 표시하는 스텝을 포함하고, 해당 스텝에서 상기 로봇 선택화면을 이용하여 선택된 로봇에 대해 상기 스텝A와 B를 실행하는 로봇 동작프로그램 생성방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서
    상기 로봇, 상기 전체작업, 및 상기 요소작업의 순으로 상층에서 하층으로 향하도록 계층화되고, 각 층의 구성 요소인 개별 상기 로봇, 개별 상기 전체작업, 및 개별 상기 요소작업에, 각각, 서로에게 식별하기 위한 식별명칭이 부여되고, 또한 상기 복수의 템플릿 요소 동작프로그램이, 최하층을 구성하는 복수의 요소작업에 각각 대응하도록 하여, 상기 복수의 템플릿 요소 동작프로그램이 상기 저장부에 저장되어있는 로봇 동작프로그램 생성방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 로봇이 현재의 손끝 위치좌표를 출력 가능하게 구성되어 있으며,
    상기 스텝A에있어서, 상기 변수로써의 손끝 위치좌표를 특정하는 변수 특정 화면에 상기 손끝 위치좌표의 출력에서 취득한 값을 입력함으로써, 상기 변수로써의 손끝 위치좌표를 특정하는 로봇 동작프로그램 생성방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 로봇이 협조동작을 하는 복수의 팔을 가지고 있고, 상기 전체작업이 상기 복수의 팔에 협조하여 실행시켜야 할 작업의 전체인 전체작업(이하 협조 전체작업이라 한다)이고, 상기 복수의 요소작업이 상기 협조 전체작업을 구성하는 복수의 요소작업(이하 협조 요소작업이라 한다)이고, 상기 템플릿 요소 동작프로그램이 상기 협조 요소작업에 대응하는 템플릿 요소 동작프로그램(이하 템플릿 협조 요소 동작프로그램이라 한다)이고, 상기 커스텀 요소 동작프로그램이 상기 템플릿 협조 요소 동작프로그램에 대응하는 커스텀 요소 동작프로그램(이하 커스텀 협조 요소 동작프로그램이라 한다)이고, 상기 전체 동작프로그램이 상기 커스텀 협조 요소 동작프로그램에 대응하는 전체 동작프로그램(이하 협조 전체 동작프로그램이라 한다)이고, 또한, 상기 복수의 템플릿 협조 요소 동작프로그램이, 적어도, 그 대응하는 협조 요소작업에 필요한 상기 로봇의 복수의 팔 운동을 각각 각 팔마다 규정하는 각 팔의 1이상의 손끝 위치좌표를 상기 변수로써 포함하고, 또한 각 팔의 상기 1이상의 손끝 위치좌표가 모두 특정됨으로써 상기 로봇의 복수의 팔 운동이 특정되도록 구성된 템플릿 협조 요소 동작프로그램을 포함하는 로봇의 동작프로그램 생성방법.
  8. 제7항에 있어서,
    상기 복수의 팔을 가진 로봇의 각 팔마다 각 팔의 단독동작에 대응하는 상기 전체 동작프로그램을 생성하는 스텝을 더 포함하고, 상기 복수의 팔의 협조 동작에 대응하는 협조 전체 동작프로그램과 상기 복수의 팔 각각의 단독동작에 대응하는 각 상기 전체 동작프로그램이 소정의 액션을 트리거로 전환하도록 구성되어 있는 로봇 동작 프로그램 생성방법
  9. 제7항 또는 제8항에 있어서,
    상기 협조동작이 워크를 회전시키는 또는 병진시키는 동작을 포함하는 로봇 동작 프로그램 생성방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 변수는 상기 로봇의 동작 속도, 이동 방법 및 대기 시간을 포함하는 로봇 동작프로그램 생성방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 프로그램 생성장치가 스마트 폰 또는 태블릿형 컴퓨터인 로봇의 동작프로그램 생성방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 로봇이 제품 조립용 로봇이고, 상기 전체작업이 제품의 조립작업이며, 상기 요소작업이 상기 조립작업의 공정인 로봇 동작프로그램 생성방법.
  13. 소정 화면에 GUI를 표시하여 유저 입력을 받는 GUI 제어부, 저장부, 프로그램 생성부, 커스터마이즈부를 구비하고, 팔을 갖는 로봇에 실행시켜야 할 작업의 전체인 전체작업을 상기 로봇에 실행시키는 전체 동작프로그램을 작성하는 로봇 동작프로그램 생성장치로서,
    상기 전체작업을 구성하는 복수의 요소작업에 각각 대응하여, 1이상의 변수를 포함하고, 또한 상기 1이상의 변수가 모두 특정됨으로써 각각의 요소작업을 상기 로봇이 실행 가능하도록 구성된 복수의 템플릿 요소 동작프로그램이 미리 상기 저장부에 저장되어 있으며,
    상기 커스터마이즈부는 상기 GUI를 사용하여 어떤 템플릿 요소 동작프로그램의 상기 1이상의 변수를 모두 특정하기 위한 변수 특정화면을 표시하고, 그 다음, 유저에 의해 해당 변수 특정화면을 이용하여 상기 1이상의 변수가 특정되면 해당 특정된 템플릿 요소 동작프로그램을 커스텀 요소 동작프로그램으로 상기 저장부에 저장시키는 것을, 상기 저장부에 저장된 복수의 템플릿 요소 동작프로그램에 대해서 순차적으로 실행하도록 구성되어 있으며,
    상기 프로그램 생성부는 상기 저장부에 저장된 복수의 커스텀 요소 동작프로그램을 바탕으로 해당 복수의 커스텀 요소 동작프로그램을 포함하는 상기 전체 동작프로그램을 생성하도록 구성되어 있으며,
    상기 복수의 템플릿 요소 동작프로그램이, 적어도, 그 대응하는 요소작업에 필요한 상기 로봇의 운동을 규정하는 1이상의 손끝 위치좌표를 상기 변수로서 포함하고, 또한 상기 1이상의 손끝 위치좌표가 모두 특정됨으로써 상기 로봇의 운동이 특정되도록 구성된 템플릿 요소 동작프로그램을 포함하는 로봇 동작 프로그램 생성장치.
KR1020177018907A 2014-12-26 2014-12-26 로봇의 동작프로그램 생성방법 및 로봇의 동작프로그램 생성장치 KR102042115B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/006511 WO2016103307A1 (ja) 2014-12-26 2014-12-26 ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置

Publications (2)

Publication Number Publication Date
KR20170102486A true KR20170102486A (ko) 2017-09-11
KR102042115B1 KR102042115B1 (ko) 2019-11-08

Family

ID=56149411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177018907A KR102042115B1 (ko) 2014-12-26 2014-12-26 로봇의 동작프로그램 생성방법 및 로봇의 동작프로그램 생성장치

Country Status (8)

Country Link
US (1) US10635082B2 (ko)
EP (1) EP3239793B1 (ko)
JP (1) JP6343353B2 (ko)
KR (1) KR102042115B1 (ko)
CN (1) CN107111300B (ko)
SG (1) SG11201703891RA (ko)
TW (1) TWI592776B (ko)
WO (1) WO2016103307A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6823390B2 (ja) * 2016-07-04 2021-02-03 川崎重工業株式会社 ワークの反転装置
US10642244B2 (en) 2016-12-19 2020-05-05 Autodesk, Inc. Robotic augmentation of creative tasks
KR102012073B1 (ko) * 2017-02-03 2019-08-19 두산로보틱스 주식회사 스킬 기반 로봇 프로그래밍 장치 및 방법
JP6859757B2 (ja) * 2017-03-03 2021-04-14 オムロン株式会社 制御システム、設定装置、設定方法、および設定プログラム
JP6708581B2 (ja) * 2017-04-07 2020-06-10 ライフロボティクス株式会社 教示装置、表示装置、教示プログラム及び表示プログラム
CN108987318B (zh) * 2017-05-31 2020-10-16 上海微电子装备(集团)股份有限公司 搬运装置及其搬运方法
WO2019064919A1 (ja) * 2017-09-26 2019-04-04 日本電産株式会社 ロボット教示装置
JP7167925B2 (ja) * 2017-09-26 2022-11-09 日本電産株式会社 ロボット教示装置
CN111267086A (zh) * 2018-12-04 2020-06-12 北京猎户星空科技有限公司 一种动作任务的创建与执行方法及装置、设备和存储介质
CN111273572A (zh) * 2018-12-04 2020-06-12 北京猎户星空科技有限公司 一种动作分子模板的创建方法及装置、设备和存储介质
US11358282B2 (en) * 2019-04-08 2022-06-14 Teradyne, Inc. System and method for constraint management of one or more robots
JP7063843B2 (ja) * 2019-04-26 2022-05-09 ファナック株式会社 ロボット教示装置
CN110111077B (zh) * 2019-05-08 2021-08-31 西门子(中国)有限公司 工艺路径的生成方法、定制工艺清单的方法及存储介质
CN110497406B (zh) * 2019-08-14 2021-04-16 北京猎户星空科技有限公司 一种设备分组的方法、装置、设备及介质
JP7456357B2 (ja) * 2020-11-16 2024-03-27 株式会社島津製作所 バイアル供給システム及びガスクロマトグラフィ分析システム
CN115338855A (zh) * 2021-05-14 2022-11-15 台达电子工业股份有限公司 双臂机器人组装系统
CN114613004B (zh) * 2022-02-28 2023-08-01 电子科技大学 一种人体动作的轻量化在线检测方法
CN114833825B (zh) * 2022-04-19 2024-06-14 深圳市大族机器人有限公司 协作机器人控制方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137532A (ja) * 1994-11-04 1996-05-31 Fujitsu Ltd ロボット動作プログラム作成方法およびロボット教示方法
JPH08194518A (ja) * 1995-01-19 1996-07-30 Komatsu Ltd 作業ロボットの教示装置および作業プログラム作成装置
JP2007242054A (ja) 1995-09-19 2007-09-20 Yaskawa Electric Corp ロボット言語処理装置
EP2129498B1 (en) * 2007-03-30 2011-03-23 ABB Technology AB Method and apparatus for programming an industrial robot
JP2014166681A (ja) 2014-05-16 2014-09-11 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03160504A (ja) * 1989-11-20 1991-07-10 Fujitsu Ltd ロボット制御装置
JPH04217009A (ja) 1990-12-18 1992-08-07 Fanuc Ltd 動作プログラムの教示方法
JP3529158B2 (ja) * 1994-05-18 2004-05-24 ファナック株式会社 ロボット動作プログラミング方法及びプログラミング装置
JP3435954B2 (ja) * 1996-01-16 2003-08-11 三菱電機株式会社 プログラム作成装置
JP2000010614A (ja) 1998-06-23 2000-01-14 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース利用ロボット操作方法及びシステム装置並びにそのプログラムを記録した記録媒体
JP2001353678A (ja) * 2000-06-12 2001-12-25 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP2004355195A (ja) 2003-05-28 2004-12-16 Yaskawa Electric Corp ロボット用教示操作装置
SE0402533D0 (sv) * 2004-10-20 2004-10-20 Abb Ab A system and a method for programming an industrial robot
WO2006043873A1 (en) 2004-10-20 2006-04-27 Abb Research Ltd A system and a method for programming an in¬ dustrial robot
US7643907B2 (en) * 2005-02-10 2010-01-05 Abb Research Ltd. Method and apparatus for developing a metadata-infused software program for controlling a robot
EP3045273B1 (en) * 2006-03-03 2018-12-12 Universal Robots A/S Joint for a robot
US7676292B2 (en) 2006-10-20 2010-03-09 Rockwell Automation Technologies, Inc. Patterns employed for module design
DE102006055330A1 (de) * 2006-11-23 2008-05-29 Kraussmaffei Technologies Gmbh Verfahren zur Ablaufprogrammierung eines Spritzgießzyklus einer Spritzgiessmaschine
CN102317042B (zh) 2009-02-11 2015-02-18 Abb研究有限公司 双臂机器人
JP2011115877A (ja) * 2009-12-02 2011-06-16 Canon Inc 双腕ロボット
DE102010012598A1 (de) * 2010-02-26 2011-09-01 Kuka Laboratories Gmbh Prozessmodulbibliothek und Programmierumgebung zur Programmierung eines Manipulatorprozesses
US10475240B2 (en) * 2010-11-19 2019-11-12 Fanuc Robotics America Corporation System, method, and apparatus to display three-dimensional robotic workcell data
US20130096719A1 (en) * 2011-10-13 2013-04-18 The U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration Method for dynamic optimization of a robot control interface
JP5582427B2 (ja) 2012-12-18 2014-09-03 株式会社安川電機 教示データ作成装置、ロボットシステム、及び教示データ作成方法
JP2014128857A (ja) 2012-12-28 2014-07-10 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
JP5862611B2 (ja) * 2013-04-02 2016-02-16 トヨタ自動車株式会社 作業変更装置、作業変更方法、及び作業変更プログラム
CN103522289B (zh) * 2013-09-29 2016-04-20 东莞艾尔发自动化机械有限公司 多轴机械手控制方法及控制装置
US20150328772A1 (en) * 2014-05-14 2015-11-19 Yaskawa America, Inc. Method, apparatus, and medium for programming industrial robot
JP6440385B2 (ja) * 2014-06-10 2018-12-19 キヤノン株式会社 ロボットアーム、表示装置およびロボットシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137532A (ja) * 1994-11-04 1996-05-31 Fujitsu Ltd ロボット動作プログラム作成方法およびロボット教示方法
JPH08194518A (ja) * 1995-01-19 1996-07-30 Komatsu Ltd 作業ロボットの教示装置および作業プログラム作成装置
JP2007242054A (ja) 1995-09-19 2007-09-20 Yaskawa Electric Corp ロボット言語処理装置
EP2129498B1 (en) * 2007-03-30 2011-03-23 ABB Technology AB Method and apparatus for programming an industrial robot
JP2014166681A (ja) 2014-05-16 2014-09-11 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法

Also Published As

Publication number Publication date
EP3239793A1 (en) 2017-11-01
US10635082B2 (en) 2020-04-28
US20170336776A1 (en) 2017-11-23
TWI592776B (zh) 2017-07-21
JP6343353B2 (ja) 2018-06-13
WO2016103307A1 (ja) 2016-06-30
EP3239793A4 (en) 2018-10-03
TW201622917A (zh) 2016-07-01
CN107111300A (zh) 2017-08-29
JPWO2016103307A1 (ja) 2017-07-13
KR102042115B1 (ko) 2019-11-08
EP3239793B1 (en) 2020-11-25
SG11201703891RA (en) 2017-06-29
CN107111300B (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
KR102042115B1 (ko) 로봇의 동작프로그램 생성방법 및 로봇의 동작프로그램 생성장치
JP6810093B2 (ja) ロボットのシミュレーション装置
US10166673B2 (en) Portable apparatus for controlling robot and method thereof
US9984178B2 (en) Robot simulator, robot teaching apparatus and robot teaching method
US20150151431A1 (en) Robot simulator, robot teaching device, and robot teaching method
US20190143524A1 (en) Programming assistance apparatus, robot system, and method for generating program
JP6683671B2 (ja) ジョグ座標系を設定するロボットの制御装置
US20130116828A1 (en) Robot teach device with 3-d display
WO2004085120A1 (ja) ロボットシミュレーション装置、および、シミュレーションプログラム
KR20160002329A (ko) 로봇 시뮬레이터 및 로봇 시뮬레이터의 파일 생성 방법
KR101876845B1 (ko) 로봇 제어 장치
CN109689310A (zh) 对工业机器人编程的方法
Materna et al. Interactive spatial augmented reality in collaborative robot programming: User experience evaluation
JP2019042843A (ja) ロボットシステム及びその運転方法
Abbas et al. Augmented reality based teaching pendant for industrial robot
US20170197308A1 (en) Teaching data generating device and teaching data-generating method for work robot
Andersen et al. Task space HRI for cooperative mobile robots in fit-out operations inside ship superstructures
JP2015174184A (ja) 制御装置
JP2019025620A (ja) ロボットシステム及びその運転方法
WO2022163590A1 (ja) 教示装置
KR102403021B1 (ko) 로봇 교시 장치 및 이를 이용한 로봇 교시 방법
JP2009166172A (ja) ロボットのシミュレーション方法及びロボットのシミュレーション装置
Matour et al. Human Factors and Systems Interaction, Vol. 154, 2024, 208-217 AHFE
San Blas Leal et al. Expand enabling robot grasping using mixed reality
JP2021094621A (ja) ロボットのプログラム作成支援装置

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