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

로봇 제어 방법 및 장치 Download PDF

Info

Publication number
KR20210118380A
KR20210118380A KR1020210124838A KR20210124838A KR20210118380A KR 20210118380 A KR20210118380 A KR 20210118380A KR 1020210124838 A KR1020210124838 A KR 1020210124838A KR 20210124838 A KR20210124838 A KR 20210124838A KR 20210118380 A KR20210118380 A KR 20210118380A
Authority
KR
South Korea
Prior art keywords
robot
information
work
motion
workflow
Prior art date
Application number
KR1020210124838A
Other languages
English (en)
Inventor
김형중
장준현
이상훈
Original Assignee
두산로보틱스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 두산로보틱스 주식회사 filed Critical 두산로보틱스 주식회사
Priority to KR1020210124838A priority Critical patent/KR20210118380A/ko
Publication of KR20210118380A publication Critical patent/KR20210118380A/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
    • 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
    • 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

Landscapes

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

Abstract

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

Description

로봇 제어 방법 및 장치{METHOD AND APPARATUS FOR CONTROLLING ROBOT}
본 발명은 일반적으로 로봇 제어 방법 및 장치에 관한 것이며, 더 구체적으로는, 로봇 동작이 수행되는 작업 환경 또는 로봇 작업에 관한 정보에 기초하여 로봇을 제어하는 방법 및 장치에 관한 것이다.
종래의 산업용 로봇은 미리 정해진 작업 환경에서의 하나의 작업 유형만을 수행할 수 있도록 제조되어, 로봇이 새로운 작업을 수행해야 할 필요가 생기거나 로봇의 작업 환경에 변화가 생기는 경우, 그러한 새로운 작업 또는 작업 환경에 관한 정보들을 일일이 입력하여 새로운 로봇 제어 프로그램을 개발해야 하는 어려움이 있었다. 특히 기존의 로봇 제어 프로그램 개발은 로봇의 세부 동작에 관한 하위 레벨 명령어들에 기초하여 이루어졌으므로, 로봇의 구동에 관한 전문가만이 수행할 수 있었다. 따라서 로봇의 사용자가 그 로봇이 새로운 작업 유형을 수행할 수 있도록 하기 위해서는, 제어 프로그램을 새로 개발하거나 기존의 프로그램을 수정하는 데에 있어서 전문가의 도움이 필요하였으며, 그에 따른 시간 및 비용이 많이 소요되는 문제점이 있었다.
본 발명의 목적은, 로봇의 작업 유형 또는 작업 환경이 변경되는 경우, 로봇을 용이하게 제어할 수 있는 방법 또는 장치를 제공하는 데 있다.
본 발명은 로봇의 제어 방법에 관한 것으로, 본 발명의 일 양태에 따르면, 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계, 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우(workflow)를 생성하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하는 단계, 및 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행하는 단계를 포함한다.
본 발명은 로봇의 제어 장치에 관한 것으로, 본 발명의 일 양태에 따르면, 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우를 생성하도록 구성되는 워크플로우 생성부, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 작업 환경 측정부, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하는 작업 정보 수신부, 및 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행하는 로봇 동작 제어부를 포함한다.
본 발명은 로봇의 작업 유형 또는 작업 환경이 변경되는 경우, 그 로봇의 사용자가 로봇 제어 프로그램을 효율적으로 생성하거나 수정하여 로봇을 제어할 수 있는 효과를 제공한다.
도 1은 본 개시의 일 실시예에 따른 로봇 시스템의 개략적인 블록도이다.
도 2는 본 개시의 일 실시예에 따른 로봇 암의 개략적인 외부 구성을 보여주는 사시도이다.
도 3은 본 개시의 일 실시예에 따른 로봇 제어기의 개략적인 블록도이다.
도 4는 본 개시의 일 실시예에 따른 로봇 동작의 작업 유형에 관한 정보에 기초하여 생성된 로봇 동작의 워크플로우를 보여주는 도면이다.
도 5는 본 개시의 일 실시예에 따른 공작 기계와 관련된 로봇의 작업 환경 측정 방법을 보여주는 사시도이다.
도 6은 본 개시의 다른 실시예에 따른 공작 기계와 관련된 로봇의 작업 환경 측정 방법을 보여주는 사시도이다.
도 7은 본 개시의 일 실시예에 따른 작업 트레이와 관련된 로봇의 작업 환경 측정 방법을 보여주는 사시도이다.
도 8은 본 개시의 일 실시예에 따른 작업 트레이와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 9는 본 개시의 일 실시예에 따른 공작 기계와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 10은 본 개시의 다른 실시예에 따른 작업 트레이와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 11은 본 개시의 일 실시예에 따른 로봇의 작업 환경을 측정하는 경우의 티치 펜던트의 화면을 보여주는 도면이다.
도 12는 본 개시의 일 실시예에 따른 로봇의 동작에 관한 작업 정보를 수신하는 경우의 티치 펜던트의 화면을 보여주는 도면이다.
도 13은 본 개시의 일 실시예에 따른 로봇의 작업 유형, 작업 환경 또는 작업 정보의 변경 여부에 따른 로봇의 제어 방법을 보여주는 흐름도이다.
도 14는 본 개시의 일 실시예에 따른 로봇의 제어를 위한 작업 프로그램에 기초하여 로봇 동작의 수행을 제어하는 방법을 보여주는 흐름도이다.
본 개시 내용은 로봇 동작이 수행되는 작업 환경 또는 로봇 작업에 관한 정보에 기초하여 로봇을 제어하는 방법 및 장치를 제공한다. 이하, 첨부된 도면을 참조하여, 본 개시 내용을 구현하기에 적합한 구체적인 실시예들에 대하여 설명한다. 다만, 이는 예시적인 설명일 뿐이며 이하의 설명에 나타난 바와 같이 발명을 한정하고자 하는 것은 아니다.
도 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) 등을 포함할 수 있다. 마찬가지로, 작업 유형이 듀얼 그리퍼를 이용한 공작 기계 보조 작업인 경우에도 이에 따른 워크플로우를 생성할 수 있으며, 다른 작업 유형들에 대해서도 워크플로우가 생성될 수 있다.
도 5는 본 개시의 일 실시예에 따른 공작 기계(510)와 관련된 로봇의 작업 환경 측정 방법을 보여주는 사시도이다. 도 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)이 위치하는 지점의 공간 좌표를 저장함으로써, 블로잉을 수행하는 위치와 관련된 작업 정보도 수신할 수 있다.
도 11은 본 개시의 일 실시예에 따른 로봇의 작업 환경을 측정하는 경우의 티치 펜던트(130)의 디스플레이 화면(1100)을 보여주는 도면이다. 도 11을 참조하면, 로봇의 작업 환경 측정을 위해, 티치 펜던트(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)와 통신할 수 있다.
도 12는 본 개시의 일 실시예에 따른 로봇의 동작에 관한 작업 정보를 수신하는 경우의 티치 펜던트(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)와 통신할 수 있다.
도 13은 본 개시의 일 실시예에 따른 로봇의 제어 방법(1300)을 보여주는 흐름도이다. 이하 도 13 내지 도 18의 흐름도에 도시된 단계들은 예시적인 것으로, 각 단계들은 결합, 분리 또는 생략될 수 있고, 각 단계의 순서는 변경될 수 있음을 유의한다. 먼저, 로봇 제어 장치는 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신할 수 있다(단계 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)이 제어될 수 있다.
그리고, 로봇 제어 장치(예를 들어, 도 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).
도 14는 본 개시의 일 실시예에 따른 로봇의 제어를 위한 작업 프로그램에 기초하여 로봇 동작의 수행을 제어하는 방법(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) 링크 또는 원하는 정보를 저장하는 데 사용될 수 있고 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 머신에 의해 실행 가능한 하나 이상의 명령어 세트의 전부 또는 일부는 인터넷 또는 인트라넷과 같은 컴퓨터 네트워크를 통해 다운로드될 수 있다.
이상의 실시예들은 발명의 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 형태의 실시예도 가능하다는 점을 이해할 것이다. 따라서, 당 분야에서 통상의 지식을 가진 자라면 첨부된 특허청구범위에 의해 정해지는 본 발명의 기술적 사상 및 범위를 벗어나지 않고 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다.
100 : 로봇 시스템
110 : 로봇 암
120 : 로봇 제어기
130 : 티치 펜던트
140 : 대상 기계
150 : 주변 기기
200 : 엔드 이펙터
300 : 작업 환경 측정부
310 : 작업 정보 수신부
320 : 작업 관리부
330 : 통신 인터페이스부
340 : 워크플로우 생성부
350 : 로봇 동작 제어부
360 : 데이터 저장부

