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

로봇 제어 장치 및 로봇 제어 방법 Download PDF

Info

Publication number
KR20210110191A
KR20210110191A KR1020210020294A KR20210020294A KR20210110191A KR 20210110191 A KR20210110191 A KR 20210110191A KR 1020210020294 A KR1020210020294 A KR 1020210020294A KR 20210020294 A KR20210020294 A KR 20210020294A KR 20210110191 A KR20210110191 A KR 20210110191A
Authority
KR
South Korea
Prior art keywords
information
photographing unit
robot
posture
estimator
Prior art date
Application number
KR1020210020294A
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 KR1020210020294A priority Critical patent/KR20210110191A/ko
Publication of KR20210110191A publication Critical patent/KR20210110191A/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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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/1682Dual arm manipulator; Coordination of several manipulators
    • 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

Landscapes

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

Abstract

로봇 제어 장치가 제공된다. 상기 로봇 제어 장치는, 로봇에 의해 처리될 대상물을 촬영하는 제1 촬영부 및 제2 촬영부; 상기 제1 촬영부를 이용해 상기 로봇의 제1 제어에 사용되는 제1 정보를 생성하고, 상기 제1 제어가 수행되면 상기 제2 촬영부를 이용해 상기 로봇의 제2 제어에 사용되는 제2 정보를 생성하는 추정부;를 포함할 수 있다.

Description

로봇 제어 장치 및 로봇 제어 방법{APPARATUS AND METHOD FOR CONTROLLING ROBOT}
본 발명은 로봇을 제어하는 장치 및 방법에 관한 것이다.
물건을 가공하거나 처리하는 로봇을 해당 물건에 맞춰 제어하기 위해, 물건을 탐지하는 센서가 이용될 수 있다.
물건에 대한 로봇의 처리 정확도는 센서의 측정 정밀도에 관련될 수 있다. 로봇의 처리 정확도를 개선하기 위해 센서의 측정 정밀도는 높을수록 유리하다.
하지만, 높은 측정 정밀도를 갖는 센서는 매우 고가이므로 보급화가 어렵다. 또한, 높은 측정 정밀도를 갖는 센서를 마련하는 경우에도, 물건의 종류에 따라 난반사 등을 이유로 측정 정밀도가 저하되는 상황이 발생될 수 있다.
한국공개특허공보 제2019-0072285호에는 피킹 조망 카메라를 통해 선택된 파지 대상물의 위치를 파악하고, 파지부를 이용해 파지 대상물을 파지하는 기술이 나타나 있다.
한국공개특허공보 제2019-0072285호
본 발명의 목적은 대상물을 처리하는 로봇을 자동 제어하거나, 로봇의 제어에 필요한 정보를 생성하는 제어 장치 및 제어 방법을 제공하기 위한 것이다.
본 발명의 실시예에 따르면, 로봇 제어 장치가 제공된다. 상기 로봇 제어 장치는, 대상물 상측의 제1 위치에 설치되어 상기 대상물의 이미지 및 뎁스 정보를 포함하는 상기 대상물의 3차원 위치 정보를 획득하는 제1 촬영부와; 로봇의 암에 설치되어 상기 제1 위치보다 상기 대상물에 근접한 제2 위치에서 상기 대상물의 이미지 및 뎁스 정보를 포함하는 상기 대상물의 3차원 위치 정보를 획득하는 제2 촬영부와; 상기 로봇의 상기 암에 설치된 이펙터가 상기 대상물을 파지하기 위한 제1 자세를 제1 파지 자세로 정의하고, 상기 이펙터가 상기 대상물을 파지하기 위한 제2 자세를 제2 파지 자세로 정의할 때, 상기 제1 촬영부에 의해 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 제1 파지 자세를 취하도록 하기 위한 제1 정보를 생성하고, 상기 이펙터가 상기 제1 파지 자세를 취한 이후, 상기 제2 위치에서 상기 제2 촬영부에 의해 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 제1 파지 자세를 보정한 상기 제2 파지 자세를 취하도록 하기 위한 제2 정보를 생성하는 추정부;를 포함한다.
상기 추정부는 상기 이펙터에 의한 상기 대상물의 파지 여부를 판별할 수 있다.
상기 추정부는 상기 이펙터에 의한 상기 대상물의 파지가 실패한 것으로 판별되면, 상기 제1 촬영부와 상기 대상물 사이의 경유 지점으로 상기 로봇을 후퇴시키며, 상기 로봇에 설치된 상기 제2 촬영부는 상기 경유 지점으로 후퇴한 상기 로봇에 의해 상기 제2 위치에 재배치될 수 있다.
상기 제2 촬영부는 재배치된 상기 제2 위치에서 상기 타겟 대상물의 3차원 위치 정보를 재 획득할 수 있다.
상기 경유 지점으로 후퇴한 상기 이펙터가 상기 대상물을 파지하기 위한 자세를 제3 파지 자세로 정의할 때, 상기 추정부는, 상기 제2 위치에 재 배치된 상기 제2 촬영부에 의해 상기 대상물이 탐지되면, 상기 제2 촬영부에 의해 재 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 이펙터가 상기 제3 파지 자세를 취하도록 하기 위한 정보를 생성할 수 있다. 상기 이펙터는 상기 제3 파지 자세로 상기 타겟 대상물을 재 파지 시도할 수 있다.
상기 대상물의 파지를 실패한 상기 로봇이 후퇴한 상기 경유 지점은 상기 로봇이 상기 제1 촬영부에 대해 상기 대상물을 가리는 위치일 수 있다.
상기 추정부는 상기 제2 위치에 재 배치된 상기 제2 촬영부에 의해 상기 대상물이 미탐지되면, 다른 대상물을 탐지하기 위해 제1 촬영부가 상기 다른 대상물의 3차원 위치 정보를 획득할 수 있도록, 상기 제1 촬영부에 의해 촬영되는 설정 영역으로부터 상기 로봇을 도피시킬 수 있다.
상기 제1 촬영부 및 상기 제2 촬영부 중 적어도 하나는 상기 대상물에 대한 이미지와 뎁스(depth) 정보를 획득하는 RGB-D 센서를 포함할 수 있다.
상기 추정부는 상기 제1 촬영부에 의해 획득된 제1 이미지와 제1 뎁스 정보를 이용해서 상기 제1 정보를 생성할 수 있다.
상기 추정부는 상기 제2 촬영부에 의해 획득된 제2 이미지와 제2 뎁스 정보를 이용해서 상기 제2 정보를 생성할 수 있다.
상기 제1 촬영부와 상기 제2 촬영부 중 적어도 하나를 상기 로봇에 설치하기 위한 착탈부가 마련될 수 있다.
상기 착탈부는 상기 이펙터(end effector)가 형성된 상기 로봇의 단부에 착탈 가능하게 형성될 수 있다.
제1 인터페이스부와 제2 인터페이스부 중 적어도 하나가 마련될 수 있다.
상기 제1 인터페이스부는 상기 제1 촬영부 및 상기 제2 촬영부로부터 출력된 정보를 상기 추정부에 유선 또는 무선으로 제공할 수 있다.
상기 제2 인터페이스부는 상기 추정부에서 생성된 상기 제1 정보 및 상기 제2 정보 중 적어도 하나를 상기 로봇에 유선 또는 무선으로 제공할 수 있다.
상기 제1 촬영부는 상기 제1 촬영부와 상기 대상물 사이의 경유 지점의 도출을 위해 필요한 상기 대상물의 위치를 상기 제1 위치에서 파악하거나, 상기 제1 촬영부와 상기 대상물 사이의 경유 지점에서 상기 로봇의 암(arm)이 취해야 할 제1 자세의 도출에 필요한 상기 대상물의 자세에 해당하는 타겟 자세를 상기 제1 위치에서 파악할 수 있는 제1 분해능을 갖게 형성될 수 있다.
상기 제2 촬영부는 상기 로봇의 암(arm)이 상기 대상물을 처리하는데 필요한 제2 자세의 도출을 위해 필요한 상기 타겟 자세를 상기 제2 위치에서 파악할 수 있는 제2 분해능을 갖게 형성될 수 있다.
상기 제1 정보는 상기 대상물에 대면되는 위치에서 상기 로봇의 암(arm)이 취해야할 제1 자세에 관한 정보를 포함할 수 있다.
상기 제2 정보는 상기 대상물을 처리하기 위해 상기 암이 취해야할 제2 자세에 관한 정보를 포함할 수 있다.
상기 제2 자세는 상기 제1 자세에 포함된 오차가 보정된 보정 자세에 해당될 수 있다.
상기 제1 자세 및 상기 제2 자세 중 적어도 하나는 로봇 좌표계를 기준으로 3차원 위치 정보, 피치(pitch) 정보, 롤(roll) 정보, 요(yaw) 정보 중 적어도 하나를 포함할 수 있다.
상기 대상물의 중심을 통과하고 상기 대상물의 표면에 수직하게 연장되는 가상축이 정의될 때, 상기 제1 정보에 의해 상기 로봇은 상기 이펙터(end effector)가 임의의 위치로부터 상기 가상축 상의 경유 지점에 도달하도록 움직일 수 있다. 상기 제2 정보에 의해 상기 가상축이 보정되고, 상기 로봇은 상기 이펙터가 보정된 가상축을 따라가면서 상기 대상물에 도달하도록 상기 이펙터를 움직일 수 있다.
상기 추정부는 상기 제1 촬영부 및 상기 제2 촬영부 중 적어도 하나에서 촬영된 이미지에 딥러닝 알고리즘을 적용하여 상기 대상물의 윤곽선 정보를 추출하고, 추출된 상기 윤곽선 정보를 이용해서 상기 이미지 내에 배치된 대상물의 자세를 추정할 수 있다.
상기 제1 촬영부 및 상기 제2 촬영부는 상기 대상물의 이미지와 뎁스 정보를 상기 추정부에 제공할 수 있다.
상기 추정부는 상기 이미지의 분석을 통해 상기 대상물의 윤곽선 정보를 추출하며, 상기 윤곽선 정보 내에 서로 이격된 복수의 가상점을 설정하고, 상기 뎁스 정보의 분석을 통해 상기 제1 촬영부 또는 상기 제2 촬영부를 기준으로 하는 상기 가상점 각각의 뎁스를 분석하며, 상기 분석된 각 가상점의 뎁스를 이용해서 상기 대상물의 자세를 추정하고, 상기 추정된 상기 대상물의 자세를 이용해서 상기 제1 정보 또는 상기 제2 정보를 생성할 수 있다.
상기 추정부는 상기 제2 촬영부에서 촬영된 제2 이미지의 분석을 통해 상기 대상물의 중심을 추정하고, 상기 대상물의 중심으로부터 연장되고 상기 대상물의 표면에 직교하는 가상선 정보를 이용해서 상기 제2 정보를 생성할 수 있다.
상기 제1 촬영부는 복수의 상기 대상물이 포함된 설정 영역이 촬영된 제1 이미지를 상기 추정부에 제공할 수 있다.
상기 추정부는 상기 제1 이미지의 분석을 통해 상기 설정 영역 내에 존재하는 복수의 상기 대상물 중 하나를 타겟으로 선택하고, 상기 타겟에 기초한 상기 제1 정보 및 상기 제2 정보 중 적어도 하나를 생성하며, 선택된 타겟에 대한 상기 로봇의 처리가 완료되면, 이전 타겟과 가장 가까운 위치에 배치된 대상물을 다음 타겟으로 선택할 수 있다.
상기 제1 촬영부는 복수의 상기 대상물이 포함된 설정 영역이 촬영된 제1 이미지 및 상기 설정 영역에 대한 뎁스 정보를 상기 추정부에 제공할 수 있다.
상기 추정부는 상기 제1 이미지에 포함된 복수의 대상물 중 상기 제1 촬영부에 대한 뎁스가 가장 짧은 특정 대상물을 기초로 상기 제1 정보 및 상기 제2 정보 중 적어도 하나를 생성하며, 상기 제1 촬영부에 가장 가깝게 배치된 대상물부터 상기 로봇에 의해 처리될 수 있다.
본 발명의 다른 실시예에 따르면, 로봇 제어 장치에 의해 수행되는 로봇 제어 방법이 제공된다. 상기 로봇 제어 방법은, 제1 촬영부에 의해 촬영된 대상물의 제1 이미지 및 제1 뎁스 정보를 획득하는 제1 획득 단계; 상기 제1 이미지와 상기 제1 뎁스 정보를 이용하여 상기 대상물의 윤곽선 정보와 기울기 정보를 1차 추정하는 제1 추정 단계; 1차 추정된 결과에 따라 상기 대상물을 그랩하는 로봇을 상기 제1 촬영부와 상기 대상물 사이의 경유 지점으로 안내하는 제1 정보를 생성하고, 상기 로봇에 상기 제1 정보를 제공하는 제1 제공 단계; 상기 로봇이 상기 경유 지점에 도달하면 상기 로봇과 함께 움직이는 제2 촬영부로부터 제2 이미지 및 제2 뎁스 정보를 획득하는 제2 획득 단계; 상기 제2 이미지와 상기 제2 뎁스 정보를 이용하여 상기 대상물의 윤곽선 정보와 기울기 정보를 2차 추정하는 제2 추정 단계; 2차 추정된 결과에 따라 상기 로봇을 상기 경유 지점으로부터 상기 대상물까지 안내하거나 상기 대상물을 그랩하는 상기 로봇의 자세를 보정하는 제2 정보를 생성하고, 상기 로봇에 상기 제2 정보를 제공하는 제2 제공 단계;를 포함한다.
로봇의 암에 설치된 이펙터가 대상물을 파지하기 위한 제1 자세를 제1 파지 자세로 정의하고, 상기 이펙터가 상기 대상물을 파지하기 위한 제2 자세를 제2 파지 자세로 정의할 때, 상기 제1 제공 단계는 제1 위치에서 제1 촬영부에 의해 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 제1 파지 자세를 취하도록 하기 위한 제1 정보를 생성하는 단계를 포함하고, 상기 제2 제공 단계는 상기 이펙터가 상기 제1 파지 자세를 취한 이후, 제2 위치에서 제2 촬영부에 의해 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 제1 파지 자세를 보정한 상기 제2 파지 자세를 취하도록 하기 위한 제2 정보를 생성하는 단계를 포함할 수 있다.
본 발명에 따르면, 로봇이 다양한 위치에 자유롭게 배치된 대상물을 그랩하기 위해 필요한 제1 정보 및 제2 정보가 생성될 수 있다. 제1 정보 및 제2 정보 중 적어도 하나는 로봇에 제공되고, 로봇의 제어에 이용될 수 있다.
본 발명에 따르면, 제1 정보의 소스를 획득하는 제1 촬영부, 제2 정보의 소스를 획득하는 제2 촬영부가 구분될 수 있다. 추정부는 제2 정보를 생성할 수 있는 발판을 마련하기 위해 제1 정보를 사용할 수 있다.
로봇은 대상물로부터 이격된 특정 지점을 경유해서 대상물에 접근하는 특성을 가질 수 있다. 로봇의 해당 특성을 이용해서, 본 발명의 제어 장치는 원거리로부터 특정 지점까지 로봇을 움직이는데 필요한 제1 정보를 획득하기 위해 제1 촬영부를 사용할 수 있다. 본 발명의 제어 장치는 특정 지점으로부터 대상물까지 로봇을 움직이는데 필요한 제2 정보를 획득하기 위해 제2 촬영부를 사용할 수 있다.
원거리에 배치된 단일의 촬영기를 이용해 로봇의 전체 동작을 제어하는 비교 실시예의 경우, 단일 촬영기만으로 대상물을 정확하게 관측해야 한다.
따라서, 비교 실시예에 따르면 촬영기에 대한 높은 분해능이 요구되며, 높은 분해능의 요구는 제어 장치의 비용 상승을 유발하는 요인이 된다.
또한, 비교 실시예의 경우, 원거리에서 관측된 대상물 정보를 소스로 하므로, 대상물 표면의 난반사, 노이즈에 취약할 수 있다. 난반사, 노이즈 등을 제거하기 위해 복잡한 알고리즘이 추가로 요구된다. 해당 알고리즘의 추가로 인해 촬영기에서 획득된 이미지를 분석하는 처리기의 부하가 증가될 수 있다.
또한, 비교 실시예의 경우, 단일 촬영기에서 촬영된 이미지에 대한 분석이 완료되고, 처리될 대상물이 특정되면 로봇이 대상물을 향해 진입하게 된다. 이때, 로봇이 단일 촬영기에 대해 대상물을 가리기 때문에, 단일 촬영기는 대상물을 촬영할 수 없다. 따라서, 로봇의 진입 후에 대상물의 위치 변화 등이 추가 발생된 경우, 대상물에 대한 정상적인 처리가 수행될 수 없다. 따라서, 비교 실시예는 적어도 단일 촬영기에서 대상물을 촬영한 시점 이후부터는 움직임이 제한되는 종류/형상의 대상물에만 적용될 수 있는 한계가 있다.
본 발명에 따르면, 서로 구분되는 제1 촬영부와 제2 촬영부가 마련될 수 있다. 제1 촬영부는 로봇의 경유 지점을 확보하는데 필요한 분해능을 가지면 충분하다. 제2 촬영부는 경유 지점 부근부터 대상물을 확보하는데 필요한 분해능을 가지면 충분하다. 따라서, 각 촬영부는 비교 실시예의 단일 카메라보다 낮은 분해능을 가질 수 있다. 낮은 분해능을 갖는 촬영부 2개는 높은 분해능의 단일 카메라보다 매우 저렴하므로, 본 발명의 제어 장치는 비교 실시예 대비 높은 생산성을 가질 수 있다.
또한, 본 발명에 따르면, 제2 촬영부에 의해 비교 실시예의 단일 카메라보다 가까운 거리에서 대상물을 촬영하게 되므로, 난반사나 노이즈의 유입이 개선된 이미지의 확보가 가능하다. 따라서, 본 발명의 추정부에서 사용하는 노이즈 개선 알고리즘에 대한 적용 레벨이 비교 실시예보다 완화될 수 있다. 본 발명에 따르면, 추정부의 처리 부하가 경감될 수 있다.
또한, 본 발명에 따르면, 제2 촬영부에 의해 로봇의 간섭없이 대상물의 촬영이 가능하다. 따라서, 제1 촬영부의 촬영 결과에 따라 로봇이 예비 동작을 수행한 이후에 대상물의 자세 등이 변화하더라도, 별다른 무리없이 대상물에 대한 처리가 수행될 수 있다. 본 발명에 따르면, 다양한 종류/형상의 대상물이 로봇의 처리 대상이 될 수 있다.
또한, 본 발명에 따르면, 제1 촬영부, 제2 촬영부, 추정부 중 적어도 하나가 로봇에 착탈 가능하게 형성될 수 있다. 본 발명의 제어 장치는 기존 다양한 용도로 사용되는 로봇에 무리없이 설치 가능하다.
도 1은 본 발명의 실시예에 따른 제어 장치를 나타낸 개략도이다.
도 2는 본 발명의 실시예에 따른 제어 장치를 나타내 블록도이다.
도 3은 제1 촬영부에 의해 촬영된 제1 이미지를 처리하는 추정부의 동작을 나타낸 개략도이다.
도 4는 제2 촬영부에 의해 촬영된 제2 이미지를 처리하는 추정부의 동작을 나타낸 개략도이다.
도 5는 본 발명의 제어 장치의 동작을 나타낸 개략도이다.
도 6은 본 발명의 실시예에 따른 제어 방법을 나타낸 흐름도이다.
도 7은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다.
또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다.
또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.
또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다.
또한 본 명세서에서, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다.
이하, 도면을 참조하여 본 발명의 실시예에 따른 로봇 제어 장치 및 로봇 제어 방법을 설명한다.
도 1은 본 발명의 실시예에 따른 제어 장치를 나타낸 개략도이다. 도 2는 본 발명의 실시예에 따른 제어 장치를 나타내 블록도이다.
도면에 도시된 바와 같이, 본 발명의 일 실시예에 따른 제어 장치(100)는 제1 촬영부(110), 제2 촬영부(120), 추정부(130), 인터페이스부(140, 160)를 포함할 수 있다.
제1 촬영부(110) 및 제2 촬영부(120)는 로봇(10)에 의해 처리될 대상물(90)을 촬영할 수 있다. 대상물(90)의 촬영은 광학, 적외선 등과 같은 영상학적 소스를 이용해서 이루어질 수 있다. 일 예로, 제1 촬영부(110)와 제2 촬영부(120) 중 적어도 하나는 대상물(90)에 대한 컬러 이미지와 뎁스(depth) 정보를 획득하는 RGB-D 센서, 비젼 센서 등을 포함할 수 있다. 제1 촬영부(110) 또는 제2 촬영부(120)는 이미지를 획득하는 이미지 센서와 뎁스 정보를 획득하는 뎁스 센서를 모두 포함할 수 있다. 뎁스 센서의 예로 TOF(Time-Of-flight) 센서가 있다.
제1 촬영부(110)와 제2 촬영부(120)는 동일한 종류의 센서로 마련될 수 있다. 다시 말하면, 제1 촬영부(110)가 RGB-D 센서인 경우 제2 촬영부(120)도 RGB-D 센서로 마련될 수 있다. 가령, 제1 촬영부(110)가 비젼 센서 또는 스테레오 카메라로 마련될 경우, 제2 촬영부(120)도 비젼 센서 또는 스테레오 카메라로 마련될 수 있다. 동일한 유형의 센서가 사용될 경우에, 센서 가격이 보다 줄어들 수 있다.
제1 촬영부(110)는 대상물(90)을 촬영한 제1 이미지를 생성할 수 있다. 제1 촬영부(110)는 제1 촬영부(110)와 대상물(90) 간의 거리를 나타내는 제1 뎁스 정보를 생성할 수 있다.
제2 촬영부(120)는 대상물(90)을 촬영한 제2 이미지를 생성할 수 있다. 제2 촬영부(120)는 제2 촬영부(120)와 대상물(90) 간의 거리를 나타내는 제2 뎁스 정보를 생성할 수 있다.
추정부(130)는 제1 촬영부(110)를 이용해 로봇(10)의 제1 제어에 사용되는 제1 제어에 사용되는 제1 정보를 생성할 수 있다. 구체적으로, 추정부(130)는 제1 촬영부(110)에 의해 획득된 제1 이미지와 제1 뎁스 정보를 이용해서 제1 정보를 생성할 수 있다. 추정부(130)는 생성된 제1 정보를 로봇(10)에게 제공할 수 있다. 제1 정보는 로봇(10)을 제1 제어하는 제어 신호를 포함할 수 있다. 또는, 제1 정보는 로봇(10)의 제1 제어용 신호를 생성하는데 필요한 대상물(90)의 자세 정보를 포함할 수 있다.
로봇(10)의 제1 제어가 수행되면, 추정부(130)는 제2 촬영부(120)를 이용해 로봇(10)의 제2 제어에 사용되는 제2 정보를 생성할 수 있다. 예를 들어, 로봇(10)의 제1 제어가 완료되면, 추정부(130)는 제2 촬영부(120)에 의해 획득된 제2 이미지와 제2 뎁스 정보를 이용해서 제2 정보를 생성할 수 있다. 추정부(130)는 생성된 제2 정보를 로봇(10)에게 제공할 수 있다. 제2 정보는 로봇(10)을 제2 제어하는 제어 신호를 포함할 수 있다. 또는, 제2 정보는 로봇(10)의 제2 제어용 신호를 생성하는데 필요한 대상물(90)의 자세 정보를 포함할 수 있다.
도 1에 도시된 바와 같이, 제1 촬영부(110)는 대상물(90)의 상측으로 공간을 격하고 배치된 구조물(109)에 고정 설치될 수 있다. 일 예로, 구조물(109)은 지면 또는 선반 등에 지지되고 대상물(90)의 상측까지 연장되는 막대 형상 등의 프레임을 포함할 수 있다. 또는, 구조물(109)은 제어 장치가 배치된 건물 실내의 천장을 포함할 수 있다. 또는, 제1 촬영부(110)는 착탈부(미도시)를 통해 구조물(109)에 착탈 가능하게 형성될 수도 있다.
제2 촬영부(120)는 로봇(10)에서 대상물(90)을 처리하는 이펙터(20)(end effector)가 형성된 암(11)(arm)의 단부에 설치될 수 있다. 암(11)의 단부에 설치된 제2 촬영부(120)는 암(11)과 함께 움직일 수 있다. 이펙터(20)는 대상물(90)의 처리 종류에 따라 달라질 수 있다. 이펙터(20)는 대상물(90)을 처리하기 위해 로봇(10)의 암(11)에 결합 또는 부착될 수 있다.
대상물(90)을 절단하는 처리의 경우, 이펙터(20)는 대상물(90)을 절단하는 커터를 포함할 수 있다.
대상물(90)을 용접하는 처리의 경우, 이펙터(20)는 대상물(90)을 용접하는 용접기를 포함할 수 있다.
대상물(90)을 그랩(grab), 그립(grip), 픽(pick)하는 처리의 경우, 이펙터(20)는 에어 석션을 이용해서 대상물(90)을 흡착하고 들어올리는 석션부를 포함할 수 있다. 다른 예로, 이펙터(20)는 대상물(90)의 일측과 타측을 각각 집는 복수의 핑거를 포함할 수 있다. 복수의 핑거가 서로 가까워지는 방향으로 조여지면, 복수의 핑거 사이에 배치된 대상물(90)은 핑거에 의해 그랩될 수 있다.
제2 촬영부(120)는 로봇(10)의 제1 제어에 의해 암(11)이 대상물(90)에 접근하면, 제1 촬영부(110) 보다 가까운 거리에서 대상물(90)을 촬영할 수 있다. 추정부(130)는 제1 촬영부(110)보다 가까운 거리에서 대상물(90)을 촬영한 제2 촬영부(120)의 제2 이미지를 이용해서 제2 정보를 생성할 수 있다.
본 실시예에 따르면, 제1 촬영부(110)는 제2 촬영부(120)와 비교하여 상대적으로 먼거리에서 대상물(90)을 촬영할 수 있다. 거리상의 차이로 인해 제1 촬영부(110)에서 촬영된 제1 이미지를 통해 대상물(90)의 자세(자세 정보)가 러프하게 획득될 수 있다. 반면, 제2 촬영부(120)는 제1 촬영부(110) 대비 대상물(90)과의 거리가 더 가깝기 때문에, 주변환경의 영향을 덜 받는다. 이로 인해, 제2 촬영부(120)에 의해 촬영된 제2 이미지에서는 대상물(90)의 자세가 정밀하고 세밀하게 획득될 수 있다.
대상물(90)의 러프한 자세를 소스로 하는 제1 제어는 대상물(90)의 정밀한 자세를 소스로 하는 제2 제어와 대비하여 정밀도가 낮을 수 있다. 하지만, 제1 제어가 수행된 후 제2 제어가 수행되는 로봇(10)의 경우, 제1 제어의 정밀도 저하는 별다른 무리가 없을 수 있다.
예를 들어, 제2 촬영부(120)는 제1 촬영부(110)와 대상물(90)의 사이에서 움직이는 로봇(10)의 암(11)에 설치될 수 있다. 제1 제어에 의해 암(11)은 초기 위치 p0로부터 경유 지점 pr로 움직일 수 있다.
경유 지점 pr에 암(11)이 배치되면, 제1 촬영부(110)는 촬영 정밀도, 분해능 등에 상관없이 물리적으로 대상물(90)을 가리는 암(11)에 의해 대상물(90)을 정확하게 촬영할 수 없다. 이로 인해, 이펙터(20)가 대상물(90)을 처리하는 처리 시점의 촬영 또는 처리 시점에 근접한 실시간적인 촬영이 어려울 수 있다. 반면, 제2 촬영부(120)보다 대상물(90)로부터 멀리 이격된 제1 촬영부(110)는 제2 촬영부(120) 대비 대상물(90)이 포함된 넓은 설정 영역 L을 촬영할 수 있다. 따라서, 제1 촬영부(110)에서 촬영된 제1 이미지는 복수의 대상물(90) 중 특정 대상물(90)을 선택하는 용도, 이펙터(20)가 특정 대상물(90)에 접근하는 경로 중 하나인 경유 지점 pr을 파악하는 용도로 사용될 수 있다.
로봇(10)의 암(11)에 설치된 제2 촬영부(120)는 암(11)의 위치, 자세 등에 상관없이 암(11)에 의해 시야가 가리지 않을 수 있다. 따라서, 암(11)이 경유 지점 pr에 도착하면, 암(11)에 설치된 제2 촬영부(120)는 암(11)에 의한 촬영 간섭이 배제된 제2 위치 p2에서 대상물(90)을 촬영할 수 있다. 제2 촬영부(120)는 촬영된 제2 이미지를 추정부(130)에 제공할 수 있다.
결국, 대상물(90)에 근접하여 촬영할 수 있는 제2 촬영부(120)가 존재하기 때문에, 제1 촬영부(110)는 대상물(90)을 정밀하게 촬영하는 구성을 가질 필요가 없다.
한편, 본 발명의 제어 장치는 로봇(10)에 일체로 형성되거나, 별도로 형성될 수 있다.
본 발명에 따른 제어 장치가 로봇(10)과 일체로 형성되는 경우, 추정부(130)는 로봇(10)의 콘트롤러(미도시)와 일체로 형성될 수 있다. 물론, 추정부(130)와 로봇(10)의 콘트롤러는 별도로 각각 마련될 수도 있다.
본 발명에 따른 제어 장치가 로봇(10)과 별도로 형성되는 경우, 제어 장치는 기존 로봇(10)에 착탈 가능하게 구비될 필요가 있다. 로봇(10)과 별도로 형성된 제어 장치를 기존 로봇(10)에 적용하기 위해 착탈부(180)가 마련될 수 있다.
착탈부(180)에는 제1 촬영부(110)와 제2 촬영부(120) 중 적어도 하나가 설치될 수 있다. 착탈부(180)는 제1 촬영부(110)와 제2 촬영부(120) 중 적어도 하나를 로봇에 설치하기 위한 것일 수 있다. 착탈부(180)는 대상물(90)을 처리하는 이펙터(20)(end effector)가 형성된 로봇(10)의 단부에 착탈 가능하게 형성될 수 있다.
일 예로, 착탈부(180)는 기둥 또는 막대 형상을 갖는 로봇(10)의 암(11)을 감싸거나, 이펙터(20)의 밑둥을 감싸는 밴드를 포함할 수 있다. 밴드의 일측 단부와 타측 단부는 밴드의 몸체가 암(11) 또는 이펙터(20)를 감싼 상태에서 볼트(189)/너트를 이용한 나사 결합 등에 의해 서로 조여질 수 있다. 양 단부 간의 조여짐에 의해 밴드는 착탈부(180)와 함께 로봇(10)에 견고하게 결합될 수 있다.
다른 예로, 착탈부(180)는 로봇(10)의 암(11) 또는 이펙터(20)의 일면에 밀착 접촉된 상태에서 나사 결합 등을 통해 암(11) 또는 이펙터(20)에 체결되는 브라켓을 포함할 수 있다.
나사 결합이 해제되면 착탈부(180)는 로봇(10)으로부터 이탈될 수 있다.
제어 장치에는 제1 인터페이스부(140)와 제2 인터페이스부(160) 중 적어도 하나가 마련될 수 있다.
제1 인터페이스부(140)는 제1 촬영부(110) 및 제2 촬영부(120)로부터 출력된 정보를 추정부(130)에 유선 또는 무선(이하 '유무선')으로 제공할 수 있다. 일 예로, 제1 인터페이스부(140)는 제1 촬영부(110)로부터 출력된 제1 이미지 또는 제1 뎁스 정보를 추정부(130)에 전송할 수 있다. 제1 인터페이스부(140)는 제2 촬영부(120)로부터 출력된 제2 이미지 또는 제2 뎁스 정보를 추정부(130)에 전송할 수 있다.
착탈부(180)를 이용해 로봇(10)에 착탈 가능하게 형성된 본 발명의 제어 장치는 제어 키트로 명명될 수 있다. 제어 키트로 구성된 경우, 제1 촬영부(110)와 제2 촬영부(120)는 로봇(10)에 대해 별도로 제공될 수 있다. 추정부(130) 역시 별도로 제공될 수 있다. 하지만, 로봇(10)에 마련된 콘트롤러에 소프트웨어를 업데이트하는 방식을 통해, 추정부(130)는 로봇(10)의 콘트롤러와 일체로 형성될 수도 있다.
제1 인터페이스부(140)는 추정부(130)와 통신하는 유선 통신 모듈 또는 무선 통신 모듈을 포함할 수 있다. 추정부(130)가 로봇(10)의 콘트롤러와 일체로 형성된 경우, 제1 인터페이스부(140)는 로봇(10)과 통신하고, 로봇(10)의 콘트롤러에 제1 이미지, 제1 뎁스 정보, 제2 이미지, 제2 뎁스 정보를 제공할 수 있다.
제2 인터페이스부(160)는 추정부(130)에서 생성된 제1 정보 및 제2 정보 중 적어도 하나를 로봇(10)에 유무선으로 제공할 수 있다. 제2 인터페이스부(160)는 추정부(130)가 로봇(10)과 별개로 마련된 경우 유용하다. 추정부(130)는 제1 촬영부(110)와 제2 촬영부(120)로부터 전달받은 정보를 이용해서 제1 정보와 제2 정보를 생성하고, 제2 인터페이스부(160)를 통해 로봇(10)에 제1 정보와 제2 정보를 제공할 수 있다. 한편, 제1 인터페이스부(140)와 제2 인터페이스부(160)는 하나의 인터페이스부로 형성될 수도 있다.
제1 촬영부(110)는 대상물(90)로부터 이격되고 대상물(90)에 대면되는 제1 위치 p1에서 대상물(90)을 촬영할 수 있다.
제2 촬영부(120)는 대상물(90)로부터 이격되고 대상물(90)에 대면되는 제2 위치 p2에서 대상물(90)을 촬영할 수 있다. 제2 위치 p2는 대상물(90)과 제1 위치 사이에 위치할 수 있다.
추정부(130)에서 제1 촬영부(110)에서 촬영된 제1 이미지를 이용해서 제1 정보를 생성할 수 있다. 이때, 제1 정보는 로봇(10)의 암(11)(arm)을 제1 위치와 대상물(90) 사이의 경유 지점 pr까지 안내하는데 필요한 정보를 포함할 수 있다.
추정부(130)는 제2 촬영부(120)에서 촬영된 제2 이미지를 이용해서 제2 정보를 생성할 수 있다. 이때, 제2 정보는 암(11)(arm)을 경유 지점 pr로부터 대상물(90)까지 안내하는데 필요한 정보를 포함할 수 있다.
제1 촬영부(110)와 대상물(90) 사이의 경유 지점 pr에서 로봇(10)의 암(11)(arm)이 취해야 할 제1 자세가 정의될 수 있다. 로봇(10)의 암(11)(arm)이 대상물(90)을 처리하는데 필요한 제2 자세가 정의될 수 있다.
일 예로, 제2 자세는 대상물(90)에 접근한 이펙터(20)가 대상물(90)을 그랩하기 위해 이펙터(20) 또는 암(11)이 취해야 할 자세를 나타낼 수 있다. 일 예로, 대상물(90)이 육면체인 경우, 제2 자세는 대상물(90)의 일면 가운데에 직교하는 축과 동축 상에 배치된 암(11)의 자세를 의미할 수 있다.
로봇(10)의 암(11)은 초기 위치 p0으로부터 가상의 궤적을 그리면서 대상물(90)까지 움직이게 되며, 가상의 궤적 상의 일점이 경유 지점 pr에 해당될 수 있다. 대상물(90)에 도착한 로봇(10)의 암(11)은 제2 자세를 취하게 되며, 제2 자세는 대상물(90)의 도착 전에 경유하는 경유 지점 pr에서 로봇(10)이 취하고 있는 제1 자세로부터 변형된 자세일 수 있다.
제1 자세가 제2 자세와 크게 다르면, 경유 지점 pr에서 대상물(90)까지의 짧은 구간 동안 암(11)의 자세가 급변해야 한다. 경유 지점 pr에서 대상물(90)까지의 구간 동안 암(11)의 자세 변화가 작을수록 로봇(10)의 수명 측면, 제어 측면, 정보 획득 측면 등에서 유리할 수 있다.
제어 측면에서 살펴보면, 제1 자세와 제2 자세가 거의 동일하거나 매우 유사하므로, 로봇(10)은 제1 자세에 포함된 미세한 오차를 보정하는 것으로 제2 자세를 달성할 수 있다. 미세 오차는 제2 촬영부(120) 및 추정부(130)에서 탐지되고 분석될 수 있다.
정보 획득 측면에서 살펴보면, 제2 촬영부(120)의 배치 각도가 제1 자세 또는 제2 자세에 기초해서 설정되면, 대상물(90)에 대한 시야가 자연스럽게 확보될 수 있다. 또한, 제2 촬영부(120)는 제1 자세와 제2 자세 간의 미세한 오차를 보정하는데 필요한 정보만 획득하면 충분하다. 제1 촬영부(110)는 정밀한 제2 자세가 아니라 제1 자세를 취할 정도의 러프한 정보만 획득하면 충분하다. 획득해야 할 정보의 종류, 양, 정밀도 등이 완화되므로, 이에 맞춰 제1 촬영부(110)의 필요 분해능 또는 제2 촬영부(120)의 필요 분해능이 완화될 수 있다. 분해능의 완화로 인해 정밀한 고가의 카메라 대신 저렴한 RGB-D 카메라를 이용해서 제1 촬영부(110)와 제2 촬영부(120)가 구성될 수 있다. 이를 통해 제어 장치를 마련하는 생산성이 개선될 수 있다.
일 예로, 제1 촬영부(110)는 경유 지점 pr의 도출을 위해 필요한 대상물(90)의 위치를 제1 위치 p0에서 파악할 수 있는 제1 분해능을 갖게 형성될 수 있다. 또는, 제1 촬영부(110)는 제1 자세의 도출에 필요한 대상물(90)의 자세에 해당하는 타겟 자세를 제1 위치 p1에서 파악할 수 있는 제1 분해능을 갖게 형성될 수 있다.
제2 촬영부(120)는 제2 자세의 도출을 위해 필요한 타겟 자세를 제2 위치 p2에서 파악할 수 있는 제2 분해능을 갖게 형성될 수 있다.
로봇(10)을 제2 자세로 제어하기 위해서는 제2 정보가 요구되고, 제2 정보는 제2 촬영부(120)의 촬영 결과를 이용해 생성될 수 있다. 제2 촬영부(120)의 촬영 결과에 해당되는 제2 이미지 또는 제2 뎁스 정보는 제2 위치 p2에서 대상물(90)을 센싱 또는 촬영한 것일 수 있다. 이는 곧, 로봇(10)을 제2 자세로 제어하기 위해서는 제2 촬영부(120)를 제2 위치 p2에 배치시켜야 한다는 것을 의미할 수 있다. 이런 관점에서 본 발명의 제어 장치는 제2 촬영부(120)를 중심으로 기술될 수 있다.
일 예로, 제1 촬영부(110)는 제1 분해능으로 대상물(90)을 촬영할 수 있다.
제2 촬영부(120)는 제2 분해능으로 대상물(90)을 촬영할 수 있다.
추정부(130)는 제1 촬영부(110)에서 촬영된 제1 이미지를 분석할 수 있다. 대상물(90)의 자세 정보를 타겟 자세로 정의할 때, 추정부(130)는 제1 이미지의 분석을 통해 타겟 자세를 제2 분해능으로 파악할 수 있는 제2 위치 p2를 추정할 수 있다.
추정부(130)는 제1 정보를 생성하고, 로봇(10)에 제1 정보를 제공할 수 있다. 이때, 제1 정보는 제2 위치 p2에 제2 촬영부(120)를 배치시키는 로봇(10)의 제1 제어에 필요한 정보를 포함할 수 있다. 예를 들어, 제1 정보는 대상물(90)의 위치 정보, 대상물(90)의 자세 정보, 대상물(90)의 위치 정보와 자세 정보를 이용해 생성된 로봇(10)의 제어 신호 중 적어도 하나를 포함할 수 있다.
제1 정보를 제공받은 로봇(10)은 제1 정보에 기초해서, 제2 위치 p2에 제2 촬영부(120)가 도달하도록 움직일 수 있다. 로봇(10)은 제1 정보에 기초해서, 제2 촬영부(120)의 광축 k2가 대상물(90)을 향하도록 움직일 수 있다. 대상물(90)의 처리 작업 또는 제2 위치 p2에 대한 제2 촬영부(120)의 정렬 작업을 위해 로봇(10)은 복수의 자유도를 갖게 형성될 수 있다.
일 예로, 서로 직교하는 제1 축, 제2 축, 제3 축이 형성하는 3차원 공간이 정의될 수 있다. 도면에서, 제1 축은 x축, y축, z축 중 어느 하나일 수 있다. 제2 축은 x축, y축, z축 중 제1 축과 다른 하나일 수 있다. 제3 축은 x축, y축, z축 중 제1 축과 제2 축을 제외한 나머지 하나일 수 있다.
로봇(10)의 암(11) 또는 이펙터(20)는 제1 축 방향을 따라 움직이는 제1 이동 자유도, 제2 축 방향을 따라 움직이는 제2 이동 자유도, 제3 축 방향을 따라 움직이는 제3 이동 자유도 중 적어도 하나를 가질 수 있다. 로봇(10)의 암(11) 또는 이펙터(20)는 제1 축을 기준으로 회전하는 제1 회전 자유도, 제2 축을 기준으로 회전하는 제2 회전 자유도, 제3 축을 기준으로 회전하는 제3 회전 자유도 중 적어도 하나를 가질 수 있다.
제1 정보는 대상물(90)에 대면되는 위치, 예를 들어 경유 지점 pr에서 로봇(10)의 이펙터(20) 또는 암(11)(arm)이 취해야 할 제1 자세에 관한 정보를 포함할 수 있다. 제2 정보는 대상물(90)을 처리하기 위해 암(11)이 취해야할 제2 자세에 관한 정보를 포함할 수 있다. 제2 자세는 제1 자세에 포함된 오차가 보정된 보정 자세에 해당될 수 있다. 제1 자세 및 제2 자세 중 적어도 하나는 로봇(10) 좌표계를 기준으로 3차원 위치 정보, 피치(pitch) 정보, 롤(roll) 정보, 요(yaw) 정보 중 적어도 하나를 포함할 수 있다.
3차원 위치 정보는 3차원 공간에서 제1 축 방향 좌표, 제2 축 방향 좌표, 제3 축 방향 좌표를 나타낼 수 있다. 예를 들어, 제1 축은 x축이고, 제2 축은 y축이고, 제3 축은 z축일 수 있다. 이펙터(20) 또는 로봇(10)의 암(11)은 3차원 위치 정보를 달성하기 위해, 제1 이동 자유도, 제2 이동 자유도, 제3 이동 자유도 중 적어도 하나를 활용할 수 있다.
피치 정보는 제1 축을 기준으로 하는 각도 정보를 포함할 수 있다. 이펙터(20) 또는 로봇(10)의 암(11)은 피치 정보가 나타내는 각도를 달성하기 위해 제1 회전 자유도를 활용할 수 있다.
롤 정보는 제2 축을 기준으로 하는 각도 정보를 포함할 수 있다. 이펙터(20) 또는 로봇(10)의 암(11)은 롤 정보가 나타내는 각도를 달성하기 위해 제2 회전 자유도를 활용할 수 있다.
요 정보는 제3 축을 기준으로 하는 각도 정보를 포함할 수 있다. 이펙터(20) 또는 로봇(10)의 암(11)은 요 정보가 나타내는 각도를 달성하기 위해 제3 회전 자유도를 활용할 수 있다.
다양한 자유도를 갖는 로봇(10)에 의해 제2 위치 p2에 도달하면, 제2 촬영부(120)는 대상물(90)을 촬영할 수 있다.
추정부(130)는 제2 위치 p2에서 제2 촬영부(120)에 의해 촬영된 제2 이미지의 분석을 통해 타겟 자세를 추정할 수 있다. 추정부(130)는 추정된 타겟 자세가 반영된 제2 정보를 생성하고, 로봇(10)에 제2 정보를 제공할 수 있다.
제2 촬영부(120)의 시야와 관련된 제2 광축 k2가 대상물(90)을 향하도록 로봇(10)을 제어하는 관점에서 본 발명의 제어 장치가 기술될 수 있다.
도 2에 도시된 바와 같이, 제1 촬영부(110)는 제1 광축 k1을 가지며 설정 영역 L을 촬영할 수 있다.
추정부(130)는 제1 촬영부(110)에 의해 촬영된 제1 이미지의 분석을 통해 설정 영역 L에 배치된 대상물(90)의 위치를 추정할 수 있다.
제2 촬영부(120)는 제2 광축 k2를 가지며 대상물(90)을 촬영할 수 있다. 제2 촬영부(120)는 로봇의 암(arm)에 설치될 수 있다.
추정부(130)는 제1 이미지의 분석을 통해 위치가 추정된 대상물(90)을 향해 제2 광축 k2가 향하도록 제1 정보를 생성할 수 있다. 제1 정보는 로봇(10)의 제1 제어에 사용될 수 있다. 로봇(10)의 제1 제어는 제2 광축 k2이 대상물(90)의 추정 위치를 향하도록 로봇(10)의 암(11)을 움직이는 제어(예, 제2 광축 k2이 대상물(90)을 향하도록 제2 촬영부(120)를 움직이는 로봇(10)의 제어)를 포함할 수 있다. 추정부(130)는 로봇(10)에 제1 정보를 제공할 수 있다.
제1 정보에 의해 제어되는 로봇(10)에 의해 제2 촬영부(120)는 제2 위치 p2에 배치되고, 대상물(90)을 향해 제2 광축 k2가 조정된 촬영 상태가 될 수 있다. 촬영 상태에서 촬영된 제2 이미지는 제2 정보의 생성에 사용될 수 있다.
대상물(90)을 처리하는 이펙터(20)(end effector)가 로봇(10)의 암(11)(arm)에 형성될 때, 로봇(10)은 이펙터(20)의 동작 축 k3가 대상물(90) 상에 위치하도록 움직일 수 있다. 이펙터(20)의 동작을 방해하지 않고, 이펙터(20)에 의해 대상물(90)이 가리지 않도록 제2 촬영부(120)는 이펙터(20)로부터 이격되게 암(11)에 설치될 수 있다. 예를 들어, 대상물(90)에 대면되는 암(11)의 일면 가운데에 이펙터(20)가 형성된 경우, 제2 촬영부(120)는 대상물(90)에 대면되는 암(11)의 가장자리에 설치될 수 있다. 또는, 제2 촬영부(120)는 이펙터(200), 로봇(10), 또는 암(11) 등의 외주면으로부터 돌출되게 설치될 수 있다. 제2 촬영부(120)의 돌출 방향은 동작 축 k3에 수직할 수 있다. 제2 촬영부(120)는 제2 광축 k2가 동작 축 k3에 평행하게 유지되도록 암(11)의 단부에 설치될 수 있다.
대상물(90)의 중심 o를 통과하고 대상물(90)의 표면에 수직하게 연장되는 가상축 k4가 정의될 수 있다. 로봇(10)이 대상물(90)에 도달하기 전에 경유하는 경유 지점 pr은 가상축 k4 상에 설정될 수 있다.
동작 축 k3이 가상축 k4와 동축 상에 형성되고, 제2 광축 k2가 동작 축 k3에 평행하게 형성되면, 제2 위치 p2에 배치된 제2 촬영부(120)는 대상물(90)의 중심 o로부터 이격된 지점을 조준할 수 있다. 이때, 제2 촬영부(120)는 대상물(90)의 중심 o로부터 이격된 다른 지점을 조준한 상태에서, 동작 축 k3 상에 배치된 대상물(90)을 촬영할 수 있는 화각을 가질 수 있다.
제1 정보에 의해 로봇(10)은 대상물(90)을 처리하는 이펙터(20)(end effector)가 임의 위치, 예를 들어 초기 위치 p0로부터 가상축 k4 상의 경유 지점 pr에 도달하도록 움직일 수 있다. 제2 정보에 의해 가상축 k4가 보정될 수 있다. 로봇(10)은 이펙터(20)가 보정된 가상축 k4를 따라가면서 대상물(90)에 도달하도록 이펙터(20)(보다 정확하게는 로봇(10)의 암(11))를 움직일 수 있다. 보정된 가상축 k4를 따라가는 이펙터(20)는 정확하게 대상물(90)에 도달할 수 있다. 또한, 이펙터(20)는 대상물(90)의 표면에 수직한 방향을 따라서 대상물(90)에 접근하고, 대상물(90)을 처리할 수 있다.
추정부(130)는 제1 촬영부(110) 및 제2 촬영부(120) 중 적어도 하나에서 촬영된 이미지에 딥러닝 알고리즘을 적용하여 대상물(90)의 윤곽선 정보(99)를 추출할 수 있다.
추정부(130)는 추출된 윤곽선 정보(99)를 이용해서 이미지 내에 배치된 대상물(90)의 자세를 추정할 수 있다.
일 예로, 제1 촬영부(110) 및 제2 촬영부(120) 중 적어도 하나는 대상물(90)의 이미지와 뎁스 정보를 추정부(130)에 제공할 수 있다. 추정부(130)는 이미지의 분석을 통해 대상물(90)의 윤곽선 정보(99)를 추출할 수 있다. 추정부(130)는 윤곽선 정보(99) 내에 서로 이격된 복수의 가상점(91, 92, 95)을 설정할 수 있다. 추정부(130)는 뎁스 정보의 분석을 통해 제1 촬영부(110) 또는 제2 촬영부(120)를 기준으로 하는 가상점 각각의 깊이를 분석할 수 있다. 가상점의 깊이는 각 촬영부와 가상점 간의 거리를 의미할 수 있다. 추정부(130)는 분석된 각 가상점의 깊이를 이용해서 대상물(90)의 자세를 추정할 수 있다. 추정부(130)는 추정된 대상물(90)의 자세를 이용해서 제1 정보 또는 제2 정보를 생성할 수 있다.
추정부(130)는 제2 촬영부(120)에서 촬영된 제2 이미지의 분석을 통해 대상물(90)의 중심 o를 추정할 수 있다. 이때, 대상물(90)의 중심 o는 대상물(90)의 3차원적인 중심을 나타내거나, 윤곽선 정보(99)에 포함된 윤곽선으로 이루어진 폐곡면 중심을 나타낼 수 있다. 추정부(130)는 대상물(90)의 중심으로부터 연장되고 대상물(90)의 표면에 직교하는 가상선 정보 k4를 이용해서 제2 정보를 생성할 수 있다.
제1 촬영부(110)는 도 3과 같이 복수의 대상물(90)이 포함된 설정 영역 L이 촬영된 제1 이미지를 추정부(130)에 제공할 수 있다.
추정부(130)는 제1 이미지의 분석을 통해 설정 영역 내에 존재하는 복수의 대상물(90) 중 하나를 타겟으로 선택할 수 있다. 추정부(130)는 타겟에 기초한 제1 정보 및 제2 정보 중 적어도 하나를 생성할 수 있다.
추정부(130)는 선택된 타겟에 대한 로봇(10)의 처리가 완료되면, 이전 타겟과 가장 가까운 위치에 배치된 대상물(90)을 다음 타겟으로 선택할 수 있다. 도 1에서 대상물(90)은 원통 또는 중공 파이프 형상의 물체를 포함하며, 빈(bin)(80)에 수용될 수 있다.
초기 구동시 추정부(130)에 의해 제1 물체 ①이 로봇(10)의 작업 대상으로 선택될 수 있다. 제1 물체 ①에 대한 로봇(10)의 처리가 완료되면, 추정부(130)는 나머지 물체 중 기존 제1 물체 ①에 가장 가깝게 배치된 제2 물체 ②를 로봇(10)의 다음 작업 대상으로 선정할 수 있다. 제2 물체 ②에 대한 로봇(10)의 처리가 완료되면, 추정부(130)는 나머지 제3 물체 ③을 로봇(10)의 다음 작업 대상으로 선택할 수 있다.
제1 촬영부(110)는 복수의 대상물(90)이 포함된 설정 영역 L이 촬영된 제1 이미지 및 설정 영역에 대한 뎁스 정보를 추정부(130)에 제공할 수 있다.
추정부(130)는 제1 이미지에 포함된 복수의 대상물(90) 중 제1 촬영부(110)에 대한 뎁스가 가장 짧은 특정 대상물(90)을 기초로 제1 정보 및 제2 정보 중 적어도 하나를 생성할 수 있다. 제1 촬영부(110)에 가장 가깝게 배치된 대상물(90)부터 로봇(10)에 의해 처리될 수 있다.
도 1에서 설정 영역 L에 배치된 바스켓(basket) 또는 빈(bin)(80)에 제1 물체 ①, 제2 물체 ②, 제3 물체 ③이 담겨 있다. 이때, 제2 물체 ②에 올려져 있는 제1 물체 ①이 제1 위치에 가장 가까울 수 있다. 제1 촬영부(110)는 뎁스 정보를 이용해서 제1 물체 ①이 제1 위치 또는 제1 촬영부(110)에 가장 가까운 것을 확인할 수 있다. 현실적으로 동일 규격의 복수 대상물(90)이 놓인 설정 영역 L에서 특정 대상물(90)이 다른 대상물(90)보다 제1 위치에 가깝다는 것은 특정 대상물(90)의 설정 영역 L의 가운데에 배치된 것을 의미하거나, 특정 대상물(90)이 다른 대상물(90) 위에 올려져 있는 것을 의미할 수 있다. 해당 위치에 배치된 특정 대상물(90)은 다른 대상물(90)의 처리를 방해할 수 있으므로, 우선적으로 로봇(10)에 의해 처리되는 것이 좋다. 본 실시예에 따르면, 대상물(90)이 바스켓에 수북하게 쌓인 상태에서 맨 위에 놓인 특정 대상물(90)부터 로봇(10)에 의해 처리될 수 있다.
도 3은 제1 촬영부(110)에 의해 촬영된 제1 이미지를 처리하는 추정부(130)의 동작을 나타낸 개략도이다. 도 4는 제2 촬영부(120)에 의해 촬영된 제2 이미지를 처리하는 추정부(130)의 동작을 나타낸 개략도이다.
도 3은 설정 영역의 중심에서 설정 영역 L을 촬영한 제1 촬영부(110)의 제1 이미지 i1를 나타낼 수 있다. 도 3에는 설정 영역 L에 배치된 빈(bin)(80) 내에 담긴 원통형 물체가 로봇(10)의 처리 타겟에 해당하는 대상물(90)이 될 수 있다.
도 4는 제1 촬영부(110)와 대상물(90) 사이의 경유 지점 pr에 이펙터(20)가 도달한 상태에서 제2 위치 p2에 배치된 제2 촬영부(120)를 통해 획득한 제2 이미지 i2를 나타낼 수 있다. 제2 위치 p2에 배치된 제2 촬영부(120)의 제2 광축 k2는 대상물(90)을 수직하게 관통하는 이펙터(20)의 동작축 k3에 대해 평행하게 형성될 수 있다. 따라서, 제2 촬영부(120)는 타겟으로 선정된 대상물(90)의 중앙점(95)으로부터 이격된 지점을 조준할 수 있다. 이때, 제2 촬영부(120)는 적어도 제2 이미지 i2의 가장자리에 목표로 하는 대상물(90)이 포함되는 화각을 갖도록 형성될 수 있다.
본 발명의 제어 장치는 기존에 다른 용도로 사용되던 로봇(10)에 착탈될 수 있다. 일 예로, 다른 작업을 수행하던 기존 로봇(10)에 본 발명의 제어 장치를 부착하는 것을 통해 해당 로봇(10)에 빈 피킹 기능 등이 추가될 수 있다.
로봇(10)은 기본적으로 피킹 동작을 수행할 수 있는 암(11)(arm)과, 암(11)을 구동하기 위한 암(11) 구동부(모터 등), 암(11) 구동부를 제어하기 위한 콘트롤러를 포함할 수 있다. 산업용 로봇(10), 협동 로봇(10), 안내 로봇(10) 등 다양한 종류의 로봇(10)이 여기에 속할 수 있다.
제어 장치는 천정(Ceiling)에 부착된 제1 촬영부(110), 로봇(10)의 암(11)에 부착되는 제2 촬영부(120), 딥러닝(머신러닝) 알고리즘을 이용해서 제1 촬영부(110), 제2 촬영부(120)에서 촬영한 영상에서 물체(대상물(90))를 세그멘테이션(Segmentation)하는 이미지 프로세서, 이미지 프로세서로부터 인식된 물체 이미지 세그멘테이션(segmentation) 정보로부터 피킹 타겟의 Pose(자세, 예를 들면, x,y,z 3차원 위치와 pitch, roll, yaw 각도)를 추정하고, Pose가 추정된 타겟을 피킹하기 위해서 암(11)이 취해야 하는 Pose를 추정하는 암 자세 추정기(estimator)로 구성될 수 있다. 이미지 프로세서와 암 자세 추정기는 일체로 형성될 수 있다. 암 자세 추정기는 타겟 자세를 이용해서 로봇(10)의 자세와 관련된 제어 신호를 생성하는 추정부(130)의 일 실시예에 해당될 수 있다.
이미지 프로세서로는 딥러닝, CNN 알고리즘이 적용되어 이미지 처리 학습이 가능하며, 병렬 연산이 가능한 GPU(Graphic Process Unit)가 사용될 수 있다.
암 자세 추정기(estimator)는 이미지 프로세서로부터 세그멘테이션된 타겟 이미지 정보를 받아서 지정된 타겟을 피킹하기 위해서 암(11)이 취해야 할 자세를 추정할 수 있다. 암(11)의 자세 정보는 로봇(10) 좌표계를 기준으로 x, y, z 위치 정보와 각 방향의 각도(pitch, roll, yaw angle) 정보를 포함할 수 있다.
로봇(10)의 콘트롤러에 암 자세 추정 기능이 부여될 수도 있고, 콘트롤러와 암 자세 추정기가 각각 별도의 프로세서로 만들어질 수도 있다.
제1 촬영부(110) 및 제2 촬영부(120)는 각각 RGB-D 센서로서, RGB 컬러 이미지와 뎁스(Depth) 정보(거리 정보)를 이미지 프로세서로 제공할 수 있다. 이미지 프로세서는 딥러닝 알고리즘, 가령 CNN 알고리즘이 적용되어 제1 촬영부(110) 또는 제2 촬영부(120)로부터 제공된 RGB 컬러 이미지와 뎁스 정보를 이용하여 이미지 내의 대상물(90)들을 세그멘테이션할 수 있다.
보다 상세하게 설명하면, 이미지 프로세서로부터 출력되는 정보에는 개별 대상물(90)의 외곽선을 따라 형성된 윤곽선(contour, edge) 정보가 포함될 수 있다. 이미지 프로세서가 개별 물체 각각의 윤곽선 정보(99)를 정확하게 추출할 수 있도록 CNN(Convolution Neural Network)의 딥러닝 알고리즘이 적용될 수 있다. 딥러닝 알고리즘은 컴파일된 오브젝트(Object) 코드 형태로 하드디스크, SSD(Solid State Drive) 등의 저장부에 저장될 수 있다. 제어 장치가 턴온(Turn-on)되는 경우, 저장부에 저장된 딥러닝 알고리즘이 이미지 프로세서에 호출되면서 학습이 이루어질 수 있다.
이미지 프로세서는 제1 촬영부(110)로부터 촬영된 RGB 컬러 이미지(제1 이미지 i1)와 제1 뎁스 정보를 받아서 개별 물체들의 세그멘티드 정보(segmented data)를 출력할 수 있다. 여기서, 세그멘티드 정보를 보다 정확하게 출력하기 위해서 딥러닝 알고리즘 중 CNN이 적용될 수 있다. 세그멘테이션 정보의 정확도를 높이기 위해 딥러닝 알고리즘을 적용하였으나, 아주 높은 수준의 정확도를 요구하지 않는 환경에서는 딥러닝 알고리즘 외에 다른 이미지 처리 알고리즘이 적용될 수도 있다.
암 자세 추정기는 이미지 프로세서로부터 출력된 개별 물체들의 윤곽선 정보(99)를 이용하여 개별 물체의 자세 정보를 추정할 수 있다. 개별 물체들의 윤곽선 정보(99)와 물체의 자세 추정 정보는 로봇(10) 좌표계를 기준으로 계산될 수 있다. 즉, 윤곽선 정보(99)는 물체 윤곽선의 3차원 x, y, z 좌표값을 포함하고, 물체의 자세 추정 정보는 물체 윤곽선의 정보와 촬영부에서 계산한 뎁스 정보를 이용하여 로봇(10) 좌표계 기준으로 추정된 물체의 자세를 포함할 수 있다. 물체의 윤곽선 정보(99)로부터 물체의 자세를 추정하는 방법은 해당 물체의 형상에 따라서 다양한 방법이 적용될 수 있다.
가령, 빈(bin)(80)에 있는 물체의 형상이 도 3 및 도 4와 같이 원통형 금속인 경우, 암 자세 추정기는 이미지 프로세스로부터 출력받은 윤곽선 정보(99)를 이용하여 윤곽선 정보(99) 내부에 존재하는 3개의 점(제1 점(91), 중앙점(95), 제2 점(92))를 추출하고 3개의 점(dot)에 대한 뎁스 정보를 이용해서 3개 점의 높이를 알 수 있다. 암 자세 추정기는 3개 점의 높이 정보로부터 해당 물체가 어느 방향으로 기울어져 있는지를 추정할 수 있다. 경우에 따라, 암 자세 추정기는 윤곽선 중에서 꼭지점 영역에 해당하는 점들의 뎁스 정보를 이용하여 물체의 자세를 추정할 수도 있다. 또는, 암 자세 추정기는 윤곽선을 형성하는 각 변의 중앙에 있는 점들에 대한 뎁스 정보를 이용하여 물체의 자세를 추정할 수 있다.
물체의 자세(pose) 추정 정보는 물체가 어떤 방향으로 놓여 있는지를 6D 좌표 기준(x, y, z, roll, pitch, yaw)으로 추정한 것을 의미할 수 있다.
암 자세 추정기는 추정한 물체의 자세 정보를 기초로 해당 물체를 피킹하기 위한 암(11)의 자세 정보(xyz 3차원 위치 및 각 방향의 각도)를 추정할 수 있다. 도면에서 예로 든 대상물(90)이 원통형 금속 물체이고, 이펙터(20)에 해당하는 그리퍼(Gripper)가 공기압으로 석션(Suction)하는 방식인 경우, 최적으로 해당 물체를 잡는 암(11)(정확하게는 Gripper)의 자세는 3개 점 중 가운데 있는 점(중앙점(95))을 향해 윤곽선 평면에 Normal(법선) 방향에 겹쳐지게 배치되는 것이 될 수 있다. 본 실시예에 따르면, 그리퍼는 윤곽선 평면에 대해 노멀(Normal)한 방향으로 설정된 3개의 점 중 가운데 점 위치에서 공기압으로 원통형 금속 물체를 석션하고 피킹할 수 있다.
암 자세 추정기 또는 로봇(10)의 콘트롤러는 이미지 프로세서로부터 세그멘테이션된 정보를 받아서 피킹해야 할 타겟을 선정할 수 있다. 최초의 타겟은 빈 내에 존재하는 물체 중 하나가 임의로 선정될 수 있다. 최초 선정 이후의 타겟은 로봇 암(11)의 이동 거리 등을 고려하여 이전에 선정한 타겟과 인접한 위치의 물체로 선정될 수 있다. 암 자세 추정기 또는 로봇(10)의 콘트롤러는 선정한 피킹 타겟을 향해 이동하도록 로봇(10)의 암(11)을 제어할 수 있다. 즉, 암 자세 추정기 또는 콘트롤러는 로봇 암(11)이 피킹 타겟에 좀 더 가까운 위치로 이동할 수 있도록 로봇 암(11)의 자세 정보(xyz 3차원 위치 정보와 xyz축 각 방향의 각도 정보(pitch, roll, yaw 방향의 각도))를 계산할 수 있다.
암 자세 추정기 또는 로봇(10)의 콘트롤러는 추정된 물체의 자세 정보를 기반으로 처리 순서에 해당하는 피킹 순위를 결정할 수 있다. 암 자세 추정기 또는 콘트롤러는 물체의 자세 정보로부터 빈(bin)(80) 내 어느 영역에 물체들이 많이 쌓여 있는지를 알 수 있다. 예를 들어, 금속성 원통형 물체의 윤곽선 정보(99) 내부에 3개의 점을 추출하고, 암 자세 추정기 또는 콘트롤러는 해당 점의 뎁스(제1 촬영부(110)로부터 해당 물체까지의 거리)가 짧은 물체가 수북하게 쌓인 다른 물체들의 위에 놓인 것으로 판단할 수 있다. 이 경우, 암 자세 추정기 또는 로봇(10)의 콘트롤러는 뎁스가 가장 짧은 물체가 존재하는 영역부터 먼저 피킹하도록 피킹 우선순위를 정할 수 있다. 피킹 우선순위 정하는 방법은 다양한 방식으로 변경 가능하다.
암 자세 추정기 또는 로봇(10)의 콘트롤러는 1차로 제공한 로봇 암(11)의 자세 정보(제1 정보)에 따라서 로봇(10)의 암(11)이 이동하면, 암(11)에 부착된 제2 촬영부(120)로 한번 더 대상물(90)을 촬영(2차 촬영)할 수 있다. 암 자세 추정기 또는 콘트롤러는 2차 촬영된 대상물(90)의 이미지에 대해 CNN 알고리즘을 이용해서 피킹해야 할 물체를 세그멘테이션하도록 이미지 프로세서를 제어할 수 있다. 암 자세 추정기 또는 콘트롤러는 2차로 센싱한 물체의 세그멘테이션 정보를 이용하여 선정된 피킹 타겟 물체의 자세 정보로부터 암(11)의 자세 또는 이펙터(20)의 자세(3차원 위치 x,y,z 및 각 축방향의 각도를 포함하는 총 6개 정보)를 한번 더 추정할 수 있다. 여기서, 암 자세 추정기 또는 콘트롤러로부터 1차로 제공되는 로봇 암(11)의 자세 정보(1차 자세 정보)는 피킹해야 할 물체의 자세 정보에 대응하여 제2 촬영부(120)로 한번 더 촬영해야 할 암(11)의 자세 정보(3차원 xyz, 각 축방향의 각도)를 포함할 수 있다. 가령, 1차 자세 정보는 이펙터(20)가 피킹해야 할 물체로부터 대략 30cm 정도 거리가 떨어진 경유 지점에 대한 위치 정보와, 피킹해야 할 물체의 윤곽선 평면에 대해서 법선(normal)인 가상축 k4 방향의 각도 정보(xyz축 각각에 대한 각도정보)를 포함할 수 있다. 물론, 위치 정보 및 각도 정보는 모두 로봇(10) 좌표계를 기준으로 계산될 수 있다.
암 자세 추정기는 암(11)의 자세 정보를 로봇(10)으로부터 주기적으로 제공받거나 요청에 의해 제공받을 수 있다. 따라서, 암 자세 추정기는 암(11)의 자세를 확인할 수 있다.
2차로 추정된 로봇 암(11)의 자세 정보(2차 자세 정보)는 인터페이스부를 통해 유선/무선으로 로봇(10)에 제공될 수 있다. 로봇(10)은 암 자세 추정기를 통해 제공된 2차 자세 정보에 맞게 암(11)의 자세를 조절할 수 있다. 이에 따라, 로봇 암(11)은 1차 동작 이후 타겟 물체의 자세에 맞게 다시 한번 더 자세를 보정하고, 물체를 정확하게 피킹할 수 있다. 제1 위치 p1에 고정된 제1 촬영부(110)를 통해 촬영한 정보가 주변 상황(조명, 그림자, 타 물체와의 간섭)에 의해 다소 오류가 존재하더라도 암(11)에 부착된 제2 촬영부(120)로 한번 더 촬영하면, 피킹 타겟 물체의 자세가 정확하게 센싱될 수 있다. 로봇(10)의 자세는 정확하게 2차 센싱된 물체의 자세 맞춰 미세 조정/보정/변경될 수 있다. 미세 조정된 이펙터(20)는 물체를 정확하게 피킹할 수 있다.
암 자세 추정기는 계산된 로봇 암(11)의 자세 정보를 인터페이스부를 통해 제어 키트 외부의 로봇(10)에 제공할 수 있다. 로봇(10)의 콘트롤러는 암 자세 추정기로부터 로봇 암(11) 자세 정보를 받아서 암(11)이 해당 위치로 이동하고 해당 자세를 취하도록 모터 등의 암(11) 구동부를 제어할 수 있다.
인터페이스부는 유선 또는 무선 통신이 가능하다. 유선 방식으로 직렬 또는 병렬, 직렬병렬 혼합 등 다양한 방식의 통신 방식이 적용될 수 있고, 무선 방식(wifi 등)도 사용될 수 있다.
도 5는 본 발명의 제어 장치의 동작을 나타낸 개략도이다.
먼저, 도 5의 (a)와 같이, 설정 영역 L 상에 배치된 대상물(90)의 개수, 위치, 자세 등을 확인하기 위해 로봇(10)은 설정 영역 L에 해당하는 빈(bin)(80) 상에서 도피될 수 있다. 여기서, 로봇(10)의 도피는 제1 촬영부(110)가 설정 영역 L에 해당하는 빈(80) 내의 대상물(90)을 촬영하는데 방해가 되지 않는 위치로 움직이는 것을 의미할 수 있다. 빈(80)에서 로봇(10)이 도피되면, 제1 촬영부(110)는 로봇(10)에 의한 간섭이 배제된 상태에서 설정 영역 L을 촬영할 수 있다.
도 5는 대상물(90)을 집어내는 피킹 작업용 로봇(10)을 나타내고 있으며, 설정 영역 L에서 집어올린 대상물(90)을 언로딩하는 타겟 영역이 별도로 마련될 수 있다. 도면에는 타겟 영역에 언로딩 통(70)이 배치된다. 빈(80)으로부터 도피된 로봇(10)은 타겟 영역을 이동할 수 있다. 로봇(10)이 타겟 영역으로 이동하면 로봇(10)의 암(11)에 설치된 제2 촬영부(120)는 타겟 영역을 촬영할 수 있다.
추정부(130)는 설정 영역 L을 촬영한 제1 촬영부(110)의 제1 이미지 및 제1 뎁스 정보를 분석하는 한편, 제2 촬영부(120)에 의해 촬영된 타겟 영역을 분석할 수 있다. 타겟 영역의 분석을 통해 추정부(130)는 석션 이펙터(20)에 의해 피킹된 대상물(90)을 내려놓을 자리를 확인할 수 있다.
제1 이미지의 분석을 통해 추정부(130)는 제1 촬영부(110)로부터 가장 가깝게 배치된 대상물(90)을 최초로 선택할 수 있다. 추정부(130)는 선택된 대상물(90)의 표면에 수직하게 연장되는 가상축 k4를 산출하고, 가상축 k4 상의 경유 지점 p4을 설정할 수 있다.
추정부(130)는 가상축 k4는 대상물(90)의 자세에 대응되는 정보에 해당할 수 있다. 추정부(130)는 가상축 k4에 대한 정보 및 경유 지점 p4에 대한 정보를 로봇(10)에 제공할 수 있다.
도 5의 (b)에 도시된 바와 같이, 추정부(130)로부터 제공받는 정보를 이용해 로봇(10)은 경유 지점 pr을 향해 이펙터(20)를 움직일 수 있다. 로봇(10)은 경유 지점 pr에 도달한 이펙터(20)의 동작축 k3가 가상축 k4과 동축 상에 배치되도록 이펙터(20)의 자세, 예를 들어 피치(pitch), 롤(roll), 요(yaw)를 조절할 수 있다. 이펙터(20)의 자세 조절은 이펙터(20)가 초기 위치로부터 경유 지점 pr에 도달하는 구간 동안 수행되거나, 경유 지점 pr에 이펙터(20)가 도달된 이후에 수행될 수 있다.
이펙터(20)가 경유 지점 pr에 도달하고 가상축 k4에 대한 이펙터(20)의 자세 정렬이 완료되면, 암(11) 또는 이펙터(20)에 설치된 제2 촬영부(120)는 제1 촬영부(110)가 배치된 제1 위치 p1과 대상물(90) 사이의 제2 위치 p2에 배치될 수 있다.
제2 촬영부(120)는 제2 위치 p2에서 대상물(90)을 촬영하고, 촬영된 제2 이미지 및 제2 뎁스 정보를 추정부(130)에 제공할 수 있다.
추정부(130)는 제2 이미지 및 제2 뎁스 정보를 이용해서 제1 촬영부(110)에서 제공된 정보를 토대로 추정된 현재의 가상축 k4 또는 경유 지점 pr을 보정할 수 있다. 추정부(130)는 보정된 가상축 k4에 대한 정보 또는 보정된 경유 지점 pr에 대한 정보를 로봇(10)에 제공할 수 있다. 로봇(10)은 추정부(130)로부터 입수된 각종 보정 정보에 기초해 로봇(10)을 미세 조정할 수 있다. 보다 정확하게는, 대상물(90)을 처리하기 위해 필요한 로봇(10)의 이펙터(20)의 자세(예, 위치 및 각도 등)가 미세 조정될 수 있다.
도 5의 (c)에 도시된 바와 같이, 미세 조정이 완료되면, 로봇(10)은 이펙터(20)가 보정된 가상축 k4를 그대로 따라가면서 대상물(90)에 도달하도록 이펙터(20)를 이동시킬 수 있다. 본 실시예에 따르면, 석션을 위해 이펙터(20)에 형성된 석션부가 대상물(90)의 일면에 수직하게 접촉될 수 있다. 대상물(90)의 일면에 수직하게 접촉된 석션부는 공기 흡입에 의해 별다른 무리없이 대상물(90)을 흡착할 수 있다.
도 5의 (d)에 도시된 바와 같이, 대상물(90)에 대한 흡착이 완료되면, 로봇(10)은 대상물(90)을 향해 접근하던 이펙터(20)의 자세를 그대로 유지한 상태에서 중력의 반대 방향을 따라 설정 거리만큼 이펙터(20)를 1차 이동시킨 후, 타겟 영역의 언로딩 통(70)으로 2차 이동시킬 수 있다. 이를 통해, 대상물(90)을 설정 영역 L로부터 들어내는 과정에서 대상물(90)을 지지하던 다른 물체의 변화가 최소화되므로, 흡착될 다음 대상물(90)의 선정 작업이 용이할 수 있다.
이펙터(20)가 대상물(90)을 흡착한 상태에서 타겟 영역으로 이동한 도 5의 (e)의 상태는 도 5의 (a)와 유사하게 로봇(10)이 제1 촬영부(110)의 촬영 범위로부터 도피된 것을 의미할 수 있다. 따라서, 이펙터(20)의 언로딩 과정 동안 다음 타겟을 선정하기 위한 제1 촬영부(110)의 촬영이 수행될 수 있다. 그런데, 이펙터(20)가 특정 대상물(90)을 들어내는 과정에서 주변의 다른 대상물(90)에 부딪히고 이로 인해 다른 대상물(90)이 굴러다니면, 제1 촬영부(110)의 촬영은 사실상 무의미하다. 그러나, 본 실시예에 따르면, 이펙터(20)에 흡착된 특정 대상물(90)은 대상물(90)의 자세 변경이 없는 상태(예, 대상물(90)의 자전(rotation)이 배제된 상태)에서, 설정 영역 내 정지하고 있던 원래 상태 그대로 위로 들어올려질 수 있다. 그 결과, 특정 대상물(90)에 접촉하고 있던 다른 대상물(90)의 유동이 원천적으로 배제되고, 제1 촬영부(110)는 신속하게 다음 대상물(90)의 선정을 위한 촬영을 수행할 수 있다. 다른 대상물을 피할 수 있는 설정 높이만큼 특정 대상물(90)이 들어올려진 이후, 로봇은 이펙터(20)의 자세를 다양하게 변화시킬 수 있다. 일 예로, 로봇은 이펙터(20)의 동작축 k3가 중력 방향에 평행하도록 이펙터(20)의 자세를 변화시킬 수 있다. 로봇은 이펙터(20)의 자세를 중력 방향에 평행하게 변화시키면서 타겟 영역으로 대상물(90)을 이송할 수 있다.
도 6은 본 발명의 실시예에 따른 제어 방법을 나타낸 흐름도이다. 도 6에 도시된 제어 방법은 도 1 및 도 2에 도시된 제어 장치, 구체적으로 추정부(130)에 의해 수행될 수 있다.
도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 제어 방법은 제1 획득 단계(S 510), 제1 추정 단계(S 520), 제1 제공 단계(S 530), 제2 획득 단계(S 540), 제2 추정 단계(S 550), 제2 제공 단계(S 560), 판별 단계(S 570)를 포함할 수 있다.
제1 획득 단계(S 510)에서 추정부(130)는 제1 촬영부(110)에 의해 촬영된 대상물(90)의 제1 이미지 및 제1 거리 정보(제1 뎁스 정보)를 획득할 수 있다.
제1 추정 단계(S 520)에서 추정부(130)는 제1 이미지와 제1 거리 정보를 이용하여 대상물(90)의 윤곽선 정보(99)와 기울기 정보를 1차 추정할 수 있다. 1차 추정은 원거리의 제1 촬영부(110)에서 제공된 정보를 소스로 하므로, 일부 오차가 포함될 수 있다.
제1 제공 단계(S 530)에서 추정부(130)는 1차 추정된 결과에 따라 대상물(90)을 그랩하는 로봇(10)을 제1 촬영부(110)와 대상물(90) 사이의 경유 지점 pr로 안내하는 제1 정보를 생성할 수 있다. 추정부(130)는 제1 정보에 따라 로봇(10)이 움직이도록, 로봇(10)에 제1 정보를 제공할 수 있다.
제2 획득 단계(S 540)에서 추정부(130)는 로봇(10)이 경유 지점에 도달하면 로봇(10)과 함께 움직이는 제2 촬영부(120)로부터 제2 이미지 및 제2 거리 정보(제2 뎁스 정보)를 획득할 수 있다. 제2 이미지 및 제2 거리 정보는 제1 촬영부(110)보다 가까운 곳에서 센싱된 것이므로, 제1 이미지 및 제1 거리 정보 대비 높은 정확도를 가질 수 있다.
제2 추정 단계(S 550)에서 추정부(130)는 제2 이미지와 제2 거리 정보를 이용하여 대상물(90)의 윤곽선 정보(99)와 기울기 정보를 2차 추정할 수 있다. 2차 추정은 상대적으로 높은 정확도를 갖는 제2 이미지와 제2 거리 정보를 소스로 해서 수행되므로, 1차 추정 결과보다 높은 정확도를 가질 수 잇다.
제2 제공 단계(S 560)에서 추정부(130)는 2차 추정된 결과에 따라 로봇(10)을 경유 지점으로부터 대상물(90)까지 안내하거나 대상물(90)을 그랩하는 로봇(10)의 자세를 보정하는 제2 정보를 생성할 수 있다. 추정부(130)는 제2 정보에 따라 로봇(10)이 움직이도록, 로봇(10)에 제2 정보를 제공할 수 있다.
판별 단계(S 570)에서 추정부(130)는 대상물(90)에 대한 로봇(10)의 그랩 여부를 판별할 수 있다. 그랩 여부의 판별을 위해 추정부(130)는 대상물(90)을 그랩하는 이펙터(20)에 설치된 센서로부터 센싱 데이터를 전달받을 수 있다. 또는, 실질적인 그랩 여부의 판별은 로봇(10) 자체에서 수행되고, 추정부(130)는 로봇(10)으로부터 그랩 여부의 성공 여부에 대한 정보를 입수할 수 있다. 본 명세서에서 그랩 여부의 성공 여부에 대한 정보를 로봇(10)으로부터 입수하는 동작 역시 추정부(130)에 의해 수행되는 그랩 여부의 판별 단계(S 570)에 해당될 수 있다.
판별 단계에서 대상물(90)에 대한 로봇(10)의 그랩이 실패한 것으로 판별되면(S 570), 추정부(130)는 경유 지점 pr로 로봇(10)을 후퇴시킬 수 있다.
로봇(10)이 경유 지점까지 후퇴하면, 추정부(130)는 제2 획득 단계(S 540), 제2 추정 단계(S 550), 제2 제공 단계(S 560)를 순서대로 재실행할 수 있다.
한편, 대상물(90)을 들어올리는 도중에 이펙터(20)로부터 대상물(90)이 자유 낙하하여 어딘가로 튄 경우, 제2 위치에 배치된 제2 촬영부(120)에 의해 대상물(90)이 탐지되지 않을 수 있다.
그랩 실패로 인한, 제2 획득 단계(S 540), 제2 추정 단계(S 550), 제2 제공 단계(S 560)의 재실행 과정 중, 제2 획득 단계(S 540)에서 대상물(90)이 미탐지되면 추가 탐색 작업이 진행될 수 있다.
추가 탐색 작업은 제1 촬영부(110)의 도움을 받아 수행될 수 있다. 추가 탐색 작업이 개시되면, 추정부(130)는 제1 촬영부(110)에 의해 촬영되는 설정 영역 L로부터 로봇(10)을 도피시킬 수 있다.
로봇(10)이 설정 영역 L로부터 도피되면, 추정부(130)는 제1 획득 단계(S 510), 제1 추정 단계(S 520), 제1 제공 단계(S 530), 제2 획득 단계(S 540), 제2 추정 단계(S 550), 제2 제공 단계(S 550)를 순서대로 실행할 수 있다.
본 발명에 따르면, 제2 촬영부(120)는 제1 촬영부(110)보다 대상물(90)에 가까운 위치에서 대상물(90)을 센싱할 수 있다. 따라서, 제2 촬영부(120)는 현실적으로 제1 촬영부(110)보다 높은 정확도의 센싱 결과를 출력할 수 있다.
제1 촬영부(110)를 통해 추출한 대상물(90)의 자세(윤곽선, 기울기) 정보와 제2 촬영부(120)를 통해 추출한 동일 대상물(90)의 자세(윤곽선, 물체의 자세 추정) 정보가 서로 상이할 경우, 추정부(130)는 제2 촬영부(120)의 결과를 우선적으로 신뢰할 수 있다. 따라서, 추정부(130)는 2차 센싱한 2차 윤곽선 정보(99), 2차 자세 추정 정보를 기반으로 로봇 암(11)의 자세를 보정(변경)할 수 있다. 그 결과, 본 발명의 제어 장치가 적용된 로봇(10)은 높은 정확도로 타겟을 처리할 수 있다.
피킹 작업의 경우, 설정 영역 L에 배치된 빈(bin)(80) 내에 이동시켜야 할 물체(타겟, 대상물(90))가 없어질 때까지 피킹 작업이 반복될 수 있다.
피킹 성공/실패 여부는 이펙터(20) 또는 그리퍼의 형태에 따라서 다양한 방식으로 센싱될 수 있다. 공압으로 석션(suction)하는 방식인 경우 에어 센서(air sensor)를 이펙터(20)에 설치하면, 공압 변화 감지를 통해 대상물(90)의 피킹 여부가 센싱될 수 있다. 다른 예로, 제1 촬영부(110)와 제2 촬영부(120) 중 적어도 어느 하나를 이용해서 이펙터(20)의 단부를 촬영할 수 있다. 그리고, 추정부(130)는 이미지 분석 기법을 통해 이펙터(20)가 물건을 그랩하고 있는지 파악할 수 있다. 예를 들어, 그리퍼의 단부를 촬영할 수 있도록 제2 촬영부(120)를 구성하고, 제2 촬영부(120)에 촬영된 제2 이미지 내에 대상물(90)이 존재하는지 여부를 통해 피킹 성공/실패 여부가 센싱될 수 있다. 피킹 성공/실패 여부를 감지/판단하는 방법은, 전류/저항/전압의 변화, 자기장의 변화, 압력 변화 등 피킹하는 대상, 그리핑(gripping) 방식에 따라서 다양하게 변경될 수 있다.
본 발명의 로봇 제어 장치는 로봇에 일체로 형성될 수 있다. 이 경우, 본 발명은 로봇으로 지칭될 수 있다. 본 발명의 로봇은 대상물을 처리하는 이펙터, 대상물을 향해 이펙터를 움직이는 암(arm), 제어 유니트를 포함할 수 있다. 이때, 제어 유니트는 앞에서 설명된 로봇 제어 장치를 포함할 수 있다.
도 7은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다. 도 7의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, 제어 장치(100)의 일부 또는 전부 등) 일 수 있다. 도 7의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.
메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다.
한편, 전술한 본 발명의 실시예에 따른 다양한 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.
10...로봇 11...암(arm)
20...이펙터 70...언로딩 통
80...빈(bin) 90...대상물
91...제1 점 92...제2 점
95...중앙점 99...윤곽선 정보
100...제어 장치 110...제1 촬영부
109...구조물 120...제2 촬영부
130...추정부 140...제1 인터페이스부
160...제2 인터페이스부

Claims (15)

  1. 대상물 상측의 제1 위치에 설치되어 상기 대상물의 이미지 및 뎁스 정보를 포함하는 상기 대상물의 3차원 위치 정보를 획득하는 제1 촬영부와;
    로봇의 암에 설치되어 상기 제1 위치보다 상기 대상물에 근접한 제2 위치에서 상기 대상물의 이미지 및 뎁스 정보를 포함하는 상기 대상물의 3차원 위치 정보를 획득하는 제2 촬영부와;
    상기 로봇의 상기 암에 설치된 이펙터가 상기 대상물을 파지하기 위한 제1 자세를 제1 파지 자세로 정의하고, 상기 이펙터가 상기 대상물을 파지하기 위한 제2 자세를 제2 파지 자세로 정의할 때,
    상기 제1 촬영부에 의해 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 제1 파지 자세를 취하도록 하기 위한 제1 정보를 생성하고, 상기 이펙터가 상기 제1 파지 자세를 취한 이후, 상기 제2 위치에서 상기 제2 촬영부에 의해 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 제1 파지 자세를 보정한 상기 제2 파지 자세를 취하도록 하기 위한 제2 정보를 생성하는 추정부;
    를 포함하는 로봇 제어 장치.
  2. 제1항에 있어서,
    상기 추정부는 상기 이펙터에 의한 상기 대상물의 파지 여부를 판별하고,
    상기 추정부는 상기 이펙터에 의한 상기 대상물의 파지가 실패한 것으로 판별되면, 상기 제1 촬영부와 상기 대상물 사이의 경유 지점으로 상기 로봇을 후퇴시키며,
    상기 로봇에 설치된 상기 제2 촬영부는 상기 경유 지점으로 후퇴한 상기 로봇에 의해 상기 제2 위치에 재배치되고,
    상기 제2 촬영부는 재배치된 상기 제2 위치에서 상기 타겟 대상물의 3차원 위치 정보를 재 획득하는
    로봇 제어 장치.
  3. 제2항에 있어서,
    상기 경유 지점으로 후퇴한 상기 이펙터가 상기 대상물을 파지하기 위한 자세를 제3 파지 자세로 정의할 때,
    상기 추정부는, 상기 제2 위치에 재 배치된 상기 제2 촬영부에 의해 상기 대상물이 탐지되면, 상기 제2 촬영부에 의해 재 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 이펙터가 상기 제3 파지 자세를 취하도록 하기 위한 정보를 생성하고,
    상기 이펙터는 상기 제3 파지 자세로 상기 타겟 대상물을 재 파지 시도하는
    로봇 제어 장치.
  4. 제2항에 있어서,
    상기 대상물의 파지를 실패한 상기 로봇이 후퇴한 상기 경유 지점은 상기 로봇이 상기 제1 촬영부에 대해 상기 대상물을 가리는 위치이고,
    상기 추정부는 상기 제2 위치에 재 배치된 상기 제2 촬영부에 의해 상기 대상물이 미탐지되면, 다른 대상물을 탐지하기 위해 제1 촬영부가 상기 다른 대상물의 3차원 위치 정보를 획득할 수 있도록, 상기 제1 촬영부에 의해 촬영되는 설정 영역으로부터 상기 로봇을 도피시키는
    로봇 제어 장치.
  5. 제1항에 있어서,
    상기 제1 촬영부 및 상기 제2 촬영부 중 적어도 하나는 상기 대상물에 대한 이미지와 뎁스(depth) 정보를 획득하는 RGB-D 센서를 포함하고,
    상기 추정부는 상기 제1 촬영부에 의해 획득된 제1 이미지와 제1 뎁스 정보를 이용해서 상기 제1 정보를 생성하며,
    상기 추정부는 상기 제2 촬영부에 의해 획득된 제2 이미지와 제2 뎁스 정보를 이용해서 상기 제2 정보를 생성하는
    로봇 제어 장치.
  6. 제1항에 있어서,
    상기 제1 촬영부와 상기 제2 촬영부 중 적어도 하나를 상기 로봇에 설치하기 위한 착탈부가 마련되고,
    상기 착탈부는 상기 이펙터(end effector)가 형성된 상기 로봇의 단부에 착탈 가능하게 형성되며,
    제1 인터페이스부와 제2 인터페이스부 중 적어도 하나가 마련되고,
    상기 제1 인터페이스부는 상기 제1 촬영부 및 상기 제2 촬영부로부터 출력된 정보를 상기 추정부에 유선 또는 무선으로 제공하며,
    상기 제2 인터페이스부는 상기 추정부에서 생성된 상기 제1 정보 및 상기 제2 정보 중 적어도 하나를 상기 로봇에 유선 또는 무선으로 제공하는
    로봇 제어 장치.
  7. 제1항에 있어서,
    상기 제1 촬영부는 상기 제1 촬영부와 상기 대상물 사이의 경유 지점의 도출을 위해 필요한 상기 대상물의 위치를 상기 제1 위치에서 파악하거나, 상기 제1 촬영부와 상기 대상물 사이의 경유 지점에서 상기 로봇의 암(arm)이 취해야 할 제1 자세의 도출에 필요한 상기 대상물의 자세에 해당하는 타겟 자세를 상기 제1 위치에서 파악할 수 있는 제1 분해능을 갖게 형성되고,
    상기 제2 촬영부는 상기 로봇의 암(arm)이 상기 대상물을 처리하는데 필요한 제2 자세의 도출을 위해 필요한 상기 타겟 자세를 상기 제2 위치에서 파악할 수 있는 제2 분해능을 갖게 형성된
    로봇 제어 장치.
  8. 제1항에 있어서,
    상기 제1 정보는 상기 대상물에 대면되는 위치에서 상기 로봇의 암(arm)이 취해야할 제1 자세에 관한 정보를 포함하고,
    상기 제2 정보는 상기 대상물을 처리하기 위해 상기 암이 취해야할 제2 자세에 관한 정보를 포함하며,
    상기 제2 자세는 상기 제1 자세에 포함된 오차가 보정된 보정 자세에 해당되며,
    상기 제1 자세 및 상기 제2 자세 중 적어도 하나는 로봇 좌표계를 기준으로 3차원 위치 정보, 피치(pitch) 정보, 롤(roll) 정보, 요(yaw) 정보 중 적어도 하나를 포함하는
    로봇 제어 장치.
  9. 제1항에 있어서,
    상기 대상물의 중심을 통과하고 상기 대상물의 표면에 수직하게 연장되는 가상축이 정의될 때,
    상기 제1 정보에 의해 상기 로봇은 상기 이펙터(end effector)가 임의의 위치로부터 상기 가상축 상의 경유 지점에 도달하도록 움직이고,
    상기 제2 정보에 의해 상기 가상축이 보정되고, 상기 로봇은 상기 이펙터가 보정된 가상축을 따라가면서 상기 대상물에 도달하도록 상기 이펙터를 움직이는
    로봇 제어 장치.
  10. 제1항에 있어서,
    상기 추정부는 상기 제1 촬영부 및 상기 제2 촬영부 중 적어도 하나에서 촬영된 이미지에 딥러닝 알고리즘을 적용하여 상기 대상물의 윤곽선 정보를 추출하고,
    추출된 상기 윤곽선 정보를 이용해서 상기 이미지 내에 배치된 대상물의 자세를 추정하는
    로봇 제어 장치.
  11. 제1항에 있어서,
    상기 제1 촬영부 및 상기 제2 촬영부는 상기 대상물의 이미지와 뎁스 정보를 상기 추정부에 제공하고,
    상기 추정부는 상기 이미지의 분석을 통해 상기 대상물의 윤곽선 정보를 추출하며,
    상기 추정부는 상기 윤곽선 정보 내에 서로 이격된 복수의 가상점을 설정하고,
    상기 추정부는 상기 뎁스 정보의 분석을 통해 상기 제1 촬영부 또는 상기 제2 촬영부를 기준으로 하는 상기 가상점 각각의 뎁스를 분석하며,
    상기 추정부는 상기 분석된 각 가상점의 뎁스를 이용해서 상기 대상물의 자세를 추정하고,
    상기 추정부는 상기 추정된 상기 대상물의 자세를 이용해서 상기 제1 정보 또는 상기 제2 정보를 생성하는
    로봇 제어 장치.
  12. 제1항에 있어서,
    상기 추정부는 상기 제2 촬영부에서 촬영된 제2 이미지의 분석을 통해 상기 대상물의 중심을 추정하고,
    상기 추정부는 상기 대상물의 중심으로부터 연장되고 상기 대상물의 표면에 직교하는 가상선 정보를 이용해서 상기 제2 정보를 생성하는
    로봇 제어 장치.
  13. 제1항에 있어서,
    상기 제1 촬영부는 복수의 상기 대상물이 포함된 설정 영역이 촬영된 제1 이미지를 상기 추정부에 제공하고,
    상기 추정부는 상기 제1 이미지의 분석을 통해 상기 설정 영역 내에 존재하는 복수의 상기 대상물 중 하나를 타겟으로 선택하고, 상기 타겟에 기초한 상기 제1 정보 및 상기 제2 정보 중 적어도 하나를 생성하며,
    상기 추정부는 선택된 타겟에 대한 상기 로봇의 처리가 완료되면, 이전 타겟과 가장 가까운 위치에 배치된 대상물을 다음 타겟으로 선택하는
    로봇 제어 장치.
  14. 제1항에 있어서,
    상기 제1 촬영부는 복수의 상기 대상물이 포함된 설정 영역이 촬영된 제1 이미지 및 상기 설정 영역에 대한 뎁스 정보를 상기 추정부에 제공하고,
    상기 추정부는 상기 제1 이미지에 포함된 복수의 대상물 중 상기 제1 촬영부에 대한 뎁스가 가장 짧은 특정 대상물을 기초로 상기 제1 정보 및 상기 제2 정보 중 적어도 하나를 생성하며,
    상기 제1 촬영부에 가장 가깝게 배치된 대상물부터 상기 로봇에 의해 처리되는
    로봇 제어 장치.
  15. 로봇 제어 장치에 의해 수행되는 로봇 제어 방법에 있어서,
    로봇의 암에 설치된 이펙터가 대상물을 파지하기 위한 제1 자세를 제1 파지 자세로 정의하고, 상기 이펙터가 상기 대상물을 파지하기 위한 제2 자세를 제2 파지 자세로 정의할 때,
    제1 위치에서 제1 촬영부에 의해 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 제1 파지 자세를 취하도록 하기 위한 제1 정보를 생성하는 단계;
    상기 이펙터가 상기 제1 파지 자세를 취한 이후, 제2 위치에서 제2 촬영부에 의해 획득된 상기 대상물의 3차원 위치 정보를 이용하여 상기 제1 파지 자세를 보정한 상기 제2 파지 자세를 취하도록 하기 위한 제2 정보를 생성하는 단계
    를 포함하는 로봇 제어 방법.
KR1020210020294A 2020-02-28 2021-02-16 로봇 제어 장치 및 로봇 제어 방법 KR20210110191A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210020294A KR20210110191A (ko) 2020-02-28 2021-02-16 로봇 제어 장치 및 로봇 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200025155A KR102220304B1 (ko) 2020-02-28 2020-02-28 로봇 제어 장치 및 로봇 제어 방법
KR1020210020294A KR20210110191A (ko) 2020-02-28 2021-02-16 로봇 제어 장치 및 로봇 제어 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200025155A Division KR102220304B1 (ko) 2020-02-28 2020-02-28 로봇 제어 장치 및 로봇 제어 방법

Publications (1)

Publication Number Publication Date
KR20210110191A true KR20210110191A (ko) 2021-09-07

Family

ID=74731098

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200025155A KR102220304B1 (ko) 2020-02-28 2020-02-28 로봇 제어 장치 및 로봇 제어 방법
KR1020210020294A KR20210110191A (ko) 2020-02-28 2021-02-16 로봇 제어 장치 및 로봇 제어 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200025155A KR102220304B1 (ko) 2020-02-28 2020-02-28 로봇 제어 장치 및 로봇 제어 방법

Country Status (1)

Country Link
KR (2) KR102220304B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085463A1 (ko) * 2021-11-12 2023-05-19 한국전자기술연구원 스마트 물류 제어를 위한 데이터 처리방법 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9259838B1 (en) 2014-07-24 2016-02-16 Google Inc. Systems and methods for ground plane estimation
CN113001552B (zh) * 2021-03-16 2022-07-15 中国科学院自动化研究所 面向杂质性目标的机器人操作协同抓取方法、系统及设备
US20220355474A1 (en) * 2021-05-04 2022-11-10 Mujin, Inc. Method and computing system for performing robot motion planning and repository detection
KR102611537B1 (ko) * 2021-06-04 2023-12-08 한국전자통신연구원 초고품질의 디지털 데이터 생성 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190072285A (ko) 2017-12-15 2019-06-25 전자부품연구원 로봇의 학습 데이터 수집 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110095700A (ko) * 2010-02-19 2011-08-25 현대중공업 주식회사 작업대상물 픽업을 위한 산업용 로봇 제어방법
JP5670397B2 (ja) * 2012-08-29 2015-02-18 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
JP2020001127A (ja) * 2018-06-28 2020-01-09 勇貴 高橋 ピッキングシステム,ピッキング処理装置及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190072285A (ko) 2017-12-15 2019-06-25 전자부품연구원 로봇의 학습 데이터 수집 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085463A1 (ko) * 2021-11-12 2023-05-19 한국전자기술연구원 스마트 물류 제어를 위한 데이터 처리방법 및 장치

Also Published As

Publication number Publication date
KR102220304B1 (ko) 2021-02-25

Similar Documents

Publication Publication Date Title
KR20210110191A (ko) 로봇 제어 장치 및 로봇 제어 방법
US9868215B2 (en) Object pick-up system and method for picking up stacked objects
US7996114B2 (en) Workpiece picking device and method
EP3392002A1 (en) Information processing apparatus, measuring apparatus, system, interference determination method, and article manufacturing method
US9604364B2 (en) Picking apparatus and picking method
CN101152720B (zh) 工件取出装置
US9050722B2 (en) Pickup device capable of determining holding position and posture of robot based on selection condition
US8380342B2 (en) Workpiece removing device and method
US7957580B2 (en) Workpiece picking device
JP5849403B2 (ja) ロボットコントローラー、ロボット、及び、ロボットシステム
JP4565023B2 (ja) 物品取り出し装置
JP6855492B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
US9102063B2 (en) Robot apparatus
JP5815761B2 (ja) 視覚センサのデータ作成システム及び検出シミュレーションシステム
JP3064348B2 (ja) ロボット制御装置
US10377581B2 (en) Article conveying device using at least one sensor
US10434652B2 (en) Workpiece picking system
US11331799B1 (en) Determining final grasp pose of robot end effector after traversing to pre-grasp pose
JP7191569B2 (ja) 把持装置
JP2013184279A5 (ko)
JP4390758B2 (ja) ワーク取出し装置
JP7502003B2 (ja) 移動機械の移動軌跡のずれを取得する装置、及び方法
CN114074331A (zh) 一种基于视觉的无序抓取方法及机器人
JP2017170567A (ja) ワーク認識方法及びランダムピッキング方法
CN112996742B (zh) 起重机系统、起重机定位装置及起重机定位方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal