KR20180125935A - 로봇 제어 방법 및 장치 - Google Patents
로봇 제어 방법 및 장치 Download PDFInfo
- Publication number
- KR20180125935A KR20180125935A KR1020180142744A KR20180142744A KR20180125935A KR 20180125935 A KR20180125935 A KR 20180125935A KR 1020180142744 A KR1020180142744 A KR 1020180142744A KR 20180142744 A KR20180142744 A KR 20180142744A KR 20180125935 A KR20180125935 A KR 20180125935A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- information
- work
- machine tool
- working environment
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/022—Optical sensing devices using lasers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme 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)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
로봇을 제어하기 위한 방법 및 장치가 제공된다. 본 발명의 일 양태에 따르면, 본 방법은 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계, 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우(workflow)를 생성하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하는 단계, 및 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행하는 단계를 포함할 수 있다.
Description
본 발명은 일반적으로 로봇 제어 방법 및 장치에 관한 것이며, 더 구체적으로는, 로봇 동작이 수행되는 작업 환경 또는 로봇 작업에 관한 정보에 기초하여 로봇을 제어하는 방법 및 장치에 관한 것이다.
종래의 산업용 로봇은 미리 정해진 작업 환경에서의 하나의 작업 유형만을 수행할 수 있도록 제조되어, 로봇이 새로운 작업을 수행해야 할 필요가 생기거나 로봇의 작업 환경에 변화가 생기는 경우, 그러한 새로운 작업 또는 작업 환경에 관한 정보들을 일일이 입력하여 새로운 로봇 제어 프로그램을 개발해야 하는 어려움이 있었다. 특히 기존의 로봇 제어 프로그램 개발은 로봇의 세부 동작에 관한 하위 레벨 명령어들에 기초하여 이루어졌으므로, 로봇의 구동에 관한 전문가만이 수행할 수 있었다. 따라서 로봇의 사용자가 그 로봇이 새로운 작업 유형을 수행할 수 있도록 하기 위해서는, 제어 프로그램을 새로 개발하거나 기존의 프로그램을 수정하는 데에 있어서 전문가의 도움이 필요하였으며, 그에 따른 시간 및 비용이 많이 소요되는 문제점이 있었다.
본 발명의 목적은, 로봇의 작업 유형 또는 작업 환경이 변경되는 경우, 로봇을 용이하게 제어할 수 있는 방법 또는 장치를 제공하는 데 있다.
본 발명은 로봇의 제어 방법에 관한 것으로, 본 발명의 일 양태에 따르면, 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계, 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우(workflow)를 생성하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하는 단계, 및 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행하는 단계를 포함한다.
본 발명은 로봇의 제어 장치에 관한 것으로, 본 발명의 일 양태에 따르면, 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우를 생성하도록 구성되는 워크플로우 생성부, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 작업 환경 측정부, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하는 작업 정보 수신부, 및 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행하는 로봇 동작 제어부를 포함한다.
본 발명은 로봇의 작업 유형 또는 작업 환경이 변경되는 경우, 그 로봇의 사용자가 로봇 제어 프로그램을 효율적으로 생성하거나 수정하여 로봇을 제어할 수 있는 효과를 제공한다.
도 1은 본 개시의 일 실시예에 따른 로봇 시스템의 개략적인 블록도이다.
도 2는 본 개시의 일 실시예에 따른 로봇 암의 개략적인 외부 구성을 보여주는 사시도이다.
도 3은 본 개시의 일 실시예에 따른 로봇 제어기의 개략적인 블록도이다.
도 4는 본 개시의 일 실시예에 따른 로봇 동작의 작업 유형에 관한 정보에 기초하여 생성된 로봇 동작의 워크플로우를 보여주는 도면이다.
도 5는 본 개시의 일 실시예에 따른 공작 기계와 관련된 로봇의 작업 환경 측정 방법을 보여주는 사시도이다.
도 6은 본 개시의 다른 실시예에 따른 공작 기계와 관련된 로봇의 작업 환경 측정 방법을 보여주는 사시도이다.
도 7은 본 개시의 일 실시예에 따른 작업 트레이와 관련된 로봇의 작업 환경 측정 방법을 보여주는 사시도이다.
도 8은 본 개시의 일 실시예에 따른 작업 트레이와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 9는 본 개시의 일 실시예에 따른 공작 기계와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 10은 본 개시의 다른 실시예에 따른 작업 트레이와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 11은 본 개시의 일 실시예에 따른 로봇의 작업 환경을 측정하는 경우의 티치 펜던트의 화면을 보여주는 도면이다.
도 12는 본 개시의 일 실시예에 따른 로봇의 동작에 관한 작업 정보를 수신하는 경우의 티치 펜던트의 화면을 보여주는 도면이다.
도 13은 본 개시의 일 실시예에 따른 로봇의 작업 유형, 작업 환경 또는 작업 정보의 변경 여부에 따른 로봇의 제어 방법을 보여주는 흐름도이다.
도 14는 본 개시의 일 실시예에 따른 로봇의 제어를 위한 작업 프로그램에 기초하여 로봇 동작의 수행을 제어하는 방법을 보여주는 흐름도이다.
도 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 : 데이터 저장부
110 : 로봇 암
120 : 로봇 제어기
130 : 티치 펜던트
140 : 대상 기계
150 : 주변 기기
200 : 엔드 이펙터
300 : 작업 환경 측정부
310 : 작업 정보 수신부
320 : 작업 관리부
330 : 통신 인터페이스부
340 : 워크플로우 생성부
350 : 로봇 동작 제어부
360 : 데이터 저장부
Claims (28)
- 로봇의 제어 방법으로서,
상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계;
상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여, 상기 로봇 동작의 워크플로우(workflow)를 생성하는 단계;
상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계;
상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 단계; 및
상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계를 포함하는,
로봇 제어 방법. - 제1항에 있어서,
상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 로봇이 초기에 설치될 때 또는 상기 작업 환경이 변경되었을 때 수행되는,
로봇 제어 방법. - 제1항에 있어서,
상기 로봇은,
로봇 암;
상기 로봇 암의 동작을 제어하는 제어기;
상기 제어기와 통신 가능하도록 연결되는 티치 펜던트(teach pendant); 및
상기 로봇 암의 말단에 부착되는 엔드 이펙터(end effector)를 포함하는,
로봇 제어 방법. - 제3항에 있어서,
상기 로봇 동작의 수행과 관련하여 상기 로봇 동작의 대상 기계 또는 주변 기기와 통신하는 단계를 더 포함하는,
로봇 제어 방법. - 제1항에 있어서,
상기 로봇 동작의 작업 유형은 공작 기계 보조 작업, 사출기 보조 작업, 프레스 보조 작업, 픽 엔드 플레이스(pick and place) 작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩(bonding) 작업, 비전(vision) 검사 작업 또는 분류 작업 중 적어도 하나와 관련되는,
로봇 제어 방법. - 제1항에 있어서,
상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계를 포함하는,
로봇 제어 방법. - 제6항에 있어서,
상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계를 포함하는,
로봇 제어 방법. - 제1항에 있어서,
상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 작업 환경에 관한 정보를 상기 로봇의 비접촉 측정 장치에 의해 측정하는 단계를 포함하는,
로봇 제어 방법. - 제8항에 있어서,
상기 비접촉 측정 장치는 카메라 또는 레이저 빔 측정기를 포함하는,
로봇 제어 방법. - 제1항에 있어서,
상기 로봇 동작에 관한 작업 정보를 수신하는 단계는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신하는 단계를 포함하는,
로봇 제어 방법. - 제4항에 있어서,
상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계는,
상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계; 및
상기 작업 프로그램을 실행하여 상기 로봇 동작의 수행을 제어하는 단계를 포함하는,
로봇 제어 방법. - 제11항에 있어서,
상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계는,
상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하는 단계; 및
상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하는 단계를 포함하고,
상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함하는,
로봇 제어 방법. - 제12항에 있어서,
상기 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어인,
로봇 제어 방법. - 제12항에 있어서,
상기 복수의 제2 레벨의 명령어들은, 상기 엔드 이펙터의 제어 명령어, 상기 대상 기계의 제어 명령어, 상기 주변 기기의 제어 명령어, 급속 이동 명령어, 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들인,
로봇 제어 방법. - 제14항에 있어서,
상기 로봇 동작의 작업 유형은 공작 기계의 보조 작업과 관련되고,
상기 엔드 이펙터는 그리퍼(gripper)를 포함하고,
상기 엔드 이펙터의 제어 명령어는 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함하고,
상기 대상 기계의 제어 명령어는 척(chuck) 열림 명령어 또는 척 닫힘 명령어를 포함하는,
로봇 제어 방법. - 제1항에 있어서,
상기 로봇 동작의 작업 유형은 공작 기계 보조 작업과 관련되는,
로봇 제어 방법. - 제16항에 있어서,
상기 작업 환경에 관한 정보는, 상기 공작 기계의 척의 좌표계에 관한 정보, 상기 공작 기계의 도어의 위치에 관한 정보, 상기 로봇 동작의 수행을 위한 상기 로봇의 초기 위치에 관한 정보 또는 상기 공작 기계에 의해 가공되는 소재가 배치되는 작업 트레이의 위치에 관한 정보 중 적어도 하나를 포함하는,
로봇 제어 방법. - 제17항에 있어서,
상기 로봇 동작에 관한 작업 정보는, 상기 작업 트레이 상의 소재를 픽업(pick up)하는 동작과 관련된 정보, 상기 소재를 상기 공작 기계의 척에 로딩(loading)하는 동작과 관련된 정보, 상기 공작 기계에 의해 가공된 상기 소재의 가공품을 상기 공작 기계의 척으로부터 언로딩(unloading)하는 동작과 관련된 정보, 상기 가공품을 상기 작업 트레이 상에 놓는 동작과 관련된 정보 또는 상기 소재의 가공품에 블로잉(blowing)을 수행하는 동작과 관련된 정보 중 적어도 하나를 포함하는,
로봇 제어 방법. - 제17항에 있어서,
상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계 또는 상기 로봇 동작에 관한 작업 정보를 수신하는 단계는,
상기 로봇의 방향을 상기 작업 트레이, 상기 공작 기계의 척 또는 상기 공작 기계의 도어 중 적어도 하나에 대해 정렬하는 단계를 포함하는,
로봇 제어 방법. - 로봇의 제어 장치로서,
상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고, 상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 상기 로봇 동작의 워크플로우를 생성하도록 구성되는 워크플로우 생성부;
상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 작업 환경 측정부;
상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 작업 정보 수신부; 및
상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 로봇 동작 제어부를 포함하는,
로봇 제어 장치. - 제20항에 있어서,
상기 작업 환경 측정부는, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
로봇 제어 장치. - 제21항에 있어서,
상기 작업 환경 측정부는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
로봇 제어 장치. - 제20항에 있어서,
상기 작업 환경 측정부는, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 카메라 또는 레이저 빔 측정기에 의해 측정되도록 하는,
로봇 제어 장치. - 제20항에 있어서,
상기 작업 정보 수신부는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신하는,
로봇 제어 장치. - 제20항에 있어서,
상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 작업 프로그램 생성부를 더 포함하고,
상기 로봇 동작 제어부는 상기 생성된 작업 프로그램에 기초하여 상기 로봇의 상기 로봇 동작의 수행을 제어하는,
로봇 제어 장치. - 제25항에 있어서,
상기 작업 프로그램 생성부는,
상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하고,
상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하고,
상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함하는,
로봇 제어 장치. - 제20항에 있어서,
상기 로봇 동작의 수행과 관련하여 대상 기계 또는 주변 기기와 통신하는 통신 인터페이스부를 더 포함하는,
로봇 제어 장치. - 제1항 내지 제19항 중 어느 한 항의 로봇 제어 방법을 로봇 제어 장치에 의해 수행하도록 하는 프로그램을 저장하는 컴퓨터 판독가능 기록매체.
Priority Applications (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 | 로봇 제어 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180142744A KR20180125935A (ko) | 2018-11-19 | 2018-11-19 | 로봇 제어 방법 및 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150136814A Division KR20180015774A (ko) | 2015-09-25 | 2015-09-25 | 로봇 제어 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210124838A Division KR20210118380A (ko) | 2018-11-19 | 2021-09-17 | 로봇 제어 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180125935A true KR20180125935A (ko) | 2018-11-26 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210124838A KR20210118380A (ko) | 2018-11-19 | 2021-09-17 | 로봇 제어 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR20180125935A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114131581A (zh) * | 2021-07-16 | 2022-03-04 | 国网上海市电力公司 | 一种能够自主核相验电作业的机械触臂机器人 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102691989B1 (ko) | 2021-11-11 | 2024-08-05 | 주식회사 소이넷 | 협동 로봇 지능제어를 위한 모니터링 제어 시스템 |
-
2018
- 2018-11-19 KR KR1020180142744A patent/KR20180125935A/ko active Application Filing
-
2021
- 2021-09-17 KR KR1020210124838A patent/KR20210118380A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114131581A (zh) * | 2021-07-16 | 2022-03-04 | 国网上海市电力公司 | 一种能够自主核相验电作业的机械触臂机器人 |
Also Published As
Publication number | Publication date |
---|---|
KR20210118380A (ko) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180015774A (ko) | 로봇 제어 방법 및 장치 | |
US11207780B2 (en) | Path planning apparatus, path planning method, and path planning program | |
CN100561491C (zh) | 自动路径学习的方法和设备 | |
KR102012073B1 (ko) | 스킬 기반 로봇 프로그래밍 장치 및 방법 | |
JP6348097B2 (ja) | ワーク位置姿勢算出装置およびハンドリングシステム | |
US8706302B2 (en) | Method for offline programming of an NC-controlled manipulator | |
CN111328305B (zh) | 控制设备、作业机器人、程序和控制方法 | |
US20140257558A1 (en) | Reducing energy consumption of industrial robots by using new methods for motion path programming | |
CN102243498A (zh) | 机器人的作业程序生成方法、机器人的作业程序生成装置和机器人控制系统 | |
KR20210118380A (ko) | 로봇 제어 방법 및 장치 | |
CN112512754B (zh) | 对工业机器人编程的方法 | |
CN107073714B (zh) | 用于修正机器人引导工具的加工轨迹的方法和系统 | |
US20210146546A1 (en) | Method to control a robot in the presence of human operators | |
CN114007793B (zh) | 补焊控制设备和补焊控制方法 | |
CN108369413B (zh) | 工业机器人和用于控制机器人自动选择接下来要执行的程序代码的方法 | |
CN114290330A (zh) | 机器人的校准方法和校准装置、机器人和可读存储介质 | |
JP3411770B2 (ja) | センシングパターンのオフライン自動ティーチング方法及びセンシング動作シミュレーション方法 | |
WO2022070575A1 (ja) | 移動体の制御装置及び制御方法 | |
CN116810805B (zh) | 一种基于六轴机械手的工件加工控制方法及相关装置 | |
JP7288157B1 (ja) | 数値制御装置及び数値制御システム | |
CN112091960B (zh) | 机器人、用于机器人的接触检测方法和相关装置 | |
US20230109876A1 (en) | Information processing apparatus, information processing method, and method of manufacturing products | |
JPH05138349A (ja) | 多層盛自動溶接装置 | |
CN117621040A (zh) | 机器人控制系统、机器人控制方法以及计算机可读取记录介质 | |
KR20140065205A (ko) | 컨테이너 콘의 자동용접을 위한 위치/자세 인식방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X601 | Decision of rejection after re-examination | ||
A107 | Divisional application of patent |