[go: up one dir, main page]

KR102832937B1 - 로봇의 교시 장치 및 로봇의 교시 프로그램 - Google Patents

로봇의 교시 장치 및 로봇의 교시 프로그램 Download PDF

Info

Publication number
KR102832937B1
KR102832937B1 KR1020237002114A KR20237002114A KR102832937B1 KR 102832937 B1 KR102832937 B1 KR 102832937B1 KR 1020237002114 A KR1020237002114 A KR 1020237002114A KR 20237002114 A KR20237002114 A KR 20237002114A KR 102832937 B1 KR102832937 B1 KR 102832937B1
Authority
KR
South Korea
Prior art keywords
motion trajectory
robot
arm
end effector
hand
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020237002114A
Other languages
English (en)
Other versions
KR20230028423A (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 KR20230028423A publication Critical patent/KR20230028423A/ko
Application granted granted Critical
Publication of KR102832937B1 publication Critical patent/KR102832937B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with leader teach-in means
    • 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/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/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/677Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for conveying, e.g. between different workstations
    • H10P72/30
    • 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/40519Motion, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)

Abstract

교시 장치(30)는, 베이스(11)와, 서로 연결된 복수의 링크(12a, 12b)를 가지며 베이스(11)에 연결되는 암(12)과, 암(12)에 연결되는 핸드(13)를 포함하는 로봇(10)의 교시 장치이다. 교시 장치(30)는, 암(12)의 소정 동작에서의 핸드(13)의 시작점 및 끝점을 포함하는 소정의 조건을 설정하는 설정부(351)와, 소정의 조건에 기초하여, 베이스(11)의 위치를 변경시켜가며, 시작점부터 끝점까지의 핸드(13)의 동작 궤적 및 핸드(13) 동작 궤적에 따른 암(12)의 동작 궤적을 도출하는 도출부(352)를 구비한다.

Description