Claims (22)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210124838A KR20210118380A (ko) 2018-11-19 2021-09-17 로봇 제어 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180142744A KR20180125935A (ko) 2018-11-19 2018-11-19 로봇 제어 방법 및 장치
KR1020210124838A KR20210118380A (ko) 2018-11-19 2021-09-17 로봇 제어 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180142744A Division KR20180125935A (ko) 2018-11-19 2018-11-19 로봇 제어 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210118380A true KR20210118380A (ko) 2021-09-30

Family

ID=64602984

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180142744A KR20180125935A (ko) 2018-11-19 2018-11-19 로봇 제어 방법 및 장치
KR1020210124838A KR20210118380A (ko) 2018-11-19 2021-09-17 로봇 제어 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180142744A KR20180125935A (ko) 2018-11-19 2018-11-19 로봇 제어 방법 및 장치

Country Status (1)

Country Link
KR (2) KR20180125935A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230068530A (ko) 2021-11-11 2023-05-18 주식회사 소이넷 협동 로봇 지능제어를 위한 모니터링 제어 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114131581B (zh) * 2021-07-16 2024-10-15 国网上海市电力公司 一种能够自主核相验电作业的机械触臂机器人

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230068530A (ko) 2021-11-11 2023-05-18 주식회사 소이넷 협동 로봇 지능제어를 위한 모니터링 제어 시스템

