KR20190055777A - 로봇 제어 방법 및 장치 - Google Patents

로봇 제어 방법 및 장치 Download PDF

Info

Publication number
KR20190055777A
KR20190055777A KR1020187003468A KR20187003468A KR20190055777A KR 20190055777 A KR20190055777 A KR 20190055777A KR 1020187003468 A KR1020187003468 A KR 1020187003468A KR 20187003468 A KR20187003468 A KR 20187003468A KR 20190055777 A KR20190055777 A KR 20190055777A
Authority
KR
South Korea
Prior art keywords
robot
information
work
measuring
machine tool
Prior art date
Application number
KR1020187003468A
Other languages
English (en)
Other versions
KR102609030B1 (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 KR20190055777A publication Critical patent/KR20190055777A/ko
Application granted granted Critical
Publication of KR102609030B1 publication Critical patent/KR102609030B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • 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/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • 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/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • 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/37Measurements
    • G05B2219/37445Load teaching program from file server, enter teaching data at pendant
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

로봇을 제어하기 위한 방법 및 장치가 제공된다. 본 발명의 일 양태에 따르면, 본 방법은 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계, 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우(workflow)를 생성하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하는 단계, 및 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행하는 단계를 포함할 수 있다.

Description

로봇 제어 방법 및 장치
본 발명은 일반적으로 로봇 제어 방법 및 장치에 관한 것이며, 더 구체적으로는, 로봇 동작이 수행되는 작업 환경 또는 로봇 작업에 관한 정보에 기초하여 로봇을 제어하는 방법 및 장치에 관한 것이다.
종래의 산업용 로봇은 미리 정해진 작업 환경에서의 하나의 작업 유형만을 수행할 수 있도록 제조되어, 로봇이 새로운 작업을 수행해야 할 필요가 생기거나 로봇의 작업 환경에 변화가 생기는 경우, 그러한 새로운 작업 또는 작업 환경에 관한 정보들을 일일이 입력하여 새로운 로봇 제어 프로그램을 개발해야 하는 어려움이 있었다. 특히 기존의 로봇 제어 프로그램 개발은 로봇의 세부 동작에 관한 하위 레벨 명령어들에 기초하여 이루어졌으므로, 로봇의 구동에 관한 전문가만이 수행할 수 있었다. 따라서 로봇의 사용자가 그 로봇이 새로운 작업 유형을 수행할 수 있도록 하기 위해서는, 제어 프로그램을 새로 개발하거나 기존의 프로그램을 수정하는 데에 있어서 전문가의 도움이 필요하였으며, 그에 따른 시간 및 비용이 많이 소요되는 문제점이 있었다.
본 발명의 목적은, 로봇의 작업 유형 또는 작업 환경이 변경되는 경우, 로봇을 용이하게 제어할 수 있는 방법 또는 장치를 제공하는 데 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 로봇의 제어 방법은 상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계, 상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여, 상기 로봇 동작의 워크플로우(workflow)를 생성하는 단계, 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계, 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 단계, 및 상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계를 포함할 수 있다. 여기서 상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 로봇이 초기에 설치될 때 또는 상기 작업 환경이 변경되었을 때 수행될 수 있다.
그리고 상기 로봇은 로봇 암, 상기 로봇 암의 동작을 제어하는 제어기, 상기 제어기와 통신 가능하도록 연결되는 티치 펜던트(teach pendant), 및 상기 로봇 암의 말단에 부착되는 엔드 이펙터(end effector)를 포함할 수 있으며, 상기 로봇 동작의 수행과 관련하여 상기 로봇 동작의 대상 기계 또는 주변 기기와 통신하는 단계를 더 포함할 수 있다.
상기 로봇 동작의 작업 유형은 공작 기계 보조 작업, 사출기 보조 작업, 프레스 보조 작업, 픽 엔드 플레이스(pick and place) 작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩(bonding) 작업, 비전(vision) 검사 작업 또는 분류 작업 중 적어도 하나와 관련되고, 상기 작업 환경에 관한 정보를 측정하는 단계는 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계, 또는 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계, 또는 상기 작업 환경에 관한 정보를 상기 카메라 또는 레이저 빔 측정기를 포함할 수 있는 로봇의 비접촉 측정 장치에 의해 측정하는 단계를 포함할 수 있다.
상기 로봇 동작에 관한 작업 정보를 수신하는 단계는 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신하는 단계를 포함할 수 있고, 상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계는 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계 및 상기 작업 프로그램을 실행하여 상기 로봇 동작의 수행을 제어하는 단계를 포함할 수 있으며, 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계는 상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하는 단계 및 상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하는 단계를 포함하고, 상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함할 수 있는데, 상기 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어일 수 있고, 상기 복수의 제2 레벨의 명령어들은, 상기 엔드 이펙터의 제어 명령어, 상기 대상 기계의 제어 명령어, 상기 주변 기기의 제어 명령어, 급속 이동 명령어, 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들일 수 있으며, 상기 로봇 동작의 작업 유형은 공작 기계의 보조 작업과 관련되고, 상기 엔드 이펙터는 그리퍼(gripper)를 포함하고, 상기 엔드 이펙터의 제어 명령어는 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함하고, 상기 대상 기계의 제어 명령어는 척(chuck) 열림 명령어 또는 척 닫힘 명령어를 포함할 수 있다.
상기 로봇 동작의 작업 유형은 공작 기계 보조 작업과 관련될 수 있으며, 이때 상기 작업 환경에 관한 정보는 상기 공작 기계의 척의 좌표계에 관한 정보, 상기 공작 기계의 도어의 위치에 관한 정보, 상기 로봇 동작의 수행을 위한 상기 로봇의 초기 위치에 관한 정보 또는 상기 공작 기계에 의해 가공되는 소재가 배치되는 작업 트레이의 위치에 관한 정보 중 적어도 하나를 포함할 수 있고, 상기 로봇 동작에 관한 작업 정보는 상기 작업 트레이 상의 소재를 픽업(pick up)하는 동작과 관련된 정보, 상기 소재를 상기 공작 기계의 척에 로딩(loading)하는 동작과 관련된 정보, 상기 공작 기계에 의해 가공된 상기 소재의 가공품을 상기 공작 기계의 척으로부터 언로딩(unloading)하는 동작과 관련된 정보, 상기 가공품을 상기 작업 트레이 상에 놓는 동작과 관련된 정보 또는 상기 소재의 가공품에 블로잉(blowing)을 수행하는 동작과 관련된 정보 중 적어도 하나를 포함할 수 있으며, 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계 또는 상기 로봇 동작에 관한 작업 정보를 수신하는 단계는 상기 로봇의 방향을 상기 작업 트레이, 상기 공작 기계의 척 또는 상기 공작 기계의 도어 중 적어도 하나에 대해 정렬하는 단계를 포함할 수 있으며, 상기 작업 환경에 관한 정보를 측정하는 단계는 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보를 상기 로봇이 내장하고 있고, 상기 기준점 및 상기 작업 트레이에 대한 수직방향에 대한 정보를 위하여 1개 내지 3개의 교시점을 측정하여 상기 공작 기계에 의해 가공될 소재들의 위치에 관한 정보를 측정하는 단계 또는 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보를 상기 로봇이 내장하고 있고, 상기 기준점 및 상기 작업 트레이에 대한 수직방향에 대한 정보를 위하여 1개 내지 3개의 교시점을 측정하여 상기 공작 기계에 의해 가공된 소재 가공품이 언로딩될 위치에 관한 정보를 측정하는 단계 또는 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보를 상기 로봇이 내장하고 있고, 상기 그리퍼에 대한 사양 정보를 바탕으로 작업 환경에 관한 정보를 측정하는 단계를 포함할 수 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 로봇의 제어 장치는 상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고, 상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 상기 로봇 동작의 워크플로우를 생성하도록 구성되는 워크플로우 생성부, 상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 작업 환경 측정부, 상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 작업 정보 수신부, 및 상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 로봇 동작 제어부를 포함할 수 있다.
여기서 상기 작업 환경 측정부는 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하거나, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하거나, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하거나, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하거나, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 카메라 또는 레이저 빔 측정기에 의해 측정되도록 할 수 있다.
상기 작업 정보 수신부는 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신할 수 있고, 상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 작업 프로그램 생성부를 더 포함하고, 상기 로봇 동작 제어부는 상기 생성된 작업 프로그램에 기초하여 상기 로봇의 상기 로봇 동작의 수행을 제어할 수 있는데, 상기 작업 프로그램 생성부는 상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하고, 상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하고, 상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함할 수 있다.
그리고 상기 로봇 동작의 수행과 관련하여 대상 기계 또는 주변 기기와 통신하는 통신 인터페이스부를 더 포함할 수 있고, 제1항 내지 제22항 중 어느 한 항의 로봇 제어 방법을 로봇 제어 장치에 의해 수행하도록 하는 프로그램을 저장하는 컴퓨터 판독가능 기록매체를 포함할 수 있다.
본 발명은 로봇의 작업 유형 또는 작업 환경이 변경되는 경우, 그 로봇의 사용자가 로봇 제어 프로그램을 효율적으로 생성하거나 수정하여 로봇을 제어할 수 있는 효과를 제공한다.
도 1은 본 개시의 일 실시 예에 따른 로봇 시스템의 개략적인 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 로봇 암의 개략적인 외부 구성을 보여주는 사시도이다.
도 3은 본 개시의 일 실시 예에 따른 로봇 제어기의 개략적인 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 로봇 동작의 작업 유형에 관한 정보에 기초하여 생성된 로봇 동작의 워크플로우를 보여주는 도면이다.
도 5는 본 개시의 일 실 예에 따른 공작 기계(510)의 척(520)과 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다.
도 6은 본 개시의 다른 실시 예에 따른 공작 기계(510)의 도어와 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다.
도 7은 본 개시의 일 실시 예에 따른 작업 트레이(700)와 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다.
도 8은 본 개시의 일 실시예에 따른 작업 트레이와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 9는 본 개시의 일 실시예에 따른 공작 기계와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 10은 본 개시의 다른 실시예에 따른 작업 트레이와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 11은 본 개시의 일 실시 예에 따른 내장 작업 트레이를 도시한 사시도이다.
도 12는 본 개시의 일 실시 예에 따른 로봇의 작업 환경을 측정하는 경우의 티치 펜던트(130)의 디스플레이 화면(1100)을 보여주는 도면이다.
도 13은 본 개시의 일 실시 예에 따른 로봇의 동작에 관한 작업 정보를 수신하는 경우의 티치 펜던트(130)의 디스플레이 화면(1200)을 보여주는 도면이다.
도 14는 본 개시의 일 실시 예에 따른 로봇의 제어 방법(1300)을 보여주는 흐름도이다.
도 15는 본 개시의 일 실시 예에 따른 로봇의 제어를 위한 작업 프로그램에 기초하여 로봇 동작의 수행을 제어하는 방법(1350)을 보여주는 흐름도이다.
본 개시 내용은 로봇 동작이 수행되는 작업 환경 또는 로봇 작업에 관한 정보에 기초하여 로봇을 제어하는 방법 및 장치를 제공한다. 이하, 첨부된 도면을 참조하여, 본 개시 내용을 구현하기에 적합한 구체적인 실시예들에 대하여 설명한다. 다만, 이는 예시적인 설명일 뿐이며 이하의 설명에 나타난 바와 같이 발명을 한정하고자 하는 것은 아니다.
도 1은 본 개시의 일 실시 예에 따른 로봇 시스템(100)의 개략적인 블록도이다. 로봇 시스템(100)은 로봇 암(110), 로봇 제어기(120), 티치 펜던트(130), 대상 기계(140) 및 주변 기기(150)를 포함할 수 있다. 로봇 암(robot arm)(110)은, 공작 기계 보조 작업, 사출기 보조 작업, 프레스 보조 작업, 픽 엔드 플레이스(pick and place) 작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩(bonding) 작업, 비전(vision) 검사 작업 또는 분류 작업 등을 포함하는 다양한 작업을 수행할 수 있는 하나 이상의 관절 부분을 포함하는 다관절 로봇 암일 수 있으나, 로봇 암(110)의 구성은 이에 한정되지는 않는다. 로봇 제어기(120)는 로봇 암(110)의 동작을 제어하도록 구성될 수 있으며, 임의의 유선 또는 무선 인터페이스를 통해 로봇 암(110)과 통신할 수 있다.
일 실시 예에서, 로봇 제어기(120)는 임의의 유선 또는 무선 인터페이스를 통해 로봇 동작의 대상 기계(140) 또는 주변 기기(150)와 통신할 수 있다. 대상 기계(140)는 공작 기계, 사출기, 프레스 등 중의 하나 이상을 포함할 수 있고, 주변 기기(150)는 작업 트레이(예를 들어, 팔레트), 컨베이어 등 중의 하나 이상을 포함할 수 있다. 티치 펜던트(130)는 로봇 암(110)의 동작을 제어하기 위한 사용자 인터페이스를 포함하는 입출력 장치로서, 임의의 유선 또는 무선 인터페이스를 통해 로봇 제어기(120)와 통신할 수 있다. 티치 펜던트(130)는 입력 장치로서 키보드, 터치 스크린 등을 포함할 수 있으며, 출력 장치로서 디스플레이 등을 포함할 수 있다. 도 1에서 로봇 암(110)과 로봇 제어기(120)는 별개의 구성요소 또는 장치로서 도시되어 있으나, 로봇 암(110)과 로봇 제어기(120)는 하나의 장치로 결합될 수도 있다. 본 명세서에서, 로봇 제어기(120), 티치 펜던트(130) 또는 로봇 제어기(120)와 티치 펜던트(130)의 조합은, 포괄적으로 로봇 제어 장치로 불릴 수 있다.
도 2는 본 개시의 일 실시 예에 따른 로봇 암(110)의 개략적인 구성을 보여주는 사시도이다. 도시된 바와 같이, 로봇 암(110)은 복수의 관절 부분(210, 220, 230)을 포함할 수 있으며, 로봇 암(110)의 말단에는 엔드 이펙터(end effector)(200)가 부착될 수 있다. 도 2에는 엔드 이펙터(200)가 그리퍼(gripper)인 것으로 도시되어 있으나, 로봇 암(110)이 실행할 작업 유형에 따라 엔드 이펙터(200)는 그리퍼 뿐만 아니라, 용접 토치, 스프레이건, 너트 러너 등을 포함할 수 있다. 로봇 암(110)은 로봇 암(110)의 동작을 제어하도록 구성될 수 있는 로봇 제어기(120)와 통신할 수 있다. 도 2에는 로봇 암(110)이 로봇 제어기(120)와 유선 통신을 위한 케이블(240)로 연결된 것으로 도시되어 있으나, 로봇 암(110)과 로봇 제어기(120)는 임의의 유선 및/또는 무선 인터페이스를 통해 통신 가능하도록 연결될 수 있다. 또한, 도 2에서 로봇 암(110)과 로봇 제어기(120)는 별개의 장치로 도시되어 있으나 로봇 암(110)과 로봇 제어기(120)는 하나의 장치로 결합될 수도 있다. 로봇 제어기(120)는 임의의 유선 또는 무선 인터페이스를 통해 사용자 인터페이스를 포함하는 티치 펜던트(130)와 통신할 수 있다. 예를 들어, 사용자가 티치 펜던트(130)에서 로봇 암(110)을 제어하기 위한 명령을 입력하면, 이러한 제어 명령에 따라 로봇 제어기(120)는 로봇 암(110)을 제어할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 로봇 제어기(120)의 개략적인 블록도이다. 로봇 제어기(120)는 작업 환경 측정부(300), 작업 정보 수신부(310) 및 작업 관리부(320)를 포함할 수 있다. 또한, 로봇 제어기(120)는 통신 인터페이스부(330)를 포함할 수 있다. 예를 들어, 로봇 제어기(120)가 로봇 동작의 대상 기계(140)인 공작 기계와 통신하는 경우, 통신 인터페이스부(330)는 a) 공작 기계의 정상 작동 여부에 대한 확인 요청을 공작 기계로 전송하고, 이에 대한 응답을 공작 기계로부터 수신할 수 있고, b) 공작 기계로 가공 개시 명령을 전송하고, 이에 대한 응답을 공작 기계로부터 수신할 수 있으며, c) 공작 기계로 척(chuck) 열림 명령을 전송하고, 이에 대한 응답을 공작 기계로부터 수신할 수 있고, d) 공작 기계로 척 닫힘 명령을 전송하고, 이에 대한 응답을 공작 기계로부터 수신할 수 있다.
작업 환경 측정부(300)는 로봇 암(110)을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하도록 구성될 수 있다. 예를 들어, 로봇 동작이 수행되는 작업 환경에 관한 정보는 대상 기계(140)의 위치에 관한 정보(예를 들어, 공작 기계의 척의 좌표계에 관한 정보 또는 공작 기계의 도어의 위치에 관한 정보), 대상 기계(140)에 의해 가공되는 소재가 배치되는 작업 트레이의 위치에 관한 정보, 로봇 동작의 수행을 위한 로봇(예를 들어, 도 2의 로봇 암(110))의 초기 또는 경유 위치에 관한 정보 등을 포함할 수 있다. 일 실시예에서, 로봇 암(110)의 초기 위치에 관한 작업 환경 정보를 측정하는 경우, 작업 환경 측정부(300)는 이동할 초기 위치에 로봇 암(110)을 위치시킨 후 그때의 로봇 암(110)의 공간 좌표를 저장함으로써 로봇 암(110)의 초기 위치에 관한 작업 환경 정보를 측정할 수 있다. 유사하게, 로봇 암(110)이 이동할 경로 상의 경유 지점에 관한 작업 환경 정보를 측정하는 경우, 작업 환경 측정부(300)는 목표하는 경유 지점에 로봇 암(110)을 위치시킨 후 그때의 로봇 암(110)의 공간 좌표를 저장함으로써 로봇 암(110)의 경유 지점에 관한 작업 환경 정보를 측정할 수 있다.
작업 정보 수신부(310)는 로봇 암(110)을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하도록 구성될 수 있다. 예를 들어, 로봇 동작에 관한 작업 정보는, 작업 트레이 상의 소재를 픽업(pick up)하는 것과 관련된 정보, 소재를 공작 기계의 척에 로딩(loading)하는 것과 관련된 정보, 공작 기계에 의해 가공된 소재의 가공품을 공작 기계의 척으로부터 언로딩(unloading)하는 것과 관련된 정보, 가공품을 작업 트레이 상에 놓는 것과 관련된 정보 또는 소재의 가공품에 존재하는 불순물을 제거하기 위해 블로잉(blowing) 작업을 수행하는 것과 관련된 정보 등을 포함할 수 있다.
일 실시예에서, 로봇 동작에 관한 작업 정보는 어프로칭(approaching), 리트랙팅(retracting), 피킹(picking), 플레이싱(placing) 등과 같은 로봇 동작의 특성을 지정 또는 표시하기 위한 정보일 수 있다. 이러한 로봇 동작에 관한 작업 정보는 로봇의 동작 방식 또는 동작 메커니즘을 제어하기 위해 참조되거나 사용될 수 있다. 일 실시예로서, 로봇 동작에 관한 작업 정보가 어프로칭인 경우, 로봇(예를 들어, 도 2의 로봇 암(110))은 빠르고 정밀하게 목표 지점으로 이동하기 위해, 초기의 제1 지점부터 중간의 제2 지점까지는 로봇이 가장 빠르게 이동할 수 있는 급속 이동 방식(또는 고속 이동 방식)으로 이동하고 제2 지점부터 최종의 제3 지점까지는 정밀하게 이동할 수 있는 정밀 이동 방식으로 이동하도록 제어될 수 있다.
다른 실시예로서, 로봇 동작에 관한 작업 정보가 리트랙팅인 경우, 로봇은 안전하면서도 빠르게 해당 위치를 벗어나기 위해, 초기의 제1 지점부터 중간의 제2 지점까지는 경로를 이탈함이 없이 정확히 빠져나가도록 정밀 이동 방식으로 이동하고, 중간의 제2 지점부터 최종의 제3 지점까지는 빠르게 위치를 벗어나도록 급속 이동 방식으로 이동하도록 제어될 수 있다. 또 다른 실시예로서, 로봇 동작에 관한 작업 정보가 피킹인 경우, 로봇은 특정 위치의 대상물을 픽업하는 데 적합하도록, 초기의 제1 지점부터 대상물이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 대상물을 픽업하고, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다. 또 다른 실시예로서, 로봇 동작에 관한 작업 정보가 플레이싱인 경우, 로봇은 대상물을 특정 위치에 위치시키는 데 적합하도록, 초기의 제1 지점부터 대상물이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 픽업하고 있던 대상물을 내려놓은 후, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
작업 관리부(320)는 워크플로우 생성부(340), 로봇 동작 제어부(350) 및 데이터 저장부(360)를 포함할 수 있다. 워크플로우 생성부(340)는 로봇 암(110)에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고, 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우를 생성하도록 구성될 수 있다. 예를 들어, 작업 유형이 공작 기계 보조 작업인 경우, 로봇 동작의 워크플로우는 a) 초기 위치에 위치하는 동작 단계, b) 공작 기계 룸의 도어를 여는 동작 단계, c) 작업 트레이(예를 들어, 팔레트)에서 소재를 픽업하는 동작 단계, d) 공작 기계 룸의 도어를 지나 공작 기계 룸으로 진입하는 동작 단계, e) 공작 기계 룸 내 공작 기계의 특정 위치에 픽업한 소재를 위치시키는 동작 단계, f) 공작 기계에 의해 소재가 가공되는 것을 기다려 소재를 회수하는 동작 단계들로 구성될 수 있다. 한편 이는 예시적인 것으로서, 그 외에도 워크플로우 생성부(340)는 사출기 보조작업, 프레스 보조작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩 작업, 비전 검사 작업, 분류 작업 등 수신된 작업 유형에 따라, 해당 작업에 적합한 동작 단계들로 구성된 상이한 워크플로우를 생성할 수 있다.
로봇 동작 제어부(350)는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇 암(110)을 제어하여, 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 암(110)이 로봇 동작을 수행하도록 구성될 수 있다. 일 실시예에서, 로봇 동작 제어부(350)는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇 동작의 작업 유형 및 워크플로우에 따라 데이터 저장부(360)에 저장된 작업 프로그램 중 적합한 작업 프로그램을 선택하고, 선택된 작업 프로그램을 실행하여 로봇 암(110)을 제어할 수 있다.
다른 실시예에서, 로봇 동작 제어부(350)는 측정된 작업 환경에 관한 정보, 수신된 로봇 동작에 관한 작업 정보, 로봇 동작의 작업 유형 및 워크플로우 등에 기초하여, 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 작업 프로그램 생성부(미도시)를 포함할 수 있다. 이 경우, 로봇 동작 제어부(350)는 작업 프로그램 생성부에서 생성된 작업 프로그램을 실행하여 로봇 암(110)의 동작을 제어할 수 있다.
작업 프로그램 생성부는 측정된 작업 환경에 관한 정보, 수신된 로봇 동작에 관한 작업 정보, 로봇 동작의 작업 유형 및 워크플로우 등에 기초하여, 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하도록 구성될 수 있다. 일 실시예에서, 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어일 수 있다. 예를 들어, 어프로칭 명령어는 로봇(예를 들어, 도 2의 로봇 암(110))이 특정 위치에 효과적으로 접근하기 위한 상위 레벨의 명령어일 수 있고, 리트랙팅 명령어는 로봇이 특정 위치에서 효과적으로 벗어나기 위한 상위 레벨의 명령어일 수 있으며, 피킹 명령어는 로봇이 특정 위치의 대상물을 잡기 위한 상위 레벨의 명령어일 수 있고, 플레이싱 명령어는 로봇이 특정 위치에 대상물을 위치시키기 위한 상위 레벨의 명령어일 수 있다.
일 실시예에서, 어프로칭 명령어, 리트랙팅 명령어, 피킹 명령어 및 플레이싱 명령어의 각각은, 로봇의 어프로칭, 리트랙팅, 피킹 및 플레이싱 작업 정보에 대응될 수 있다. 예를 들어, 수신된 로봇 동작에 관한 작업 정보가 어프로칭과 관련되는 경우, 작업 프로그램 생성부는 이러한 작업 정보에 대응하여 어프로칭 명령어를 생성할 수 있다. 유사하게, 수신된 로봇 동작에 관한 작업 정보가 리트랙팅, 피킹 또는 플레이싱과 관련되는 경우, 작업 프로그램 생성부는 이러한 작업 정보에 대응하여 리트랙팅 명령어, 피킹 명령어 또는 플레이싱 명령어를 생성할 수 있다.
작업 프로그램 생성부는 적어도 하나의 제1 레벨의 명령어에 기초하여, 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하도록 구성될 수 있다. 복수의 제2 레벨의 명령어들은, 엔드 이펙터의 제어 명령어, 대상 기계(예를 들어, 공작 기계)의 제어 명령어, 주변 기기(예를 들어, 작업 트레이 또는 컨베이어)의 제어 명령어, 급속 이동 명령어(또는 고속 이동 명령어), 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들일 수 있다. 예를 들어, 로봇 동작의 작업 유형이 공작 기계 보조 작업인 경우 엔드 이펙터의 제어 명령어는 그리퍼 제어 명령어인 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함할 수 있고, 대상 기계(예를 들어, 공작 기계)의 제어 명령어는 척 열림 명령어 또는 척 닫힘 명령어를 포함할 수 있다.
일 실시예에서, 제1 레벨의 명령어는 적어도 두 개 이상의 제2 레벨의 명령어들의 조합을 포함할 수 있다. 예를 들어, 제1 레벨의 명령어인 어프로칭 명령어는 제2 레벨의 명령어인 급속 이동 명령어와 정밀 이동 명령어의 조합으로 구성될 수 있다. 유사하게 제1 레벨의 명령어인 리트랙팅 명령어도 제2 레벨의 명령어인 급속 이동 명령어와 정밀 이동 명령어의 조합으로 구성될 수 있다. 또한, 제1 레벨의 명령어인 피킹 명령어는 제2 레벨의 명령어인 급속 이동 명령어, 정밀 이동 명령어 또는 그리퍼 제어 명령어의 조합으로 구성될 수 있다. 유사하게, 제1 레벨의 명령어인 플레이싱 명령어도 제2 레벨의 명령어인 급속 이동 명령어, 정밀 이동 명령어 또는 그리퍼 제어 명령어의 조합으로 구성될 수 있다.
작업 프로그램 생성부는 복수의 제2 레벨의 명령어들에 기초하여, 로봇 동작을 위한 작업 프로그램을 생성하도록 구성될 수 있다. 일 실시예에서, 작업 프로그램 생성부는 복수의 제2 레벨의 명령어들에 기초하여, 더 하위 레벨의 명령어들인 복수의 제3 레벨의 명령어들을 생성하도록 구성될 수 있다. 이 경우, 작업 프로그램 생성부는 복수의 제3 레벨의 명령어들에 기초하여, 로봇 동작을 위한 작업 프로그램을 생성하도록 구성될 수 있다.
데이터 저장부(360)는 로봇 동작의 작업 유형, 각각의 작업 유형별 로봇 동작의 워크플로우, 로봇 동작이 수행되는 작업 환경에 관한 정보, 로봇 동작에 관한 작업 정보 등을 저장할 수 있다. 또한, 데이터 저장부(360)는 각각의 작업 유형에 따라 로봇 동작 제어부(350)에서 실행될 수 있는 작업 프로그램 등을 저장할 수 있다.
도 4는 본 개시의 일 실시예에 따른 로봇 동작의 작업 유형에 관한 정보에 기초하여 생성된 로봇 동작의 워크플로우를 보여주는 도면이다. 로봇 제어 장치(예를 들어, 도 3의 워크플로우 생성부(340))는 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우를 생성할 수 있다. 예를 들어, 작업 유형이 싱글 그리퍼를 이용한 공작 기계 보조 작업인 경우, 도 4에 도시된 것과 같은 워크플로우를 생성할 수 있다. 도 4를 참조하면, 싱글 그리퍼를 이용한 공작 기계 보조 작업의 워크플로우는 초기 위치에 로봇 암(110)을 위치시키는 동작 단계(단계 410), 공작 기계의 도어를 여는 동작 단계(단계 420), 작업 트레이의 소재를 공작 기계로 로딩시키는 동작 단계(단계 430), 공작 기계의 도어를 닫는 동작 단계(단계 440), 초기 위치에 로봇 암(110)을 위치시키는 동작 단계(단계 450), 공작 기계의 가공 사이클 동안 대기하는 동작 단계(단계 460), 공작 기계의 도어를 여는 동작 단계(단계 470), 소재의 가공품을 언로딩하는 동작 단계(단계 480) 등을 포함할 수 있다. 소재의 가공품을 언로딩한 후에는 다음 소재를 공장 기계로 로딩할 수 있다. 즉, 작업 트레이의 소재를 공작 기계로 로딩시키는 동작 단계(단계 430)부터 소재의 가공품을 언로딩하는 동작 단계(단계 480)는 작업 트레이에 구비되어 있는 소재의 수량만큼 반복하여 수행할 수 있다. 마찬가지로 작업 유형이 듀얼 그리퍼를 이용한 공작 기계 보조 작업인 경우에도 이에 따른 워크플로우를 생성할 수 있으며, 다른 작업 유형들에 대해서도 워크플로우가 생성될 수 있다.
전술한 워크플로우 생성 시에 각 동작 단계를 수행하기 위한 공작 기계(510)와 관련된 로봇의 작업 환경을 교시해 줄 필요가 있다. 일 예로서 초기 위치에 로봇 암(110)을 위치시키는 동작 단계(단계 410)에서는 초기 위치의 좌표를 교시해 주어야 하고, 공작 기계(510)의 도어를 여는 동작 단계(단계 420)에서는 도어 핸들의 위치를 교시해 줄 필요가 있다. 또한 작업 트레이의 소재를 공작 기계로 로딩시키는 동작 단계(단계 430) 및 소재의 가공품을 언로딩하는 동작 단계(단계 480)를 위해서는 픽업할 소재의 위치, 소재를 로딩시킬 척의 위치, 소재의 가공품을 언로딩할 트레이의 위치 등을 교시해 줄 필요가 있다. 이러한 로봇의 작업 환경에 관한 교시는 로봇을 직접 움직여서 위치를 알려주는 직접 교시에 의하여서도 가능하고 좌표를 입력하여 주는 간접 교시에 의하여서도 가능할 수 있다.
도 5는 본 개시의 일 실 예에 따른 공작 기계(510)의 척(520)과 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다. 도 5를 참조하면, 로봇 암(110)의 엔드 이펙터(200)는 로봇의 작업 환경 중의 하나인 공작 기계(510)의 척(520)의 좌표에 관한 정보를 교시받고 측정하기 위해 접촉 측정 장치(500)를 잡고 있을 수 있다.
일 실시 예로서 로봇 제어 장치(예를 들어, 도 3의 작업 환경 측정부(300))는 접촉 측정 장치(500)로 공작 기계(510)의 척(520)과 관련된 하나 이상의 지점을 접촉하도록 로봇 암(110)을 제어함으로써, 공작 기계(510)의 척(520)의 좌표계에 관한 정보를 측정할 수 있다. 이때, 로봇 제어 장치는 특정 시점에 접촉 측정 장치(500)가 위치하는 지점의 공간 좌표를 저장함으로써 공작 기계(510)의 척(520)의 좌표에 관한 정보를 측정할 수 있다.
또 다른 일 실시 예로서 작업자의 직접적인 로봇 이동을 바탕으로 교시하는 직접 교시를 통해 접촉 측정 장치(500)가 공작 기계(510)의 척(520)과 관련된 하나 이상의 지점에 접촉되도록 로봇 암(110)이 조작되는 동안, 로봇 제어 장치는 공작 기계(510)의 척(520)의 좌표에 관한 정보를 측정할 수 있다.
또 다른 일 실시 예로서, 로봇 제어 장치는 접촉 측정 장치(500) 대신 카메라 또는 레이저 빔 측정기 등의 비접촉 측정 장치를 이용하여 공작 기계(510)의 척(520)의 좌표에 관한 정보를 측정할 수 있다.
도 5에는 공작 기계(510)와 관련된 로봇의 작업 환경 측정 방법이 도시되어 있으나, 로봇 제어 장치는 사출기, 프레스 등 로봇 동작의 다른 대상 기계들과 관련된 로봇의 작업 환경도 유사한 방법으로 측정할 수 있다.
도 6은 본 개시의 다른 실시 예에 따른 공작 기계(510)의 도어와 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다. 도 6을 참조하면, 로봇 암(110)의 엔드 이펙터(200)는 로봇의 작업 환경 중의 하나인 공작 기계(510)의 도어(600)의 위치에 관한 정보를 측정하기 위해 도어(600)의 핸들(610) 근처에 위치할 수 있다. 이때, 로봇 암(110)의 엔드 이펙터(200)가 도어(600)의 핸들(610)을 밀어서 도어(600)를 열고 닫을 수 있도록, 로봇 암(110)의 엔드 이펙터(200)의 방향은 도어(600)의 핸들(610)의 방향에 맞추어 자동으로 정렬될 수 있다.
일 실시 예로서 로봇 제어 장치(예를 들어, 도 3의 작업 환경 측정부(300))는 로봇 암(110)의 엔드 이펙터(200)가 도어(600)의 핸들(610)을 밀어서 도어(600)를 열고 닫도록 로봇 암(110)을 제어함으로써, 공작 기계(510)의 도어(600)의 위치에 관한 정보를 측정할 수 있다. 이때, 로봇 제어 장치는 로봇 암(110)이 도어(600)를 여는 열림 동작의 시작, 로봇 암(110)이 도어(600)를 여는 열림 동작의 종료, 로봇 암(110)이 도어(600)를 닫는 닫힘 동작의 시작, 로봇 암(110)이 도어(600)를 닫는 닫힘 동작의 종료 등 특정 시점에 로봇 암(110)이 위치하는 공간 좌표를 저장함으로써 공작 기계(510)의 도어(600)의 위치에 관한 정보를 측정할 수 있다.
또 다른 일 실시 예로서, 작업자의 직접 교시를 통해 로봇 암(110)의 엔드 이펙터(200)가 도어(600)의 핸들(610)을 밀어서 도어(600)를 열고 닫도록 조작되는 동안, 로봇 제어 장치는 공작 기계(510)의 도어(600)의 위치에 관한 정보를 측정할 수 있다. 도 6에는 공작 기계(510)의 도어(600)와 관련된 로봇의 작업 환경 측정 방법이 도시되어 있으나, 로봇 제어 장치는 사출기, 프레스 등 로봇 동작의 다른 대상 기계들의 도어 또는 다른 개폐장치와 관련된 로봇의 작업 환경도 유사한 방법으로 측정할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 작업 트레이(700)와 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다. 도 7을 참조하면, 로봇 암(110)의 엔드 이펙터(200)는 로봇의 작업 환경 중의 하나인 소재(710)가 배치되는 작업 트레이(700)의 위치에 관한 정보를 측정하기 위해 접촉 측정 장치(500)를 잡고 있을 수 있다.
일 실시 예로서 로봇 제어 장치(예를 들어, 도 3의 작업 환경 측정부(300))는 접촉 측정 장치(500)로 작업 트레이(700)의 하나 이상의 지점(예를 들어, 작업 트레이(700)의 모서리 지점)을 접촉하도록 로봇 암(110)을 제어함으로써, 작업 트레이(700)의 위치에 관한 정보를 측정할 수 있다. 이때, 로봇 제어 장치는 특정 시점에 접촉 측정 장치(500)가 위치하는 지점의 공간 좌표를 저장함으로써 작업 트레이(700)의 위치에 관한 정보를 측정할 수 있다.
또 다른 일 실시 예로서, 작업자의 직접 교시를 통해 접촉 측정 장치(500)가 작업 트레이(700)의 하나 이상의 지점에 접촉되도록 로봇 암(110)이 조작되는 동안, 로봇 제어 장치는 작업 트레이(700)의 위치에 관한 정보를 측정할 수 있다. 다른 실시예에서, 로봇 제어 장치는 접촉 측정 장치(500) 대신 카메라 또는 레이저 빔 측정기 등의 비접촉 측정 장치를 이용하여 작업 트레이(700)의 위치에 관한 정보를 측정할 수 있다. 도 7에는 작업 트레이(700)와 관련된 로봇의 작업 환경 측정 방법이 도시되어 있으나, 로봇 제어 장치는 컨베이어 등 로봇 동작의 다른 주변 기기와 관련된 로봇의 작업 환경도 유사한 방법으로 측정할 수 있다.
도 8은 본 개시의 일 실시예에 따른 작업 트레이(700)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법을 보여주는 사시도이다. 도 8을 참조하면, 로봇 암(110)의 엔드 이펙터(200)는 로봇의 동작에 관한 작업 정보(예를 들어, 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 정보)를 수신하기 위해 작업 트레이(700)의 소재(710) 근처에 위치할 수 있다. 이때, 로봇 암(110)의 엔드 이펙터(200)가 작업 트레이(700)의 소재(710)를 픽업할 수 있도록, 로봇 암(110)의 엔드 이펙터(200)의 방향은 작업 트레이(700)의 방향에 맞추어 자동으로 정렬될 수 있다.
로봇 제어 장치(예를 들어, 도 3의 작업 정보 수신부(310))는 로봇 암(110)의 엔드 이펙터(200)가 작업 트레이(700)의 소재(710)를 픽업하도록 제어함으로써, 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보를 수신할 수 있다. 로봇 제어 장치는 이러한 픽업 과정의 특정 시점들에 있어서 로봇 암(110)이 위치하는 지점의 공간 좌표를 저장함으로써 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보를 수신할 수 있다. 일 실시예에서, 작업자의 직접 교시를 통해 로봇 암(110)의 엔드 이펙터(200)가 소재(710)를 픽업하도록 조작되는 동안, 로봇 제어 장치는 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보를 수신할 수 있다. 도 8에는 작업 트레이(700)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법이 도시되어 있으나, 로봇 제어 장치는 컨베이어 등 로봇 동작의 다른 주변 기기와 관련된 로봇의 작업 정보도 유사한 방법으로 수신할 수 있다.
일 실시예에서, 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보는, 특정 위치의 대상물을 픽업하기 위한 작업 정보인 피킹에 대응될 수 있다. 이 경우, 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보에 기초하여, 로봇 암(110)은 초기의 제1 지점(예를 들어, 로봇 암(110)의 초기 위치)부터 작업 트레이(700) 상의 소재(710)가 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 소재(710)를 픽업하고, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
도 9는 본 개시의 일 실시예에 따른 공작 기계(510)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법을 보여주는 사시도이다. 도 9를 참조하면, 소재(710)를 잡고 있는 로봇 암(110)의 엔드 이펙터(200)는 로봇의 동작에 관한 작업 정보(예를 들어, 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 정보)를 수신하기 위해 공작 기계(510)의 척(520) 근처에 위치할 수 있다. 이때, 로봇 암(110)의 엔드 이펙터(200)가 소재(710)를 공작 기계(510)의 척(520)에 로딩할 수 있도록, 로봇 암(110)의 엔드 이펙터(200)의 방향은 공작 기계(510)의 척(520)의 방향에 맞추어 자동으로 정렬될 수 있다.
로봇 제어 장치(예를 들어, 도 3의 작업 정보 수신부(310))는 로봇 암(110)의 엔드 이펙터(200)가 소재(710)를 공작 기계(510)의 척(520)에 로딩하도록 제어함으로써, 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보를 수신할 수 있다. 로봇 제어 장치는 이러한 로딩 과정의 특정 시점들에 있어서 로봇 암(110)이 위치하는 지점의 공간 좌표를 저장함으로써 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보를 수신할 수 있다.
일 실시예에서, 작업자의 직접 교시를 통해 로봇 암(110)의 엔드 이펙터(200)가 소재(710)를 공작 기계(510)의 척(520)에 로딩하도록 조작되는 동안, 로봇 제어 장치는 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보를 수신할 수 있다. 도 9에는 공작 기계(510)의 척(520)과 관련된 로봇의 동작에 관한 작업 정보의 수신 방법이 도시되어 있으나, 로봇 제어 장치는 사출기, 프레스 등 로봇 동작의 다른 대상 기계들과 관련된 로봇의 작업 정보도 유사한 방법으로 수신할 수 있다.
일 실시예에서, 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 것과 관련된 작업 정보는, 대상물을 특정 위치에 위치시키기 위한 작업 정보인 플레이싱에 대응될 수 있다. 이 경우, 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보에 기초하여, 로봇 암(110)은 초기의 제1 지점(예를 들어, 로봇 암(110)의 초기 위치)부터 공작 기계(510)의 척(520)이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 픽업하고 있던 소재(710)를 내려놓은 후, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보를 수신하는 방법과 유사하게, 로봇 제어 장치는 소재(710)가 공작 기계(510)에 의해 가공된 후 가공품을 공작 기계(510)의 척(520)으로부터 언로딩하는 동작과 관련된 작업 정보도 수신할 수 있다. 일 실시예에서, 가공품을 공작 기계(510)의 척(520)으로부터 언로딩하는 동작과 관련된 작업 정보는, 특정 위치의 대상물을 픽업하기 위한 작업 정보인 피킹에 대응될 수 있다. 이 경우, 가공품을 공작 기계(510)의 척(520)으로부터 언로딩하는 동작과 관련된 작업 정보에 기초하여, 로봇 암(110)은 초기의 제1 지점부터 공작 기계(510)의 척(520)이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 가공품을 픽업하고, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
도 10은 본 개시의 다른 실시예에 따른 작업 트레이(700)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법을 보여주는 사시도이다. 도 10을 참조하면, 가공품(1000)을 잡고 있는 로봇 암(110)의 엔드 이펙터(200)는 로봇의 동작에 관한 작업 정보(예를 들어, 공작 기계(510)에 의해 가공된 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보)를 수신하기 위해 작업 트레이(700)의 근처에 위치할 수 있다. 이때, 로봇 암(110)의 엔드 이펙터(200)가 가공품(1000)을 작업 트레이(700) 상에 내려 놓을 수 있도록, 로봇 암(110)의 엔드 이펙터(200)의 방향은 작업 트레이(700)의 방향에 맞추어 자동으로 정렬될 수 있다.
로봇 제어 장치(예를 들어, 도 3의 작업 정보 수신부(310))는 로봇 암(110)의 엔드 이펙터(200)가 가공품(1000)을 작업 트레이(700) 상에 내려 놓도록 제어함으로써, 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보를 수신할 수 있다. 로봇 제어 장치는 이러한 과정의 특정 시점들에 있어서 로봇 암(110)이 위치하는 지점의 공간 좌표를 저장함으로써 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보를 수신할 수 있다. 일 실시예에서, 작업자의 직접 교시를 통해 로봇 암(110)의 엔드 이펙터(200)가 가공품(1000)을 작업 트레이(700) 상에 내려 놓도록 조작되는 동안, 로봇 제어 장치는 가공품(1000)을 작업 트레이(700) 상에 내려놓는 동작과 관련된 작업 정보를 수신할 수 있다. 도 10에는 작업 트레이(700)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법이 도시되어 있으나, 로봇 제어 장치는 컨베이어 등 로봇 동작의 다른 주변 기기와 관련된 로봇의 작업 정보도 유사한 방법으로 수신할 수 있다.
일 실시예에서, 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보는, 대상물을 특정 위치에 위치시키기 위한 작업 정보인 플레이싱에 대응될 수 있다. 이 경우, 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보에 기초하여, 로봇 암(110)은 초기의 제1 지점부터 가공품(1000)이 놓일 작업 트레이(700)의 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 픽업하고 있던 가공품(1000)을 내려놓은 후, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
일 실시예에서, 작업 트레이(700) 상에 가공품(1000)을 내려 놓기 전에, 가공품(1000) 표면의 불순물 등을 제거하기 위해 블로잉(blowing) 작업이 수행될 수 있다. 이 경우, 로봇 제어 장치는 로봇 암(110)을 블로잉 작업을 수행할 위치에 위치시킨 후 로봇 암(110)이 위치하는 지점의 공간 좌표를 저장함으로써, 블로잉을 수행하는 위치와 관련된 작업 정보도 수신할 수 있다.
도 5 내지 도 10을 참조하여 전술한 내용을 바탕으로 도 4에 제시된 로봇 동작의 워크플로우를 수행하기 위하여 로봇 제어 장치가 측정 또는 교시받아야 할 위치 즉 교시점의 수는 다음 표 1과 같이 요약할 수 있다.
작업 정보 필요 작업환경 정보 교시점수
소재 피킹 로딩 작업 트레이 위치 3
로딩 작업 트레이 수직방향
i번째 소재 위치 n
공작 기계 도어열기/닫기 핸들 시작 위치 1
핸들 종료 위치 1
공작 기계로 로딩 에어블로잉 위치 1
척 수직 방향 4
소재 장착 위치 1
소재 가공품 탈착 에어블로잉 위치 1
척수직 방향 0
가공물 탈착 위치 1
외부 에어블로잉 에어블로잉 위치 1
측정 검사위치 1
소재 가공품 언로딩 언로딩 작업 트레이 위치 3
언로딩 작업 트레이 수직 방향
i번째 소재 위치 n
초기 위치 초기 위치 정보 1
총 교시점 수 19+2n
표 1을 참조하면, 로봇이 공작 기계(510)에 소재를 로딩하기 위하여 작업 트레이로부터 소재를 피킹하기 위해서는 로딩 작업 트레이 위치 및 수직방향을 지정하기 위한 3개의 교시점(좌표)가 필요하고, 또한 로딩 작업 트레이 내에서 소재가 위치하는 지점을 교시하기 위해 n개의 교시점이 필요하다. 그리고 공작 기계(510)의 도어를 열고 닫기 위하여서는 도어 핸들의 시작점 및 종료점에 대한 교시가 필요하다. 다만, 도어를 열 때와 닫을 때는 시작점이 종료점이 되고 종료점이 시작점이 되기 때문에 2개의 교시점만으로 가능할 수 있다. 피킹된 소재를 공작 기계(510)의 척(520)에 로딩하기 위해서는 먼지를 제거하기 위한 에어블로잉 위치, 척의 수직 방향을 나타내기 위한 4개의 교시점, 척의 위치를 나타내는 1개의 교시점이 필요할 수 있다.
그리고 공작 기계(510)가 소재를 가공한 이후 소재 가공품을 척(520)으로부터 탈착 후 언로딩 작업 트레이로 언로딩하기 위해서는 언로딩 작업 트레이 위치, 언로딩 작업 트레이 수직방향, 언로딩 작업 트레이 내에서 소재 가공품이 놓일 위치에 대한 교시점을 포함하여 8+n개의 교시점을 필요로 한다. 결론적으로 하나의 로딩 트레이에 있는 소재를 모두 가공하여 언로딩 트레이로 놓기 위하여서는 총 19+2n개의 교시점을 필요로 한다.
이렇게 많은 교시점을 로봇 제어기(120)에 알려주기 위해서는 상당한 노력과 시간을 필요로 한다. 교시점을 줄일 수 있다면 로봇의 동작을 위한 교시를 쉽고 짧은 시간 안에 할 수 있는 장점이 있게 된다..
본 발명에서는 로봇을 작업에 관련된 정보를 기초로 제어하는 방법에 더하여 로봇을 제어하기 위한 작업 정보를 최소화하는 방법을 같이 제시한다. 본 발명에 따른 방법에 의하여 교시점의 수를 줄이기 위하여 내장 작업 트레이 및 내장 그리퍼를 사용할 수 있다.
내장 작업 트레이 및 내장 그리퍼는 로봇 제어기(120)가 작업 트레이 및 그리퍼와 관련된 정보를 내장하고 있는 것을 의미한다. 즉, 로봇이 판매되어 생산될 때 이미 내장 작업 트레이 및 내장 그리퍼에 대한 정보를 로봇 제어기(120)가 내장되어 구매자에게 인도된다는 것을 의미한다.
도 11은 본 개시의 일 실시 예에 따른 내장 작업 트레이를 도시한 사시도이다.
도 11을 참조하면, 내장 작업 트레이의 경우에는 작업 트레이의 크기(x, y), 소재 또는 소재 가공품이 놓이는 위치 간의 간격(x1, y1), 기준점에서 최초 소재 또는 소재 가공품이 위치하는 곳까지의 상대적 위치(x2, y2) 등이 정해진다. 로봇은 생산시부터 전술한 작업 트레이에 대한 정보를 내장하고 있어, 기준점만 교시하면 로봇이 자동으로 소재를 픽업할 최초 위치를 설정할 수 있고, 그 다음 소재를 픽업할 위치 또한 자동으로 설정할 수 있다. 즉 1개의 교시점만으로 소재 피킹을 위한 교시 정보를 전부 제공할 수 있다. 다만, 작업 트레이의 수직방향에 대한 교시의 안정성을 위하여 기준점을 포함하는 3개의 교시점을 사용하여 기준점과 작업 트레이에 대한 수직방향을 교시할 수도 있다.
그리퍼는 로봇에 부착되는 엔드 이펙터 중의 하나로 소재 또는 소재 가공품을 잡는 기능을 수행할 수 있다. 로봇의 끝지점부터 그리퍼의 손가락과 같은 소재를 집는 장치까지의 거리가 변할 수 있다면 변할 때마다 교시를 새로 하여야 한다. 그래서 비록 모양은 다를 수 있더라도 상기 거리를 일정하게 유지한다면 그리퍼를 변경할 때마다 매선 새로운 교시를 할 필요가 없게 된다. 이에 더하여 소재가 척(520)의 수직방향으로 들어가서 로딩이 될 수 있도록 하기 위하여서는 그리퍼가 로봇에 부착되는 각도 정보도 필요하다. 각도 정보가 없으면 척의 수직방향을 인지하기 위하여 많은 교시점을 필요로 할 수 있다. 그러므로 형상, 그리퍼가 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양을 로봇 제어기(120)가 내장하고 사용한다면 교시점의 수를 줄일 수 있다.
다음 표 2는 내장 작업 트레이 및 내장 그리퍼를 사용한 경우의 교시점 수를 보여주는 도표이다.
작업 정보 필요 작업환경 정보 교시점수
소재 피킹 로딩 작업 트레이 위치 1(3)
로딩 작업 트레이 수직방향
i번째 소재 위치
공작 기계 도어열기/닫기 핸들 시작 위치 1
핸들 종료 위치 1
공작 기계로 로딩 에어블로잉 위치 1
척 수직 방향 1
소재 장착 위치
소재 가공품 탈착 에어블로잉 위치 1
척수직 방향 0
가공물 탈착 위치 1
외부 에어블로잉 에어블로잉 위치 1
측정 검사위치 1
소재 가공품 언로딩 언로딩 작업 트레이 위치 1(3)
언로딩 작업 트레이 수직 방향
i번째 소재 위치
초기 위치 초기 위치 정보 1
총 교시점 수 11(15)
표 1과 2를 비교하면 작업 트레이와 관련된 소재 픽업 및 소재 가공품 언로딩에 필요한 작업환경 정보를 내장 작업 트레이를 사용함으로써 많이 줄일 수 있고, 내장 그리퍼를 사용함으로써 공작 기계로 소재를 로딩 시에 필요한 교시점의 수를 줄일 수 있다. 결론적으로 전술한 예에서 내장 작업 트레이 및 내장 그리퍼를 사용함으로써 총 교시점의 수를 19+2n 개에서 11개 또는 15개로 크게 줄일 수 있다.
도 12는 본 개시의 일 실시 예에 따른 로봇의 작업 환경을 측정하는 경우의 티치 펜던트(130)의 디스플레이 화면(1100)을 보여주는 도면이다. 도 12를 참조하면, 로봇의 작업 환경 측정을 위해, 티치 펜던트(130)의 디스플레이 화면(1100)에 "공작 기계 척의 좌표계를 입력하세요", "공작 기계 도어 위치를 입력하세요", "소재 팔레트 좌표계를 입력하세요", "로봇 초기 위치를 입력하세요" 등의 메시지가 출력될 수 있다. 일 실시예에서, "공작 기계 척의 좌표계를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 척(520)의 좌표계에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
일 실시예에서, "공작 기계 도어 위치를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 도어(600)의 열림 동작의 시작 위치, 열림 동작의 종료 위치, 닫힘 동작의 시작 위치, 닫힘 동작의 종료 위치 등에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 예를 들어, "공작 기계 도어 위치를 입력하세요" 메시지를 선택하고 "열림 시작 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 도어의 열림 동작의 시작 위치에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 유사하게, "공작 기계 도어 위치를 입력하세요" 메시지를 선택하고 "열림 종료 위치: 현재 위치 설정", "닫힘 시작 위치: 현재 위치 설정" 또는 "닫힘 종료 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 도어의 열림 동작의 종료 위치, 닫힘 동작의 시작 위치 또는 닫힘 동작의 종료 위치에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
일 실시예에서, "소재 팔레트 좌표계를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 작업 트레이(700)의 좌표계에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 일 실시예에서, "로봇 초기 위치를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 로봇 암(110)의 초기 위치에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
도 13은 본 개시의 일 실시 예에 따른 로봇의 동작에 관한 작업 정보를 수신하는 경우의 티치 펜던트(130)의 디스플레이 화면(1200)을 보여주는 도면이다. 도 12를 참조하면, 로봇의 동작에 관한 작업 정보를 수신하기 위해, 티치 펜던트(130)의 디스플레이 화면(1200)에 "소재 로딩 위치를 입력하세요", "가공품 언로딩 위치를 입력하세요" 등의 메시지가 출력될 수 있다.
일 실시예에서, "소재 로딩 위치를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 작업 트레이(700)의 소재를 픽업하는 위치 정보 또는 공작 기계(510)의 척(520)에 소재가 로딩되는 위치 정보를 수신하도록, 로봇 제어기(120)와 통신할 수 있다. 예를 들어, "소재 로딩 위치를 입력하세요" 메시지를 선택하고 "잡는 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 작업 트레이(700)의 소재를 픽업하는 위치 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 유사하게, "소재 로딩 위치를 입력하세요" 메시지를 선택하고 "경유 위치: 현재 위치 설정" 또는 "놓는 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 소재를 픽업한 로봇 암(110)의 경유 위치 또는 공작 기계(510)의 척(520)에 소재가 로딩되는 위치 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
일 실시예에서, "가공품 언로딩 위치를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 척(520)에서 가공품을 픽업하는 위치 정보 또는 가공품을 작업 트레이(700)에 내려놓는 위치 정보를 수신하도록, 로봇 제어기(120)와 통신할 수 있다. 예를 들어, "가공품 언로딩 위치를 입력하세요" 메시지를 선택하고 "잡는 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 척(520)에서 가공품을 픽업하는 위치 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 유사하게, "가공품 언로딩 위치를 입력하세요" 메시지를 선택하고 "놓는 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 가공품을 작업 트레이(700)에 내려 놓는 위치 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
전술한 바처럼 티치 펜던트(130)를 이용하여 로봇의 작업 환경 정보를 입력하기 위한 방법을 보여주었지만 터치스크린을 갖는 티치 펜던트(130)를 이용하여 로봇의 움직임을 제어 및 교시할 수 있다. 이 경우에 티치 펜던트(130)에 로봇을 2차원 또는 3차원으로 보여줄 수 있고, 화면터치를 이용하여 로봇의 움직임을 교시 또는 제어할 수 있다.
일 예로서 조그기능 사용자 인터페이스를 정의할 수 있다. 조그기능은 조인트 조그기능, 태스크 조그 기능으로 구성되며 태스크 조그 기능은 다시 글로벌(Global)좌표에 대한 명령과 로컬(local)좌표에 대한 명령으로 나누어질 수 있다. 또한, 로봇에 대한 티치 펜던트(130) 또는 사람의 위치를 방위각으로 환산하여 이를 이용해 실제 시뮬레이터에 대한 시야각(View angle)을 능동적으로 바꾸어 줄 수도 있다. 시야각 조정에 의하여 로봇의 어느 부분을 보고 있는 지를 조정할 수 있다. 즉 시야각을 조정함으로써 로봇의 옆 부분을 보는 것처럼 또는 정면에서 보는 것처럼 티치 펜던트(130)의 화면에 표시할 수 있다.
조인트 조그 기능을 이용한 로봇 제어의 일 구현 예를 보면 먼저 티치 펜던트(130) 화면상의 빈공간을 터치(touch)/드래그(drag)하여 시야각을 조정하여 로봇의 움직이고자 하는 관절 또는 링크를 티치 펜던트(130)의 화면에 표시할 수 있다. 그리고, 티치 펜던트(130)의 화면에서 움직이고자 하는 관절 또는 링크를 직접 선택할 수 있다. 티치 펜던트(130)는 선택된 관절 또는 링크를 액티브(active) 상태로 표시할 수 있는데 이를 위하여 로봇의 다른 부분과 색깔을 다르게 표시할 수 있다. 다음으로, 관절 또는 링크 선택시 팝업되는 액션 방향 화살표에 맞추어 선택된 관절 또는 링크가 움직여야 하는 방향으로 드래그할 수 있다. 즉, 관절이 움직이는 방향은 드래그하느 방향, 즉 드래그 시작점과 끝점을 잇는 백터(이하 드래그 백터로 칭함)에 의해 결정된다. 조그 속도는 0에서부터 슬라이드로 설정된 조그 최고속도까지 드래그 백터의 크기에 비례하여 명령이 생성될 수 있다. 조그 최고 속도는 슬라이드 바를 이용하여 세팅이 가능하다. 관절 또는 링크 선택시 해당 관절 위치에 회전을 나타내는 화살표가 팝업되어 화살표를 통해 조그 명령을 생성할 수도 있다. 디폴트 뷰(default view) 버튼을 활성화시켜 티치 펜던트(130) 또는 사람의 방위에서 로봇을 보는 형태로 로봇을 티치 펜던트(130)의 화면에 표시할 수도 있다.
태스크 조그 기능을 이용한 로봇 제어의 일 구현 예를 보면 프로젝션(projection) 화면을 이용한 직선이동을 위한 태스크 조그 기능과 회전이동을 위한 태스크 조그 기능, 아이소메트릭(isometric) 화면은 이용한 직선이동을 위한 태스크 조그 기능과 회전이동을 위한 태스트 조그 기능이 있을 수 있다.
프로젝션 화면을 이용한 직선이동을 위한 태스크 조그 기능은 기본적인 티치 펜던트(130) 화면의 구성은 로봇에 대한 xy평면, yz평면, zx평면 그리고 아이소메트릭 뷰(isometric view)로 나눌 수 있다. 필요에 따라 화면은 아이소메트릭 뷰를 디폴트 뷰 버튼을 이용해 사용자 방위에서 로봇을 보는 형태로 로봇을 화면에 표시할 수 있다. xy평면, yz평면, zx평면 로봇의 뷰는 글로벌/로컬 토글 버튼을 이용해 선택할 수 있으며 글로벌/로컬 버튼은 상호배타적으로 활성화 될 수 있다. 각 평면상에서 드래그 모션은 활성화된 좌표계상(글로벌/로컬)에서 조그 명령을 생성할 수 있다. 조그 명령의 크기는 드래그 백터의 크기(시작점에서 끝점을 있는 선분의 길이)에 비례하여 생성되며 설정된 최대 조그 속도를 넘을 수는 없다. 드래그 백터의 수평/수직축 성분을 통해 해당 조그 명령으로 환산되어 수행될 수 있고, 설정된 최대 조그 속도는 조인트 조그에서와 같이 슬라이드 바를 이용하여 재설정이 가능하다. 특정평면 상에서 명령은 해당 평면상에서의 조그 명령만을 생성한다. 예를 들어 xy평면 상에서 드래그 백터는 z방향 명령을 생성할 수 없으며 마찬가지로 yz, zx 평면에서 조그 모션은 각각 x방향, y방향으로 0이 아닌 명령을 생성할 수 없다. xy평면, yz평면, zx평면의 수평/수직축 가장자리에 데드존(deadzone)을 두어 수평축 데드존상에서의 드래그는 수직축 명령을, 수직축 데드존에서의 드래그는 수평축명령을 생성하지 못할 수 있다.
프로젝션 화면을 이용한 회전이동을 위한 태스크 조그 기능은 원하는 좌표계 (글로벌/로컬)을 토글링하여 선택하고, 조그 명령의 생성은 전술한 프로젝션 화면을 이용한 직선이동을 위한 태스크 조그와 같으나 조그명령의 환산은 조그 백터에 수직한 선분을 회전축으로 하며 회전방향은 드래그 백터의 방향과 일치하도록 할 수 있다. 회전 각속도는 드래그 백터의 크기에 비례하며 사전에 설정된 조그 최고 속도를 넘지 않는다. 조그 최고 속도는 슬라이드 바로 재설정이 가능한다.
아이소메트릭 화면을 이용한 직선이동을 위한 태스크 조기 기능은 필요에 따라 화면은 디폴트 뷰(default view) 버튼을 이용하여 티치 펜던트(130) 또는 사람의 방위에서 로봇을 보는 형태로 화면에 표시되게할 수도 있다. 아이소메트릭 뷰 화면을 선택하면 글로벌/로컬 좌표계 선택에 따라 해당 좌표계가 티치 팬던트 끝단에 나타날 수 있다. 조그 명령은 좌표계의 중심으로부터 각 좌표계의 단위벡터 방향으로 드래그하여 드래그 백터를 만들어 수행한다. 조그의 크기는 이전과 마찬가지고 드래크 백터의 크기에 비례하며 슬라이드 바로 사전에 설정되는 조그 최고 속도를 넘지 않는다.
아이소메트릭 화면을 이용한 회전이동을 위한 태스크 조기 기능은 회전이 토클된 상태에서 아이소메트릭 화면을 선택하면 토글된 좌표계의 축과 액션 화살표가 팝업될 수 있다. 그러면 먼저 원하는 회전운동의 축을 선택할 수 있다.. 선택된 축 및 해당 액션 화살표 이외는 색깔이 달라져 선택되지 않음을 나타낼 수 있다. 선택된 회전축에 대한 액션 화살표를 따라 드래그를 함으로써 조그명령을 생성할 수 있다. 조그 속도는 드래그 백터 또는 액션 화살표를 따라 움직이는 거리에 비례하여 생성되며 슬라이드 바로 사전에 설정된 최고 조그 속도를 넘지 않는다.
전술한 바와 같이 터치 스크린을 갖는 티치 펜던트(130)를 사용하면 용이하게 로봇 교시 및 제어가 가능할 수 있다.
도 14는 본 개시의 일 실시 예에 따른 로봇의 제어 방법(1300)을 보여주는 흐름도이다. 이하 도 14 내지 도 15의 흐름도에 도시된 단계들은 예시적인 것으로, 각 단계들은 결합, 분리 또는 생략될 수 있고, 각 단계의 순서는 변경될 수 있음을 유의한다. 먼저, 로봇 제어 장치는 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신할 수 있다(단계 1310). 일 실시예에서, 로봇 제어 장치는 도 1에 도시된 로봇 제어기(120) 및/또는 티치 펜던트(130)를 포함할 수 있다.
로봇 제어 장치는 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여, 로봇 동작의 워크플로우를 생성할 수 있다(단계 1320). 이 때, 로봇 제어 장치(예를 들어, 도 3의 워크플로우 생성부(340))는 수신된 로봇 동작의 작업 유형에 따라 상이한 동작 단계들로 구성된 워크플로우를 생성할 수 있다. 예를 들어, 수신된 작업 유형이 공작 기계 보조 작업인 경우, 로봇 제어 장치는 a) 초기 위치에 위치하는 동작 단계, b) 공작 기계 룸의 도어를 여는 동작 단계, c) 작업 트레이(예를 들어, 팔레트)에서 소재를 픽업하는 동작 단계, d) 공작 기계 룸의 도어를 지나 공작 기계 룸으로 진입하는 동작 단계, e) 공작 기계 룸 내 공작 기계의 특정 위치에 픽업한 소재를 위치시키는 동작 단계, f) 공작 기계에 의해 소재가 가공되는 것을 기다려 소재를 회수하는 동작 단계들로 구성된 워크플로우를 생성할 수 있다. 한편 이는 예시적인 것으로서, 그 외에도 로봇 제어 장치는 사출기 보조작업, 프레스 보조작업, 나사 조립작업, 용접작업, 본딩 작업, 비전 검사 작업 등 수신된 작업 유형에 따라, 해당 작업에 적합한 동작단계들로 구성된 상이한 워크플로우를 생성할 수 있다.
그리고 로봇 제어 장치는 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정할 수 있다(단계 1330). 이때, 로봇 제어 장치(예를 들어, 도 3의 작업 환경 측정부(300))는 워크플로우를 구성하는 특정 동작단계에서 작업 로봇(예를 들어, 도 2의 로봇 암(110))이 위치할 특정 지점을 입력받는 형태로서 작업 환경에 관한 정보를 측정할 수 있다. 예를 들어, 픽업할 소재가 놓여진 작업 트레이(예를 들어, 팔레트)의 위치에 대한 작업 환경 정보를 측정하는 경우, 로봇 제어 장치는 로봇 암(110)을 작업 트레이 상의 특정 지점에 위치시키고 해당 위치의 공간 좌표를 저장함으로써 소재를 픽업할 작업 트레이의 위치를 나타내는 작업 환경 정보를 측정할 수 있다.
또는, 로봇 암(110)이 이동될 도착점에 관한 작업 환경 정보를 측정하는 경우, 로봇 제어 장치는 이동할 도착점에 로봇 암(110)을 위치시키고 그 때의 공간 좌표를 저장함으로써 로봇 암(110)의 도착점에 관한 작업 환경 정보를 측정할 수 있다. 또는, 로봇 암(110)이 이동할 경로 상의 경유 지점에 대한 작업 환경 정보를 측정하는 경우, 로봇 제어 장치는 목표하는 경유 지점에 로봇 암(110)을 위치시키고 그 때의 공간 좌표를 저장함으로써 로봇 암(110)의 이동 시 경유 지점에 관한 작업 환경 정보를 측정할 수 있다. 이 경우, 저장된 경유 지점을 통과하여 이동하도록 로봇 암(110)이 제어될 수 있다.
예를 들어, 작업 유형이 공작 기계 보조 작업인 경우 전술한 워크플로우에 따라 작업환경에 관한 정보를 측정할 수 있다. 전술한 워크플로우의 단계별로 좀 더 상세히 기술하면 a) 초기 위치에 위치하는 동작 단계를 위하여 로봇이 작업 초기에 있어야 할 위치를 지정할 수 있다. 초기 위치의 지정은 전술한 방법을 이용하여 공간 좌표를 측정함으로써 교시할 수도 있지만 로봇에 내장되어 있는 어플리케이션(application) 별 추천 위치를 사용한다면 교시 없이도 초기 위치에 대한 작업 환경 정보를 획득할 수 있다. b) 공작 기계 룸의 도어를 여는 동작 단계를 위하여는 도어의 핸들의 시작 위치와 종료 위치에 대한 작업 환경 정보를 측정하여야 한다. 이는 전술한 것처럼 로봇 암(110)을 시작 위치와 종류 위치에 위치시키고 그 때의 공간 좌표를 저장함으로써 작업 환경 정보를 측정할 수 있다. c) 작업 트레이(예를 들어, 팔레트)에서 소재를 픽업하는 동작 단계를 위하여는 소재들이 위치하는 좌표를 측정하여야 한다. 이를 위하여 내장 작업 트레이를 사용하면 기준점만을 교시함으로써, 또는 작업 트레이의 수직방향에 대한 안정적인 작업 환경 정보를 측정하기 위하여 기준점을 포함하는 3개의 지점만을 교시함으로써 쉽게 소재의 위치에 대한 작업 환경 정보를 측정할 수 있다. d) 공작 기계 룸의 도어를 지나 공작 기계 룸으로 진입하는 동작 단계 및 e) 공작 기계 룸 내 공작 기계의 특정 위치에 픽업한 소재를 위치시키는 동작 단계를 위하여는 공작 기계 룸 내의 척(520)의 위치 및 수직방향에 대한 측정이 필요하다. 이는 전술한 것처럼 로봇 암(110)의 그리퍼가 척(520)의 수직방향으로 가도록 위치시킨 후 공간 좌표를 저장함으로써 측정할 수 있다. 이에 더하여 경유지로 소재에 있는 불순물들을 제거하기 위한 블로잉 작업이 이루어질 수 있는 위치를 추가할 수 있다. f) 공작 기계에 의해 소재가 가공되는 것을 기다려 소재를 회수하는 동작 단계에서는 소재 가공품들이 놓일 트레이 내의 위치들을 측정할 필요가 있다. 이를 위하여 내장 작업 트레이를 사용하면 기준점만을 교시함으로써, 또는 작업 트레이의 수직방향에 대한 안정적인 작업 환경 정보를 측정하기 위하여 기준점을 포함하는 3개의 지점만을 교시함으로써 쉽게 소재 가공품의 위치에 대한 작업 환경 정보를 측정할 수 있다.
전술한 바처럼 워크플로우에 따른 작업 환경 정보를 측정하는 것은 상당한 노력과 시간이 들어가는 작업이 될 수 있다. 하지만, 로봇에 내장되어 있는 사양과 일치하는 내장 작업 트레이 및/또는 내장 그리퍼를 사용한다면 작업 환경 정보를 측정하는 시간을 상당히 줄일 수 있을 것이다.
그리고 로봇 제어 장치(예를 들어, 도 3의 작업 정보 수신부(310))는 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신할 수 있다(단계 1340). 이때, 로봇 동작에 관한 작업 정보는 어프로칭(approaching), 리트랙팅(retracting), 피킹(picking), 플레이싱(placing) 등과 같은 로봇 동작의 특성을 지정 또는 나타내기 위한 정보일 수 있다. 이러한 로봇 동작에 관한 작업 정보는 로봇의 동작방식 또는 동작 메커니즘을 제어하기 위해 참조되거나 사용될 수 있다. 일 실시예로서, 로봇 동작에 관한 작업 정보가 어프로칭인 경우, 로봇은 빠르고 정밀하게 목표지점으로 이동하기 위해, 초기의 제1 지점부터 중간의 제2 지점까지는 로봇이 가장 빠르게 이동할 수 있는 급속 이동 방식으로 이동하고 제2 지점부터 최종의 제3 지점까지는 정밀하게 이동할 수 있는 정밀 이동 방식으로 이동하도록 제어될 수 있다.
다른 실시예로서, 로봇 동작에 관한 작업 정보가 리트랙팅인 경우, 로봇은 안전하면서도 빠르게 해당 위치를 벗어나기 위해, 초기의 제1 지점부터 중간의 제2 지점까지는 경로를 이탈함이 없이 정확히 빠져나가도록 정밀 이동 방식으로 이동하고, 중간의 제2 지점부터 최종의 제3 지점까지는 빠르게 위치를 벗어나도록 급속 이동 방식으로 이동하도록 제어될 수 있다. 또 다른 실시예로서, 로봇 동작에 관한 작업 정보가 피킹인 경우, 로봇은 특정 위치의 대상물을 픽업하는 데 적합하도록, 초기의 제1 지점부터 대상물이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 대상물을 픽업하고, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다. 또 다른 실시예로서, 로봇 동작에 관한 작업 정보가 플레이싱인 경우, 로봇은 대상물을 특정 위치에 위치시키는 데 적합하도록, 초기의 제1 지점부터 대상물이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 픽업하고 있던 대상물을 내려놓은 후, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
로봇 제어 장치는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행할 수 있다(단계 1350). 일 실시예에서, 로봇 제어 장치는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇 동작의 작업 유형 및 워크플로우에 따라 적합한 작업 프로그램을 선택하고, 선택된 작업 프로그램을 실행하여 로봇 동작의 수행을 제어할 수 있다. 다른 실시예에서, 로봇 제어 장치는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작의 수행을 위한 작업 프로그램을 생성하고, 생성된 작업 프로그램을 실행하여 로봇 동작의 수행을 제어할 수 있다.
이어서 로봇 제어 장치는 로봇 동작의 작업 유형이 변경되었는지를 판단할 수 있다(단계 1360). 로봇 동작의 작업 유형이 변경된 것으로 판단되는 경우, 로봇 제어 장치는 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 다시 수신하고(단계 1310), 로봇 동작의 작업 유형이 변경되지 않은 것으로 판단되는 경우, 로봇 제어 장치는 로봇 동작이 수행되는 작업 환경이 변경되었는지를 판단할 수 있다(단계 1370). 로봇 동작이 수행되는 작업 환경이 변경된 것으로 판단되는 경우, 로봇 제어 장치는 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 다시 측정하고(단계 1330), 로봇 동작이 수행되는 작업 환경이 변경되지 않은 것으로 판단되는 경우, 로봇 제어 장치는 로봇 동작에 관한 작업 정보가 변경되었는지를 판단할 수 있다(단계 1380). 로봇 동작에 관한 작업 정보가 변경된 것으로 판단되는 경우, 로봇 제어 장치는 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 다시 수신하고(단계 1340), 로봇 동작에 관한 작업 정보가 변경되지 않은 것으로 판단되는 경우, 로봇 제어 장치는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 계속 수행할 수 있다(단계 1350).
여기서 작업 환경이 변경되어 작업 환경에 관한 정보를 다시 측정하는 경우 종래의 측정 결과를 다시 이용할 수 있다. 동일한 작업을 반복하면서 단지 가공하고자 하는 소재의 크기만 변경되거나 단순히 트레이의 위치만 변경된 경우에는 변경된 부분만을 수정하고 기존 작업과 동일한 부분은 측정없이 그대로 사용할 수 있다. 작업 환경 정보를 얻기 위한 측정 작업은 많은 노력과 시간을 필요하므로 변경 없는 부분에 대하여는 측정을 하지 않도록 함으로써 여기에 드는 시간과 노력을 줄일 수 있다. 이러한 작업은 과거의 측정 결과를 저장하였다가 유사한 작업이 수행될 경우 과거의 측정 결과를 가져와서 사용하는 것도 가능할 수 있다.
도 15는 본 개시의 일 실시 예에 따른 로봇의 제어를 위한 작업 프로그램에 기초하여 로봇 동작의 수행을 제어하는 방법(1350)을 보여주는 흐름도이다. 먼저 로봇 제어 장치(예를 들어, 도 3의 로봇 동작 제어부(350))는 측정된 작업 환경에 관한 정보, 수신된 로봇 동작에 관한 작업 정보, 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성할 수 있다(단계 1400). 일 실시예에서, 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어일 수 있다. 예를 들어, 어프로칭 명령어는 로봇(예를 들어, 도 2의 로봇 암(110))이 특정 위치에 효과적으로 접근하기 위한 상위 레벨의 명령어일 수 있고, 리트랙팅 명령어는 로봇이 특정 위치에서 효과적으로 벗어나기 위한 상위 레벨의 명령어일 수 있으며, 피킹 명령어는 로봇이 특정 위치의 대상물을 잡기 위한 상위 레벨의 명령어일 수 있고, 플레이싱 명령어는 로봇이 특정 위치에 대상물을 위치시키기 위한 상위 레벨의 명령어일 수 있다.
일 실시예에서, 어프로칭 명령어, 리트랙팅 명령어, 피킹 명령어 및 플레이싱 명령어의 각각은, 로봇의 어프로칭, 리트랙팅, 피킹 및 플레이싱 작업 정보에 대응될 수 있다. 예를 들어, 수신된 로봇 동작에 관한 작업 정보가 어프로칭과 관련되는 경우, 로봇 제어 장치는 이러한 작업 정보에 대응하여 어프로칭 명령어를 생성할 수 있다. 유사하게, 수신된 로봇 동작에 관한 작업 정보가 리트랙팅, 피킹 또는 플레이싱과 관련되는 경우, 로봇 제어 장치는 이러한 작업 정보에 대응하여 리트랙팅 명령어, 피킹 명령어 또는 플레이싱 명령어를 생성할 수 있다.
로봇 제어 장치는 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성할 수 있다(단계 1410). 복수의 제2 레벨의 명령어들은, 엔드 이펙터의 제어 명령어, 대상 기계(예를 들어, 공작 기계)의 제어 명령어, 주변 기기(예를 들어, 작업 트레이 또는 컨베이어)의 제어 명령어, 급속 이동 명령어(또는 고속 이동 명령어), 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들일 수 있다. 예를 들어, 로봇 동작의 작업 유형이 공작 기계 보조 작업인 경우 엔드 이펙터의 제어 명령어는 그리퍼 제어 명령어인 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함할 수 있고, 공작 기계의 제어 명령어는 척 열림 명령어 또는 척 닫힘 명령어를 포함할 수 있다.
일 실시예에서, 제1 레벨의 명령어는 적어도 두 개 이상의 제2 레벨의 명령어들의 조합을 포함할 수 있다. 예를 들어, 제1 레벨의 명령어인 어프로칭 명령어는 제2 레벨의 명령어인 급속 이동 명령어와 정밀 이동 명령어의 조합으로 구성될 수 있다. 유사하게 제1 레벨의 명령어인 리트랙팅 명령어도 제2 레벨의 명령어인 급속 이동 명령어와 정밀 이동 명령어의 조합으로 구성될 수 있다. 또한, 제1 레벨의 명령어인 피킹 명령어는 제2 레벨의 명령어인 급속 이동 명령어, 정밀 이동 명령어 또는 그리퍼 제어 명령어의 조합으로 구성될 수 있다. 유사하게, 제1 레벨의 명령어인 플레이싱 명령어도 제2 레벨의 명령어인 급속 이동 명령어, 정밀 이동 명령어 또는 그리퍼 제어 명령어의 조합으로 구성될 수 있다.
로봇 제어 장치는 복수의 제2 레벨의 명령어에 기초하여, 로봇 동작을 위한 작업 프로그램을 생성할 수 있다(단계 1420). 일 실시예에서, 로봇 제어 장치는 복수의 제2 레벨의 명령어들에 기초하여, 더 하위 레벨의 명령어들인 복수의 제3 레벨의 명령어들을 생성할 수 있다. 이 경우, 로봇 제어 장치는 복수의 제3 레벨의 명령어들에 기초하여, 로봇 동작을 위한 작업 프로그램을 생성하도록 구성될 수 있다. 로봇 제어 장치는 생성된 작업 프로그램에 기초하여 로봇 동작의 수행을 제어할 수 있다(단계 1430).
본 기술 분야의 통상의 지식을 가진 자들은 본 명세서에서 개시되는 구성들과 관련하여 설명되는 다양한 예시적인 블록, 장치 또는 동작들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이 둘의 조합으로서 구현될 수 있다는 것을 알 것이다. 이러한 블록, 장치 또는 동작들은 프로세서, DSP(digital signal processor), ASIC(application-specific integrated circuit) 또는 ASSP(application-specific standard product), FPGA(field-programmable gate array) 또는 다른 프로그래밍가능 논리 디바이스, 개별 게이트 또는 트랜지스터 논리, 개별 하드웨어 구성요소 또는 본 명세서에 개시되는 바와 같은 구성을 생성하도록 설계된 이들의 임의의 조합을 이용하여 구현 또는 수행될 수 있다. 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어 DSP와 마이크로 프로세서의 조합, 복수의 마이크로 프로세서, DSP 코어와 연계된 하나 이상의 마이크로프로세서 또는 임의의 다른 구성으로서 구현될 수 있다. 컴퓨터 소프트웨어 또는 프로그램은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 RAM과 같은 비휘발성 RAM, 소거 및 프로그래밍 가능한 ROM(EPROM), 전기적으로 소거 및 프로그래밍 가능한 ROM(EEPROM), 레지스터, 하드 디스크, 이동식 디스크, CD-ROM 또는 본 기술 분야에 공지된 임의의 다른 형태의 저장 매체에 존재할 수 있으며, 프로세서 또는 DSP와 같은 논리 요소들의 어레이에 의해 실행될 수 있는 머신 판독 가능 명령어를 포함할 수 있다. 예시적인 저장 매체가 프로세서와 결합될 수 있고, 프로세서는 저장 매체로부터의 정보를 판독하고 저장 매체에 정보를 기록할 수 있다. 대안으로서, 저장 매체는 프로세서와 일체일 수 있다. 프로세서와 저장 매체는 ASIC 내에 위치할 수 있다. ASIC은 사용자 단말기 내에 위치할 수 있다. 대안으로서, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 구성요소로서 존재할 수 있다.
본 명세서에서 개시되는 방법 및 기술은 논리 요소들의 어레이(예를 들어, 프로세서, 마이크로 프로세서, 마이크로 컨트롤러 또는 다른 유한 상태 머신 등)를 포함하는 머신에 의해 실행 가능한 하나 이상의 명령어 세트로서, 예를 들어, 본 명세서에 열거된 바와 같은 하나 이상의 컴퓨터 판독가능 기록매체에 구현될 수 있다. "컴퓨터 판독가능 기록매체"는 정보를 저장하거나 전송할 수 있는, 휘발성, 비휘발성, 이동식 또는 비이동식 매체를 포함하는 임의의 매체를 포함할 수 있다. 컴퓨터 판독가능 기록매체의 예들은 전자 회로, 반도체 메모리 디바이스, ROM, 플래시 메모리, 소거 가능 ROM(EROM), 플로피 디스켓 또는 다른 자기 저장 장치, CD-ROM/DVD 또는 다른 광학 저장 장치, 하드 디스크, 광섬유 매체, 라디오 주파수(RF) 링크 또는 원하는 정보를 저장하는 데 사용될 수 있고 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 머신에 의해 실행 가능한 하나 이상의 명령어 세트의 전부 또는 일부는 인터넷 또는 인트라넷과 같은 컴퓨터 네트워크를 통해 다운로드될 수 있다.
이상의 실시예들은 발명의 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 형태의 실시예도 가능하다는 점을 이해할 것이다. 따라서, 당 분야에서 통상의 지식을 가진 자라면 첨부된 특허청구범위에 의해 정해지는 본 발명의 기술적 사상 및 범위를 벗어나지 않고 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다.