로봇의 교시 장치 및 로봇의 교시 프로그램
본원은, 로봇의 교시 장치 및 로봇의 교시 프로그램에 관한 것이다.
종래, 로봇에 소정 동작의 교시(teaching)를 실행하기 위한 교시 장치가 알려져 있다. 예를 들어, 특허문헌 1에 개시된 교시 장치(조작 장치)는, 설정된 시작점 및 끝점으로부터 구해지는 동작 궤적에 기초하여, 로봇 모델의 동작을 터치 스크린 상에서 재생함으로써, 로봇 모델의 동작을 확인한다.
특허문헌 1 : 일본 특허 제6526098호 공보
그런데, 전술한 교시 장치에 있어서, 로봇의 동작 궤적은, 로봇의 위치가 사용자 등에 의해 미리 정해진 위치로 생성되어 있어, 최적성의 관점에서는 충분하다고 할 수 없다.
본원에 개시된 기술은, 이러한 사정을 감안하여 이루어진 것이며, 그 목적은, 보다 최적의 로봇의 동작 궤적을 도출할 수 있는 교시 장치를 제공하는 것에 있다.
본 출원에 개시된 기술은, 베이스(基台)와, 서로 연결된 복수의 링크를 가지며 상기 베이스에 연결되는 암(arm)과, 상기 암에 연결되는 엔드 이펙터(end-effector)를 포함하는 로봇의 교시 장치이다. 상기 로봇의 교시 장치는, 설정부와 도출부를 구비한다. 상기 설정부는, 상기 암의 소정 동작에서의 상기 엔드 이펙터의 시작점과 끝점을 포함하는 소정의 조건을 설정한다. 상기 도출부는, 상기 소정의 조건에 기초하여, 상기 베이스의 위치를 변경시켜가며, 상기 시작점부터 상기 끝점까지의 상기 엔드 이펙터의 동작 궤적 및 상기 동작 궤적에 수반되는 상기 암의 동작 궤적을 도출한다.
본 출원에 개시된 다른 기술은, 베이스와, 서로 연결된 복수의 링크를 가지며 상기 베이스에 연결되는 암과, 상기 암에 연결되는 엔드 이펙터를 포함하는 로봇의 교시 프로그램이다. 상기 로봇의 교시 프로그램은, 상기 암의 소정 동작에서의 상기 엔드 이펙터의 시작점 및 끝점을 포함하는 소정의 조건을 설정하는 기능과, 상기 소정의 조건에 기초하여, 상기 베이스의 위치를 변경시켜가며, 상기 시작점부터 상기 끝점까지의 상기 엔드 이펙터의 동작 궤적 및 상기 엔드 이펙터 동작 궤적에 따른 상기 암의 동작 궤적을 도출하는 기능을 컴퓨터로 구현시킨다.
전술한 로봇의 교시 장치에 따르면, 보다 최적의 로봇(암 및 엔드 이펙터)의 동작 궤적을 도출할 수 있다.
전술한 로봇의 교시 프로그램에 따르면, 보다 최적의 로봇(암 및 엔드 이펙터)의 동작 궤적을 도출할 수 있다.
도 1은 교시 장치 및 로봇을 개략적으로 나타내는 도면이다.
도 2는 교시 장치의 구성을 나타내는 블록도이다.
도 3은 교시 장치에 의한 동작 궤적의 도출 동작을 나타내는 흐름도이다.
도 4는 표시부에 표시되는 영상의 일례를 나타내는 도면이다.
도 5는 표시부에 표시되는 영상의 일례를 나타내는 도면이다.
도 6은 표시부에 표시되는 영상의 일례를 나타내는 도면이다.
도 7은 표시부에 표시되는 영상의 일례를 나타내는 도면이다.
도 8은 표시부에 표시되는 영상의 일례를 나타내는 도면이다.
도 9는 표시부에 표시되는 영상의 일례를 나타내는 도면이다.
도 10은 표시부에 표시되는 영상의 일례를 나타내는 도면이다.
이하, 예시적인 실시형태를 도면에 기초하여 상세히 설명한다.
(실시형태)
도 1에 도시한 바와 같이, 본 실시형태의 교시 장치(30)는, 로봇 제어장치(20)와 통신 가능하게 접속되며, 로봇 제어장치(20)는 로봇(10)과 통신 가능하게 접속된다. 교시 장치(30)는, 로봇(10)에게 소정 동작을 교시(teaching)하기 위한 장치이다.
도 1에 나타내는 로봇(10)은, 교시 장치(30)가 대상으로 하는 로봇의 일례이다. 로봇(10)은, 수평 다관절 로봇(SCARA 로봇: Selective Compliance Assembly Robot Arm)이다. 로봇(10)은, 베이스(11)와, 서로 연결된 복수의 링크(12a, 12b)를 가지며 베이스(11)에 연결되는 암(12)과, 암(12)에 연결되는 핸드(13)를 구비한다. 암(12)은, 수평 방향으로 회전 가능하게 베이스(11)에 연결된다. 핸드(13)는, 엔드 이펙터의 일례이다.
본 실시형태의 암(12)은, 2개의 링크(12a, 12b)로 구성된다. 2개의 링크(12a, 12b)는, 서로 수평 방향으로 회전 가능하게 연결된다. 2개의 링크(12a, 12b)는, 베이스(11) 쪽부터 차례로 제 1 링크(12a), 제 2 링크(12b)로 구성된다. 제 1 링크(12a)는, 수직 방향으로 연장되는 제 1 축심(L1)을 중심으로 회전 가능하게 베이스(11)에 연결된다. 제 2 링크(12b)는, 수직 방향으로 연장되는 제 2 축심(L2)을 중심으로 회전 가능하게 제 1 링크(12a)에 연결된다.
로봇(10)은, 2개의 핸드(13), 즉 상부 핸드(13a) 및 하부 핸드(13b)를 구비한다. 상부 핸드(13a) 및 하부 핸드(13b) 각각의 기본적인 구성은 서로 동일하다. 핸드(13)는, 수평 방향으로 연장되는 판상으로 형성되며, 선단 쪽이 두 갈래 형상으로 형성된다. 즉, 핸드(13)는, 그 두께 방향을 향해 보았을 때, 대략 Y자형으로 형성된다. 상부 핸드(13a) 및 하부 핸드(13b)는, 수직 방향으로 연장되는 제 3 축심(L3)을 중심으로 수평 방향으로 회전 가능하게 제 2 링크(12b)에 연결된다. 제 1 축심(L1), 제 2 축심(L2) 및 제 3 축심(L3)은 서로 평행하게 연장된다.
제 1 링크(12a), 제 2 링크(12b), 상부 핸드(13a), 및 하부 핸드(13b)는, 상기 순서로 아래에서 위로 쌓인다. 로봇(10)은, 도시하지는 않으나, 2개의 링크(12a, 12b) 및 2개의 핸드(13)를 회전 구동시키는 복수의 모터를 구비한다. 본 실시형태의 로봇(10)은, 대상물(기판(S))을 핸드(13) 상면에 고정시키지 않고 실어서 반송한다. 즉, 대상물은 핸드(13)의 상면에 놓여지기만 할 뿐, 유지되지 않는다.
본 실시형태의 로봇(10)은, 예를 들어 기판(S)을 반송하는 기판 반송 시스템(1)에 사용된다. 기판 반송 시스템(1)의 개략 구성에 대하여, 기판 반송 시스템(1)을 모식적으로 나타낸 도 6을 참조하여 설명한다.
기판 반송 시스템(1)은, 케이싱(2)을 구비하고, 케이싱(2) 내에 로봇(10)이 배치된다. 기판 반송 시스템(1)은, 예를 들어, EFEM(Equipment Front End Module)이다. 케이싱(2)은, 대략 직육면체 형태로 형성된다. 케이싱(2)의 내부는, 클린화된 반송 공간(3)으로 형성된다. 즉, 로봇(10)은, 반송 공간(3)에 배치되어 기판(S)을 반송한다. 예를 들어, 기판(S)은 원반형의 반도체 웨이퍼이다.
기판 반송 시스템(1)에서는, 복수(본 실시형태에서는 2개)의 후프(FOUP : Front Opening Unified Pod)(4)와, 복수(본 실시형태에서는 2개)의 처리장치(5)가 설치된다. 복수의 후프(4)는, 케이싱(2)의 일측벽에 인접하여 설치된다. 복수의 처리장치(5)는, 케이싱(2)에서 후프(4)가 인접하는 측벽과 대향하는 측벽에 인접하여 설치된다. 후프(4) 및 처리장치(5)는, 케이싱(2)의 외측에 설치되며, 각각의 내부가 케이싱(2)의 내부(반송 공간(3))와 연통 가능하게 구성된다. 후프(4)는, 복수의 기판(S)을 수평 상태에서 수직 방향으로 등간격을 두고 수용한다. 처리장치(5)는, 예를 들어 열처리, 불순물 도입 처리, 박막 형성 처리 등의 각종 처리를 기판(S)에 실시하는 처리장치이다.
이와 같이 구성된 기판 반송 시스템(1)에서, 로봇(10)은 기판(S)을 수용하는 후프(4)와 기판(S)을 처리하는 처리장치(5) 사이에서 기판(S)을 반송한다. 즉, 암(12) 및 핸드(13)는, 후프(4)와 처리장치(5) 사이에서 기판(S)을 반송한다.
<교시 장치의 구성>
도 2에 도시된 바와 같이, 교시 장치(30)는 입력부(31), 통신부(32), 표시부(33), 기억부(34), 및 처리부(35)를 구비한다.
입력부(31)는, 사용자로부터의 입력 조작을 접수한다. 입력부(31)는, 입력 조작에 따른 입력 신호를 처리부(35)로 출력한다. 예를 들어, 입력부(31)는 키보드 또는 마우스이다.
통신부(32)는, 로봇 제어장치(20)와 통신을 실행하는 인터페이스이다. 예를 들어, 통신부(32)는, 케이블 모뎀, 소프트 모뎀, 또는 무선 모뎀으로 형성된다.
표시부(33)는, 후술하는 처리부(35)(도출부(352))에서 도출된, 암(12)의 동작 궤적 및 핸드(13)의 동작 궤적 중 적어도 한쪽을 표시한다. 또한, 표시부(33)는, 로봇(10)을 모델링한 로봇 모델도 표시한다. 표시부(33)는, 예를 들어 액정 디스플레이 또는 유기 EL 디스플레이다.
기억부(34)는, 각종 프로그램 및 각종 데이터를 기억하는, 컴퓨터로 판독 가능한 기억 매체이다. 기억부(34)는, 하드 디스크 등의 자기 디스크, CD-ROM 및 DVD 등의 광 디스크, 또는 반도체 메모리로 형성된다.
기억부(34)는, 궤적 도출 프로그램(341) 등을 기억한다. 궤적 도출 프로그램(341)은, 주어진 소정 조건에 기초하여 최적의 핸드(13) 동작 궤적 및 그 핸드(13) 동작 궤적에 따른 암(12)(즉, 링크(12a, 12b))의 동작 궤적을 도출하는 각종 기능을 컴퓨터, 즉 처리부(35)에게 구현시키기 위한 교시 프로그램이다. 궤적 도출 프로그램(341)은, 처리부(35)에 의해 판독되어 실행된다. 궤적 도출 프로그램(341)은, 예를 들어, 유전적 알고리즘을 기초로 구축된다.
처리부(35)는, CPU(Central Processing Unit), GPU(Graphics Processing Unit) 및/또는 DSP(Digital Signal Processor) 등의 각종 프로세서와, RAM(Random Access Memory) 및/또는 ROM(Read Only Memory) 등의 각종 반도체 메모리를 포함한다. 처리부(35)는, 기억부(34)로부터 궤적 도출 프로그램(341) 등을 판독하여, 암(12) 및 핸드(13)의 최적의 동작 궤적을 도출하기 위한 각종 기능을 구현한다. 처리부(35)는, 설정부(351), 도출부(352), 재생부(353), 수정부(354), 및 동작 프로그램 작성부(355)를 기능 블록으로 포함한다.
설정부(351)는, 암(12)의 소정 동작에서의 핸드(13)의 시작점 및 끝점을 포함하는 소정의 조건(이하, 동작 조건이라고도 함)을 설정한다. 구체적으로, 설정부(351)는, 사용자의 입력 조작에 따른 동작 조건에 관한 입력 신호를 입력부(31)로부터 수신하여, 동작 조건을 설정한다.
도출부(352)는, 소정의 조건(동작 조건)에 기초하여, 시작점부터 끝점까지의 핸드(13)의 동작 궤적 및 그 핸드(13) 동작 궤적에 따른 암(12)의 동작 궤적을 도출한다. 보다 구체적으로, 도출부(352)는, 설정부(351)의 동작 조건에 기초하여, 베이스(11)의 위치를 변경시켜가며, 시작점부터 끝점까지의 핸드(13)의 동작 궤적 및 그 동작 궤적에 따른 암(12)의 동작 궤적을 도출한다. 즉, 도출부(352)는, 베이스(11)의 위치를 파라미터의 하나로 하여, 동작 조건에 맞는 핸드(13)의 동작 궤적 및 암(12)의 동작 궤적을 도출한다. 도출부(352)는, 기억부(34)로부터 궤적 도출 프로그램(341)을 판독하여, 핸드(13) 등의 동작 궤적을 도출한다.
재생부(353)는, 도출부(352)에서 도출된 동작 궤적에 기초하여, 표시부(33)에서 로봇 모델을 동작시킨다. 구체적으로, 재생부(353)는, 표시부(33)에 표시된 핸드(13)의 동작 궤적 또는 암(12)의 동작 궤적에 기초하여, 로봇 모델의 암 및 핸드를 동작시킨다. 즉, 재생부(353)는, 표시부(33)의 로봇 모델을, 도출부(352)에서 도출된 동작 궤적에 기초하여 동작시킬 수도 있고, 후술하는 수정부(354)에서 수정된 후의 동작 궤적에 기초하여 동작시킬 수도 있다.
수정부(354)는, 사용자의 입력 조작에 따라, 표시부(33)에 표시된 동작 궤적을 수정한다. 보다 구체적으로, 수정부(354)는, 표시부(33)에 표시된 동작 궤적의 지점 또는 베이스(11)를 이동시키는 사용자의 입력 조작(수정 지시)에 따라, 동작 궤적을 수정한다. 즉, 사용자가 표시부(33)에 표시된 동작 궤적의 지점 또는 베이스(11)를 이동시킴으로써, 수정부(354)는 동작 궤적을 수정한다. 일례로서, 입력 조작(수정 지시)은, 사용자가, 표시부(33)에 표시된 동작 궤적의 지점 또는 베이스(11)를 드래그 앤 드롭(drag-and-drop)으로 이동시키는 조작(지시)이다.
동작 프로그램 작성부(355)는, 도출부(352)에 의해 도출된 핸드(13)의 동작 궤적 및 암(12)의 동작 궤적이 결정되면, 그 결정된 핸드(13) 동작 궤적 및 암(12) 동작 궤적에 기초하여, 로봇(10)을 동작시키기 위한 동작 프로그램을 작성한다. 작성된 동작 프로그램은, 로봇 제어장치(20)로 송신된다. 로봇 제어장치(20)는, 교시 장치(30)로부터 수신한 동작 프로그램에 기초하여, 로봇(10)의 동작 제어를 실행한다.
 〈동작 궤적의 도출 동작〉
