KR20190067450A - 로봇의 직접교시 방법 - Google Patents

로봇의 직접교시 방법 Download PDF

Info

Publication number
KR20190067450A
KR20190067450A KR1020170167390A KR20170167390A KR20190067450A KR 20190067450 A KR20190067450 A KR 20190067450A KR 1020170167390 A KR1020170167390 A KR 1020170167390A KR 20170167390 A KR20170167390 A KR 20170167390A KR 20190067450 A KR20190067450 A KR 20190067450A
Authority
KR
South Korea
Prior art keywords
path
robot
icon
point
sub
Prior art date
Application number
KR1020170167390A
Other languages
English (en)
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 KR1020170167390A priority Critical patent/KR20190067450A/ko
Priority to PCT/KR2017/015100 priority patent/WO2019112110A1/ko
Publication of KR20190067450A publication Critical patent/KR20190067450A/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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/026Acoustical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement

Abstract

본 발명은 사용자 입력을 최소화하여 로봇의 이동 경로를 직접교시하는 방법에 관한 것이다. 본 발명의 실시예에 따른 입력된 사용자 명령으로부터 로봇의 이동 경로를 생성하는, 적어도 하나의 프로세서에 의해 수행되는 로봇의 직접교시 방법은, 상기 로봇의 이동 정보를 수집하는 단계; 상기 수집한 이동 정보에 따라 상기 로봇의 현재 위치에서의 정지 시간을 측정하는 단계; 및 상기 측정한 정지 시간이 기준값 이상이면, 상기 로봇의 현재 위치를 상기 로봇의 이동을 제어하기 위한 경로점으로 생성하는 단계를 포함한다.

Description