Also Published As

Publication number Publication date
KR20180125935A (ko) 2018-11-26

Similar Documents

Publication Publication Date Title
KR102609030B1 (ko) 로봇 제어 방법 및 장치
KR102012073B1 (ko) 스킬 기반 로봇 프로그래밍 장치 및 방법
Villani et al. Survey on human-robot interaction for robot programming in industrial applications
KR20210118380A (ko) 로봇 제어 방법 및 장치
CN100561491C (zh) 自动路径学习的方法和设备
US8706302B2 (en) Method for offline programming of an NC-controlled manipulator
JP6348097B2 (ja) ワーク位置姿勢算出装置およびハンドリングシステム
JP2019018272A (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
CN111328305B (zh) 控制设备、作业机器人、程序和控制方法
JP2018124910A (ja) 加工機に対して移動ロボットが物品の搬入及び搬出を行う加工システム、及び機械制御装置
US20200047339A1 (en) Programming support apparatus, robot system, and programming support method
JPWO2019009350A1 (ja) 経路出力方法、経路出力システム及び経路出力プログラム
CN112512754B (zh) 对工业机器人编程的方法
CN112207813B (zh) 运算装置、机器学习方法以及非暂时性存储介质
CN110405729B (zh) 机器人控制装置
JP6570540B2 (ja) マニュピュレータ及び入力ツールを用いて対象体をハンドリングする方法
JP2019171501A (ja) ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
JP7259860B2 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
CN111417496B (zh) 控制装置、工件作业装置、工件作业系统以及控制方法
CN108475051A (zh) 用于在工业机器人的编程期间对准工具的方法和系统
WO2018180300A1 (ja) ロボット作業管理システム、ロボット作業管理プログラム
WO2022070575A1 (ja) 移動体の制御装置及び制御方法
JP2019171499A (ja) ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
WO2020066947A1 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
JP2023147725A (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E601 Decision to refuse application