교시 장치(30)(처리부(35))에서의 동작 궤적의 도출 동작에 대하여, 도 3의 흐름도를 참조하여 설명한다.
먼저, 단계(S1)에서, 설정부(351)는, 로봇(10)의 동작 가능 영역을 설정한다. 구체적으로, 설정부(351)는, 입력부(31)에서의 사용자 입력 조작에 의해 암(12) 및 핸드(13)의 동작 가능 영역을 설정한다. 본 실시형태에서는, 로봇(10)이 배치된 케이싱(2)(즉, 반송 공간(3))이 동작 가능 영역으로 설정된다.
도 4에 도시된 바와 같이, 사용자는 마우스를 조작하여, 표시부(33)에서 마우스의 포인터(Q)를 예를 들어 왼쪽 위에서 오른쪽 아래로 이동시킴으로써, 케이싱(2)을 모델링한 사각형의 프레임(이하, 케이싱(2)이라 함)을 생성한다. 이로써, 설정부(351)는, 표시부(33)에 표시된 케이싱(2)을 동작 가능 영역으로 설정한다.
또한, 전술한 마우스 조작 대신, 예를 들어, 사용자가 키보드 등으로 좌표값을 입력함으로써, 표시부(33)에서 케이싱(2)을 모델링한 사각형의 프레임을 생성할 수도 있다. 이 경우, 예를 들어 표시부(33)에는 좌표 입력창이 표시되고, 사용자는 그 좌표 입력창에 좌표값을 입력한다.
이어서, 단계(S2)에서, 설정부(351)는, 핸드(13)의 시작점 및 끝점을 설정한다. 구체적으로, 설정부(351)는, 입력부(31)에서의 사용자 입력 조작에 의해, 핸드(13)의 시작점 및 끝점으로서 복수(본 실시형태에서는 4개)의 교시점(P1~P4)을 설정한다.
도 5 및 도 6에 도시된 바와 같이, 사용자는 마우스를 조작하여, 표시부(33)에서 4개의 교시점(P1~P4)을 지정한다. 도시하지 않으나, 표시부(33)에는 각각의 교시점(P1~P4)을 표시하는 아이콘이 준비된다. 사용자는, 표시부(33)에서 교시점(P1~P4)을 표시하는 아이콘을 포인터(Q)에서 소정 위치로 이동시킴으로써, 교시점(P1~P4)을 지정한다. 본 실시형태에서는, 예를 들어, 교시점(P1)이 시작점으로 지정되고, 교시점(P4)가 끝점으로 지정된다. 이러한 사용자 입력 조작에 따라, 설정부(351)는, 핸드(13)의 시작점 및 끝점을 설정한다.
또한, 표시부(33)에서는, 전술한 바와 같이 사용자가 교시점(P1~P4)을 지정함으로써, 후프(4) 및 처리장치(5)를 모델링한 도면이 자동적으로 생성된다. 본 실시형태에서는, 교시점(P1, P2)의 위치에 후프(4)가 생성되고, 교시점(P3, P4)의 위치에 처리장치(5)가 생성된다. 여기서, 이 단계(S2)에서도, 사용자는 마우스 조작 대신 키보드로 좌표값을 입력함으로써, 표시부(33)에 교시점(P1~P4)을 지정할 수 있다. 이 경우도, 교시점(P1~P4)이 지정되면, 표시부(33)에는 후프(4) 등을 모델링한 도면이 자동적으로 생성된다.
이어지는 단계(S3)에서는, 설정부(351)가, 전술한 동작 가능 영역, 핸드(13)의 시작점 및 끝점 이외의 소정 조건(동작 조건)을 설정한다. 설정부(351)는, 입력부(31)에서의 사용자 입력 조작에 따라, 소정의 조건을 설정한다. 소정의 조건(동작 조건)은, 예를 들어, 핸드(13)의 동작 가감 속도(이동 시의 가속도 및 감속도)의 상한값, 암(12) 및 핸드(13) 속도의 상한값, 시작점부터 끝점까지의 경유점 수의 상한값, 링크(12a, 12b) 및 핸드(13)의 가능 회전 각도 등이다.
또한, 핸드(13)의 동작 가감 속도의 상한값은, 기판(S)이 핸드(13)에 실려 있을 때와 실리지 않았을 때로 다른 수치를 설정할 수도 있다. 즉, 기판(S)이 핸드(13)에 실려 있을 때는, 기판(S)이 핸드(13)에 실리지 않았을 때보다, 동작 가감 속도의 상한값이 낮게 설정된다. 또한, 소정의 조건에는, 암(12) 및 핸드(13)가 케이싱(2)의 벽 등에 간섭하지 않는 것도 포함된다. 사용자는, 전술한 소정의 조건을 적절히 선택하여 입력할 수 있다.
이어지는 단계(S4)에서는, 표시부(33)에서, 로봇(10)을 모델링한 로봇 모델이 임시 배치된다. 도 6에 도시된 바와 같이, 사용자는 마우스를 조작하여 표시부(33)에 로봇 모델을 표시시킨다. 여기서, 도 6 내지 도 10에 나타내는 로봇 모델에 대해서는, 도 1에 나타내는 로봇(10)과 동일한 참조부호를 부여한다. 그리고, 사용자는 마우스를 조작하여, 표시부(33)에서 포인터(Q)로 로봇(10)의 베이스(11)를 임의의 위치에 임시 배치한다. 여기서, 이 로봇(10)의 임시 배치는, 좌표값을 입력하는 것으로도 실행할 수 있다.
이어지는 단계(S5)에서는, 도출부(352)가, 설정부(351)의 소정 조건에 기초하여, 시작점(교시점(P1))부터 끝점(교시점(P4))까지의 핸드(13)의 동작 궤적 및 그 동작 궤적에 따른 암(12)의 동작 궤적을 도출한다. 구체적으로, 도출부(352)는, 예를 들어 사용자가 표시부(33)에 표시된 "최적화 버튼"(도시 생략)을 마우스 조작으로 누름으로써, 동작 궤적의 도출 동작을 개시한다. 도출부(352)는, 베이스(11)의 위치를 변경시켜가며, 소정 조건에 맞는 핸드(13)의 동작 궤적 및 그 동작 궤적에 따른 암(12)의 동작 궤적을 도출한다. 이와 같이, 베이스(11)의 위치를 변경시켜가며, 핸드(13)의 동작 궤적 등을 도출하므로, 예를 들어, 베이스의 위치를 고정시킨 상태에서 핸드의 동작 궤적을 도출하는 경우에 비해, 보다 최적의 동작 궤적이 도출된다.
그리고, 도출부(352)에 의해 핸드(13)의 동작 궤적 등이 도출되면, 표시부(33)는 도출부(352)에서 도출된 핸드(13) 동작 궤적 및 암(12) 동작 궤적 중 적어도 한쪽을 표시한다. 본 실시형태에서는, 일례로 도 7에 도시된 바와 같이, 표시부(33)는 시작점(교시점(P1))부터 끝점(교시점(P4))까지의 핸드(13)의 동작 궤적(T)을 표시한다. 이 때, 표시부(33)에서, 로봇(10)(베이스(11))은, 핸드(13)의 동작 궤적(T)을 도출할 때 파라미터로 채용된 위치에 배치된다. 이와 같이, 도출부(352)에서 도출된 동작 궤적이 표시부(33)에 표시됨으로써, 사용자는 동작 궤적을 시인할 수 있다.
이어지는 단계(S6)에서는, 재생부(353)가, 표시부(33)에 표시된 동작 궤적(T)에 기초하여, 표시부(33)에서 로봇(10)을 동작시킨다. 구체적으로, 재생부(353)는, 예를 들어 사용자가 표시부(33)에 표시된 "재생 버튼"(도시 생략)을 마우스 조작으로 누름으로써, 표시부(33)에서 로봇(10)을 동작시킨다. 도 7에 도시된 바와 같이, 재생부(353)는, 표시부(33)에서 핸드(13)가 시작점부터 끝점까지 동작 궤적(T)을 따라 이동하도록, 암(12) 및 핸드(13)를 동작시킨다. 즉, 재생부(353)는, 도출부(352)에 의해 도출된 핸드(13) 동작 궤적 및 암(12) 동작 궤적에 기초하여, 표시부(33)에서 암(12) 및 핸드(13)를 동작시킨다. 이와 같이, 표시부(33)에서 암(12) 및 핸드(13)가 동작 궤적(T)에 기초하여 동작함으로써, 사용자는 동작 궤적(T)에 기초한 암(12) 및 핸드(13)의 동작을 시인할 수 있다.
이어지는 단계 S7에서는, 수정부(354)가 사용자의 수정 지시가 있는지 여부를 판정한다. 사용자는, 표시부(33)의 암(12) 및 핸드(13)의 동작을 보고, 그 동작이 적절하지 않다고 느끼거나, 그 동작에 위화감이 들거나 할 경우 등, 그와 같은 동작이 해소되도록 동작 궤적(T)의 수정 지시를 실행한다. 예를 들어, 사용자는 암(12) 또는 핸드(13)가 케이싱(2)의 벽에 매우 접근하거나, 암(12) 또는 핸드(13)가 불필요한 움직임을 보이는 것 같은 경우 등에, 그런 동작이 적절하지 않다고 느낀다. 즉, 사용자는 암(12) 및 핸드(13)의 동작을 외형으로 판단하여 수정 지시를 실행할지 여부를 결정한다.
단계(S7)에 있어서, 사용자의 수정 지시가 없는 경우, 즉, 사용자가 표시부(33)의 암(12) 및 핸드(13)의 동작이 적절하다(암(12) 및 핸드(13)의 동작에 위화감이 없다)고 판단한 경우, 수정부(354)는, 표시부(33)에 표시된 동작 궤적(T)을 최적의 동작 궤적으로 결정한다(단계(S8)). 이때, 수정부(354)는, 도출부(352)에 의해 도출된 암(12)의 동작 궤적, 즉 핸드(13)의 동작 궤적(T)에 따른 암(12)의 동작 궤적도 최적의 동작 궤적으로 결정한다.
본 실시형태에서 사용자는, 표시부(33)의 암(12) 및 핸드(13)의 동작이 적절하지 않다고 느낀(암(12) 및 핸드(13)의 동작에 위화감이 든) 경우, 표시부(33)에 표시된 동작 궤적(T)의 지점을 이동시키는 입력 조작(수정 지시)을 실행한다. 구체적으로는, 도 8에 도시된 바와 같이, 사용자는 마우스를 조작하여 표시부(33)에 표시된 동작 궤적(T)의 지점을 드래그 앤 드롭으로 원하는 위치로 이동시킨다.
단계(S7)에 있어서, 전술한 사용자의 수정 지시가 있으면, 단계(S9)로 이행한다. 단계(S9)에서는, 수정부(354)가 표시부(33)에 표시된 동작 궤적(T)을 수정한다. 구체적으로, 수정부(354)는, 사용자의 수정 지시에 따른 동작 궤적(T)의 이동 정보에 기초하여 동작 궤적(T)을 수정하고, 수정 후의 새로운 동작 궤적(Ta)을 표시부(33)에 표시한다. 이때, 수정 후의 동작 궤적(Ta)은, 수정 전 동작 궤적(T)의 일부가 수정되어 이루어지는 경우도 있고, 수정 전의 동작 궤적(T) 전체가 수정되어 이루어지는 경우도 있다.
또한, 수정부(354)는 표시부(33)에 표시된 핸드(13)의 동작 궤적(T)을 수정함과 더불어, 암(12)의 동작 궤적도 수정한다. 즉, 수정부(354)는, 도출부(352)에 의해 도출된 암(12)의 동작 궤적(즉, 수정 전의 핸드(13) 동작 궤적(T)에 따른 암(12)의 동작 궤적)에서, 수정 후의 핸드(13) 동작 궤적(Ta)에 따른 암(12)의 동작 궤적으로 수정한다.
이와 같이, 사용자는, 표시부(33)에 표시된 동작 궤적(T)을 보면서 수정 지시를 실행할 수 있으므로, 동작 궤적(T)에 대하여 보다 의도에 맞는 미세한 수정을 실행할 수 있다. 또한, 사용자는, 표시부(33)에 표시된 동작 궤적(T)의 지점을 이동시킨다는 간단한 방법으로 동작 궤적(T)을 수정할 수 있다.
단계(S9)에서 수정부(354)가 동작 궤적(T)을 수정하면 다시 단계(S6)로 돌아가, 재생부(353)가 표시부(33)에 표시된 수정 후의 동작 궤적(Ta)에 기초하여 표시부(33)에서 로봇(10)을 동작시킨다. 즉, 재생부(353)는 표시부(33)에 있어서, 핸드(13)가 시작점부터 끝점까지 수정 후의 동작 궤적(Ta)을 따라 이동하도록, 암(12) 및 핸드(13)를 동작시킨다. 바꾸어 말하면, 재생부(353)는, 수정부(354)에 의해 수정된 핸드(13) 동작 궤적 및 암(12) 동작 궤적에 기초하여, 표시부(33)에서 암(12) 및 핸드(13)를 동작시킨다. 이처럼, 표시부(33)에서 암(12) 및 핸드(13)가 수정 후의 동작 궤적(Ta)에 기초하여 동작함으로써, 사용자는, 수정 후의 동작 궤적(Ta)에 기초하는 암(12) 및 핸드(13)의 동작을 시인할 수 있다.
다시, 단계(S7)에 있어서, 사용자의 수정 지시가 있는 경우, 즉, 사용자가 표시부(33)에 표시된 수정 후 동작 궤적(Ta)의 지점을 이동시키는 입력 조작(수정 지시)을 실행한 경우, 다시 단계(S9)로 이행한다. 즉, 기본적으로 사용자가 재생부(353)에 의해 재생된 암(12) 및 핸드(13)의 동작을 적절하다고 판단하지 않는 한, 단계(S9)에서 단계(S6)으로의 흐름이 반복된다. 바꾸어 말하면, 사용자는 재생부(353)에 의해 재생된 암(12) 및 핸드(13)의 동작이 적절하다고 느낄 때까지, 핸드(13)의 동작 궤적 및 암(12)의 동작 궤적을 계속 수정할 수 있다.
단계(S7)에 있어서, 사용자의 수정 지시가 없는 경우, 즉, 사용자가 수정 후의 동작 궤적(Ta)에 기초하는 암(12) 및 핸드(13)의 동작이 적절하다(암(12) 및 핸드(13)의 동작에 위화감이 없다)고 판단한 경우, 수정부(354)는, 표시부(33)에 표시된 수정 후의 동작 궤적(Ta)을 최적의 동작 궤적으로 결정한다(단계(S8)). 이때, 수정부(354)는, 수정 후의 암(12) 동작 궤적(즉, 수정 후의 핸드(13) 동작 궤적(Ta)에 따른 암(12)의 동작 궤적)도 최적의 동작 궤적으로 결정한다. 이상으로, 동작 궤적의 도출 동작이 종료된다.
동작 프로그램 작성부(355)는, 처리부(35)에 의해 결정된 암(12) 동작 궤적 및 핸드(13) 동작 궤적에 기초하여, 실제 공간의 로봇(10)을 제어하기 위한 동작 프로그램을 작성한다. 그리고, 동작 프로그램 작성부(355)는, 작성한 동작 프로그램을 통신부(32)를 통해 로봇 제어장치(20)로 송신한다. 로봇 제어장치(20)는, 교시 장치(30)로부터 수신한 동작 프로그램에 기초하여 실제 공간의 로봇(10)을 제어한다.
이처럼, 실제 공간의 로봇(10)의 동작 궤적은 소정의 조건(동작 조건) 하에서 최적화된다. 이러한 종류의 로봇(10)에서는, 시작점부터 끝점까지의 핸드(13) 이동 시간을 되도록 짧게 하고자 하는 요망이 있는 바, 아무런 고려도 하지 않으면, 핸드(13)의 동작 가감 속도가 높아지는 경향을 보이게 되고, 그 때문에, 기판(S)이 핸드(13)로부터 낙하될 우려가 있다. 특히, 본 실시형태와 같이, 기판(S)을 핸드(13) 상면에 고정시키지 않고 실어서 반송하는 로봇(10)의 경우, 전술한 우려는 현저해진다. 그래서, 설정부(351)에서, 기판(S)의 낙하를 저지할 수 있는 핸드(13)의 동작 가감 속도의 상한값을 설정함으로써, 기판(S)을 핸드(13)로부터 낙하시키지 않는 범위에서 핸드(13)의 이동 시간이 최단이 되는 최적의 동작 궤적이 도출된다.
이상과 같이, 상기 실시형태의 교시 장치(30)는, 베이스(11)와, 서로 연결된 복수의 링크(12a, 12b)를 가지며 베이스(11)에 연결되는 암(12)과, 암(12)에 연결되는 핸드(13)(엔드 이펙터)를 포함하는 로봇(10)의 교시 장치이다. 교시 장치(30)는, 암(12)의 소정 동작에 서의 핸드(13)의 시작점 및 끝점을 포함하는 소정의 조건을 설정하는 설정부(351)와, 소정의 조건에 기초하여, 베이스(11)의 위치를 변경시켜가며 시작점부터 끝점까지의 핸드(13)의 동작 궤적 및 핸드(13) 동작 궤적에 따른 암(12)의 동작 궤적을 도출하는 도출부(352)를 구비한다.
또한, 상기 실시형태의 궤적 도출 프로그램(341)은, 베이스(11)와, 서로 연결된 복수의 링크(12a, 12b)를 가지며 베이스(11)에 연결되는 암(12)과, 암(12)에 연결되는 핸드(13)(엔드 이펙터)를 포함하는 로봇(10)의 교시 프로그램이다. 궤적 도출 프로그램(341)은, 암(12)의 소정 동작에서의 핸드(13)의 시작점 및 끝점을 포함하는 소정의 조건을 설정하는 기능과, 소정의 조건에 기초하여, 베이스(11)의 위치를 변경시켜가며, 시작점부터 끝점까지의 핸드(13)의 동작 궤적 및 핸드(13) 동작 궤적에 따른 암(12)의 동작 궤적을 도출하는 기능을 컴퓨터로 구현시킨다.
이들 구성에 따르면, 베이스(11)의 위치를 파라미터의 하나로 하여, 핸드(13)의 동작 궤적 및 암(12)의 동작 궤적을 도출하므로, 베이스의 위치가 고정된 조건 하에서 핸드의 동작 궤적을 도출하는 종래의 형태에 비해, 보다 최적의 핸드(13) 동작 궤적 및 암(12) 동작 궤적을 도출할 수 있다. 바꾸어 말하면, 최적의 베이스(11) 위치를 도출할 수 있다고도 할 수 있다.
또한, 상기 실시형태의 교시 장치(30)는, 도출부(352)에서 도출된 핸드(13)의 동작 궤적을 표시하는 표시부(33)와, 사용자의 입력 조작에 따라, 표시부(33)에 표시된 핸드(13)의 동작 궤적을 수정하는 수정부(354)를 추가로 구비한다.
상기 구성에 따르면, 사용자는 표시부(33)에 표시된 동작 궤적을 눈으로 확인하면서 수정 지시(입력 조작)를 실행할 수 있으므로, 동작 궤적에 대하여 보다 사용자의 의도에 맞는 미세한 수정을 간편하게 실행할 수 있다.
또한, 수정부(354)는, 표시부(33)에 표시된 핸드(13)의 동작 궤적의 지점을 이동시키는 사용자의 수정 지시(입력 조작)에 따라, 핸드(13)의 동작 궤적을 수정한다.
상기 구성에 따르면, 사용자는, 표시부(33)에 표시된 동작 궤적의 지점을 이동시킨다는 간편한 방법으로, 동작 궤적에 대하여 미세한 수정을 실행할 수 있다.
또한, 상기 실시형태의 교시 장치(30)는, 도출부(352)에서 도출된 동작 궤적에 기초하여, 표시부(33)에서 로봇 모델(핸드(13) 및 암(12))을 동작시키는 재생부(353)를 추가로 구비한다.
상기 구성에 따르면, 사용자는, 재생부(353)에 의해 재생된 암(12) 및 핸드(13)의 동작을 본 후에 수정 지시(입력 조작)를 실행할 수 있으므로, 동작 궤적에 대하여 보다 의도에 맞는 미세한 수정을 실행할 수 있다.
특히, 재생부(353)는, 도출부(352)에서 도출된 동작 궤적(T) 또는 수정부(354)에서 수정된 후의 동작 궤적(Ta)을 표시부(33)에 표시시킨 상태에서 로봇 모델(핸드(13) 및 암(12))을 동작시킨다. 이로써, 사용자는, 동작 궤적(T)(동작 궤적(Ta))과 로봇 모델의 동작과의 대응 관계를 명확하게 시인할 수 있으므로, 동작 궤적(T)(동작 궤적(Ta))에 대하여 보다 의도에 맞는 수정을 실행할 수 있다.
또한, 사용자의 수정 지시(입력 조작)는, 사용자가 표시부(33)에 표시된 동작 궤적의 지점을 드래그 앤 드롭으로 이동시키는 것이다.
상기 구성에 따르면, 보다 간편하게 동작 궤적을 수정할 수 있다.
또한, 로봇(10)은, 기판(S)(대상물)을 핸드(13) 상면에 고정하지 않고 실어서 반송하는 것이다. 설정부(351)가 설정하는 소정의 조건에는, 핸드(13)의 동작 가감 속도의 상한값이 포함된다.
상기 구성에 따르면, 기판(S)을 핸드(13)에서 낙하시키지 않는 범위에서 시작점부터 끝점까지의 핸드(13) 이동 시간이 최단이 되는 최적의 동작 궤적을 도출할 수 있다.
또한, 상기 실시형태와 같이 엔드 이펙터로서 2개의 핸드(13)를 갖는 로봇(10)을 대상으로 할 경우, 도출부(352)는, 시작점 및 끝점(즉, 후프(4) 및 처리장치(5))에서의 2개의 핸드(13)의 자세도 고려하여 핸드(13)의 동작 궤적 등을 도출한다. 2개의 핸드(13)의 자세로는, 예를 들어, 상부 핸드(13a)는 후프(4)에 진입하며 하부 핸드(13b)는 후프(4)에 진입하지 않고 우 또는 좌로 90도 회전한 상태, 하부 핸드(13b)는 후프(4)에 진입하며 상부 핸드(13a)는 후프(4)에 진입하지 않고 우 또는 좌로 90도 회전한 상태, 상부 핸드(13a) 및 하부 핸드(13b) 양쪽이 후프(4)에 진입한 상태 등이 있다. 이러한 시작점 및 끝점에서의 2개의 핸드(13) 자세도 고려함으로써, 보다 최적의 핸드(13) 동작 궤적 등을 도출할 수 있다.
(그 밖의 실시형태)
이상과 같이, 본 출원에서 개시하는 기술의 예시로서 상기 실시형태를 설명하였다. 그러나, 본 개시의 기술은 이에 한정되지 않으며, 적절히 변경, 치환, 부가, 생략 등을 행한 실시의 형태에도 적용 가능하다. 또한, 상기 실시형태에서 설명한 각 구성 요소를 조합하여 새로운 실시의 형태로 하는 것도 가능하다. 또한, 첨부 도면 및 상세한 설명에 기재된 구성요소 중에는, 과제 해결을 위해 필수적인 구성요소뿐만 아니라, 상기 기술을 예시하기 위하여, 과제 해결을 위해서는 필수적이지 않은 구성요소도 포함될 수 있다. 그러므로, 이들 필수적이지 않은 구성요소가 첨부 도면이나 상세한 설명에 기재된 것으로써, 바로 이들 필수적이지 않은 구성요소가 필수인 것으로 인정해서는 안된다.
상기 실시형태에 있어서, 도출부(352)는, 베이스(11)의 위치에 추가로, 암(12)의 링크(12a, 12b) 길이를 변경시켜가며 시작점부터 끝점까지의 핸드(13)의 동작 궤적 및 핸드(13) 동작 궤적에 따른 암(12)의 동작 궤적을 도출하도록 할 수도 있다. 이 구성에 따르면, 링크(12a, 12b)의 길이도 파라미터의 하나로서 핸드(13)의 동작 궤적 등을 도출하므로, 보다 최적의 핸드(13) 동작 궤적 및 암(12) 동작 궤적을 도출할 수 있다. 바꾸어 말하면, 최적의 링크(12a, 12b) 길이를 도출할 수 있다.
또한, 상기 실시형태에 있어서, 도출부(352)는, 베이스(11)의 위치에 추가로, 베이스(11)의 방향(즉, 로봇(10)의 방향)도 변경시켜가며, 시작점부터 끝점까지의 핸드(13)의 동작 궤적 및 핸드(13) 동작 궤적에 따른 암(12)의 동작 궤적을 도출하도록 할 수도 있다. 이 구성에 따르면, 베이스(11)의 방향도 파라미터의 하나로서 핸드(13)의 동작 궤적 등을 도출하므로, 보다 최적의 핸드(13) 동작 궤적 및 암(12) 동작 궤적을 도출할 수 있다. 바꾸어 말하면, 최적의 베이스(11) 방향을 도출할 수 있다.
또한, 상기 실시형태에 있어서, 도출부(352)는, 도출한 핸드(13)의 동작 궤적 및 암(12)의 동작 궤적 양쪽을 표시부(33)에 표시할 수도 있고, 암(12)의 동작 궤적만을 표시부(33)에 표시할 수도 있다.
또한, 상기 실시형태에서, 수정부(354)는, 표시부(33)에 표시된 베이스(11)를 이동시키는 사용자의 수정 지시(입력 조작)에 따라 동작 궤적을 수정하도록 할 수도 있다. 이 경우, 예를 들어, 사용자는 마우스를 조작하여, 표시부(33)에 표시된 베이스(11)를 드래그 앤 드롭으로 이동시킴으로써 수정 지시를 실행한다.
또한, 상기 실시형태에서는, 도 9에 도시된 바와 같이, 도출부(352)에서 도출된 동작 궤적(T)은, 복수의 경유점(X)을 연결하는 궤적으로서 형성될 수도 있다. 이 경우, 사용자의 수정 지시(입력 조작)에 의해 이동되는 동작 궤적(T)의 지점은 경유점(X)이다. 예를 들어, 설정부(351)가 소정의 조건으로서 "경유점은 복수 있음"으로 설정한 경우, 도출부(352)는 최적의 복수 경유점(X)을 포함한 핸드(13) 동작 궤적(T)을 도출하여 표시부(33)에 표시한다. 예를 들어, 경유점(X)은 동작 궤적(T)의 다른 지점보다 크게 표시된다.
이 경우 사용자는, 재생부(353)에 의해 재생된 암(12) 및 핸드(13)의 동작이 적절하지 않다고 느낀 경우, 예를 들어, 표시부(33)에 표시된 동작 궤적(T)의 경유점(X)을 드래그 앤 드롭으로 이동시키는 수정 지시(입력 조작)를 실행한다(도 9 참조). 수정부(354)는, 이 사용자의 수정 지시에 따라, 표시부(33)에 표시된 동작 궤적(T)을 수정한다. 즉, 수정부(354)는, 사용자의 수정 지시에 따른 경유점(X) 이동 정보, 즉 경유점(X)이 이동한 후의 경유점(Xa)의 위치 정보에 기초하여 동작 궤적(T)을 수정하고, 수정 후의 새로운 동작 궤적(Ta)을 표시부(33)에 표시한다. 수정 후의 동작 궤적(Ta)에는, 이동 후의 경유점(Xa)이 포함된다.
이 구성에 따르면, 사용자는, 표시부(33)에 표시된 동작 궤적(T)에서 이동해야 할 지점을 단적으로 파악할 수 있다. 또한, 동작 궤적(T)에서 이동할 수 있는 지점이 적어지므로, 그만큼 수정부(354)에서의 수정에 필요한 처리량을 경감할 수 있다.
또한, 상기 실시형태에 있어서, 수정부(354)는, 표시부(33)에 표시된 암(12)(즉, 링크(12a, 12b))을 이동시키는 사용자의 수정 지시(입력 조작)에 따라, 표시부(33)에 표시된 동작 궤적(T)을 수정하도록 할 수도 있다. 즉, 도 10에 도시된 바와 같이, 사용자는 예를 들어, 마우스를 조작하여 표시부(33)에 표시된 제 2 링크(12b)를 드래그 앤 드롭으로 이동시키는 수정 지시(입력 조작)를 실행한다. 수정부(354)는, 사용자의 수정 지시에 따른 제 2 링크(12b)의 이동 정보에 기초하여 동작 궤적(T)을 수정하고, 수정 후의 새로운 동작 궤적(도시 생략)을 표시부(33)에 표시한다. 예를 들어, 상기 제 2 링크(12b)의 이동 정보는, 이동 후의 제 2 링크(12b)의 위치 정보, 제 2 링크(12b)의 이동에 수반하여 이동한 핸드(13)의 위치 정보 등이 포함된다.
또한, 상기 실시형태에 있어서, 재생부(353)를 생략하도록 할 수도 있다. 이 경우, 사용자는, 표시부(33)에 표시된 동작 궤적을 보고 수정 지시를 실행할지 여부를 결정한다. 또한, 표시부(33)나 수정부(354)를 생략하도록 할 수도 있다.
또한, 사용자의 수정 지시(입력 조작)는, 마우스 조작에 의한 것에 한정되지 않는다. 예를 들어, 사용자는 키보드로 좌표값을 입력함으로써, 표시부(33)에 표시된 동작 궤적 등을 이동시키는 것일 수도 있다.
또한, 재생부(353)는, 도출부(352)에서 도출된 동작 궤적(T) 또는 수정부(354)에서 수정된 후의 동작 궤적(Ta)을 표시부(33)에 표시시키지 않은 상태에서 로봇 모델(핸드(13) 및 암(12))을 동작 시키도록 할 수도 있다.
또한, 설정부(351)는, 소정의 조건으로서, "2개의 핸드(13)에서의 기판(S)의 유무"를 설정하도록 할 수도 있다. 이 경우, 2개의 핸드(13)에서의 기판(S)의 유무에 따라, 4 패턴의 조건이 설정된다. 즉, "상부 핸드(13a)에는 기판(S)이 있고, 하부 핸드(13b)에는 기판(S)이 없다"는 조건과, "상부 핸드(13a)에는 기판(S)이 없고, 하부 핸드(13b)에는 기판(S)이 있다"는 조건과, "상부 핸드(13a) 및 하부 핸드(13b) 모두에 기판(S)이 있다"는 조건과, "상부 핸드(13a) 및 하부 핸드(13b) 모두에 기판(S)이 없다"는 조건의 4 패턴이다. 도출부(352)는, 이들 4 패턴의 조건별로 최적의 동작 궤적을 도출하여 표시부(33)에 표시한다. 사용자는, 4 가지의 동작 궤적으로부터 하나의 동작 궤적을 선택하고, 선택한 동작 궤적에 대하여 필요에 따라 수정 지시를 실행한다.
10 : 로봇 11 : 베이스
12 : 암 12a : 제 1 링크(링크)
12b : 제 2 링크(링크) 13 : 핸드(엔드 이펙터)
30 : 교시 장치 33 : 표시부
341 : 궤적 도출 프로그램(교시 프로그램)
351 : 설정부 352 : 도출부
353 : 재생부 354 : 수정부
T, Ta : 동작 궤적 X, Xa : 경유점