Claims (34)

  1. 로봇의 제어 방법으로서,
    상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계;
    상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여, 상기 로봇 동작의 워크플로우(workflow)를 생성하는 단계;
    상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계;
    상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 단계; 및
    상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계를 포함하는,
    로봇 제어 방법.
  2. 제1항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 로봇이 초기에 설치될 때 또는 상기 작업 환경이 변경되었을 때 수행되는,
    로봇 제어 방법.
  3. 제1항에 있어서,
    상기 로봇은,
    로봇 암;
    상기 로봇 암의 동작을 제어하는 제어기;
    상기 제어기와 통신 가능하도록 연결되는 티치 펜던트(teach pendant); 및
    상기 로봇 암의 말단에 부착되는 엔드 이펙터(end effector)를 포함하는,
    로봇 제어 방법.
  4. 제3항에 있어서,
    상기 로봇 동작의 수행과 관련하여 상기 로봇 동작의 대상 기계 또는 주변 기기와 통신하는 단계를 더 포함하는,
    로봇 제어 방법.
  5. 제1항에 있어서,
    상기 로봇 동작의 작업 유형은 공작 기계 보조 작업, 사출기 보조 작업, 프레스 보조 작업, 픽 엔드 플레이스(pick and place) 작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩(bonding) 작업, 비전(vision) 검사 작업 또는 분류 작업 중 적어도 하나와 관련되는,
    로봇 제어 방법.
  6. 제1항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계를 포함하는,
    로봇 제어 방법.
  7. 제6항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계를 포함하는,
    로봇 제어 방법.
  8. 제1항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 작업 환경에 관한 정보를 상기 로봇의 비접촉 측정 장치에 의해 측정하는 단계를 포함하는,
    로봇 제어 방법.
  9. 제8항에 있어서,
    상기 비접촉 측정 장치는 카메라 또는 레이저 빔 측정기를 포함하는,
    로봇 제어 방법.
  10. 제1항에 있어서,
    상기 로봇 동작에 관한 작업 정보를 수신하는 단계는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신하는 단계를 포함하는,
    로봇 제어 방법.
  11. 제4항에 있어서,
    상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계는,
    상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계; 및
    상기 작업 프로그램을 실행하여 상기 로봇 동작의 수행을 제어하는 단계를 포함하는,
    로봇 제어 방법.
  12. 제11항에 있어서,
    상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계는,
    상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하는 단계; 및
    상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하는 단계를 포함하고,
    상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함하는,
    로봇 제어 방법.
  13. 제12항에 있어서,
    상기 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어인,
    로봇 제어 방법.
  14. 제12항에 있어서,
    상기 복수의 제2 레벨의 명령어들은, 상기 엔드 이펙터의 제어 명령어, 상기 대상 기계의 제어 명령어, 상기 주변 기기의 제어 명령어, 급속 이동 명령어, 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들인,
    로봇 제어 방법.
  15. 제14항에 있어서,
    상기 로봇 동작의 작업 유형은 공작 기계의 보조 작업과 관련되고,
    상기 엔드 이펙터는 그리퍼(gripper)를 포함하고,
    상기 엔드 이펙터의 제어 명령어는 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함하고,
    상기 대상 기계의 제어 명령어는 척(chuck) 열림 명령어 또는 척 닫힘 명령어를 포함하는,
    로봇 제어 방법.
  16. 제1항에 있어서,
    상기 로봇 동작의 작업 유형은 공작 기계 보조 작업과 관련되는,
    로봇 제어 방법.
  17. 제16항에 있어서,
    상기 작업 환경에 관한 정보는, 상기 공작 기계의 척의 좌표계에 관한 정보, 상기 공작 기계의 도어의 위치에 관한 정보, 상기 로봇 동작의 수행을 위한 상기 로봇의 초기 위치에 관한 정보 또는 상기 공작 기계에 의해 가공되는 소재가 배치되는 작업 트레이의 위치에 관한 정보 중 적어도 하나를 포함하는,
    로봇 제어 방법.
  18. 제17항에 있어서,
    상기 로봇 동작에 관한 작업 정보는, 상기 작업 트레이 상의 소재를 픽업(pick up)하는 동작과 관련된 정보, 상기 소재를 상기 공작 기계의 척에 로딩(loading)하는 동작과 관련된 정보, 상기 공작 기계에 의해 가공된 상기 소재의 가공품을 상기 공작 기계의 척으로부터 언로딩(unloading)하는 동작과 관련된 정보, 상기 가공품을 상기 작업 트레이 상에 놓는 동작과 관련된 정보 또는 상기 소재의 가공품에 블로잉(blowing)을 수행하는 동작과 관련된 정보 중 적어도 하나를 포함하는,
    로봇 제어 방법.
  19. 제17항에 있어서,
    상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계 또는 상기 로봇 동작에 관한 작업 정보를 수신하는 단계는,
    상기 로봇의 방향을 상기 작업 트레이, 상기 공작 기계의 척 또는 상기 공작 기계의 도어 중 적어도 하나에 대해 정렬하는 단계를 포함하는,
    로봇 제어 방법.
  20. 제16항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는,
    크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보를 상기 로봇이 내장하고 있고, 상기 기준점 및 상기 작업 트레이에 대한 수직방향에 대한 정보를 위하여 1개 내지 3개의 교시점을 측정하여 상기 공작 기계에 의해 가공될 소재들의 위치에 관한 정보를 측정하는 단계를 포함하는,
    로봇 제어 방법.
  21. 제16항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는,
    크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보를 상기 로봇이 내장하고 있고, 상기 기준점 및 상기 작업 트레이에 대한 수직방향에 대한 정보를 위하여 1개 내지 3개의 교시점을 측정하여 상기 공작 기계에 의해 가공된 소재 가공품이 언로딩될 위치에 관한 정보를 측정하는 단계를 포함하는,
    로봇 제어 방법.
  22. 제16항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는,
    잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보를 상기 로봇이 내장하고 있고, 상기 그리퍼에 대한 사양 정보를 바탕으로 작업 환경에 관한 정보를 측정하는 단계를 포함하는,
    로봇 제어 방법.
  23. 로봇의 제어 장치로서,
    상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고, 상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 상기 로봇 동작의 워크플로우를 생성하도록 구성되는 워크플로우 생성부;
    상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 작업 환경 측정부;
    상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 작업 정보 수신부; 및
    상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 로봇 동작 제어부를 포함하는,
    로봇 제어 장치.
  24. 제23항에 있어서,
    상기 작업 환경 측정부는, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
    로봇 제어 장치.
  25. 제24항에 있어서,
    상기 작업 환경 측정부는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
    로봇 제어 장치.
  26. 제23항에 있어서,
    상기 작업 환경 측정부는, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 카메라 또는 레이저 빔 측정기에 의해 측정되도록 하는,
    로봇 제어 장치.
  27. 제23항에 있어서,
    상기 작업 환경 측정부는, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
    로봇 제어 장치.
  28. 제23항에 있어서,
    상기 작업 환경 측정부는, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
    로봇 제어 장치.
  29. 제23항에 있어서,
    상기 작업 환경 측정부는, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 카메라 또는 레이저 빔 측정기에 의해 측정되도록 하는,
    로봇 제어 장치.
  30. 제23항에 있어서,
    상기 작업 정보 수신부는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신하는,
    로봇 제어 장치.
  31. 제23항에 있어서,
    상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 작업 프로그램 생성부를 더 포함하고,
    상기 로봇 동작 제어부는 상기 생성된 작업 프로그램에 기초하여 상기 로봇의 상기 로봇 동작의 수행을 제어하는,
    로봇 제어 장치.
  32. 제31항에 있어서,
    상기 작업 프로그램 생성부는,
    상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하고,
    상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하고,
    상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함하는,
    로봇 제어 장치.
  33. 제23항에 있어서,
    상기 로봇 동작의 수행과 관련하여 대상 기계 또는 주변 기기와 통신하는 통신 인터페이스부를 더 포함하는,
    로봇 제어 장치.
  34. 제1항 내지 제22항 중 어느 한 항의 로봇 제어 방법을 로봇 제어 장치에 의해 수행하도록 하는 프로그램을 저장하는 컴퓨터 판독가능 기록매체.