로봇의 직접교시 방법{DIRECT TEACHING METHOD OF ROBOT}
본 발명은 로봇의 직접교시 방법에 관한 것으로서, 보다 상세하게는 사용자 입력을 최소화하여 로봇의 이동 경로를 직접교시하는 방법에 관한 것이다.
로봇의 이동 경로를 교시하는 방법으로 직접교시(direct teaching)가 있다. 직접교시는 사용자가 물리적으로 힘을 가해 로봇의 관절을 조작함으로써 로봇에게 경로점을 학습시키는 프로그래밍 방법이다. 직접교시는 로봇의 이동 경로를 직관적으로 교시할 수 있다는 장점이 있다.
로봇의 직접교시에는 경로점을 생성하는 프로그램이 탑재된 직접교시 장치가 사용될 수 있다. 사용자가 교시하고자 하는 위치에 로봇이 위치하도록 로봇을 수동 조작한 후 사용자 입력을 인가하면, 직접교시 장치는 사용자 입력에 따라 로봇이 위치한 지점을 경로점으로 생성한다. 사용자가 로봇을 이동시키고 사용자 입력을 인가하는 작업을 반복하면, 직접교시 장치에는 복수의 경로점이 생성되게 된다. 직접교시 장치는 생성된 복수의 경로점을 이용하여 로봇의 이동 경로를 생성할 수 있다.
종래의 직접교시 방법은 사용자 입력으로 로봇에 장착된 버튼을 누르거나, 또는 직접교시 장치에 장착된 버튼을 누르는 방식을 이용하였다. 즉, 종래의 직접교시 방법에서는 사용자가 교시하고자 하는 위치에 로봇을 위치시키고 로봇 또는 직접교시 장치에 장착된 버튼을 누르면, 직접교시 장치에 상기 위치가 경로점으로 생성되었다.
그런데 종래의 직접교시 방법은 사용자 입력을 이용하여 경로점을 생성하기 때문에, 사용자가 로봇에 장착된 버튼을 누르는 힘에 의해 로봇이 움직여서 왜곡된 경로점이 생성될 수 있다. 또한 경로점을 생성하기 위해 사용자 입력이 요구되다 보니, 다수의 경로점을 생성하기 위한 시간이 많이 소요되는 문제점이 있다.
이에, 본 발명에서는 사용자 입력을 최소화하는 로봇의 직접교시 방법을 제공하고자 한다.
한국특허등록 제10-0964961호
본 발명이 해결하고자 하는 과제는, 사용자 입력을 최소화한 로봇의 직접교시 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 세밀한 경로점 생성이 가능한 로봇의 직접교시 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는, 신속한 교시가 가능한 로봇의 직접교시 방법을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른 입력된 사용자 명령으로부터 로봇의 이동 경로를 생성하는, 적어도 하나의 프로세서에 의해 수행되는 로봇의 직접교시 방법은, 상기 로봇의 이동 정보를 수집하는 단계; 상기 수집한 이동 정보에 따라 상기 로봇의 현재 위치에서의 정지 시간을 측정하는 단계; 및 상기 측정한 정지 시간이 기준값 이상이면, 상기 로봇의 현재 위치를 상기 로봇의 이동을 제어하기 위한 경로점으로 생성하는 단계를 포함한다.
또한 상기 로봇의 직접교시 방법은 상기 측정한 정지 시간이 기준값 이상이면, 상기 로봇의 이전 경로점과 상기 로봇의 현재 경로점 사이의 교시된 경로를 따라 복수의 서브 경로점을 생성하는 단계를 더 포함한다.
또한 상기 로봇의 직접교시 방법은 상기 생성된 경로점 및 상기 생성된 복수의 서브 경로점을 조합하여 상기 이동 경로를 생성하는 단계를 더 포함한다.
또한 상기 로봇의 직접교시 방법은 상기 경로점에 대응하는 제1 아이콘을 사용자에게 표시하는 단계; 상기 복수의 서브 경로점에 각각 대응하는 복수의 제2 아이콘을 사용자에게 표시하는 단계; 상기 복수의 서브 경로점을 대표하는 제3 아이콘을 사용자에게 표시하는 단계; 및 상기 제1 아이콘 및 상기 복수의 제2 아이콘이 나열된 순서에 따라 상기 경로점 및 상기 복수의 서브 경로점을 상기 로봇이 경유하여 이동하도록 상기 이동 경로를 생성하는 단계를 더 포함한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예들에 의하면 적어도 다음과 같은 효과가 있다.
본 발명에 따르면 로봇의 경로점은 로봇이 정지한 시간 또는 센싱된 오디오에 따라 생성되므로, 경로점 생성을 위한 사용자 입력이 요구되지 않는다. 따라서 사용자가 로봇에 장착된 버튼을 누르지 않아도 되므로 경로점이 왜곡되어 생성될 우려가 없다.
또한 본 발명에 따르면 로봇이 교시된 경로를 따라 복수의 서브 경로점을 생성하므로, 생성된 복수의 서브 경로점을 이용하여 로봇의 이동 및 작업을 세밀하게 조정하는 것이 가능하다. 또한 복수의 서브 경로점을 생성하기 위해 사용자 입력이 요구되지 않으므로, 사용자 입력에 소요되는 시간만큼 직접교시에 소요되는 전체 시간이 감소하고, 신속한 직접교시가 가능하다.
또한 본 발명에 따르면 경로점 및 복수의 서브 경로점에 대응되는 아이콘을 이용하여 이동 경로를 신속하고 간단하게 생성 및 수정하는 것이 가능하다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 로봇 및 로봇의 이동 경로 생성 프로그램이 탑재된 직접교시 장치를 나타낸다.
도 2는 직접교시 장치의 구성을 나타낸다.
도 3은 이동 경로/작업 생성부의 구성을 나타낸다.
도 4는 이동 경로를 생성하는 방법의 일 실시예를 나타낸다.
도 5는 이동 경로를 생성하는 방법의 다른 실시예를 나타낸다.
도 6은 이동 경로를 생성하는 방법의 또 다른 실시예를 나타낸다.
도 7은 작업을 생성하는 방법의 일 실시예를 나타낸다.
도 8은 유저 인터페이스부에 디스플레이되는 직접교시 GUI를 나타낸다.
도 9는 생성된 경로점 및 복수의 서브 경로점이 표시된 아이콘 표시부를 나타낸다.
도 10은 아이콘에 따라 이동 경로가 수정되는 일 실시예를 나타낸다.
도 11은 아이콘에 따라 이동 경로가 수정되는 다른 실시예를 나타낸다.
도 12는 아이콘에 따라 이동 경로가 수정되는 또 다른 실시예를 나타낸다.
도 13은 아이콘에 따라 이동 경로가 수정되는 또 다른 실시예를 나타낸다.
도 14는 아이콘에 따라 작업이 생성되는 일 실시예를 나타낸다.
도 15는 로봇을 교시하는 방법의 일 실시예를 나타낸 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 로봇(1) 및 로봇의 이동 경로 생성 프로그램이 탑재된 직접교시 장치(100)를 나타낸다.
직접교시의 대상이 되는 로봇(1)은 고정형 로봇 또는 이동형 로봇을 포함한다. 고정형 로봇은 하나의 지점에 고정되도록 장착되어 작업을 수행하는 로봇이고, 이동형 로봇은 여러 지점을 이동하며 작업을 수행하는 로봇이다.
본 발명의 직접교시 장치(100)는 사용자 명령에 따라 로봇(1)의 이동 경로를 생성하고, 나아가 로봇이 이동 경로를 이동하며 수행할 작업을 생성하는 기능을 수행한다. 고정형 로봇의 경우, 로봇의 이동 경로는 로봇의 특정 부분이 움직이는 경로를 의미한다. 예를 들어, 고정형 로봇암의 로봇 핸드를 기준으로 하는 경우, 로봇 핸드가 움직이는 경로가 로봇의 이동 경로가 된다. 사용자 명령은 로봇(1)을 이동시키기 위해 사용자에 의해 로봇(1)에 가해지는 물리적 힘 및 사용자가 직접교시 장치(100)에 탑재된 이동 경로 생성 프로그램을 조작하는 입력을 포함한다.
직접교시 장치(100)는 로봇(1)에 장착되거나 또는 로봇(1)과 분리된 장치로 구성될 수 있다. 이하의 실시예에서는 직접교시 장치(100)가 로봇(1)과 분리된 장치로 구성되는 경우로 가정한다. 이러한 가정은 설명의 편의를 위한 것이며, 본 발명의 범위를 제한하는 것은 아니다.
도 2는 직접교시 장치(100)의 구성을 나타낸다. 직접교시 장치(100)에는 이동경로 생성 프로그램이 탑재되고, 상기 프로그램의 오퍼레이션을 위한 통신부(110), 이동 경로/작업 생성부(120), 3D 모델링부(130), 렌더링부(140), 유저 인터페이스부(150), 데이터 프로세싱부(160), 및 데이터 저장부(170)를 포함한다.
통신부(110)는 로봇과 데이터를 송수신하는 구성 요소이다. 통신부(110)는 로봇으로부터 로봇의 이동 정보, 센싱된 주변 물체에 관한 정보 등을 수신할 수 있다. 로봇의 이동 정보는 사용자 명령에 따라 로봇이 교시된 경로, 로봇의 움직임에 대한 정보를 포함한다. 센싱된 주변 물체에 관한 정보는 주변 물체의 위치 정보를 포함한다.
또한 통신부(110)는 직접교시 장치(100)에서 생성된 이동 경로 및 작업에 따라 로봇이 이동하고 작업을 수행하도록 로봇에 제어 신호를 송신할 수 있다. 통신부(110)는 유선 통신 또는 무선 통신을 이용하여 로봇과 데이터를 주고 받을 수 있다. 통신부(110)는 Wi-Fi, 블루투스, ZigBee, Infrared Data Association(IrDA), 및 Radio-Frequency Identification(RFID) 등 다양한 방식으로 무선 통신을 수행할 수 있다.
이동 경로/작업 생성부(120)는 통신부(110)에서 수신한 로봇의 이동 정보에 따라 로봇의 이동 경로 및 작업을 생성하는 구성 요소이다. 이동 경로/작업 생성부(120)는 로봇의 이동 정보를 토대로 경로점 및 서브 경로점을 생성하고 경로점 및 서브 경로점을 조합하여 이동 경로를 생성한다. 또한 이동 경로/작업 생성부(120)는 생성된 경로점 및 서브 경로점에서 로봇이 수행할 작업을 생성하는 기능을 수행한다.
3D 모델링부(130)는 로봇, 센싱된 주변 물체, 경로점, 및 서브 경로점 등을 3D 모델링화 하는 구성 요소이다. 렌더링부(140)는 3D 모델링부에서 3D 모델링한 결과물을 렌더링하여 유저 인터페이스부(150)에 출력하는 기능을 수행한다.
유저 인터페이스부는(150) 사용자가 직접교시 장치(100)에 탑재된 이동 경로 생성 프로그램의 오퍼레이션을 제어하는 구성 요소이다. 유저 인터페이스부(150)는 디스플레이부 및 입력부로 구성될 수 있다. 디스플레이부는 LCD(liquid crystal display), OLED(organic liquid crystal display), CRT(cathode ray tube), 또는 PDP(plasma display panel)로 구성될 수 있으나 이에 제한되는 것은 아니다. 입력부는 키보드, 마우스, 터치패드, 또는 조이스틱으로 구성될 수 있으나 이에 제한되는 것은 아니다.
유저 인터페이스부(150)의 디스플레이부에는 직접교시 장치(100)에 탑재된 이동 경로 생성 프로그램의 오퍼레이션을 제어하도록 구성된 직접교시 GUI가 디스플레이될 수 있다. 직접교시 GUI를 통해 사용자가 경로점, 서브 경로점, 작업 등을 편집하면, 이동 경로/작업 생성부(120)는 이를 반영하여 이동 경로 및 작업을 생성 및 수정할 수 있다. 직접교시 GUI에 대해서는 이하 도 8을 참조하여 자세히 설명한다.
데이터 프로세싱부(160)는 직접교시 장치(100)의 다른 구성 요소들이 논리 연산을 수행하도록 데이터 프로세싱을 지원하는 구성 요소이다. 데이터 프로세싱부는 CPU(Central Processing Unit), MCU(Micro Controller Unit), 마이크로프로세서, FPGA(Field Programmable Gate Array), ASIC(Application Specific Integrated Circuit) 등 논리 연산이 가능한 반도체 소자를 사용할 수 있으나 이에 제한되는 것은 아니다.
데이터 저장부(170)는 통신부(110)에서 수신한 데이터, 이동 경로/작업 생성부(120)에서 생성된 경로점, 서브 경로점, 이동 경로, 및 3D 모델링부(130)에서 모델링한 결과물 등 직접교시 장치(100)에서 사용되는 데이터를 저장하는 구성 요소이다. 데이터 저장부(170)는 random access memory(RAM), read-only component(ROM), 하드 디스크 드라이브, 광디스크 드라이브, SSD(solid-state memory device), 및 이들의 조합으로 구성될 수 있으나 이에 제한되는 것은 아니다.
도 3은 이동 경로/작업 생성부(120)의 구성을 나타낸다. 이동 경로/작업 생성부(120)는 이동 경로 생성부(121), 작업 생성부(122), 및 제어 신호 출력부(123)를 포함한다.
이동 경로 생성부(121)는 로봇의 이동 정보에 따라 로봇의 이동을 제어하기 위한 경로점 및 서브 경로점을 생성하고, 생성된 경로점 및 서브 경로점을 조합하여 이동 경로를 생성하는 구성 요소이다.
이동 경로 생성부(121)는 사용자 교시에 따라 이동하던 로봇이 기준값 이상의 시간 동안 이동을 정지한 경우, 로봇이 정지한 위치를 경로점으로 생성할 수 있다. 즉, 이동 경로 생성부(121)는 로봇의 이동 정보를 통해 로봇이 현재 위치에서 정지한 시간을 측정하고, 측정한 정지 시간이 기준값 이상인 경우 로봇의 현재 위치를 경로점으로 생성할 수 있다.
사용자 명령에 따라 로봇이 이동하다가 기준값 이상의 시간 동안 정지하면 로봇의 현재 위치가 경로점으로 생성되기 때문에, 경로점 생성을 위해 추가적인 사용자 입력이 요구되지 않는다. 따라서 사용자가 로봇에 장착된 버튼을 누르는 등과 같은 사용자 입력에 의해 경로점이 왜곡되어 생성되는 것을 방지할 수 있다.
이동 경로 생성부(121)는 로봇을 정지시키는 것 외의 다른 사용자 명령에 따라 경로점을 생성할 수 있다. 예를 들면, 로봇(1) 또는 직접교시 장치(100)에 오디오 센서가 장착된 경우, 오디오 센서에서 센싱된 오디오가 기준값을 만족하면, 이동 경로 생성부(121)는 오디오가 센싱된 시점의 로봇의 위치를 경로점으로 생성할 수 있다. 또는 로봇(1) 또는 직접교시 장치(100)에 모션 감지 센서가 장착되어, 센싱된 모션이 기준값을 만족하면, 이동 경로 생성부(121)는 모션이 센싱된 시점의 로봇의 위치를 경로점으로 생성할 수 있다.
또한 이동 경로 생성부(121)는 현재 경로점과 이전 경로점 사이의 교시된 경로를 샘플링하는 기능을 수행한다. 사용자가 로봇의 이동을 정지시키는 명령에 따라 경로점이 생성되면, 현재 경로점과 이전 경로점 사이의 샘플링된 경로를 복수의 서브 경로점으로 생성할 수 있다.
이동 경로 생성부(121)는 교시된 경로를 기준시간 단위로 샘플링하거나 기준거리 단위로 교시 경로를 샘플링할 수 있다. 교시 경로를 샘플링하는 기준시간은 미리 설정된 값이거나 유저 인터페이스부를 통해 사용자로부터 입력된 값일 수 있다. 예를 들어, 기준시간이 1초로 미리 설정된 경우, 이동 경로 생성부(121)는 교시되고 있는 로봇의 경로를 1초마다 샘플링할 수 있다. 또한 교시 경로를 샘플링하는 기준거리는 미리 설정된 값이거나 유저 인터페이스부를 통해 사용자로부터 입력된 값일 수 있다. 예를 들면, 기준거리가 5cm로 설정된 경우, 이동 경로 생성부(121)는 사용자 입력에 따라 로봇이 5cm 이동할 때마다 교시된 경로를 샘플링할 수 있다. 또는 기준거리는 X축, Y축, Z축 중 어느 하나의 축에 대하여 설정될 수 있다. 예를 들어, 기준거리가 X축에 대하여 5cm로 설정된 경우, 이동 경로 생성부(121)는 Y축이나 Z축에 대한 이동거리와 무관하게 로봇이 X축으로 5cm 이동할 때마다 교시된 경로를 샘플링할 수 있다.
이동 경로 생성부(121)는 사용자 명령으로 지정된 위치를 경로점으로 생성하고 나아가 교시된 경로를 샘플링하여 서브 경로점을 생성하기 때문에, 실제 사용자에 의해 교시된 경로를 로봇의 이동 경로로 생성할 수 있는 바탕을 제공한다.
또한 이동 경로 생성부(121)는 생성된 경로점 및 서브 경로점을 조합하여 이동 경로를 생성한다. 경로점 및 서브 경로점은 교시된 경로 순으로 조합될 수 있다. 이동 경로 생성부는 이동 경로가 완만한 변곡점을 갖도록 큐빅 스플라인(cubic spline) 등을 이용하여 경로점 및 서브 경로점을 보간하여 이동 경로를 생성할 수 있다.
또한 이동 경로 생성부(121)는 유저 인터페이스부(150)를 통한 사용자 명령에 따라 이동 경로를 수정하여 생성할 수 있다. 사용자 명령으로 경로점 및 서브 경로점 중 어느 하나를 제외하는 명령이 인가되면, 이동 경로 생성부(121)는 해당 경로점 및 서브 경로점을 제외하고 이동 경로를 수정하여 생성할 수 있다. 또는 사용자 명령으로 추가 경로점을 삽입하는 명령이 인가되면, 이동 경로 생성부(121)는 이동 경로에 추가 경로점이 포함되도록 이동 경로를 수정하여 생성할 수 있다. 또는 사용자 명령으로 경로점 및 서브 경로점을 수정하는 명령이 인가되면, 이동 경로 생성부(121)는 해당 경로점 및 서브 경로점을 수정하여 이동 경로를 생성할 수 있다. 이동 경로 생성부(121)에서 사용자 명령에 따라 이동 경로를 수정하여 생성하는 방법에 관한 실시예는 이하 도 10 내지 도 13을 통해 자세히 살펴본다.
작업 생성부(122)는 이동 경로 생성부(121)에서 생성된 경로점 및 서브 경로점 중 적어도 어느 하나에서 로봇이 작업을 수행하도록, 적어도 어느 하나의 경로점 및 서브 경로점에 작업을 생성하는 구성 요소이다.
작업 생성부(122)는 경로점 및 서브 경로점에 대하여 자동으로 작업을 생성하거나 또는 유저 인터페이스부를 통한 사용자 명령에 따라 작업을 생성할 수 있다. 또한 작업 생성부(122)에서 생성하는 작업의 종류는 자동으로 선정되거나 또는 유저 인터페이스부를 통한 사용자 명령에 따라 선정될 수 있다.
또한 작업 생성부(122)는 이동 경로 생성부(121)에서 생성된 경로점 및 서브 경로점 중 적어도 어느 하나에서 로봇이 대기하도록, 적어도 어느 하나의 경로점 및 서브 경로점에 대기 시간을 생성할 수 있다.
작업 생성부(122)는 경로점이 생성될 때마다 자동으로 해당 경로점에 작업 또는 대기 시간을 생성할 수 있다. 또는 작업 생성부(122)는 유저 인터페이스부를 통해 사용자가 지정한 경로점 또는 서브 경로점에 작업 또는 대기 시간을 생성할 수 있다.
작업 생성부(122)는 경로점 및 서브 경로점에 대하여 자동으로 대기 시간을 생성하거나 또는 유저 인터페이스부(150)를 통한 사용자 명령에 따라 대기 시간을 생성할 수 있다. 또한 작업 생성부(122)에서 생성하는 대기 시간의 길이는 자동으로 선정되거나 또는 유저 인터페이스부(150)를 통한 사용자 명령에 따라 선정될 수 있다. 작업 생성부(122)에서 경로점 및 서브 경로점에 작업 및 대기 시간을 생성하는 방법에 대한 실시예는 도 7 및 도 14를 참조하여 후술한다.
제어 신호 출력부(123)는 이동 경로 생성부(121)에서 생성된 이동 경로를 따라 로봇이 이동하고, 작업 생성부(122)에서 생성된 작업 및 대기 시간에 따라 로봇이 동작하도록 제어 신호를 출력하는 구성 요소이다. 제어 신호 출력부(123)에서 출력한 제어 신호는 통신부를 통해 로봇에 전송될 수 있다.
이하 도 4 내지 도 6을 참조하여 이동 경로 생성부(121)에서 이동 경로를 생성하는 방법에 대해 살펴본다.
도 4는 이동 경로를 생성하는 방법의 일 실시예를 나타낸다. 일 실시예는 로봇이 초기 위치(11)에서 사용자 명령에 따라 현재 위치(12)로 이동하여 정지한 경우, 경로점을 이용하여 이동 경로를 생성하는 방법을 나타낸다.
초기 위치(11)에 있던 로봇에 사용자 명령에 따라 직접교시가 시작되면, 이동 경로 생성부(121)는 초기 위치(11)를 시작점(W11)으로 생성한다(S11).
이동 경로 생성부(121)는 로봇이 이동을 정지하였는지, 로봇이 이동을 정지하였다면 정지시간이 얼마인지를 지속적으로 측정한다.
이동 경로 생성부(121)는 로봇이 현재 위치(12)에서 정지한 시간이 기준값 이상이면, 로봇의 현재 위치(12)를 경로점(W12)으로 생성한다(S12). 반면, 로봇이 현재 위치에서 정지한 시간이 기준값 이상이 아니면, 로봇의 정지 시간을 측정하는 작업을 반복한다.
이동 경로 생성부(121)는 사용자에 의한 직접교시가 종료되면, 직접교시가 종료된 로봇의 위치를 종료점으로 생성한다. 직접교시가 경로점(W12)에서 종료된 경우, 경로점(W12)이 종료점으로 생성된다.
이동 경로 생성부는 생성된 시작점(W11), 경로점(W12), 및 종료점을 조합하여 이동 경로를 생성한다.
도 5는 이동 경로를 생성하는 방법의 다른 실시예를 나타낸다. 다른 실시예는 로봇이 초기 위치(11)에서 사용자 명령에 따라 현재 위치(12)로 이동하여 정지한 경우, 경로점 및 복수의 서브 경로점을 이용하여 이동 경로를 생성하는 방법을 나타낸다.
초기 위치(11)에 있던 로봇에 사용자 명령에 따라 직접교시가 시작되면, 이동 경로 생성부(121)는 초기 위치(11)를 시작점(W11)으로 생성한다(S11).
이동 경로 생성부(121)는 시작점(W11) 생성 후 사용자에 의해 교시되는 로봇의 경로(14)를 샘플링한다(S13). 또한 이동 경로 생성부(121)는 로봇이 이동을 정지하였는지, 로봇이 이동을 정지하였다면 정지시간이 얼마인지를 지속적으로 측정한다.
이동 경로 생성부(121)는 로봇이 현재 위치(12)에서 정지한 시간이 기준값 이상이면, 로봇의 현재 위치(12)를 경로점(W12)으로 생성한다. 또한 이동 경로 생성부(121)는 이전 경로점에 해당하는 시작점(W11)과 현재 경로점(W12) 사이의 샘플링된 경로(13)를 복수의 서브 경로점(W13)으로 생성한다(S14). 반면, 로봇이 현재 위치에서 정지한 시간이 기준값 이상이 아니면, 교시된 경로를 샘플링하고 로봇의 정지 상태를 측정하는 작업을 반복한다.
이동 경로 생성부(121)는 사용자에 의한 직접교시가 종료되면, 직접교시가 종료된 로봇의 위치를 종료점으로 생성한다. 직접교시가 경로점(W12)에서 종료된 경우, 경로점(W12)이 종료점으로 생성된다.
이동 경로 생성부(121)는 생성된 시작점(W11), 경로점(W12), 복수의 서브 경로점(W13), 및 종료점을 조합하여 이동 경로를 생성한다.
도 6은 이동 경로를 생성하는 방법의 또 다른 실시예를 나타낸다. 또 다른 실시예는 로봇이 초기 위치(11)에서 사용자 명령에 따라 제1 위치(12)로 이동하여 정지하고, 다시 제2 위치(15)로 이동하여 정지한 경우, 경로점 및 복수의 서브 경로점을 이용하여 이동 경로를 생성하는 방법을 나타낸다.
이동 경로 생성부(121)는 시작점(W11) 생성하고(S11), 사용자에 의해 교시되는 로봇의 경로(14)를 샘플링한다(S13). 또한 이동 경로 생성부(121)는 로봇이 이동을 정지하였는지, 로봇이 이동을 정지하였다면 정지시간이 얼마인지를 지속적으로 측정한다.
이동 경로 생성부(121)는 로봇이 제1 위치(12)에서 정지한 시간이 기준값 이상이면, 로봇의 제1 위치(12)를 경로점(W12)으로 생성한다. 또한 이동 경로 생성부(121)는 시작점(W11)과 경로점(W12) 사이의 샘플링된 경로(13)를 복수의 서브 경로점(W13)으로 생성한다(S14).
경로점(W12)에서 정지해 있던 로봇이 이동을 시작하면, 교시된 경로(17)를 샘플링하고 로봇의 정지 상태를 측정하는 작업을 반복한다(S16).
이동 경로 생성부(121)는 로봇이 제2 위치(15)에서 정지한 시간이 기준값 이상이면, 로봇의 제2 위치(15)를 경로점(W15)으로 생성한다. 또한 이동 경로 생성부(121)는 이전 경로점(W12)과 현재 경로점(W15) 사이의 샘플링된 경로(16)를 복수의 서브 경로점(W16)으로 생성한다(S16). 반면, 로봇이 제2 위치(15)에서 정지한 시간이 기준값 이상이 아니면, 교시된 경로를 샘플링하고 로봇의 정지 상태를 측정하는 작업을 반복한다.
이동 경로 생성부(121)는 사용자에 의한 직접교시가 종료되면, 직접교시가 종료된 로봇의 위치를 종료점으로 생성한다. 직접교시가 현재 경로점(W15)에서 종료된 경우, 현재 경로점(W15)이 종료점으로 생성된다.
이동 경로 생성부(121)는 생성된 시작점(W11), 경로점(W12, W15), 복수의 서브 경로점(W13, W16), 및 종료점을 조합하여 이동 경로를 생성한다.
도 4 내지 도 6를 참조한 실시예에서 로봇의 경로점은 로봇이 정지한 시간에 따라 생성되므로, 경로점 생성을 위한 사용자 입력이 요구되지 않는다. 따라서 사용자가 로봇에 장착된 버튼을 누르지 않아도 되므로 경로점이 왜곡되어 생성될 우려가 없다.
또한 로봇이 교시된 경로를 따라 복수의 서브 경로점을 생성하므로, 생성된 복수의 서브 경로점을 이용하여 로봇의 이동을 세밀하게 조정하는 것이 가능하다. 또한 복수의 서브 경로점을 생성하기 위해 사용자 입력이 요구되지 않으므로, 사용자 입력에 소요되는 시간만큼 직접교시에 소요되는 전체 시간이 감소하고, 신속한 직접교시가 가능하다.
도 7은 작업을 생성하는 방법의 일 실시예를 나타낸다. 일 실시예는 로봇이 초기 위치(11)에서 사용자 명령에 따라 현재 위치(12)로 이동하여 정지한 경우, 경로점 및 복수의 서브 경로점을 생성하고, 생성된 경로점에 작업 및 대기 시간을 생성하는 방법을 나타낸다.
초기 위치(11)에 있던 로봇에 사용자 명령에 따라 직접교시가 시작되면, 이동 경로 생성부(121)는 초기 위치(11)를 시작점(W11)으로 생성한다(S11).
이동 경로 생성부(121)는 시작점(W11) 생성 후 사용자에 의해 교시되는 로봇의 경로(14)를 샘플링한다(S13). 또한 이동 경로 생성부(121)는 로봇이 이동을 정지하였는지, 로봇이 이동을 정지하였다면 정지시간이 얼마인지를 지속적으로 측정한다.
이동 경로 생성부(121)는 로봇이 현재 위치(12)에서 정지한 시간이 기준값 이상이면, 로봇의 현재 위치(12)를 경로점(W12)으로 생성한다. 또한 이동 경로 생성부(121)는 이전 경로점에 해당하는 시작점(W11)과 현재 경로점(W12) 사이의 샘플링된 경로(13)를 복수의 서브 경로점(W13)으로 생성한다(S14).
작업 생성부(122)는 경로점(W12)이 생성되면, 경로점(W12)에서 로봇이 수행할 작업(21) 및 대기 시간(22)을 생성한다(S21). 작업 생성부(122)에서 생성하는 작업 및 대기 시간은 미리 설정된 값이거나 또는 유저 인터페이스부(150)를 통해 사용자 명령에 따라 설정된 값일 수 있다. 또한 작업 생성부(122)는 경로점(W12)이 생성되면 자동으로 작업(21) 및 대기 시간(22)을 생성하거나, 또는 유저 인터페이스부(150)를 통한 사용자 명령에 따라 작업(21) 및 대기 시간(22)을 생성할 수 있다. 또한 작업 생성부(122)는 작업(21) 및 대기 시간(22) 중 어느 하나만 생성할 수 있다. 또한 작업 생성부(122)는 경로점(W12) 외에도, 복수의 서브 경로점(W13) 중 적어도 어느 하나에 작업(21) 및 대기 시간(22)을 생성할 수 있다.
이하에서는 이동 경로/작업 생성부(120)에서 생성된 이동 경로, 작업, 및 대기 시간을 직접교시 GUI(151)를 이용하여 수정하는 방법을 살펴본다.
도 8은 유저 인터페이스부(150)에 디스플레이되는 직접교시 GUI(151)를 나타낸다. 직접교시 GUI(151)는 직접교시 장치(100)에 탑재된 이동 경로 생성 프로그램의 오퍼레이션을 사용자가 조작하기 위한 인터페이스로, 3D 표시부(152), 조작부(153), 및 아이콘 표시부(158)로 구성된다.
3D 표시부(152)에는 3D 모델링부(130)에서 3D 모델링되고, 렌더링부(140)에서 렌더링 된 로봇, 주위 물체, 및 이동 경로가 3D로 표시된다. 또한 3D 표시부(152)에는 생성된 이동 경로로 로봇이 이동하는 3D 시뮬레이션이 표시될 수 있다.
조작부(153)는 사용자가 직접교시 장치(100)에 탑재된 프로그램의 오퍼레이션을 조작하는 수단이 되는 구성 요소이다. 사용자가 조작부(153)의 직접교시 버튼(154)을 누르면 직접교시 장치(100)의 이동 경로 생성을 위한 오퍼레이션이 시작될 수 있다. 이동 경로 생성을 위한 오퍼레이션으로, 통신부(110)는 로봇의 이동 정보를 수신하고, 이동 경로 생성부(121)는 로봇의 초기 위치를 시작점으로 생성하고, 로봇이 교시된 경로를 샘플링하고, 사용자 명령에 따라 경로점 및 복수의 서브 경로점을 생성하고, 작업 생성부(122)는 경로점 및 복수의 서브 경로점에서 로봇이 수행할 작업 및 로봇이 대기할 대기 시간을 생성한다.
사용자가 조작부(153)의 이동 경로 생성 버튼(155)을 누르면 이동 경로 생성부(121)는 생성된 경로점 및 복수의 서브 경로점을 조합하여 이동 경로를 생성한다. 생성된 경로점, 복수의 서브 경로점, 및 이동 경로는 3D 표시부(152)에 표시될 수 있다.
사용자가 조작부(153)의 이동 경로 재생 버튼(156)을 누르면 3D 표시부(152)에는 생성된 이동 경로로 로봇이 이동하는 3D 시뮬레이션이 실행될 수 있다. 또한 생성된 이동 경로로 이동하며 로봇이 생성된 작업 및 대기 시간에 따라 동작하는 3D 시뮬레이션이 실행될 수 있다.
이동 경로 수동 편집부(157)는 사용자가 생성된 이동 경로를 수정할 수 있도록 사용자 명령을 입력 받는 구성 요소이다. 사용자 이동 경로 수동 편집부(157)를 통해 생성된 경로점 및 복수의 서브 경로점의 좌표를 수정하거나, 새로운 경로점의 좌표를 설정 및 수정할 수 있다. 이동 경로 생성부(121)는 사용자가 이동 경로 수동 편집부(158)에서 경로점 및 복수의 서브 경로점 등의 좌표를 편집한 경우, 편집된 내역에 따라 이동 경로를 수정하여 생성한다.
아이콘 표시부(158)는 경로점 및 복수의 서브 경로점을 아이콘으로 표시하는 구성 요소이다. 아이콘 표시부(158)는 이동 경로 생성부(121)에서 생성된 경로점 및 복수의 서브 경로점을 아이콘으로 표시할 수 있다.
사용자는 아이콘 표시부(158)의 아이콘을 수정하여 이동 경로를 수정할 수 있다. 사용자가 아이콘 표시부(158)의 아이콘을 수정하면, 이동 경로 생성부(121)는 수정된 내역에 따라 이동 경로를 수정하여 생성한다.
도 9는 생성된 경로점 및 복수의 서브 경로점이 표시된 아이콘 표시부(158)를 나타낸다. 도 9는 앞서 도 7을 참조한 설명에서 살펴보았던 다른 실시예에 따라 생성된 이동 경로를 아이콘 표시부(158)에서 아이콘으로 표현한 것을 나타낸다. 도 7을 참조한 다른 실시예에서는 이동 경로 생성부(121) 및 작업 생성부(122)에 의해 시작점(W11), 복수의 서브 경로점(W13), 경로점(W12), 작업(21), 및 대기 시간(22)이 생성되었다.
도 7 및 도 9를 참조하면, 시작점 아이콘(I1)은 이동 경로 생성부(121)에서 생성된 시작점(W11)을 나타낸다. 제1 아이콘(I2)은 이동 경로 생성부(121)에서 생성된 경로점(W12)을 나타낸다. 복수의 제2 아이콘(I3, I4, I5)은 이동 경로 생성부(121)에서 생성된 복수의 서브 경로점(W13)을 각각 나타낸다. 제3 아이콘(I6)은 복수의 서브 경로점(W13)을 대표하는 아이콘이다.
제1 아이콘(I2) 및 복수의 제2 아이콘(I3, I4, I5)은 경로점(W12) 및 복수의 서브 경로점(W13)이 생성된 순서에 따라 나열될 수 있다. 제1 아이콘(I2)과 복수의 제2 아이콘(I3, I4, I5)은 구별되기 위해 서로 다른 모양의 아이콘으로 구성되거나 또는 복수의 제2 아이콘(I3, I4, I5)은 제1 아이콘(I2)과 다른 열에 위치하도록 표시될 수 있다.
제3 아이콘(I6)은 복수의 제2 아이콘(I3, I4, I5)의 일측에 위치하도록 표시될 수 있다. 도 9에는 제3 아이콘(I6)이 복수의 제2 아이콘(I3, I4, I5)의 위쪽에 위치하도록 표시되어 있다.
작업 아이콘(I7)은 작업 생성부(123)에서 생성한 경로점(W12)에서 로봇이 수행할 작업을 나타낸다. 대기 시간 아이콘(I8)은 작업 생성부(123)에서 생성한 경로점(W12)에서 로봇이 대기할 대기 시간을 나타낸다. 작업 아이콘(I7) 및 대기 시간 아이콘(I8)은, 경로점(W12)에 대응되는 제1 아이콘(I2)의 일측에 표시될 수 있다. 본 발명의 실시예에서는 로봇이 작업을 수행할 경로점에 대응되는 아이콘의 우측에 작업 아이콘 및 대기 시간 아이콘이 표시하였으나, 상측에 표시하는 등 이와 달리 표시할 수 있다.
생성된 이동 경로, 작업, 및 대기 시간이 아이콘 표시부(158)에 표시되면, 아이콘 표시부(158)에 아이콘들이 나열된 순서대로 로봇이 동작하게 된다. 즉, 시작점 아이콘(I1)에 대응되는 시작점(W11)을 기점으로, 복수의 제2 아이콘(I3, I4, I5)에 대응되는 복수의 서브 경로점(W13)을 경유하여, 제1 아이콘(I2)에 대응되는 경로점(W12)으로 로봇이 이동한다. 제1 아이콘(I2)에 수반하는 작업 아이콘(I7) 및 대기 시간 아이콘(I8)에 따라 로봇은 작업을 수행하고 대기하게 된다.
따라서 사용자는 아이콘 표시부(158)에 표시된 아이콘을 수정하여 이동 경로, 작업, 및 대기 시간을 수정할 수 있다. 아이콘 표시부(158)를 이용한 이동 경로, 작업, 및 대기 시간의 수정 방법을 이하 도 10 내지 도 14를 참조하여 설명한다.
도 10은 아이콘에 따라 이동 경로가 수정되는 일 실시예를 나타낸다. 일 실시예에서는 경로점(W12)에 대응되는 제1 아이콘(I2)이 사용자 명령에 따라 삭제되었다.
제1 아이콘(I2)이 삭제됨에 따라, 삭제된 제1 아이콘(I2)에 대응되는 경로점(W12)은 이동 경로에서 제외된다. 또한 제1 아이콘(I2)에 수반하는 작업 아이콘(I7) 및 대기 시간 아이콘(I8)도 자동으로 삭제되어, 각각에 대응하는 작업 및 대기 시간도 삭제될 수 있다. 즉, 제1 아이콘(I2)이 삭제되면 이동 경로 생성부(121)는 제1 아이콘(I2)에 대응하는 경로점을 제외하고 이동 경로를 수정하여 생성하고, 작업 생성부(122)는 경로점에 대한 작업 및 대기 시간을 삭제한다.
도 11은 아이콘에 따라 이동 경로가 수정되는 다른 실시예를 나타낸다. 다른 실시예에서는 서브 경로점에 대응되는 제2 아이콘(I5)이 사용자 명령에 따라 삭제되었다.
제2 아이콘(I5)이 삭제됨에 따라, 삭제된 제2 아이콘(I5)에 대응되는 서브 경로점은 이동 경로에서 제외된다. 즉, 제2 아이콘(I5)이 삭제되면 이동 경로 생성부는 제2 아이콘(I5)에 대응되는 서브 경로점을 제외하고 이동 경로를 수정하여 생성한다.
도 12는 아이콘에 따라 이동 경로가 수정되는 또 다른 실시예를 나타낸다. 또 다른 실시예에는 복수의 서브 경로점을 대표하는 제3 아이콘(I6)이 사용자 명령에 따라 삭제되었다.
제3 아이콘(I6)이 삭제됨에 따라, 복수의 제2 아이콘(I5)도 수반되어 삭제되며, 삭제된 제3 아이콘(I6)이 대표하는 복수의 서브 경로점(W13)은 모두 이동 경로에서 제외된다. 즉, 제3 아이콘(I6)이 삭제되면 이동 경로 생성부는 제3 아이콘(I6)이 대표하는 복수의 서브 경로점(W13)을 제외하고 이동 경로를 수정하여 생성한다.
도 13은 아이콘에 따라 이동 경로가 수정되는 또 다른 실시예를 나타낸다. 또 다른 실시예에는 추가 경로점에 대응하는 제4 아이콘(I9)이 사용자 명령에 따라 삽입되었다. 추가 경로점은 임의의 좌표를 갖는 경로점으로, 임의의 좌표는 사용자에 의해 설정될 수 있다.
제4 아이콘(I9)이 삽입됨에 따라, 이동 경로에는 제4 아이콘(I9)에 대응되는 추가 경로점이 포함된다. 즉, 제4 아이콘(I9)이 삽입되면 이동 경로 생성부는 제4 아이콘(I9)에 대응하는 추가 경로점이 포함되도록 이동 경로를 수정하여 생성한다. 제4 아이콘(I9)은 제1 아이콘(I2)의 우측에 위치하므로, 로봇은 제1 아이콘에 대응하는 경로점을 지난 후 추가 경로점을 지나도록 이동하게 된다.
도 14는 아이콘에 따라 작업이 생성되는 일 실시예를 나타낸다. 일 실시예에서는 제2 아이콘(I4)의 우측에 작업 아이콘(I10)이 사용자 명령에 따라 삽입되었다.
작업 아이콘(I10)이 삽입됨에 따라, 제2 아이콘(I4)에 대응하는 서브 경로점에서 로봇이 작업을 수행하도록, 작업 생성부(122)는 작업을 생성한다. 이때 생성되는 작업은 작업 아이콘(I10)에 포함된 내용에 따라 생성된다. 작업 아이콘(I10)에 포함된 작업 내용은 사용자에 의해 설정되거나 또는 미리 설정될 수 있다.
도 14에는 제2 아이콘(I5)의 우측에 대기 시간 아이콘이 삽입되어 있으며, 그에 따라 작업 생성부(122)는 제2 아이콘(I5)에 대응하는 서브 경로점에서 로봇이 대기하도록 대기 시간을 생성한다. 이때 생성되는 대기 시간은 대기 시간 아이콘에 포함된 내용에 따라 생성된다. 대기 시간 아이콘에 포함된 대기 시간은 사용자에 의해 설정된 값이거나 또는 미리 설정된 값일 수 있다.
도 10 내지 도 14에 도시된 실시예와 같이, 사용자는 아이콘 표시부(158)에 표시된 아이콘들을 편집하여 이동 경로, 작업, 및 대기 시간을 편집할 수 있다. 따라서 사용자는 아이콘 조작을 통해 이동 경로, 작업, 및 대기 시간을 신속하고 간단하게 수정할 수 있다.
또한 사용자는 로봇의 주변 물체의 위치에 따라 이동 경로를 수정할 수 있다. 이동 경로 재생 버튼(156)을 누르면 3D 표시부(152)에는 생성된 이동 경로로 로봇이 이동하는 3D 시뮬레이션이 실행되기 때문에, 사용자는 주변 물체가 생성된 이동 경로 상에 위치하는지를 3D 표시부(152)를 통해 확인할 수 있다. 주변 물체가 생성된 이동 경로에 위치하는 경우, 사용자는 제1 아이콘 및 복수의 제2 아이콘을 삭제하여 이동 경로를 수정할 수 있다. 또는 사용자는 주변 물체를 회피할 수 있는 추가 경로점을 지정하기 위해 제4 아이콘을 삽입할 수 있다. 이와 달리, 추가 경로점은 로봇이 주변 물체를 회피할 수 있도록 자동으로 설정될 수 있으며, 그에 따라 제4 아이콘이 자동으로 삽입될 수 있다.
도 15는 로봇을 교시하는 방법의 일 실시예를 나타낸 순서도이다.
먼저 사용자 명령에 따라 직접교시를 시작한다(S21, S21). 사용자는 직접교시 GUI(151)의 직접교시 버튼(154)을 눌러 직접교시 장치(100)에 탑재된 이동 경로 생성 프로그램을 시작할 수 있다.
직접교시가 시작되면, 이동 경로 생성부(121)는 로봇의 초기 위치를 시작점으로 생성한다(S23). 또한 이동 경로 생성부(121)는 로봇이 현재 위치에 정지한 시간이 기준값(a) 이상인지를 지속적으로 확인하며(S24), 교시 경로를 샘플링한다(S25).
로봇이 현재 위치에 정지한 시간이 기준값(a) 이상이면, 이동 경로 생성부(121)는 현재 위치를 경로점으로 생성하고, 샘플링된 교시 경로를 서브 경로점으로 생성한다(S26).
사용자 명령에 따라 직접교시가 종료될 때까지 이동 경로 생성부(121)경로점과 서브 경로점을 생성하기 위한 단계(S24, S25, S26)를 반복하여 수행한다. 사용자는 직접교시 버튼(154)을 다시 눌러 직접교시를 종료할 수 있다.
직접 교시가 종료되면(S27), 이동 경로 생성부(121)는 경로점 및 서브 경로점을 이용하여 이동 경로를 생성한다. 또한 이동 경로 생성부(121)는 사용자 명령에 따라 이동 경로를 수정하여 생성한다(S28). 이때, 사용자 명령은 사용자가 이동 경로 수동 편집부(157)에 인가하는 입력으로, 생성된 경로점 및 서브 경로점의 좌표를 수정하는 입력일 수 있다. 또는 사용자 명령은 사용자가 아이콘 표시부(158)에 표시된 아이콘을 편집하는 입력일 수 있다.
작업 생성부(122)는 생성된 이동 경로에서 로봇이 수행할 작업 및 대기 시간을 생성한다(S29). 작업 및 대기 시간은 사용자 명령에 의해 설정된 값이거나 또는 미리 설정된 값일 수 있다. 이때, 사용자 명령은 아이콘 표시부(158)에 표시된 아이콘을 편집하는 입력일 수 있다.
이상의 과정을 거쳐 이동 경로, 작업, 및 대기 시간 생성이 모두 완료되면 프로그램을 종료한다(S30).
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 로봇 11, 12: 로봇의 위치
13, 16: 샘플링된 경로 14, 17: 교시된 경로
21: 작업 22: 대기 시간
100: 직접교시 장치 110: 통신부
120: 이동 경로/작업 생성부 121: 이동 경로 생성부
122: 작업 생성부 123: 제어 신호 출력부
130: 3D 모델링부 140: 렌더링부
150: 유저 인터페이스부 151: 직접교시 GUI
152: 3D 표시부 153: 조작부
154: 직접교시 버튼 155: 이동 경로 생성 버튼
156: 이동 경로 재생 버튼 157: 이동 경로 수동 편집부
158: 아이콘 표시부 160: 데이터 프로세싱부
170: 데이터 저장부 I1: 시작점 아이콘
I2: 제1 아이콘 I3, I4, I5: 제2 아이콘
I6: 제3 아이콘 I7: 작업 아이콘
I8: 제4 아이콘 I8: 대기 시간 아이콘
W11: 시작점 W12, W15: 경로점
W13, W16: 서브 경로점