Claims (11)

  1. 베이스와, 서로 연결된 복수의 링크를 가지며 상기 베이스에 연결되는 암과, 상기 암에 연결되는 엔드 이펙터를 포함하는 로봇의 교시 장치로서,
    상기 암의 소정 동작에서의 상기 엔드 이펙터의 시작점 및 끝점을 포함하는 소정의 조건을 설정하는 설정부와,
    상기 베이스의 위치를 파라메터의 하나로 하여, 상기 베이스의 위치를 변경시켜가며, 상기 소정의 조건에 합치하는 상기 엔드 이펙터의 동작 궤적 및 상기 엔드 이펙터의 동작 궤적에 따른 상기 암의 동작 궤적을 도출하는 도출부를 구비하는, 로봇의 교시 장치.
  2. 제 1 항에 있어서,
    상기 도출부는, 상기 베이스의 방향도 변경시켜가며, 상기 시작점부터 상기 끝점까지의 상기 엔드 이펙터의 동작 궤적 및 상기 엔드 이펙터의 동작 궤적에 따른 상기 암의 동작 궤적을 도출하는, 로봇의 교시 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 도출부는, 상기 암의 링크 길이도 변경시켜가며, 상기 시작점부터 상기 끝점까지의 상기 엔드 이펙터의 동작 궤적 및 상기 엔드 이펙터의 동작 궤적에 따른 상기 암의 동작 궤적을 도출하는, 로봇의 교시 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 도출부에서 도출된, 상기 암의 동작 궤적 및 상기 엔드 이펙터의 동작 궤적 중 적어도 한쪽을 표시하는 표시부와,
    사용자의 입력 조작에 따라, 상기 표시부에 표시된 상기 동작 궤적을 수정하는 수정부를 추가로 구비하는, 로봇의 교시 장치.
  5. 제 4 항에 있어서,
    상기 표시부는, 상기 로봇을 모델링한 로봇 모델을 추가로 표시하고,
    상기 수정부는, 상기 표시부에 표시된 상기 동작 궤적의 지점 또는 상기 베이스를 이동시키는 상기 입력 조작에 따라, 상기 동작 궤적을 수정하는, 로봇의 교시 장치.
  6. 제 5 항에 있어서,
    상기 도출부에서 도출된 상기 동작 궤적은, 복수의 경유점을 연결하는 궤적으로서 형성되고,
    상기 입력 조작으로 이동시키는 상기 동작 궤적의 지점은, 상기 경유점인, 로봇의 교시 장치.
  7. 제 5 항에 있어서,
    상기 도출부에서 도출된 상기 동작 궤적에 기초하여, 상기 표시부에서 상기 로봇 모델을 동작시키는 재생부를 추가로 구비하는, 로봇의 교시 장치.
  8. 제 5 항에 있어서,
    상기 입력 조작은, 상기 사용자가, 상기 표시부에 표시된 상기 동작 궤적의 지점 또는 상기 베이스를 드래그 앤 드롭으로 이동시키는 조작인, 로봇의 교시 장치.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 로봇은, 대상물을 상기 엔드 이펙터의 상면에 고정시키지 않고 실어서 반송하는 것이며,
    상기 소정의 조건은, 상기 엔드 이펙터의 동작 가감 속도의 상한값을 포함하는, 로봇의 교시 장치.
  10. 베이스와, 서로 연결된 복수의 링크를 가지며 상기 베이스에 연결되는 암과, 상기 암에 연결되는 엔드 이펙터를 포함하는 로봇의 컴퓨터 판독가능 저장 매체에 저장된 교시 프로그램으로서,
    상기 암의 소정 동작에서의 상기 엔드 이펙터의 시작점 및 끝점을 포함하는 소정의 조건을 설정하는 기능과,
    상기 베이스의 위치를 파라메터의 하나로 하여, 상기 베이스의 위치를 변경시켜가며, 상기 소정의 조건에 합치하는 상기 엔드 이펙터의 동작 궤적 및 상기 엔드 이펙터의 동작 궤적에 따른 상기 암의 동작 궤적을 도출하는 기능을 컴퓨터로 구현시키는, 로봇의 컴퓨터 판독가능 저장 매체에 저장된 교시 프로그램.
  11. 베이스와, 서로 연결된 복수의 링크를 가지며 상기 베이스에 연결되는 암과, 상기 암에 연결되는 엔드 이펙터를 포함하는 로봇의 교시 방법으로서,
    상기 암의 소정 동작에서의 상기 엔드 이펙터의 시작점 및 끝점을 포함하는 소정의 조건을 설정하는 것과,
    상기 베이스의 위치를 파라메터의 하나로 하여, 상기 베이스의 위치를 변경시켜가며, 상기 소정의 조건에 합치하는 상기 엔드 이펙터의 동작 궤적 및 상기 엔드 이펙터의 동작 궤적에 따른 상기 암의 동작 궤적을 도출하는 것을 포함하는, 로봇의 교시 방법.