KR1020187003468A 2015-09-25 2016-10-14 로봇 제어 방법 및 장치 KR102609030B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150136814A KR20180015774A (ko) 2015-09-25 2015-09-25 로봇 제어 방법 및 장치
PCT/KR2016/011591 WO2017052350A2 (ko) 2015-09-25 2016-10-14 로봇 제어 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190055777A true KR20190055777A (ko) 2019-05-23
KR102609030B1 KR102609030B1 (ko) 2023-12-01

Family

ID=58386528

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150136814A KR20180015774A (ko) 2015-09-25 2015-09-25 로봇 제어 방법 및 장치
KR1020187003468A KR102609030B1 (ko) 2015-09-25 2016-10-14 로봇 제어 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020150136814A KR20180015774A (ko) 2015-09-25 2015-09-25 로봇 제어 방법 및 장치

Country Status (5)

Country Link
US (1) US11185984B2 (ko)
EP (1) EP3354418B1 (ko)
KR (2) KR20180015774A (ko)
CN (1) CN108235696B (ko)
WO (1) WO2017052350A2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017118985B4 (de) * 2017-04-23 2019-10-02 Franka Emika Gmbh Schraubvorrichtung
WO2018213931A1 (en) 2017-05-25 2018-11-29 Clearpath Robotics Inc. Systems and methods for process tending with a robot arm
WO2019084686A1 (en) 2017-10-31 2019-05-09 Clearpath Robotics Inc. Systems and methods for operating robotic equipment in controlled zones
WO2019218057A1 (en) 2018-05-13 2019-11-21 Robotiq Inc. Robotic gripper
CN108857093A (zh) * 2018-07-24 2018-11-23 湖北三江航天红阳机电有限公司 利用机器人激光切割的方法及装置
IL261097B (en) * 2018-08-10 2021-06-30 Tinyinspektor Ltd System and method for positioning a device for visual inspection of a production line
DE102018122376B3 (de) * 2018-09-13 2019-11-07 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
CN109035740A (zh) * 2018-09-27 2018-12-18 上海节卡机器人科技有限公司 机器人的控制方法、装置和远程控制系统
CN113348416A (zh) * 2019-01-18 2021-09-03 卡罗利·西普卡 测量系统和与测量系统相关的方法
US20220152840A1 (en) * 2019-03-22 2022-05-19 Máquinas Sanmartin Ltda Device for handling products in individual or grouped containers based on movement by elastic pressure in the top of the containers
CN111823238B (zh) * 2020-06-10 2021-12-28 杭州凯尔达机器人科技股份有限公司 机器人时序控制方法、电源时序管理单元以及控制系统
WO2022241550A1 (en) 2021-05-17 2022-11-24 Cobionix Corporation Proximity sensing autonomous robotic systems and apparatus
JP7012181B1 (ja) 2021-06-15 2022-02-14 Dmg森精機株式会社 ロボットシステム
JP2024005094A (ja) * 2022-06-29 2024-01-17 川崎重工業株式会社 ロボット教示装置、外観検査システムおよびロボット教示方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06134607A (ja) * 1992-10-26 1994-05-17 Sandvik Kk 工作機械のワーク、チャック等の交換装置
KR19990044591A (ko) * 1995-09-14 1999-06-25 하시모도 노부이치 로봇의 교시장치
JP2002326174A (ja) * 2002-04-26 2002-11-12 National Aerospace Laboratory Of Japan 多関節ロボットの制御方法
KR20110114651A (ko) * 2009-02-12 2011-10-19 미쓰비시덴키 가부시키가이샤 산업용 로봇 시스템
JP2013071239A (ja) * 2011-09-29 2013-04-22 Panasonic Corp ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
JP2014213399A (ja) * 2013-04-24 2014-11-17 国立大学法人横浜国立大学 ロボット教示方法及び教示システム
US9069351B2 (en) * 2004-11-26 2015-06-30 Abb Research Ltd. System and a method for controlling movements of an industrial robot

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05285800A (ja) 1992-04-13 1993-11-02 Yamazaki Mazak Corp 自動加工装置
US5511147A (en) * 1994-01-12 1996-04-23 Uti Corporation Graphical interface for robot
GB0125079D0 (en) * 2001-10-18 2001-12-12 Cimac Automation Ltd Auto motion:robot guidance for manufacturing
JP4167940B2 (ja) * 2003-05-29 2008-10-22 ファナック株式会社 ロボットシステム
JP3733364B2 (ja) * 2003-11-18 2006-01-11 ファナック株式会社 教示位置修正方法
JP4556617B2 (ja) * 2004-10-29 2010-10-06 株式会社デンソーウェーブ 自動作業システム
KR100584474B1 (ko) * 2005-02-14 2006-05-29 주식회사 새화신 자동차 아암 용접용 지그
GR20050100456A (el) * 2005-09-09 2007-04-25 Πανος Τραχανιας Αυτονομο ρομποτικο συστημα παροχης πληροφοριων και τηλεξεναγησης
EP3530420B1 (en) * 2006-03-03 2023-09-06 Universal Robots A/S Joint for a robot
JP4267005B2 (ja) * 2006-07-03 2009-05-27 ファナック株式会社 計測装置及びキャリブレーション方法
JP4271249B2 (ja) * 2007-06-14 2009-06-03 ファナック株式会社 嵌合装置
KR20110077556A (ko) 2009-12-30 2011-07-07 한국생산기술연구원 로봇 교시 시스템 및 방법
JP5311294B2 (ja) * 2010-04-28 2013-10-09 株式会社安川電機 ロボットの接触位置検出装置
JP5685027B2 (ja) * 2010-09-07 2015-03-18 キヤノン株式会社 情報処理装置、物体把持システム、ロボットシステム、情報処理方法、物体把持方法およびプログラム
JP5602076B2 (ja) 2011-03-22 2014-10-08 三菱電機株式会社 ロボットプログラミング装置および方法
JP5810582B2 (ja) * 2011-03-29 2015-11-11 セイコーエプソン株式会社 ロボットの制御方法、及びロボット
EP2684653A1 (en) * 2012-06-20 2014-01-15 Kabushiki Kaisha Yaskawa Denki Robot system and method for manufacturing fitting
DE102012013022A1 (de) * 2012-06-29 2014-04-24 Liebherr-Verzahntechnik Gmbh Vorrichtung zur automatisierten Handhabung von Werkstücken
EP2749974A2 (en) 2012-12-28 2014-07-02 Kabushiki Kaisha Yaskawa Denki Robot teaching system, robot teaching assistant device, and robot teaching method
JP5702811B2 (ja) 2013-01-30 2015-04-15 ファナック株式会社 動作プログラム作成装置
JP2015000455A (ja) 2013-06-17 2015-01-05 キヤノン株式会社 ロボット装置及びロボット装置の制御方法
JP5939213B2 (ja) 2013-08-09 2016-06-22 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP6511715B2 (ja) * 2013-10-31 2019-05-15 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及びロボット
JP6005299B2 (ja) * 2013-11-28 2016-10-12 三菱電機株式会社 ロボットシステムおよびロボットシステムの制御方法
US9505133B2 (en) * 2013-12-13 2016-11-29 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program and recording medium
US9701018B2 (en) * 2014-04-01 2017-07-11 Bot & Dolly, Llc Software interface for authoring robotic manufacturing process
US9604357B2 (en) * 2014-07-30 2017-03-28 Kabushiki Kaisha Yaskawa Denki Robot and device having multi-axis motion sensor, and method of use thereof
EP3272473B1 (en) * 2015-03-20 2022-09-14 FUJI Corporation Teaching device and method for generating control information
KR101962889B1 (ko) * 2015-07-27 2019-03-28 한국전자통신연구원 작업환경 변화에 적응적인 로봇 동작 데이터 제공장치 및 그 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06134607A (ja) * 1992-10-26 1994-05-17 Sandvik Kk 工作機械のワーク、チャック等の交換装置
KR19990044591A (ko) * 1995-09-14 1999-06-25 하시모도 노부이치 로봇의 교시장치
JP2002326174A (ja) * 2002-04-26 2002-11-12 National Aerospace Laboratory Of Japan 多関節ロボットの制御方法
US9069351B2 (en) * 2004-11-26 2015-06-30 Abb Research Ltd. System and a method for controlling movements of an industrial robot
KR20110114651A (ko) * 2009-02-12 2011-10-19 미쓰비시덴키 가부시키가이샤 산업용 로봇 시스템
JP2013071239A (ja) * 2011-09-29 2013-04-22 Panasonic Corp ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
JP2014213399A (ja) * 2013-04-24 2014-11-17 国立大学法人横浜国立大学 ロボット教示方法及び教示システム