Claims (20)

  1. 입력된 사용자 명령으로부터 로봇의 이동 경로를 생성하는, 적어도 하나의 프로세서에 의해 수행되는 로봇의 직접 교시 방법에 있어서,
    상기 로봇의 이동 정보를 수집하는 단계;
    상기 수집한 이동 정보에 따라 상기 로봇의 현재 위치에서의 정지 시간을 측정하는 단계; 및
    상기 측정한 정지 시간이 기준값 이상이면, 상기 로봇의 현재 위치를 상기 로봇의 이동을 제어하기 위한 경로점으로 생성하는 단계를 포함하는, 로봇의 직접 교시 방법.
  2. 제1항에 있어서,
    상기 측정한 정지 시간이 기준값 이상이면, 상기 로봇의 이전 경로점과 상기 로봇의 현재 경로점 사이의 교시된 경로를 따라 복수의 서브 경로점을 생성하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
  3. 제2항에 있어서,
    상기 복수의 서브 경로점은 상기 로봇의 이전 경로점과 상기 로봇의 현재 경로점 사이의 교시된 경로를 기준시간 단위로 샘플링하여 생성되는, 로봇의 직접 교시 방법.
  4. 제2항에 있어서,
    상기 복수의 서브 경로점은 상기 로봇의 이전 경로점과 상기 로봇의 현재 경로점 사이의 교시된 경로를 기준거리 단위로 샘플링하여 생성되는, 로봇의 직접 교시 방법.
  5. 제2항에 있어서,
    상기 생성된 경로점 및 상기 생성된 복수의 서브 경로점을 조합하여 상기 이동 경로를 생성하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
  6. 제5항에 있어서,
    상기 이동 경로를 생성하는 단계는 상기 경로점 및 상기 복수의 서브 경로점 중 적어도 어느 하나를 제외하고 상기 이동 경로를 생성하는 단계를 포함하는, 로봇의 직접 교시 방법.
  7. 제5항에 있어서,
    상기 이동 경로를 생성하는 단계는 상기 경로점 및 상기 복수의 서브 경로점 중 적어도 어느 하나를 변경하여 상기 이동 경로를 생성하는 단계를 포함하는, 로봇의 직접 교시 방법.
  8. 제5항에 있어서,
    상기 로봇의 주변 물체의 위치를 획득하는 단계를 더 포함하고,
    상기 이동 경로를 생성하는 단계는 상기 주변 물체의 위치에 대응되는 상기 경로점 및 상기 복수의 서브 경로점을 제외하고 상기 이동 경로를 생성하는 단계를 포함하는, 로봇의 직접 교시 방법.
  9. 제2항에 있어서,
    상기 경로점 및 상기 복수의 서브 경로점 중 적어도 어느 하나에서 상기 로봇이 작업을 수행하도록 상기 작업을 할당하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
  10. 제2항에 있어서,
    상기 경로점 및 상기 복수의 서브 경로점 중 적어도 어느 하나에서 상기 로봇이 대기하도록 대기 시간을 할당하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
  11. 제1항에 있어서,
    오디오를 센싱하는 단계; 및
    상기 센싱한 오디오가 기준값과 일치하면, 상기 오디오가 센싱된 시점의 로봇의 위치를 상기 로봇의 이동을 제어하기 위한 경로점으로 생성하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
  12. 제2항에 있어서,
    상기 경로점에 대응하는 제1 아이콘을 사용자에게 표시하는 단계;
    상기 복수의 서브 경로점에 각각 대응하는 복수의 제2 아이콘을 사용자에게 표시하는 단계;
    상기 복수의 서브 경로점을 대표하는 제3 아이콘을 사용자에게 표시하는 단계; 및
    상기 제1 아이콘 및 상기 복수의 제2 아이콘이 나열된 순서에 따라 상기 경로점 및 상기 복수의 서브 경로점을 상기 로봇이 경유하여 이동하도록 상기 이동 경로를 생성하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
  13. 제12항에 있어서,
    상기 표시된 제1 아이콘을 삭제하는 단계를 더 포함하고,
    상기 이동 경로를 생성하는 단계는 상기 삭제된 제1 아이콘에 대응하는 경로점을 제외하고 상기 이동 경로를 생성하는 단계를 포함하는, 로봇의 직접 교시 방법.
  14. 제12항에 있어서,
    상기 표시된 복수의 제2 아이콘 중 적어도 어느 하나를 삭제하는 단계를 더 포함하고,
    상기 이동 경로를 생성하는 단계는 상기 삭제된 적어도 어느 하나의 제2 아이콘에 대응하는 상기 복수의 서브 경로점을 제외하고 상기 이동 경로를 생성하는 단계를 포함하는, 로봇의 직접 교시 방법.
  15. 제12항에 있어서,
    상기 표시된 제3 아이콘을 삭제하는 단계를 더 포함하고,
    상기 이동 경로를 생성하는 단계는 상기 삭제된 제3 아이콘이 대표하는 상기 복수의 서브 경로점을 제외하고 상기 이동 경로를 생성하는 단계를 포함하는, 로봇의 직접 교시 방법.
  16. 제12항에 있어서,
    상기 제1 아이콘 및 상기 복수의 제2 아이콘의 나열 순서를 수정하는 단계를 더 포함하고,
    상기 이동 경로를 생성하는 단계는 상기 수정된 나열 순서에 따라 상기 경로점 및 상기 복수의 서브 경로점을 상기 로봇이 경유하여 이동하도록 상기 이동 경로를 생성하는 단계를 포함하는, 로봇의 직접 교시 방법.
  17. 제12항에 있어서,
    추가 경로점에 대응하는 제4 아이콘을 사용자에게 표시하는 단계를 더 포함하고,
    상기 이동 경로를 생성하는 단계는 상기 제4 아이콘이 표시되면, 상기 제1 아이콘, 상기 복수의 제2 아이콘, 및 상기 제4 아이콘이 나열된 순서에 따라 상기 경로점, 상기 복수의 서브 경로점, 및 상기 추가 경로점을 상기 로봇이 경유하여 이동하도록 상기 이동 경로를 생성하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
  18. 제17항에 있어서,
    상기 추가 경로점은 상기 로봇의 주변 물체가 상기 생성되는 이동 경로 상에 위치하지 않도록 설정되는, 로봇의 직접 교시 방법.
  19. 제12항에 있어서,
    상기 제1 아이콘 및 상기 복수의 제2 아이콘 중 적어도 어느 하나에 대한 작업 아이콘을 표시하는 단계; 및
    상기 작업 아이콘이 표시된 상기 제1 아이콘 또는 상기 복수의 제2 아이콘에 대응되는 상기 경로점 또는 상기 복수의 서브 경로점에서, 상기 로봇이 상기 작업 아이콘에 포함된 작업 내용을 수행하도록 작업 신호를 생성하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
  20. 제12항에 있어서,
    상기 제1 아이콘 또는 상기 복수의 제2 아이콘 중 적어도 어느 하나에 대한 대기 아이콘을 표시하는 단계; 및
    상기 대기 아이콘이 표시된 상기 제1 아이콘 또는 상기 복수의 제2 아이콘에 대응되는 상기 경로점 또는 상기 복수의 서브 경로점에서, 상기 로봇이 상기 대기 아이콘에 포함된 시간에 따라 대기하도록 대기 신호를 생성하는 단계를 더 포함하는, 로봇의 직접 교시 방법.