KR1020237002114A 2020-06-26 2021-06-15 로봇의 교시 장치 및 로봇의 교시 프로그램 Active KR102832937B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020110187A JP7691813B2 (ja) 2020-06-26 2020-06-26 ロボットの教示装置、ロボットの教示プログラム及びロボットの教示方法
JPJP-P-2020-110187 2020-06-26
PCT/JP2021/022645 WO2021261326A1 (ja) 2020-06-26 2021-06-15 ロボットの教示装置およびロボットの教示プログラム

Publications (2)

Publication Number Publication Date
KR20230028423A KR20230028423A (ko) 2023-02-28
KR102832937B1 true KR102832937B1 (ko) 2025-07-10

Family

ID=79281219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237002114A Active KR102832937B1 (ko) 2020-06-26 2021-06-15 로봇의 교시 장치 및 로봇의 교시 프로그램

Country Status (6)

Country Link
US (1) US12208516B2 (ko)
JP (1) JP7691813B2 (ko)
KR (1) KR102832937B1 (ko)
CN (1) CN115803865A (ko)
TW (1) TWI776556B (ko)
WO (1) WO2021261326A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118288270A (zh) * 2022-12-26 2024-07-05 北京小米机器人技术有限公司 机器人控制方法、装置、机器人及可读储存介质
JP2025042152A (ja) * 2023-09-14 2025-03-27 川崎重工業株式会社 教示支援装置、教示支援方法及び教示支援プログラム
JP2025042155A (ja) * 2023-09-14 2025-03-27 川崎重工業株式会社 教示支援装置、教示支援方法及び教示支援プログラム
JP2025056968A (ja) * 2023-09-27 2025-04-09 川崎重工業株式会社 ロボットの動作経路生成方法およびロボットの動作経路生成装置
JP2025056948A (ja) * 2023-09-27 2025-04-09 川崎重工業株式会社 ロボットの動作経路生成方法およびロボットの動作経路生成装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018144228A (ja) * 2018-06-27 2018-09-20 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
JP2018176326A (ja) * 2017-04-07 2018-11-15 ライフロボティクス株式会社 教示装置、表示装置、教示プログラム及び表示プログラム
WO2019208785A1 (ja) * 2018-04-27 2019-10-31 川崎重工業株式会社 ロボットの教示方法及びロボットの教示システム
JP2019193975A (ja) * 2019-08-09 2019-11-07 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124132A (ja) * 1996-10-21 1998-05-15 Tokico Ltd ロボット制御装置及びロボット
JP2010231518A (ja) 2009-03-27 2010-10-14 Toshiba Mach Co Ltd ロボット教示システム
KR101191037B1 (ko) * 2009-12-03 2012-10-12 세메스 주식회사 기판 처리 장치의 로봇 정렬을 위한 티칭 지그 및 티칭 방법
JP5915041B2 (ja) 2011-09-12 2016-05-11 セイコーエプソン株式会社 ロボット制御装置
US10569430B2 (en) 2011-09-16 2020-02-25 Persimmon Technologies Corporation Low variability robot
JP6378783B2 (ja) 2014-12-25 2018-08-22 川崎重工業株式会社 アーム型のロボットの障害物自動回避方法及び制御装置
JP6998660B2 (ja) 2017-02-21 2022-01-18 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
JP6567101B2 (ja) 2017-03-06 2019-08-28 キヤノン株式会社 教示方法、ロボットの動作方法、プログラム、記憶媒体、教示装置
JP6469162B2 (ja) * 2017-04-17 2019-02-13 ファナック株式会社 ロボットのオフライン教示装置
JP6526098B2 (ja) 2017-04-26 2019-06-05 ファナック株式会社 ロボットを操作するための操作装置、ロボットシステム、および操作方法
JP6810093B2 (ja) 2018-04-25 2021-01-06 ファナック株式会社 ロボットのシミュレーション装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018176326A (ja) * 2017-04-07 2018-11-15 ライフロボティクス株式会社 教示装置、表示装置、教示プログラム及び表示プログラム
WO2019208785A1 (ja) * 2018-04-27 2019-10-31 川崎重工業株式会社 ロボットの教示方法及びロボットの教示システム
JP2018144228A (ja) * 2018-06-27 2018-09-20 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
JP2019193975A (ja) * 2019-08-09 2019-11-07 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法

Also Published As

Publication number Publication date
CN115803865A (zh) 2023-03-14
WO2021261326A1 (ja) 2021-12-30
US12208516B2 (en) 2025-01-28
KR20230028423A (ko) 2023-02-28
TWI776556B (zh) 2022-09-01
US20230249333A1 (en) 2023-08-10
JP7691813B2 (ja) 2025-06-12
JP2022007292A (ja) 2022-01-13
TW202206241A (zh) 2022-02-16

Similar Documents

Publication Publication Date Title
KR102832937B1 (ko) 로봇의 교시 장치 및 로봇의 교시 프로그램
JP7621069B2 (ja) ロボットの教示装置、ロボットの教示プログラム及びロボットの教示方法
JP4441409B2 (ja) ロボットシミュレーション装置、および、シミュレーションプログラム
JP6127925B2 (ja) ロボットシミュレーション装置、ロボットシミュレーション方法、およびロボットシミュレーションプログラム
CN100361793C (zh) 离线编程装置
CN108453702A (zh) 机器人仿真器、机器人系统以及仿真方法
WO2017103997A1 (ja) ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラムおよびロボット
WO2023246302A9 (zh) 字幕的显示方法、装置、设备及介质
JPH0991017A (ja) ロボット動作経路確認装置
TWI913867B (zh) 動作軌跡生成方法及動作軌跡生成裝置
TWI912905B (zh) 動作軌跡產生方法及動作軌跡產生裝置
JP7704851B2 (ja) ロボットシミュレーション装置
TW202517417A (zh) 動作軌跡產生方法及動作軌跡產生裝置
TWI905938B (zh) 示教支援裝置、示教支援方法以及示教支援程序
TW202519371A (zh) 動作軌跡生成方法及動作軌跡生成裝置
TWI900230B (zh) 示教支援裝置、示教支援方法以及示教支援程序
TWI900231B (zh) 示教支援裝置、示教支援方法以及示教支援程序
JP2023157089A (ja) ロボットの動作プログラムの作成を支援するシステム、方法、及び、コンピュータープログラム
TWI912910B (zh) 機器人的動作路徑生成方法及機器人的動作路徑生成裝置
TWI912906B (zh) 機器人的動作路徑產生方法及機器人的動作路徑產生裝置
JP2025042155A (ja) 教示支援装置、教示支援方法及び教示支援プログラム
TW202531462A (zh) 機器人的動作路徑生成方法及機器人的動作路徑生成裝置
JP2025056948A (ja) ロボットの動作経路生成方法およびロボットの動作経路生成装置
JPH03160527A (ja) 知識ベース・システム
JPH03222023A (ja) 電子機器

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

F11 Ip right granted following substantive examination

Free format text: ST27 STATUS EVENT CODE: A-2-4-F10-F11-EXM-PR0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

U12 Designation fee paid

Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U12-OTH-PR1002 (AS PROVIDED BY THE NATIONAL OFFICE)

Year of fee payment: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

Q13 Ip right document published

Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE)

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000