Also Published As

Publication number Publication date
WO2017052350A2 (ko) 2017-03-30
EP3354418A4 (en) 2019-05-01
US20180264648A1 (en) 2018-09-20
EP3354418B1 (en) 2024-02-28
CN108235696A (zh) 2018-06-29
EP3354418C0 (en) 2024-02-28
EP3354418A2 (en) 2018-08-01
KR20180015774A (ko) 2018-02-14
KR102609030B1 (ko) 2023-12-01
WO2017052350A3 (ko) 2017-05-11
CN108235696B (zh) 2023-04-25
US11185984B2 (en) 2021-11-30

Similar Documents

Publication Publication Date Title
KR20190055777A (ko) 로봇 제어 방법 및 장치
US11207780B2 (en) Path planning apparatus, path planning method, and path planning program
US10894324B2 (en) Information processing apparatus, measuring apparatus, system, interference determination method, and article manufacturing method
JP5620445B2 (ja) 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置
US9207668B2 (en) Method of and apparatus for automated path learning
US8155789B2 (en) Device, method, program and recording medium for robot offline programming
JP6348097B2 (ja) ワーク位置姿勢算出装置およびハンドリングシステム
CN111328305B (zh) 控制设备、作业机器人、程序和控制方法
CN104589354A (zh) 机器人控制装置、机器人系统以及机器人
US20180121578A1 (en) Simulation device and simulation method that carry out simulation of operation of robot system, and recording medium that records computer program
CN107924174A (zh) 用于确定工具偏移的系统和方法
JP2011093014A (ja) ハンドアイ式ビンピッキングロボットの制御装置
US20210146546A1 (en) Method to control a robot in the presence of human operators
CN107073714A (zh) 用于修正机器人引导工具的加工轨迹的方法和系统
US20230278224A1 (en) Tool calibration for manufacturing robots
JP2016150399A (ja) クーラントノズルの位置を調整するためのロボットシステム、およびロボット制御方法
JP2011093015A (ja) ハンドアイ式ビンピッキングロボットの制御装置
KR20210118380A (ko) 로봇 제어 방법 및 장치
JP7259860B2 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
JP2006289580A (ja) プログラムの教示点修正方法及びプログラム教示点修正装置
CN109983299A (zh) 工业机器人的测量系统和方法
JP7474681B2 (ja) プログラム生成システム、ロボットシステム、プログラム生成方法、および生成プログラム
US20230158684A1 (en) Automated Work-holding for Precise Fastening of Light Parts during Automated Transfer
US20210031369A1 (en) Apparatus, robot control device, robot system, and method of setting robot coordinate system
CN114290330A (zh) 机器人的校准方法和校准装置、机器人和可读存储介质

Legal Events

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