KR1020170167390A 2017-12-07 2017-12-07 로봇의 직접교시 방법 KR20190067450A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170167390A KR20190067450A (ko) 2017-12-07 2017-12-07 로봇의 직접교시 방법
PCT/KR2017/015100 WO2019112110A1 (ko) 2017-12-07 2017-12-20 로봇의 직접교시 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170167390A KR20190067450A (ko) 2017-12-07 2017-12-07 로봇의 직접교시 방법

Publications (1)

Publication Number Publication Date
KR20190067450A true KR20190067450A (ko) 2019-06-17

Family

ID=66750944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170167390A KR20190067450A (ko) 2017-12-07 2017-12-07 로봇의 직접교시 방법

Country Status (2)

Country Link
KR (1) KR20190067450A (ko)
WO (1) WO2019112110A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102387294B1 (ko) * 2021-03-17 2022-04-15 주식회사 나우로보틱스 컨트롤러 및 ui부를 탑재한 사출 성형기용 다관절 로봇

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100964961B1 (ko) 2009-02-25 2010-06-21 한국기계연구원 로봇의 직접교시 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100219841B1 (ko) * 1997-05-30 1999-09-01 박호군 가공용 로봇 경로 자동 생성 방법 및 그 장치
KR100507118B1 (ko) * 2002-12-17 2005-08-09 현대자동차주식회사 직접 교시장치 및 그 방법
KR101737904B1 (ko) * 2010-10-14 2017-05-22 대우조선해양 주식회사 착탈식 교시 핸들 및 공구 좌표계 변환을 이용한 로봇 직접교시 장치 및 방법
KR101307782B1 (ko) * 2011-08-17 2013-09-26 한국과학기술연구원 로봇의 직접 교시 및 재생 방법 및 이를 구현하는 로봇 제어 장치
JP2015066668A (ja) * 2013-10-01 2015-04-13 キヤノン株式会社 ロボットの教示点調整方法、ロボットの設置位置算出方法、ロボットシステム、プログラム及び記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100964961B1 (ko) 2009-02-25 2010-06-21 한국기계연구원 로봇의 직접교시 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102387294B1 (ko) * 2021-03-17 2022-04-15 주식회사 나우로보틱스 컨트롤러 및 ui부를 탑재한 사출 성형기용 다관절 로봇

