KR20180089417A - 스토캐스틱 맵 인식 입체 시각 센서 모델 - Google Patents

스토캐스틱 맵 인식 입체 시각 센서 모델 Download PDF

Info

Publication number
KR20180089417A
KR20180089417A KR1020187015236A KR20187015236A KR20180089417A KR 20180089417 A KR20180089417 A KR 20180089417A KR 1020187015236 A KR1020187015236 A KR 1020187015236A KR 20187015236 A KR20187015236 A KR 20187015236A KR 20180089417 A KR20180089417 A KR 20180089417A
Authority
KR
South Korea
Prior art keywords
probability
obtaining
sensor
measurement
determining
Prior art date
Application number
KR1020187015236A
Other languages
English (en)
Other versions
KR102174873B1 (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 KR20180089417A publication Critical patent/KR20180089417A/ko
Application granted granted Critical
Publication of KR102174873B1 publication Critical patent/KR102174873B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06K9/00664
    • G06K9/6277
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • 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/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • 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/30241Trajectory
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Electromagnetism (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

센서 모델을 정의하는 방법은 스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 다수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하는 단계를 포함한다. 스토캐스틱 맵은 그 스토캐스틱 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 평균 점유 레벨의 분산을 포함한다. 방법은 또한 측정을 획득하는 결정된 확률에 기초하여 이미지를 획득하는 확률을 결정하는 단계를 포함한다. 방법은 이미지를 획득하는 확률에 기초하여, 센서를 포함하는 로봇에 대한 액션을 계획하는 단계를 더 포함한다.

Description

스토캐스틱 맵 인식 입체 시각 센서 모델
본 출원은 2015년 12월 2일자로 출원된, 발명의 명칭이 “STOCHASTIC MAP AWARE STEREO VISION SENSOR MODEL” 인 미국 가특허출원 제 62/262,339 호에 대한 35 U.S.C. § 119(e) 하의 이익을 주장하며, 그것의 개시는 여기에 그 전체가 참조에 의해 명백히 병합된다.
본 개시의 양태들은 일반적으로 머신 러닝에 관한 것으로서, 특히 스토캐스틱 맵에 기초하여 센서 모델을 정의하는 시스템들 및 방법들을 개선하는 것에 관한 것이다.
일부 경우들에서, 주어진 영역 내에서 로봇과 같은 자율적인 비히클 (vehicle) 의 위치를 결정하는 것은 바람직하다. 다른 경우들에서, 로봇의 위치가 주어지는 경우, 로봇의 주변의 맵을 생성하는 것이 바람직하다. 맵들은 증분적 접근법 또는 배치 (batch) 접근법을 통해 생성될 수도 있다.
배치 접근법을 통해 생성되는 맵은 다수의 센서 측정들이 맵핑될 환경 전체에 걸쳐 수집된 후 즉시 생성될 수도 있다. 즉, 배치 접근법에서는, 맵핑될 환경의 모든 데이터가 맵을 계산하기 전에 수집된다. 또, 일부 경우들에서, 로봇은 맵을 계산하기 전에 환경 내의 모든 데이터를 수집할 수 없을 수도 있다.
따라서, 일부 경우들에서, 증분적 접근법이 맵을 생성하기 위해 특정된다. 증분적 접근법을 통해 생성되는 맵은 로봇의 근처로부터 수집된 초기 데이터에 기초하여 계산되고 각각의 새로운 센서 측정으로 업데이트될 수도 있다. 각각의 새로운 센서 측정은 그의 로케이션을 변경하거나, 동일한 로케이션으로부터 상이한 영역을 측정하거나, 여분 (redundancy) 을 위한 동일한 측정을 수행하는 로봇에 기초할 수도 있다. 증분적 접근법의 경우, 센서 측정들은 서로로부터 독립적이다. 따라서, 로봇은 맵을 계산할 때 가정들을 사용할 수도 있다. 따라서, 증분적 맵을 계산할 때에 일부 불확실성이 존재할 수도 있다.
가정들에 기초한 불확실성을 갖는 맵은 스토캐스틱 맵으로서 지칭될 수도 있다. 맵을 생성하고 및/또는 맵핑된 환경을 통해 궤적을 계획할 때, 센서 모델은 여러 점유 레벨들 및 그 점유 레벨들에서의 신뢰값들을 갖는 다수의 복셀들을 갖는 맵이 주어진 경우 센서의 시야에서의 복셀들의 점유 레벨을 예측하도록 정의될 수도 있다.
본 개시의 하나의 양태에서, 센서 모델을 정의하는 방법이 개시된다. 방법은 스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 다수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하는 단계를 포함한다. 맵은 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 평균 점유 레벨의 분산을 갖는다. 방법은 또한 측정을 획득하는 결정된 확률에 기초하여 이미지를 획득하는 확률을 결정하는 단계를 포함한다. 방법은 이미지를 획득하는 확률에 기초하여 센서를 포함하는 로봇에 대한 액션을 계획하는 단계를 더 포함한다.
본 개시의 다른 양태는 스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 다수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하는 수단을 포함하는 장치로 지향된다. 맵은 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 평균 점유 레벨의 분산을 포함한다. 장치는 또한 측정을 획득하는 결정된 확률에 기초하여 이미지를 획득하는 확률을 결정하는 수단을 포함한다. 장치는 이미지를 획득하는 확률에 기초하여 센서를 포함하는 로봇에 대한 액션을 계획하는 수단을 더 포함한다.
본 개시의 다른 양태에서, 기록된 비일시적 프로그램 코드를 갖는 비일시적 컴퓨터 판독가능 매체가 개시된다. 센서 모델을 정의하기 위한 프로그램 코드는 프로세서에 의해 실행되고, 스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 다수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하는 프로그램 코드를 포함한다. 맵은 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 평균 점유 레벨의 분산을 포함한다. 프로그램 코드는 또한 측정을 획득하는 결정된 확률에 기초하여 이미지를 획득하는 확률을 결정하는 프로그램 코드를 포함한다. 프로그램 코드는 이미지를 획득하는 확률에 기초하여 센서를 포함하는 로봇에 대한 액션을 계획하는 프로그램 코드를 더 포함한다.
본 개시의 다른 양태는 메모리 유닛 및 메모리 유닛에 커플링된 하나 이상의 프로세서들을 갖는 센서 모델을 정의하기 위한 장치에 지향된다. 프로세서(들) 는 스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 다수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하도록 구성된다. 맵은 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 평균 점유 레벨의 분산을 갖는다. 프로세서(들) 은 또한 측정을 획득하는 결정된 확률에 기초하여 이미지를 획득하는 확률을 결정하도록 구성된다. 프로세서(들) 은 또한 이미지를 획득하는 확률에 기초하여 센서를 포함하는 로봇에 대한 액션을 계획하도록 구성된다.
본 개시의 추가적인 특징들 및 이점들이 이하에 기술될 것이다. 본 개시는 본 개시의 동일한 목적들을 수행하기 위해 다른 구조들을 변경 또는 설계하는 것에 대한 기초로서 용이하게 이용될 수도 있다는 것이 당업자들에 의해 인정되어야 한다. 그러한 등가 구성들은 첨부된 청구범위에 진술된 바와 같은 개시의 교시들로부터 일탈하지 않는다는 것이 당업자들에 의해 실감되어야 한다. 추가의 목적들 및 이점들과 함께, 그것의 조직화 및 동작의 방법 양자 모두에 관하여, 본 개시의 특징으로 생각되는 신규한 특징들은 첨부하는 도면들과 관련하여 고려될 때 다음의 설명으로부터 더 잘 이해될 것이다. 그러나, 그 특징들 각각은 예시 및 설명의 목적으로만 제공되고 본 개시의 한계들의 정의로서 의도되지 않는다는 것이 명백히 이해되어야 한다.
본 개시의 특징들, 특성, 및 이점들은 동일한 참조 부호들이 명세서 전체에 걸쳐 대응적으로 식별하는 도면들과 함께 취해질 때 이하에 진술된 상세한 설명으로부터 더 분명해질 것이다.
도 1 은 본 개시의 소정의 양태들에 따른 범용 프로세서를 포함하는 시스템-온-칩 (SOC) 을 갖는 모션 플래닝의 예시의 구현을 도시한다.
도 2 는 본 개시의 소정의 양태들에 따른 시스템의 예시의 구현을 도시한다.
도 3a, 도 3b, 및 도 3c 는 본개시의 양태들에 따른 측정들을 수행하는 로봇의 예들을 도시한다.
도 4 는 본 개시의 양태들에 따라 맵핑될 환경의 예를 도시한다.
도 5a, 도 5b, 도 5c, 도 5d, 및 도 6 은 본 개시의 양태들에 따른 측정들을 수행하는 예들을 도시한다.
도 7 은 예시적인 장치 내의 상이한 모듈들/수단들/컴포넌트들을 도시하는 블록도이다.
도 8 은 본 개시의 양태들에 따른 센서 모델을 정의하는 방법의 흐름도를 도시한다.
첨부된 도면들과 연계하여 하기에 설명되는 상세한 설명은, 여러 구성들의 설명으로서 의도된 것이며 본원에서 설명되는 개념들이 실시될 수도 있는 유일한 구성들만을 나타내도록 의도된 것은 아니다. 상세한 설명은 여러 개념들의 완전한 이해를 제공하기 위한 목적으로 특정 세부사항들을 포함한다. 그러나, 이들 개념들이 이들 특정 세부사항들 없이 실시될 수도 있음이 당업자에게는 명백할 것이다. 일부 사례들에서, 이러한 개념들을 모호하게 하는 것을 방지하기 위해 공지의 구조들 및 컴포넌트들이 블록도의 형태로 도시된다.
본 개시물의 임의의 다른 양태들과 독립적으로 또는 결합하여 구현되는지 여부에 관계없이, 본 교시들에 기초하여, 당업자들은 본 개시의 범위가 본 개시의 임의의 양태를 커버하도록 의도된다는 것을 인정해야 한다. 예를 들어, 제시된 임의의 개수의 양태들을 이용하여 장치가 구현될 수도 있거나 방법이 실시될 수도 있다. 또한, 본 개시의 범위는 본원에 제시된 개시의 다양한 양태들에 더해 또는 그 외에 다른 구조, 기능성, 또는 구조와 기능성을 이용하여 실시되는 그러한 장치 또는 방법을 커버하고자 한다. 본원에 개시된 개시의 임의의 양태는 청구항의 하나 이상의 요소들에 의해 구체화될 수도 있다.
단어 "예시적인" 은 본원에서 "예, 예시, 또는 설명의 역할을 하는" 것을 의미하기 위해 사용된다. "예시적인" 으로 본원에서 설명된 임의의 양태는 반드시 다른 양태들보다 바람직하거나 이로운 것으로 해석되지는 않는다.
특정 양태들이 본원에서 설명되지만, 이러한 양태들의 많은 변형예들 및 치환예들이 본 개시의 범위 내에 속한다. 바람직한 양태들의 일부 이득들 및 이점들이 언급되었지만, 본 개시의 범위는 특정 이득들, 이용들, 또는 목적들로 제한되고자 하지 않는다. 오히려, 본 개시의 양태들은 상이한 기술들, 시스템 구성들, 네트워크들, 및 프로토콜들에 널리 적용되고자 하며, 본 개시물의 양태들 중 일부는 도면들에서 그리고 다음의 바람직한 양태들의 설명에서 예로서 예시된다. 상세한 설명 및 도면들은 제한하는 것이기 보다는 단지 본 개시물의 예시일 뿐이며, 본 개시물의 범위는 첨부된 청구항들 및 그의 등가물들에 의해 정의된다.
로봇들과 같은 자율적인 시스템들의 경우, 로봇의 주변의 정확한 맵을 구성하는 것이 바람직하다. 맵은 입체 시각 센서와 같은 센서를 통해 생성될 수도 있다. 더욱이, 큰 환경들에 대한 맵들을 구성할 때, 복셀 사이즈들은 계산을 다루기 쉽게 유지하기 위해 증가된다.
하나의 구성에서, 맵을 결정하기 위해, 맵은 복셀들 (예를 들어, 셀들) 로 파티셔닝될 수도 있다. 각 복셀은 점유되거나 (예를 들어, 풀 (full) 이거나), 부분적으로 점유되거나, 비어 있는 상태를 가질 수도 있다. 증분적 접근법 (예를 들어, 증분적 데이터) 을 사용하여 맵을 생성할 때, 종래의 기법들은 모순된 맵들을 계산할 수도 있고, 복셀의 결정된 점유 레벨에서의 불확실성을 설명할 수 없을 수도 있고, 및/또는 복셀들의 점유 레벨 (예를 들어, 풀, 부분적 풀, 또는 엠프티 (empty)) 을 결정할 수 없을 수도 있다. 예를 들어, 종래의 시스템들에서, 증분적 접근법을 사용하여 맵을 계산할 때, 복셀은 제로 (예를 들어, 엠프티) 또는 1 (예를 들어, 풀) 이다. 따라서, 종래의 시스템들은 맵을 계산할 때 복셀의 점유 레벨을 고려하지 않는다. 본 출원에서, 점유 레벨은 공간에 대한 점유의 비율을 지칭할 수도 있다. 더욱이, 점유 레벨은 또한 점유도 및/또는 밀도로서 지칭될 수도 있다.
본 개시의 양태들은 각 복셀에 대한 평균 점유 레벨 및 각 평균 점유 레벨에 대한 분산을 갖는 스토캐스틱 맵에 기초하여 센서 모델을 정의하는 것에 지향된다. 센서 모델은 칩상에서 (예를 들어, 디지털 신호 프로세서 (DSP) 또는 그래픽 프로세싱 유닛 (GPU) 상에서) 구현될 수도 있다. 센서 모델은 예를 들어 로보틱스 애플리케이션들에서 및 로봇이 동작할 환경에 대한 지식에서의 변동이 존재하는 곳에서 유용할 수도 있다.
도 1 은 본 개시의 소정의 양태들에 따른 범용 프로세서 (CPU) 또는 다중-코어 범용 프로세서들 (CPUs) (102) 를 포함할 수도 있는, 시스템-온-칩 (SOC) (100) 을 사용하는 상술된 센서 모델의 예시의 구현을 도시한다. 변수들 (예를 들어, 신경 신호들 및 시냅틱 가중치들), 연산 디바이스와 연관된 시스템 파라미터들 (예를 들어, 가중치들을 갖는 신경망), 지연들, 주파수 빈 정보, 및 태스크 정보는 신경 프로세싱 유닛 (NPU) (108) 과 연관된 메모리 블록에, CPU (102) 와 연관된 메모리 블록에, 그래픽 프로세싱 유닛 (GPU) (104) 과 연관된 메모리 블록에, 디지털 신호 프로세서 (DSP) (106) 와 연관된 메모리 블록에, 전용 메모리 블록 (118) 에 저장될 수도 있거나, 다수의 블록들에 걸쳐 분포될 수도 있다. 범용 프로세서 (102) 에서 실행되는 명령들은 CPU (102) 와 연관된 프로그램 메모리로부터 로딩될 수도 있거나 전용 메모리 블록 (118) 으로부터 로딩될 수도 있다.
SOC (100) 는 또한 GPU (104), DSP (106), 제 4 세대 롱 텀 에볼루션 (4G LTE) 연결성, 비허가 Wi-Fi 연결성, USB 연결성, 블루투스 연결성 등을 포함할 수도 있는 연결성 블록 (110), 및 예를 들어, 제스쳐들을 검출 및 인식할 수도 있는 멀티미디어 프로세서 (112) 와 같은 특정의 기능들로 테일러링된 추가적인 프로세싱 블록들을 포함할 수도 있다. 하나의 구현에서, NPU 는 CPU, DSP, 및/또는 GPU 에서 구현된다. SOC (100) 는 또한 센서 프로세서 (114), 이미지 신호 프로세서들 (ISPs) (116), 및/또는 글로벌 포지셔닝 시스템을 포함할 수도 있는 네비게이션 (120) 을 포함할 수도 있다.
SOC 는 ARM 명령 세트에 기초할 수도 있다. 본 개시의 양태에서, 범용 프로세서 (102) 로 로딩된 명령들은 스토캐스틱 맵 내의 각 복셀에 대한 평균 점유 레벨 및 그 평균 점유 레벨의 분산을 포함하는 스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 다수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하기 위한 코드를 포함한다. 범용 프로세서 (102) 는 측정을 획득하는 결정된 확률에 기초하여 이미지를 획득하는 확률을 결정하는 코드를 또한 포함할 수도 있다. 더욱이, 범용 프로세서 (102) 는 이미지를 획득하는 확률에 기초하여 센서 (114) 를 포함하는 로봇에 대한 액션을 계획하는 코드를 더 포함할 수도 있다.
도 2 는 본 개시의 소정의 양태들에 따른 시스템 (200) 의 예시적인 구현을 도시한다. 도 2 에 도시된 바와 같이, 시스템 (200) 은 여기에 기술된 방법들의 다양한 동작들을 수행할 수도 있는 다수의 로컬 프로세싱 유닛들 (202) 을 가질 수도 있다. 각각의 로컬 프로세싱 유닛 (202) 은 신경망의 파라미터들을 저장할 수도 있는 로컬 상태 메모리 (204) 및 로컬 파라미터 메모리 (206) 를 포함할 수도 있다. 더불어, 로컬 프로세싱 유닛 (202) 은 로컬 모델 프로그램을 저장하기 위한 로컬 (신경) 모델 프로그램 (local model program; LMP) 메모리 (208), 로컬 학습 프로그램을 저장하기 위한 로컬 학습 프로그램 (local learning program; LLP) 메모리 (210), 및 로컬 연결 메모리 (212) 를 가질 수도 있다. 또한, 도 2 에 도시된 바와 같이, 각각의 로컬 프로세싱 유닛 (202) 은 로컬 프로세싱 유닛의 로컬 메모리들을 위한 구성을 제공하기 위한 구성 프로세서 유닛 (214), 및 로컬 프로세싱 유닛들 (202) 사이에 라우팅을 제공하는 라우팅 연결 프로세싱 유닛 (216) 과 인터페이싱할 수도 있다.
하나의 구성에서, 맵 생성 모델은 복수의 복셀들 중 각 복셀의 점유 레벨을 결정하는 것, 점유 레벨의 PDF 를 결정하는 것, 및 PDF 를 결정한 후에 수행된 측정에 기초하여 맵을 생성하기 위해 PDF 에 대해 증분적 베이지안 (Bayesian) 업데이트를 수행하는 것을 위해 구성된다. 모델은 결정하는 수단 및/또는 수행하는 수단을 포함한다. 하나의 양태에서, 결정하는 수단 및/또는 수행하는 수단은 범용 프로세서 (102), 범용 프로세서 (102) 와 연관된 프로그램 메모리, 메모리 블록 (118), 로컬 프로세싱 유닛들 (202), 및 또는 기재된 기능들을 수행하도록 구성된 라우팅 연결 프로세싱 유닛들 (216) 일 수도 있다. 다른 구성에서, 상술된 수단은 상술된 수단에 의해 기재된 기능들을 수행하도록 구성된 임의의 모듈 또는 임의의 장치일 수도 있다.
본 개시의 소정의 양태들에 따르면, 각각의 로컬 프로세싱 유닛 (202) 은 모델의 원하는 하나 이상의 기능적 특징들에 기초하여 모델의 파라미터들을 결정하고, 결정된 파라미터들이 추가로 적응, 튜닝 및 업데이트됨에 따라 원하는 기능적 특징들을 향해 하나 이상의 기능적 특징들을 개발하도록 구성될 수도 있다.
스토캐스틱 맵 인식 입체 시각 센서 모델
이전에 논의된 바와 같이, 본 개시의 양태들은 각 복셀의 점유 레벨을 결정하는 것 및 결정된 점유 레벨의 신뢰 레벨을 결정하는 것에 지향된다. 신뢰 레벨은 로봇 (예를 들어, 자율적 디바이스) 과 같은 디바이스에 의해 관측된 데이터가 주어진 경우 복셀의 확률 분포 함수 (PDF) 로서 지칭될 수도 있다. 맵의 신뢰 레벨은 맵 내의 복셀들의 각각의 신뢰 레벨에 기초할 수도 있다.
하나의 구성에서, 맵핑 모듈은 로봇과 같은 디바이스에 대해 특정된다. 매핑 모듈은 디지털 신호 프로세서 (DSP), 앱-프로세서, 그래픽 프로세싱 유닛 (GPU), 및/또는 다른 모듈일 수도 있다. 맵핑 모듈은 증분적 데이터를 사용하여 생성된 맵들의 정확성을 향상시키도록 특정될 수도 있다. 더욱이, 맵핑 모듈은 복셀들의 점유 레벨을 프로세싱하고 (예를 들어, 큰 복셀들을 가능하게 하고 계산 복잡도를 감소시키고), 및/또는 맵 구성에 스토캐스틱 센서 모델과 같은 센서 모델을 통합할 수도 있다. 추가적으로, 맵핑 모듈은 맵 내의 복셀들의 점유 레벨들을 프로세싱하고 결정된 점유의 신뢰 레벨을 결정할 수도 있다. 마지막으로, 맵핑 모듈은 불확실성 하에서의 플래닝을 향상시키기 위해 사용될 수도 있다. 본 개시의 양태들은 로봇을 위한 맵을 생성하는 것에 지향된다. 여전히, 맵들은 로봇을 위해 생성되는 것에 제한되지 않고, 예를 들어, 자동차, 비행기, 보트, 및/또는 인간과 같은 임의의 타입의 디바이스에 대해 고려된다. 또한, 하나의 구성에서, 디바이스는 자율적이다.
도 3a, 도 3b 및 도 3c 는 본 개시의 양태들에 따른 측정들을 수행하는 로봇의 예들을 도시한다. 도 3a 는 로봇 (300) 의 하나 이상의 센서들 (미도시) 을 통해 측정들을 수행하는 로봇 (300) 의 예를 도시한다. 측정들은 광선 (ray) 이 복셀에 의해 차단되는지 여부에 기초하여 회득되는 측정을 지칭할 수도 있다. 물론, 본 개시의 양태들은 측정 광선들에 제한되지 않고, 다른 타입들의 측정들에 대해 또한 고려된다. 도 3a 에 도시된 바와 같이, 로봇 (300) 의 센서는 센서가 콘 (cone) (302) 내의 영역 (304) 으로부터 측정들을 수신하도록 측정 콘 (302) 을 가질 수도 있다.
도 3b 에 도시된 바와 같이, 본 개시의 양태에 따르면, 로봇 (300) 은 맵핑될 환경 (306) 에 배치될 수도 있다. 맵핑될 환경 (306) 은 다수의 복셀들 (308) 을 포함할 수도 있다. 도 3b 에 도시된 바와 같이, 센서에 의한 측정들에 기초하여, 센서는 측정 콘 (302) 내의 각 복셀 (308) 의 점유 레벨을 결정할 수도 있다. 도 3b 의 복셀들 (308) 은 예시적인 목적들을 위한 것이고, 본 개시의 복셀들은 도 3b 에 도시된 복셀들의 사이즈 또는 수에 제한되지 않는다.
도 3c 에 도시된 바와 같이, 본 개시의 양태에 따르면, 로봇 (300) 은 사이한 로케이셔들에서 측정들을 수행할 수도 있다. 증분적 접근법의 경우, 맵은 제 1 로케이션에서 획득된 측정들에 기초하여 생성되고, 생성된 맵은 로봇이 맵핑될 환경 (306) 내의 상이한 로케이션들로 이동함에 따라 업데이트된다. 상이한 로케이션들에서의 측정들이 상이한 시간들 (예를 들어, 상이한 시간 스텝들) 에서 수행된다. 예를 들어, 로봇 (300) 은 제 1 시간에 제 1 로케이션에서 제 1 측정 및 제 2 시간에 제 2 로케이션에서 제 2 측정을 수행할 수도 있다.
도 4 는 본 개시의 양태들에 따라 맵핑될 환경 (400) 의 예를 도시한다. 도 4 에 도시된 바와 같이, 로봇 (미도시) 은 맵핑될 환경 (400) 의 그리드를 생성할 수도 있다. 그리드는 다수의 복셀들 (402) 을 형성한다. 더욱이, 이러한 예에서, 오브젝트 (404) 는 맵핑될 환경 (400) 내에 있다. 따라서, 도 4 에 도시된 바와 같이, 복셀들 (402) 의 일부는 비어있고, 복셀들의 일부 (402A-402F) 는 부분적으로 점유되고, 하나의 복셀 (402G) 은 완전히 점유된다.
도 3b, 도 3c, 및 도 4 에 도시된 바와 같이, 맵핑될 환경은 그리드로서 표현될 수도 있다. 그리드에서의 각 셀은 복셀로서 지칭될 수도 있다. 또한, 이전에 논의된 바와 같이, 각 복셀은 점유 레벨을 갖는다. 점유 레벨은 점유도 및/또는 밀도로서 지칭될 수도 있다. 점유 레벨 (d) 은 평균 및 분산을 갖는, 램덤 변수와 같은 변수일 수도 있다.
점유 레벨의 평균은 다음으로부터 계산될 수도 있다:
Figure pct00001
(1)
점유 레벨의 분산은 다음으로부터 계산될 수도 있다:
Figure pct00002
(2)
평균 및 분산은 모든 획득된 측정들 (z0:k) 로부터 결정된다. 종래의 시스템들에서, 불확실성은 복셀들의 측정들에 대해 측정되지 않는다. 예를 들어, 종래의 시스템들에서, 보고된 점유 레벨 (예를 들어, 셀 포스티리어 (posterior)) 이 0.5 인 경우, 루트 플래너 (route planner) 는 그 0.5 가 수개의 측정들 또는 수백개의 측정들로부터 야기되었는지 여부를 결정할 수 없을 수도 있다. 따라서, 점유 레벨의 신뢰성이 알려지지 않는다. 따라서, 종래의 시스템들은 부정확한 가정들에 기인하여 모순된 맵들을 야기할 수도 있다.
다수의 복셀들 중의 각 복셀의, 평균 점유 레벨과 같은 점유 레벨을 결정한 후, 결정된 점유 레벨의 신뢰 레벨 (예를 들어, 확률) 을 결정하는 것이 바람직하다. 예를 들어, 다수의 측정들이 복셀이 점유되어 있다고 표시한 경우, 단지 하나의 측정만이 복셀이 점유되어 있다고 표시한 상황과 비교하여 복셀이 점유되는 높은 확률이 존재한다. 더욱이, 복셀의 점유 레벨이 낮은 신뢰 레벨 (예를 들어, 임계값 아래의 신뢰 레벨) 을 갖는 경우, 로봇은 점유 레벨의 신뢰성을 향상시키기 위해 추가적인 측정들을 취하기 위해 여러 로케이션들로 이동할 수도 있다.
하나의 구성에서, 업데이트 규칙이 맵 (m) 의 점유 레벨 (d) 의 확률 (p) 을 결정하기 위해 특정된다. 확률 (p) 은 평균 및 분산을 포함하는 확률 분포 함수 (PDF) (예를 들어, 점유 레벨의 신뢰성) 로서 지칭될 수도 있다. 하나의 구성에서, 평균 및 분산은 복셀의 점유 레벨의 PDF 로부터 추출될 수도 있다. 더욱이, 루트는 평균 및 분산에 기초하여 계획될 수도 있다. 루트의 계획 및 추출은 AGHAMOHAMMADI 등의 이름으로 2015년 12월 2일자로 출원된 미국 가특허출원 제 62/262,275 호에 기술된 바와 같이 수행될 수도 있고, 그것의 개시는 여기에 그 전체가 참조로 명백히 병합된다.
확률은 식 1 에 기초하여 결정될 수도 있다. 하나의 구성에서, 확률은 더 낮은 차수 함수들을 사용하여 근사화된다:
Figure pct00003
(3)
식 3 에서, z0:k 는 시간 스텝 0 에서 시간 스텝 k 까지 센서에 의해 수집된 측정들이다. 즉, 식 3 은 시간 스텝 0 에서 시간 스텝 k 까지의 센서 측정들 (z0:k) 이 주어지는 경우 시간 스텝 k 에서의 점유 레벨 (d) 의 확률을 회귀적으로 결정한다. 점유 레벨 (d) 은 전체 맵에 대한 것이다. 즉, d 는 맵에서의 모든 복셀들의 컬렉션 (collection) d1 내지dg 이며, 여기서 g 는 맵 내의 복셀들의 수이다. 식 3 에서,
Figure pct00004
는 맵 내의 모든 복셀들의 점유 레벨 (d) 이 주어진 경우 시간 스텝 k 에서 측정 (z) 을 획득하는 가능성이다. 더욱이, 식 1 에서,
Figure pct00005
는 시간 스텝 0 에서 시간 스텝 k-1 까지의 센서 측정들 (z0:k -1) 이 주어진 경우 시간 스텝 k 에서 맵의 이전에 계산된 점유 레벨 (d) 이다.
점유 레벨 및 그 점유 레벨의 확률이 주어진 경우, 센서가 주어진 로케이션에서 볼 수도 있는 것을 예측하는 센서 모델을 정의하는 것이 바람직하다. 즉, 하나의 구성에서, 로봇은 이미지를 획득하는 결정된 확률에 기초하여 환경 내의 오브젝트의 존재를 추론할 수도 있다. 도 5a 는 본 개시의 양태에 따라, 다수의 화소들 중 하나의 화소 (506) 에 대한 측정 콘 (500) 의 예를 도시한다. 입체 카메라와 같은 센서 (504) 는 센서 (504) 의 시야 (520) 내에 다수의 화소들 (506) 을 포함한다. 본 개시의 양태들은 센서 (504) 의 전체 시야 (520) 내의 다수의 화소들 중 각각의 화소 (506) 에 대해 측정 콘 (500) 내의 복셀들 (508) 중 하나로부터 다시 바운싱하는 (bouncing back) 광선의 원인을 결정하는 것에 지향된다.
도 5a 에 도시된 바와 같이, 측정 광선 (502) 은 센서 (x) (504) 의 중심으로부터 생성되고 화소 로케이션 (v) (506) 을 통해 전송된다. 더욱이, 도 5a 에 도시된 바와 같이, 다수의 복셀들 (r) (508) 은 측정 광선 (502) 의 측정 콘 (500) 내에 있을 수도 있다. 측정 콘 (500) 은 이미지의 하나의 화소에 대응한다. 센서 (x) (504) 의 중심은 또한 로봇의 로케이션에 대응할 수도 있다.
광선 (502) 은 센서 (x) 및 화소 로케이션 (v) 에 기초하여 정의될 수도 있으며, 즉 광선 (502) 은 변수 xv 에 의해 정의될 수도 있다. 측정이 취해질 때, 광선 (502) 이 방출되고 시간 스텝 (t) 에서 디스패리티 관측 (z), 또는 측정을 제공하기 위해 센서 (504) 로 다시 반사될 수도 있다. 디스패리티 측정을 사용하여, 환경 내의 오브젝트까지의 깊이 또는 거리가 추론될 수도 있다. 하나의 구성에서, 디스패리티와 깊이 사이의 일대일 대응이 존재한다.
원인 변수 (ct) 가 시간 스텝 (t) 에서 측정 원인 (c) 을 표현하기 위해 정의될 수도 있다. 원인 변수는 대응 변수로서 지칭될 수도 있다. 원인 (c) 은 광선이 다시 바운싱하게 한 복셀 (r) (예를 들어, 측정을 트리거한 복셀) 에 대응한다. 하나의 구성에서, 원인 변수는
Figure pct00006
로서 정의된다. 원인 변수는 카메라까지의 거리에 의해 순서화된 원인들로서 복셀들 (1 내지 Vt) 을 포함하며 (
Figure pct00007
), 여기서 복셀 1 은 카메라에 가장 가깝고 복셀 Vt 는 카메라로부터 가장 멀다. 도 5b 는 복셀 넘버로 측정 콘 (500) 내의 복셀들 (r) 을 인덱싱하는 예를 도시한다. 복셀 넘버들의 인덱싱은 측정 콘 (500) 에 대해 국부적이다. 하나의 구성에서, 광선이 복셀로부터 다시 바운싱하는 경우, 광선이 다시 바운싱하게 한 복셀은 원인 변수에서 표시된다. 예를 들어, 도 5b 에 기초하여, 복셀 3 이 다시 바운싱하는 광선 (502) 의 원인 있었다면, 원인 변수는
Figure pct00008
일 것이고, 여기서 t 는 측정의 시간 스텝이다.
추가적으로, 원인 변수는 변수
Figure pct00009
를 포함하며, 여기서 r 은 -1 이며 스퓨리어스 (spurious) 측정의 경우를 설명한다. 스퓨리어스 측정은 센서의 온도가 임계값 위에 있는 경우 발생할 수도 있다. 다른 예에서, 센서는 소정의 복셀이 사실상 그 복셀이 비어있는 경우에 점유되어 있다고 나타내는 스퓨리어스 측정을 획득할 수도 있다. 더욱이, 원인 변수는 r 이 제로인, 측정이 존재하지 않는 경우에 대한 변수
Figure pct00010
를 포함한다. 변수
Figure pct00011
는 장애물이 복셀들 중 임의의 것에 위치되지 않는 경우에 대해 설명한다. 즉, 광선이 다시 바운싱하지 않는 경우, 원인 변수는
Figure pct00012
이다.
도 5c 및 도 5d 는 본 개시의 양태들에 따른 측정 광선 (502) 의 예들을 도시한다. 도 5c 에 도시된 바와 같이, 측정 광선 (502) 은 센서 (504) 로부터 화소 (506) 를 통해 다수의 복셀들 (508) 을 향하는 방향 (예를 들어, xv) 으로 송신될 수도 있다. 이러한 예에서, 측정 광선은 다수의 복셀들 (508) (복셀 1 - 복셀 Vt) 을 통과하고, 센서 (504) 와 마지막 복셀 Vt 사이에 오브젝트들이 존재하지 않는다. 따라서, 측정 광선 (502) 은 센서 (504) 로 다시 바운싱하지 않는다. 따라서, 도 5c 의 예에서, 원인은
Figure pct00013
이다.
다른 예에서, 도 5d 에 도시된 바와 같이, 측정 광선 (502) 은 센서 (504) 로부터 화소 (506) 를 통해 다수의 복셀들 (508) 을 향하는 방향 (예를 들어, xv) 으로 송신될 수도 있다. 이러한 예에서, 오브젝트가 복셀 3 을 완전히 점유하도록 다수의 복셀들 (508) (복셀 1 - 복셀 Vt) 중 복셀 3 에 오브젝트가 존재한다. 따라서, 복셀 3 은 센서 (504) 로 다시 바운싱하는 (예를 들어, 다시 반사하는) 측정 광선 (502) 의 원인이다. 따라서, 도 5d 의 예에서, 원인은
Figure pct00014
이다.
도 5b 내지 도 5d 에 도시된 바와 같이, 측정 콘 내의 복셀들 (r) 은 복셀 넘버에 의해 인덱싱될 수도 있다. 또, 측정 콘 애의 다수의 복셀들로부터 특정의 복셀을 인덱싱하기 위해 사용된 복셀 넘버는 전체 맵 내의 다수의 복셀들로부터 그 특정의 복셀을 인덱싱하기 위해 사용된 복셀 넘버와 상이할 수도 있다. 즉, 복셀에 대한 로컬 측정 콘 인덱스 넘버는 복셀의 글로벌 맵 인덱스 넘버와 상이하다. 예로서, 복셀은 4 의 로컬 측정 콘 인덱스 넘버 및 50 의 글로벌 맵 인덱스 넘버를 가질 수도 있다. 하나의 구성에서, 글로벌 맵 인덱스 넘버 (j) 는 다음과 같이 결정될 수도 있다:
Figure pct00015
(4)
여기서, j 는 광선 (xv) 및 로컬 측정 콘 인덱스 넘버 (r) 가 주어지는 경우 글로벌 맵 인덱스 넘버 (j) 를 리턴하는 함수 g() 를 사용하여 도출되는 글로벌 맵 인덱스 넘버이다. 더욱이, 글로벌 맵 인덱스 넘버는 대응하는 글로벌 맵 인덱스 넘버 (j) 에서 맵 (m) 의 밀도를 결정하기 위해 사용될 수도 있다. 구체적으로, 글로벌 맵 인덱스 넘버 (j) 에 대응하는 복셀에서의 맵 (m) 의 밀도는 다음에 의해 결정될 수도 있다:
Figure pct00016
(5)
식 5 에서, 복셀 (j) 에 대한 글로벌 맵 인덱스 넘버에서의 맵 (m) 의 밀도는 광선 (xv) 및 로컬 측정 콘 인덱스 넘버 (r) 가 주어지는 경우 글로벌 맵 인덱스 넘버 (j) 를 리턴하는 함수 g() 를 사용하여 도출된다. 더욱이, 센서 모델은 다음과 같이 정의될 수도 있다:
Figure pct00017
(6)
여기서 xvt 는 시간 스텝 t 에서의 광선이고, mt 는 광선 xvt 아래의 복셀의 밀도의 맵이다. 센서 모델은 맵 (mt) 의 광선 (xvt) 가 주어진 경우 디스패리티 측정 (zt) 을 획득하는 가능성 (예를 들어, 신뢰성) (p) (예를 들어, 환경이 그처럼 보이는 것에 대한 신념) 이다. 식 6 에 도시된 바와 같이, 센서 모델은, 모든 원인 변수들
Figure pct00018
에 대해, 주어진 원인에 대한 측정의 가능성
Figure pct00019
과 주어진 원인의 확률
Figure pct00020
) 의 곱들의 합으로서 표현될 수도 있다. 즉, 주어진 원인에 대한 측정의 가능성
Figure pct00021
및 주어진 원인의 확률
Figure pct00022
) 은 측정을 획득하는 확률을 결정하고 및/또는 센서 모델을 정의하기 위해 결합될 수도 있다.
식 6 에서, 주어진 원인에 대한 측정의 가능성
Figure pct00023
은 시간 스텝 t 에서 광선 (xvt) 을 갖는 맵 (mt) 에서의 원인
Figure pct00024
이 주어진 경우 디스패리티 측정 (zt) 을 획득하는 가능성 (예를 들어, 신뢰성) (p) 이다. 더욱이, 주어진 원인의 확률
Figure pct00025
) 은 시간 스텝 t 에서 광선 (xvt) 을 갖는 맵 (mt) 에서의 원인
Figure pct00026
에 의해 측정을 획득하는 확률 (pr) 이다.
Figure pct00027
인 원인의 경우, 주어진 원인의 확률은 상수인 Prand 에 의해 결정된다. Prand 는 센서 데이터시트 또는 통계 측정들에 기초할 수도 있다.
Figure pct00028
인 원인의 경우, 주어진 원인의 확률은
Figure pct00029
에 의해 결정된다. 마지막으로, k 가 광선이 다시 바운싱하게 한 로컬 복셀 인덱스 (1-Vt) 인 경우에,
Figure pct00030
인 원인의 경우, 주어진 원인의 확률은
Figure pct00031
에 의해 결정된다.
특정의 원인이 주어진 경우의 측정의 가능성 및 그 주어진 원인의 확률은 상술된 바와 같이 계산될 수도 있다. 측정의 가능성은 모든 원인들에 대해 반복될 수도 있다. 결과적인 측정 가능성들은 스토캐스틱 맵에 대한 센서 모델을 생성하기 위해 결합될 수도 있다. 센서 모델은 특정의 화소에 대한 것이다. 따라서, 다수의 화소들에 대한 센서 모델은 이미지 (D) 를 획득하는 가능성을 결정하기 위해 결합될 수도 있다. 이미지 (D) 를 획득하는 가능성은 다음과 같이 결정될 수도 있다:
Figure pct00032
(7)
여기서 맵 (mt) 의 광선 (xvt) 이 주어진 경우 시간 스텝 t 에서 이미지 (D) 를 획득하는 가능성은 제 1 화소 내지 제 N 화소 (Npix) 에 대한 센서 모델들의 곱이다. 더욱이, 이전에 논의된 바와 같이, 로봇은 이미지를 획득하는 결정된 확률에 기초하여 환경 내의 오브젝트의 존재를 추론할 수도 있다. 추론은 궤적을 계획하고 및/또는 추가적인 측정들을 획득하기 위해 사용될 수도 있다.
도 6 은 맵핑된 영역 (600) 내의 로봇 (604) 의 예를 도시한다. 영역 (600) 이 맵핑되었지만, 맵핑된 영역 (600) 의 각 복셀의 점유 레벨에 일부 불확실성이 존재할 수도 있다. 예를 들어, 로봇은 복셀에 대해 일회의 측정만을 수행했을 수도 있다. 다른 예로서, 로봇 센서들로부터 수신된 잡음 데이터는 완전히 신뢰가능하지 않을 수도 있다. 예를 들어, 로봇 센서들에 의해 픽업된 잡음 간섭은 로봇을 공간이 실제로 자유로울 때 그 공간이 점유되어 있다고 결정하는 것으로 오도할 수도 있다. 따라서, 복셀들의 측정들에서 분산이 존재할 수도 있다.
더욱이, 도 6 에 도시된 바와 같이, 로봇 (604) 은 로봇상의 센서에 대한 시야 (606) 를 갖는다. 상술된 바와 같이, 로봇의 센서는 다수의 화소들을 포함하고, 본 개시의 양태들은 그 다수의 화소들의 각 화소로부터 측정을 획득하는 확률을 결정하는 것으로 지향된다. 더욱이, 본 개시의 양태들은 그 다수의 화소들의 각각으로부터 측정을 획득하는 확률에 기초하여 이미지 (D) 를 획득하는 확률을 결정하는 것으로 지향된다.
종래의 시스템에서, 맵핑된 영역은 불확실성을 갖지 않는다. 따라서, 로봇 (604) 이 목표 (640) 까지의 경로를 계획하거나, 목표 (640) 의 측정들을 획득하기 위해 로케이션 (610) 에 배치된다면, 로봇은 오브젝트 (602) 가 센서의 시야 (606) 에 있다는 것을 알 것이다. 따라서, 종래의 시스템에서, 로봇 (604) 은 로봇이 시야의 제 2 부분 (650) 으로부터 측정들을 획득하는 것을 차단하는 오브젝트 (602) 의 존재에 기인하여 시야 (606) 의 제 1 부분 (652) 내의 오브젝트들만을 뷰잉할 수도 있다는 것을 알 것이다.
또한, 이전에 논의된 바와 같이, 본 개시의 양태들은 복셀들의 점유 레벨들에 대한 불확실성을 갖는 스토캐스틱 맵으로 지향된다. 따라서, 하나의 구성에서, 로봇 (604) 이 로케이션 (610) 에 배치되는 경우, 센서 모델은 목표 (640) 의 측정, 또는 이미지를 획득하는 가능성을 결정한다. 이전에 논의된 바와 같이, 측정을 획득하는 가능성은, 모든 원인 변수들
Figure pct00033
에 대해, 주어진 원인에 대한 측정의 가능성
Figure pct00034
과 주어진 원인의 확률
Figure pct00035
) 의 곱들의 합에 기초한다. 더욱이, 상술된 바와 같이, 맵 (mt) 의 광선 (xvt) 이 주어진 경우 시간 스텝 t 에서 이미지 (D) 를 획득하는 가능성은 제 1 화소 내지 제 N 화소 (Npix) 에 대한 센서 모델들의 곱이다. 이미지 (D) 를 획득하는 가능성에 기초하여, 후속 액션이 로봇에 대해 결정될 수도 있다. 그 액션은 목표에 도달하기 위한 루트를 계획하는 것 또는 이미지 (D) 를 획득하는 가능성을 증가시키기 위해 추가적인 측정들을 특정하는 것을 포함할 수도 있다. 루트는 AGHAMOHAMMADI 등의 이름으로 2015년 12월 2일자로 출원된 미국 가특허출원 제 62/262,275 호에 기술된 바와 같이 계획될 수도 있고, 그것의 개시는 여기에 그 전체가 참조로 명백히 병합된다.
도 7 은 프로세싱 시스템 (720) 을 채용하는 로봇과 같은 장치 (700) 에 대한 하드웨어 구현의 예를 도시하는 다이어그램이다. 프로세싱 시스템 (720) 은 버스 (724) 에 의해 일반적으로 표현되는 버스 아키텍쳐로 구현될 수도 있다. 버스 (724) 는 프로세싱 시스템 (720) 의 특정의 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수도 있다. 버스 (724) 는 프로세서 (704), 통신 모듈 (708), 로케이션 모듈 (706), 센서 모듈 (702), 로코모션 모듈 (710), 컴퓨터 판독가능 매체 (714), 및 다른 모듈들 (730, 732) 에 의해 표현된 하나 이상의 프로세서들 및/또는 하드웨어 모듈들을 포함하는 여러 회로들을 함께 링크한다. 버스 (724) 는 또한 본 기술에서 잘 알려져 있고, 따라서 더 이상 기술되지 않을 타이밍 소스들, 주변장치들, 전압 조정기들, 및 전력 관리 회로들과 같은 여러 다른 회로들을 링크할 수도 있다.
장치 (700) 는 송수신기 (716) 에 커플링된 프로세싱 시스템 (720) 을 포함한다. 송수신기 (716) 는 하나 이상의 안테나들 (718) 에 커프링된다. 송수신기 (716) 는 송신 매체를 통해 여러 다른 장치와 통신하는 것을 가능하게 한다. 프로세싱 시스템 (720) 은 컴퓨터 판독가능 매체 (714) 에 커플링된 프로세서 (704) 를 포함한다. 프로세서 (704) 는 컴퓨터 판독가능 매체 (714) 상에 저장된 소프트웨어의 실행을 포함하는 일반 프로세싱을 담당한다. 소프트웨어는, 프로세서 (704) 에 의해 실행될 때, 프로세싱 시스템 (720) 으로 하여금 임의의 특정의 장치에 대해 기술된 여러 기능들을 수행하게 한다. 컴퓨터 판독가능 매체 (714) 는 또한 소프트웨어를 실행할 때 프로세서 (704) 에 의해 조작되는 데이터를 저장하기 위해 사용될 수도 있다.
센서 모듈 (702) 은 센서 (728) 를 통해 측정들을 획득하기 위해 사용될 수도 있다. 센서 (728) 는 입체 카메라와 같은, 측정들을 수행하기 위한 입체 시각 센서일 수도 있다. 물론, 본 개시의 양태들은, 예를 들어 레이다, 열, 소나, 및/또는 레이저들과 같은 다른 타입들의 센서들이 또한 측정들을 수행하기 위해 고려되기 때문에 입체 시각 센서에 제한되지 않는다. 센서 (728) 의 측정들은 프로세서 (704), 통신 모듈 (708), 로케이션 모듈 (706), 로코모션 모듈 (710), 및 컴퓨터 판독가능 매체 (714) 중 하나 이상에 의해 프로세싱될 수도 있다. 더욱이, 센서 (728) 의 측정들은 송수신기 (716) 에 의해 외부 디바이스로 송신될 수도 있다. 센서 (728) 는 도 7 에 도시된 바와 같이 장치 (700) 의 외부에 정의되는 것에 제한되지 않고, 센서 (728) 는 또한 장치 (700) 내에 정의될 수도 있다.
로케이션 모듈 (706) 은 장치 (700) 의 로케이션을 결정하기 위해 사용될 수도 있다. 로케이션 모듈 (706) 은 장치 (700) 의 로케이션을 결정하기 위해 GPS 또는 다른 프로토콜들을 사용할 수도 있다. 통신 모듈 (708) 은 외부 디바이스로, 장치의 로케이션과 같은 정보를 전송 및 수신하기 위해 송수신기 (716) 를 사용할 수도 있다. 로코모션 모듈 (710) 은 장치 (700) 에 로코모션을 제공하기 위해 사용될 수도 있다. 일 예로서, 로코모션은 바퀴들 (712) 을 통해 제공될 수도 있다. 물론, 본 개시의 양태들은 바퀴들 (712) 을 통해 로코모션을 제공하는 것에 제한되지 않고, 로케이션을 제공하기 위한 임의의 다른 타입의 컴포넌트에 대해 고려된다.
프로세싱 시스템 (720) 은 스토캐스틱 맵상에 모델링되는 센서의 시야에서 다수의 잠재적인 원인들로부터 측정을 획득하는 확률을 결정하는 결정 모듈 (730) 을 포함한다. 맵은 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 평균 점유 레벨의 분산을 포함한다. 결정 모듈은 또한 측정을 획득하는 결정된 확률에 기초하여 이미지를 획득하는 확률을 결정할 수도 있다. 프로세싱 시스템 (720) 은 또한 이미지를 획득하는 확률에 기초하여 로봇에 대한 액션을 계획하기 위한 계획 모듈 (732) 을 포함한다. 모듈들은 프로세서 (704) 에서 실행하는, 컴퓨터 판독가능 매체 (714) 에 상주하는/저장된 소프트웨어 모듈들, 프로세서 (704) 에 커플링된 하나 이상의 하드웨어 모듈들, 또는 이들의 일부 조합일 수도 있다.
도 8 은 맵을 생성하기 위한 방법 (800) 을 도시한다. 블록 (802) 에서, 로봇은 스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 다수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정한다. 맵은 맵에서의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 평균 점유 레벨에 대한 분산을 포함한다. 더욱이, 블록 (804) 에서, 시스템은 측정을 획득하는 결정된 확률에 기초하여 이미지를 획득하는 확률을 결정한다. 마지막으로, 블록 (806) 에서, 로봇은 이미지를 획득하는 확률에 기초하여 액션을 계획한다.
일부 양태들에서, 방법 (800) 은 SOC (100) (도 1) 또는 시스템 (200) (도 2) 에 의해 수행될 수도 있다. 즉, 방법 (800) 의 엘리먼트들 각각은, 제한 없이 예를 들어, SOC (100) 또는 시스템 (200) 또는 하나 이상의 프로세서들 (예를 들어, CPU (102) 및 로컬 프로세싱 유닛 (202)) 및/또는 그것에 포함된 다른 컴포넌트들에 의해 수행될 수도 있다.
상술된 방법들의 여러 동작들은 대응하는 기능들을 수행할 수 있는 임의의 적합한 수단에 의해 수행될 수도 있다. 그 수단은 회로, 주문형 반도체 (ASIC), 또는 프로세서를 포함하지만, 이들에 제한되지 않는 여러 하드웨어 및/또는 소프트웨어 컴포넌트(들) 및/또는 모듈(들) 을 포함할 수도 있다. 일반적으로, 도면들에 도시된 동작들이 존재하는 경우, 이들 동작들은 유사한 넘버링을 갖는 대응하는 카운터파트 수단-플러스-기능 컴포넌트들을 가질 수도 있다.
본원에서 이용되는 바와 같이, 용어 "결정하기" 는 매우 다양한 액션들을 망라한다. 예를 들어, "결정하기" 는 산출하기, 연산하기, 프로세싱하기, 도출하기, 조사하기, 검색하기 (예를 들어, 테이블, 데이터베이스, 또는 다른 데이터 구조에서 검색하기), 확인하기 등을 포함할 수도 있다. 또한, "결정하기" 는 수신하기 (예를 들어, 정보 수신하기), 액세스하기 (예를 들어, 메모리 내의 데이터에 액세스하기) 등을 포함할 수도 있다. 또한, "결정하기" 는 해결하기, 선택하기, 고르기, 설정하기 등을 포함할 수도 있다.
본원에서 이용되는 바와 같이, 아이템들의 리스트 중 "그 중 적어도 하나" 를 지칭하는 구절은 단일 구성부를 포함하여, 이러한 아이템들의 임의의 조합을 지칭한다. 예로서, "a, b, 또는 c" 중의 적어도 하나" 는 a, b, c, a-b, a-c, b-c, 및 a-b-c 를 포함하고자 한다.
본원 개시물과 연계하여 설명된 다양한 예증적인 논리 블록들, 모듈들, 및 회로들은 본원에서 개시된 기능들을 수행하도록 디자인된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 반도체 (ASIC), 필드 프로그램가능한 게이트 어레이 (FPGA) 또는 다른 프로그램가능한 로직 디바이스 (PLD), 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합에 의해 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있으나, 대안으로, 프로세서는 임의의 상업적으로 이용가능한 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로 구현될 수도 있다.
본 개시물과 연계하여 설명된 방법의 단계들 또는 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 양자의 조합에서 직접적으로 구현될 수도 있다. 소프트웨어 모듈은 공지된 임의의 형태의 저장 매체 내에 있을 수도 있다. 이용될 수도 저장 매체들의 일부 예들은, 랜덤 액세스 메모리 (random access memory; RAM), 판독 전용 메모리 (read only memory; ROM), 플래시 메모리, 소거가능한 프로그램가능 판독 전용 메모리 (erasable programmable read-only memory; EPROM), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리 (electrically erasable programmable read-only memory; EEPROM), 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM 등을 포함한다. 소프트웨어 모듈은 단일 명령 또는 많은 명령들을 포함할 수도 있고, 상이한 프로그램들 사이에서 여러 상이한 코드 세그먼트들에 걸쳐, 그리고 다수의 저장 매체들에 걸쳐 분배될 수도 있다. 저장 매체는 프로세서에 연결되어, 프로세서가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있다. 대안에서, 저장 매체는 프로세서에 통합될 수도 있다.
본원에 개시된 방법들은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법 단계들 및/또는 액션들은 청구항들의 범위를 벗어나지 않으면서 서로 상호 교환될 수도 있다. 다시 말해, 단계들 또는 액션들에 대한 특정 순서가 명시되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 이용은 청구항들의 범위로부터 벗어남이 없이 수정될 수도 있다.
설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 하드웨어에서 구현된다면, 일 예시적인 하드웨어 구성은 디바이스에서의 프로세싱 시스템을 포함할 수도 있다. 프로세싱 시스템은 버스 아키텍쳐로 구현될 수도 있다. 버스는 프로세싱 시스템 및 전체 설계 제약들의 특정 애플리케이션들에 따라 임의의 개수의 상호연결하는 버스들 및 브리지들을 포함할 수도 있다. 버스는 프로세서, 머신-판독가능 매체들, 및 버스 인터페이스를 포함하여 다양한 회로들을 함께 링크할 수도 있다. 버스 인터페이스는 다른 것들 중에서 네트워크 어댑터를 버스를 통해 프로세싱 시스템에 연결하는데 이용될 수도 있다. 네트워크 어댑터는 신호 프로세싱 기능들을 구현하는데 이용될 수도 있다. 소정의 양태들에서, 사용자 인터페이스 (예를 들어, 키보드, 디스플레이, 마우스, 조이스틱 등) 가 또한 버스에 연결될 수도 있다. 버스는 또한 다양한 다른 회로들, 예컨대, 타이밍 소스들, 주변기기들, 전압 조절기들, 전력 관리 회로들 등을 링크할 수도 있으며, 이는 공지되어 있으므로, 더 이상 설명되지 않을 것이다.
프로세서는 컴퓨터 판독가능 매체 상에 저장된 소프트웨어의 실행을 포함하여 버스 및 범용 프로세싱을 관리하는 역할을 할 수도 있다. 프로세서는 하나 이상의 범용 및/또는 특수-목적용 프로세서들로 구현될 수도 있다. 예들은 마이크로프로세서들, 마이크로제어기들, DSP 제어기들, 및 소프트웨어를 실행할 수 있는 다른 회로부를 포함한다. 소프트웨어는 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 서술 언어, 또는 다른 것으로 지칭되더라도, 명령들, 데이터, 또는 이들의 임의의 조합을 의미하는 것으로 광범위하게 해석될 수 있다. 머신-판독가능 매체들은, 예로서, 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독 전용 메모리 (ROM), 프로그램가능한 판독 전용 메모리 (PROM), 소거가능한 프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리 (EEPROM), 레지스터들, 자기 디스크들, 광학 디스크들, 하드 드라이브들, 또는 임의의 다른 적합한 저장 매체, 또는 이들의 임의의 조합을 포함할 수도 있다. 머신-판독가능 매체들은 컴퓨터-프로그램 제품으로 구체화될 수도 있다. 컴퓨터-프로그램 제품은 패키징 재료들을 포함할 수도 있다.
하드웨어 구현에서, 머신-판독가능 매체들은 프로세서와 별개인 프로세싱 시스템의 일부일 수도 있다. 그러나, 머신-판독가능 매체들, 또는 이의 임의의 부분은 프로세싱 시스템의 외부에 있을 수도 있음을 당업자들은 쉽게 이해할 것이다. 예로서, 머신-판독가능 매체들은 송신 라인, 데이터에 의해 변조된 반송파, 및/또는 디바이스와 별도인 컴퓨터 제품 포함할 수도 있으며, 이 모두는 버스 인터페이스를 통해 프로세서에 의해 액세스가능하게 될 수도 있다. 대안으로, 또는 이에 더해, 머신-판독가능 매체들, 또는 이들의 임의의 부분은 프로세서에 통합될 수도 있으며, 그러한 경우에는 캐시 및/또는 범용 레지스터 파일들과 함께 있을 수도 있다. 논의된 다양한 컴포넌트들이 로컬 컴포넌트와 같이 특정 위치를 갖는 것으로 설명되었으나, 그것들은 또한 소정의 컴포넌트들이 분산 컴퓨팅 시스템의 일부로서 구성되는 것과 같이 다양한 방식들로 구성될 수도 있다.
프로세싱 시스템은 프로세서 기능성을 제공하는 하나 이상의 마이크로프로세서들 및 적어도 일부분의 머신-판독가능 매체들을 제공하는 외부 메모리로 구현될 수도 있으며, 모두 외부 버스 아키텍쳐를 통해 다른 지원하는 회로부와 함께 링크된다. 대안으로, 프로세싱 시스템은 뉴런 모델들 및 본원에서 설명된 신경 시스템들의 모델들을 구현하기 위한 하나 이상의 뉴로모픽 프로세서들을 포함할 수도 있다. 다른 대안으로서, 프로세싱 시스템은 프로세서를 갖는 주문형 반도체 (ASIC), 버스 인터페이스, 사용자 인터페이스, 지원 회로부, 및 단일 칩 내에 통합되는 적어도 일부분의 머신-판독가능 매체들로, 또는 하나 이상의 필드 프로그램가능 게이트 어레이 (FPGA) 들, 프로그램가능 로직 디바이스 (PLD) 들, 제어기들, 상태 머신들, 게이트 로직, 이상 하드웨어 컴포넌트들, 또는 임의의 다른 적합한 회로부, 또는 본 개시물을 통해 설명된 다양한 기능성을 수행할 수 있는 회로들의 임의의 조합으로 구현될 수도 있다. 특정 응용 및 전체 시스템에 부과되는 전체 설계 제약들에 따라 본 개시물에 걸쳐 제시된 설명된 기능성을 가장 잘 구현하기 위한 방법을 당업자들은 인지할 것이다.
머신-판독가능 매체들은 다수의 소프트웨어 모듈들을 포함할 수도 있다. 소프트웨어 모듈들은, 프로세서에 의해 실행되는 경우, 프로세싱 시스템으로 하여금 다양한 기능들을 수행하게 하는 명령들을 포함한다. 소프트웨어 모듈들은 송신 모듈 및 수신 모듈을 포함할 수도 있다. 각각의 소프트웨어 모듈은 단일 저장 디바이스에 있을 수도 있거나 다수의 저장 디바이스들에 걸쳐 분산될 수도 있다. 예로서, 소프트웨어 모듈은 트리거링 이벤트가 발생하는 경우 하드웨어 드라이브로부터 RAM 으로 로딩될 수도 있다. 소프트웨어 모듈의 실행 중에, 프로세서는 액세스 속도를 증가시키기 위해 명령들의 일부를 캐시 내로 로딩할 수도 있다. 하나 이상의 캐시 라인들은 그러면 프로세서에 의한 실행을 위해 범용 레지스터 파일 내로 로딩될 수도 있다. 하기에서 소프트웨어 모듈의 기능성을 언급하는 경우, 그러한 기능성은 해당 소프트웨어 모듈로부터 명령들을 실행하는 경우 프로세서에 의해 구현된다는 것이 이해될 것이다. 또한, 본 개시의 양태들은 그러한 양태들을 구현하는 프로세서, 컴퓨터, 머신, 또는 다른 시스템의 기능에 대한 개선들을 야기한다.
소프트웨어로 구현된다면, 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 전송될 수도 있다. 컴퓨터-판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체들 및 컴퓨터 저장 매체들 양자 모두를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 요구되는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결부는 컴퓨터-판독가능 매체라고 적절히 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선 (IR), 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피디스크 및 블루레이® 디스크를 포함하며, 여기서 디스크 (disk) 는 통상 자기적으로 데이터를 재생하고, 디스크 (disc) 는 레이저를 이용하여 광학적으로 데이터를 재생한다. 따라서, 일부 양태들에서, 컴퓨터-판독가능 매체들은 비일시적 컴퓨터-판독가능 매체들 (예를 들어, 타입의 매체들) 을 포함할 수도 있다. 또한, 다른 양태들에 있어서, 컴퓨터-판독가능 매체들은 일시적 컴퓨터-판독가능 매체들 (예를 들어, 신호) 을 포함할 수도 있다. 위의 조합들도 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
따라서, 소정의 양태들은 본원에 제시된 동작들을 수행하는 컴퓨터 프로그램 제품을 포함할 수도 있다. 예를 들어, 이러한 컴퓨터 프로그램 제품은 저장된 (및/또는 인코딩된) 명령들을 갖는 컴퓨터 판독가능 매체를 포함할 수도 있으며, 명령들은 본원에 설명된 동작들을 수행하기 위해 하나 이상의 프로세서들에 의해 실행가능할 수도 있다. 소정의 양태들에 있어서, 컴퓨터 프로그램 제품은 패키징 재료를 포함할 수도 있다.
또한, 본원에 설명된 방법들 및 기법들을 수행하는 모듈들 및/또는 다른 적절한 수단은 다운로드될 수도 있고/있거나, 그렇지 않으면 가능한 적용가능한 사용자 단말 및/또는 기지국에 의해 획득될 수도 있다. 예를 들어, 본원에서 설명된 방법들을 수행하기 위한 수단의 전송을 용이하게 하기 위한 서버에 디바이스가 연결될 수도 있다. 대안으로, 본원에 설명된 다양한 방법들이 저장 수단 (예를 들어, RAM, ROM, 물리적 컴팩트 디스크 (CD) 나 플로피 디스크와 같은 물리적 저장 매체 등) 을 통해 제공될 수도 있어, 사용자 단말 및/또는 기지국은 디바이스에 연결할 시에 또는 디바이스에 저장 수단을 제공할 시에 다양한 방법들을 획득할 수 있다. 또한, 본원에서 설명된 방법들 및 기술들을 디바이스에 제공하기 위해 임의의 다른 적절한 기술들이 활용될 수 있다.
청구항들은 위에서 예시된 정확한 구성 및 컴포넌트들로 제한되지 않는 것으로 이해되어야 한다. 청구항의 범위를 벗어나지 않으면서, 본원에서 설명된 시스템들, 방법들, 및 장치들의 배치, 동작 및 세부사항들에서 다양한 수정예들, 변경예들, 및 변형예들이 행해질 수도 있다.

Claims (20)

  1. 센서 모델을 정의하는 방법으로서,
    스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 복수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하는 단계로서, 상기 스토캐스틱 맵은 상기 스토캐스틱 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 상기 평균 점유 레벨의 분산을 포함하는, 상기 측정을 획득하는 확률을 결정하는 단계;
    상기 측정을 획득하는 결정된 상기 확률에 기초하여 이미지를 획득하는 확률을 결정하는 단계; 및
    상기 이미지를 획득하는 확률에 기초하여, 상기 센서를 포함하는 로봇에 대한 액션을 계획하는 단계를 포함하는, 센서 모델을 정의하는 방법.
  2. 제 1 항에 있어서,
    상기 센서는 입체 카메라를 포함하는, 센서 모델을 정의하는 방법.
  3. 제 1 항에 있어서,
    상기 측정을 획득하는 확률을 결정하는 단계는, 상기 복수의 잠재적 원인들 중 각각의 잠재적 원인에 대해,
    상기 원인이 주어지면 상기 측정의 가능성을 계산하는 단계;
    상기 스토캐스틱 맵에서 상기 잠재적 원인의 확률을 결정하는 단계; 및
    상기 측정을 획득하는 확률을 결정하기 위해, 및
    상기 센서 모델을 정의하기 위해
    상기 복수의 잠재적 원인들에 대한 측정 가능성들 및 상기 복수의 잠재적 원인들의 확률을 결합하는 단계를 더 포함하는, 센서 모델을 정의하는 방법.
  4. 제 1 항에 있어서,
    상기 이미지를 획득하는 결정된 상기 확률에 기초하여 환경 내의 오브젝트의 존재를 추론하는 단계를 더 포함하는, 센서 모델을 정의하는 방법.
  5. 제 1 항에 있어서,
    상기 시야는 상기 센서의 전체 시야로부터 복수의 화소들 중 하나의 화소에 대한 것인, 센서 모델을 정의하는 방법.
  6. 센서 모델을 정의하기 위한 장치로서,
    스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 복수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하는 수단으로서, 상기 스토캐스틱 맵은 상기 스토캐스틱 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 상기 평균 점유 레벨의 분산을 포함하는, 상기 측정을 획득하는 확률을 결정하는 수단;
    상기 측정을 획득하는 결정된 상기 확률에 기초하여 이미지를 획득하는 확률을 결정하는 수단; 및
    상기 이미지를 획득하는 확률에 기초하여, 상기 센서를 포함하는 로봇에 대한 액션을 계획하는 수단을 포함하는, 센서 모델을 정의하기 위한 장치.
  7. 제 6 항에 있어서,
    상기 센서는 입체 카메라를 포함하는, 센서 모델을 정의하기 위한 장치.
  8. 제 6 항에 있어서,
    상기 측정을 획득하는 확률을 결정하는 수단은, 상기 복수의 잠재적 원인들 중 각각의 잠재적 원인에 대해,
    상기 원인이 주어지면 상기 측정의 가능성을 계산하는 수단;
    상기 스토캐스틱 맵에서 상기 잠재적 원인의 확률을 결정하는 수단; 및
    상기 측정을 획득하는 확률을 결정하기 위해, 및
    상기 센서 모델을 정의하기 위해
    상기 복수의 잠재적 원인들에 대한 측정 가능성들 및 상기 복수의 잠재적 원인들의 확률을 결합하는 수단을 더 포함하는, 센서 모델을 정의하기 위한 장치.
  9. 제 6 항에 있어서,
    상기 이미지를 획득하는 결정된 상기 확률에 기초하여 환경 내의 오브젝트의 존재를 추론하는 수단을 더 포함하는, 센서 모델을 정의하기 위한 장치.
  10. 제 6 항에 있어서,
    상기 시야는 상기 센서의 전체 시야로부터 복수의 화소들 중 하나의 화소에 대한 것인, 센서 모델을 정의하기 위한 장치.
  11. 센서 모델을 정의하기 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    스토캐스틱 맵에 기초하여 모델링된 센서의 시야에서 복수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하는 것으로서, 상기 스토캐스틱 맵은 상기 스토캐스틱 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 상기 평균 점유 레벨의 분산을 포함하는, 상기 측정을 획득하는 확률을 결정하고;
    상기 측정을 획득하는 결정된 상기 확률에 기초하여 이미지를 획득하는 확률을 결정하며; 및
    상기 이미지를 획득하는 확률에 기초하여, 상기 센서를 포함하는 로봇에 대한 액션을 계획하도록
    구성된, 센서 모델을 정의하기 위한 장치.
  12. 제 11 항에 있어서,
    상기 센서는 입체 카메라를 포함하는, 센서 모델을 정의하기 위한 장치.
  13. 제 11 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 복수의 잠재적 원인들 중 각각의 잠재적 원인에 대해,
    상기 원인이 주어지면 상기 측정의 가능성을 계산하고;
    상기 스토캐스틱 맵에서 상기 잠재적 원인의 확률을 결정하며; 및
    상기 측정을 획득하는 확률을 결정하기 위해, 및
    상기 센서 모델을 정의하기 위해
    상기 복수의 잠재적 원인들에 대한 측정 가능성들 및 상기 복수의 잠재적 원인들의 확률을 결합하도록
    구성되는, 센서 모델을 정의하기 위한 장치.
  14. 제 11 항에 있어서,
    상기 적어도 하나의 프로세서는 또한 상기 이미지를 획득하는 결정된 상기 확률에 기초하여 환경 내의 오브젝트의 존재를 추론하도록 구성되는, 센서 모델을 정의하기 위한 장치.
  15. 제 11 항에 있어서,
    상기 시야는 상기 센서의 전체 시야로부터 복수의 화소들 중 하나의 화소에 대한 것인, 센서 모델을 정의하기 위한 장치.
  16. 센서 모델을 정의하기 위한 기록된 비일시적 프로그램 코드를 갖는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 프로그램 코드는, 프로세서에 의해 실행되고,
    스토캐스틱 맵에 기초하여 모델링되는 센서의 시야에서 복수의 잠재적 원인들로부터 측정을 획득하는 확률을 결정하는 프로그램 코드로서, 상기 스토캐스틱 맵은 상기 스토캐스틱 맵 내의 각 복셀에 대한 평균 점유 레벨 및 각 복셀에 대한 상기 평균 점유 레벨의 분산을 포함하는, 상기 측정을 획득하는 확률을 결정하는 프로그램 코드;
    상기 측정을 획득하는 결정된 상기 확률에 기초하여 이미지를 획득하는 확률을 결정하는 프로그램 코드; 및
    상기 이미지를 획득하는 확률에 기초하여, 상기 센서를 포함하는 로봇에 대한 액션을 계획하는 프로그램 코드를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제 16 항에 있어서,
    상기 센서는 입체 카메라를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제 16 항에 있어서,
    상기 프로그램 코드는, 상기 복수의 잠재적 원인들 중 각각의 잠재적 원인에 대해,
    상기 원인이 주어지면 상기 측정의 가능성을 계산하는 프로그램 코드;
    상기 스토캐스틱 맵에서 상기 잠재적 원인의 확률을 결정하는 프로그램 코드; 및
    상기 측정을 획득하는 확률을 결정하기 위해, 및
    상기 센서 모델을 정의하기 위해
    상기 복수의 잠재적 원인들에 대한 측정 가능성들 및 상기 복수의 잠재적 원인들의 확률을 결합하는 프로그램 코드를 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 제 16 항에 있어서,
    상기 프로그램 코드는 상기 이미지를 획득하는 결정된 상기 확률에 기초하여 환경 내의 오브젝트의 존재를 추론하는 프로그램 코드를 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제 16 항에 있어서,
    상기 시야는 상기 센서의 전체 시야로부터 복수의 화소들 중 하나의 화소에 대한 것인, 비일시적 컴퓨터 판독가능 저장 매체.

KR1020187015236A 2015-12-02 2016-11-10 스토캐스틱 맵 인식 입체 시각 센서 모델 KR102174873B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562262339P 2015-12-02 2015-12-02
US62/262,339 2015-12-02
US15/192,603 US10613546B2 (en) 2015-12-02 2016-06-24 Stochastic map-aware stereo vision sensor model
US15/192,603 2016-06-24
PCT/US2016/061400 WO2017095604A1 (en) 2015-12-02 2016-11-10 Stochastic map-aware stereo vision sensor model

Publications (2)

Publication Number Publication Date
KR20180089417A true KR20180089417A (ko) 2018-08-08
KR102174873B1 KR102174873B1 (ko) 2020-11-05

Family

ID=57421947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187015236A KR102174873B1 (ko) 2015-12-02 2016-11-10 스토캐스틱 맵 인식 입체 시각 센서 모델

Country Status (6)

Country Link
US (1) US10613546B2 (ko)
EP (1) EP3384358B1 (ko)
KR (1) KR102174873B1 (ko)
CN (1) CN108292138B (ko)
BR (1) BR112018010981A2 (ko)
WO (1) WO2017095604A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10134135B1 (en) * 2015-08-27 2018-11-20 Hrl Laboratories, Llc System and method for finding open space efficiently in three dimensions for mobile robot exploration
CN113015677A (zh) * 2018-10-29 2021-06-22 大疆科技股份有限公司 用于执行实时地图构建的可移动物体
EP3647728B1 (en) * 2018-11-05 2023-06-21 Toyota Jidosha Kabushiki Kaisha Map information system
CN111307166B (zh) * 2018-12-11 2023-10-03 北京图森智途科技有限公司 一种构建占据栅格地图的方法及其装置、处理设备
US11314254B2 (en) * 2019-03-26 2022-04-26 Intel Corporation Methods and apparatus for dynamically routing robots based on exploratory on-board mapping
KR20210076412A (ko) * 2019-12-16 2021-06-24 현대자동차주식회사 차량 센서 성능 평가 장치 및 그의 성능 평가 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611328B1 (ko) * 2005-06-30 2006-08-11 고려대학교 산학협력단 세선화 기반 위상지도의 작성방법 및 그 장치, 이동로봇의탐사를 통한 세선화 기반 위상지도 작성방법 및 그 장치
KR100787242B1 (ko) * 2006-10-23 2007-12-21 포항공과대학교 산학협력단 격자의 점유 확률을 통한 형상 기반 지도의 신뢰도 평가방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2155593A1 (en) * 1994-08-19 1996-02-20 Takao Fujii Vehicle navigation system with upgradeable navigation software and a flexible memory configuration
US7302456B2 (en) 2002-11-06 2007-11-27 Matsushita Electric Industrial Co., Ltd. Stochastic processor and stochastic computer using the same
WO2006086519A1 (en) 2005-02-08 2006-08-17 Seegrid Corporation Multidimensional evidence grids and system and methods for applying same
CN100449444C (zh) * 2006-09-29 2009-01-07 浙江大学 移动机器人在未知环境中同时定位与地图构建的方法
KR101382982B1 (ko) * 2012-03-06 2014-04-09 고려대학교 산학협력단 로봇의 주행 경로 계획 장치 및 방법
US8965580B2 (en) 2012-06-21 2015-02-24 Rethink Robotics, Inc. Training and operating industrial robots
US8630741B1 (en) 2012-09-30 2014-01-14 Nest Labs, Inc. Automated presence detection and presence-related control within an intelligent controller
KR101807484B1 (ko) 2012-10-29 2017-12-11 한국전자통신연구원 객체 및 시스템 특성에 기반한 확률 분포 지도 작성 장치 및 그 방법
US9037396B2 (en) * 2013-05-23 2015-05-19 Irobot Corporation Simultaneous localization and mapping for a mobile robot
US20150339589A1 (en) 2014-05-21 2015-11-26 Brain Corporation Apparatus and methods for training robots utilizing gaze-based saliency maps
CN104035444B (zh) * 2014-06-27 2016-08-24 东南大学 机器人地图构建存储方法
US10093021B2 (en) 2015-12-02 2018-10-09 Qualcomm Incorporated Simultaneous mapping and planning by a robot
US20170161946A1 (en) 2015-12-03 2017-06-08 Qualcomm Incorporated Stochastic map generation and bayesian update based on stereo vision

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611328B1 (ko) * 2005-06-30 2006-08-11 고려대학교 산학협력단 세선화 기반 위상지도의 작성방법 및 그 장치, 이동로봇의탐사를 통한 세선화 기반 위상지도 작성방법 및 그 장치
KR100787242B1 (ko) * 2006-10-23 2007-12-21 포항공과대학교 산학협력단 격자의 점유 확률을 통한 형상 기반 지도의 신뢰도 평가방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Julian Ryde and Huosheng Hu, "3D mapping with multi-resolution occupied voxel lists", Auton Robot (2010) 28: 169-185, Sep. 30, 2009. *
Sebastian Thrun, "Learning Occupancy Grids with Forward Models", Proceedingis of the 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems Maui, Hawaii, USA, Oct. 29 -Nov. 03, 2001. *

Also Published As

Publication number Publication date
CN108292138B (zh) 2021-06-01
KR102174873B1 (ko) 2020-11-05
WO2017095604A1 (en) 2017-06-08
US20170161910A1 (en) 2017-06-08
BR112018010981A2 (pt) 2018-12-04
EP3384358A1 (en) 2018-10-10
US10613546B2 (en) 2020-04-07
EP3384358B1 (en) 2021-06-30
CN108292138A (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
CN108292139B (zh) 由机器人同时进行地图绘制和规划
KR102174873B1 (ko) 스토캐스틱 맵 인식 입체 시각 센서 모델
KR102226350B1 (ko) 자율 시각 내비게이션
US20170004406A1 (en) Parallel belief space motion planner
US11300964B2 (en) Method and system for updating occupancy map for a robotic system
CN111201448B (zh) 用于产生反演传感器模型的方法和设备以及用于识别障碍物的方法
CN108885719B (zh) 基于立体视觉的随机地图生成和贝叶斯更新
CN106796434A (zh) 地图生成方法、自身位置推定方法、机器人系统和机器人
JP2014219403A (ja) 複数オブジェクトを追跡する方法及び装置
CN108367436B (zh) 针对三维空间中的对象位置和范围的主动相机移动确定
KR20180092960A (ko) 고속 탐색 랜덤화 피드백 기반의 모션 계획
EP3384359B1 (en) Map generation based on raw stereo vision based measurements
EP3798977A1 (en) Method for managing tracklets in a particle filter estimation framework
CN118131739A (zh) 区域探索方法、机器人及计算机存储介质
CN116929377A (zh) 激光雷达与惯导融合定位方法及相关设备

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right