KR101772367B1 - 스테레오와 구조화된 광 처리의 결합 - Google Patents

스테레오와 구조화된 광 처리의 결합 Download PDF

Info

Publication number
KR101772367B1
KR101772367B1 KR1020177005619A KR20177005619A KR101772367B1 KR 101772367 B1 KR101772367 B1 KR 101772367B1 KR 1020177005619 A KR1020177005619 A KR 1020177005619A KR 20177005619 A KR20177005619 A KR 20177005619A KR 101772367 B1 KR101772367 B1 KR 101772367B1
Authority
KR
South Korea
Prior art keywords
image
environment
optical sensor
determining
texture pattern
Prior art date
Application number
KR1020177005619A
Other languages
English (en)
Other versions
KR20170031252A (ko
Inventor
커트 코놀리지
에탄 루블
Original Assignee
엑스 디벨롭먼트 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엑스 디벨롭먼트 엘엘씨 filed Critical 엑스 디벨롭먼트 엘엘씨
Publication of KR20170031252A publication Critical patent/KR20170031252A/ko
Application granted granted Critical
Publication of KR101772367B1 publication Critical patent/KR101772367B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • G06K9/00201
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Robotics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

스테레오와 구조화된 광 처리의 결합을 이용하여 깊이 정보를 결정하기 위한 방법 및 시스템이 제공된다. 예시적 방법은 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하고, 제1 이미지와 제2 이미지 사이의 대응하는 피처에 기초하여 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하는 단계를 포함한다. 또한, 본 방법은 텍스처 프로젝터가 공지의 텍스처 패턴을 투영하게 하고, 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하는 단계를 포함한다. 그리고 본 방법은 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 포인트를 결정하고, 공지의 텍스처 패턴에 대응하는 결정된 포인트에 기초하여 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하는 단계를 포함한다.

Description

스테레오와 구조화된 광 처리의 결합{COMBINATION OF STEREO AND STRUCTURED-LIGHT PROCESSING}
관련 출원에 대한 상호 참조
본 출원은 2014년 12월 29일자로 출원된 미국 특허 출원 제14/584,016호의 우선권을 주장하며, 그 내용은 본 명세서에 참고로 포함된다. 미국 특허 출원 제14/584,016호는 2014년 8월 29일자로 출원된 미국 가출원 제62/043,463호의 이득을 주장하며, 그 내용은 본 명세서에 참고로 포함된다.
파지 컴포넌트(gripping component)를 포함하는 로봇 조작기와 같은 로봇 시스템들은 물체들을 픽업하는 것 또는 이동시키는 것을 수반하는 애플리케이션들을 위해 이용될 수 있다. 예를 들어, 로봇 디바이스는 물체들로 컨테이너를 채우거나, 물체들의 스택을 생성하거나 또는 트럭 베드로부터 물체들을 언로딩하기 위해 이용될 수 있다. 일부 경우에, 물체들 전부는 동일한 타입을 가질 수 있다. 다른 경우에, 컨테이너 또는 트럭은 박스형 물품들, 캔들, 타이어들 또는 다른 스택 가능한 물체들과 같이 상이한 타입의 물체들의 혼합물을 포함할 수 있다. 이러한 로봇 시스템들은 상기 환경에서 물체들이 있는 곳의 미리 결정된 지식에 기초하여 물체들을 픽업하도록 로봇 조작기에 지시할 수 있다.
일부 예에서, 로봇 시스템은 3차원(3D) 장면 기하학의 표현을 결정하기 위해 컴퓨터 비전 기법들을 이용할 수 있다. 예로서, 로봇 시스템은 장면에서 하나 이상의 표면에 대한 깊이를 결정하기 위해 장면으로부터 관찰된 정보를 삼각 측량할 수 있다. 깊이 감지에 대한 한가지 접근법은 스테레오 이미지 처리를 이용하는 것이다. 이러한 접근법에 따르면, 서로에 대한 공지의 물리적 관계를 갖는 2개의 광학 센서는 서로 장면의 2개의 이미지를 캡처하는데 사용된다. 2개의 이미지 내의 대응하는 픽셀 값의 맵핑을 찾고 이들 공통 영역이 픽셀 공간에서 얼마나 멀리 떨어져 존재하는지를 계산함으로써, 컴퓨팅 디바이스는 삼각 측량을 이용하여 깊이 맵 또는 이미지를 결정할 수 있다. 깊이 맵 또는 깊이 이미지는 장면에서 물체의 표면의 거리와 관련되는 정보를 포함할 수 있다.
깊이 감지에 대한 또 다른 접근법은 구조화된 광 처리이다. 구조화된 광 처리의 주요 아이디어는 공지의 조명 패턴을 장면에 투영하고, 투영된 패턴을 포함한 장면의 이미지를 캡처하는 것이다. 예를 들어, 도 1에 도시된 바와 같이, 프로젝터(102)는 공지의 텍스처 패턴을 물체(104)에 투영할 수 있고, 광학 센서(106)(예를 들면, 카메라)는 물체(104)의 이미지(108)를 캡처할 수 있다. 컴퓨팅 디바이스는 그리고 나서 이미지 내의 영역과 투영된 패턴의 특정 부분 간의 대응을 결정할 수 있다. 프로젝터(102)의 위치, 광학 센서(106)의 위치, 및 이미지(108) 내의 패턴의 특정 부분에 대응하는 영역의 로케이션이 주어지면, 컴퓨팅 디바이스는 그리고 나서 물체(104)의 표면에 대한 깊이를 추정하기 위해 삼각 측량을 이용할 수 있다.
전형적으로 프로젝터(102) 및 광학 센서(106)는 기준선을 따라 수평으로 변위되고, 프로젝터(102) 및 광학 센서(106)는 교정된다. 교정 프로세스는 광학 센서(106) 내의 픽셀을 프로젝터(102) 내의 픽셀의 1차원 커브로 맵핑할 수 있다. 센서 이미지 및 프로젝터 이미지가 정류되면, 이러한 커브는 수평 라인의 형태를 취할 수 있다. 이러한 경우에, 투영된 텍스처 패턴에의 매칭에 대한 서치는 이러한 라인을 따라 진행할 수 있어, 프로세스를 더 효율적이게 할 수 있다.
구조화된 광 처리에 있어서, 투영된 부분의 그 대응하는 부분과 이미지 영역을 매칭하는 프로세스는 패턴 디코딩으로서 공지된다. 패턴 디코딩 동안, 컴퓨팅 디바이스는 투영된 패턴의 유일한 부분을 포함한 이미지에서의 영역을 수평으로 서치한다. 실제로, 내부에서 컴퓨팅 디바이스가 서치한 이미지 내의 수평 영역(즉, 서치 공간)의 사이즈는, 패턴이 이미지의 모든 부분에 대해, 그 거리에 걸쳐서 유일할 것을 요구할 수 있다. 예를 들어, 투영된 패턴은 패턴이 128 픽셀과 같은, 일정한 수평 매칭 범위에 걸쳐서 일정한 사이즈 패치(예를 들면, 19x19 픽셀)에 대해 유일하도록 반복 부분으로 구성될 수 있다. 따라서, 서치 공간은 적어도 128 픽셀인 영역일 수 있다.
구조화된 광 처리에 있어서, 패턴 디코딩은 컴퓨팅 디바이스가 투영된 패턴의 특정 부분에 대응하는 영역에 대해, 전체 이미지, 또는 전체 선형 영역을 서치할 필요가 없으면 더 쉽게 만들어질 수 있다. 본 명세서에서 설명된 바와 같이, 컴퓨팅 디바이스는 이미지에서 구조화된 광 패턴을 검출하기 위한 서치 공간을 제한하기 위해 스테레오 이미징 결과를 이용할 수 있다. 예를 들어, 컴퓨팅 디바이스는 장면에서 표면에 대한 초기 깊이 추정치를 결정하기 위해, 스테레오 이미징 시스템으로서 함께 기능하는 2개의 광학 센서에 의해 캡처된 이미지를 사용할 수 있다. 컴퓨팅 디바이스는 그리고 나서 초기 깊이 추정치를 이용하여 작은 부분에 대한 선형 서치를 깊이 추정치 정도로 제한할 수 있다. 또한, 컴퓨팅 디바이스는 그리고 나서 표면에 대한 또 다른 깊이 추정치를 결정하기 위해 구조화된 광 처리를 이용할 수 있다. 바람직하게는, 패턴 디코딩을 수행하기 이전에, 컴퓨팅 디바이스는 초기 깊이 추정치에 기초하여, 텍스처 패턴의 특정 부분을 서치하기 위한 투영된 패턴의 이미지의 영역을 결정할 수 있다. 일부 예에서, 패턴 디코딩을 위한 서치 공간을 제한하기 위해 스테레오 깊이 추정치를 이용하는 것은, 컴퓨팅 디바이스가 더 작은 선형 영역에 걸쳐서 유일한 텍스처 패턴을 사용하며, 그로 인해 결과적인 깊이 추정치의 공간 해상도를 증가시킬 수 있게 한다.
일례에서, 컴퓨팅 디바이스에 의해, 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하는 단계를 포함할 수 있는 방법이 제공된다. 복수의 이미지는 제1 광학 센서의 제1 관점으로부터 지각된 환경의 제1 이미지 및 제2 광학 센서의 제2 관점으로부터 지각된 환경의 제2 이미지를 포함할 수 있다. 본 방법은, 컴퓨팅 디바이스에 의해, 제1 이미지와 제2 이미지 사이의 대응하는 피처에 기초하여 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하는 단계를 추가로 포함할 수 있다. 또한, 본 방법은, 컴퓨팅 디바이스에 의해, 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하는 단계를 포함할 수 있다. 덧붙여, 본 방법은 컴퓨팅 디바이스에 의해 그리고 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하는 단계를 포함할 수 있다. 본 방법은 또한, 컴퓨팅 디바이스에 의해, 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 포인트를 결정하는 단계를 포함할 수 있다. 그리고 본 방법은 컴퓨팅 디바이스에 의해, 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 결정된 포인트에 기초하여 환경 내의 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하는 단계를 포함할 수 있다.
또 다른 예에서, 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 컴퓨팅 디바이스가 기능을 수행하게 하는 명령어들이 저장되어 있는 비 일시적 컴퓨터 판독가능 매체가 기재되어 있다. 기능은 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하는 것을 포함할 수 있다. 복수의 이미지는 제1 광학 센서의 제1 관점으로부터 지각된 환경의 제1 이미지 및 제2 광학 센서의 제2 관점으로부터 지각된 환경의 제2 이미지를 포함할 수 있다. 기능은 제1 이미지와 제2 이미지 사이의 대응하는 피처에 기초하여 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하는 것을 추가로 포함할 수 있다. 기능은 또한 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하는 것을 포함할 수 있다. 게다가, 기능은 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하는 것을 포함할 수 있다. 기능은 또한 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 포인트를 결정하는 것을 포함할 수 있다. 그리고 기능은 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 결정된 포인트에 기초하여 환경 내의 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하는 것을 포함할 수 있다.
또 다른 예에서, 적어도 2개의 광학 센서, 텍스처 프로젝터, 및 컴퓨팅 디바이스를 포함하는 시스템이 제공된다. 텍스처 프로젝터는 공지의 텍스처 패턴을 환경에 투영하도록 구성될 수 있다. 컴퓨팅 디바이스는 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하도록 구성될 수 있다. 복수의 이미지는 제1 광학 센서의 제1 관점으로부터 지각된 환경의 제1 이미지 및 제2 광학 센서의 제2 관점으로부터 지각된 환경의 제2 이미지를 포함할 수 있다. 덧붙여, 컴퓨팅 디바이스는 제1 이미지와 제2 이미지 사이의 대응하는 피처에 기초하여 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하도록 구성될 수 있다. 컴퓨팅 디바이스는 또한 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하도록 구성될 수 있다. 또한, 컴퓨팅 디바이스는 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하도록 구성될 수 있다. 컴퓨팅 디바이스는 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 포인트를 결정하도록 추가로 구성될 수 있다. 그리고 컴퓨팅 디바이스는 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 결정된 포인트에 기초하여 환경 내의 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하도록 구성될 수 있다.
또 다른 예에서, 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하기 위한 수단을 포함한 시스템이 제공된다. 복수의 이미지는 제1 광학 센서의 제1 관점으로부터 지각된 환경의 제1 이미지 및 제2 광학 센서의 제2 관점으로부터 지각된 환경의 제2 이미지를 포함할 수 있다. 시스템은 또한 제1 이미지와 제2 이미지 사이의 대응하는 피처에 기초하여 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하기 위한 수단을 포함할 수 있다. 시스템은 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하기 위한 수단을 추가로 포함할 수 있다. 덧붙여, 시스템은 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하기 위한 수단을 포함할 수 있다. 게다가, 시스템은 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 포인트를 결정하기 위한 수단을 포함할 수 있다. 그리고 시스템은 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 결정된 포인트에 기초하여 환경 내의 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하기 위한 수단을 포함할 수 있다.
상기 요약은 단지 예시적일 뿐이며, 어떠한 방식으로도 제한하고자 의도되지 않는다. 위에서 설명된 예시적인 양태, 실시 예, 및 피처에 추가하여, 도면과 다음의 상세한 설명 및 첨부 도면들을 참조하여 추가 양태, 실시 예, 및 피처가 명백해질 것이다.
도 1은 구조화된 광 처리에 대한 예시적인 접근법의 개념적 설명이다.
도 2a는 예시적인 실시 예에 따른, 이동 가능 카트 상에 장착된 로봇 암을 도시한다.
도 2b는 예시적인 실시 예에 따른, 로봇 디바이스를 예시하는 기능 블록도이다.
도 3a는 예시적인 실시 예에 따른, 로봇 암 및 박스들의 스택을 도시한다.
도 3b는 예시적인 실시 예에 따른, 로봇 암 상에 장착된 센서에 의한 도 3a의 박스들의 스택의 스캐닝을 도시한다.
도 3c는 예시적인 실시 예에 따른, 박스를 이동시키는 도 3a의 로봇 암을 도시한다.
도 4는 예시적인 실시 예에 따른, 방법의 블록도이다.
도 5는 예시적인 이미징 시스템의 개념적 설명이다.
도 6은 또 다른 예시적인 이미징 시스템의 개념적 설명이다.
도 7a 및 7b는 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 이미지의 영역을 결정하는 개념적 설명이다.
도 8은 예시적인 실시 예에 따른, 또 다른 방법의 블록도이다.
도 9는 예시적인 실시 예에 따른, 컴퓨팅 디바이스에 의해 실행될 수 있는 예시적인 기능의 블록도이다.
예시적인 방법 및 시스템이 본 명세서에 설명된다. 본 명세서에 설명된 임의의 예시적인 실시 예 또는 피처는 반드시 다른 실시 예들 또는 피처들에 비해 바람직하거나 유리한 것으로 해석되지는 않는다. 본 명세서에 기술된 예시적인 실시 예는 제한하려는 것은 아니다. 개시된 시스템 및 방법의 소정 양태들은 매우 다양한 상이한 구성들로 배열되고 결합될 수 있으며, 그 전부가 본 명세서에서 고려됨을 쉽게 이해할 수 있다.
또한, 도면들에 도시된 특정 배열들은 제한하는 것으로서 간주되어서는 안 된다. 다른 실시 예들은 주어진 도면에 도시된 각각의 요소를 더 많이 또는 더 적게 포함할 수 있다는 점이 이해되어야 한다. 또한, 예시된 요소들 중 일부는 결합되거나 생략될 수 있다. 또한, 예시적인 실시 예는 도면들에 예시되지 않은 요소들을 포함할 수 있다.
3차원 장면 기하학적 구조의 해상도를 향상시키는 것을 도울 수 있는 방법 및 장치가 본 명세서에서 제공된다. 다양한 실시 예들에 따르면, 컴퓨팅 디바이스는 이미지 내의 구조화된 광 패턴의 일부를 검출하기 위한 서치 공간을 제한하기 위해 스테레오 이미징 결과를 이용할 수 있다. 일례에서, 컴퓨팅 디바이스는 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신할 수 있다. 예를 들어, 복수의 이미지는 제2 광학 센서의 제2 관점으로부터 캡처된 제2 이미지와 마찬가지로 제1 광학 센서의 제1 관점으로부터 캡처된 제1 이미지를 포함할 수 있다. 컴퓨팅 디바이스는 그리고 나서 제1 이미지와 제2 이미지 사이의 대응하는 피처에 기초하여 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정할 수 있다. 예로서, 컴퓨팅 디바이스는 2개의 이미지 내의 대응하는 픽셀 값의 맵핑을 결정할 수 있고, 2개의 광학 센서 간의 물리적 관계에 기초하여, 컴퓨팅 디바이스는 삼각 측량을 이용하여 깊이 맵을 결정할 수 있다.
또한, 컴퓨팅 디바이스는 그리고 나서, 구조화된 광 프로세스에 대한 입력으로서 제1 깊이 추정치를 이용할 수 있다. 예로서, 컴퓨팅 디바이스는 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하고, 환경의 적어도 하나의 이미지 및 공지의 텍스처 패턴을 수신할 수 있다. 컴퓨팅 디바이스는 또한, 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 이미지의 영역을 결정할 수 있다. 다시 말해서, 전체 이미지의 패턴 디코딩을 수행하는 것보다 오히려, 컴퓨팅 디바이스는 공지의 텍스처 패턴의 특정 부분을 포함할 가능성이 가장 높은 이미지의 영역을 결정하기 위해 제1 깊이 추정치를 이용할 수 있다. 본 명세서에서 설명된 바와 같이, 컴퓨팅 디바이스는 제1 깊이 추정치, 및 텍스처 프로젝터와 이미지를 캡처하는데 사용된 광학 센서 간의 물리적 관계에 기초하여 영역을 결정할 수 있다. 후속하여, 컴퓨팅 디바이스는 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 포인트를 결정하고, 결정된 대응하는 포인트를 이용하여 제2 깊이 추정치를 계산할 수 있다.
추가로 하기에 설명된 바와 같이, 예시적 방법에 대한 다수의 변형이 고려된다. 예를 들어, 일부 예에서, 공지의 텍스처 패턴은 스테레오 이미징에 사용된 이미지가 캡처되기 전에 투영될 수 있다. 게다가, 구조화된 광 처리에 사용된 적어도 하나의 이미지는 스테레오 이미지 처리에 사용된 하나 이상의 이미지를 포함할 수 있고, 대안적으로, 제3 광학 센서를 사용하여 캡처된 하나 이상의 이미지를 포함할 수 있다. 덧붙여, 일부 예에서, 2개의 상이한 광학 센서에 의해 캡처된 2개의(또는 그 이상의) 이미지 내의 구조화된 광 패턴을 서치하는 것은, 구조화된 광 처리를 이용하여 결정된 깊이 추정치의 정확도 및 해상도를 향상시킬 수 있다. 또한, 일부 예에서, 컴퓨팅 디바이스는 제1 깊이 추정치(스테레오 깊이 추정치)와 제2 깊이 추정치(구조화된 광 추정치)를 결합시킨 제3 깊이 추정치를 결정할 수 있다.
일부 예에서, 패턴 디코딩을 위한 서치 공간을 제한하기 위해 스테레오 깊이 추정치를 이용하는 것은, 컴퓨팅 디바이스가 더 작은 영역에 걸쳐서 유일한 텍스처 패턴을 사용하게 할 수 있으며, 그로 인해 결과적인 깊이 추정치의 공간 해상도를 증가시킨다. 예로서, 한 구현예에 있어서, 패턴의 블록(예를 들면, 19x19 픽셀 블록)은 매칭이 있는지 결정하기 위해 센서의 수평 영역(예를 들면, 128개의 상이한 픽셀 위치)을 가로질러 매칭될 수 있다. 매칭의 위치는 투영된 패턴 패치의 연관된 깊이를 나타낼 수 있다. 따라서, 픽셀 블록이 매칭 영역만큼 긴 패턴의 임의의 수평 영역 내의 임의의 다른 블록에 유일하고 매우 비슷하지 않은 것이 바람직하다. 매칭 영역이 길어짐에 따라, 픽셀 블록의 사이즈가 종종 증가되어 유일성 및 비유사성을 보장한다. 따라서, 매칭 영역의 감소는 더 작은 매칭 블록, 잘못된 긍정의 양호한 거절(better rejection of false positives), 계산된 깊이에 대한 양호한 공간 해상도를 허용한다. 그러므로, 기술된 방법 및 시스템은 품질 및 공간 해상도 둘 다의 관점에서 구조화된 광 깊이 추정치를 향상시키는 것을 도울 수 있다.
다양한 추가적 예는 아래에 기술되고, 그러므로 상기 예는 제한하려는 것은 아니다. 이제부터, 다양한 실시 예에 대해 상세히 언급할 것이며, 이 실시 예들의 예는 첨부 도면에 예시되어 있다. 다음의 상세한 설명에서, 본 개시내용 및 설명된 실시 예들의 철저한 이해를 제공하기 위해서 다수의 특정한 상세 내용이 제시된다. 그러나, 본 개시내용은 이러한 특정한 상세 내용 없이 실시될 수 있다. 다른 경우들에 있어서, 실시 예들의 양태들을 불필요하게 모호하게 하지 않기 위해 공지의 방법, 절차, 컴포넌트 및 회로에 대해서는 상세히 설명되지 않았다.
덧붙여, 본 개시내용의 일부가 박스 및/또는 다른 물체의 조작(예를 들면, 로딩 및/또는 언로딩)을 용이하게 하기 위해 기술된 방법 및 장치를 구현하는 것을 언급할지라도, 본 방법 및 장치는 다른 환경에서도 구현될 수 있다. 예를 들어, 방법 및 장치는 일반적으로 환경의 3D 기하학적 구조 또는 환경에서의 물체의 3D 기하학적 구조를 결정하기 위해서 임의의 환경에서 구현될 수 있다. 예로서, 본 방법 및 장치는 집의 방 또는 빌딩 사무실의 3D 기하학적 구조 또는 아마도 경기장, 회의 센터, 또는 쇼핑 몰의 일부의 3D 기하학적 구조를 결정하는 것을 돕기 위해 구현될 수 있다. 유사하게, 본 방법 및 장치는 또한 야외 환경에서 이용될 수 있다.
다양한 실시 예들에 따르면, 적재 컨테이너 내로 또는 차량으로부터와 같이, 박스들 및/또는 다른 물체들의 자동화된 로딩 및/또는 언로딩을 위한 방법들 및 시스템들이 본 명세서에 설명된다. 일부 예시적인 실시 예에서, 박스들 또는 물체들은 자동적으로 정리될 수 있고 팰릿 상에 배치되고(팔레타이징) 또는 자동적으로 팰릿으로부터 제거된다(디팔레타이징). 예를 들어, 트럭의 로딩/언로딩 프로세스 및/또는 물체의 팔레타이징/디팔레타이징 프로세스를 자동화하는 것은 많은 산업적 및 비즈니스 이점을 제공할 수 있다.
다양한 실시 예들에 따르면, 트럭의 로딩/언로딩 프로세스 및/또는 물체의 팔레타이징/언-팔레타이징 프로세스를 자동화하는 것은 물체들을 이동시키거나 다른 기능들을 수행하기 위해 하나 이상의 로봇 디바이스를 통합하는 것을 포함할 수 있다. 일부 실시 예들에서, 로봇 디바이스는 휠형 베이스(wheeled base), 홀로노믹 베이스(holonomic base)(예를 들어, 임의의 방향으로 이동할 수 있는 베이스), 또는 천장, 벽 또는 바닥 상의 레일들과 로봇 디바이스를 결합함으로써 이동식으로 될 수 있다. 일부 실시 예들에서, 베이스는 상승된 베이스일 수 있다.
일부 예들에서, 하나 이상의 센서, 하나 이상의 컴퓨터, 및 하나 이상의 로봇 암을 포함하는 시스템이 설명된다. 센서들은 시각 데이터 및/또는 3차원(3D) 깊이 정보를 캡처하기 위해서 하나 이상의 물체를 포함하는 환경을 스캔할 수 있다. 그 다음에, 스캔들로부터의 데이터는 디지털 환경 재구성(digital environment reconstruction)을 제공하기 위해서 더 큰 영역들의 표현으로 통합될 수 있다. 추가적인 예들에서, 재구성된 환경은 픽업할 물체들을 식별하고, 물체들에 대한 픽킹 위치들을 결정하고, 및/또는 하나 이상의 로봇 암 및/또는 이동형 베이스에 대한 무충돌 궤적들을 계획하기 위해 이용될 수 있다.
본 명세서에서 이용되는 바와 같이, "박스들"이라는 용어는, 팰릿 상에 배치되거나 또는 트럭이나 컨테이너 상에 로딩되거나 트럭이나 컨테이너로부터 언로딩될 수 있는 임의의 물체 또는 물품을 지칭할 것이다. 예를 들어, 직사각형 입체(rectangular solids) 외에, "박스"는 깡통, 드럼, 타이어 또는 임의의 다른 "단순한" 형상의 기하학적 물품을 지칭할 수 있다. 덧붙여, "로딩" 및 "언로딩"은 각각 다른 것을 뜻하는데 사용될 수 있다. 예를 들어, 예가 트럭을 로딩하기 위한 방법을 설명하는 경우, 실질적으로 동일한 방법이 또한 트럭을 언로딩하기 위해서도 이용될 수 있다는 점이 이해되어야 한다. 본 명세서에서 이용된 것처럼, "팔레타이징"은 팰릿 상의 박스들이 적재되거나 팰릿 상에 운반될 수 있는 방식으로 박스들을 로딩하고 박스들을 적재 또는 배열하는 것을 지칭하며, "디팔레타이징"이라는 용어는 제거하는 것을 지칭한다. 게다가, 용어 "팔레타이징" 및 "디팔레타이징"은 각각 다른 것을 뜻하는데 사용될 수 있다.
다양한 실시 예들에 따르면, 로봇 조작기는 홀로노믹 카트(예를 들어, 카트가 임의의 방향으로 이동하는 것을 허용하는 휠들을 갖는 카트) 상에 장착될 수 있다. 도 2a는 로봇 조작기를 포함하는 예시적인 홀로노믹 카트를 묘사한다. 일부 실시 예들에서, 이동 가능 카트(212)는 카트(212) 상에 장착된 로봇 암(202)을 포함할 수 있다. 로봇 암(202)은 환경 내의 물체들을 파지하기 위한 파지 컴포넌트(204)를 포함할 수 있다. 카트는 하나 이상의 휠(214)을 포함할 수 있는데, 이러한 휠들은 2개의 자유도로 동작하는 홀로노믹 휠들일 수 있다. 추가 실시 예들에서, 랩 어라운드 전방 컨베이어 벨트(210)는 홀로노믹 카트(212) 상에 포함될 수 있다. 일부 예들에서, 랩 어라운드 전방 컨베이어 벨트(210)는, 트럭 컨테이너나 팰릿으로부터 박스들을 언로딩할 때 또는 트럭 컨테이너나 팰릿으로 박스들을 로딩할 때 로봇이 그것의 그리퍼를 좌측이나 우측으로 회전시킬 필요가 없게 한다.
다른 예들에서, 로봇 조작기는 상이한 타입의 이동 가능 장치 상에 장착될 수도 있고 또는 결코 이동 가능 베이스 상에 장착되지 않을 수도 있다. 예를 들어, 로봇 조작기는 공장 설정 내의 고정된 위치에 장착될 수 있다. 다른 예시적인 실시 예들에서, 하나 이상의 로봇 조작기는 트럭이나 컨테이너의 레일들 상에 장착될 수 있다. 이러한 예들에서, 로봇 조작기는 트럭이나 컨테이너에 로딩하거나 언로딩하는데 이용될 수 있다.
도 2b는 예시적인 실시 예에 따르면, 로봇 디바이스(200)를 설명하는 기능 블록도이다. 로봇 디바이스(200)는 전원(250)와 마찬가지로, 기계 시스템(220), 감지 시스템(230), 제어 시스템(240)과 같은 다양한 서브시스템을 포함할 수 있다. 로봇 디바이스(200)는 더 많거나 더 적은 서브시스템들을 포함할 수 있고, 각각의 서브시스템은 다수의 요소를 포함할 수 있다. 또한, 로봇 디바이스(200)의 서브시스템들 및 요소들 각각은 상호접속될 수 있다. 따라서, 로봇 디바이스(200)의 설명된 기능들 중 하나 이상은 추가적인 기능적 또는 물리적 컴포넌트들로 분할되거나, 또는 더 적은 기능적 또는 물리적 컴포넌트들로 결합될 수 있다. 일부 예에서, 추가적 기능 및/또는 물리적 컴포넌트는 도 2a 및 2b에 의해 설명된 예에 추가될 수 있다.
기계적 시스템(220)은 로봇 암(202), 그리퍼(204), 컨베이어 벨트(210), (이동 가능 또는 홀로노믹) 카트(212), 및 하나 이상의 휠(214)을 포함하는, 도 2a와 관련하여 전술한 컴포넌트를 포함할 수 있다. 기계적 시스템(220)은 추가적으로 모터(222)를 포함할 수 있으며, 이 모터는 전기 전력에 의해 전력 공급된 전기 모터일 수 있거나, 또는 가스 기반 연료 또는 태양열 발전(solar power)과 같은 다수의 상이한 에너지 소스에 의해 전력 공급될 수 있다. 덧붙여, 모터(222)는 전원(250)으로부터 전력을 수신하도록 구성될 수 있다. 전원(250)은 로봇 디바이스(200)의 다양한 컴포넌트들에 전력을 제공할 수 있으며, 예를 들어 재충전가능 리튬 이온 또는 납산 배터리(lead-acid battery)를 나타낼 수 있다. 예시적인 실시 예에서, 이러한 배터리들의 하나 이상의 뱅크는 전기 전력을 제공하도록 구성될 수 있다. 다른 전력 공급 재료들 및 타입들도 또한 가능하다.
감지 시스템(230)은, 로봇 암(202)이 이동함에 따라 환경에 대한 정보를 감지하는 2D 센서들 및/또는 3D 깊이 센서들일 수 있는, 센서(206) 및 센서(208)와 같이, 로봇 암(202)에 부착된 하나 이상의 센서를 이용할 수 있다. 감지 시스템은 박스들을 효율적으로 픽킹하고 이동시키기 위해 제어 시스템(240)(예를 들어, 모션 계획 소프트웨어를 구동시키는 컴퓨터)에 의해 이용될 수 있는 환경에 대한 정보를 결정할 수 있다. 제어 시스템(240)은 디바이스 상에 위치할 수 있거나, 디바이스와의 원격 통신할 수 있다. 추가 예들에서, 전방 네비게이션 센서(216) 및 후방 네비게이션 센서(218)와 같이 이동형 베이스 상에 장착된 하나 이상의 2D 또는 3D 센서, 및 센서(206) 및 센서(208)와 같이 로봇 암 상에 장착된 하나 이상의 센서로부터의 스캔들은, 트럭 또는 다른 컨테이너의 측면, 바닥, 천장, 및/또는 전방 벽을 포함하는, 환경의 디지털 모델을 구축하도록 통합될 수 있다. 이러한 정보를 이용하여, 제어 시스템(240)은 이동형 베이스가 언로딩이나 로딩을 위한 위치로 네비게이트하게 할 수 있다.
추가적인 예들에서, 평면 표면 정보는 벽, 바닥/천장, 및/또는 박스 면을 모델링하기 위해 3D 센서들로부터 추출될 수 있다. 바닥을 모델링한 이후에, 바닥 평면 상으로의 물체들의 투영은 박스들과 같은 장애물들 및/또는 타겟 물체들의 세그먼트화를 가능하게 할 수 있다. 바닥 평면 투영은 평면들로서 정확하게 모델링되지 않을 수 있는, 컨테이너나 트럭의 주름진 측면들을 모델링하는데 또한 이용될 수 있다. 추가 예들에서, 측벽 각도, 바닥 평면 롤 및 피치, 및/또는 측벽들로부터의 거리는 충돌 없이 이동형 베이스를 컨테이너 내로 조종하는데 이용될 수 있다. 단일 라인 스캔보다는 오히려 확장된 3D 정보를 이용하는 것은 네비게이션 정보의 추출을 견고하게 하는 것을 도울 수 있다. 예를 들어, 측벽들은 3D 센서에 의해 캡처되는 수직 범위를 가질 수 있다. 단일 라인의 깊이 정보를 이용하는 스캔 시스템들은 더 적은 정보를 취득하기 때문에 수직으로 및/또는 덜 견고하게 스캔하는 경우에 더 느릴 수 있다. 추가적인 예들에서, 전방 평면 모델링은 트럭 언로딩 시에 픽킹할 물체들의 다음 그룹까지의 거리를 결정할 수 있다.
추가 예들에서, 로봇 암(202)은 디지털 흡입 그리드 그리퍼와 같은 그리퍼(204)를 구비할 수 있다. 이러한 실시 예들에서, 그리퍼는, 원격 감지, 또는 단일 포인트 거리 측정에 의해 및/또는 흡입이 달성되는지를 검출함으로써 턴 온 또는 오프될 수 있는 하나 이상의 흡입 밸브를 포함할 수 있다. 추가적인 예들에서, 디지털 흡입 그리드 그리퍼는 관절식 연장부(articulated extension)를 포함할 수 있다. 일부 실시 예들에서, 레올로지 유체(rheological fluids) 또는 분말로 흡입 그리퍼들을 작동시킬 가능성은 높은 곡률을 갖는 물체들에 대한 추가 파지를 가능하게 할 수 있다.
일부 실시 예들에서, 그리퍼는 잠재적으로 수개의 박스 또는 물체에 걸치고, 커버된 물체들의 일부 또는 전부에 대해 흡입을 턴 온할 수 있다. 일부 실시 예들에서, 흡입 또는 부착 디바이스들은 "디지털" 그리드일 수 있어, 로봇 디바이스가 파지를 위해 감지된 박스들에 맞는 임의의 개수의 흡입 디바이스를 턴 온할 수 있게 한다. 일부 구현 예들에서, 시스템은 박스들에서의 심(seam)(인접 박스들 사이의 간격)을 알아차릴 수 있어, 흡입 디바이스들이 심의 양 측에서 작동되어 양쪽 박스들을 한번에 픽업할 수 있고, 그에 의해 스루풋을 2배로 할 수 있다. 일부 실시 예들에서, 흡입 디바이스들은 특정량의 시간 이후에 이들이 표면을 성공적으로 파지할 수 있는지를 감지할 수 있으며, 그 이후에 자동으로 셧오프될 수 있다. 추가 실시 예들에서, 흡입 디바이스들의 섹션들은 박스들의 최상부를 파지하기 위해 접힐 수 있다. 예를 들어, 그리퍼들은 초기에 전체 연장부(full extension)에서 시작하고, 다음에 파지되는 표면을 따를 수 있다.
추가 예들에서, 로봇 암은 흡입 파지를 개선하기 위해 위글 이동(wiggle movement)을 구현할 수 있다. 추가 실시 예에서, 로봇 암은 박스를 그 주변으로부터 세그먼트하는 것을 돕기 위해 박스를 좌우로 위글링할 수도 있다. 다른 실시 예들에서, 암은 다른 물체들을 밀치는 것을 회피하도록 박스의 픽업 시에 위글링할 수 있다. 이러한 실시 예들에서, 흡입을 이용하여 물체를 픽업하기 위해 물체에 부착하려고 할 때, 로봇 암은 물체에 대해 견고한 밀봉(firm seal)을 이루기 위해 위글 모션을 이용할 수 있다. 추가 예들에서, 로봇 암은 로봇 암이 물체를 픽업하고 있을 때 물체를 위글링할 수 있고, 그에 의해 박스는 더 부드럽게 다른 물품들과의 마찰 또는 중첩 접촉(overlap contact)을 깰 수 있다. 이것은, 너무 곧장 또는 너무 신속하게 물체를 위로 당기는 것이 다른 물품들로 하여금 공중으로 토스되게 하는 상황을 회피하는 것을 도울 수 있다.
다양한 실시 예들에 따르면, 판지 박스들은 흡입 디바이스가 부착하기 어렵게 하는 오목한, 볼록한 또는 다른 방식으로 구겨진 면들을 가질 수 있다. 따라서, 흡입 디바이스가 흡입 접촉을 할 때 이 디바이스를 위글링하는 것은 판지 박스들 및 다른 비평면 물체들에 대해 더 신뢰성 있는 파지를 가능하게 할 수 있다. 추가 예들에서, 박스를 처음 파지할 때, 소수의 중심 흡입 디바이스들이 턴 온될 수 있고, 암은 박스를 꺼내기 시작할 때 앞뒤로 위글링할 수 있다. 이것은 다른 박스들과의 표면 부착을 깨고, 박스를 꺼내기 시작하는 것을 도울 수 있다. 일단 박스가 적어도 부분적으로 꺼내지면, 박스는 다음에 다른 박스들로부터 더 용이하게 세그먼트화될 수 있다. 일부 실시 예들에서, 클러터에 있는 물체를 픽업하는 동안에 위글링하는 것은 픽업된 물체로부터 다른 물체들을 제거하고, 그에 의해 주변 물체들의 원하지 않는 픽업을 방지할 수 있다.
다양한 실시 예들에 따르면, 물품들의 세그먼트화는 성공적인 파지를 위해 필요할 수 있다. 일부 실시 예들에서, 평활한 표면 패치(smooth surface patch)가 2개의 별개의 물체에 속할 수 있다. 이러한 경우에, 물체들과의 조작기 상호작용은 물체들을 서로로부터 양호하게 세그먼트화하기 위해 장면(scene)을 교란시키는데 이용될 수 있다. 모션 분리에 있어서, 컨베이어 상의, 슬라이드 상의, 토트(tote)에서 이동하는, 및/또는 토트 내에서 액티브하게 밀쳐지는(actively jostled) 물체들의 자연적인 또는 강제적인 이동은 물체 세그먼트화를 증대시키기 위해서 스테레오 깊이(stereo depth)를 계산하도록 광학 흐름, 시차, 또는 시간 지연 뷰들에 의해 추적될 수 있다.
다른 예들에서, 감지 시스템에 의해 이용되는 센서들 중 하나 이상은 카메라 또는 카메라들과 공지의 오프셋 패턴 프로젝터 사이의 깊이 삼각측량을 가능하게 하기 위해 장면으로 패턴을 투영하는 것과 같은 액티브 비전 기술들을 이용하는 깊이 감지 디바이스에 등록된 RGBaD(RGB+active Depth) 컬러 또는 흑백 카메라일 수 있다. 이러한 타입의 센서 데이터는 견고한 세그먼트화를 가능하게 하는 것을 도울 수 있다. 다양한 실시 예들에 따르면, 물체를 어디에 및/또는 어떻게 배치할지(예를 들어, 물체를 고정구 리셉터클 내로 맞추는 것)를 알기 위해서 물체를 식별하고 및/또는 그 포즈를 찾기 위해, 표면 상의 바코드, 텍스처 코히런스(texture coherence), 컬러, 3D 표면 특성, 또는 인쇄된 텍스트와 같은 지시들(cues)이 또한 이용될 수 있다. 일부 실시 예들에서, 쉐도우 또는 텍스처 차이들이 또한 물체들을 세그먼트화하는데 이용될 수 있다.
로봇 디바이스(200)의 많은 또는 모든 기능은 제어 시스템(240)에 의해 제어될 수 있다. 제어 시스템(240)은 비 일시적인 컴퓨터 판독가능 매체, 예컨대 메모리(246)에 저장된 명령어들(244)을 실행하는 적어도 하나의 프로세서(242)(적어도 하나의 마이크로프로세서를 포함할 수 있음)를 포함할 수 있다. 제어 시스템(240)은 분산형 방식으로 로봇 디바이스(200)의 개별적인 컴포넌트들 또는 서브시스템들을 제어하는 역할을 할 수 있는 복수의 컴퓨팅 디바이스를 또한 나타낼 수 있다.
일부 실시 예들에서, 메모리(246)는 도 2a-2b와 관련하여 위에서 기술된 것들을 포함하는, 로봇 디바이스(200)의 다양한 기능을 실행하기 위해 프로세서(242)에 의해 실행할 수 있는 명령어(244)(예를 들면, 프로그램 논리)를 포함할 수 있다. 메모리(246)는, 기계적 시스템(220), 센서 시스템(230), 및/또는 제어 시스템(240) 중 하나 이상으로 데이터를 송신하고, 이들로부터 데이터를 수신하고, 이들과 상호작용하고, 및/또는 이들을 제어하는 명령어들을 포함하여 추가적인 명령어들을 또한 포함할 수 있다.
다양한 실시 예들에 따르면, 지각 안내된 로봇이 기술된다. 예를 들어, 로봇 디바이스는, 박스를 픽업하고 가야 할 필요가 있는 곳에 이 박스를 배치하도록 로봇 암에 안내하기 위해 계획과 함께 지각의 조합을 이용할 수 있다. 도 3a는 예시적인 실시 예에 따른, 박스들의 스택과 도 2a의 로봇 디바이스의 일부를 예시한다. 도시된 바와 같이, 로봇 디바이스는 상술한 바와 같이 로봇 암(202)을 파지 컴포넌트(204), 센서(206 및 208), 및 컨베이어(210)와 함께 포함할 수 있다. 일부 예들에서, 로봇 디바이스는 도 2a와 관련하여 설명된 바와 같이 홀로노믹 카트 상에 장착될 수 있거나, 상이한 타입의 이동 가능 장치 상에 장착될 수 있거나, 레일들이나 트랙들 상에 장착될 수 있거나, 또는 고정식일 수 있다. 로봇 디바이스는 박스들의 형상들과 사이즈들의 이종 혼합물을 포함하는 박스들의 스택(320)으로부터 박스들을 픽킹하도록 제어될 수 있다.
예들에서, 2D 및/또는 3D로의 물체들의 모델을 포함하는 가상 환경이 결정되어, 박스들을 픽업하기 위한 계획 또는 전략을 개발하는데 이용될 수 있다. 일부 예들에서, 로봇은 도 3b에 도시된 바와 같이, 물체들을 포함하는 환경을 스캔하기 위해 하나 이상의 센서를 이용할 수 있다. 로봇 암(202)이 이동함에 따라, 암 상의 센서(206)는 개별적인 박스들의 형상들 및/또는 위치들을 결정하기 위해서 박스들의 스택(320)에 대한 센서 데이터를 캡처할 수 있다. 추가적인 예들에서, 3D 환경의 더 큰 픽처는 개별적인(예를 들어, 3D) 스캔들로부터의 정보를 통합함으로써 구축될 수 있다. 이러한 스캔들을 수행하는 센서들은 고정된 위치들에, 로봇 암 상에, 및/또는 다른 로케이션들에 배치될 수 있다. 다양한 실시 예들에 따르면, 스캔들은 다수의 상이한 기술 중 임의의 것 또는 이들 모두에 따라 구성되고 이용될 수 있다.
일부 예들에서, 스캔들은 하나 이상의 3D 센서가 장착되어 있는 로봇 암을 이동시킴으로써 이루어질 수 있다. 암 위치로부터의 피드백은 센서가 위치하는 곳에 대한 포즈 정보를 제공할 수 있으며, 통합을 돕는데 이용될 수 있다. 대안적으로, 또는 추가적으로, 스캔들은 하나 이상의 2D 센서를 이용하여, 예를 들어 환경에서의 키-포인트들을 추적하고 모션을 평균화함으로써 이루어질 수 있다. 추가 예들에서, 스캔들은 주어진 필드를 커버하는 시야(FOV)들을 갖는 고정식 카메라로부터 이루어질 수 있다. 추가적인 예들에서, 스캔들은 미세한 포즈 추정을 돕기 위해 시각적으로 등록되어, 잠재적으로는 더 양호한 통합 결과들을 제공할 수 있다.
추가 예들에서, (예를 들어, 상이한 센서들로부터의) 정보를 통합하기 위해 3D 체적 또는 표면 모델을 이용하여 가상 환경이 구축될 수 있다. 이것은 하나의 센서가 큰 환경을 커버하기에 불충분할 수 있는 경우들에서와 같이 시스템이 더 큰 환경 내에서 동작하는 것을 허용할 수 있다. 이러한 기술들은 캡처된 디테일의 레벨을 또한 증가시킬 수 있으며, 이는 로봇 디바이스가 다양한 태스크들을 수행하는 것을 도울 수 있다. 구체적으로, 정보의 통합은 (예를 들어, 잡음 레벨을 떨어뜨림으로써) 단일 스캔 단독으로부터 보다는 더 미세한 디테일을 산출할 수 있다. 이것은 양호한 물체 검출, 표면 픽킹, 또는 다른 애플리케이션들을 가능하게 할 수 있다.
추가 예들에서, 광각 환경 재구성은, 환경을 감지하고 그 정보를 단순한 수학적 3D 기하학적 형태들(예를 들어, 평면, 원기둥, 원뿔, 반구, 등)의 단순화된 기하학적 모델로 추출함으로써 수행될 수 있다. 일부 경우에, 이러한 기술들은 모션 계획을 더 용이하게 하고 및/또는 모델들의 위반(예를 들어, 충돌)을 검출하는 것을 더 용이하게 할 수 있다. 대안적으로, 또는 추가적으로, 이러한 기술들은 파라미터 설명이 환경을 확장시키는 것을 허용할 수 있다. 예를 들어, 그라운드는 그것을 폐색하는 물체들 뒤에 확장되는 평면으로서 취급될 수 있다.
추가적인 예들에서, 환경 내의 평면들 또는 다른 수학적 표면들이 3D로 추출될 수 있다. 이러한 공지의 "이상적인" 표면 검출들은 환경의 더 정확한 모델로 결합될 수 있다. 예를 들어, 관심 있는 물체들의 로케이션을 검출하고 충돌들을 회피하기 위해 벽들 및 다른 장애물들의 전체 규모들(또는 그것의 수학적 설명)을 결정하는데 평면들이 이용될 수 있다. 또한, 물체들의 수학적 표현은 사람이 환경에 들어갈 때와 같은 변칙들(anomalies)을 찾는데 이용될 수 있다. 이러한 이벤트들은 이상적인 모델을 위반할 수 있으며, 이는 그들의 검출을 더 용이하게 할 수 있다.
다른 예들에서, 박스들과 같은 특정 물체들은 단순한 평면 형태를 가질 수 있다. 예를 들어, 금속은 원기둥의 기하학적 형태를 가질 수 있고, 타이어는 토러스의 기하학적 형태를 가질 수 있다. 예시적인 시스템들은 이러한 특정 물체들의 특성을 평균화하여, 이들을 모델링하고 및/또는 이 물체들에 대한 모션 계획 방법을 결정할 수 있다. 예를 들어, 특정 형상들의 공지의 템플릿들이 이용되어, 특정 형상에 매칭하는 것으로 보이는 환경 내의 물체들의 검출된 피처들을 수정할 수 있다.
일부 예들에서, 2D 및 3D 정보는 하나 이상의 파사드(facades)를 통해 적어도 부분적으로 표현될 수 있다. 파사드는 깊이 맵(예를 들어, 3차원으로서의 거리의 2D 맵)으로서 표현되는 물체들의 세트를 포함하는 근사-평면 구조(near-planar construct)로서 정의될 수 있다. 파사드들의 예들은 트럭에서의 박스들의 벽, 박스들이나 다른 물체들을 포함하는 팰릿 스택의 최상부, 또는 섞인 물체들의 빈(bin)의 최상부를 포함할 수 있다.
추가적 예에서, 파사드는 예를 들어, 박스들을 픽업하기 위한 순서를 계획하기 위해 박스들로부터 구성될 수 있다. 예를 들어, 도 3c에 도시된 바와 같이, 박스(322)는 픽업할 다음 박스로서 로봇 디바이스에 의해 식별될 수 있다. 박스(322)는 센서(206 및 208)와 같은 하나 이상의 센서에 의해 수집된 센서 데이터에 기초하여 구축된 박스들의 스택(320)의 전방 벽을 나타내는 파사드 내에서 식별될 수 있다. 다음에, 제어 시스템은, 가능하게는 박스의 형상과 사이즈, 박스들의 스택(320)의 최상부에서의 박스의 위치에 기초하여, 및/또는 박스들에 대한 타겟 컨테이너 또는 로케이션의 특성들에 기초하여, 박스(322)가 픽킹할 다음 박스라고 결정할 수 있다. 로봇 암(202)은 그리고 나서 그리퍼(204)를 이용하여 박스(322)를 픽업하여 컨베이어 벨트(210) 위에 박스(322)를 배치(예를 들면, 박스(322)를 적재 영역 내로 운반)하도록 제어될 수 있다.
추가적인 예들에서, 파사드는 3D 표면 정보의 정사 투영(orthographic projection)으로서 표현될 수 있다. 이러한 표현은 특정 애플리케이션에 대한 관심 영역들을 결정하기 위해 파사드의 파싱을 허용할 수 있다. 예를 들어, 트럭 언로딩 시에, 픽업할 다음 박스의 상부 좌측 코너가 파사드 표현에 기초하여 결정될 수 있다. 다른 예들에서, 통합된 3D 환경의 정사 투영은 애플리케이션 관련 태스크들을 수행하기 위해 넓은-FOV, 용이하게 파싱되는 표현(wide-FOV, easily-parsed representation)을 제공하도록 결정될 수 있다. 하나의 이러한 태스크는 픽킹할 박스의 코너 또는 코너들(예를 들어, 최상부 좌측)을 찾는 것일 수 있다. 또 다른 이러한 태스크는 빈으로부터 물체들을 픽킹하기 위한 양호한 표면들(예를 들어, 비교적 평탄하고 큼)을 찾는 것일 수 있다.
추가 예들에서, 박스들의 스택의 3D 모델이, 스택 또는 팰릿으로/으로부터 박스들을 로딩/언로딩하기 위한 프로그레스를 계획하고 추적하는 것을 돕기 위한 모델로서 구축 및 이용될 수 있다. 파사드의 임의의 하나의 실제 카메라 뷰는 관점 폐색(point of view occlusions) 및 원근 왜곡(perspective distortion)을 겪을 수 있다. 따라서, 로봇 암 이동들을 통한 다수의 RGBD 뷰 및/또는 카트 베이스나 고정된 로케이션들로부터의 상이한 뷰들이 결합되어, 픽킹될 박스들의 단일 파사드를 생성할 수 있다.
다른 예들에서, 3D 모델은 충돌 회피를 위해 이용될 수 있다. 예들 내에서, 무충돌 궤적을 계획하는 것은 환경에서 표면들 및 물체들의 3D 로케이션을 결정하는 것을 수반할 수 있다. 궤적 최적화기는 장애물들의 존재 시에 경로들을 최적화하기 위해 환경 재구성에 의해 제공되는 3D 정보를 이용할 수 있다. 추가 예들에서, 최적화기는 실시간으로 작동하며, 많은 종류의 제약들을 허용할 수 있다. 이러한 제약의 예로서, 최적화기는 궤적 전체에 걸쳐 엔드 이펙터 레벨을 유지하려고 시도할 수 있다.
추가적인 예들에서, 환경은 3D 포인트들의 세트 또는 메시로서 캡처될 수 있다. 로봇 암은 신속한 충돌 체킹을 위해 평면 세그먼트들의 볼록 선체(convex hull)로서 표현될 수 있다. 환경의 일정한 또는 빈번한 업데이팅은 로봇 암이 변화들에 신속하게 응답하는 것을 허용할 수 있다. 추가 예들에서, 최적화기는 그것의 경로 전체에 걸쳐 빈번한 연속적인 충돌 체킹을 수행할 수 있다. 최적화기는 예컨대 물체들로부터 특정 거리를 유지하거나 또는 주어진 각도로부터 목표 위치에 접근하기 위해 코스트들의 형태로 임의의 제약들을 허용할 수 있다. 추가적으로, 최적화기는, 조인트 공간(joint space)에서 작동하고 와인드업의 트랙을 유지하고 다수의 역 운동학 솔루션으로부터 목표 위치들을 선택함으로써, 로봇 장애 상태들을 회피할 수 있다. 모션 계획을 위한 하나의 전략은 선택된 목표 조인트 위치가 다음 이동을 위해 수락 가능할 것인지 확인하기 위해 수개의 이동을 예견하는 것을 수반할 수 있다.
일부 실시 예들에서, 로봇 암, 카메라, 케이블, 및/또는 다른 컴포넌트에 대한 충돌 회피와 같은 경로 제약들은, 제약 기반 계획 해석기(constraint based planning solver)에 넣어지고, 지각을 위해 암을 이동시키기 위한 최상의 경로를 산출하기 위해 해석될(solved) 수 있다. 추가적으로, 일부 실시 예들에서, 해석기는 물체를 픽업, 이동, 및 배치하기 위한 최상의 경로를 결정할 수 있다.
다양한 실시 예들에 따르면, 3D 및/또는 시각 센서들은 작업 공간에 대한 그들의 포즈를 결정하도록 교정될 수 있다. 고정된 센서들의 경우에, 교정은 작업 공간에서의 그들의 고정된 포즈를 결정할 수 있다. 암 상의 센서의 경우에, 교정은 센서가 부착되어 있는 암 링크로부터 센서의 오프셋 포즈를 결정할 수 있다.
예시들 내에서, 교정 기술들은 작업 공간에서의 임의의 개수의 센서들의 교정을 허용할 수 있다. 교정은 다양한 파라미터들 및 계수들 중 일부 또는 전부를 결정하는 것을 수반할 수 있다. 예를 들어, 교정은 초점 길이 및 이미지 중심과 같은 하나 이상의 내인성 파라미터를 해석할 수 있다. 또 다른 예로서, 교정은 방사상 및 접선 왜곡의 모델들과 같은 하나 이상의 왜곡 계수를 결정할 수 있다. 또 다른 예로서, 교정은 장면에서 동일한 패턴을 식별한 다른 센서들 또는 패턴에 대해 장면 내의 물체의 위치를 정의하는 하나 이상의 외인성 파라미터를 해석할 수 있다.
일부 예들에서, 교정은 2D 또는 3D의 피처들의 공지의 세트일 수 있는 교정 패턴을 이용함으로써 적어도 부분적으로 수행될 수 있다. 예를 들어, 도트들의 공지의 패턴이 이용될 수 있는데, 여기서 각각의 도트와 다른 도트들 사이의 거리가 알려져 있다. 교정은 물체의 다수의 상이한 뷰를 수집함으로써 적어도 부분적으로 수행될 수 있다. 추가 예들에서, 상이한 위치들에서 교정 패턴의 다수의 뷰를 캡처하는 것은, (1) 카메라의 하나 이상의 계수의 교정 및/또는 (2) 교정 패턴이 고정된 곳에 의해 확립되는 좌표계에 대해 카메라가 있는 곳의 지식을 허용할 수 있다. 특정 실시 예들에서, 장면에서의 카메라는 로봇 암 상의 교정 패턴을 식별할 수 있는 한편, 동시에 암 상의 카메라는 장면에서의 교정 패턴을 식별한다.
추가적인 예들에서, 교정은 장면에서 고정된 카메라를 수반할 수 있다. 이 경우, 교정 패턴이 로봇 암 상에 배치될 수 있다. 로봇 암은 로봇 암 상의 교정 패턴의 다수의 뷰가 수집될 때 장면을 통해 이동하도록 구성될 수 있다. 이것은 카메라의 교정을 도울 수 있고 및/또는 카메라의 좌표계를 로봇의 좌표계와 관련시키는데 유용할 수 있다. 또한, 각각의 디바이스와 다른 디바이스의 관계는 로봇 암이 이동할 때 각각의 디바이스에 의해 결정될 수 있다.
특정 예들에서, 교정은 로봇 암 상에 위치된 카메라를 수반할 수 있다. 교정 패턴은 벽 또는 테이블 상에 장착될 수 있다. 다음에, 카메라가 사방으로 이동되어, 상이한 로봇 또는 로봇 암 위치들로부터 교정 패턴의 다수의 뷰를 수집할 수 있다. 상이한 3D 또는 2D 뷰들(예를 들어, 2, 20, 또는 200)이 수집될 때, 이러한 뷰들은 교정 관계들을 해석하기 위해 이용될 수 있다. 교정 이후에, 암 상의 카메라가 이동할 때, 시스템은 장면에서의 교정 패턴의 로케이션에 기초하여 설정된 좌표계에 대해 그것이 있는 곳을 결정할 수 있다. 특정 실시 예들에서, 교정 패턴 및 카메라 양쪽 모두는 이동 가능할 수 있다. 예를 들어, 로봇 암이 박스들을 배치하도록 구성될 수 있는 컨베이어 벨트 상에 교정 패턴이 위치될 수 있다. 교정 이후에, 시스템은 컨베이어 벨트 상의 해당 스폿에 대해 카메라가 있었던 곳을 결정할 수 있다.
추가 예들에서, 3D 센서 교정의 견고한 추정을 위해 2-스테이지 프로세스로 비선형 최적화가 수행될 수 있다. 하나의 스테이지에서, 타겟 및 센서들의 상대적인 포즈 오프셋들로부터 초기화가 도출될 수 있다. 다른 스테이지에서, 초기화가 주어지면, 타겟 포인트들과 함께 카메라들의 최적 포즈를 찾기 위해 배치 번들 조정(batch bundle adjustment)이 이용될 수 있다. 교정은 조인트 길이 및 조인트 각도 오프셋과 같은 로봇 파라미터들의 추정으로 확장될 수 있다.
다른 예들에서, 교정 패턴에 대한 카메라의 공지의 정밀한 로봇 모션, 또는 카메라에 대한 교정 패턴이 교정 결과들을 개선하기 위해 이용될 수 있다. 예를 들어, 정밀하게 카메라가 어떻게 이동하는지에 대한 정보는 더 정확한 카메라 교정을 획득하기 위해 이용될 수 있다. 즉, 카메라가 50mm만큼 우측으로 이동되는 경우, 교정 물체로부터의 대응하는(원근 투영) 양의 이동이 검출될 수 있다. 이러한 정보는 파라미터들의 교정 및 추적을 공동으로 또는 별개로 최적화하는데 이용될 수 있다.
추가적인 예들에서, 로봇은 진행 중인 교정을 보고, 더 양호한 교정을 위해 정보를 최대화하는 방식으로 이동할 수 있다. 예를 들어, 일부 뷰 영역들이 보이지 않는다고 검출하고, 그러한 뷰들로 이동할 수 있다.
추가 예들에서, 일반적으로 혼잡한 수집 영역으로부터 정의된 빈까지의 이종의 분류별 물품들의 실제 조작을 위한 시스템이 제시된다. 일부 실시 예들에서, 물품들을 포함하는 픽 로케이션은 정밀한 물체 배향(들)에 민감하지 않을 수 있고, 물품들은 함께 혼합될 수 있다. 추가적인 예들에서, 물품들에 대한 배치 로케이션은 물체 배향에 민감할 수도 있고 민감하지 않을 수도 있다. 일부 예들에서, 픽-앤-플레이스 영역들(pick-and-place regions)은 소정의 허용오차를 가지고 물체를 픽킹 또는 배치하기 위해 수락 가능한 3D 영역들로서 정의될 수 있다. 픽-앤-플레이스 영역은 유사하고/하거나 이질적인 물체들로 매우 혼잡해질 수 있다. 다른 실시 예들에서, 물품들은 분류된 물품을 특정 배향으로 유지하는 금속 또는 플라스틱 스냅들과 같은 고정구로부터 오거나 또는 이러한 고정구에 넣어질 수 있다.
추가적인 예들에서, 픽-앤-플레이스 로케이션 양쪽 모두의 환경 모델링은 (예를 들어, 배치 영역이 가득차거나 픽 영역이 비어있을 때) 이벤트 보고 뿐만 아니라, 지능형 파지 로케이션 및 모션을 위해 이용될 수 있다. 일부 예들에서, 물체 경계 체적(object bounding volumes)이 계산될 수 있고/있거나, 물체들의 두드러진 피처들이 발견될 수 있다(예컨대, 텍스처, 컬러, 바코드 또는 OCR). 일부 실시 예들에서, 물체들은 물체 타입이나 물체 ID에 의해 인덱싱된 로케이션 할당들의 데이터베이스에 대해 매칭함으로써 할당된 목적지 로케이션으로 분류될 수 있다. 예를 들어, 물체의 로케이션들은 바코드의 판독, 물체 사이즈의 고려, 및/또는 특정 종류의 물체의 인식에 의해 도출될 수 있다.
일부 예들에서, 로봇 디바이스에 대한 계획은 물체들에 대한 타겟 로케이션 내의 물체들의 특정 구성들을 달성하기 위해 결정될 수 있다. 예를 들어, 로딩/언로딩 또는 팰릿타이징/디팰릿타이징에 대한 목표는, (1) 박스들 사이에 최소 공극들을 갖는 조밀한 패킹, 및/또는 (2) 쉽게 붕괴되지 않을 안정적인 패킹을 달성하는 것일 수 있다. 일부 실시 예들에서, 안정성은, 일반적으로, 무거운 물체들이 최하부에 있고, 가벼운 물체들이 최상부에 있을 것을 요구할 수 있다. 다른 예들에서, 팰릿들은 넌-인터레이스 컬럼 스택(non-interlaced column stacks), 컬럼 기울기(column leans), 또는 불량 스택의 다른 특성들을 회피하도록 생성될 수 있다.
추가 예들에서, 팰릿 또는 트럭/컨테이너는 후속 언로딩 프로세스들에서 인간 운영자들에 의한 작업이 최소화되도록 로딩될 수 있다. 예를 들어, 일부 실시 예들에서, 물품들은, 언패킹 시에, 첫째로 필요한 물품들이 최상부에 있고, 둘째로 필요한 물품들이 하나의 층 아래에 있거나 하도록, 후입 선출(last in, first out) 순서로 배치될 수 있다. 다른 예들에서, 팰릿들의 로딩은 물품들이 패킹 셀들을 향하여 어떻게 움직이는지에 독립적일 수 있다. 따라서, 일부 실시 예들에 따르면, 시스템은 랜덤 순서 또는 사전에 공지의 순서로 전송된 패키지들을 핸들링할 수 있다. 또한, 일부 실시 예들에서, 시스템은 실시간으로 물품의 흐름의 변화에 적응할 수 있다. 추가 예들에서, 하나 이상의 박스는 경로를 따라 그들의 순서가 변경될 수 있는 임시 저장 영역에 박스들을 유지함으로써 기록 및 버퍼링될 수 있다.
다양한 실시 예들에 따르면, 2D 시뮬레이터 및/또는 3D 시뮬레이터는 트럭이나 컨테이너 로딩/언로딩을 위해 또는 팰릿 로딩/언로딩을 위해 이용될 수 있다. 일부 예들에서, 박스들의 스택의 상태는 실제 세계에서 캡처되어 시뮬레이터에 입력될 수 있다. 일부 실시 예들에서, 하나의 박스로부터 모든 박스까지의 박스들의 가변 사이즈 큐가 픽킹할 다음 박스를 찾기 위해 시뮬레이터에 의해 이용될 수 있다. 예를 들어, 시뮬레이터에 의해 2개의 박스 또는 4개의 박스 또는 10개의 박스의 큐가 고려될 수 있다.
추가 예들에서, 시뮬레이터는 휴리스틱 알고리즘들(heuristic algorithms)에 의해 및/또는 무차별 또는 다중-해상도 서치(brute force or multi-resolution search)에 의해 최상의 박스 배치를 찾기 위해 큐 내의 박스들에 걸쳐 서치할 수 있다. 일부 실시 예들에서, 시스템은 이전에 더 대략적인 레벨로 발견된 최상의 사이트들 주위의 박스들의 점점 더 미세한 배치로 증분할 수 있다. 일부 실시 예들에서, 일단 특정한 다음 박스의 배치가 결정되었으면, 물리학 플래너는 박스를 결정된 로케이션들로 효율적으로 이동시키기 위해 모션 계획에 이용될 수 있다. 추가 예들에서, 물리적 및 시뮬레이션된 스택들은 스택의 품질(예를 들어, 밀도, 안정성, 및/또는 순서 배치)에 대해 연속적으로 모니터링될 수 있다. 일부 예들에서, 모든 박스가 배치되었거나 또는 타겟 컨테이너가 더 이상 다른 박스에 맞지 않을 수 있을 때까지 프로세스가 반복될 수 있다.
이제 도 4를 참조하면, 도 4는 환경의 가상 표현을 결정하기 위한 예시적 방법(400)의 블록도이다. 도 4에 나타낸 방법(400)은 예를 들어, 도 2b의 로봇 디바이스(200)에 의해, 또는 보다 일반적으로 임의의 컴퓨팅 디바이스의 하나 이상의 컴포넌트에 의해 이용되거나 구현된 방법의 실시 예를 제시한다. 방법(400)은 블록(402-412) 중 하나 이상에 의해 설명된 것처럼 하나 이상의 동작, 기능, 또는 액션을 포함할 수 있다. 블록들이 일련의 순서로 도시되지만, 이러한 블록들은 병렬로, 및/또는 여기서 설명되는 것들과 다른 순서로 수행될 수도 있다. 또한, 다양한 블록들은 더 적은 블록들로 결합되고, 추가 블록들로 분할되고, 및/또는 원하는 구현에 기초하여 제거될 수 있다.
게다가, 방법(400) 및 본 명세서에서 개시되는 다른 프로세스들 및 방법들에 대해, 블록도는 본 실시 예들의 하나의 가능한 구현의 기능 및 동작을 나타낸다. 이와 관련하여, 각각의 블록은 프로세스 내의 특정 논리 기능들 또는 단계들을 구현하기 위한 프로세서 또는 컴퓨팅 디바이스에 의해 실행 가능한 하나 이상의 명령어를 포함하는 프로그램 코드의 모듈, 세그먼트 또는 일부를 나타낼 수 있다. 프로그램 코드는 예로서 디스크 또는 하드 드라이브를 포함하는 저장 디바이스와 같은 임의의 타입의 컴퓨터 판독 가능 매체 상에 저장될 수 있다. 컴퓨터 판독 가능 매체는 예를 들어, 레지스터 메모리, 프로세서 캐시 및 랜덤 액세스 메모리(RAM)와 같이 짧은 기간 동안 데이터를 저장하는 컴퓨터 판독 가능 매체와 같은 비 일시적 컴퓨터 판독 가능 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 예로서, 판독 전용 메모리(ROM), 광 또는 자기 디스크 및 컴팩트 디스크 판독 전용 메모리(CD-ROM)과 같은 보조 또는 영구 장기 저장소와 같은 비 일시적 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 임의의 다른 휘발성 또는 비휘발성 저장 시스템들일 수도 있다. 컴퓨터 판독 가능 매체는 예를 들어, 컴퓨터 판독 가능 저장 매체 또는 유형적 저장 디바이스로서 간주될 수 있다.
또한, 방법(400) 및 본 명세서에 개시된 다른 프로세스들 및 방법들에 대해, 도 4의 각각의 블록은 프로세스에서 특정 논리 기능들을 수행하도록 배선되는 회로를 나타낼 수 있다.
하나의 실시 예에서, 본 방법(400)의 기능은 도 2b의 제어 시스템(240)과 같은, 제어 시스템에 의해 수행될 수 있다. 다른 실시 예들에서, 본 방법(400)의 기능은 구조화된 광 처리를 위한 서치 공간을 제한하기 위해 스테레오 이미지 처리의 출력을 이용하도록 구성되는 다중 제어 시스템에 걸쳐 배포될 수 있다.
처음에, 블록(402)에서, 본 방법(400)은 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하는 단계를 포함한다. 복수의 이미지는 제1 광학 센서의 제1 관점으로부터 지각된 환경의 제1 이미지 및 제2 광학 센서의 제2 관점으로부터 지각된 환경의 제2 이미지를 포함할 수 있다. 선택적으로, 복수의 이미지는 2개보다 많은 이미지를 포함할 수 있다. 예를 들어, 복수의 이미지는 제3 광학 센서에 의해 캡처된 하나 이상의 이미지를 포함할 수 있다. 또 다른 예로서, 복수의 이미지는 제1 광학 센서에 의해 캡처된 다수의 이미지 및 제2 광학 센서에 의해 캡처된 다수의 이미지를 포함할 수 있다.
제1 광학 센서, 제2 광학 센서, 및 제3 광학 센서는, 전하 결합 디바이스(CCD) 이미지 센서, 상보형 금속 산화물 반도체(CMOS) 이미지 센서, 또는 광 이미지를 전자 신호로 변환시키도록 구성된 다른 타입의 센서들과 같은, 임의의 타입의 광학 센서를 포함할 수 있다. 예로서, 제1 광학 센서, 제2 광학 센서, 또는 제3 광학 센서는 적색/녹색/청색(RGB) 적외선(IR) 카메라일 수 있다. 덧붙여, 제1 광학 센서, 제2 광학 센서, 또는 제3 광학 센서는 RGB 카메라일 수 있다. RGB IR 카메라(들) 또는 RGB 카메라(들)는 글로벌 셔터 카메라일 수 있어, 특별한 카메라의 픽셀은 정보를 동시에 저장한다.
일부 경우에, 제1 광학 센서, 제2 광학 센서, 및 제3 광학 센서 중 하나 또는 임의의 조합은 도 2a의 로봇 암(202)와 같은, 로봇 조작기에 결합될 수 있다.
블록(404)에서, 본 방법(400)은 제1 이미지와 제2 이미지 사이의 대응하는 피처에 기초하여 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하는 단계를 포함한다. 일례에서, 컴퓨팅 디바이스는 제1 이미지와 제2 이미지 사이의 대응하는 피처를 결정하기 위해 블록 매칭 알고리즘을 이용할 수 있다. 블록 매칭 알고리즘을 사용하여, 제1 이미지의 픽셀들의 세그먼트(예를 들어, 5x5, 11x11, 또는 21x21 픽셀의 윈도우)는 제2 이미지의 픽셀들의 세그먼트들의 범위에 대해 매칭되어, 제2 이미지 내의 가장 근접한 픽셀들의 세그먼트를 결정할 수 있다. 예를 들어, 픽셀의 가장 근접한 매칭 세그먼트는 매치 기능을 최소화함으로써 결정될 수 있다. 후속하여, 한 쌍의 대응하는 피처의 픽셀 위치가 주어지면, 다양한 삼각 측량 방법 중 하나는 식별된 피처의 3D 위치를 재구성하는데 이용될 수 있다. 삼각 측량의 프로세스에 따르면, 2개의 센서의 상대 위치 및 배향이 주어지면, 포인트 P의 3D 위치(x, y, z)는 제1 센서 및 제2 센서의 이미지 평면 위의 P의 원근 투영으로부터 재구성될 수 있다. 그러므로, 한 쌍의 대응하는 피처의 픽셀 위치가 알려지고, 2개의 센서의 상대 위치 및 배향이 알려지면, 피처의 3D 위치가 결정될 수 있다.
일부 예에서, 컴퓨팅 디바이스는 공간-시간 스테레오 이미징을 이용하여 제1 깊이 추정치를 결정할 수 있다. 공간-시간 스테레오 이미징에서, 제1 광학 센서에 의해 캡처된 단일 이미지와 제2 광학 센서에 의해 캡처된 단일 이미지의 매칭보다는 오히려, 제1 광학 센서에 의해 캡처된 제1 세트의 이미지(예를 들면, 제1 비디오 스트림)는 제2 광학 센서에 의해 캡처된 제2 세트의 이미지(예를 들면, 제2 비디오 스트림)와 매칭될 수 있다. 양쪽 공간 및 시간적 외양 변화를 이용하는 것은 모호성을 감소하고 정확도를 증가시키는 것을 도울 수 있다.
블록(406)에서, 본 방법(400)은 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하는 단계를 포함한다. 예로서, 컴퓨팅 디바이스는 텍스처 프로젝터가 픽셀(예를 들면, 그리드, 도트, 스트라이프, 스폿, 수평 바, 세로 바, 등)의 공지의 패턴을 환경에 투영하게 할 수 있다. 일례에서, 텍스처 프로젝터는 적외선 광 이미터 또는 적외선 프로젝터일 수 있다. 예를 들어, 텍스처 프로젝터는 광원, 투영 광학 장치, 및 액정 디스플레이(LCD)를 포함할 수 있거나 다른 방법은 패턴을 갖는 광을 인터럽트한다. 또 다른 예에서, 공지의 패턴은 한 세트의 회절 격자를 이용하여 생성될 수 있다.
일부 예에서, 공지의 텍스처 패턴은, 블록(402)와 관련하여 설명된 제1 이미지 및 제2 이미지가 캡처되기 전에 환경에 투영될 수 있어, 스테레오 이미징에 사용된 제1 이미지 및 제2 이미지가 공지의 텍스처 패턴을 포함하게 된다. 다른 예에서, 공지의 텍스처 패턴은 제1 이미지 및 제2 이미지가 캡처된 후에 환경에 투영될 수 있다. 예를 들어, 스테레오 이미징은 환경의 시각적 텍스처를 이용하여 수행될 수 있다. 대안적으로, 공지의 텍스처 패턴의 투영 이전에, 텍스처 프로젝터는 스테레오 이미징을 용이하게 하기 위해 랜덤 텍스처 패턴을 환경에 투영할 수 있다. 이러한 시나리오에서, 제1 이미지 및 제2 이미지가 캡처된 후에, 적어도 하나의 광학 센서는 공지의 텍스처 패턴을 포함하는 적어도 하나의 이미지를 캡처할 수 있다.
일부 실시 예들에서, 텍스처 프로젝터는 도 2a의 로봇 암(202)과 같은, 로봇 조작기에 결합될 수 있다.
블록(408)에서, 본 방법(400)은 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하는 단계를 포함한다. 상술한 바와 같이, 컴퓨팅 디바이스는 패턴 디코딩 프로세스를 통지하기 위해 스테레오 이미징을 이용하여 결정된 제1 깊이 추정치를 이용할 수 있다. 특히, 공지의 텍스처 패턴의 적어도 하나의 이미지에 대해서, 컴퓨팅 디바이스는 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 적어도 하나의 이미지의 영역을 결정하기 위해 제1 깊이 추정치를 이용할 수 있다.
공지의 텍스처 패턴의 이미지를 캡처하는데 사용된 텍스처 프로젝터 및 광학 센서가 동일 높이 근처에서 수평으로 정렬되는 예에서, 컴퓨팅 디바이스는 제1 깊이 추정치, 및 공지의 텍스처 패턴의 이미지의 이미지 공간 내에서, 공지의 텍스처 패턴의 특정 부분이 위치할 것이라고 예상한 광학 센서의 위치와 텍스처 프로젝터의 위치 사이의 기준선 거리를 이용할 수 있다. 예를 들어, 컴퓨팅 디바이스는 공지의 텍스처 패턴의 특정 부분이 관찰될 수 있는 광학 센서의 이미지 평면 내의 위치를 결정하기 위해 삼각 측량을 이용할 수 있다. 그리고 컴퓨팅 디바이스는 그리고 나서 패턴 디코딩을 위한 서치 영역으로서 이미지 평면을 갖는 위치를 둘러싸는 영역을 결정할 수 있다. 텍스처 프로젝터 및 광학 센서가 동일한 높이에서 수평으로 정렬되지 않으면, 컴퓨팅 디바이스는 오정렬을 고려한 변환을 결정할 수 있다.
일부 실시 예들에서, 공지의 텍스처 패턴의 이미지는 블록(402)에 대하여 위에서 설명된 제1 이미지 또는 제2 이미지일 수 있다. 다시 말해서, 컴퓨팅 디바이스는 스테레오 매칭에 사용된 것과 동일한 이미지를 사용하여, 구조화된 광 처리를 연속적으로 수행할 수 있다. 또 다른 실시 예에서, 컴퓨팅 디바이스는 제1 이미지 또는 제2 이미지와 다른 이미지를 사용하여, 구조화된 광 처리를 수행할 수 있다. 예를 들어, 블록(402)과 관련하여 상술한 복수의 이미지는 제1 광학 센서, 제2 광학 센서, 또는 제3 광학 센서를 사용하여 캡처된 공지의 텍스처 패턴의 제3 이미지를 포함할 수 있다. 또 다른 예에서, 복수의 이미지는 2개의 상이한 광학 센서(예를 들어, 제1 광학 센서 및 제2 광학 센서)를 사용하여 캡처된 제3 이미지 및 제4 이미지를 포함할 수 있다.
일부 예에서, 공지의 텍스처 패턴의 사이즈는 제1 깊이 추정치 및 대응하는 서치 영역의 사이즈에 기초하여 결정될 수 있다. 예를 들어, 투영된 텍스처 패턴의 사이즈는 제1 깊이 추정치에서의 오차의 레벨에 비례한다. 다시 말해서, 제1 깊이 추정치가 높은 레벨의 오차를 포함하면, 컴퓨팅 디바이스는 큰 서치 영역을 결정하고 텍스처 프로젝터가 큰 영역(예를 들면, 15x15 픽셀)에 걸쳐서 유일한 텍스처 패턴을 투영하게 할 수 있다. 그러나, 제1 깊이 추정치가 낮은 레벨의 오차를 포함하면, 컴퓨팅 디바이스는 더 작은 서치 영역을 결정하고 텍스처 프로젝터가 더 작은 영역(예를 들면, 5x5 픽셀)에 걸쳐서 유일한 텍스처 패턴을 투영하게 할 수 있다. 그러므로, 일부 경우에, 컴퓨팅 디바이스는 텍스처 프로젝터가 공지의 텍스처 패턴을 투영하게 하기 이전에 서치 영역의 예상된 사이즈를 결정할 수 있어, 컴퓨팅 디바이스는 텍스처 프로젝터가 적절한 사이즈를 갖는 공지의 텍스처 패턴을 투영할 수 있게 한다.
블록(410)에서, 본 방법(400)은 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 포인트를 결정하는 단계를 포함한다. 상기 논의에 따라, 컴퓨팅 디바이스는 패턴 디코딩을 수행하여, 공지의 텍스처 패턴의 특정 부분에 대응하는 영역(또는 다수의 영역) 내의 포인트를 식별할 수 있게 한다. 일부 예에서, 컴퓨팅 디바이스는 블록 매칭 알고리즘을 이용하여, 공지의 패턴의 특정 부분에 가장 근접하게 매칭하는 영역 내의 픽셀들의 블록을 결정할 수 있게 한다.
그리고 블록(412)에서, 본 방법(400)은 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 결정된 포인트에 기초하여 환경 내의 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하는 단계를 포함한다. 예로서, 컴퓨팅 디바이스는 텍스처 프로젝터의 위치, 이미지를 캡처하는데 사용되는 광학 센서의 위치, 및 대응하는 포인트들의 위치를 이용하여, 환경 내의 적어도 하나의 표면까지의 거리를 삼각 측량할 수 있다.
일부 경우에, 컴퓨팅 디바이스는 환경에 대한 다수의 깊이 추정치를 결정하기 위해 본 방법(400)의 하나 이상의 블록을 반복할 수 있다. 예를 들어, 컴퓨팅 디바이스는 본 방법(400)을 이용하여, 환경 내의 하나 이상의 표면까지의 깊이를 나타내는 깊이 맵을 결정할 수 있다.
본 방법(400)의 추가적 예에서, 컴퓨팅 디바이스는 블록(404)에서 결정된 제1 깊이 추정치와 블록(412)에서 결정된 제2 깊이 추정치로부터의 정보를 결합하는 제3 깊이 추정치를 결정할 수 있다. 일례로서, 제3 깊이 추정치는 픽셀 별 또는 픽셀 그룹 별 단위로 제1 깊이 추정치와 제2 깊이 추정치를 평균함으로써 결정될 수 있다. 본 기술분야의 통상의 기술자가 알 수 있듯이, 깊이 추정치를 결합시키기 위한 다른 접근법이 또한 가능하다.
도 5에 나타낸 바와 같이, 도 5는 예시적인 이미징 시스템(500)의 개념적 설명이다. 도 5에 도시된 바와 같이, 이미징 시스템(500)은 텍스처 프로젝터(502), 제1 광학 센서(504), 및 제2 광학 센서(506)를 포함한다. 제1 광학 센서(504)는 텍스처 프로젝터(502)로부터 제1 거리 D1만큼 분리된 것으로 도시되고, 제2 광학 센서(506)는 제1 거리 D1보다 큰 제2 거리 D2만큼 텍스처 프로젝터(502)로부터 분리된 것으로 도시되어 있다. 그러므로, 도 5의 배열에 있어서, 제1 광학 센서(504) 및 제2 광학 센서(506)는 상이한 각도로부터 환경을 관측할 수 있다. 다른 예에서, 제1 광학 센서(504) 및 제2 광학 센서(506)는 동일 거리(도시되지 않음)만큼 텍스처 프로젝터(502)로부터 분리될 수 있다.
상기 논의에 따라, 제1 광학 센서(504) 및 제2 광학 센서(506)는 제1 관점 및 제2 관점으로부터 제1 이미지를 캡처하는데 사용될 수 있다. 제1 이미지 및 제2 이미지는 물체(508)의 이미지일 수 있다. 일부 경우에, 제1 이미지 및 제2 이미지는 텍스처 프로젝터(502)에 의해 물체(508)위에 투영된 패턴의 이미지를 포함할 수 있다. 그러나, 다른 경우에서, 제1 이미지 및 제2 이미지는 패턴이 텍스처 프로젝터(502)에 의해 투영되기 이전에 캡처될 수 있다.
상술한 바와 같이, 컴퓨팅 디바이스는 제1 이미지 및 제2 이미지를 이용하여, 제1 광학 센서(504)와 제2 광학 센서(506) 사이의 기준선 거리에 기초하여 물체(508)의 적어도 하나의 표면까지의 거리를 삼각 측량할 수 있다. 도 5에 도시된 바와 같이, 제1 광학 센서(504)는 거리 D1+D2에 의해 제2 광학 센서(506)로부터 분리될 수 있다.
또한, 컴퓨팅 디바이스는 제1 이미지 및 제2 이미지를 이용하여 결정된 제1 깊이 추정치를 이용하여, 구조화된 광 처리를 용이하게 할 수 있다. 예를 들어, 제1 이미지 및 제2 이미지가 텍스처 프로젝터(502)에 의해 투영된 공지의 텍스처 패턴을 포함하는 경우, 컴퓨팅 디바이스는 텍스처 프로젝터(502)와, 제1 광학 센서(504)와 제2 광학 센서(506) 중 하나 또는 양쪽 모두와의 사이의 기준선 거리에 기초하여, 물체(508)의 표면까지의 거리를 삼각 측량하기 위해 제1 이미지 및/또는 제2 이미지를 사용할 수 있다. 일례로서, 컴퓨팅 디바이스는, 도 4의 본 방법(400)을 이용하여, 예를 들어, 제1 광학 센서(504)에 의해 캡처된 공지의 텍스처 패턴의 제1 이미지와 공지의 텍스처 패턴의 특정 부분 사이의 대응하는 포인트를 결정할 수 있다. 그리고 제1 광학 센서(504)와 텍스처 프로젝터(502) 사이의 거리 D1에 기초하여, 컴퓨팅 디바이스는 물체(508)의 표면까지의 거리를 삼각 측량할 수 있다. 대안적으로 또는 추가적으로, 컴퓨팅 디바이스는 제2 광학 센서(506)에 의해 캡처된 공지의 텍스처 패턴의 제2 이미지와 공지의 텍스처 패턴의 특정 부분 사이의 대응하는 포인트를 결정할 수 있다. 그리고 텍스처 프로젝터(502)와 제2 광학 센서(506) 사이의 거리 D2에 기초하여, 컴퓨팅 디바이스는 물체(508)의 표면까지의 거리를 삼각 측량할 수 있다.
컴퓨팅 디바이스가 제1 광학 센서(504)에 의해 캡처된 이미지를 사용하여 제1 구조화된 광 깊이 추정치를 결정하고 제2 광학 센서(506)에 의해 캡처된 이미지를 사용하여 제2 구조화된 광 깊이 추정치를 결정하는 예에서, 제1 구조화된 광 깊이 추정치 및 제2 구조화된 광 깊이 추정치는 중복 깊이 추정치일 수 있다. 바람직하게는, 거리 D1 및 D2가 상이하기 때문에 제1 구조화된 광 깊이 추정치 및 제2 구조화된 광 깊이 추정치가 변할 수 있다. 일부 경우에, 환경에서의 변화에 기인하여, 컴퓨팅 디바이스는 제1 광학 센서(504)에 의해 캡처된 이미지를 이용하여 구조화된 광 깊이 추정치를 결정할 수 없지만, 제2 광학 센서(506)를 이용하여 구조화된 광 깊이 추정치를 결정할 수 있다. 그러므로, 일부 경우에, 2개의 이미지를 사용하여 구조화된 광 처리를 수행하는 것이 바람직할 수 있다.
상술한 바와 같이, 스테레오 매칭에 사용되는 제1 이미지 및 제2 이미지를 이용하는 것보다는 오히려, 컴퓨팅 디바이스는 그 대신에 제1 광학 센서(504) 또는 제2 광학 센서(506)에 의해 캡처된 공지의 텍스처 패턴의 제3 이미지를 사용하여, 구조화된 광 처리를 수행할 수 있다.
게다가, 일부 경우에, 컴퓨팅 디바이스는 제3 광학 센서에 의해 캡처된 공지의 텍스처 패턴의 이미지를 사용하여, 구조화된 광 처리를 수행할 수 있다. 도 6은 텍스처 프로젝터(602), 제1 광학 센서(604), 제2 광학 센서(606), 및 제3 광학 센서(608)를 포함한 또 다른 예시적 이미징 시스템(600)의 개념적 설명이다. 도 6에서, 제1 광학 센서(604)는 거리 D1만큼 텍스처 프로젝터(602)로부터 분리되는 것으로 보여지고, 제2 광학 센서(606)는 거리 D2만큼 텍스처 프로젝터(602)로부터 분리되는 것으로 보여지고, 제3 광학 센서(608)는 거리 D3만큼 텍스처 프로젝터(602)로부터 분리되는 것으로 보여진다. 일부 경우에, 도 6에 나타난 배열은, 텍스처 프로젝터(602)와 3개의 광학 센서 사이의 거리가 변하기 때문에, 컴퓨팅 디바이스가, 제1 광학 센서(604), 제2 광학 센서(606), 및 제3 광학 센서(608) 각각에 의해 캡처된 이미지를 이용하여 3개의 상이한 구조화된 광 깊이 추정치를 결정할 수 있게 한다. 예를 들어, 광학 센서의 하나 이상은 텍스처 프로젝터(602)로부터 훨씬 떨어져 있는 물체에 대한 깊이 추정치를 결정하도록 구성될 수 있고, 광학 센서의 하나 이상은 텍스처 프로젝터(602)에 더 가까운 물체에 대한 깊이 추정치를 결정하도록 구성될 수 있다.
일례에서, 컴퓨팅 디바이스는 제1 광학 센서(604) 및 제2 광학 센서(606)에 의해 캡처된 이미지를 사용하여 스테레오 매칭을 수행하고 제3 광학 센서(608)에 의해 캡처된 이미지를 사용하여 구조화된 광 처리를 수행할 수 있다. 예를 들어, 제1 광학 센서(604) 및 제2 광학 센서(606)는 물체(610)의 시각적 텍스처를 관찰하도록 구성된 RGB 카메라일 수 있다. 한편, 제3 광학 센서(608)는 텍스처 프로젝터(602)에 의해 물체(610) 상에 투영된 공지의 적외선 패턴을 관찰하도록 구성된 IR 센서일 수 있다.
다른 구성이 또한 가능하고, 예시적인 시스템(600)은 제한되는 것으로 의미되지 않는다. 일부 경우에, 서로에 대해 텍스처 프로젝터(602), 제1 광학 센서(604), 제2 광학 센서(606), 및 제3 광학 센서(608)의 상대적 배열은 도 6에 도시된 예시적 배열과 다를 수 있다. 예를 들어, 제1 광학 센서(604), 제2 광학 센서(606), 및 제3 광학 센서(608)의 각각은 텍스처 프로젝터(602)의 공통 측에 위치할 수 있다. 또 다른 예에서, 제3 광학 센서(608)는 제2 광학 센서(606)보다 텍스처 프로젝터(602)로부터 더 떨어져 위치할 수 있다. 또 다른 예에서, 제2 광학 센서(606) 및 제3 광학 센서(608) 중 하나 또는 모두는 텍스처 프로젝터 (602)의 위 또는 아래에 위치할 수 있다.
도 7a 및 7b는 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 이미지의 영역을 결정하는 개념적 설명도이다. 도 7a 및 7b는 이미징 시스템 내의 조명 프레임(700) 및 캡처된 프레임(702)을 묘사한다. 조명 프레임(700)은 공지의 텍스처 패턴을 환경에 투영하는 텍스처 프로젝터의 이미지 평면을 나타낸다. 조명 프레임(700)은 직교 축, 초점 F1, 및 원점 O1을 갖는 축 시스템을 포함한다. 유사하게, 캡처된 프레임(702)은 광학 센서의 이미지 평면을 나타낸다. 캡처된 프레임(702)은 직교 축, 초점 F2, 및 원점 O2을 갖는 축 시스템을 포함한다. 단순화를 위해, 단일의 캡처된 프레임(702)만이 묘사된다. 다른 예는 다수의 각각의 광학 센서에 대응하는 다수의 캡처된 프레임을 포함할 수 있다.
도 7a에 도시된 바와 같이, 텍스처 프로젝터는 조명 프레임(700) 내의 위치 P1으로부터 구조화된 광의 예시적인 광선(ray)을 방출한다. 예시적인 광선은 물체(704A)의 표면의 포인트 PA로부터 반사하고, 캡처된 프레임(702)를 향하여 진행한다. 포인트 PA의 깊이가 스테레오 깊이 추정치로부터 알려져 있고, 조명 프레임(700)과 캡처된 프레임(702)의 초점들 사이의 거리가 알려져 있기 때문에, 컴퓨팅 디바이스는, 삼각 측량을 이용하여, 구조화된 광의 광선이 캡처될 가능성이 있는 영역(706A)을 추정할 수 있다. 도 7a에 도시된 바와 같이, 영역(706A)은 캡처된 프레임(702)의 서브세트일 수 있고, 캡처된 프레임(702)의 직교 축에 대하여 규정될 수 있다. 캡처된 프레임(702)의 사이즈에 대한 영역(706A)의 사이즈가 제한되는 것으로 의도되지는 않는다.
도 7b는 텍스처 프로젝터가 조명 프레임(700) 내의 위치 P1로부터 구조화된 광의 광선을 방출하는 또 다른 예를 묘사한다. 도 7b에 묘사된 예는, 조명 프레임(700)으로부터 더 멀리 떨어져 위치한 물체(704B)의 포인트 PB로부터 광선이 반사하기 때문에 도 7a에 도시된 예와는 다르다. 따라서, 컴퓨팅 디바이스는 영역(706A)과는 상이한 캡처된 프레임(702)의 부분에 위치한 영역(706B)을 결정할 수 있다. 특히, 영역(706B)은 영역(706A)보다는 캡처된 프레임(702)의 원점에 더 가까울 수 있다.
도 8은 예시적인 실시 예에 따른, 또 다른 방법(800)의 블록도이다. 도 8에 도시된 방법(800)은 예를 들어, 도 2b의 제어 시스템(240)에 의해, 또는 보다 일반적으로 임의의 컴퓨팅 디바이스의 하나 이상의 컴포넌트에 의해 이용되거나 구현될 수 있는 방법의 실시 예를 나타낸다. 방법(800)은 블록(802-816) 중 하나 이상에 의해 설명된 것처럼 하나 이상의 동작, 기능, 또는 액션을 포함할 수 있다. 블록들이 일련의 순서로 도시되지만, 이러한 블록들은 또한 병렬로, 및/또는 본 명세서에서 설명되는 것들과 다른 순서로 수행될 수 있다. 또한, 다양한 블록들은 더 적은 블록들로 결합되고, 추가 블록들로 분할되고, 및/또는 원하는 구현에 기초하여 제거될 수 있다.
게다가, 본 방법(800)에 있어서, 각각의 블록은 모듈, 세그먼트, 또는 프로그램 코드의 일부를 나타낼 수 있으며, 그것은 프로세스에서 특정 논리 기능 또는 단계를 구현하기 위해 프로세서 또는 컴퓨팅 디바이스에 의해 실행 가능한 하나 이상의 명령어를 포함한다. 게다가, 도 8에서의 각각의 블록은 프로세스에서 특정 논리 기능을 수행하기 위해 배선되는 회로를 나타낼 수 있다.
처음에, 블록(802)에서, 본 방법(800)은 텍스처 프로젝터가 랜덤 텍스처 패턴을 환경에 투영하게 하는 단계를 포함한다. 일부 예에서, 랜덤 텍스처 패턴은 스테레오 매칭을 용이하게 하는 패턴일 수 있다. 예를 들어, 랜덤 텍스처 패턴은 가시적이거나 적외선 광과 같은, 광의 랜덤 패턴일 수 있고, 그것은 그리고 나서 2개 이상의 이미지 사이의 매칭 대응을 결정하는데 사용될 수 있는 용이하게 식별 가능한 피처를 구성하기 위해서 고의로 장면 내에 투영된다. 예로서, 적어도 하나의 랜덤 텍스처 패턴은 스폿 또는 도트의 2D 패턴을 포함할 수 있으며, 여기서 스폿 또는 도트는 랜덤 패턴에서 비상관적이다. 다양한 실시 예들에서, 랜덤 텍스처 패턴은 시간에 있어서 일정하거나 시간의 함수로서 변할 수 있다.
블록(804)에서, 본 방법(800)은 제1 관점 및 제2 관점으로부터 지각된 환경 및 랜덤 텍스처 패턴의 제1 이미지 및 제2 이미지를 수신하는 단계를 포함한다. 블록(806)에서, 본 방법(800)은 그리고 나서 제1 이미지와 제2 이미지 사이의 대응하는 피처에 기초하여 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하는 단계를 포함한다. 상기 논의에 따라, 컴퓨팅 디바이스는 블록 매칭 알고리즘을 이용하여 제1 이미지와 제2 이미지 사이의 대응을 찾고, 삼각 측량을 이용하여 환경 내의 하나 이상의 포인트까지의 깊이를 추정할 수 있다.
블록(808)에서, 본 방법(800)은 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하는 단계를 포함한다. 일부 경우에, 텍스처 프로젝터는 더 이른 시간에 랜덤 텍스처 패턴을 투영하는데 사용된 동일한 텍스처 프로젝터일 수 있다. 그러나, 다른 예에서, 2개의 개별 프로젝터가 이용될 수 있다: 제1 시간에 랜덤 텍스처 패턴을 투영하는 제1 프로젝터, 및 제2 시간에 공지의 텍스처 패턴을 투영하는 제2 텍스처 프로젝터.
블록(810)에서, 본 방법(800)은 환경 및 공지의 텍스처 패턴의 적어도 하나의 이미지를 수신하는 단계를 포함한다. 예를 들어, 컴퓨팅 디바이스는 제1 이미지를 캡처하는데 사용된 제1 광학 센서로부터 이미지를 수신하고 및/또는 제2 이미지를 캡처하는데 사용된 제2 광학 센서로부터 이미지를 수신할 수 있다. 또는 컴퓨팅 디바이스는 제3 광학 센서로부터 제3 이미지를 수신할 수 있다.
블록(812)에서, 본 방법(800)은 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 적어도 하나의 이미지의 적어도 하나의 영역을 결정하는 단계를 포함한다. 상기 논의에 따라, 컴퓨팅 디바이스는 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 이미지의 부분을 결정하기 위해 이미지를 캡처하는데 사용된 광학 센서와 텍스처 프로젝터 사이의 공지의 관계 및 제1 깊이 추정치를 이용할 수 있다.
블록(814)에서, 본 방법(800)은 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 포인트를 결정하는 단계를 포함한다. 그리고 블록(816)에서, 본 방법(800)은 그리고 나서 적어도 하나의 이미지의 적어도 하나의 영역 내의 공지의 텍스처 패턴의 특정 부분에 대응하는 결정된 포인트에 기초하여 환경 내의 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하는 단계를 포함한다.
간략하게 상기에 언급된 바와 같이, 일부 예에서, 컴퓨팅 디바이스는 2개의 상이한 광학 센서로부터 수신된 공지의 텍스처 패턴의 이미지를 사용하여 다수의 구조화된 광 추정치를 결정할 수 있다. 도 9는 예시적인 실시 예에 따른, 컴퓨팅 디바이스에 의해 수행될 수 있는 예시적 기능의 블록도이다. 일부 예에서, 예시적 기능은 도 4의 예시적 방법(400) 또는 도 8의 예시적 방법(800)과 관련하여 수행될 수 있다. 예를 들어, 도 9의 예시적 기능은 도 4의 블록(408-412) 또는 도 8의 블록(812-816) 대신에 수행될 수 있다.
도 9에 도시된 바와 같이, 블록(902)에서의 기능은, 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 제1 이미지의 제1 영역을 결정하는 단계를 포함한다. 예를 들어, 스테레오 이미징을 이용하여 결정된 깊이 추정치에 기초하여, 컴퓨팅 디바이스는 제1 이미지의 어느 부분이 공지의 텍스처 패턴의 특정 부분을 서치할 지를 결정할 수 있다. 일부 경우에, 제1 이미지는 제1 깊이 추정치를 결정하는데 사용된 2개의 이미지 중 하나일 수 있다. 다른 예에서, 제1 이미지는 제1 깊이 추정치를 결정하는데 사용된 이미지 중 어느 하나와는 다른 이미지일 수 있다. 블록(904 및 906)에서의 기능은 그리고 나서, 제1 이미지를 갖는 공지의 텍스처 패턴의 특정 부분에 대응하는 제1 세트의 포인트를 결정하고, 제1 세트의 포인트에 기초하여 제1 구조화된 광 깊이 추정치를 결정하는 단계를 포함한다.
도 9는 또한 제2 이미지에 대해 수행될 수 있는 기능을 도시한다. 특히, 블록(908)에서의 기능은, 제1 깊이 추정치에 기초하여, 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 제2 이미지의 제2 영역을 결정하는 단계를 포함한다. 예를 들어, 스테레오 이미징을 이용하여 결정된 깊이 추정치에 기초하여, 컴퓨팅 디바이스는 제2 이미지의 어느 부분이 공지의 텍스처 패턴의 특정 부분을 서치할 지를 결정할 수 있다. 일부 경우에, 제2 이미지는 제1 깊이 추정치를 결정하는데 사용된 2개의 이미지 중 하나일 수 있다. 다른 예에서, 제2 이미지는 제1 깊이 추정치를 결정하는데 사용된 이미지 중 어느 하나와는 다른 이미지일 수 있다. 블록(910 및 912)에서의 기능은 그리고 나서, 제2 이미지를 갖는 공지의 텍스처 패턴의 특정 부분에 대응하는 제2 세트의 포인트를 결정하고, 제2 세트의 포인트에 기초하여 제2 구조화된 광 깊이 추정치를 결정하는 단계를 포함한다.
그리고 블록(914)에서의 기능은, 제1 구조화된 광 깊이 추정치와 제2 구조화된 광 깊이 추정치를 결합시킨 제2 깊이 추정치를 결정하는 단계를 포함한다. 예로서, 컴퓨팅 디바이스는 제1 구조화된 광 깊이 추정치와 제2 구조화된 광 깊이 추정치를 평균화할 수 있다. 그러므로, 제1 구조화된 광 깊이 추정치 및 제2 구조화된 광 깊이 추정치는 정확한 깊이 추정치를 결정하기 위해 결합될 수 있는 중복 깊이 추정치일 수 있다.
본 명세서에서 설명되는 배열들은 예시의 목적일 뿐이라는 것을 이해해야 한다. 이와 같이, 본 기술 분야의 통상의 기술자들은 다른 배열들 및 다른 요소들(예컨대, 머신, 인터페이스, 기능, 순서, 및 기능들의 그룹화, 등)이 대신 사용될 수 있고, 원하는 결과들에 따라 일부 요소들이 완전히 생략될 수 있다는 것을 이해할 것이다. 또한, 설명되는 요소들 중 다수는 개별 또는 분산 컴포넌트들로서 또는 다른 컴포넌트들과 함께, 임의의 적합한 조합과 위치에서 구현될 수 있는 기능 엔티티들이다.
다양한 양태 및 실시 예가 본 명세서에 개시되었지만, 다른 양태 및 실시 예도 본 분야의 통상의 기술자에게 분명할 것이다. 본 명세서에 개시된 다양한 양태 및 실시 예들은 예시를 위한 것이고, 한정을 의도하지 않으며, 진정한 범위는 아래의 청구항들이 권리를 갖는 균등물들의 전체 범위와 함께 그러한 청구항들에 의해 나타난다. 또한, 본 명세서에 사용된 용어는 단지 특정한 실시 예를 설명하는 목적을 위한 것이며, 제한하는 것을 의도하지는 않는 것으로 이해될 것이다.
세부 사항에서의 많은 수정, 변경, 및 변화가 기술된 예에 대해 이루어질 수 있기 때문에, 전술한 설명 및 첨부 도면에 도시된 모든 사항은 제한적인 의미가 아닌 예시적인 것으로 해석되어야 한다. 또한, 이하의 설명은 본 명세서의 양태들을 추가로 설명한다고 이해되도록 의도된다.

Claims (20)

  1. 방법으로서,
    컴퓨팅 디바이스에 의해, 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하는 단계;
    상기 컴퓨팅 디바이스에 의해, 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하는 단계 - 상기 복수의 이미지는 제1 광학 센서의 제1 관점으로부터 지각된 상기 환경의 제1 이미지 및 제2 광학 센서의 제2 관점으로부터 지각된 상기 환경의 제2 이미지를 포함함 -;
    상기 컴퓨팅 디바이스에 의해, 상기 제1 이미지와 상기 제2 이미지 사이의 대응하는 피처들에 기초하여 상기 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하는 단계;
    상기 컴퓨팅 디바이스에 의해 그리고 상기 제1 깊이 추정치에 기초하여, 상기 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 상기 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하는 단계 - 상기 적어도 하나의 이미지는 상기 환경 및 상기 환경에 투영되는 상기 공지의 텍스처 패턴을 나타냄 -;
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 이미지의 상기 적어도 하나의 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 포인트들을 결정하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 이미지의 상기 적어도 하나의 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 상기 결정된 포인트들에 기초하여 상기 환경 내의 상기 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 깊이 추정치에 기초하여, 상기 공지의 텍스처 패턴의 상기 특정 부분을 서치하기 위한 상기 적어도 하나의 이미지의 상기 적어도 하나의 영역을 결정하는 단계가, 상기 제1 깊이 추정치에 기초하여 그리고 상기 적어도 하나의 이미지를 캡처하는데 사용된 광학 센서의 위치에 대한 상기 텍스처 프로젝터의 위치에 기초하여 삼각 측량을 이용하여 상기 적어도 하나의 영역을 결정하는 단계를 포함하고,
    상기 적어도 2개의 광학 센서는 상기 제1 광학 센서, 상기 제2 광학 센서 및 제3 광학 센서를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 이미지가, 상기 제1 이미지, 상기 제2 이미지, 또는 둘 다를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 환경의 제1 이미지 및 상기 환경의 제2 이미지가 상기 환경 및 상기 환경에 투영되는 랜덤 텍스처 패턴을 나타내도록, 적어도 2개의 광학 센서에 의해 캡처된 상기 복수의 이미지를 수신하는 단계 이전에 상기 텍스처 프로젝터가 상기 랜덤 텍스처 패턴을 상기 환경에 투영하게 하는 단계를 추가로 포함하는, 방법.
  5. 제4항에 있어서, 상기 적어도 하나의 이미지가 상기 복수의 이미지 중 제3 이미지를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 적어도 2개의 광학 센서는 상기 제1 광학 센서, 상기 제2 광학 센서, 및 제3 광학 센서를 포함하고, 상기 적어도 하나의 이미지는 상기 제3 광학 센서에 의해 캡처되는, 방법.
  7. 제1항에 있어서, 상기 적어도 하나의 이미지의 상기 적어도 하나의 영역의 사이즈에 기초하여 상기 공지의 텍스처 패턴의 사이즈를 결정하는 단계를 추가로 포함하는, 방법.
  8. 제1항에 있어서,
    상기 환경의 제1 이미지 및 상기 환경의 제2 이미지는 상기 환경 및 상기 환경에 투영되는 상기 공지의 텍스처 패턴을 나타내고,
    상기 적어도 하나의 이미지가, 상기 제1 이미지 및 상기 제2 이미지를 포함하고;
    상기 적어도 하나의 이미지의 상기 적어도 하나의 영역이, 상기 제1 이미지의 제1 영역 및 상기 제2 이미지의 제2 영역을 포함하며;
    상기 적어도 하나의 이미지의 상기 적어도 하나의 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 포인트들을 결정하는 단계가, (1) 상기 제1 이미지의 상기 제1 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 제1 세트의 포인트들을 결정하는 단계, 및 (2) 상기 제2 이미지의 상기 제2 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 제2 세트의 포인트들을 결정하는 단계를 포함하는, 방법.
  9. 제8항에 있어서,
    상기 환경 내의 상기 적어도 하나의 표면에 대한 상기 제2 깊이 추정치를 결정하는 단계가,
    (1) 상기 제1 세트의 포인트들에 기초하여 제1 구조화된 광 깊이 추정치를 결정하는 단계, (2) 상기 제2 세트의 포인트들에 기초하여 제2 구조화된 광 깊이 추정치를 결정하는 단계, 및 (3) 상기 제1 구조화된 광 깊이 추정치와 상기 제2 구조화된 광 깊이 추정치를 결합시킨 제2 깊이 추정치를 결정하는 단계를 포함하는, 방법.
  10. 제1항에 있어서, 상기 제1 광학 센서, 상기 제2 광학 센서, 및 상기 텍스처 프로젝터가, 로봇 조작기에 결합되는, 방법.
  11. 제1항에 있어서, 상기 제1 깊이 추정치와 상기 제2 깊이 추정치를 평균화함으로써 제3 깊이 추정치를 결정하는 단계를 추가로 포함하는, 방법.
  12. 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스가 기능들을 수행하게 하는 명령어들을 내부에 저장한 컴퓨터 판독 가능 매체로서,
    상기 기능들이,
    텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하는 것;
    적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하는 것 - 상기 복수의 이미지는 제1 광학 센서의 제1 관점으로부터 지각된 상기 환경의 제1 이미지 및 제2 광학 센서의 제2 관점으로부터 지각된 상기 환경의 제2 이미지를 포함함 -;
    상기 제1 이미지와 상기 제2 이미지 사이의 대응하는 피처들에 기초하여 상기 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하는 것;
    상기 제1 깊이 추정치에 기초하여, 상기 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 상기 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하는 것 - 상기 적어도 하나의 이미지는 상기 환경 및 상기 환경에 투영되는 상기 공지의 텍스처 패턴을 나타냄 -;
    상기 적어도 하나의 이미지의 상기 적어도 하나의 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 포인트들을 결정하는 것; 및
    상기 적어도 하나의 이미지의 상기 적어도 하나의 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 상기 결정된 포인트들에 기초하여 상기 환경 내의 상기 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하는 것을, 포함하는, 컴퓨터 판독 가능 매체.
  13. 제12항에 있어서,
    상기 제1 깊이 추정치에 기초하여, 상기 공지의 텍스처 패턴의 상기 특정 부분을 서치하기 위한 상기 적어도 하나의 이미지의 상기 적어도 하나의 영역을 결정하는 것이, 상기 제1 깊이 추정치에 기초하여 그리고 상기 적어도 하나의 이미지를 캡처하는데 사용된 광학 센서의 위치에 대한 상기 텍스처 프로젝터의 위치에 기초하여 삼각 측량을 사용하여 상기 적어도 하나의 영역을 결정하는 것을 포함하고,
    상기 적어도 2개의 광학 센서는 상기 제1 광학 센서, 상기 제2 광학 센서 및 제3 광학 센서를 포함하는, 컴퓨터 판독 가능 매체.
  14. 제12항에 있어서,
    상기 적어도 하나의 이미지가, 상기 제1 이미지, 상기 제2 이미지, 또는 둘 다를 포함하는, 컴퓨터 판독 가능 매체.
  15. 제12항에 있어서,
    상기 기능들이, 상기 적어도 하나의 이미지의 상기 적어도 하나의 영역의 사이즈에 기초하여 상기 공지의 텍스처 패턴의 사이즈를 결정하는 것을 추가로 포함하는, 컴퓨터 판독가능 매체.
  16. 시스템으로서,
    적어도 2개의 광학 센서;
    공지의 텍스처 패턴을 환경에 투영하도록 구성된 텍스처 프로젝터; 및
    컴퓨팅 디바이스를 포함하고,
    상기 컴퓨팅 디바이스가,
    상기 텍스처 프로젝터가 공지의 텍스처 패턴을 환경에 투영하게 하고;
    상기 적어도 2개의 광학 센서에 의해 캡처된 복수의 이미지를 수신하고 - 상기 복수의 이미지는 제1 광학 센서의 제1 관점으로부터 지각된 상기 환경의 제1 이미지 및 제2 광학 센서의 제2 관점으로부터 지각된 상기 환경의 제2 이미지를 포함함 -;
    상기 제1 이미지와 상기 제2 이미지 사이의 대응하는 피처들에 기초하여 상기 환경 내의 적어도 하나의 표면에 대한 제1 깊이 추정치를 결정하고;
    상기 제1 깊이 추정치에 기초하여, 상기 공지의 텍스처 패턴의 특정 부분을 서치하기 위한 상기 복수의 이미지 중 적어도 하나의 이미지의 적어도 하나의 영역을 결정하고 - 상기 적어도 하나의 이미지는 상기 환경 및 상기 환경에 투영되는 상기 공지의 텍스처 패턴을 나타냄 -;
    상기 적어도 하나의 이미지의 상기 적어도 하나의 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 포인트들을 결정하고;
    상기 적어도 하나의 이미지의 상기 적어도 하나의 영역 내의 상기 공지의 텍스처 패턴의 상기 특정 부분에 대응하는 상기 결정된 포인트들에 기초하여 상기 환경 내의 상기 적어도 하나의 표면에 대한 제2 깊이 추정치를 결정하도록 구성되는, 시스템.
  17. 제16항에 있어서,
    상기 적어도 하나의 이미지가 상기 제1 이미지, 상기 제2 이미지, 또는 둘 다를 포함하는, 시스템.
  18. 제16항에 있어서, 로봇 조작기를 추가로 포함하고,
    상기 텍스처 프로젝터가 상기 로봇 조작기에 결합되는, 시스템.
  19. 제18항에 있어서, 상기 적어도 2개의 광학 센서가 상기 로봇 조작기에 결합되는, 시스템.
  20. 제16항에 있어서, 상기 컴퓨팅 디바이스가, 상기 적어도 하나의 이미지의 상기 적어도 하나의 영역의 사이즈에 기초하여 상기 공지의 텍스처 패턴의 사이즈를 결정하도록 추가로 구성되는, 시스템.
KR1020177005619A 2014-08-29 2015-06-18 스테레오와 구조화된 광 처리의 결합 KR101772367B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462043463P 2014-08-29 2014-08-29
US62/043,463 2014-08-29
US14/584,016 US9507995B2 (en) 2014-08-29 2014-12-29 Combination of stereo and structured-light processing
US14/584,016 2014-12-29
PCT/US2015/036404 WO2016032600A1 (en) 2014-08-29 2015-06-18 Combination of stereo and structured-light processing

Publications (2)

Publication Number Publication Date
KR20170031252A KR20170031252A (ko) 2017-03-20
KR101772367B1 true KR101772367B1 (ko) 2017-08-28

Family

ID=53499104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177005619A KR101772367B1 (ko) 2014-08-29 2015-06-18 스테레오와 구조화된 광 처리의 결합

Country Status (7)

Country Link
US (1) US9507995B2 (ko)
EP (1) EP3186777B1 (ko)
JP (1) JP6211734B1 (ko)
KR (1) KR101772367B1 (ko)
CN (1) CN106575438B (ko)
AU (1) AU2015307191B2 (ko)
WO (1) WO2016032600A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9393694B2 (en) * 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
JP2014069251A (ja) * 2012-09-28 2014-04-21 Dainippon Screen Mfg Co Ltd 作業部制御装置、作業ロボット、作業部制御方法、および作業部制御プログラム
US10455212B1 (en) * 2014-08-25 2019-10-22 X Development Llc Projected pattern motion/vibration for depth sensing
TWD178887S (zh) * 2014-09-01 2016-10-11 蘋果公司 顯示螢幕之圖形使用者介面之部分
WO2016054656A1 (en) * 2014-10-03 2016-04-07 Wynright Corporation Perception-based robotic manipulation system and method for automated truck unloader that unloads/unpacks product from trailers and containers
US10068338B2 (en) * 2015-03-12 2018-09-04 Qualcomm Incorporated Active sensing spatial resolution improvement through multiple receivers and code reuse
EP3295239B1 (en) * 2015-05-13 2021-06-30 Facebook Technologies, LLC Augmenting a depth map representation with a reflectivity map representation
US9846943B2 (en) 2015-08-31 2017-12-19 Qualcomm Incorporated Code domain power control for structured light
US10257498B2 (en) * 2015-12-04 2019-04-09 Empire Technology Development Llc Coordination of multiple structured light-based 3D image detectors
US10475201B1 (en) * 2016-02-02 2019-11-12 Hunter Engineering Company Method and apparatus for determining wheel rim and tire dimensions on a moving vehicle
US10217225B2 (en) 2016-06-01 2019-02-26 International Business Machines Corporation Distributed processing for producing three-dimensional reconstructions
US10574909B2 (en) 2016-08-08 2020-02-25 Microsoft Technology Licensing, Llc Hybrid imaging sensor for structured light object capture
KR101853127B1 (ko) * 2017-05-19 2018-04-27 주식회사 랜도르아키텍쳐 구동형 마킹 시스템, 구동형 마킹 장치의 제어방법 및 컴퓨터 판독 가능한 기록매체
CN110709669B (zh) * 2017-06-07 2021-09-07 索尼半导体解决方案公司 信息处理装置和方法
EP3453646A1 (en) * 2017-09-11 2019-03-13 Nekos Oy System for storing storage units
JP6879168B2 (ja) * 2017-11-01 2021-06-02 オムロン株式会社 3次元測定装置、3次元測定方法及びプログラム
US10334232B2 (en) * 2017-11-13 2019-06-25 Himax Technologies Limited Depth-sensing device and depth-sensing method
CN109328456B (zh) * 2017-11-30 2020-10-16 深圳配天智能技术研究院有限公司 一种拍摄装置及拍摄位置寻优的方法
US10697757B2 (en) 2017-12-22 2020-06-30 Symbol Technologies, Llc Container auto-dimensioning
US10908612B2 (en) 2018-03-29 2021-02-02 Toyota Research Institute, Inc. Systems and methods for an autonomous cart robot
WO2019196001A1 (zh) * 2018-04-10 2019-10-17 深圳市汇顶科技股份有限公司 三维影像测距系统及方法
US11040452B2 (en) * 2018-05-29 2021-06-22 Abb Schweiz Ag Depth sensing robotic hand-eye camera using structured light
US11548159B1 (en) * 2018-05-31 2023-01-10 AI Incorporated Modular robot
CN109029257B (zh) * 2018-07-12 2020-11-06 中国科学院自动化研究所 基于立体视觉和结构光视觉的大型工件位姿测量系统、方法
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US10618172B1 (en) 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US10679379B1 (en) 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US11688030B2 (en) * 2019-06-12 2023-06-27 Frito-Lay North America, Inc. Shading topography imaging for robotic unloading
CN110297491A (zh) * 2019-07-02 2019-10-01 湖南海森格诺信息技术有限公司 基于多个结构光双目ir相机的语义导航方法及其系统
CN113043282B (zh) * 2019-12-12 2022-03-29 牧今科技 用于物体检测或机器人交互规划的方法和系统
JP7023450B2 (ja) 2019-12-12 2022-02-22 株式会社Mujin カメラによって生成される画像情報に基づいて、動作計画を実行する方法および計算システム
CN113219900B (zh) * 2019-12-12 2022-03-29 牧今科技 基于相机生成的图像信息执行运动规划的方法和计算系统
US12080013B2 (en) * 2020-07-06 2024-09-03 Toyota Research Institute, Inc. Multi-view depth estimation leveraging offline structure-from-motion
FR3118014B1 (fr) * 2020-12-17 2023-05-05 Boubiela Moret Procédé pour désempiler des pneus empilés en rangées inclinées
CN113307042B (zh) * 2021-06-11 2023-01-03 梅卡曼德(北京)机器人科技有限公司 基于传送带的物体拆垛方法、装置、计算设备及存储介质
US20230025647A1 (en) * 2021-07-23 2023-01-26 Mujin, Inc. Robotic system with object update mechanism and methods for operating the same
CN113763472B (zh) * 2021-09-08 2024-03-29 未来科技(襄阳)有限公司 一种视点宽度的确定方法、装置及存储介质
JP2023181733A (ja) * 2022-06-13 2023-12-25 東京ロボティクス株式会社 ロボット装置、ロボットシステム、並びにロボットの制御方法及び制御プログラム
US11759826B1 (en) 2022-07-12 2023-09-19 Tompkins Robotics, Inc. Article loading system and method for multilevel sorter

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006084385A1 (en) 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998003021A1 (en) * 1996-06-28 1998-01-22 Sri International Small vision module for real-time stereo and motion analysis
DE10042723A1 (de) 2000-08-31 2002-03-28 Gf Mestechnik Gmbh Verfahren und Vorrichtung zur Messung eines Volumens, insbesondere des Brennraumvolumens von Zylinderköpfen
GB2395261A (en) * 2002-11-11 2004-05-19 Qinetiq Ltd Ranging apparatus
CA2435935A1 (en) 2003-07-24 2005-01-24 Guylain Lemelin Optical 3d digitizer with enlarged non-ambiguity zone
JP4380663B2 (ja) * 2006-06-08 2009-12-09 コニカミノルタセンシング株式会社 三次元形状測定方法、装置、及びフォーカス調整方法
KR101506926B1 (ko) * 2008-12-04 2015-03-30 삼성전자주식회사 깊이 추정 장치 및 방법, 및 3d 영상 변환 장치 및 방법
KR101259835B1 (ko) 2009-06-15 2013-05-02 한국전자통신연구원 깊이 정보를 생성하기 위한 장치 및 방법
DE102010036852C5 (de) 2010-08-05 2018-03-22 Sick Ag Stereokamera
US8447098B1 (en) * 2010-08-20 2013-05-21 Adobe Systems Incorporated Model-based stereo matching
US20120056982A1 (en) 2010-09-08 2012-03-08 Microsoft Corporation Depth camera based on structured light and stereo vision
US8448056B2 (en) * 2010-12-17 2013-05-21 Microsoft Corporation Validation analysis of human target
US9047688B2 (en) * 2011-10-21 2015-06-02 Here Global B.V. Depth cursor and depth measurement in images
US9098908B2 (en) * 2011-10-21 2015-08-04 Microsoft Technology Licensing, Llc Generating a depth map
EP2602588A1 (en) * 2011-12-06 2013-06-12 Hexagon Technology Center GmbH Position and Orientation Determination in 6-DOF
KR101975971B1 (ko) * 2012-03-19 2019-05-08 삼성전자주식회사 깊이 카메라, 다중 깊이 카메라 시스템, 그리고 그것의 동기 방법
CN103322937A (zh) * 2012-03-19 2013-09-25 联想(北京)有限公司 一种结构光法测量物体深度的方法及装置
KR101893771B1 (ko) * 2012-05-10 2018-08-31 삼성전자주식회사 3d 정보 처리 장치 및 방법
DE202012102541U1 (de) 2012-07-10 2013-10-18 Sick Ag 3D-Kamera
US20140092281A1 (en) 2012-09-28 2014-04-03 Pelican Imaging Corporation Generating Images from Light Fields Utilizing Virtual Viewpoints
US11509880B2 (en) 2012-11-14 2022-11-22 Qualcomm Incorporated Dynamic adjustment of light source power in structured light active depth sensing systems
US9214025B2 (en) 2012-11-30 2015-12-15 Adobe Systems Incorporated Depth estimation using normalized displacement of image pairs
TWI503618B (zh) * 2012-12-27 2015-10-11 Ind Tech Res Inst 深度影像擷取裝置、其校正方法與量測方法
US20140307055A1 (en) * 2013-04-15 2014-10-16 Microsoft Corporation Intensity-modulated light pattern for active stereo
US9483829B2 (en) * 2013-09-04 2016-11-01 International Business Machines Corporation Efficient visual surface finding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006084385A1 (en) 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system

Also Published As

Publication number Publication date
EP3186777B1 (en) 2020-04-22
JP2017534836A (ja) 2017-11-24
WO2016032600A1 (en) 2016-03-03
US9507995B2 (en) 2016-11-29
AU2015307191A1 (en) 2017-01-19
AU2015307191B2 (en) 2017-09-28
EP3186777A1 (en) 2017-07-05
JP6211734B1 (ja) 2017-10-11
US20160063309A1 (en) 2016-03-03
CN106575438A (zh) 2017-04-19
CN106575438B (zh) 2019-06-25
KR20170031252A (ko) 2017-03-20

Similar Documents

Publication Publication Date Title
KR101772367B1 (ko) 스테레오와 구조화된 광 처리의 결합
US20210187736A1 (en) Determining a Virtual Representation of an Environment By Projecting Texture Patterns
US9659217B2 (en) Systems and methods for scale invariant 3D object detection leveraging processor architecture
US9205562B1 (en) Integration of depth points into a height map
JP6461369B2 (ja) 視覚光、および、赤外の投射されるパターンを検出するためのイメージャ
US9630316B2 (en) Real-time determination of object metrics for trajectory planning
US10455212B1 (en) Projected pattern motion/vibration for depth sensing

Legal Events

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