Also Published As

Publication number Publication date
WO2019112110A1 (ko) 2019-06-13

Similar Documents

Publication Publication Date Title
JP3841439B2 (ja) ロボットのジョグ送り方法
WO2016103307A1 (ja) ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置
JP5702811B2 (ja) 動作プログラム作成装置
US20190202058A1 (en) Method of programming an industrial robot
JP2019084664A (ja) プログラミング支援装置、ロボットシステム及びプログラム生成方法
US20140286565A1 (en) Robot system and image processing method
WO2018054303A1 (zh) 一种控制机器人的方法及装置
CN111673732B (zh) 控制装置以及机器人系统
US11009852B2 (en) Numerical controller and data editing method
JP2014233814A (ja) ロボット教示補助装置、ロボットシステムおよびロボット教示方法
US20210170586A1 (en) Robot teaching device including icon programming function
US20160364367A1 (en) Information processing device for editing electronic data by touch operations
US10471592B2 (en) Programming method of a robot arm
KR20190067450A (ko) 로봇의 직접교시 방법
JP2013161376A (ja) プログラマブル表示器、そのプログラム、表示/制御システム
JP4859601B2 (ja) プログラマブル表示器および作画装置
JP2016059989A (ja) ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
US10705489B2 (en) Controller
JP2009070181A (ja) 動作プログラム作成支援システム
CN108369413A (zh) 工业机器人和用于控制机器人自动选择接下来要执行的程序代码的方法
KR102403021B1 (ko) 로봇 교시 장치 및 이를 이용한 로봇 교시 방법
US20210302940A1 (en) Work resume system, manufacturing method, and program
JP2006244106A (ja) 情報処理装置及びその処理方法
JP2022021461A (ja) ロボットの教示制御方法、ロボットシステム、及び、コンピュータープログラム
JP2003039357A (ja) ロボットの教示装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant