KR20200131670A - 로봇의 좌표계를 보정하는 방법 - Google Patents

로봇의 좌표계를 보정하는 방법 Download PDF

Info

Publication number
KR20200131670A
KR20200131670A KR1020190056561A KR20190056561A KR20200131670A KR 20200131670 A KR20200131670 A KR 20200131670A KR 1020190056561 A KR1020190056561 A KR 1020190056561A KR 20190056561 A KR20190056561 A KR 20190056561A KR 20200131670 A KR20200131670 A KR 20200131670A
Authority
KR
South Korea
Prior art keywords
robot
coordinate system
command
posture
coordinate
Prior art date
Application number
KR1020190056561A
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 KR1020190056561A priority Critical patent/KR20200131670A/ko
Publication of KR20200131670A publication Critical patent/KR20200131670A/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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 일 실시예에 따른 로봇의 좌표계를 보정하는 방법은, 최초 좌표계를 기준으로 하는 제1 명령을 생성하는 단계; 로봇이 상기 제1 명령에 따라 동작한 상태에서, 상기 제1 명령에 따른 동작 상태와 상기 로봇의 실제 동작 상태의 차이에 기초하여 상기 로봇의 제1 동작 좌표계를 생성하는 단계; 상기 제1 동작 좌표계를 기준으로 하는 제2 명령을 생성하는 단계; 상기 로봇이 상기 제2 명령에 따라 동작한 상태에서, 상기 제2 명령에 따른 동작 상태와 상기 로봇의 실제 동작 상태의 차이에 기초하여 상기 로봇의 제2 동작 좌표계를 생성하는 단계; 및 상기 제2 동작 좌표계를 이용하여 상기 로봇의 적어도 하나의 동작 명령을 생성하는 단계;를 포함할 수 있다.

Description

로봇의 좌표계를 보정하는 방법{Method for calibrating the coordinate system of a robot}
본 발명의 실시예들은 로봇의 좌표계를 보정하는 방법에 관한 것이다.
기술의 급격한 발전에 따라 로봇(robot)은 사람을 대신하여 각종 작업을 수행하는 도구로서 중요한 역할을 수행하고 있다. 로봇은 주로 사람의 팔을 대신하여 제조업 생산 라인에서 물류, 조립, 용접, 페인팅을 비롯한 여러 형태의 작업의 자동화에 사용됨으로써 생산성 향상에 기여한다.
한편 이러한 로봇은 그 활용 분야가 확대됨에 따라, 보다 높은 동작의 정확도를 요구하는 분야가 증가하고 있다.
본 발명은 제어 명령에 따른 로봇의 상태와 실제 로봇의 상태 간의 차이를 이용하여 갱신된 좌표계를 생성하고, 이를 로봇의 제어에 사용하는 방법을 제공하고자 한다.
또한 본 발명은 갱신된 좌표계를 기준으로 로봇을 실제로 동작시킨 뒤, 그 결과를 확인하는 과정을 반복하여 수행함으로써, 로봇의 동작 정확도를 향상시키고자 한다.
본 발명의 일 실시예에 따른 로봇의 좌표계를 보정하는 방법은, 최초 좌표계를 기준으로 하는 제1 명령을 생성하는 단계; 로봇이 상기 제1 명령에 따라 동작한 상태에서, 상기 제1 명령에 따른 동작 상태와 상기 로봇의 실제 동작 상태의 차이에 기초하여 상기 로봇의 제1 동작 좌표계를 생성하는 단계; 상기 제1 동작 좌표계를 기준으로 하는 제2 명령을 생성하는 단계; 상기 로봇이 상기 제2 명령에 따라 동작한 상태에서, 상기 제2 명령에 따른 동작 상태와 상기 로봇의 실제 동작 상태의 차이에 기초하여 상기 로봇의 제2 동작 좌표계를 생성하는 단계; 및 상기 제2 동작 좌표계를 이용하여 상기 로봇의 적어도 하나의 동작 명령을 생성하는 단계;를 포함할 수 있다.
상기 제1 명령은 상기 로봇의 기준 파트가 상기 기준 좌표에서 기준 자세로 동작하도록 하는 명령이고, 상기 제1 동작 좌표계를 생성하는 단계는 상기 제1 명령에 따른 상기 기준 파트의 위치인 기준 좌표 및 상기 기준 좌표에서의 상기 기준 파트의 자세인 기준 자세를 확인하는 단계; 상기 제1 명령에 따라 상기 로봇을 동작시키는 단계; 마커에 대한 제1 마커 영상을 획득하는 단계로써, 상기 마커는 기준 좌표계 상의 고정된 좌표에 위치하는 개체인 단계; 상기 제1 마커 영상에 기초하여, 상기 기준 좌표계 상에서의 상기 기준 파트의 실제 좌표 및 실제 자세를 산출하는 단계; 및 상기 기준 좌표, 상기 기준 자세, 상기 실제 좌표 및 상기 실제 자세를 이용하여 상기 기준 파트의 실제 동작 좌표계인 제1 동작 좌표계를 생성하는 단계;를 포함할 수 있다.
제2 명령을 생성하는 단계는 상기 제1 동작 좌표계 상에서 상기 기준 좌표계 상의 상기 기준 좌표에 대응되는 제1 보정 기준 좌표를 산출하는 단계; 상기 제1 동작 좌표계 상에서 상기 기준 자세에 대응되는 제1 보정 기준 자세를 산출하는 단계; 및 상기 로봇의 기준 파트가 상기 제1 보정 기준 좌표에서 상기 제1 보정 기준 자세로 동작하도록 하는 제2 명령을 생성하는 단계;를 포함할 수 있다.
상기 제2 동작 좌표계를 생성하는 단계는 상기 제2 명령에 따라 상기 로봇을 동작시키는 단계; 상기 마커에 대한 제2 마커 영상을 획득하는 단계; 상기 제2 마커 영상에 기초하여, 상기 기준 좌표계 상에서의 상기 기준 파트의 실제 좌표 및 실제 자세를 산출하는 단계; 및 상기 기준 좌표, 상기 기준 자세, 상기 실제 좌표 및 상기 실제 자세를 이용하여 상기 기준 파트의 갱신된 실제 동작 좌표계인 제2 좌표계를 생성하는 단계;를 포함할 수 있다.
상기 로봇의 동작 상태는 3차원 공간 상에서 상기 기준 파트의 위치 및 상기 3차원 공간 상에서 각각의 축을 기준으로 하는 상기 기준 파트의 회전 각도를 포함할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 따르면, 제어 명령에 따른 로봇의 상태와 실제 로봇의 상태 간의 차이를 이용하여 갱신된 좌표계를 생성하고, 이를 로봇의 제어에 사용할 수 있다.
또한 갱신된 좌표계를 기준으로 로봇을 실제로 동작시킨 뒤, 그 결과를 확인하는 과정을 반복하여 수행함으로써, 양자간의 차이(즉 제어 명령에 따른 로봇의 상태와 실제 로봇의 상태 간의 차이)를 감소시키고 이로써 로봇의 동작 정확도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇 시스템을 개략적으로 도시한다.
도 2는 제어부(110)가 제1 동작 좌표계를 생성하는 방법을 설명하기 위한 도면이다.
도 3은 제어부(110)가 제2 동작 좌표계를 생성하는 방법을 설명하기 위한 도면이다.
도 4는 제어부(110)가 일련의 작업에 있어서, 로봇(200)의 좌표계를 소정의 조건에 따라 갱신하여 사용하는 방법을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)에 의해 수행되는 로봇의 좌표계 보정 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하의 실시예에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하의 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명의 실시예의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 잇는 것과 유사하게, 본 발명의 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명의 실시예들은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 매커니즘, 요소, 수단, 구성과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇 시스템을 개략적으로 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 로봇 시스템은 로봇 좌표계 보정 장치(100), 로봇(200) 및 마커(310)를 포함할 수 있다.
본 발명의 일 실시예에 따른 로봇 시스템은 로봇(200)이 하나 이상의 좌표계에 따라 동작하면서 획득한 마커(310)의 영상을 이용하여 기준 좌표계에 가장 부합하는 로봇(200)의 동작 좌표계를 생성할 수 있다.
본 발명에서 '좌표계'는 로봇(200)의 동작 상태나 로봇(200)을 구성하는 특정 파트의 위치를 고유하게 결정하기 위해, 하나 이상의 숫자를 이용하여 동작 상태나 위치를 나타내는 체계를 의미할 수 있다.
본 발명에서 '기준 좌표계'는 실제 공간상에서의 로봇(200)의 동작 상태나 로봇(200)을 구성하는 특정 파트의 위치를 나타내는 좌표계 일 수 있다. 이와 같은 기준 좌표계는 실제 공간상에서의 로봇(200) 상태나 위치를 나타내는 좌표계이기에 후술하는 나머지 좌표계들과 달리 절대적인 것일 수 있다.
'최초 좌표계', '제1 동작 좌표계' 및 '제2 동작 좌표계'와 같은 좌표계는 로봇 좌표계 보정 장치(100)가 전술한 기준 좌표계와 동일한 것으로 판단하여 생성한 가상의 좌표계 일 수 있다. 따라서 이와 같은 좌표계들은 상대적인 것일 수 있다.
예를 들어 로봇 좌표계 보정 장치(100) 및/또는 로봇(200)이 3차원 공간 상에서 기준 파트(226)를 (1, 1, 1)로 이동시키기 위해, 최초 좌표계를 기준으로 로봇(200)의 기준 파트(226)의 위치를 (1, 1, 1)로 제어한 경우를 가정해 보자.
이러한 경우 로봇 좌표계 보정 장치(100) 및/또는 로봇(200)은 최초 좌표계를 기준으로 로봇(200)을 제어하기에, 기준 파트(226)의 위치가 (1, 1, 1)인 것으로 판단할 수 있다. 그러나 실제 제어에 있어서, 환경적 변수 및 오차 등으로 인하여 실제(즉 기준 좌표계에서) 기준 파트(226)의 위치는 (1.5, 1.2, 0.9)일 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 이와 같이 로봇 좌표계 보정 장치(100) 및/또는 로봇(200)의 판단 기준이 되는 좌표계(가령 최초 좌표계)와 실제 공간상의 좌표계(가령 기준 좌표계) 간의 차이를 점차적으로 감소시켜, 보다 정밀한 로봇(200)의 제어가 가능하도록 한다.
본 발명에서 하나 이상의 좌표계들은 단위 길이의 스케일(Scale)을 달리할 수 있다. 가령 기준 좌표계에서 단위길이 1은 1cm에 대응되는 길이이고, 제1 좌표계에서 단위길이 1은 1.5cm에 대응되는 길이이고, 제2 좌표계에서 단위길이 1은 1.2cm에 대응되는 길이일 수 있다.
또한 하나 이상의 좌표계들은 원점을 공유할 수도 있고, 서로 다른 원점을 사용할 수도 있다. 물론 하나 이상의 좌표계들은 서로 다른 축의 방향(즉 X축, Y축, Z축 각각의 방향)을 가질 수 도 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명에서 로봇(200)이 명령에 따라 '동작'하거나, '동작한 상태'가 되는 것은, 제어신호에 따라 로봇(200)의 기준 파트(226)가 특정 위치에서 특정 자세를 취하는 것을 의미할 수 있다. 이때 제어신호는 로봇 좌표계 보정 장치(100)에 의해 적절하게 생성된 것일 수 있다.
본 발명에서 로봇(Robot, 200)은 하나 이상의 엑츄에이터 및 하나 이상의 파트를 포함하는 장치일 수 있다. 이 때 엑츄에이터(Actuator)는 제어신호에 기초하여 전기에너지를 운동에너지로 변환하는 다양한 장치를 의미할 수 있다. 가령 엑츄에이터는 직류(DC) 서보 모터, 교류(AC) 서보 모터, 스테핑 모터, 리니어 모터, 유압 실린더, 유압 모터, 공기압 실린더 및 공기압 모터 중 어느 하나 일 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 제한되는 것은 아니다.
한편 파트(Part)는 전술한 엑츄에이터를 특정 위치에 고정시키는 구조물 또는 엑츄에이터에 고정되어 운동하는 구조물을 의미할 수 있다.
본 발명의 일 실시예에 따른 로봇은 가령 다관절 로봇, 스카라 로봇 및 원통 좌표 로봇 중 어느 하나이거나, 어느 하나 이상의 조합일 수 있다. 다관절 로봇(Articulated Robot)은 하나 이상의 관절 및 관절과 다른 관절을 연결하는 파트(또는 바디)를 포함하는 로봇일 수 있다. 스카라 로봇(Scara Robot)은 로봇의 암(Arm)이 특정 평면 내에서 동작하는 로봇일 수 있다. 원동 좌표 로봇(Cylindrical Robot)은 로봇의 암(Arm)이 적어도 1개의 회전 관절과 적어도 1개의 직진 관절을 갖는 로봇을 의미할 수 있다. 다만 이는 예시적인 것이며, 본 발명의 사상이 이에 제한되는 것은 아니다. 따라서 전술한 바와 같이 하나 이상의 엑츄에이터(Actuator) 및 하나 이상의 파트(Part)를 포함하고 제어신호에 따라 동작하는 장치는 본 발명의 로봇에 해당할 수 있다.
이하에서는 설명의 편의를 위하여 로봇(200)이 도 1에 도시된 바와 같은 다관절 로봇으로, N개의 관절과 각 관절을 연결하는 파트를 포함하는 것을 전제로 설명한다. 보다 상세히, 로봇(200)은 여섯 개의 관절(211, 212, 213, 214, 215, 216) 및 여섯 개의 파트(221, 222, 223, 224, 225, 226)를 포함하는 것을 전제로 설명한다.
또한 로봇(200)의 여섯개의 파트 중 어느 하나의 파트(221)는 지면 및/또는 이동수단(미도시)에 고정되어 있고, 기준 파트(226)는 가장 말단 파트로 작업을 위한 툴(예를 들어 집게)이 부착되는 것을 전제로 설명한다.
본 발명의 일 실시예에서, 로봇(200)은 마커 영상을 획득하기 위한 영상 획득 장치(230)를 포함할 수 있다. 이때 영상 회득 장치(230)는 전술한 기준 파트(226)에 툴과 함께 부착될 수도 있고, 다른 파트(예를 들어 파트(225))에 부착될 수도 있다. 영상 획득 장치(230)가 획득한 마커 영상은 후술하는 로봇 좌표계 보정 장치(100)로 전달되어, 로봇(200)의 실제 위치 및/또는 자세 등을 판단하는데 사용될 수 있다.
본 발명에서 '마커(310)'는 기준 좌표계 상의 고정된 좌표(또는 이미 알고 있는 좌표)에 위치하는 개체로, 로봇(200)의 실제 위치 및/또는 자세를 판단함에 있어서 기준을 제공하는 요소일 수 있다.
이와 같은 마커(310)는 영상으로 식별 가능한 다양한 형태를 가질 수 있다. 가령 마커(310)는 로봇(200)이 마커(310)를 촬영한 마커 영상을 통해 자신의 위치 및 회전 방향을 알 수 있도록 하기 위해, 소정의 크기의 방향성을 갖는 QR 코드의 형태일 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
한편 마커(310)는 작업 대상물(410)근처에 배치되어, 로봇(200)이 작업 대상물(410)물의 근처에서 좌표계를 보정하도록 함으로써 보다 높은 정확도로 작업이 이루어 지도록 할 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 로봇의 좌표계를 보정하기 위한 장치로, 제어부(110), 디스플레이부(120) 및 입력부(130)를 포함할 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 로봇(200)이 하나 이상의 좌표계에 따라 동작하면서 획득한 마커 영상을 이용하여, 실제와 가장 부합하는 로봇(200)의 동작 좌표계를 생성할 수 있다. 이 때 제어부(110)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 디스플레이부(120)는 로봇(200)의 현재 동작 상태 등을 표시할 수 있다. 또한 디스플레이부(120)는 로봇(200)이 획득한 마커 영상을 표시할 수도 있다. 따라서 디스플레이부(120)는 도형, 문자 또는 영상을 표시하는 표시장치를 의미할 수 있다. 예컨대, 디스플레이부(120)는 CRT(Cathode Ray Tube), LCD(Liquid Crystal Display), PDP (Plasma Display Panel), LED(Light-Emitting Diode) 및 OLED(Organic Light Emitting Diode) 중 어느 하나로 구성될 수 있으나, 본 발명의 사상은 이에 제한되지 않는다.
본 발명의 일 실시예에 따른 입력부(130)는 사용자의 입력을 획득하는 다양한 수단을 의미할 수 있다. 예컨대, 입력부(130)는 키보드, 마우스, 트랙볼, 마이크 및 버튼 중 어느 하나이거나 하나 이상의 조합일 수 있다. 또한 입력부(130)는 전술한 디스플레이부(120)상에 입력을 수행하는 터치 수단을 의미할 수도 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 제한되는 것은 아니다.
도면에는 도시되지 않았지만, 본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 통신부(미도시) 및 메모리(미도시)를 더 포함할 수 있다.
이 때 통신부(미도시)는 로봇 좌표계 보정 장치(100)가 로봇(200)과 같은 외부장치와 유무선 연결을 통해 제어 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
메모리(미도시)는 로봇 좌표계 보정 장치(100)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
한편 본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 도시된 바와 같이 로봇(200) 및/또는 로봇(200)의 제어 장치(미도시)와 별도로 구비되는 장치일 수 있다. 또한 도시된 바와 달리, 로봇 좌표계 보정 장치(100)는 로봇(200) 및/또는 로봇(200)의 제어 장치(미도시)에 포함된 장치일 수 있다.
바꾸어 말하면, 로봇(200) 및/또는 로봇(200)의 제어 장치(미도시)는 본 발명의 일 실시예에 따른 로봇의 좌표계 보정 방법을 수행할 수 있다. 다만 이하에서는 설명의 편의를 위하여 도 1에 도시된 바와 같이 로봇 좌표계 보정 장치(100)가 별도로 구비됨을 전제로 설명한다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)의 제어부(110)는 최초 좌표계를 기준으로 하는 제1 명령을 생성할 수 있다. 전술한 바와 같이 로봇(200)이 명령에 따라 '동작'하거나, '동작한 상태'가 되는 것은, 제어신호에 따라 로봇(200)의 기준 파트(226)가 특정 위치에서 특정 자세를 취하는 것을 의미할 수 있다. 따라서 제1 명령을 생성하는 것은 기준 파트(226)가 특정 위치(예를 들어 (1, 1, 1)에서 특정 자세(예를 들어 X축 기준으로 0도 회전, Y축 기준으로 0도 회전, Z축 기준으로 0도 회전)를 취하도록 하는 제어신호를 생성하는 것을 의미할 수 있다.
한편 '최초 좌표계'는 로봇에 미리 저장되어 있는 임의의 좌표계로, 제1 명령의 생성시 기준이 되는 좌표계를 의미할 수 있다. 이하에서는 설명의 편의를 위하여 최초 좌표계와 기준 좌표계가 일치하지 않음을 전제로 설명한다.
본 발명의 일 실시예에 따른 제어부(110)는 로봇(200)이 제1 명령에 따라 동작한 상태에서, 제1 명령에 따른 동작 상태와 로봇(200)의 실제 동작 상태의 차이에 기초하여 로봇(200)의 제1 동작 좌표계를 생성할 수 있다.
도 2는 제어부(110)가 제1 동작 좌표계를 생성하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제어부(110)는 제1 명령에 따른 기준 파트(226)의 위치인 기준 좌표(Pref) 및 이러한 기준 좌표에서의 기준 파트(226)의 자세인 기준 자세(Dref)를 확인할 수 있다.
바꾸어 말하면 제어부(110)는 제1 명령에 따라 기준 파트(226)를 위치시키고자 하는 좌표(Pref)와 이러한 위치에서 취하고자 하는 자세(Dref)를 확인할 수 있다. 즉 제어부(110)는 이상적인 상황에서의 제1 명령에 따른 기준 파트(226)의 좌표(Pref) 및 자세(Dref)를 확인할 수 있다. 예를 들어 제어부(110)는 기준 좌표(Pref)를 (1, 1, 1)로, 기준 자세(Dref)를 (0도, 0도, 0도)로 확인할 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 제1 명령에 따라 로봇(200)을 실제로 동작시킬 수 있다. 이때 제어부(110)는 최초 좌표계를 기준으로 제1 명령에 따라 로봇(200)을 동작시킬 수 있다. 가령 로봇(200)은 제1 명령에 따라 좌표(Preal1)에서 자세(Dreal1)를 유지하도록 동작할 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 로봇(200)이 제1 명령에 따라 동작한 상태에서, 마커(310)에 대한 제1 마커 영상을 획득할 수 있다. 또한 제어부(110)는 획득된 제1 마커 영상에 기초하여, 기준 좌표계 상에서의 기준 파트(226)의 실제 좌표(Preal1) 및 실제 자세(Dreal1)를 산출할 수 있다.
실제 좌표(Preal1) 및 실제 자세(Dreal1)가 도 2에 도시된 바와 같을 경우, 제어부(110)는 영상의 중앙이 아닌, 일 측면에 마커(310)가 위치하는 제1 마커 영상을 획득할 수 있다. 제어부(110)는 영상 내에서의 마커(310)의 위치 및 마커(310)의 크기에 기초하여 기준 파트(226) 실제 좌표(Preal1) 및 실제 자세(Dreal1)를 산출할 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 기준 좌표(Pref), 기준 자세(Dref), 실제 좌표(Preal1) 및 실제 자세(Dreal1)를 이용하여, 기준 파트(226)의 실제 동작 좌표계인 제1 동작 좌표계를 생성할 수 있다.
예를 들어, 제1 명령의 기준이 되는 최초 좌표계에 따를 경우, 실제 위치에 해당하는 좌표 및 실제 자세와 달리 현재 기준 파트(226)의 위치 좌표가 (1, 1, 1)(즉 Pref), 자세가 (0도, 0도, 0도)(즉 Dref)인 것으로 판단될 수 있다.
이러한 상황에서 제어부(110)는 제1 마커 영상으로부터 산출된 기준 파트(226)의 실제 좌표 (1.5, 1.2, 0.9)(즉 Preal1) 및 실제 자세(3도, 0도, -1도)(즉 Dreal1)를 이용하여 현재 기준 파트(226)의 위치 좌표 및 자세를 실제에 부합하도록 나타내는 제1 동작 좌표계를 생성할 수 있다.
이러한 제1 동작 좌표계에 따를 경우, 제1 명령에 따른 동작 상태에서의 기준 파트(226)의 위치는 실제 좌표(Preal1)로, 기준 파트(226)의 자세는 실제 자세(Dreal1)로 표현될 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 상술한 과정에 의해서 생성된 제1 동작 좌표계를 기준으로 하는 제2 명령을 생성할 수 있다. 이때 제1 동작 좌표계는 로봇(200)의 동작을 제어하는 기준이 되는 좌표계로 사용될 수 있으며, 전술한 최초 좌표계에 갈음하여 사용될 수 있다.
제어부(110)는 제1 동작 좌표계 상에서 기준 좌표계 상의 기준 좌표(Pref)에 대응되는 제1 보정 기준 좌표를 산출할 수 있다. 또한 제어부(110)는 제1 동작 좌표계 상에서 기준 자세(Dref)에 대응되는 제1 보정 기준 자세를 산출할 수 있다.
제어부(110)는 로봇(200)의 기준 파트(226)가 제1 보정 기준 좌표에서 제1 보정 기준 자세로 동작하도록 하는 제2 명령을 생성할 수 있다. 즉 제어부(110)는 제1 동작 좌표계를 기준으로, 로봇(200)을 기준 상태로 동작시킬 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 로봇(200)이 제2 명령에 따라 동작한 상태에서, 제2 명령에 따른 동작 상태와 로봇(200)의 실제 동작 상태의 차이에 기초하여 로봇의 갱신된 동작 좌표계인 제2 동작 좌표계를 생성할 수 있다.
도 3은 제어부(110)가 제2 동작 좌표계를 생성하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제어부(110)는 제2 명령에 따른 기준 파트(226)의 위치인 기준 좌표(Pref) 및 이러한 기준 좌표에서의 기준 파트(226)의 자세인 기준 자세(Dref)를 확인할 수 있다.
바꾸어 말하면 제어부(110)는 제2 명령에 따라 기준 파트(226)를 위치시키고자 하는 위치의 좌표(Pref)와 이러한 위치에서의 유지시키고자 하는 자세(Dref)를 확인할 수 있다. 즉 제어부(110)는 이상적인 상황에서의 제2 명령에 따른 기준 파트(226)의 위지 좌표(Pref) 및 자세(Dref)를 확인할 수 있다. 예를 들어 제어부(110)는 기준 위치(Pref)를 (1, 1, 1)로, 기준 자세(Dref)를 (0도, 0도, 0도)로 확인할 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 제2 명령에 따라 로봇(200)을 실제로 동작시킬 수 있다. 이때 제어부(110)는 제1 동작 좌표계를 기준으로 제2 명령에 따라 로봇(200)을 동작시킬 수 있다. 가령 로봇(200)은 제2 명령에 따라 좌표(Preal2)에서 자세(Dreal2)를 유지하도록 동작할 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 로봇(200)이 제2 명령에 따라 동작한 상태에서, 마커(310)에 대한 제2 마커 영상을 획득할 수 있다. 또한 제어부(110)는 획득된 제2 마커 영상에 기초하여, 기준 좌표계 상에서의 기준 파트(226)의 실제 좌표(Preal2) 및 실제 자세(Dreal2)를 산출할 수 있다.
예를 들어 실제 좌표(Preal2) 및 실제 자세(Dreal2)가 도 3에 도시된 바와 같을 경우, 제어부(110)는 제1 마커 영상과 마찬가지로, 영상의 일 측면에 마커(310)가 위치하는 제2 마커 영상을 획득할 수 있다. 제어부(110)는 영상 내에서의 마커(310)의 위치 및 마커(310)의 크기에 기초하여, 기준 파트(226) 실제 좌표(Preal2) 및 실제 자세(Dreal2)를 산출할 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 기준 좌표(Pref), 기준 자세(Dref), 실제 좌표(Preal2) 및 실제 자세(Dreal2)를 이용하여, 기준 파트(226)의 실제 동작 좌표계인 제2 동작 좌표계를 생성할 수 있다. 예를 들어, 제2 명령의 기준이 되는 제1 좌표계에 따를 경우, 실제 좌표 및 실제 자세와 달리 현재 기준 파트(226)의 위치 좌표가 (1, 1, 1)(즉 Pref), 자세가 (0도, 0도, 0도)(즉 Dref)인 것으로 판단될 수 있다.
이러한 상황에서 제어부(110)는 제2 마커 영상으로부터 산출된 기준 파트(226)의 실제 좌표(1.1, 1.0, 0.95)(즉 Preal2) 및 실제 자세(0도, 0도, -0.5도)(즉 Dreal2)를 이용하여 현재 기준 파트(226)의 위치 및 자세를 실제와 같이 나타내는 제2 동작 좌표계를 생성할 수 있다.
이러한 제2 동작 좌표계에 따를 경우, 제2 명령에 따른 동작 상태에서의 기준 파트(226)의 위치는 실제 좌표(Preal2)로, 기준 파트(226)의 자세는 실제 자세(Dreal2)로 표현될 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 제2 명령에 따른 동작 상태와 실제 동작 상태의 차이가 소정의 임계 차이 이내인지 여부를 판단하고, 소정의 임계 차이 이내가 아닌 경우, 상술한 과정을 반복하여 수행할 수 있다.
즉 현재 좌표계를 기준으로 로봇(200)의 상태가 기준 상태가 되도록 하는 제어 명령을 생성하고, 명령에 따른 로봇의 상태와 실제 로봇의 상태의 차이에 기초하여 새로운 좌표계를 생성할 수 있다.
한편 소정의 차이가 임계 차이 이내인 경우, 제어부(110)는 최종적으로 생성된 제2 좌표계를 이용하여 로봇의 적어도 하나의 동작 명령을 생성할 수 있다. 바꾸어 말하면, 제2 좌표계를 로봇(200) 제어의 기준이 되는 좌표계로 사용할 수 있다.
종래기술의 경우 로봇(200)의 동작을 제어함에 있어서, 단지 명령에 따른 로봇(200)의 상태와 실제 로봇(200)의 상태 간의 차이를 이용하는데 그칠 뿐이라서, 이러한 차이를 감안한 로봇(200)의 제어가 실제로 정확도가 향상된 것인지에 대한 확인이 어려운 측면이 있었다.
그러나 본 발명의 경우, 명령에 따른 로봇(200)의 상태와 실제 로봇(200)의 상태 간의 차이를 이용하여 새로운 좌표계를 생성하고, 나아가 새로운 좌표계를 기준으로 로봇(200)을 실제로 동작시킨 뒤, 그 결과를 확인하는 과정을 반복하여 수행함으로써 로봇(200)의 동작 정확도를 향상시킬 수 있다.
본 발명의 일 실시예에 따른 제어부(110)는 일련의 작업에 있어서, 로봇(200)의 좌표계를 소정의 조건에 따라 갱신하여 사용할 수 있다. 가령 도 4에 도시된 바와 같이 작업물(410, 420, 430)들이 소정의 거리에 따라 이격 되어 배치되는 경우, 제어부(110)는 작업물(410, 420, 430) 각각에 대한 마커(310, 320, 330)를 이용하여 각 작업물(410, 420, 430)의 작업 전에 좌표계를 새롭게 갱신할 수 있다.
또한 제어부(110)는 작업 시간이 소정의 시간을 경과한 경우에도 마커를 이용하여 좌표계를 새롭게 갱신할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 5는 본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)에 의해 수행되는 로봇의 좌표계 보정 방법을 설명하기 위한 흐름도이다. 이하에서는 도 1 내지 도 4를 함께 참조하여 설명하되, 도 1 내지 도 4에서 설명한 내용과 중복되는 내용은 생략한다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 최초 좌표계를 기준으로 하는 제1 명령을 생성할 수 있다.(S51) 전술한 바와 같이 로봇(200)이 명령에 따라 '동작'하거나, '동작한 상태'가 되는 것은, 제어신호에 따라 로봇(200)의 기준 파트(226)가 특정 위치에서 특정 자세를 취하는 것을 의미할 수 있다. 따라서 제1 명령을 생성하는 것은 기준 파트(226)가 특정 위치(예를 들어 (1, 1, 1)에서 특정 자세(예를 들어 X축 기준으로 0도 회전, Y축 기준으로 0도 회전, Z축 기준으로 0도 회전)를 취하도록 하는 제어신호를 생성하는 것을 의미할 수 있다.
한편 '최초 좌표계'는 로봇에 미리 저장되어 있는 임의의 좌표계로, 제1 명령의 생성시 기준이 되는 좌표계를 의미할 수 있다. 이하에서는 설명의 편의를 위하여 최초 좌표계와 기준 좌표계가 일치하지 않음을 전제로 설명한다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 로봇(200)이 제1 명령에 따라 동작한 상태에서, 제1 명령에 따른 동작 상태와 로봇(200)의 실제 동작 상태의 차이에 기초하여 로봇(200)의 제1 동작 좌표계를 생성할 수 있다.(S52)
다시 도 2를 참조하여, 로봇 좌표계 보정 장치(100)가 제1 동작 좌표계를 생성하는 방법을 설명한다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 제1 명령에 따른 기준 파트(226)의 위치인 기준 좌표(Pref) 및 이러한 기준 좌표에서의 기준 파트(226)의 자세인 기준 자세(Dref)를 확인할 수 있다.
바꾸어 말하면 로봇 좌표계 보정 장치(100)는 제1 명령에 따라 기준 파트(226)를 위치시키고자 하는 좌표(Pref)와 이러한 위치에서 취하고자 하는 자세(Dref)를 확인할 수 있다. 즉 로봇 좌표계 보정 장치(100)는 이상적인 상황에서의 제1 명령에 따른 기준 파트(226)의 좌표(Pref) 및 자세(Dref)를 확인할 수 있다. 예를 들어 로봇 좌표계 보정 장치(100)는 기준 좌표(Pref)를 (1, 1, 1)로, 기준 자세(Dref)를 (0도, 0도, 0도)로 확인할 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 제1 명령에 따라 로봇(200)을 실제로 동작시킬 수 있다. 이때 로봇 좌표계 보정 장치(100)는 최초 좌표계를 기준으로 제1 명령에 따라 로봇(200)을 동작시킬 수 있다. 가령 로봇(200)은 제1 명령에 따라 좌표(Preal1)에서 자세(Dreal1)를 유지하도록 동작할 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 로봇(200)이 제1 명령에 따라 동작한 상태에서, 마커(310)에 대한 제1 마커 영상을 획득할 수 있다. 또한 로봇 좌표계 보정 장치(100)는 획득된 제1 마커 영상에 기초하여, 기준 좌표계 상에서의 기준 파트(226)의 실제 좌표(Preal1) 및 실제 자세(Dreal1)를 산출할 수 있다.
실제 좌표(Preal1) 및 실제 자세(Dreal1)가 도 2에 도시된 바와 같을 경우, 로봇 좌표계 보정 장치(100)는 영상의 중앙이 아닌, 일 측면에 마커(310)가 위치하는 제1 마커 영상을 획득할 수 있다. 로봇 좌표계 보정 장치(100)는 영상 내에서의 마커(310)의 위치 및 마커(310)의 크기에 기초하여 기준 파트(226) 실제 좌표(Preal1) 및 실제 자세(Dreal1)를 산출할 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 기준 좌표(Pref), 기준 자세(Dref), 실제 좌표(Preal1) 및 실제 자세(Dreal1)를 이용하여, 기준 파트(226)의 실제 동작 좌표계인 제1 동작 좌표계를 생성할 수 있다.
예를 들어, 제1 명령의 기준이 되는 최초 좌표계에 따를 경우, 실제 위치에 해당하는 좌표 및 실제 자세와 달리 현재 기준 파트(226)의 위치 좌표가 (1, 1, 1)(즉 Pref), 자세가 (0도, 0도, 0도)(즉 Dref)인 것으로 판단될 수 있다.
이러한 상황에서 로봇 좌표계 보정 장치(100)는 제1 마커 영상으로부터 산출된 기준 파트(226)의 실제 좌표 (1.5, 1.2, 0.9)(즉 Preal1) 및 실제 자세(3도, 0도, -1도)(즉 Dreal1)를 이용하여 현재 기준 파트(226)의 위치 좌표 및 자세를 실제에 부합하도록 나타내는 제1 동작 좌표계를 생성할 수 있다.
이러한 제1 동작 좌표계에 따를 경우, 제1 명령에 따른 동작 상태에서의 기준 파트(226)의 위치는 실제 좌표(Preal1)로, 기준 파트(226)의 자세는 실제 자세(Dreal1)로 표현될 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 상술한 과정에 의해서 생성된 제1 동작 좌표계를 기준으로 하는 제2 명령을 생성할 수 있다.(S53) 단계 S52에서 생성된 제1 동작 좌표계는 로봇(200)의 동작을 제어하는 기준이 되는 좌표계로 사용될 수 있으며, 전술한 최초 좌표계에 갈음하여 사용될 수 있다.
로봇 좌표계 보정 장치(100)는 제1 동작 좌표계 상에서 기준 좌표계 상의 기준 좌표(Pref)에 대응되는 제1 보정 기준 좌표를 산출할 수 있다. 또한 로봇 좌표계 보정 장치(100)는 제1 동작 좌표계 상에서 기준 자세(Dref)에 대응되는 제1 보정 기준 자세를 산출할 수 있다.
로봇 좌표계 보정 장치(100)는 로봇(200)의 기준 파트(226)가 제1 보정 기준 좌표에서 제1 보정 기준 자세로 동작하도록 하는 제2 명령을 생성할 수 있다. 즉 로봇 좌표계 보정 장치(100)는 제1 동작 좌표계를 기준으로, 로봇(200)을 기준 상태로 동작시킬 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 로봇(200)이 제2 명령에 따라 동작한 상태에서, 제2 명령에 따른 동작 상태와 로봇(200)의 실제 동작 상태의 차이에 기초하여 로봇의 갱신된 동작 좌표계인 제2 동작 좌표계를 생성할 수 있다.(S54)
다시 도 3을 참조하여, 로봇 좌표계 보정 장치(100)가 제2 동작 좌표계를 생성하는 방법을 설명한다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 제2 명령에 따른 기준 파트(226)의 위치인 기준 좌표(Pref) 및 이러한 기준 좌표에서의 기준 파트(226)의 자세인 기준 자세(Dref)를 확인할 수 있다.
바꾸어 말하면 로봇 좌표계 보정 장치(100)는 제2 명령에 따라 기준 파트(226)를 위치시키고자 하는 위치의 좌표(Pref)와 이러한 위치에서의 유지시키고자 하는 자세(Dref)를 확인할 수 있다. 즉 로봇 좌표계 보정 장치(100)는 이상적인 상황에서의 제2 명령에 따른 기준 파트(226)의 위지 좌표(Pref) 및 자세(Dref)를 확인할 수 있다. 예를 들어 로봇 좌표계 보정 장치(100)는 기준 위치(Pref)를 (1, 1, 1)로, 기준 자세(Dref)를 (0도, 0도, 0도)로 확인할 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 제2 명령에 따라 로봇(200)을 실제로 동작시킬 수 있다. 이때 로봇 좌표계 보정 장치(100)는 제1 동작 좌표계를 기준으로 제2 명령에 따라 로봇(200)을 동작시킬 수 있다. 가령 로봇(200)은 제2 명령에 따라 좌표(Preal2)에서 자세(Dreal2)를 유지하도록 동작할 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 로봇(200)이 제2 명령에 따라 동작한 상태에서, 마커(310)에 대한 제2 마커 영상을 획득할 수 있다. 또한 로봇 좌표계 보정 장치(100)는 획득된 제2 마커 영상에 기초하여, 기준 좌표계 상에서의 기준 파트(226)의 실제 좌표(Preal2) 및 실제 자세(Dreal2)를 산출할 수 있다.
예를 들어 실제 좌표(Preal2) 및 실제 자세(Dreal2)가 도 3에 도시된 바와 같을 경우, 로봇 좌표계 보정 장치(100)는 제1 마커 영상과 마찬가지로, 영상의 일 측면에 마커(310)가 위치하는 제2 마커 영상을 획득할 수 있다. 로봇 좌표계 보정 장치(100)는 영상 내에서의 마커(310)의 위치 및 마커(310)의 크기에 기초하여, 기준 파트(226) 실제 좌표(Preal2) 및 실제 자세(Dreal2)를 산출할 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 기준 좌표(Pref), 기준 자세(Dref), 실제 좌표(Preal2) 및 실제 자세(Dreal2)를 이용하여, 기준 파트(226)의 실제 동작 좌표계인 제2 동작 좌표계를 생성할 수 있다. 예를 들어, 제2 명령의 기준이 되는 제1 좌표계에 따를 경우, 실제 좌표 및 실제 자세와 달리 현재 기준 파트(226)의 위치 좌표가 (1, 1, 1)(즉 Pref), 자세가 (0도, 0도, 0도)(즉 Dref)인 것으로 판단될 수 있다.
이러한 상황에서 로봇 좌표계 보정 장치(100)는 제2 마커 영상으로부터 산출된 기준 파트(226)의 실제 좌표(1.1, 1.0, 0.95)(즉 Preal2) 및 실제 자세(0도, 0도, -0.5도)(즉 Dreal2)를 이용하여 현재 기준 파트(226)의 위치 및 자세를 실제와 같이 나타내는 제2 동작 좌표계를 생성할 수 있다.
이러한 제2 동작 좌표계에 따를 경우, 제2 명령에 따른 동작 상태에서의 기준 파트(226)의 위치는 실제 좌표(Preal2)로, 기준 파트(226)의 자세는 실제 자세(Dreal2)로 표현될 수 있다.
본 발명의 일 실시예에 따른 로봇 좌표계 보정 장치(100)는 제2 명령에 따른 동작 상태와 실제 동작 상태의 차이가 소정의 임계 차이 이내인지 여부를 판단하고(S55), 소정의 임계 차이 이내가 아닌 경우, 단계 S53 내지 단계 S55의 과정을 반복하여 수행할 수 있다.
즉 현재 좌표계를 기준으로 로봇(200)의 상태가 기준 상태가 되도록 하는 제어 명령을 생성하고, 명령에 따른 로봇의 상태와 실제 로봇의 상태의 차이에 기초하여 새로운 좌표계를 생성할 수 있다.
한편 소정의 차이가 임계 차이 이내인 경우, 로봇 좌표계 보정 장치(100)는 최종적으로 생성된 제2 좌표계를 이용하여 로봇의 적어도 하나의 동작 명령을 생성할 수 있다.(S56) 바꾸어 말하면, 제2 좌표계를 로봇(200) 제어의 기준이 되는 좌표계로 사용할 수 있다.
종래기술의 경우 로봇(200)의 동작을 제어함에 있어서, 단지 명령에 따른 로봇(200)의 상태와 실제 로봇(200)의 상태 간의 차이를 이용하는데 그칠 뿐이라서, 이러한 차이를 감안한 로봇(200)의 제어가 실제로 정확도가 향상된 것인지에 대한 확인이 어려운 측면이 있었다.
그러나 본 발명의 경우, 명령에 따른 로봇(200)의 상태와 실제 로봇(200)의 상태 간의 차이를 이용하여 새로운 좌표계를 생성하고, 나아가 새로운 좌표계를 기준으로 로봇(200)을 실제로 동작시킨 뒤, 그 결과를 확인하는 과정을 반복하여 수행함으로써 로봇(200)의 동작 정확도를 향상시킬 수 있다.
본 발명의 실시예에 따른 로봇의 좌표계를 보정하는 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다.
100: 로봇 좌표계 보정 장치
110: 제어부
120: 디스플레이부
130: 입력부
200: 로봇
211, 212, 213, 214,215,216: 관절
221, 222, 223, 224,225,226: 파트
230: 영상 획득 장치
310, 320, 330: 마커
410, 420, 430: 작업 대상물

Claims (5)

  1. 로봇의 좌표계를 보정하는 방법에 있어서,
    최초 좌표계를 기준으로 하는 제1 명령을 생성하는 단계;
    로봇이 상기 제1 명령에 따라 동작한 상태에서, 상기 제1 명령에 따른 동작 상태와 상기 로봇의 실제 동작 상태의 차이에 기초하여 상기 로봇의 제1 동작 좌표계를 생성하는 단계;
    상기 제1 동작 좌표계를 기준으로 하는 제2 명령을 생성하는 단계;
    상기 로봇이 상기 제2 명령에 따라 동작한 상태에서, 상기 제2 명령에 따른 동작 상태와 상기 로봇의 실제 동작 상태의 차이에 기초하여 상기 로봇의 제2 동작 좌표계를 생성하는 단계; 및
    상기 제2 동작 좌표계를 이용하여 상기 로봇의 적어도 하나의 동작 명령을 생성하는 단계;를 포함하는, 로봇의 좌표계를 보정하는 방법.
  2. 청구항 1에 있어서
    상기 제1 명령은
    상기 로봇의 기준 파트가 기준 좌표에서 기준 자세로 동작하도록 하는 명령이고,
    상기 제1 동작 좌표계를 생성하는 단계는
    상기 제1 명령에 따른 상기 기준 파트의 위치인 기준 좌표 및 상기 기준 좌표에서의 상기 기준 파트의 자세인 기준 자세를 확인하는 단계;
    상기 제1 명령에 따라 상기 로봇을 동작시키는 단계;
    마커에 대한 제1 마커 영상을 획득하는 단계로써, 상기 마커는 기준 좌표계 상의 고정된 좌표에 위치하는 개체인 단계;
    상기 제1 마커 영상에 기초하여, 상기 기준 좌표계 상에서의 상기 기준 파트의 실제 좌표 및 실제 자세를 산출하는 단계; 및
    상기 기준 좌표, 상기 기준 자세, 상기 실제 좌표 및 상기 실제 자세를 이용하여 상기 기준 파트의 실제 동작 좌표계인 제1 동작 좌표계를 생성하는 단계;를 포함하는, 로봇의 좌표계를 보정하는 방법.
  3. 청구항 2에 있어서
    제2 명령을 생성하는 단계는
    상기 제1 동작 좌표계 상에서 상기 기준 좌표계 상의 상기 기준 좌표에 대응되는 제1 보정 기준 좌표를 산출하는 단계;
    상기 제1 동작 좌표계 상에서 상기 기준 자세에 대응되는 제1 보정 기준 자세를 산출하는 단계; 및
    상기 로봇의 기준 파트가 상기 제1 보정 기준 좌표에서 상기 제1 보정 기준 자세로 동작하도록 하는 제2 명령을 생성하는 단계;를 포함하는, 로봇의 좌표계를 보정하는 방법.
  4. 청구항 3에 있어서
    상기 제2 동작 좌표계를 생성하는 단계는
    상기 제2 명령에 따라 상기 로봇을 동작시키는 단계;
    상기 마커에 대한 제2 마커 영상을 획득하는 단계;
    상기 제2 마커 영상에 기초하여, 상기 기준 좌표계 상에서의 상기 기준 파트의 실제 좌표 및 실제 자세를 산출하는 단계; 및
    상기 기준 좌표, 상기 기준 자세, 상기 실제 좌표 및 상기 실제 자세를 이용하여 상기 기준 파트의 갱신된 실제 동작 좌표계인 제2 좌표계를 생성하는 단계;를 포함하는, 로봇의 좌표계를 보정하는 방법.
  5. 청구항 2에 있어서
    상기 로봇의 동작 상태는
    3차원 공간 상에서 상기 기준 파트의 위치 및 상기 3차원 공간 상에서 각각의 축을 기준으로 하는 상기 기준 파트의 회전 각도를 포함하는, 로봇의 좌표계를 보정하는 방법.
KR1020190056561A 2019-05-14 2019-05-14 로봇의 좌표계를 보정하는 방법 KR20200131670A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190056561A KR20200131670A (ko) 2019-05-14 2019-05-14 로봇의 좌표계를 보정하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190056561A KR20200131670A (ko) 2019-05-14 2019-05-14 로봇의 좌표계를 보정하는 방법

Publications (1)

Publication Number Publication Date
KR20200131670A true KR20200131670A (ko) 2020-11-24

Family

ID=73679687

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190056561A KR20200131670A (ko) 2019-05-14 2019-05-14 로봇의 좌표계를 보정하는 방법

Country Status (1)

Country Link
KR (1) KR20200131670A (ko)

Similar Documents

Publication Publication Date Title
US10279479B2 (en) Robot calibrating apparatus and robot calibrating method, and robot apparatus and method of controlling robot apparatus
CN108748159B (zh) 一种机械臂工具坐标系自标定方法
JP5850962B2 (ja) ビジュアルフィードバックを利用したロボットシステム
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
US20140031982A1 (en) Robotic system and robot control device
JPWO2017064851A1 (ja) ロボット教示方法及びロボットアーム制御装置
JP2014151427A (ja) ロボットシステム及びロボットシステムの制御方法
JP2015182144A (ja) ロボットシステムおよびロボットシステムの校正方法
JP2017061022A (ja) ロボットの制御装置
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
WO2019114631A1 (zh) 一种获取机器人tcp坐标的方法和装置
JPH05261682A (ja) 産業用ロボットのキャリブレーション方式
JP2019089201A (ja) 教示データ作成装置、教示データ作成装置の制御方法及びロボットシステム
KR20200131670A (ko) 로봇의 좌표계를 보정하는 방법
KR102474838B1 (ko) 로봇의 교시 장치, 방법 및 시스템
WO2022181688A1 (ja) ロボットの設置位置測定装置、設置位置測定方法、ロボット制御装置、教示システムおよびシミュレーション装置
JP7366264B2 (ja) ロボット教示方法及びロボット作業方法
KR102543213B1 (ko) 로봇의 좌표계 교정 방법
JP2024512827A (ja) 適応コンプライアンスに基づいたロボット組立のためのシステムおよび方法
JP2021186929A (ja) 多軸ロボットの制御方法
JP2014180726A (ja) 多関節ロボットのバネ定数補正装置
JP6273783B2 (ja) ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法
KR20200131671A (ko) 로봇의 파지 자세 결정 방법
KR20190029284A (ko) 로봇의 제어 장치, 방법 및 시스템
WO2023277095A1 (ja) 補正システム及び教示データの補正方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right