KR20230029981A - 포즈 결정을 위한 시스템 및 방법 - Google Patents

포즈 결정을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20230029981A
KR20230029981A KR1020237003646A KR20237003646A KR20230029981A KR 20230029981 A KR20230029981 A KR 20230029981A KR 1020237003646 A KR1020237003646 A KR 1020237003646A KR 20237003646 A KR20237003646 A KR 20237003646A KR 20230029981 A KR20230029981 A KR 20230029981A
Authority
KR
South Korea
Prior art keywords
mobile device
pose
map
determining
device based
Prior art date
Application number
KR1020237003646A
Other languages
English (en)
Inventor
리즈 후
후이 린
지엔화 커
웨이 루
쥔 인
Original Assignee
저장 다후아 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202010655087.1A external-priority patent/CN111536964B/zh
Priority claimed from CN202010963179.6A external-priority patent/CN112179330B/zh
Application filed by 저장 다후아 테크놀러지 컴퍼니 리미티드 filed Critical 저장 다후아 테크놀러지 컴퍼니 리미티드
Publication of KR20230029981A publication Critical patent/KR20230029981A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19013Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V30/1902Shifting or otherwise transforming the patterns to accommodate for positional errors
    • G06V30/19067Matching configurations of points or features, e.g. constellation matching
    • 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/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

포즈 결정을 위한 시스템(100) 및 방법. 시스템(100)은 이동 장치(110)(510)의 초기 포즈를 획득할 수 있다. 시스템(100)은 또한 이동 장치(110)(520)와 연관된 적어도 하나의 지도에 따라 이동 장치(110)의 초기 포즈에 기초하여 이동 장치(110)의 복수의 후보 포즈를 결정할 수 있다. 시스템(100)은 이동 장치(110)(530)에 의해 획득된 복수의 후보 포즈 및 레이저 데이터에 기초하여 이동 장치(110)의 목표 초기 포즈를 결정할 수 있다.

Description

포즈 결정을 위한 시스템 및 방법
관련 출원에 대한 교차 -참조
본 출원은 2020년 7월 9일에 출원된 중국 특허 출원 제 202010655087.1호 및 2020년 9월 14일에 출원된 중국 특허 출원 제 202010963179.6호를 우선권으로 주장하며, 각각의 전체 내용은 인용에 의해 본원에 포함된다.
기술 분야
본 개시는 일반적으로 자동화 기술에 관한 것으로, 특히 이동 장치의 포즈(pose)를 결정하는 시스템 및 방법에 관한 것이다.
자동화 기술과 컴퓨터 기술의 발달로 포즈 결정이 점점 더 중요해지고 있다. 일반적으로 이동 장치(예: 로봇)의 포즈는 이동 장치가 획득한 단일 데이터(예: 이미지 데이터, 레이저 데이터, 오도메트리 데이터)를 기반으로 결정된다. 예를 들어, 이동 장치의 포즈는 레이저 데이터 및 이동 장치가 위치한 지역의 기설정된 글로벌 지도에 기초하여 결정된다. 그러나, 어떤 경우에는, 단일 유형의 데이터가 포즈 결정의 정확성을 보장할 수 없다. 예를 들어, 이동 장치를 둘러싼 실제 환경은 동적으로 변하고 기설정된 글로벌 지도는 실제 환경의 실시간 상황을 반영할 수 없으므로 레이저 데이터 및 기설정된 글로벌 지도에 기반한 포즈 결정의 정확도에 영향을 미칠 수 있다. 따라서, 이동 장치의 포즈를 정확하고 효율적으로 판단하기 위한 시스템 및 방법을 제공하는 것이 바람직하다.
본 개시내용의 하나의 양태에 따라, 시스템이 제공될 수 있다. 상기 시스템은 명령 세트를 포함하는 적어도 하나의 저장 장치; 및 상기 적어도 하나의 저장 장치와 통신하는 적어도 하나의 프로세서를 포함할 수 있고, 상기 명령 세트를 실행할 때, 상기 적어도 하나의 프로세서는 상기 시스템이 이동 장치의 초기 포즈를 획득하게 하고; 상기 이동 장치와 연관된 적어도 하나의 지도에 따라 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하고; 상기 복수의 후보 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 이동 장치의 초기 포즈를 획득하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템이 상기 이동 장치에 의해 획득된 이미지의 특징 정보를 결정하고; 상기 이미지의 특징 정보와 특징 데이터베이스에 저장되어 있는 복수의 기준 이미지의 기준 특징 정보를 매칭하여 매칭 결과를 생성하고, 상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하도록 구성될 수 있다.
일부 실시예에서, 상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템이 상기 이미지의 특징 정보와 상기 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 유사도를 결정하고, 복수의 유사도로부터 유사도 임계값을 초과하는 유사도를 식별하고; 상기 유사도 임계값을 초과하는 유사도를 갖는 기준 이미지에 대응하는 기준 포즈 또는 기준 특징 정보에 기초하여 상기 이동 장치의 초기 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템이 모든 복수의 유사도가 유사도 임계값 이하라는 결정에 응답하여, 상기 이동 장치를 이동시켜 제 2 이미지를 얻고, 상기 제 2 이미지의 제 2 특징 정보를 결정하고, 상기 제 2 이미지의 제 2 특징 정보와 상기 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 제 2 유사도를 결정하고, 상기 복수의 제 2 유사도로부터 상기 유사도 임계값을 초과하는 제 2 유사도를 식별하고; 제 2 유사도가 상기 유사도 임계값을 초과하는 제 2 기준 이미지에 대응하는 제 2 기준 포즈 또는 제 2 기준 특징 정보에 기초하여 상기 이동 장치의 초기 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템이, 상기 복수의 제 2 유사도 모두가 유사도 임계값 이하라는 결정에 응답하여, 상기 이동 장치의 하나 또는 그 초과의 이전 포즈 및 상기 이동 장치의 오도메트리 데이터를 기반으로 이동 장치의 초기 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 특징 데이터베이스는 기준 지도를 획득하고, 상기 기준 지도에 기초하여 기준 이동 장치의 복수의 기준 포즈를 얻고, 상기 복수의 기준 포즈의 2개의 인접한 기준 포즈가 기설정된 조건을 만족하고, 상기 복수의 기준 포즈로부터 상기 기준 이동 장치에 의해 획득된 복수의 이미지를 상기 복수의 기준 이미지로서 결정하고, 상기 복수의 기준 이미지 각각에 대해, 상기 기준 이미지의 기준 특징 정보를 추출하고 저장하여, 발생될 수 있고, 상기 기준 특징 정보가 기준 특징점, 상기 기준 특징점의 기준 표현, 또는 상기 기준 특징점의 기준 좌표 중 적어도 하나를 포함한다.
일부 실시예에서, 상기 기설정된 조건은 상기 인접한 두 포즈에 각각 해당하는 시점 사이의 시간 차이가 시간 임계값을 초과하거나 상기 기준 이동 장치의 2개의 인접한 포즈 사이의 차이가 차이 임계값을 초과하는 것을 포함할 수 있다.
일부 실시예에서, 상기 적어도 하나의 프로세서는 상기 시스템이 상기 이동 장치에 의해 획득된 상기 레이저 데이터와 상기 이동 장치와 연관된 지도의 매칭 결과를 결정하고; 상기 매칭 결과가 기설정된 조건을 만족하는 결과에 응답하여, 상기 특징 정보와 상기 특징 데이터베이스의 해당 기준 특징 정보 사이의 최고 유사도가 유사도 임계값보다 작은지 여부를 판단하고, 상기 유사도가 상기 유사도 임계값보다 작다는 결과에 응답하여, 기준 이미지에 대응하는 기준 특징 정보를 상기 이미지의 특징 정보로 교체하여 상기 특징 데이터베이스를 업데이트하도록 구성될 수 있다.
일부 실시예에서, 상기 적어도 하나의 지도는 상기 이동 장치와 관련된 해상도가 다른 적어도 2개의 지도를 포함하고, 상기 이동 장치와 연관된 적어도 하나의 지도에 따라 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하기 위하여, 적어도 하나의 프로세서는 시스템이 적어도 2개의 지도상의 미리 결정된 범위 내에서 초기 포즈를 회전 또는 이동함으로써 상기 이동 장치의 복수의 후보 포즈를 결정하게 하도록 구성될 수 있다.
일부 실시예에서, 복수의 후보 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이, 분기 및 경계 알고리즘을 이용하여, 이동 장치의 복수의 후보 포즈 및 적어도 2개의 지도에 기초한 이동 장치의 목표 초기 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 분기 및 경계 알고리즘을 이용하여, 상기 적어도 2개의 지도 및 상기 이동 장치의 복수의 후보 포즈를 기반으로 상기 이동 장치의 목표 초기 포즈를 결정하기 위해, 상기 적어도 하나의 프로세서는 시스템이 적어도 2개의 지도 각각에 대해, 지도를 다운 샘플링함으로써 하나 또는 그 초과의 수정된 지도를 결정하고; 분기 및 경계 알고리즘을 이용하여, 적어도 2개의 지도, 적어도 지도에 대응하는 수정된 지도, 및 상기 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 적어도 2개의 지도는 제 1 해상도를 갖는 제 1 지도 및 제 2 해상도를 갖는 제 2 지도를 포함하고; 상기 분기 및 경계 알고리즘을 이용하여, 적어도 2개의 지도 및 상기 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이 제 1 해상도를 갖는 상기 제 1 지도 및 상기 이동 장치의 초기 포즈에 기초하여, 상기 이동 장치의 복수의 후보 포즈 중에서 상기 이동 장치의 복수의 제 1 후보 포즈를 결정하고; 상기 분기 및 경계 알고리즘을 이용하여, 상기 복수의 제 1 후보 포즈에 기초하여 상기 이동 장치의 제 1 목표 초기 포즈를 결정하고; 제 2 해상도를 갖는 제 2 지도 및 상기 이동 장치의 제 1 목표 초기 포즈에 기초하여, 상기 이동 장치의 복수의 후보 포즈 중에서 상기 이동 장치의 복수의 제 2 후보 포즈를 결정하고; 분기 및 경계 알고리즘을 이용하여, 상기 이동 장치의 복수의 제 2 후보 포즈에 기초하여 상기 이동 장치의 제 2 목표 초기 포즈를 결정하고; 상기 이동 장치의 제 2 목표 초기 포즈를 상기 이동 장치의 목표 초기 포즈로 지정하도록 구성될 수 있다.
본 개시내용의 다른 양태에 따라, 시스템이 제공될 수 있다. 상기 시스템은 명령 세트를 포함하는 적어도 하나의 저장 장치; 및 상기 적어도 하나의 저장 장치와 통신하는 적어도 하나의 프로세서를 포함하며, 상기 명령 세트를 실행할 때, 상기 적어도 하나의 프로세서는 상기 시스템이 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터를 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하고; 상기 이동 장치와 관련된 적어도 하나의 로컬 지도를 획득하고; 적어도 하나의 로컬 지도 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 제 2 포즈를 결정하고; 포즈 조정 알고리즘을 이용하여 상기 제 1 포즈 및 상기 제 2 포즈에 기초하여 상기 이동 장치의 목표 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이 현재 시점에 대응하는 오도메트리 데이터와 현재 시점에 인접한 이전 시점에 대응하는 이전 오도메트리 데이터 사이의 제 1 차이가 제 1 차이 임계값을 초과하거나, 현재 시점과 이전 시점 사이의 제 2 차이가 제 2 차이 임계값을 초과하고, 상기 제 1 차이가 제 1 차이 임계값 이하이고, 상기 제 2 차이가 제 2 차이 임계값이하라는 결정에 응답하여, 상기 이동 장치에 의해 획득된 상기 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이 제 1 차이가 제 1 차이 임계값을 초과하는지 또는 제 2 차이가 제 2 차이 임계값을 초과하는지에 대한 결정에 응답하여, 상기 이동 장치에 의해 획득된 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 후보 포즈를 결정하고; 상기 이동 장치가 위치한 영역의 장기간 특징에 대응하는, 레이저 데이터의 일부 및 상기 이동 장치와 연관된 글로벌 지도에 기초하여 상기 이동 장치의 제 2 후보 포즈를 결정하고; 상기 제 1 후보 포즈 및 상기 제 2 후보 포즈에 기초하여 상기 이동 장치의 제 1 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이 적어도 하나의 마커가 레이저 데이터에 기초하여 검출되고; 상기 레이저 데이터에 기초하여 상기 적어도 하나의 마커가 검출된 결정에 응답하여, 상기 검출된 적어도 하나의 마커와 관련된 미리 결정된 기준 정보에 기초하여 상기 이동 장치의 제 1 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이 레이저 데이터와 상기 이동 장치와 관련된 글로벌 지도의 매칭 결과가 기설정된 조건을 만족하고; 상기 매칭 결과가 기설정된 조건을 만족한다는 결정에 응답하여, 상기 이동 장치와 관련된 레이저 데이터 및 글로벌 지도에 기초하여 상기 이동 장치의 제 1 포즈를 결정하도록 구성될 수 있다.
일부 실시예에서, 상기 적어도 하나의 로컬 지도 각각은 복수의 그리드 및 상기 복수의 그리드 각각에 대응하는 복수의 점유율을 포함할 수 있다.
일부 실시예에서, 상기 적어도 하나의 프로세서는 상기 시스템이 상기 이동 장치의 상기 제 1 포즈 및 상기 이동 장치에 의해 획득된 상기 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치와 연관된 상기 적어도 하나의 로컬 지도를 업데이트하고, 적어도 하나의 로컬 지도 각각에 대해, 상기 이동 장치의 제 1 포즈에 기초하여 상기 로컬 지도상에 상기 레이저 데이터를 투사하고; 상기 투사된 레이저 데이터에 기초하여 복수의 그리드에 대응하는 복수의 점유율을 업데이트함으로써 로컬 지도를 업데이트하도록 추가로 구성될 수 있다.
일부 실시예에서, 상기 적어도 하나의 로컬 지도는 상기 레이저 데이터에 대응하는 현재 시점으로부터 미리 정해진 범위 내의 이전 시점에서 상기 이동 장치에 의해 획득된 이전 레이저 데이터에 기초하여 구성되거나 업데이트될 수 있고, 상기 적어도 하나의 로컬 지도는 이전 레이저 데이터와 상기 이동 장치와 관련된 글로벌 지도 사이의 매칭 결과에 따라 동적으로 구성되거나 업데이트될 수 있다.
일부 실시예에서, 상기 적어도 하나의 로컬 지도는 미리 정해진 시간 간격, 상기 적어도 하나의 로컬 지도에 포함된 데이터 프레임의 카운트, 또는 상기 이동 장치와 관련된 적어도 하나의 로컬 지도 및 글로벌 지도에 기초하여 결정된 이동 장치의 포즈 사이의 매칭 결과 중 적어도 하나에 따라 동적으로 구성되거나 해제될 수 있다.
일부 실시예에서, 상기 적어도 하나의 로컬 지도는 제 1 로컬 지도, 제 2 로컬 지도, 및 제 3 로컬 지도를 포함할 수 있다. 상기 제 1 로컬 지도의 데이터 프레임의 카운트가 제 1 사전 결정된 카운트에 도달할 때 상기 제 2 로컬 지도가 구성될 수 있다. 상기 제 3 로컬 지도는 상기 제 2 로컬 지도의 데이터 프레임의 카운트가 제 1 미리 결정된 카운트에 도달할 때 구성될 수 있다. 상기 제 1 로컬 지도의 데이터 프레임의 카운트가 소정의 제 2 카운트에 도달하거나 상기 제 2 로컬 지도에 기초하여 결정된 상기 이동 장치의 포즈와 상기 이동 장치와 관련된 글로벌 지도 사이의 매칭 결과가 기설정된 조건을 만족할 때 상기 제 1 로컬 지도가 해제될 수 있다.
일부 실시예에서, 상기 포즈 조정 알고리즘은 희귀 포즈 조정(SPA) 알고리즘을 포함할 수 있다.
일부 실시예에서, 상기 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 상기 적어도 하나의 프로세서는 시스템이 상기 이동 장치의 목표 초기 포즈를 획득하고; 상기 이동 장치의 목표 초기 포즈 및 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 기초하여 이동 장치의 제 1 포즈를 결정하도록 결정될 수 있다. 상기 이동 장치의 목표 초기 포즈는 상기 이동 장치의 초기 포즈를 획득함으로써 결정되도록 구성되고, 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하고; 및 상기 복수의 후보 포즈 및 상기 제 2 시점에서 상기 이동 장치가 획득한 레이저 데이터에 기초하여 상기 제 2 시점에서의 상기 이동 장치의 포즈를 결정함으로써 결정될 수 있다.
본 개시내용의 다른 양태에 따라, 방법이 제공된다. 상기 방법은 적어도 하나의 프로세서, 적어도 하나의 저장 매체, 및 네트워크로 연결된 통신 플랫폼을 포함하는 컴퓨팅 장치에서 구현될 수 있다. 상기 방법은 이동 장치의 초기 포즈를 획득하는 단계; 상기 이동 장치와 관련된 적어도 하나의 지도에 따라 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계; 및 상기 복수의 후보 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 이동 장치의 초기 포즈를 획득하는 단계는 상기 이동 장치가 획득한 이미지의 특징 정보를 결정하는 단계; 상기 이미지의 특징 정보와 복수의 기준 이미지의 기준 특징 정보를 매칭하여 매칭 결과를 생성하는 단계로서, 상기 기준 특징 정보가 특징 데이터베이스에 저장되는, 단계; 및 상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하는 단계는 상기 이미지의 특징 정보와 상기 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 유사도를 결정하는 단계; 복수의 유사도로부터 유사도 임계값을 초과하는 유사도를 식별하는 단계; 및 상기 유사도 임계값을 초과하는 유사도를 갖는 기준 이미지에 대응하는 기준 포즈 또는 기준 특징 정보에 기초하여 상기 이동 장치의 초기 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하는 단계는,상기 복수의 유사도가 모두 상기 유사도 임계값 이하인 결정에 응답하여, 상기 이동 장치를 이동시킴으로써 제 2 이미지를 획득하는 단계; 상기 제 2 이미지의 제 2 특징 정보를 결정하는 단계; 상기 제 2 이미지의 제 2 특징 정보와 상기 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 제 2 유사도를 결정하는 단계; 복수의 제 2 유사도로부터 상기 유사도 임계값을 초과하는 제 2 유사도를 식별하는 단계; 및 상기 제 2 유사도가 상기 유사도 임계값을 초과하는 제 2 기준 이미지에 대응하는 제 2 기준 포즈 또는 제 2 기준 특징 정보에 기초하여 상기 이동 장치의 초기 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하는 단계는, 상기 복수의 제 2 유사도 모두가 상기 유사도 임계값 이하인 결정에 응답하여, 상기 이동 장치의 하나 또는 그 초과의 이전 포즈 및 상기 이동 장치의 오도메트리 데이터에 기초하여 상기 이동 장치의 초기 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 특징 데이터베이스는 참조 지도를 획득하는 단계; 상기 기준 지도에 기초하여 기준 이동 장치의 복수의 기준 포즈를 획득하는 단계로서, 상기 복수의 기준 포즈 중 2개의 인접한 기준 포즈가 기설정된 조건을 만족하는, 단계; 상기 복수의 기준 포즈로부터의 상기 기준 이동 장치에 의해 획득된 복수의 이미지를 복수의 기준 이미지로서 결정하는 단계; 및 복수의 기준 이미지 각각에 대해, 상기 기준 이미지의 기준 특징 정보를 추출 및 저장하는 단계에 의해 생성될 수 있다. 상기 기준 특징 정보는 적어도 하나의 기준 특징점, 사기 기준 특징점의 기준 표현, 또는 상기 기준 특징점의 기준 좌표 중 적어도 하나를 포함할 수 있다.
일부 실시예에서, 상기 기설정된 조건은 상기 인접한 2개의 포즈 각각에 대응하는 시점 간의 시간차가 시간 임계값을 초과하거나 상기 기준 이동 장치의 인접한 2개의 포즈 간의 차이가 차이 임계값을 초과하는 것을 포함할 수 있다.
일부 실시예에서, 상기 방법은 상기 이동 장치에 의해 획득된 레이저 데이터와 상기 이동 장치와 관련된 지도의 매칭 결과를 결정하는 단계; 상기 매칭 결과가 기설정된 조건을 만족하는 결과에 응답하여, 상기 특징 정보와 상기 특징 데이터베이스의 해당 기준 특징 정보 간의 최고 유사도가 유사도 임계값보다 작은지 여부를 판단하는 단계; 및 상기 유사도가 상기 유사도 임계값보다 작다는 결정에 응답하여, 상기 기준 이미지에 대응되는 기준 특징 정보를 상기 이미지의 특징 정보로 대체하여 상기 특징 데이터베이스를 업데이트하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 적어도 하나의 지도는 상기 이동 장치와 관련된 해상도가 다른 적어도 2개의 지도를 포함하고, 상기 이동 장치와 연관된 적어도 하나의 지도에 따른 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계는 적어도 2개의 지도상에서 미리 결정된 범위 내에서 초기 포즈를 회전 또는 이동함으로써 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 복수의 후보 포즈 및 상기 이동 장치가 획득한 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계는, 상기 및 경계 알고리즘을 이용하여, 상기 적어도 2개의 지도과 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 분기 및 경계 알고리즘을 이용하여, 적어도 2개의 지도 및 상기 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계는, 적어도 두 개의 지도 각각에 대해, 상기 지도를 다운 샘플링하여 하나 또는 그 초과의 수정된 지도를 결정하는 단계; 및 상기 분기 및 경계 알고리즘을 이용하여, 상기 적어도 2개의 지도, 상기 적어도 지도에 대응하는 수정된 지도, 및 상기 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 적어도 2개의 지도는 제 1 해상도를 갖는 제 1 지도 및 제 2 해상도를 갖는 제 2 지도를 포함하고; 상기 분기 및 경계 알고리즘을 이용하여, 상기 이동 장치의 적어도 2개의 지도 및 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계는 제 1 해상도를 갖는 제 1 지도 및 상기 이동 장치의 초기 포즈에 기초하여, 상기 이동 장치의 복수의 후보 포즈 중 이동 장치의 복수의 제 1 후보 포즈를 결정하는 단계; 상기 분기 및 경계 알고리즘을 이용하여, 복수의 제 1 후보 포즈에 기초하여 상기 이동 장치의 제 1 목표 초기 포즈를 결정하는 단계; 상기 제 2 해상도의 제 2 지도 및 상기 이동 장치의 제 1 목표 초기 포즈에 기초하여, 상기 이동 장치의 복수의 후보 포즈 중에서 상기 이동 장치의 복수의 제 2 후보 포즈를 결정하는 단계; 상기 분기 및 경계 알고리즘을 이용하여, 상기 이동 장치의 복수의 제 2 후보 포즈에 기초하여 상기 이동 장치의 제 2 목표 초기 포즈를 결정하는 단계; 및 상기 이동 장치의 상기 제 2 목표 초기 포즈를 상기 이동 장치의 목표 초기 포즈로 지정하는 단계를 포함할 수 있다.
본 개시내용의 또 다른 양태에 따라, 방법이 제공될 수 있다. 상기 방법은 적어도 하나의 프로세서, 적어도 하나의 저장 매체, 및 네트워크에 연결된 통신 플랫폼을 포함하는 컴퓨팅 장치에서 구현될 수 있다. 상기 방법은 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 이동 장치의 제 1 포즈를 결정하는 단계, 상기 이동 장치와 관련된 적어도 하나의 로컬 지도를 획득하는 단계; 적어도 하나의 로컬 지도 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 제 2 포즈를 결정하는 단계; 및 포즈 조정 알고리즘을 이용하여 상기 제 1 포즈 및 상기 제 2 포즈에 기초하여 상기 이동 장치의 목표 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계는, 현재 시점에 대응하는 오도메트리 데이터와 현재 시점에 인접한 이전 시점에 대응하는 이전 오드메트리 데이터가 제 1 차이 임계값을 초과하거나 상기 현재 시점과 상기 이전 시점 사이의 제 2 차이가 제 2 차이 임계값을 초과하는지를 결정하는 단계, 및 제 1 차이가 제 1 차이 임계값 이하이고 제 2 차이가 제 2 차이 임계값 이하인 결정에 응답하여, 상기 이동 장치에 의해 획득된 상기 오도메트리 데이터를 기초로 한 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 이동 장치의 제 1 포즈를 결정하는 단계는, 제 1 차이가 제 1 차이 임계값을 초과하거나 제 2 차이가 제 2 차이 임계값을 초과한다는 결정에 응답하여, 상기 이동 장치에 의해 획득된 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 후보 포즈를 결정하는 단계; 레이저 데이터의 일부 및 이동 장치와 연관된 글로벌 지도에 기초하여 상기 이동 장치의 제 2 후보 포즈를 결정하는 단계로서, 상기 레이저 데이터의 일부는 상기 이동 장치가 위치한 영역의 장기간 특징에 대응하는, 단계; 및 상기 제 1 후보 포즈 및 상기 제 2 후보 포즈에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계는 상기 레이저 데이터에 기초하여 적어도 하나의 마커가 검출되는지 여부를 결정하는 단계; 및 상기 레이저 데이터에 기초하여 적어도 하나의 마커가 검출된 것으로 판단되면, 상기 검출된 적어도 하나의 마커와 관련된 소정의 기준 정보에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계는, 상기 이동 장치와 관련된 레이저 디스크와 글러벌 맵의 매칭 결과가 기설정된 조건을 만족하는지를 결정하는 단계; 및 상기 매칭 결과가 상기 기설정된 조건을 만족하는지의 결과에 응답하여, 상기 이동 장치와 관련된 레이저 데이터와 글로벌 지도에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 적어도 하나의 로컬 지도 각각은 복수의 그리드 및 상기 복수의 그리드 각각에 대응하는 복수의 점유율을 포함할 수 있다.
일부 실시예에서, 상기 방법은 상기 적어도 하나의 로컬 지도 각각에 대해, 상기 이동 장치의 제 1 포즈에 기초하여 레이저 데이터를 로컬 지도상에 투사하는 단계, 및 상기 투사된 레이저 데이터에 기초하여 상기 복수의 그리드에 대응하는 복수의 점유율을 업데이트함으로써 상기 로컬 지도를 업데이트하는 단계에 의해, 상기 이동 장치의 제 1 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치와 연관된 적어도 하나의 로컬 지도를 업데이트하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 적어도 하나의 로컬 지도는 상기 레이저 데이터에 대응하는 현재 시점으로부터 미리 정해진 범위 내의 이전 시점에서 상기 이동 장치에 의해 획득된 이전 레이저 데이터에 기초하여 구성 또는 업데이트될 수 있다. 적어도 하나의 로컬 지도는 상기 이동 장치와 관련된 이전 레이저 데이터와 글로벌 지도 사이의 매칭 결과에 따라 동적으로 구성되거나 업데이트될 수 있다.
일부 실시예에서, 상기 적어도 하나의 로컬 지도는 미리 정해진 시간 간격, 상기 적어도 하나의 로컬 지도에 포함된 데이터 프레임의 카운트, 또는
상기 이동 장치와 관련된 적어도 하나의 로컬 지도 및 글로벌 지도에 기초하여 결정된 이동 장치의 포즈 사이의 매칭 결과 중 적어도 하나에 따라 동적으로 구성 또는 해제될 수 있다.
일부 실시예에서, 상기 적어도 하나의 로컬 지도는 제 1 로컬 지도, 제 2 로컬 지도, 및 제 3 로컬 지도를 포함할 수 있다. 상기 제 1 로컬 지도의 데이터 프레임의 카운트가 제 1 사전 결정된 카운트에 도달할 때 상기 제 2 로컬 지도가 구성될 수 있다. 상기 제 3 로컬 지도는 상기 제 2 로컬 지도의 데이터 프레임의 카운트가 제 1 미리 결정된 카운트에 도달할 때 구성될 수 있다. 상기 제 1 로컬 지도의 데이터 프레임의 카운트가 소정의 제 2 카운트에 도달하거나 상기 제 2 로컬 지도에 기초하여 결정된 상기 이동 장치의 포즈와 상기 이동 장치와 관련된 글로벌 지도 사이의 매칭 결과가 기설정된 조건을 만족할 때 상기 제 1 로컬 지도가 해제될 수 있다.
일부 실시예에서, 상기 포즈 조정 알고리즘은 희귀 포즈 조정(SPA) 알고리즘을 포함할 수 있다.
일부 실시예에서, 상기 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계는, 상기 이동 장치의 목표 초기 포즈를 획득하는 단계; 및 상기 이동 장치의 목표 초기 포즈 및 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함할 수 있다. 상기 이동 장치의 목표 초기 포즈는 상기 이동 장치의 초기 포즈를 획득하는 단계; 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계; 및 상기 복수의 후보 포즈 및 상기 제 2 시점에서 상기 이동 장치가 획득한 레이저 데이터에 기초하여 상기 제 2 시점에서의 상기 이동 장치의 포즈를 결정하는 단계에 의해 결정될 수 있다.
본 개시내용의 다른 양태에 따라, 비일시적 컴퓨터 판독 가능 매체가 제공될 수 있다. 비일시적 컴퓨터 판독 가능 매체는 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서가 방법을 수행하도록 지시하는 실행 가능한 명령을 포함할 수 있다. 상기 방법은; 이동 장치의 초기 포즈를 획득하는 단계; 상기 이동 장치와 관련된 적어도 하나의 지도에 따라 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계; 및 상기 복수의 후보 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계를 포함할 수 있다.
본 개시내용의 다른 양태에 따라, 비일시적 컴퓨터 판독 가능 매체가 제공될 수 있다. 비일시적 컴퓨터 판독 가능 매체는 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서가 방법을 수행하도록 지시하는 실행 가능한 명령를 포함할 수 있다. 상기 방법은: 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계, 상기 이동 장치와 관련된 적어도 하나의 로컬 지도를 획득하는 단계; 상기 이동 장치에 의해 획득된 적어도 하나의 로컬 지도와 레이저 데이터에 기초하여 상기 이동 장치의 제 2 포즈를 결정하는 단계; 및 포즈 조정 알고리즘을 이용하여 상기 제 1 포즈 및 상기 제 2 포즈에 기초하여 상기 이동 장치의 목표 포즈를 결정하는 단계를 포함할 수 있다.
추가 특징은 다음 설명에서 부분적으로 설명될 것이며 부분적으로는 다음 및 첨부된 도면을 검토할 때 당업자에게 명백해지거나 예의 생산 또는 작동에 의해 학습될 수 있다. 본 발명의 특징은 아래에서 논의되는 상세한 예에서 제시된 방법론, 수단 및 조합의 다양한 측면의 실시 또는 사용에 의해 실현되고 달성될 수 있다.
본 개시내용은 예시적인 실시예의 관점에서 추가로 설명된다. 이러한 예시적인 실시예들은 도면을 참조하여 상세히 설명된다. 도면은 축척에 맞지 않는다. 이들 실시예는 비제한적인 개략 실시예이며, 유사한 참조 번호는 도면의 여러 도면 전체에 걸쳐 유사한 구조를 나타내며, 여기에서:
도 1은 본 개시내용의 일부 실시예에 따른 예시적인 포즈 결정 시스템을 예시하는 개략도이고,
도 2는 본 개시내용의 일부 실시예에 따른 예시적인 컴퓨팅 장치의 예시적인 하드웨어 및/또는 소프트웨어 구성요소를 나타내는 개략도이고,
도 3은 본 개시내용의 일부 실시예에 따른 예시적인 모바일 장치의 예시적인 하드웨어 및/또는 소프트웨어 구성요소를 나타내는 개략도이고,
도 4는 본 개시내용의 일부 실시예에 따른 예시적인 처리 장치를 나타내는 블록도이고,
도 5는 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 초기 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이고,
도 6은 본 개시내용의 일부 실시예에 따라 특징 데이터베이스를 생성하기 위한 예시적인 프로세스를 예시하는 순서도이고,
도 7은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 초기 포즈를 결정하기 위한 예시적인 프로세스를 도시하는 순서도이고,
도 8a 내지 도 8c는 본 개시내용의 일부 실시예에 따라 지도를 다운 샘플링하기 위한 예시적인 프로세스를 도시하는 개략도이고,
도 9는 본 개시내용의 일부 실시예에 따른 분기 및 경계 알고리즘을 예시하는 개략도이고,
도 10은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 초기 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이고,
도 11a 및 도 11b는 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 초기 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이고,
도 12는 본 개시내용의 일부 실시예에 따른 예시적인 처리 장치를 나타내는 블록도이고,
도 13은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이고,
도 14a 내지 도 14f는 본 개시내용의 일부 실시예에 따라 로컬 지도의 그리드 점유율을 업데이트하기 위한 예시적인 프로세스를 나타내는 개략도이고,
도 15는 본 개시내용의 일부 실시예에 따른 희소 포즈 조정 알고리즘의 원리를 나타내는 개략도이고,
도 16은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이고,
도 17은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 시점을 결정하기 위한 예시적인 프로세스를 나타내는 순서도이다.
다음의 상세한 설명에서, 관련된 개시 내용의 완전한 이해를 제공하기 위해 예를 통해 다수의 특정 세부 사항이 제시된다. 그러나, 본 개시내용이 그러한 세부사항 없이 실시될 수 있다는 것은 당업자에게 명백해야 한다. 다른 경우에, 잘 알려진 방법, 절차, 시스템, 구성 요소 및/또는 회로는 본 개시내용의 양태를 불필요하게 모호하게 하는 것을 피하기 위해 세부 사항 없이 비교적 높은 수준에서 설명되었다. 개시된 실시예에 대한 다양한 수정은 당업자에게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리는 본 개시내용의 사상 및 범위를 벗어나지 않고 다른 실시예 및 응용에 적용될 수 있다. 따라서, 본 개시내용은 도시된 실시예로 제한되지 않고 청구범위와 일치하는 가장 넓은 범위에 부여되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 한정하려는 의도가 아니다. 본 명세서에서 사용된 단수형 "a", "an" 및 "the"는 문맥상 명백하게 다르게 나타내지 않는 한 복수형도 포함하는 것으로 의도될 수 있다. 본 명세서에서 사용되는 "스피트(speed)"라는 용어는 크기 정보뿐만 아니라 이동 방향 정보도 포함하는 것으로, 즉 "스피드"라는 용어는 "속도(velocity)"와 혼용될 수 있음을 이해할 것이다. "포함하다("comprise", "comprises", 및/또는 "comprising", "include", "includes", 및/또는 "including") 라는 용어는 본 명세서에서 사용될 때 명시된 존재를 명시하는 것으로 추가로 이해될 것이다. 기능, 정수, 단계, 동작, 요소 및/또는 구성 요소이지만 하나 또는 그 초과의 다른 기능, 정수, 단계, 동작, 요소, 구성 요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 사용되는 "시스템", "유닛", "모듈" 및/또는 "블록" 등의 용어는 오름차순으로 서로 다른 수준의 서로 다른 구성 요소, 부품, 섹션 또는 조립품을 구별하기 위한 하나의 방법인 것으로 이해될 것이다. 다만, 동일한 목적을 달성하는 경우에는 다른 표현으로 대체될 수 있다.
본 명세서에서 설명하는 모듈(또는 유닛, 블록, 유닛)은 소프트웨어 및/또는 하드웨어 모듈로 구현될 수 있으며 임의의 유형의 비일시적 컴퓨터 판독 가능 매체 또는 기타 저장 장치에 저장될 수 있다. 일부 실시예에서, 소프트웨어 모듈은 실행 가능한 프로그램으로 컴파일되고 링크될 수 있다. 소프트웨어 모듈은 다른 모듈 또는 그 자체로부터 호출 가능하고 및/또는 감지된 이벤트 또는 인터럽트(interrupt)에 응답하여 호출될 수 있음을 인식할 것이다. 컴퓨팅 장치에서 실행하도록 구성된 소프트웨어 모듈은 컴팩트 디스크, 디지털 비디오 디스크, 플래시 드라이브, 자기 디스크 또는 기타 유형의 매체 또는 디지털 다운로드와 같은 컴퓨터 판독 가능 매체 상에 제공될 수 있다(및 실행 전에 설치, 압축 해제 또는 암호 해독이 필요한 압축 또는 설치 가능한 형식으로 원래 저장됨). 이러한 소프트웨어 코드는 컴퓨팅 장치에 의한 실행을 위해 실행 중인 컴퓨팅 장치의 메모리 장치에 부분적으로 또는 전체적으로 저장될 수 있다. 소프트웨어 지침은 EPROM과 같은 펌웨어에 내장될 수 있다. 하드웨어 모듈(예를 들어, 회로)은 게이트 및 플립플롭과 같은 연결되거나 결합된 논리 장치에 포함될 수 있고 및/또는 프로그래밍 가능한 게이트 어레이 또는 프로세서와 같은 프로그래밍 가능한 장치에 포함될 수 있음을 더 잘 알 것이다. 여기에 설명된 모듈 또는 컴퓨팅 장치 기능은 바람직하게는 하드웨어 모듈로 구현되지만 소프트웨어 모듈일 수도 있다. 일반적으로, 본 명세서에서 설명하는 모듈은 물리적 구성이나 저장에도 불구하고 다른 모듈과 결합하거나 단위로 나눌 수 있는 논리적 모듈을 의미한다.
장치, 엔진, 모듈 또는 블록이 다른 장치, 엔진, 모듈 또는 블록에 "켜져 있다", "연결되어 있다" 또는 "결합되어 있다"고 언급될 때, 다른 장치, 엔진, 모듈 또는 블록에 연결되거나 결합되거나 통신하거나 중간 장치, 엔진, 모듈 또는 블록이 존재할 수 있다. 본 명세서에서 사용되는 바와 같이, "및/또는"이라는 용어는 연관된 나열된 항목 중 하나 또는 그 초과의 임의의 및 모든 조합을 포함한다.
본 개시내용의 이러한 특징 및 기타 특징, 구조의 관련 요소의 작동 방법 및 기능, 부품의 조합 및 제조 경제성은 첨부 도면에 대한 하기 설명을 참조하여 보다 명백해질 수 있으며, 이들 모두는 본 개시내용의 일부를 형성한다. 그러나 도면은 단지 예시 및 설명을 위한 것이며 본 개시내용의 범위를 제한하려는 의도가 아님을 분명히 이해해야 한다.
본 개시에 사용된 순서도는 시스템이 본 개시의 일부 실시예에 따라 구현하는 동작을 예시한다. 순서도의 동작은 순서대로 구현되지 않을 수 있음을 명백히 이해해야 한다. 반대로, 동작은 역순으로 또는 동시에 구현될 수 있다. 또한, 하나 또는 그 초과의 다른 작업이 순서도에 추가될 수 있다. 하나 또는 그 초과의 작업이 플로우차트에서 제거될 수 있다.
본 개시내용의 양태는 이동 장치(예를 들어, 로봇)에 의해 획득된 레이저 데이터에 기초하여 이동 장치의 목표 초기 포즈를 결정하기 위한 시스템 및 방법에 관한 것이다. 시스템은 상이한 해상도를 갖는 적어도 2개의 지도 상에서 이동 장치의 초기 포즈를 회전 및/또는 변환함으로써 이동 장치의 복수의 후보 포즈를 결정할 수 있다. 시스템은 BB(Branch and Bound) 알고리즘 및 적어도 2개의 지도를 사용하여 복수의 후보 포즈 및 레이저 데이터에 기초하여 이동 장치의 목표 초기 포즈를 결정할 수 있다. 일부 실시예에서, 적어도 2개의 지도는 제 1 해상도를 갖는 제 1 지도 및 제 1 해상도보다 더 미세한 제 2 해상도를 갖는 제 2 지도를 포함할 수 있다. 시스템은 초기 포즈 및 제 1 지도에 기초하여 복수의 제 1 후보 포즈를 결정할 수 있고, BB 알고리즘을 이용하여 복수의 제 1 후보 포즈에 기초하여 이동 장치의 제 1 목표 초기 포즈를 결정할 수 있다. 시스템은 제 1 목표 초기 포즈 및 제 2 지도에 기초하여 복수의 제 2 후보 포즈를 결정할 수 있고, BB 알고리즘을 이용하여 복수의 제 2 후보 포즈에 기초하여 이동 장치의 제 2 목표 초기 포즈를 결정할 수 있다. 시스템은 제 2 목표 초기 포즈를 이동 장치의 목표 초기 포즈로 지정할 수 있다.
일부 실시예에서, 시스템은 이동 장치에 의해 획득된 이미지 데이터(예를 들어, 적어도 하나의 이미지)에 기초하여 초기 포즈를 결정할 수 있다. 따라서, 다양한 환경 데이터를 기반으로 목표 초기 포즈를 결정할 수 있어 목표 초기 포즈의 정확도를 높일 수 있다. 또한, BB 알고리즘과 해상도가 다른 두 개 또는 그 초과의 지도를 사용함으로써 목표 초기 포즈를 결정하는 속도와 정확도를 향상시킬 수 있다.
본 개시내용의 다른 양태는 이동 장치(예를 들어, 로봇)의 목표 포즈를 결정하기 위한 시스템 및 방법에 관한 것이다. 시스템은 이동 장치에 의해 획득된 오도메트리 데이터(odometry data) 또는 레이저 데이터에 적어도 부분적으로 기초하여 이동 장치의 제 1 포즈 및 이동 장치 및 레이저 데이터와 연관된 적어도 하나의 로컬 지도에 기초하여 이동 장치의 제 2 포즈를 결정할 수 있다. 적어도 하나의 로컬 지도는 레이저 데이터 및 제 1 포즈에 기초하여 동적으로 구성 또는 업데이트되어 이동 장치가 위치한 지역의 실시간 상황을 적어도 하나의 지도가 반영하여 제 2 포즈 정확도를 향상시킬 수 있다. 또한, 시스템은 포즈 조정 알고리즘(예를 들어, 희귀 포즈 조정(SPA) 알고리즘)을 사용하여 제 1 포즈 및/또는 제 2 포즈를 최적화함으로써 목표 포즈를 결정함으로써 목표 포즈의 정확도를 향상시킬 수 있다.
도 1은 본 개시내용의 일부 실시예에 따른 예시적인 포즈 결정 시스템을 예시하는 개략도이다. 일부 실시예에서 포즈 결정 시스템(100)은 이동 장치(110), 캡처 장치(120), 서버(130), 네트워크(140) 및 저장 장치(150)를 포함할 수 있다. 일부 실시예에서, 포즈 결정 시스템(100)은 다양한 시나리오, 예를 들어 자동 화물 운송, 특정 지역(예: 공원) 관광, 자동 음식 배달 등에 적용될 수 있다.
이동 장치(110)는 소정의 작업(예를 들어, 운송 작업)을 수행하기 위해 이동하도록 구성될 수 있다. 일부 실시예에서, 작업 중에 이동 장치(110)는 이동 장치(110)가 위치한 영역의 환경 데이터(예를 들어, 이미지 데이터, 오도메트리 데이터, 레이저 데이터)를 획득할 수 있다. 일부 실시예에서, 이동 장치(110)는 환경 데이터를 획득하도록 구성된 복수의 센서, 예를 들어, 적어도 하나의 광 감지 및 범위 LIDAR(112)(예를 들어, 2차원 LIDAR), 적어도 하나의 카메라(114)를 포함할 수 있다. 적어도 하나의 오도메트리(116), 관성 측정 유닛(IMU)(도 1에는 미도시) 등. 구체적으로, LIDAR(112)은 해당 영역의 레이저 데이터를 획득하도록 구성될 수 있고, 카메라(114)는 영역의 이미지 데이터를 획득하도록 구성될 수 있다. 오도메트리(116)는 이동 장치(110)의 오도메트리 데이터를 획득하도록 구성될 수 있다. 일부 실시예에서, 이동 장치(110)는 이동 장치(110)의 이동을 용이하게 하도록 구성된 적어도 하나의 구성요소, 예를 들어, 복수의 바퀴(118), 배터리, 모터, 컴퓨팅 유닛(도 1에 도시되지 않음) 등을 포함할 수 있다. 일부 실시예에서, 이동 장치(110)는 로봇, 무인 운반 차량(AGV), 등을 포함할 수 있다.
캡처 장치(120)는 이동 장치(110)가 위치한 지역의 환경 데이터를 촬영하도록 구성될 수 있다. 일부 실시예에서, 캡처 장치(120)는 카메라, 비디오 레코더, 이미지 센서, 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 웨어러블 장치 등 또는 이들의 임의의 조합을 포함할 수 있다. 카메라는 박스 카메라, 건(gun) 카메라, 돔 카메라, 일체형 카메라, 단안 카메라, 쌍안 카메라, 다중 센서 카메라, 스테레오 카메라, RGB-D 카메라 등, 또는 이들의 조합을 포함할 수 있다. 비디오 레코더는 PC 디지털 비디오 레코더(DVR), 임베디드 DVR 등 또는 이들의 조합을 포함할 수 있다. 이미지 센서는 전하 결합 소자(CCD), 상호 보완 산화철 반도체(CMOS) 등 또는 이들의 조합을 포함할 수 있다. 일부 실시예에서, 캡처 장치(120)는 이동 장치(110)에 통합, 장착 또는 연결될 수 있다. 일부 실시예에서, 캡처 장치(120)는 생략될 수 있으며, 캡처 장치(120)의 기능은 이동 장치(110)의 센서에 의해 구현될 수 있다.
서버(130)는 단일 서버 또는 서버 그룹일 수 있다. 서버 그룹은 집중화되거나 분산될 수 있다(예를 들어, 서버(130)는 분산 시스템일 수 있다). 일부 실시예에서, 서버(130)는 로컬 또는 원격일 수 있다. 예를 들어, 서버(130)는 네트워크(140)를 통해 이동 장치(110), 캡처 장치(120) 및/또는 저장 장치(150)에 저장된 정보 및/또는 데이터에 액세스할 수 있다. 또 다른 예로서, 서버(130)는 이동 장치(110), 캡처 장치(120), 및/또는 저장 장치(150)에 직접 연결될 수 있어 저장된 정보 및/또는 데이터에 액세스한다. 일부 실시예에서, 서버(130)는 클라우드 플랫폼 또는 온보드 컴퓨터에서 구현될 수 있다. 단지 예로서, 클라우드 플랫폼은 프라이빗 클라우드, 퍼블릭 클라우드, 하이브리드 클라우드, 커뮤니티 클라우드, 분산 클라우드, 인터-클라우드, 멀티-클라우드 등 또는 이들의 조합을 포함할 수 있다. 일부 실시예에서, 서버(130)는 본 개시 내용의 도 2에 도시된 하나 또는 그 초과의 구성을 포함하는 컴퓨팅 장치(200)에서 구현될 수 있다.
일부 실시예에서, 서버(130)는 처리 장치(132)를 포함할 수 있다. 처리 장치(132)는 본 개시내용에 설명된 하나 또는 그 초과의 기능을 수행하기 위해 포즈 결정과 연관된 정보 및/또는 데이터를 처리할 수 있다. 예를 들어, 처리 장치(132)는 이동 장치의 초기 포즈(예를 들어, 이미지 데이터에 기초하여 결정된 초기 포즈)에 기초하여 이동 장치(110)의 복수의 후보 포즈를 결정하고, 이동 장치의 목표 초기 포즈를 결정할 수 있다. 다른 예로서, 처리 장치(132)는 이동 장치(110)에 의해 획득된 레이저 데이터 또는 오도메트리 데이터에 적어도 부분적으로 기초하여 이동 장치의 제 1 포즈를 결정하고, 이동 장치(110)와 관련된 적어도 하나의 로컬 지도를 획득하고, 적어도 하나의 로컬 지도 및 이동 장치에 의해 획득된 레이저 데이터에 기초하여 이동 장치의 제 2 포즈를 결정하고, 예를 들어 포즈 조정 알고리즘을 이용하여 제 1 포즈와 제 2 포즈를 기반으로 이동 장치의 목표 포즈를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 하나 또는 그 초과의 처리 엔진(예를 들어, 단일 코어 처리 엔진(들) 또는 다중 코어 프로세서(들))을 포함할 수 있다. 단지 예로서, 처리 장치(132)는 중앙 처리 유닛(CPU), 주문형 집적 회로(ASIC), 응용 프로그램별 명령 세트 프로세서(ASIP), 그래픽 처리 유닛(GPU), 물리 처리 유닛(PPU) , 디지털 신호 프로세서(DSP) , 현장 프로그래밍 가능 게이트 어레이(FPGA) , 프로그래밍 가능 논리 장치(PLD) , 컨트롤러, 마이크로 컨트롤러 유닛, 축소 명령 집합 컴퓨터(RISC) , 마이크로프로세서 등 또는 이들의 조합을 포함할 수 있다.
일부 실시예에서, 서버(130)는 포즈 결정 시스템(100)의 하나 또는 그 초과의 구성요소(예를 들어, 이동 장치(110), 캡처 장치(120), 저장 장치(150))와 통신하기 위해 네트워크(140)에 연결될 수 있다. 일부 실시예에서, 서버(130)는 포즈 결정 시스템(100)의 하나 또는 그 초과의 구성요소(예를 들어, 이동 장치(110), 캡처 장치(120), 저장 장치(150))에 직접 연결되거나 통신할 수 있다. 일부 실시예에서 서버(130)는 불필요할 수 있으며, 서버(130)의 기능의 전부 또는 일부는 포즈 결정 시스템(100)의 다른 구성요소(예를 들어, 이동 장치(110))에 의해 구현될 수 있다. 예를 들어, 처리 장치(132)는 이동 장치(110) 및 기능에 통합될 수 있다. 처리 장치(132, 112)의 기능은 이동 장치(110)에 의해 구현될 수 있다.
네트워크(140)는 정보 및/또는 데이터의 교환을 용이하게 할 수 있다. 일부 실시예에서, 포즈 결정 시스템(100)의 하나 또는 그 초과의 구성요소(예를 들어, 이동 장치(110), 캡처 장치(120), 서버(130), 저장 장치(150))는 정보 및/또는 데이터를 다른 구성요소(들)에 전송할 수 있다. 예를 들어, 서버(130)는 네트워크(140)를 통해 저장 장치(150)로부터 특징 데이터베이스를 획득할 수 있다. 다른 예로, 서버(130)는 이동 장치(110)로부터 적어도 하나의 로컬 지도 또는 네트워크(140)를 통한 저장 장치(150)를 획득할 수 있다. 일부 실시예에서, 네트워크(140)는 임의 유형의 유선 또는 무선 네트워크, 또는 이들의 조합일 수 있다. 단지 예로서, 네트워크(140)는 케이블 네트워크, 유선 네트워크, 광섬유 네트워크, 통신 네트워크, 인트라넷, 인터넷, 근거리 통신망(LAN), 광역 네트워크(WAN), 무선 근거리 통신망(WLAN), 수도권 통신망), 공중 전화 교환망(PSTN), 블루투스 네트워크, ZigBee 네트워크, 근거리 무선 통신(NFC) 네트워크 등 또는 이의 임의의 조합을 포함할 수 있다. 일부 실시예에서, 네트워크(140)는 하나 또는 그 초과의 네트워크 액세스 포인트를 포함할 수 있다. 예를 들어, 네트워크(140)는 유선 또는 무선 네트워크 액세스 포인트(예를 들어, 포인트(140-1), 포인트(140-2))를 포함할 수 있고, 이를 통해 포즈 결정 시스템(100)의 하나 또는 그 초과의 구성요소가 데이터 및/또는 정보를 교환하기 위하여 네트워크(140)에 연결될 수 있다.
저장 장치(150)는 데이터 및/또는 명령를 저장할 수 있다. 일부 실시예에서, 저장 장치(150)는 이동 장치(110), 캡처 장치(120), 서버(130) 또는 외부 저장 장치로부터 획득한 데이터를 저장할 수 있다. 예를 들어, 저장 장치(150)는 서버(130)에서 결정된 이동 장치(110)의 목표 초기 포즈를 저장할 수 있다. 다른 예로, 저장 장치(150)는 서버(130)에서 결정된 이동 장치(110)의 목표 초기 포즈를 저장할 수 있다. 또 다른 예로서, 저장 장치(150)는 이동 장치(110)의 포즈를 결정하는데 사용될 수 있는 특징 데이터베이스를 저장할 수 있다. 또 다른 예로서, 저장 장치(150)는 이동 장치(110)와 관련된 적어도 하나의 로컬 지도를 저장할 수 있다. 일부 실시예에서, 저장 장치(150)는 처리 장치(132)가 실행할 수 있는 데이터 및/또는 명령을 저장할 수 있거나 본 개시 내용에 설명된 예시적인 방법을 수행하기 위해 사용할 수 있다. 예를 들어, 저장 장치(150)는 이동 장치(110)의 복수의 후보 포즈 및 이동 장치에 의해 획득된 레이저 데이터에 기초하여 이동 장치(110)의 목표 초기 포즈를 결정하기 위해 처리 장치(132)가 실행하거나 사용할 수 있는 명령을 저장할 수 있다. 다른 예로서, 저장 장치(150)는 처리 장치(132)가 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 이동 장치의 제 1 포즈를 결정하고, 이동 장치(110)와 관련된 적어도 하나의 로컬 지도를 획득하고, 적어도 하나의 로컬 지도 및 이동 장치에 의해 획득된 레이저 데이터에 기초하여 이동 장치(110)의 제 2 포즈를 결정하고, 예를 들어 포즈 조정 알고리즘을 이용하여 제 1 포즈와 제 2 포즈에 기초하여 이동 장치의 목표 포즈를 결정하기 위해 실행하거나 사용할 수 있는 명령을 저장할 수 있다.
일부 실시예에서, 저장 장치(150)는 대용량 저장 장치, 이동식 저장 장치, 휘발성 읽기 및 쓰기 메모리, 읽기 전용 메모리(ROM) 등 또는 이들의 조합을 포함할 수 있다. 예시적인 대용량 저장소는 자기 디스크, 광학 디스크, 솔리드 스테이트 드라이브 등을 포함할 수 있다. 예시적인 이동식 저장소는 플래시 드라이브, 플로피 디스크, 광학 디스크, 메모리 카드, zip 디스크, 자기 테이프, 등. 예시적인 휘발성 읽기 및 쓰기 메모리는 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 예시적인 RAM은 동적 RAM(DRAM), 더블 데이트 레이트 동기 동적 RAM(DDR SDRAM), 정적 RAM(SRAM), 사이리스터-RAM(T-RAM) 및 제로-커패시터 RAM(Z-RAM)을 포함할 수 있다. ROM의 예로는 마스크 ROM(MROM), 프로그램 가능 ROM(PROM), 지울 수 있는 프로그램 가능 ROM(EPROM), 전기적으로 지울 수 있는 프로그램 가능 ROM(EEPROM), 콤팩트 디스크 ROM(CD-ROM), 및 디지털 다목적 디스크 ROM 등을 포함할 수 있다. 일부 실시예에서, 저장 장치(150)는 클라우드 플랫폼 상에서 구현될 수 있다. 단지 예로서, 클라우드 플랫폼은 프라이빗 클라우드, 퍼블릭 클라우드, 하이브리드 클라우드, 커뮤니티 클라우드, 분산 클라우드, 인터 클라우드, 멀티 클라우드 등 또는 이들의 조합을 포함할 수 있다.
일부 실시예에서, 저장 장치(150)는 포즈 결정 시스템(100)의 하나 또는 그 초과의 구성요소(예를 들어, 이동 장치(110), 캡처 장치(120), 서버(130))와 통신하기 위해 네트워크(140)에 연결될 수 있다. 하나 또는 그 초과의 구성요소 포즈 결정 시스템(100)의 장치는 네트워크(140)를 통해 저장 장치(150)에 저장된 데이터 또는 명령에 액세스할 수 있다. 일부 실시예에서, 저장 장치(150)는 하나 또는 그 초과의 구성요소(예를 들어, 이동 장치(110))에 직접 연결되거나 통신할 수 있다. 일부 실시예에서, 저장 장치(150)는 서버(130)의 일부일 수 있다. 예를 들어, 저장 장치(150)는 서버(130)에 통합될 수 있다.
포즈 결정 시스템(100)은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다. 예를 들어, 포즈 결정 시스템(100)은 이동 장치(110), 캡처 장치(120), 서버(130) 및/또는 저장 장치(150)로부터 정보 및/또는 데이터를 수신하도록 구성된 사용자 장치(도시안됨)를 포함할 수도 있다. 사용자 장치는 사용자가 포즈 결정 시스템(100)에 대한 정보(이미지 데이터) 및/또는 입력 데이터(예를 들어, 초기 포즈, 적어도 하나의 로컬 지도) 및/또는 명령을 볼 수 있는 사용자 인터페이스를 제공할 수 있다.
도 2는 본 개시내용의 일부 실시예에 따른 예시적인 컴퓨팅 장치의 예시적인 하드웨어 및/또는 소프트웨어 구성요소를 나타내는 개략도이다. 컴퓨팅 장치(200)는 본 명세서에 기술된 포즈 결정 시스템(100)의 임의의 구성요소를 구현하는 데 사용될 수 있다. 예를 들어, 처리 장치(132)는 하드웨어, 소프트웨어 프로그램, 펌웨어 또는 이들의 조합을 통해 컴퓨팅 장치(200)에서 구현될 수 있다. 그러한 컴퓨터가 하나만 도시되어 있지만, 편의상, 본 명세서에 기술된 포즈 결정과 관련된 컴퓨터 기능은 처리 부하를 분산시키기 위해 다수의 유사한 플랫폼에서 분산 방식으로 구현될 수 있다.
예를 들어, 컴퓨팅 장치(200)는 데이터 통신을 용이하게 하기 위해 연결된 네트워크와 연결된 COM 포트(250)를 포함할 수 있다. 컴퓨팅 장치(200)는 또한 프로그램 명령를 실행하기 위한 하나 또는 그 초과의 프로세서(예: 논리 회로) 형태의 프로세서(예: 프로세서(220))를 포함할 수 있다. 예를 들어, 프로세서(220)는 내부에 인터페이스 회로 및 처리 회로를 포함할 수 있다. 인터페이스 회로는 버스(210)로부터 전자 신호를 수신하도록 구성될 수 있으며, 전자 신호는 처리 회로가 처리할 구조화된 데이터 및/또는 명령를 인코딩한다. 처리 회로는 논리 계산을 수행한 다음 결론, 결과 및/또는 전자 신호로 인코딩된 명령을 결정할 수 있다. 그런 다음 인터페이스 회로는 버스(210)를 통해 처리 회로로부터 전자 신호를 보낼 수 있다.
컴퓨팅 장치(200)는 컴퓨팅 장치(200)에 의해 처리 및/또는 전송될 다양한 데이터 파일(예를 들어, 프로그램 명령)을 저장하도록 구성된 하나 또는 그 초과의 저장소를 더 포함할 수 있다. 일부 실시예에서, 하나 또는 그 초과의 저장소는 고속 랜덤 액세스 메모리(도시안됨), 비휘발성 메모리(예: 자기 저장 장치, 플래시 메모리 또는 기타 비휘발성 솔리드 스테이트 메모리)(도시안됨), 디스크(270), 읽기 전용 메모리(ROM; 230), 랜덤 액세스 메모리(RAM; 240) 등 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예에서, 하나 또는 그 초과의 저장소는 프로세서(220)에 대응하는 원격 저장소를 더 포함할 수 있다. 원격 저장소는 네트워크(140)를 통해 컴퓨팅 장치(200)에 연결할 수 있다. 컴퓨팅 장치(200)는 또한 하나 또는 프로세서(220)에 의해 실행될 더 많은 저장 장치(예를 들어, ROM(230), RAM(240) 및/또는 다른 유형의 비일시적 저장 매체)를 포함할 수 있다. 본 개시내용의 방법 및/또는 프로세스는 프로그램 명령으로 구현될 수 있다. 컴퓨팅 장치(200)는 또한 컴퓨팅 장치(200)와 다른 구성요소 사이의 입력/출력을 지원하는 I/O 구성요소(260)를 포함할 수 있다. 컴퓨팅 장치(200)는 또한 네트워크 통신을 통해 프로그래밍 및 데이터를 수신할 수 있다.
단지 예시를 위해, 단지 하나의 프로세서가 도 2에 도시되어 있다. 다중 프로세서(220)도 고려되어 본 개시에 기술된 바와 같이 하나의 프로세서(220)에 의해 수행되는 동작 및/또는 방법 단계는 또한 다수의 프로세서에 의해 공동으로 또는 개별적으로 수행될 수 있다. 예를 들어, 본 개시내용에서 컴퓨팅 장치(200)의 프로세서(220)가 동작 A 및 동작 B를 모두 실행하는 경우, 동작 A 및 동작 B는 컴퓨팅 장치(200)에서 공동으로 또는 별도로 2개의 다른 프로세서(220)에 의해 수행될 수도 있음을 이해해야 한다(예를 들어, 제 1 프로세서가 동작 A를 실행하고 제 2 프로세서가 동작 B를 실행하거나, 또는 제 1 및 제 2 프로세서가 공동으로 동작 A 및 B를 실행함).
도 3은 본 개시내용의 일부 실시예에 따른 예시적인 모바일 장치의 예시적인 하드웨어 및/또는 소프트웨어 구성요소를 나타내는 개략도이다. 일부 실시예에서, 서버(130)(예를 들어, 처리 장치(132)) 또는 사용자 장치는 모바일 장치(300)에서 구현될 수 있다.
도 3에 예시된 바와 같이, 모바일 장치(300)는 통신 플랫폼(310), 디스플레이(320), 그래픽 처리 유닛(GPU; 330), 중앙 처리 유닛(CPU; 340), I/O(350), 메모리(360), 모바일 운영체제(OS)(370), 및 저장소(390)를 포함할 수 있다. 일부 실시예에서, 시스템 버스 또는 컨트롤러(도시안됨)를 포함하지만 이에 제한되지 않는 임의의 다른 적절한 구성요소가 또한 모바일 장치(300)에 있을 수 있다.
일부 실시예에서, 모바일 운영 체제(370)(예를 들어, iOSTM, AndroidTM, Windows PhoneTM) 및 하나 또는 그 초과의 애플리케이션(380)은 CPU(340)에 의해 실행되기 위해 저장소(390)로부터 메모리(360)에 로드될 수 있다. 애플리케이션(380)은 포즈 결정 시스템(100)으로부터 포즈 결정에 관한 정보 또는 기타 정보를 수신 및 렌더링하기 위한 브라우저 또는 임의의 다른 적합한 모바일 앱을 포함할 수 있다. 정보 스트림과의 사용자 상호작용은 I/O(350)를 통해 달성될 수 있고 처리 장치(132) 및/또는 네트워크(140)를 통한 포즈 결정 시스템(100)의 다른 구성요소에 제공될 수 있다.
도 4는 본 개시내용의 일부 실시예에 따른 예시적인 처리 장치(132)를 예시하는 블록도이다. 처리 장치(132)는 초기 포즈 획득 모듈(410), 후보 포즈 결정 모듈(420) 및 목표 초기 포즈 결정 모듈(430)을 포함할 수 있다.
초기 포즈 획득 모듈(410)은 이동 장치의 초기 포즈를 획득 및/또는 결정하도록 구성될 수 있다. 일부 실시예에서, 초기 포즈 획득 모듈(410)은 이동 장치가 획득한 이미지의 특징 정보를 결정하고, 이미지의 특징 정보와 복수의 기준 이미지의 기준 특징 정보를 매칭하여 매칭 결과를 생성할 수 있다. 기준 특징 정보는 특징 데이터베이스에 저장될 수 있다. 초기 포즈 획득 모듈(410)은 매칭 결과에 기초하여 이동 장치의 초기 포즈를 획득할 수 있다.
일부 실시예에서, 초기 포즈 획득 모듈(410)은 이미지의 특징 정보와 복수의 기준 이미지의 기준 특징 정보 간의 복수의 유사도를 결정할 수 있다. 초기 포즈 획득 모듈(410)은 복수의 유사도 중에서 유사도 임계값을 초과하는 유사도를 식별할 수 있다. 초기 포즈 획득 모듈(410)은 유사도 임계값을 초과하는 유사도를 갖는 기준 이미지에 대응하는 기준 포즈 또는 기준 특징 정보에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다.
일부 실시예에서, 초기 포즈 획득 모듈(410)은 복수의 유사도가 모두 유사도 임계값 이하인 것으로 판단되면, 이동 장치를 움직여 제 2 이미지를 획득하고, 제 2 이미지의 제 2 특징 정보를 결정할 수 있다. 또한, 초기 포즈 획득 모듈(410)은 제 2 이미지의 제 2 특징 정보와 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 제 2 유사도를 결정하고, 복수의 제 2 유사도 중에서 유사 한계점을 초과하는 제 2 유사도를 식별할 수 있다. 초기 포즈 획득 모듈(410)은 제 2 유사도가 유사도 임계값을 초과하는 제 2 기준 이미지에 대응하는 제 2 기준 포즈 또는 제 2 기준 특징 정보에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다.
일부 실시예에서, 복수의 제 2 유사도 모두가 유사도 임계값 이하라는 결정에 응답하여, 초기 포즈 획득 모듈(410)은 하나 또는 그 초과의 이전 포즈에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다. 이동 장치 및 이동 장치의 주행 데이터. 초기 포즈에 대한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어 동작(510) 및 그에 대한 설명에서 찾을 수 있다.
후보 포즈 결정 모듈(420)은 이동 장치와 연관된 적어도 하나의 지도에 따라 이동 장치의 초기 포즈에 기초하여 이동 장치의 복수의 후보 포즈를 결정하도록 구성될 수 있다. 일부 실시예에서, 적어도 하나의 지도는 이동 장치와 연관된 상이한 해상도를 갖는 적어도 2개의 지도를 포함할 수 있다. 후보 포즈 결정 모듈(420)은 적어도 2개의 지도 상에서 미리 정해진 범위 내에서 초기 포즈를 회전 또는 병진 이동시켜 이동 장치의 복수의 후보 포즈를 결정할 수 있다. 후보 포즈에 관한 더 많은 설명은 본 개시내용의 다른 곳, 예를 들어 도 7의 동작(520) 및 그에 대한 설명에서 찾을 수 있다.
목표 초기 포즈 결정 모듈(430)은 복수의 후보 포즈 및 이동 장치가 획득한 레이저 데이터에 기초하여 이동 장치의 목표 초기 포즈를 결정하도록 구성될 수 있다. 일부 실시예에서, 목표 초기 포즈 결정 모듈(430)은 분기 및 경계 알고리즘을 이용하여 적어도 2개의 지도 및 이동 장치의 복수의 후보 포즈에 기초하여 이동 장치의 목표 초기 포즈를 결정할 수 있다.
일부 실시예에서, 적어도 2개의 지도 각각에 대해, 목표 초기 포즈 결정 모듈(430)은 지도를 다운 샘플링함으로써 하나 또는 그 초과의 수정된 지도를 결정할 수 있다. 목표 초기 포즈 결정 모듈(430)은 또한 분기 및 경계 알고리즘을 이용하여 적어도 2개의 지도, 적어도 지도에 대응하는 수정된 지도 및 이동 장치의 복수의 후보 포즈에 기초하여 이동 장치의 목표 초기 포즈를 결정할 수 있다.
일부 실시예에서, 적어도 2개의 지도는 제 1 해상도를 갖는 제 1 지도 및 제 2 해상도를 갖는 제 2 지도를 포함할 수 있다. 목표 초기 포즈 결정 모듈(430)은 제 1 해상도의 제 1 지도 및 이동 장치의 초기 포즈에 기초하여 이동 장치의 복수의 후보 포즈 중 이동 장치의 복수의 제 1 후보 포즈를 결정할 수 있다. 목표 초기 포즈 결정 모듈(430)은 브랜치 앤 바운드 알고리즘을 이용하여 복수의 제 1 후보 포즈에 기초하여 이동 장치의 제 1 목표 초기 포즈를 결정할 수 있다. 목표 초기 포즈 결정 모듈(430)은 제 2 해상도의 제 2 지도와 이동 장치의 제 1 목표 초기 포즈에 기초하여 이동 장치의 복수의 후보 포즈 중 이동 장치의 복수의 제 2 후보 포즈를 결정할 수 있다. 목표 초기 포즈 결정 모듈(430)은 분기 및 경계 알고리즘을 이용하여 이동 장치의 복수의 제 2 후보 포즈에 기초하여 이동 장치의 제 2 목표 초기 포즈를 결정할 수 있다. 목표 초기 포즈 결정 모듈(430)은 이동 장치의 제 2 목표 초기 포즈를 이동 장치의 목표 초기 포즈로 지정할 수 있다. 초기 포즈에 대한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어, 도 7의 동작(530) 및 그에 대한 설명에서 찾을 수 있다.
일부 실시예에서, 처리 장치(132)는 또한 특징 데이터베이스 생성 모듈(도 4에 도시안됨)을 포함할 수 있다. 특징 데이터베이스 생성 모듈은 특징 데이터베이스를 생성하도록 구성될 수 있다. 특징 데이터베이스 생성 모듈은 기준 지도 및 기준 지도를 기반으로 기준 이동 장치의 복수의 기준 포즈를 획득할 수 있다. 복수의 기준 포즈 중 인접한 2개의 기준 포즈는 기설정된 조건을 만족할 수 있다. 특징 데이터베이스 생성 모듈은 복수의 기준 포즈 중 기준 이동 장치가 획득한 복수의 이미지를 복수의 기준 이미지로 결정할 수 있다. 특징 데이터베이스 생성 모듈은 복수의 기준 이미지 각각에 대해 기준 이미지의 기준 특징 정보를 추출하여 저장할 수 있다. 기준 특징 정보는 기준 특징점, 기준 특징점의 기준 표현, 기준 특징점의 기준 좌표 등 또는 이들의 조합을 포함할 수 있다.
일부 실시예에서, 기설정된 조건은 인접한 2개의 포즈 각각에 대응하는 시점 간의 시간 차이가 시간 임계값을 초과하거나 기준 이동 장치의 인접한 2개의 포즈 간의 차이가 차이 임계값을 초과하는 것을 포함할 수 있다.
일부 실시예에서, 특징 데이터베이스 생성 모듈은 이동 장치에 의해 획득된 레이저 데이터와 이동 장치와 관련된 지도의 매칭 결과를 결정할 수 있다. 상기 매칭 결과가 기설정된 조건을 만족하는 것으로 판단되면, 상기 특징 데이터베이스 생성 모듈은 상기 특징 정보와 상기 특징 데이터베이스에 있는 해당 기준 특징 정보 간의 최대 유사도가 유사도 임계값보다 작은지 여부를 판단할 수 있다. 특징 데이터베이스 생성 모듈은 유사도가 유사도 임계값보다 작다고 판단되면, 기준 이미지에 대응하는 기준 특징 정보를 이미지의 특징 정보로 대체하여 특징 데이터베이스를 업데이트할 수 있다.
처리 장치(132)의 모듈들은 유선 연결 또는 무선 연결을 통해 서로 연결되거나 통신될 수 있다. 유선 연결은 금속 케이블, 광 케이블, 하이브리드 케이블 등 또는 이들의 조합을 포함할 수 있다. 무선 연결은 근거리 통신망(LAN), 광역 네트워크(WAN), 블루투스, ZigBee, 근거리 통신(NFC) 등 또는 이들의 조합을 포함할 수 있다. 두 개 또는 그 초과의 모듈은 하나의 모듈로 결합될 수 있으며, 어느 하나의 모듈은 두 개 또는 그 초과의 유닛으로 분할될 수 있다. 예를 들어, 후보 포즈 결정 모듈(420)과 목표 초기 포즈 결정 모듈(430)은 복수의 후보 포즈를 결정하고 이동 장치의 목표 초기 포즈를 결정할 수 있는 하나의 모듈로 결합될 수 있다. 다른 예로서, 처리 장치(132)는 전술한 모듈에 의해 생성된 데이터를 저장하는 데 사용될 수 있는 저장 모듈(도시안됨)을 포함할 수 있다.
도 5는 본 개시의 일부 실시예에 따른 이동 장치의 목표 초기 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이다. 일부 실시예에서, 프로세스(500)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 4는 일련의 명령를 실행할 수 있고, 명령를 실행할 때 프로세서(220) 및/또는 모듈은 프로세스(500)를 수행하도록 구성될 수 있다. 아래에 제시된 예시된 프로세스의 동작은 예시를 위한 것이다. 일부 실시예에서, 프로세스(500)는 설명되지 않은 하나 또는 그 초과의 추가 동작으로 및/또는 여기에서 논의된 동작 중 하나 또는 그 초과 없이 달성될 수 있다. 또한, 도 5에 도시되고 후술되는 프로세스의 동작 순서는 제한하려는 의도가 아니다.
510에서, 처리 장치(132)(예를 들어, 초기 포즈 획득 모듈(410))(예를 들어, 프로세서(220)의 인터페이스 회로)는 이동 장치(예를 들어, 로봇, AGV)(예를 들어, 도 1에 도시된 이동 장치(110))를 획득할 수 있다. 본 명세서에서 사용되는, 이동 장치의 포즈는 이동 장치의 위치 및/또는 이동 장치의 방향을 나타낼 수 있다.
일부 실시예에서, 이동 장치의 초기 포즈는 수동으로 설정될 수 있다. 일부 실시예에서, 이동 장치의 초기 포즈는 포즈 결정 시스템(100)의 디폴트 값일 수 있다. 일부 실시예에서, 이동 장치의 초기 포즈는 이미지 데이터, 레이저 데이터, 오도메트리 데이터, 또는 이들의 조합에 기초하여 결정된 임의의 초기 포즈일 수 있다.
일부 실시예에서, 처리 장치(132)는 이동 장치(예를 들어, 이동 장치의 카메라)에 의해 획득된 이미지 및 특징 데이터베이스에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다. 특징 데이터베이스는 복수의 기준 이미지의 기준 특징 정보, 복수의 기준 이미지에 대응하는 복수의 기준 포즈 등을 포함할 수 있다. 예를 들어, 특정 기준 이미지를 예로 들면, 기준 이미지의 기준 특징 정보는 기준 특징점, 기준 특징점의 기준 표현("기준 특징 설명자"라고도 함)(예: 특징 벡터), 기준 특징점의 기준 좌표(예를 들어, 기준 이동 장치의 기준 카메라의 좌표계의 2차원 좌표, 기준 좌표계(예를 들어 세계 좌표계)에서 3차원 좌표) 등 또는 이들의 조합을 포함할 수 있다. 특징 데이터베이스에 관한 더 많은 설명은 본 개시내용의 다른 곳(예를 들어, 도 6 및 그 설명)에서 찾을 수 있다.
일부 실시예에서, 처리 장치(132)는 이동 장치에 의해 획득된 이미지의 특징 정보를 결정할 수 있다. 예를 들어, 유사하게 이미지의 특징 정보는 이미지의 특징점, 특징점의 표현("특징 설명자"라고도 함)(예: 특징 벡터), 좌표(예: 이동 장치의 카메라 좌표계의 좌표) 또는 이들의 임의의 조합을 포함할 수 있다.
그러면 처리 장치(132)는 특징 정보에 기초하여 특징 데이터베이스에 대한 이미지와 관련된 매칭 결과를 생성할 수 있다.
구체적으로, 처리 장치(132)는 예를 들어 루프 폐쇄 감지(LCD) 알고리즘(예를 들어, 워드3의 배포된 백(distributed bag of word3; DBOW3) 알고리즘) 등을 사용하여, 이미지(또는 이미지의 특징 정보)와 복수의 기준 이미지(또는 복수의 기준 이미지의 기준 정보) 사이의 복수의 유사도(이미지의 특징점(또는 대응하는 표현)과 기준 이미지에서 기준 특징점(또는 대응하는 표현) 사이의 유사도)를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 이미지의 특징 정보와 복수의 기준 이미지의 기준 특징 정보를 매칭하여 매칭 결과를 생성할 수 있다. 이 상황에서 특징 데이터베이스는 실제 기준 이미지 없이 참조 특징 정보만 저장하므로 저장 용량을 절약하고 처리 효율성을 높일 수 있다. 처리 장치(132)는 이미지의 특징 정보 및 복수의 기준 이미지의 기준 특징 정보에 기초하여 이미지와 복수의 기준 이미지를 직접 매칭하여 매칭 결과를 생성할 수도 있음을 유의해야 한다. 즉, 특징 데이터베이스는 실제 기준 이미지도 저장할 수 있다.
또한, 처리 장치(132)는 매칭 결과에 기초하여 이동 장치의 초기 포즈를 획득할 수 있다. 구체적으로, 처리 장치(132)는 복수의 유사도로부터 유사도 임계값을 초과하는 유사도를 식별할 수 있다. 또한, 처리 장치(132)는 유사도 임계값을 초과하는 유사도를 갖는 기준 이미지에 대응하는 기준 포즈 또는 기준 특징 정보에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 유사도 임계값을 초과하는 유사도를 갖는 기준 이미지에 대응하는 기준 포즈를 이동 장치의 초기 포즈로 직접 지정할 수 있다. 일부 실시예에서, 처리 장치(132)는 이미지의 적어도 하나의 특징점과 일치하는 (유사도가 유사도 임계값을 초과하는) 기준 이미지 내의 적어도 하나의 기준 특징점을 식별할 수 있다. 본 명세서에서 "일치"라 함은 특징점과 이에 대응하는 기준 특징점이 이동 장치가 위치하는 영역에서 물리적으로 동일한 점에 대응하는 것을 의미한다. 또한, 처리 장치(132)는 적어도 하나의 기준 특징점의 기준 좌표(들)에 기초하여 초기 포즈를 결정할 수 있다. 예를 들어, 처리 장치(132)는 적어도 하나의 기준 특징점의 기준 좌표(들) 및 관점-n-포인트(PNP) 알고리즘(나중에 공식 (2)의 세부 사항 참조)에 따른 적어도 하나의 특징점의 좌표(들)에 기초하여 초기 포즈를 결정할 수 있다. 단지 예시적으로, 적어도 하나의 기준 특징점의 기준 좌표(들)은 월드 좌표계에서 3D 좌표(들)일 수 있고, 적어도 하나의 특징점의 좌표(들)는 카메라 좌표계에서 2D 좌표(들)일 수 있다. 적어도 하나의 기준 특징점과 적어도 하나의 특징점은 동일한 물리적 점(들)에 대응하므로, 적어도 하나의 특징점은 상기 적어도 하나의 특징점을 포함하는 이미지 획득 시 상기 이동 장치의 초기 포즈에 따른 적어도 하나의 기준 특징점의 2차원 투영점(들)로 이해될 수 있다. 따라서, 적어도 하나의 기준 특징점의 기준 좌표(들)(3D 좌표(들))와 적어도 하나의 특징점의 좌표(들)(2D 좌표(s))를 기반으로 초기 포즈를 결정할 수 있다.
일부 실시예에서, 복수의 유사도 모두가 유사도 임계값 이하라는 결정에 응답하여, 처리 장치(132)는 이동 장치를 움직여 제 2 이미지를 획득할 수 있다. 예를 들어, 이동 장치는 각도(예: 10도, 20도, 30도, 45도, 60도, 90도, 180도, 360도)만큼 회전하거나 다른 물체(예: 다른 이동 장치, 장애물, 선반, 상품)와 충돌하지 않고 거리 임계값(예: 0.2미터, 0.5미터, 1미터) 만큼 이동할 수 있다. 제 1 이미지와 유사하게, 처리 장치(132)는 제 2 이미지의 제 2 특징 정보를 결정하고, 제 2 이미지의 제 2 특징 정보와 복수의 기준 이미지의 참조 정보 사이의 복수의 제 2 유사도를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 복수의 제 2 유사도로부터 유사도 임계값을 초과하는 제 2 유사도를 식별하고, 제 2 기준 포즈 또는 유사도 임계값을 초과하는 제 2 유사도를 갖는 제 2 기준 이미지에 대응하는 기준 특징 정보에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다.
일부 실시예에서, 복수의 제 2 유사도 모두가 유사도 임계값 이하라는 결정에 응답하여, 처리 장치(132)는 이동 장치의 하나 또는 그 초과의 이전 포즈 및 이동 장치의 오도메트리 데이터(510 단계에서 설명됨)에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다. 예를 들어, 처리 장치(132)는 하기 공식 1로 표현되는 모션 모델을 사용하여 이동 장치의 초기 포즈를 결정할 수 있다:
Figure pct00001
여기서
Figure pct00002
는 이동 장치의 초기 포즈를 나타내고,
Figure pct00003
는 하나 또는 그 초과의 이전 포즈 중 하나 또는 하나 또는 그 초과의 이전 포즈의 평균을 나타내고,
Figure pct00004
는 이전 포즈에 해당하는 현재 시점의 오도메트리 데이터와 이전 시점의 오도메트리 데이터의 차이 또는 해당하는 현재 시점의 오도메트리 데이터와 하나 또는 그 초과의 이전 포즈에 대응하는 평균 이전 시점의 오도메트리 데이터의 차이를 의미한다.
일부 실시예에서, 특징 데이터베이스는 사전결정된 시간 간격(예를 들어, 1분당, 2분당, 5분당, 1개월당, 2개월당), 사전결정된 거리 간격(예를 들어, 50센티미터당, 1미터당, 2미터당, 5미터당), 또는 이동 장치가 획득한 레이저 데이터와 이동 장치와 관련된 지도(예를 들어, 이동 장치가 위치한 지역의 미리 정해진 점유 그리드 지도, 도 13의 세부사항 참조) 간의 매칭 결과에 따라 업데이트될 수 있다. 구체적으로, 처리 장치(132)는 이동 장치와 관련된 지도와 레이저 데이터의 매칭 결과(예를 들어, 매칭 점수)를 결정할 수 있다. 매칭 점수가 클수록 레이저 데이터가 지도와 더 잘 일치할 수 있다. 매칭 결과가 기설정된 조건을 만족한다는 결정에 응답하여(예를 들어, 매칭 점수가 점수 임계값(예를 들어, 35, 40, 45, 50)보다 작음), 프로세싱 장치(132)는 특징들 사이에 가장 높은 유사도가 있는지 여부를 결정할 수 있다. 특징 데이터베이스의 특징 정보 및 해당 기준 특징 정보는 유사도 임계값보다 작다. 최고 유사도가 유사도 임계값보다 작다고 판단되면, 처리 장치(132)는 기준 이미지에 대응하는 기준 특징 정보를 이미지의 특징 정보로 교체하여 특징 데이터베이스를 업데이트할 수 있다. 일부 실시예에서, 처리 장치(132)는 이미지와 초기 포즈에 가까운 기준 포즈(들)를 갖는 적어도 하나의 기준 이미지 사이의 적어도 하나의 유사도를 결정할 수 있다. 적어도 하나의 유사도가 유사도 임계값보다 작다고 판단한 경우, 처리 장치(132)는 적어도 하나의 기준 이미지에 대응하는 기준 특징 정보를 이미지의 특징 정보로 교체하여 특징 데이터베이스를 업데이트할 수 있다.
520에서, 처리 장치(132)(예를 들어, 후보 포즈 결정 모듈(420))(예를 들어, 프로세서(220)의 처리 회로)는 이동 장치와 관련된 적어도 하나의 지도에 따라 이동 장치의 초기 포즈에 기초하여 이동 장치의 복수의 후보 포즈를 결정할 수 있다. 일부 실시예에서, 적어도 하나의 지도는 예를 들어, 이동 장치가 위치하는 영역의 레이저 데이터에 기초한 동시 현지화 및 매핑(SLAM) 알고리즘을 이용하여 결정될 수 있다.
일부 실시예에서, 처리 장치(132)는 적어도 하나의 지도 상의 사전 결정된 범위 내에서 초기 포즈를 회전 및/또는 병진 이동함으로써 이동 장치의 복수의 후보 포즈를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 적어도 하나의 지도 상에서 초기 포즈를 기설정된 각도(예를 들어, -10도 내지 10도 범위, -5도 내지 5도 범위, -1도 내지 1도 범위, 30도, 45도, 60도) 만큼 초기 포즈를 회전할 수 있다. 일부 실시예에서, 처리 장치(132)는 적어도 하나의 지도상에서 미리 정해진 범위(예를 들어, 특정 후보 포즈를 중심으로 하는 범위) 내에서 기설정된 보폭만큼 초기 포즈를 이동시킬 수 있다.
일부 실시예에서, 처리 장치(132)는 먼저 적어도 하나의 지도에서 초기 포즈를 회전시킴으로써 이동 장치의 중간 포즈를 결정한 다음 적어도 하나의 지도에서 중간 포즈를 변환함으로써 복수의 후보 포즈를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 적어도 하나의 지도 상에서 초기 포즈만을 회전시킴으로써 복수의 후보 포즈를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 적어도 하나의 지도 상의 초기 포즈만을 변환함으로써 복수의 후보 포즈를 결정할 수 있다.
일부 실시예에서, 적어도 하나의 지도는 이동 장치와 연관된 상이한 해상도를 갖는 적어도 2개의 지도를 포함할 수 있다. 다른 해상도는 포즈 결정 시스템(100)의 기본 설정일 수 있거나 다른 상황에서 조정 가능할 수 있다. 예를 들어, 적어도 2개의 지도는 해상도 8센티미터의 지도와 해상도 2센티미터의 지도를 포함할 수 있다.
일부 실시예에서, 적어도 2개의 지도 각각에 대해, 처리 장치(132)는 지도를 다운 샘플링함으로써 하나 또는 그 초과의 수정된 해상도를 갖는 하나 또는 그 초과의 수정된 지도를 생성할 수 있다. 처리 장치(132)는 또한 수정된 지도 상의 사전 결정된 범위 내에서 초기 포즈를 회전 및/또는 이동함으로써 후보 포즈를 결정할 수 있다. 특정한 수정된 지도를 예로 들면, 처리 장치(132)는 먼저 수정된 지도에서 초기 포즈를 회전하여 이동 장치의 중간 포즈를 결정한 다음 수정된 지도에서 중간 포즈를 변환하여 후보 포즈를 결정할 수 있다. 후보 포즈에 관한 더 많은 설명은 본 명세서의 다른 부분(예를 들어, 도 7 및 그 설명)에서 찾을 수 있다.
530에서, 처리 장치(132)(예를 들어, 목표 초기 포즈 결정 모듈(430))(예를 들어, 프로세서(220)의 처리 회로)는 복수의 후보 포즈 및 이동 장치로 획득된 레이저 데이터에 기초하여 이동 장치의 목표 초기 포즈를 결정할 수 있다.
일부 실시예에서, 전술한 바와 같이, 처리 장치(132)는 적어도 2개의 지도(및/또는 수정된 지도) 및 이동 장치의 복수의 후보 포즈에 기초하여 이동 장치의 목표 초기 포즈를 결정할 수 있다. 일부 실시예에서, 복수의 후보 포즈의 적어도 일부 각각에 대해, 처리 장치(132)는 레이저 데이터의 매칭 결과 및 후보 포즈에 대응하는 지도(또는 수정된 지도)에 기초하여 후보 포즈에 대응하는 점수를 결정할 수 있다. 특정 후보 포즈 및 대응하는 지도(또는 수정된 지도)를 예로 들면, 처리 장치(132)는 후보 포즈에 기초하여 지도(또는 수정된 지도)에 레이저 데이터를 투사하고 레이저 데이터가 지도(또는 수정된 지도)에 투사되는 그리드의 점유율(장애물에 의해 점유될 확률을 나타냄)을 기반으로 후보 포즈의 점수를 결정할 수 있다. 일부 실시예에서, 후보 포즈의 점수가 높을수록 후보 포즈가 해당 지도(또는 수정된 지도)와 더 잘 일치할 수 있으므로 후보 포즈가 더 정확할 수 있다. 또한, 처리 장치(132)는 후보 포즈의 점수에 기초하여 이동 장치의 목표 초기 포즈를 결정할 수 있다. 예를 들어, 처리 장치(132)는 점수가 가장 높은 후보 포즈를 이동 장치의 목표 초기 포즈로 지정할 수 있다.
일부 실시예에서, 가장 높은 점수를 갖는 후보 포즈의 식별은 "검색 프로세스(searching process)"로 이해될 수 있고, 따라서 검색 프로세스를 가속화하기 위해 처리 장치(132)는 BB(branch and bound) 알고리즘을 이용하여 상이한 해상도를 갖는 적어도 2개의 지도 및 이동 장치의 복수의 후보 포즈에 기초한 이동 장치의 목표 초기 포즈를 결정할 수 있다. 제 1 해상도를 갖는 제 1 지도 및 (제 1 해상도와 다른) 제 2 해상도를 갖는 제 2 지도를 포함하는 적어도 2개의 지도를 예로 들면, 처리 장치(132)는 제 1 해상도의 제 1 지도 및 이동 장치의 초기 포즈를 기반으로 이동 장치의 복수의 후보 포즈 중 이동 장치의 복수의 제 1 후보 포즈를 결정할 수 있다. 처리 장치(132)는 BB 알고리즘을 이용하여 복수의 제 1 후보 포즈에 기초하여 이동 장치의 제 1 목표 초기 포즈를 결정할 수 있다. 그 다음, 처리 장치(132)는 제 2 해상도를 갖는 제 2 지도 및 이동 장치의 제 1 목표 초기 포즈에 기초하여 이동 장치의 복수의 후보 포즈 중에서 이동 장치의 복수의 제 2 후보 포즈를 결정할 수 있다. 처리 장치(132)는 BB 알고리즘을 이용하여 이동 장치의 복수의 제 2 후보 포즈에 기초하여 이동 장치의 제 2 목표 초기 포즈를 결정할 수 있다. 또한, 처리 장치(132)는 이동 장치의 제 2 목표 초기 포즈를 이동 장치의 목표 초기 포즈로 지정할 수 있다. 목표 초기 포즈에 관한 더 많은 설명은 본 개시의 다른 부분(예를 들어, 도 7 및 그 설명)에서 찾을 수 있다.
본 개시내용의 일부 실시예에 따르면, BB 알고리즘을 이용하여 검색 프로세스를 수행하기 위해 해상도가 다른 적어도 2개의 지도(예를 들어, 상대적으로 낮은 해상도의 제 1 지도과 상대적으로 높은 해상도의 제 2 지도)이 사용된다. 예를 들어, 제 1 지도의 중간 검색 결과를 기준으로 해상도가 상대적으로 낮은 제 1 지도를 이용하여 중간 검색을 수행한 후 해상도가 상대적으로 높은 제 2 지도를 이용하여 중간 검색을 하게 되면, 검색 범위는 상대적으로 높은 해상도를 가진 제 2 지도에서 감소될 수 있으므로 검색 속도가 향상되고 그에 따라 포즈 결정의 정확도와 효율성이 향상된다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다. 예를 들어, 하나 또는 그 초과의 다른 선택적 작업(예: 저장 작업)이 프로세스(500)의 다른 곳에 추가될 수 있다. 저장 작업에서 처리 장치(132)는 다른 곳에서 본 개시내용에서 개시된 저장 장치(예를 들어, 저장 장치(150), ROM(230), RAM(240) 및/또는 저장 장치(390))에서 이동 장치의 목표 초기 포즈와 연관된 정보 및/또는 데이터(예: 이동의 초기 포즈, 상이한 해상도를 갖는 적어도 2개의 지도)를 저장할 수 있다.
도 6은 본 개시내용의 일부 실시예에 따라 특징 데이터베이스를 생성하기 위한 예시적인 프로세스를 예시하는 순서도이다. 일부 실시예에서, 프로세스(600)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 4의 프로세서(220) 및/또는 모듈은 일련의 명령를 실행할 수 있고, 명령를 실행할 때 프로세서(220) 및/또는 모듈은 프로세스(600)를 수행하도록 구성될 수 있다. 아래에 제시된 예시된 프로세스의 동작은 예시를 위한 것이다. 일부 실시예에서, 프로세스(600)는 설명되지 않은 하나 또는 그 초과의 추가 동작으로 및/또는 여기에서 논의된 동작 중 하나 또는 그 초과 없이 달성될 수 있다. 또한, 도 6에 도시되고 아래에 기술된 프로세스의 동작 순서는 제한하려는 의도가 아니다.
610에서, 처리 장치(132)(예를 들어, 특징 데이터베이스 생성 모듈)(예를 들어, 프로세서(220)의 인터페이스 회로)는 참조 지도를 얻을 수 있다.
일부 실시예에서, 기준 지도는 점유율에 각각 대응하는 복수의 그리드를 포함하는 점유 그리드 지도(도 13의 상세 참조)일 수 있다. 점유율은 해당 그리드가 장애물에 의해 점유될 확률을 나타낼 수 있다. 일부 실시예에서, 기준 지도는 예를 들어 동시 현지화 및 매핑(SLAM) 알고리즘을 이용하여 기준 영역의 기준 레이저 데이터에 기초하여 미리 결정될 수 있다. 일부 실시예에서, 기준 레이저 데이터는 이동 장치 또는 레이저 데이터를 획득할 수 있는 다른 장치에 의해 획득될 수 있다. 일부 실시예에서, 처리 장치(132)는 참조 지도를 저장하는 저장 장치(예를 들어, 저장 장치(150), 외부 저장 장치)로부터 참조 지도를 획득할 수 있다.
620에서, 처리 장치(132)(예를 들어, 특징 데이터베이스 생성 모듈)(예를 들어, 프로세서(220)의 처리 회로)는 참조 지도를 기반으로 기준 이동 장치(예를 들어, 이동 장치(110)와 유사하거나 상이한 임의의 이동 장치)의 복수의 기준 포즈를 획득할 수 있다.
일부 실시예에서, 처리 장치(132)는 기준 영역에서 기설정된 복수의 경로를 따라 기준 이동 장치를 이동시킴으로써 기준 레이저 데이터를 획득할 수 있다. 그 다음, 처리 장치(132)는 예를 들어 스캔 대 지도 알고리즘을 이용하여 기준 레이저 데이터에 기초하여 복수의 기준 포즈를 결정할 수 있다.
일부 실시예에서, 복수의 기준 포즈 중 인접한 2개의 기준 포즈는 기설정된 조건을 만족한다. 상기 기설정된 조건은 인접한 2개의 포즈에 해당하는 시점 간의 시간 차이가 각각 시간 임계값을 초과하는 것, 기준 이동 장치의 인접한 2개의 포즈 간의 임계 값 차이 등(예를 들어, 병진 차이, 회전 차이)이 차이를 초과하는 것을 포함할 수 있다. 임계값 등. 일부 실시예에서, 시간 임계값 및/또는 차이 임계값은 포즈 결정 시스템(100)의 기본 설정일 수 있거나 다른 상황에서 조정 가능할 수 있다.
630에서, 처리 장치(132)(예를 들어, 특징 데이터베이스 생성 모듈)(예를 들어, 프로세서(220)의 처리 회로)는 복수의 기준 이미지로서 복수의 기준 포즈로부터 기준 이동 장치(예를 들어, 그 기준 카메라)에 의해 획득된 복수의 이미지를 결정할 수 있다.
640에서, 처리 장치(132)(예: 특징 데이터베이스 생성 모듈)(예: 프로세서(220)의 처리 회로)는 복수의 기준 이미지 각각에 대해 기준 이미지의 기준 특징 정보를 추출하고 저장할 수 있다.
도 5와 관련하여 기술된 바와 같이. 기준 이미지의 기준 특징 정보는 기준 특징점, 기준 특징점의 기준 표현, 기준 특징점의 기준 좌표(예: 2D 좌표, 3D 좌표), 또는 이들의 조합 등을 포함할 수 있다. 일부 실시예에서, 처리 장치(132)는 해리스(Harris) 알고리즘, 척도 불변 특성 변환(SIFT) 알고리즘, 가속 세그먼트 테스트로부터의 특징(FAST) 알고리즘 등을 사용하여 기준 특징점 및 대응하는 기준 표현을 추출할 수 있다.
일부 실시예에서 기준 특징점의 기준 좌표는 기준 카메라의 좌표계에서의 좌표(편의상 "제 1 좌표"라 칭함)(예를 들어, 2차원 좌표), 월드 좌표계에서 좌표("제 2 좌표"라 칭함)(예를 들어, 3차원 좌표)를 포함할 수 있다. 처리 장치(132)는 기준 이미지 및 기준 카메라의 좌표계에서의 기준 특징점의 기준 위치와 좌표에 기초하여 기준 특징점의 제 1 좌표를 결정할 수 있다. 처리 장치(132)는 카메라 투시 투영 모델을 이용하여 제 1 좌표에 기초하여 기준 특징점의 제 2 좌표를 결정할 수 있다. 예를 들어, 처리 장치(132)는 아래의 공식(2)에 따라 제 2 좌표를 결정할 수 있다:
Figure pct00005
여기서 T는 기준 이미지에 해당하는 기준 포즈, p는 기준 특징점의 제 1 좌표, PW는 기준 특징점의 제 2 좌표, K는 기준 카메라의 내부 파라미터를 의미한다.
일부 실시예에서, 2개의 인접한 기준 포즈(또는 2개의 인접한 기준 이미지)에 대해, 처리 장치(132)는 일치된 기준 특징점이 있는지 여부를 결정할 수 있다("일치된(matched)"은 기준 특징점이 현실 세계로 동일한 물리적 포인트에 대응함을 말한다. 일치된 기준 특징점이 있다는 결정에 응답하여, 처리 장치(132)는 이전 기준 특징점(즉, 2개의 인접한 기준 이미지 중 전자의 기준 특징점)의 좌표(즉, 제 2 좌표)로서의 세계 좌표계에서 나중의 기준 특징점(즉, 2개의 인접한 기준 이미지 중 후자의 기준 특징점)의 좌표(즉, 제 2 좌표)를 결정할 수 있다. 일치된 기준 특징점이 없다는 결정에 응답하여, 처리 장치(132)는 위의 공식 (2)에 따라 세계 좌표계에서 나중의 기준 특징점(즉, 2개의 인접한 기준 이미지 중 후자의 기준 특징점)의 좌표(즉, 제 2 좌표)를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 2개의 인접한 기준 이미지에서 기준 특징점의 기준 표현에 기초하여 일치된 기준 특징점을 식별할 수 있다. 예를 들어, 처리 장치(132)는 아래의 공식(3)에 따라 극좌표 기하학적 제약 조건을 사용하여 일치된 기준 특징점을 식별할 수 있다.
Figure pct00006
(3)
여기서 x0은 인접한 두 기준 이미지 중 전자의 기준 특징점의 정규화 좌표를 의미하고, x1은 인접한 두 기준 이미지 중 후자의 기준 특징점의 정규화 좌표를 의미하며, E는 필수 매트릭스이다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다.
도 7은 본 개시의 일부 실시예에 따른 이동 장치의 목표 초기 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이다. 도 8a 내지 도 8c는 본 개시내용의 일부 실시예에 따라 지도를 다운 샘플링하기 위한 예시적인 프로세스를 도시하는 개략도이다. 도 9는 본 개시내용의 일부 실시예에 따른 분기 및 경계 알고리즘을 예시하는 개략도이다. 일부 실시예에서, 프로세스(700)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 4의 프로세서(220) 및 모듈은 일련의 명령를 실행할 수 있고, 명령를 실행할 때 프로세서(220) 및/또는 모듈은 프로세스(700)를 수행하도록 구성될 수 있다. 아래에 제시된 예시된 프로세스의 동작은 예시를 위한 것이다. 일부 실시예에서, 프로세스(700)는 설명되지 않은 하나 또는 그 초과의 추가 동작으로 및/또는 여기에서 논의된 동작 중 하나 또는 그 초과 없이 달성될 수 있다. 또한, 도 7에 도시되고 이하에 설명된 프로세스의 동작 순서는 제한하려는 의도가 아니다.
710에서, 적어도 2개의 지도(예를 들어, 도 5에 도시된 적어도 2개의 지도) 각각에 대해, 처리 장치(132)(예를 들어, 목표 초기 결정 모듈(430))(예를 들어, 프로세서(220)의 처리 회로) 지도를 다운 샘플링하여 하나 또는 그 초과의 수정된 지도를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 하나 또는 그 초과의 샘플링 속도로 지도를 다운샘플링함으로써 하나 또는 그 초과의 수정된 해상도를 갖는 하나 또는 그 초과의 수정된 지도를 생성할 수 있다. 샘플링 속도가 클수록 해상도(즉, 지도의 원래 해상도)에 대한 수정된 해상도의 비율이 커질 수 있다. 예를 들어, 샘플링 속도는 원래 해상도에 대한 수정된 해상도의 비율과 같을 수 있다.
일부 실시예에서, 적어도 2개의 지도는 점유 그리드 지도일 수 있다. 점유 그리드 지도는 점유율에 대응하는 복수의 그리드를 포함할 수 있다. 점유율은 해당 그리드가 장애물에 의해 점유될 확률을 나타낼 수 있다. 일부 실시예에서, 적어도 2개의 지도 각각에 대해, 지도의 그리드의 카운트는 수정된 지도(들)의 수정된 그리드의 카운트와 동일하다. 일부 실시예에서, 특정한 수정된 지도를 예로 들면, 수정된 그리드에 대응하는 수정된 점유율은 예를 들어, 지도의 왼쪽에서 오른쪽 방향, 지도의 위에서 아래 방향 등을 따라 지도의 샘플링 속도와 관련된 창(예를 들어, 카운트가 샘플링 속도와 동일할 수 있는 다중 그리드를 포함하는 윈도우)을 슬라이딩함으로써 결정될 수 있다. 또한, 변형된 지도상의 창 내의 변형된 그리드에 대응하는 수정된 점유율은 원본 지도의 창 내 그리드의 최대 점유율로 지정될 수 있다. 예를 들어, 도 8a 내지 도 8c에 도시된 바와 같이, 수정된 지도(820)는 지도(810)의 좌-우 방향을 따라 2의 샘플링 속도로 다운 샘플링함으로써 생성되고; 수정된 지도(830)는 지도(810)의 위에서 아래 방향을 따라 지도(810)를 2의 샘플링 비율로 다운 샘플링하여 생성된다.
일부 실시예에서, 적어도 2개의 지도 각각에 대해, 하나 또는 그 초과의 수정된 지도의 카운트 및/또는 샘플링 속도는 포즈 결정 시스템(100)의 기본 설정일 수 있거나 다른 상황에서 조정 가능할 수 있다. 일부 실시예에서, 하나 또는 그 초과의 수정된 지도의 카운트 및/또는 샘플링 속도는 원래 지도의 크기와 연관될 수 있다. 예를 들어, 원본 지도의 크기가 작을수록 하나 또는 그 초과의 수정된 지도의 수가 적을 수 있다. 일부 실시예에서, 하나 또는 그 초과의 수정된 지도의 하나 또는 그 초과의 수정된 해상도는 예를 들어 1.6미터, 2미터, 2.5미터, 3미터 등과 같은 해상도 임계값보다 작거나 같을 수 있다. 예를 들어, 해상도가 10센티미터이고 해상도 임계값이 1.6미터인 지도, 10센티미터의 해상도를 가진 지도에 대응하는 하나 또는 그 초과의 수정된 지도는 20센티미터의 수정된 해상도를 가진 수정된 지도, 수정된 해상도가 40센티미터인 수정된 지도, 수정된 해상도가 80센티미터인 수정된 지도, 수정된 해상도가 160센티미터인 수정된 지도를 포함할 수 있다.
일부 실시예에서, 적어도 2개의 지도에 대해, 예를 들어, 수정된 지도(들)의 카운트는 동일하거나 상이할 수 있다. 해상도가 8cm인 제 1 지도와 해상도가 2cm인 제 2 지도를 포함하는 적어도 2개의 지도를 취하면, 제 1 지도에 대해 4개의 수정된 지도 예를 들어. 해상도 16센티미터인 수정된 지도, 해상도 32센티미터인 수정된 지도, 해상도 64센티미터인 수정된 지도, 해상도 128센티미터인 수정된 지도를 생성될 수 있고; 제 2 지도에 대해 2개의 수정된 지도, 예를 들어 해상도 4cm인 수정된 지도과 해상도 8cm인 수정된 지도가 생성될 수 있다.
720에서, 처리 장치(132)(예를 들어, 목표 초기 결정 모듈(430))(예를 들어, 프로세서(220)의 처리 회로)는 BB(branch and bound) 알고리즘을 이용하여 상기 적어도 2개의 지도에 기초한 이동 장치의 목표 초기 포즈, 상기 적어도 지도에 대응하는 수정된 지도, 및 상기 이동 장치의 복수의 후보 포즈를 결정할 수 있다.
동작 520 및 530과 관련하여 설명된 바와 같이, 처리 장치(132)는 적어도 2개의 지도에서 소정의 범위(예를 들어, 2미터*2미터의 직사각형, 0.2미터*0.2미터의 직사각형) 내에서 이동 장치의 초기 포즈(예를 들어, 동작 510에서 결정된 초기 포즈)를 회전 및/또는 병진 이동함으로써 이동 장치의 복수의 후보 포즈를 결정할 수 있다.
일부 실시예에서, 특정 지도를 예로 들면, 처리 장치(132)는 먼저 지도에서 초기 포즈를 회전하여 이동 장치의 중간 포즈를 결정한 다음 지도에서 중간 포즈를 변환하여 후보 포즈를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 지도 상의 초기 포즈만을 회전시킴으로써 후보 포즈를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 지도 상의 초기 포즈만을 번역함으로써 후보 포즈를 결정할 수 있다.
일부 실시예에서, 미리 결정된 범위는 포즈 결정 시스템(100)의 기본 설정일 수 있거나 다른 상황(예를 들어, 목표 초기 포즈를 결정하기 위한 속도 요구 사항, 목표 초기 포즈를 결정하기 위한 정확도 요구 사항)에서 조정 가능할 수 있다. 일부 실시예에서, 미리 결정된 범위는 적어도 2개의 지도의 상이한 해상도에 대해 상이할 수 있다. 단지 예로서, 해상도 8센티미터의 지도의 일정 범위는 2미터*2미터의 직사각형이고, 해상도 2센티미터의 지도의 일정 범위는 0.2미터*0.2미터의 직사각형일 수 있다.
동작 530과 관련하여 설명한 바와 같이, 처리 장치(132)는 복수의 후보 포즈 중 적어도 일부에 대응하는 복수의 점수를 결정하고, 점수가 가장 높은 후보 포즈를 이동 장치의 목표 초기 포즈로 지정할 수 있다.
일부 실시예에서, 적어도 2개의 지도는 제 1 해상도를 갖는 제 1 지도, 제 2 해상도를 갖는 제 2 지도,.., j번째 해상도를 갖는 j번째 지도,.., 및 m번째를 갖는 m번째 지도를 포함할 수 있다. 여기서 m은 1보다 큰 정수이고 j번째 해상도는 (j+1)번째 해상도보다 낮다.
일부 실시예에서, 처리 장치(132)는 제 1 지도(및 대응하는 수정된 지도(들)) 및 이동 장치의 초기 포즈에 기초하여 복수의 후보 포즈 중에서 이동 장치의 복수의 제 1 후보 포즈를 결정할 수 있다. 처리 장치(132)는 BB 알고리즘을 이용하여 복수의 제 1 후보 포즈에 기초하여 이동 장치의 제 1 목표 초기 포즈를 결정할 수 있다. 반복적으로, 처리 장치(132)는 j번째 지도(및 대응하는 수정된 지도(들)) 및 이동 장치의 (j-1)번째 목표 초기 포즈에 기초하여 복수의 후보 포즈 중에서 이동 장치의 복수의 j번째 후보 포즈를 결정할 수 있다. 처리 장치(132)는 BB 알고리즘을 이용하여 복수의 j번째 후보 포즈에 기초하여 이동 장치의 j번째 목표 초기 포즈를 결정할 수 있다. 또한, 유사하게 처리 장치(132)는 BB 알고리즘을 이용하여 복수의 m번째 후보 포즈에 기초하여 이동 장치의 m번째 목표 초기 포즈를 결정할 수 있다. 그러면 처리 장치(132)는 m번째 이동 장치의 목표 초기 포즈를 이동 장치의 목표 초기 포즈로 지정할 수 있다.
일부 실시예에서, 예로서, 특정 지도 및 하나 또는 그 초과의 대응하는 수정된 지도를 취하면(우리는 모두 2의 샘플링 속도에서, 대응하는 수정된 지도가 왼쪽에서 오른쪽 방향 및 위에서 아래 방향을 따라 특정 지도를 다운 샘플링함으로써 결정된다고 가정할 수 있다), 지도 및 수정된 지도(들)은 제 1 중간 지도(즉, 특정 지도), 제 2 중간 지도,.., i번째 중간 지도.., n번째 중간 지도로 정렬될 수 있고, 여기서 n은 정수이고 i번째 중간 지도의 해상도는 (i+1)번째 중간 지도의 해상도보다 높다. 처리 장치(132)는 특정 지도 및 수정된 지도(들)에 기초하여 결정된 후보 포즈를 복수의 그룹, 예를 들어, 제 1 그룹, 제 2 그룹,.., i번째 그룹,.., 제 1 중간 지도(즉, 특정 지도), 제 2 중간 지도,.., i번째 중간 지도,.., n번째 중간 지도에 각각 대응하는 n번째 그룹으로 분류할 수 있다. 제 1 그룹은 초기 포즈 및 제 1 중간 지도에 기초하여 결정된 후보 포즈(예를 들어, 도 9의 포즈 A1, A2, A3, A4, A5, A6, A7, A8)를 포함할 수 있다. 제 2 그룹은 제 2 중간 지도 및 초기 포즈에 기초하여 결정된 후보 포즈(예를 들어, 도 9에 도시된 포즈 B1, B2, B3, B4, B5)를 포함할 수 있다. i번째 그룹은 초기 포즈 및 i번째 중간 지도에 기초하여 결정된 후보 포즈를 포함할 수 있다. n번째 그룹은 초기 포즈 및 n번째 중간 지도에 기초하여 결정된 후보 포즈를 포함할 수 있다.
전술한 바와 같이 수정 지도는 특정 지도를 좌우 방향과 상하 방향 모두 샘플링 속도 2로 다운샘플링하여 결정되므로 i번째 그룹의 각 포즈는 (i-1) 번째 그룹의 4개 포즈에 대응될 수 있다. 따라서, i번째 그룹의 포즈는 (i-1)번째 그룹의 4개의 포즈 중 부모 포즈(parent pose)로 간주될 수 있고, (i-1)번째 그룹의 4개의 포즈는 i 번째 그룹에서 해당 포즈의 어린이 포즈(chield pose)로 간주될 수 있다. 예를 들어, 도 9에 도시된 포즈를 취하면, 제 2 그룹의 포즈 B1은 제 1 그룹의 포즈 A1, A2, A3, A4의 부모 포즈이고; 제 3 그룹의 포즈 C1은 제 2 그룹의 포즈 B1, B2, B3 및 B4의 부모 포즈이고; 제 4 그룹의 포즈 D1은 제 3 그룹의 포즈 C1, C2, C3 및 C4의 부모 포즈이다.
일부 실시예에서, 처리 장치(132)는 n번째 중간 지도에서 포즈를 선택하고 가장 높은 점수를 갖는 포즈가 식별될 때까지 n번째 중간 지도에서 제 1 중간 지도로 반복적으로 왕복 프로세스를 실행할 수 있다.
예를 들어, n번째 그룹의 특정 포즈에 대해 처리 장치(132)는 (n-1) 그룹의 대응하는 4개의 어린이 포즈를 결정하고 (n-1) 그룹의 4개의 어린이 포즈 중에서 하나를 선택할(예를 들어, 무작위로 선택) 수 있다. 그 다음 처리 장치(132)는 선택된 하나에 대응하는 (n-1) 그룹에서 4개의 어린이 포즈를 결정할 수 있다. 반복적으로, 처리 장치(132)는 제 1 그룹(또는 제 1 중간 지도)에 도달할 때까지 i번째 그룹에서 선택된 하나에 대응하는 (i-1) 번째 그룹에서 대응하는 4개의 어린이 포즈를 결정할 수 있다. 제 2 그룹에서 선택된 것에 대응하는 제 1 그룹에서 대응하는 4개의 어린이 포즈를 결정할 수 있고, , 즉 처리 장치(132)는 제 1 그룹의 4개의 어린이 포즈에 대한 4개의 점수를 결정하고, 그 중 가장 높은 점수를 제 1 점수로 지정할 수 있다.
또한, 처리 장치(132)는 제 1 그룹의 제 1 점수를 갖는 포즈로부터 제 2 그룹(또는 제 2 중간 지도)으로 복귀할 수 있다. 제 2 그룹의 특정 포즈에 대해 포즈의 점수가 제 1 점수보다 작거나 같으면, 처리 장치(132)는 제 2 그룹의 포즈를 무시할 수 있다(해당 어린이 포즈도 추가 프로세스에서 무시됨). 포즈 D3을 예로 들면, 포즈 D3이 무시되면 직사각형(910)의 포즈도 무시된다(즉, 해당 점수가 결정되지 않음). 포즈의 점수가 제 1 점수보다 큰 경우, 처리 장치(132)는 제 1 그룹(또는 제 1 중간 지도)으로 더 돌아가고 점수가 제 1 점수보다 더 큰 포즈에 대응하는 제 1 그룹의 대응하는 4개의 어린이 포즈를 결정할 수 있다. 유사하게, 처리 장치(132)는 제 1 그룹의 4개의 어린이 포즈의 4개의 점수를 결정하고 그 중 가장 높은 점수를 지정하여 상기 과정을 반복할 수 있다. 마지막으로, 처리 장치(132)는 제 2 그룹의 포즈에 대응하는 점수 중 가장 높은 점수를 제 2 점수로 지정할 수 있다.
반복적으로, 처리 장치(132)는 (i-1) 번째 점수를 갖는 포즈로부터 i 번째 그룹(또는 i 번째 중간 지도)으로 돌아갈 수 있다. i번째 그룹의 특정 포즈에 대해 포즈의 점수가 (i-1)번째 점수보다 작거나 같으면 처리 장치(132)는 i번째 그룹의 포즈를 무시할 수 있다(추가 프로세스에서, 해당 어린이 포즈도 무시할 수 있음). i번째 그룹의 포즈 점수가 i-1번째 점수보다 큰 경우, 처리 장치(132)는 하위 그룹(또는 지도)(즉, 제 1 그룹(또는 제 1 중간 지도))으로 더 돌아갈 수 있으며, 제 2 그룹(또는 제 2 중간 지도),..) 이후에 (i-1) 번째 점수보다 점수가 큰 포즈에 해당하는 하위 그룹의 해당 어린이 포즈를 결정한다. 처리 장치(132)는 i번째 그룹의 하위 그룹의 포즈에 대응하는 어린이 포즈의 점수를 결정하고, 그 중 가장 높은 점수를 지정하여 상술한 과정을 반복할 수 있다. 마지막으로 처리 장치(132)는 i번째 그룹의 포즈에 해당하는 점수 중 가장 높은 점수를 i번째 점수로 지정할 수 있다.
반복적으로, 처리 장치(132)는 (n-1) 그룹에서 (n-1) 번째 점수를 갖는 포즈로부터 n 번째 그룹(또는 n 번째 중간 지도)으로 돌아갈 수 있다. n번째 그룹의 특정 포즈에 대해, 포즈의 점수가 (n-1)번째 점수보다 작거나 같으면 처리 장치(132)는 n번째 그룹의 포즈를 무시할 수 있다(추가 프로세스에서, 해당 어린이 포즈도 무시됨). n번째 그룹의 포즈의 점수가 (n-1)번째 점수보다 큰 경우, 처리 장치(132)는 더 낮은 그룹(즉, 제 1 그룹(또는 제 1 중간 지도), 제 2 그룹으로 돌아갈 수 있음) (또는 제 2 중간 지도),., (n-1) 번째 그룹(또는 (n-1) 번째 중간 지도) ) 이후에 점수가 (n-1) 번째 점수보다 더 큰 포즈에 해당하는 하위 그룹의 해당 어린이 포즈를 결정한다. 처리 장치(132)는 n번째 그룹의 하위 그룹의 포즈에 대응하는 어린이 포즈의 점수를 결정하고 가장 높은 점수를 지정할 수 있다. 마지막으로 처리 장치(132)는 n번째 그룹의 포즈에 해당하는 점수 중 점수가 가장 높은 포즈를 이동 장치의 제 1 목표 초기 포즈로 지정할 수 있다.
유사하게, 처리 장치(132)는 제 2 목표 초기 포즈,.., j번째 목표 초기 포즈,.., 및 m번째 목표 초기 포즈를 지정하고 m번째 목표 초기 포즈를 이동 장치의 최종 목표 초기 포즈로 지정한다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다.
도 10은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 초기 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이다. 일부 실시예에서, 프로세스(1000)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 4는 일련의 명령를 실행할 수 있고, 명령를 실행할 때 프로세서(220) 및/또는 모듈은 프로세스(1000)를 수행하도록 구성될 수 있다. 아래에 제시된 예시된 프로세스의 동작은 예시를 위한 것이다. 일부 실시예에서, 프로세스(1000)는 설명되지 않은 하나 또는 그 초과의 추가 작업으로 및/또는 여기에서 논의된 작업 중 하나 또는 그 초과 없이 달성될 수 있다. 또한, 도 10에 도시되고 아래에 설명된 프로세스의 동작 순서는 제한하려는 의도가 아니다.
1010에서 처리 장치(132)는 이동 장치(예: 이동 장치(110))의 포즈가 손실된 경우에 획득한 제 1 이미지(예: 510 단계에서 설명한 이미지)를 획득할 수 있다.
1020에서, 처리 장치(132)는 특징 데이터베이스(예를 들어, 도 5 및 도 6에서 설명한 특징 데이터베이스)에서 제 2 이미지의 기준 특징 정보를 검색할 수 있으며, 여기서 제 2 이미지의 기준 특징 정보와 특징 정보 간의 유사도는 제 1 이미지의 제 1의 기설정된 임계값보다 크거나 같다. 그러면 처리 장치(132)는 제 2 이미지에 대응하는 기준 포즈 또는 기준 특징 정보에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다. 동작 1010 및 1020에 관한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어 동작 510 및 그 설명에서 찾을 수 있다.
1030에서, 처리 장치(132)는 N개의 제 1 후보 포즈(초기 포즈를 포함함)를 획득하기 위해 초기 포즈를 회전 및/또는 병진시킬 수 있으며, 여기서 N은 1보다 크거나 같은 정수일 수 있다. 일부 실시예에서, N 우선 후보 포즈는 도 5 및 도 7에서 설명한 후보 포즈를 포함할 수 있다.
1040에서, 처리 장치(132)는 이동 장치에 의해 획득된 레이저 데이터에 기초하여 결정될 수 있는 N개의 제 1 후보 포즈에 대응하는 점수에 따라 이동 장치의 목표 초기 포즈를 결정할 수 있다. 동작 1030에 대한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어 동작 530 또는 도 7 및 그의 설명에서 찾을 수 있다.
프로세스(1000)에 따르면, 이동 장치에 의해 획득된 여러 유형(예를 들어, 이미지 및 레이저 데이터)의 데이터에 기초하여 목표 초기 포즈가 결정될 수 있고, 이에 의해 목표 초기 포즈의 정확도가 향상될 수 있다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다.
도 11a 및 도 11b는 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 초기 포즈 결정 과정을 도시한 순서도이다. 일부 실시예에서, 프로세스(1100)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 4는 일련의 명령를 실행할 수 있고, 명령를 실행할 때 프로세서(220) 및/또는 모듈은 프로세스(1100)를 수행하도록 구성될 수 있다. 아래에 제시된 예시된 프로세스의 동작은 예시를 위한 것이다. 일부 실시예에서, 프로세스(1100)는 설명되지 않은 하나 또는 그 초과의 추가 작업으로 및/또는 여기에서 논의된 작업 중 하나 또는 그 초과 없이 달성될 수 있다. 또한, 도 11에 도시되고 아래에 설명된 프로세스의 동작 순서는 제한하려는 의도가 아니다.
1101에서, 처리 장치(132)는 SLAM 알고리즘을 이용하여 기준 이동 장치(예를 들어, 그 기준 카메라)의 복수의 기준 포즈를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는, 예를 들어 스캔 대 지도 알고리즘, 기준 이동 장치에 의해 획득된 기준 레이저 데이터 및 이동 장치와 연관된 기준 지도(예를 들어, 도 10에 기술된 이동 장치)는 SLAM 알고리즘에 기초하여 결정된다.
1102에서, 처리 장치(132)는 기준 포즈로부터 획득된 복수의 기준 이미지를 선택하고, 복수의 기준 이미지 각각의 기준 정보(예를 들어, 기준 특징점 및 기준 표현)를 추출함으로써 특징 데이터베이스를 생성할 수 있다. 일부 실시예에서, 기준 이미지 이외의 기준 특징 정보는 특징 데이터베이스에 저장되어 포즈 결정 시스템(100)의 저장 용량을 절약할 수 있다. 동작 1101 및 1102에 관한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어 도 6 및 그에 대한 설명에서 찾을 수 있다.
1103에서 이동 장치의 포즈가 손실된 경우, 처리 장치(132)는 현재 시점에 대응하는 이미지를 획득할 수 있다. 처리 장치(132)는 또한 이미지의 특징 정보(예를 들어, 특징점 및 표현)를 추출할 수 있다.
1104에서, 처리 장치(132)는 루프 클로저 검출(LCD) 알고리즘(예를 들어, DBOW3 알고리즘)을 사용하여 기준 이미지에서 이미지 및 기준 특징 지점(또는 대응 표현)에서 특징 지점들(또는 대응 표현) 사이의 복수의 유사도를 결정할 수 있다.
1105에서, 처리 장치(132)는 복수의 유사도 중 하나가 유사도 임계값을 초과하는지 여부를 결정할 수 있다.
1106에서, 유사도가 유사도 임계값을 초과하는 결정에 응답하여, 처리 장치(132)는 유사도 임계값을 초과하는 유사도를 갖는 기준 이미지에 대응하는 기준 포즈 또는 기준 특징 정보에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다. 동작(1103-1106)에 관한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어 동작(510) 및 그 설명에서 찾을 수 있다.
1107에서 처리 장치(132)는 현재 시점에서 이동 장치가 획득한 초기 포즈 및 레이저 데이터에 기초하여 이동 장치의 목표 초기 포즈를 결정할 수 있다. 동작 1107에 관한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어 도 7의 동작 520, 530 및 그에 대한 설명에서 찾을 수 있다.
1108에서, 처리 장치(132)는 복수의 유사도가 모두 유사도 임계값 이하인 것으로 판단되면, 이동 장치를 기설정된 거리만큼 이동시키거나 이동 장치를 기설정된 각도만큼 회전시켜 제 2 이미지를 획득할 수 있다. 일부 실시예에서, 처리 장치(132)는 제 2 이미지의 제 2 특징 정보를 결정하고, 제 2 이미지의 제 2 특징 정보와 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 제 2 유사도를 결정할 수 있다. 프로세싱 장치(132)는 또한 복수의 제 2 유사도로부터 유사도 임계값을 초과하는 제 2 유사도를 식별할 수 있다. 처리 장치(132)는 유사도 임계값을 초과하는 제 2 유사도를 갖는 제 2 기준 이미지에 대응하는 제 2 기준 포즈에 기초하여 이동 장치의 초기 포즈를 결정할 수 있다.
1109에서 처리 장치(132)는 이동 장치가 획득한 레이저 데이터와 이동 장치와 관련된 지도의 매칭 결과가 기설정된 조건을 만족하는지 여부를 판단할 수 있다.
1110에서 처리 장치(132)는 매칭 결과가 기설정된 조건을 만족하는 것으로 판단되면, 특징 데이터베이스에서 특징 정보와 해당 기준 특징 정보 간의 가장 높은 유사도가 유사도 임계값보다 작은지 여부를 결정할 수 있다.
1111에서 처리 장치(132)는 유사도가 유사도 임계값보다 작다고 판단되면, 기준 이미지에 대응하는 기준 특징 정보를 이미지의 특징 정보로 대체하여 특징 데이터베이스를 업데이트할 수 있다. 동작(1108-1111)에 관한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어 동작(510) 및 그 설명에서 찾을 수 있다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다.
도 12는 본 개시내용의 일부 실시예에 따른 예시적인 처리 장치(132)를 예시하는 블록도이다. 처리 장치(132)는 제 1 포즈 결정 모듈(1210), 로컬 지도 획득 모듈(1220), 제 2 포즈 결정 모듈(1230) 및 목표 포즈 결정 모듈(1240)을 포함할 수 있다.
제 1 포즈 결정 모듈(1210)은 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 이동 장치의 제 1 포즈를 결정하도록 구성될 수 있다. 제 1 포즈 판단 모듈(1210)은 현재 시점에 대응하는 오도메트리 데이터와 현재 시점에 인접한 이전 시점에 대응하는 이전 오도메트리 데이터의 제 1 차이가 제 1 차이 임계값을 초과하는지 또는 현재 시점과 이전 시점 사이의 제 2 차이가 제 2 차이 임계값을 초과하는지 여부를 판단할 수 있다. 제 1 차이가 제 1 차이 임계값보다 작거나 같고 제 2 차이가 제 2 차이 임계값 이하라는 결정에 응답하여, 제 1 포즈 결정 모듈(1210)은 이동 장치에서 획득한 오도메트리 데이터를 기반으로 이동 장치의 제 1 포즈를 결정할 수 있다.
일부 실시예에서, 제 1 차이가 제 1 차이 임계값을 초과하거나 제 2 차이가 제 2 차이 임계값을 초과한다는 결정에 응답하여, 제 1 포즈 결정 모듈(1210)은 이동 장치에 의해 획득된 오도메트리 데이터에 기초하여 이동 장치의 제 1 후보 포즈를 결정할 수 있다. 이동 장치. 제 1 포즈 결정 모듈(1210)은 또한 레이저 데이터의 일부 및 이동 장치와 관련된 글로벌 지도에 기초하여 이동 장치의 제 2 후보 포즈를 결정할 수 있다. 레이저 데이터의 일부는 이동 장치가 위치한 지역의 장기 특징에 해당할 수 있다. 제 1 포즈 결정 모듈(1210)은 제 1 후보 포즈 및 제 2 후보 포즈에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다.
일부 실시예에서, 제 1 포즈 결정 모듈(1210)은 레이저 데이터에 기초하여 적어도 하나의 마커가 검출되는지 여부를 결정할 수 있다. 제 1 포즈 판단 모듈(1210)은 레이저 데이터에 기초하여 적어도 하나의 마커가 검출된 것으로 판단되면, 검출된 적어도 하나의 마커와 관련된 기설정된 기준 정보에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다.
일부 실시예에서, 제 1 포즈 판단 모듈(1210)은 레이저 데이터와 이동 장치와 관련된 글로벌 지도의 매칭 결과가 기설정된 조건을 만족하는지 여부를 판단할 수 있다. 매칭 결과가 기설정된 조건을 만족한다고 판단되면, 제 1 포즈 결정 모듈(1210)은 레이저 데이터 및 이동 장치와 관련된 글로벌 지도를 기반으로 이동 장치의 제 1 포즈를 결정할 수 있다.
일부 실시예에서, 제 1 포즈 결정 모듈(1210)은 이동 장치의 목표 초기 포즈를 획득하고 이동 장치의 목표 초기 포즈 및 오도메트리 데이터 또는 이동 장치에 의해 획득된 레이저 데이터에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다. 이동 장치. 일부 실시예에서, 이동 장치의 목표 초기 포즈는 이동 장치의 초기 포즈를 획득하는 단계; 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계; 및 상기 복수의 후보 포즈 및 상기 제 2 시점에서 상기 이동 장치가 획득한 레이저 데이터에 기초하여 상기 제 2 시점에서의 상기 이동 장치의 포즈를 결정하는 단계에 의해 결정될 수 있다. 제 1 포즈에 대한 더 많은 설명은 본 명세서의 다른 곳, 예를 들어 동작 1310 및 그에 대한 설명에서 찾을 수 있다.
로컬 지도 획득 모듈(1220)은 이동 장치와 관련된 적어도 하나의 로컬 지도를 획득, 구성 또는 업데이트하도록 구성될 수 있다. 일부 실시예에서, 적어도 하나의 로컬 지도 각각은 복수의 그리드 및 복수의 그리드에 각각 대응하는 복수의 점유율을 포함한다. 로컬 지도 획득 모듈(1220)은 이동 장치의 제 1 포즈 및 이동 장치에 의해 획득된 레이저 데이터에 적어도 부분적으로 기초하여 이동 장치와 연관된 적어도 하나의 로컬 지도를 업데이트할 수 있다. 적어도 하나의 로컬 지도 각각에 대해 로컬 지도 획득 모듈(1220)은 이동 장치의 제 1 포즈를 기반으로 로컬 지도에 레이저 데이터를 투사하고, 투사된 레이저 데이터를 기반으로 한 복수의 그리드에 대응하는 복수의 점유율을 업데이트하여 로컬 지도를 업데이트할 수 있다.
일부 실시예에서, 로컬 지도 획득 모듈(1220)은 레이저 데이터에 대응하는 현재 시점으로부터 미리 정해진 범위 내의 이전 시점에서 이동 장치에 의해 획득된 이전 레이저 데이터에 기초하여 적어도 하나의 로컬 지도를 구성 또는 업데이트할 수 있다. 일부 실시예에서, 로컬 지도 획득 모듈(1220)은 이전 레이저 데이터와 이동 장치와 관련된 글로벌 지도 간의 매칭 결과에 따라 적어도 하나의 로컬 지도를 동적으로 구성 또는 업데이트할 수 있다.
일부 실시예에서, 로컬 지도 획득 모듈(1220)은 미리 정해진 시간 간격, 적어도 하나의 로컬 지도에 포함된 데이터 프레임의 카운트, 적어도 하나의 로컬 지도를 기반으로 결정된 이동 장치의 포즈와 이동 장치 등과 관련된 글로벌 지도, 또능 이들의 조합 사이의 매칭 결과에 따라 적어도 하나의 로컬 지도를 동적으로 구축 또는 해제할 수 있다.
일부 실시예에서, 적어도 하나의 로컬 지도는 제 1 로컬 지도, 제 2 로컬 지도 및 제 3 로컬 지도를 포함할 수 있다. 로컬 지도 획득 모듈(1220)은 제 1 로컬 지도의 데이터 프레임의 카운트가 제 1 기설정된 카운트에 도달하면 제 2 로컬 지도를 구성할 수 있다. 로컬 지도 획득 모듈(1220)은 제 2 로컬 지도의 데이터 프레임 수가 제 1 기설정된 카운트에 도달하면 제 3 로컬 지도를 구성할 수 있다. 로컬 지도 획득 모듈(1220)은 제 1 로컬 지도의 데이터 프레임 수가 제 2 기설정된 카운트에 도달하거나 제 2 로컬 지도에 기초하여 결정된 이동 장치의 포즈와 글로벌 지도 간의 매칭 결과에 도달하면 제 1 로컬 지도를 해제할 수 있고 이동 장치와 관련된 글로벌 지도는 기설정된 조건을 만족한다. 적어도 하나의 로컬 지도에 관한 더 많은 설명은 본 개시내용의 다른 곳, 예를 들어, 동작 1320, 도 14a 내지 도 14f 및 그 설명에서 찾을 수 있다.
제 2 포즈 결정 모듈(1230)은 적어도 하나의 로컬 지도 및 이동 장치가 획득한 레이저 데이터에 기초하여 이동 장치의 제 2 포즈를 결정하도록 구성될 수 있다. 일부 실시예에서, 제 2 포즈 결정 모듈(1230)은 레이저 데이터와 적어도 하나의 로컬 지도를 매칭하여 매칭 결과를 생성하고, 예를 들어 스캔 대 지도 알고리즘을 이용하여 매칭 결과에 기초하여 제 2 포즈를 결정할 수 있다.
일부 실시예에서, 상술한 바와 같이, 특정 시점에서 적어도 하나의 로컬 지도는 제 1 로컬 지도, 제 2 로컬 지도 및 제 3 로컬 지도를 포함할 수 있다고 가정하고, 제 2 포즈 결정 모듈(1230)은 레이저 데이터를 기반으로 한 제 2 포즈와 스캔 대 지도 알고리즘을 사용하는 제 2 로컬 지도를 결정할 수 있다. 제 2 포즈 판단 모듈(1230)은 제 2 로컬 지도과 레이저 데이터에 기초하여 결정된 이동 장치의 포즈와 글로벌 지도의 매칭 결과(예: 매칭 점수)가 기설정된 조건(예: 점수 임계값보다 큰 점수 매칭)을 만족하는지 여부를 판단할 수 있다. 제 2 포즈 결정 모듈(1230)은 매칭 결과가 기설정된 조건을 만족한다는 결정에 응답하여, 제 2 로컬 지도 및 레이저 데이터에 기초하여 결정된 포즈를 제 2 포즈로 지정할 수 있다. 제 2 포즈 결정 모듈(1230)은 매칭 결과가 기설정된 조건을 만족하지 않는 것으로 판단되면, 레이저 데이터 및 제 1 로컬지도를 기반으로 이동 장치의 포즈를 결정하고, 레이저 데이터와 제 1 로컬 지도를 제 2 포즈에 기초하여 결정된 이동 장치의 포즈를 지정할 수 있다. 제 2 포즈에 대한 더 자세한 설명은 본 명세서의 다른 곳, 예를 들어 동작 1330 및 그에 대한 설명에서 찾을 수 있다.
목표 포즈 결정 모듈(1240)은 포즈 조정 알고리즘(예를 들어, 희박 포스 조정(PDA) 알고리즘)을 사용하여 제 1 포즈 및 제 2 포즈에 기초하여 이동 장치의 목표 포즈를 결정하도록 구성될 수 있다. 일부 실시예에서, 제 2 포즈(레이저 데이터 및 적어도 하나의 로컬 지도에 기초하여 결정됨)는 제 1 포즈(이는 오도메트리 데이터 또는 레이저 데이터를 기반하여 결정됨) 및 레이저 데이터 및 글로벌 지도를 기반으로 결정된 포즈("제 3의 포즈"라고 함) 사이의 오프셋으로서 이해될 수 있다. 일반적으로 측정된 오프셋(즉, 제 2 포즈)과 실제 오프셋 사이에는 차이가 있다. 따라서, 목표 포즈 결정 모듈(1240)은 실제 오프셋 및 측정된 오프셋과 관련된 오차 함수를 결정하고 오차 함수를 최소화(즉, 실제 오프셋과 측정된 오프셋 간의 편차를 최소화)하여 제 1 포즈 및 제 3 포즈를 최적화할 수 있다. 또한, 목표 포즈 결정 모듈(1240)은 최적화된 제 3 포즈를 목표 포즈로 지정할 수 있다.
일부 실시예에서, 목표 포즈 결정 모듈(1240)은 제 1 포즈 및 제 3 포즈를 최적화하기 위한 순환 프로세스를 수행할 수 있다. 예를 들어, i번째 주기에 대해, 목표 포즈 결정 모듈(1240)은 오차 함수의 값을 결정할 수 있고, 제 1 포즈 및 제 3 포즈에 대응하는 변수(예를 들어, 이동 및/또는 회전 각도를 포함하는 증가 또는 감소)를 결정할 수 있다. 목표 포즈에 관한 더 많은 설명은 본 개시내용의 다른 곳, 예를 들어 동작 1340, 도 15 및 그에 대한 설명에서 찾을 수 있다.
처리 장치(132)의 모듈들은 유선 연결 또는 무선 연결을 통해 서로 연결되거나 통신될 수 있다. 유선 연결은 금속 케이블, 광 케이블, 하이브리드 케이블 등 또는 이들의 조합을 포함할 수 있다. 무선 연결은 근거리 통신망(LAN), 광역 네트워크(WAN), 블루투스, ZigBee, 근거리 무선 통신(NFC) 등 또는 이들의 조합을 포함할 수 있다. 두 개 또는 그 초과의 모듈은 하나의 모듈로 결합될 수 있으며, 어느 하나의 모듈은 두 개 또는 그 초과의 단위로 분할될 수 있다. 예를 들어, 로컬 지도 획득 모듈(1220) 및 제 2 포즈 결정 모듈(1230)은 적어도 하나의 로컬 지도를 획득하고 이동 장치에 의해 획득된 레이저 데이터 및 적어도 하나의 로컬 지도에 기초하여 이동 장치의 제 2 포즈를 결정할 수 있는 하나의 모듈로 결합될 수 있다. 다른 예로서, 처리 장치(132)는 전술한 모듈에 의해 생성된 데이터를 저장하는 데 사용될 수 있는 저장 모듈(도시안됨)을 포함할 수 있다.
도 13은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이다. 일부 실시예에서, 프로세스(1300)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 12의 프로세서(220) 및/또는 모듈은 일련의 명령를 실행할 수 있고, 명령를 실행할 때 프로세서(220) 및/또는 모듈은 프로세스(1300)를 수행하도록 구성될 수 있다. 아래에 제시된 예시된 프로세스의 동작은 예시를 위한 것이다. 일부 실시예에서, 프로세스(1300)는 설명되지 않은 하나 또는 그 초과의 추가 작업으로 및/또는 여기에서 논의된 작업 중 하나 또는 그 초과 없이 달성될 수 있다. 또한, 도 13에 도시되고 아래에 설명된 프로세스의 동작 순서는 이에 제한하려는 의도가 아니다.
1310에서, 처리 장치(132)(예를 들어, 제 1 포즈 결정 모듈(1210))(예를 들어, 프로세서(220)의 처리 회로)는 이동 장치(예를 들어, 로봇, UAV)(예를 들어, 도 1에 도시된 이동 장치(110)는 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초한다. 본 명세서에서 사용되는 이동 장치의 포즈는 이동 장치의 위치 및/또는 이동 장치의 방향을 나타낼 수 있다.
일부 실시예에서, 처리 장치(132)는 현재 시점에 대응하는 오도메트리 데이터와 현재 시점에 인접한 이전 시점에 대응하는 이전 오도메트리 데이터 사이의 제 1 차이가 제 1 차이 임계값(예를 들어, 10 센티미터, 30센티미터, 50센티미터, 80센티미터)을 초과하는지 여부를 결정할 수 있거나 현재 시점과 이전 시점 사이의 1초 차이가 2차 차이 임계값(예: 0.05초, 0.1초, 0.2초, 0.5초, 1초, 2초)을 초과하는지 여부를 결정할 수 있다. 제 1 차이가 제 1 차이 임계값 이하이고 제 2 차이가 제 2 차이 임계값 이하라는 결정에 응답하여, 처리 장치(132)는 이동 장치에 의해 획득된 오도메트리 데이터에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다. 일부 실시예에서, 제 1 차이 임계값 및/또는 제 2 차이 임계값은 포즈 결정 시스템(100)의 디폴트 설정일 수 있거나 상이한 상황 하에서 조정 가능할 수 있다.
일부 실시예에서, 처리 장치(132)는 이전 시점에 대응하는 이동 장치의 이전 포즈 및 하기 공식 4로 표현되는 모션 모델을 사용하여 오도메트리 데이터에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다:
Figure pct00007
여기서
Figure pct00008
는 이동 장치의 제 1 포즈,
Figure pct00009
는 이동 장치의 이전 포즈,
Figure pct00010
는 현재 시점에서 오도메트리 데이터와 이전 포즈에 해당하는 이전 시점에서 오도메트리 데이터 사이의 차이를 나타낸다.
또한, 제 1 차이가 제 1 차이 임계값을 초과하거나 제 2 차이가 제 2 차이 임계값을 초과한다는 결정에 응답하여, 처리 장치(132)는 오도메트리 데이터, 레이저 데이터 및 이동 장치와 관련된 글로벌 지도(예: 점유 그리드 지도)를 기초로 한 이동 장치의 제 1 포스를 결정할 수 있다.
본 명세서에서 사용된 바와 같이, 글로벌 지도는 이동 장치가 위치한 제 1 영역에 대응하는 복수의 그리드, 복수의 그리드 각각에 대응하는 복수의 점유율, 복수의 그리드의 복수의 위치 등을 포함할 수 있다. 점유율은 해당 그리드가 장애물에 의해 점유될 확률을 나타낸다. 예를 들어, 장애물이 점유한 그리드에 대해 해당 점유율을 제 1 상수 값, 예를 들어 1로 지정할 수 있고, 장애물에 의해 미점유 그리드에 대해, 대응하는 점유율은 그리드와 가장 가까운 장애물 사이의 거리와 연관(예를 들어, 음의 상관관계)될 수 있다. 단지 예로서, 거리 임계값(예를 들어, 0.3미터, 0.4미터, 0.5미터)을 초과하는 가장 가까운 장애물까지의 거리를 갖는 그리드에 대해, 그리드의 대응하는 점유율이 제 2 상수 값, 예를 들어 0으로 지정될 수 있다. 가장 가까운 장애물까지의 거리가 거리 임계값보다 작거나 같은 그리드의 경우, 거리가 작을수록 해당 점유율(예: 0에서 1 범위의 값)이 커질 수 있다. 일부 실시예에서, 복수의 점유율은 가능성 필드 모델 및/또는 브러시파이어(Brushfire) 알고리즘을 이용하여 결정될 수 있다. 예를 들어, 복수의 점유율은 평균이 0이고 공분산이 σ인 정규분포로 표현될 수 있다.
일부 실시예에서, 처리 장치(132)는 예를 들어 위의 공식(4)에 따라 오도메트리 데이터에 기초하여 이동 장치의 제 1 후보 포즈를 결정할 수 있다. 처리 장치(132)는 또한 예를 들어 스캔 대 매핑 알고리즘을 이용하여 레이저 데이터 및 글로벌 지도의 일부에 기초하여 이동 장치의 제 2 후보 포즈를 결정할 수 있다. 일부 실시예에서, 레이저 데이터는 제 1 영역의 장기 특징 및 제 1 영역의 단기 특징에 대응할 수 있다. 장기 특징은 글로벌 지도가 구성될 때 제 1 영역에 있는 원래 객체의 특징에 대응할 수 있고; 단기 특징은 레이저 데이터 획득 시점에서 제 1 영역에서 새롭게 추가된 객체 또는 새롭게 사라진 객체의 특징일 수 있다. 처리 장치(132)는 장기 특징에 대응하는 레이저 데이터(즉, 레이저 데이터의 일부가 장기 특징에 대응함)를 이용하여 제 2 후보 포즈를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 레이저 데이터를 글로벌 지도 상에 투영함으로써 레이저 데이터의 부분(즉, 장기 특징에 대응하는 레이저 데이터)을 결정할 수 있다. 일반적으로 레이저 데이터는 서로 다른 각도에 대응하는 복수의 서브 레이저 데이터 그룹을 포함한다. 따라서, 레이저 데이터가 글로벌 지도에 투영된 후, 복수의 서브 레이저 데이터 그룹 각각은 글로벌 지도 상의 투영 지점에 대응한다. 서브 레이저 데이터의 복수의 그룹 각각에 대해, 처리 장치(132)는 대응하는 프로젝션 포인트와 글로벌 지도 상의 가장 가까운 그리드 사이의 거리를 결정하고 거리가 거리 임계값보다 작은지 여부를 결정할 수 있다. 거리가 거리 임계값 이상인 결정에 응답하여, 처리 장치(132)는 서브 레이저 데이터의 그룹이 단기 특징에 대응한다고 결정할 수 있다. 거리가 거리 임계값보다 작다는 결정에 응답하여, 처리 장치(132)는 서브 레이저 데이터의 그룹이 장기 특징에 대응한다고 결정할 수 있다.
일부 실시예에서, 서브 레이저 데이터의 특정 그룹을 예로 들면, 처리 장치(132)는 글로벌 지도의 좌표계(예를 들어, 세계 좌표계)에서 대응 투영점의 좌표를 결정할 수 있고 해당 투영 지점과 글로벌 지도에서 가장 가까운 그리드 사이 거리를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 아래의 공식(5)에 따라 글로벌 지도의 좌표계에서 대응 투영점의 좌표를 결정할 수 있다:
Figure pct00011
여기서
Figure pct00012
는 이동 장치의 제 1 후보 포즈를 나타내고,
Figure pct00013
는 이동 장치의 좌표계에서 서브 레이저 데이터 그룹에 해당하는 좌표를 나타내고,
Figure pct00014
는 글로벌 지도의 좌표계에서 해당 투영점의 좌표를 나타낸다.
일부 실시예에서, 제 1 후보 포즈 및 제 2 후보 포즈를 결정한 후, 처리 장치(132)는 예를 들어 융합 알고리즘을 이용하여 제 1 후보 포즈 및 제 2 후보 포즈에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다. 일부 실시예에서, 융합 알고리즘은 칼만 필터(KF), 불변 KF(예를 들어, 확장된 KF, 다중 상태 제약 KF, 무향 KF), 가중 평균 알고리즘, 다중 베이즈 추정 알고리즘, 뎀스터 셰이퍼(Dempster-Shafer; D-S) 증거 이론, 생성 규칙, 퍼지 논리, 인공 신경망 모델 등 또는 이들의 조합을 포함할 수 있다.
일부 실시예에서, 처리 장치(132)는 레이저 데이터에 기초하여(또는 이동 장치의 카메라에 의해 획득된 이미지 데이터에 기초하여) 적어도 하나의 마커(예를 들어, 빠른 응답(QR) 코드, 보정 대상, 전등 기둥)가 검출되는지 여부를 결정할 수 있다. 레이저 데이터에 기초하여 적어도 하나의 마커가 검출된 것으로 판단되면, 처리 장치(132)는 검출된 적어도 하나의 마커와 관련된 미리 결정된 기준 정보(예를 들어, 위치 정보)에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 또한 적어도 하나의 마커와 이동 장치 사이의 위치 관계를 결정한 다음 미리 결정된 기준 정보 및 위치 관계에 기초하여 제 1 포즈를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 이동 장치와 연관된 레이저 데이터 및 글로벌 지도의 매칭 결과(예를 들어, 매칭 점수)가 사전 설정된 조건(예를 들어, 점수 임계값보다 큰 매칭 점수(예: 60, 65, 70))을 만족하는지 여부를 결정할 수 있다. 처리 장치(132)는 레이저 데이터와 글로벌 지도의 매칭 결과가 기설정된 조건에 만족한다는 결정에 응답하여, 예를 들어 스캔을 이용하여 알고리즘을 매핑하기 위하여 레이저 데이터와 글로벌 지도에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 이동 장치의 목표 초기 포즈(예를 들어, 프로세스(500 또는 700)에 기초하여 결정됨)를 획득하고 목표 초기 포즈 및 오도메트리 데이터에 기초하여 제 1 포즈를 결정할 수 있다. 목표 초기 포즈는 이동 장치가 움직이기 시작할 때의 이동 장치 포즈의 초기값일 수 있다. 처리 장치(132)는 상술한 프로세스에 따라 목표 초기 포즈에 기초하여 제 1 포즈를 반복적으로 결정할 수 있다.
1320에서, 처리 장치(132)(예를 들어, 로컬 지도 획득 모듈(1220))(예를 들어, 프로세서(220)의 인터페이스 회로)는 이동 장치와 연관된 적어도 하나의 로컬 지도를 얻을 수 있다.
본 명세서에서 사용되는 바와 같이, 상술한 바와 같이, 글로벌 지도과 유사하게, 적어도 하나의 로컬 지도 각각은 이동 장치가 위치하는 제 2 영역에 대응하는 복수의 그리드를 포함할 수 있고, 복수의 복수에 대응하는 복수의 점유율을 포함할 수 있다. 로컬 지도에 대응하는 제 2 영역은 글로벌 지도에 대응하는 제 1 영역의 일부일 수 있다. 즉, 글로벌 지도는 이동 장치를 둘러싼 글로벌 및 전반적인 환경 정보를 나타내고; 로컬 지도는 이동 장치 주변의 상대적인 로컬 환경 정보를 나타낸다.
일부 실시예에서, 처리 장치(132)는 본 개시내용의 다른 곳에서 개시된 이동 장치 또는 저장 장치(예를 들어, 저장 장치(150))로부터 적어도 하나의 로컬 지도를 얻을 수 있다.
일부 실시예에서, 적어도 하나의 로컬 지도는 레이저 데이터에 대응하는 현재 시점으로부터 미리 정해진 범위 내의 이전 시점에서 이동 장치에 의해 획득된 이전 레이저 데이터에 기초하여 구성 또는 업데이트될 수 있다. 예를 들어, 가장 먼저 구축된 로컬 지도의 경우, 구축 시점에서 획득한 레이저 데이터를 해당 지도의 포즈(예를 들어, 전술한 제 1 포즈)를 기준으로 평면(예를 들어, 글로벌 지도에 해당하는 평면)에 투영할 수 있으며, 이에 따라 이동 장치를 시공 시점에 이동시키는 경우, 투영된 레이저 데이터에 기초하여 복수의 그리드에 대응하는 복수의 점유율을 결정함으로써(예를 들어, 브러시파이어 알고리즘, 가능성 모델을 사용하여) 로컬 지도가 구성될 수 있다. 또한, 시공 시점 이후의 특정 이전 시점을 예로 들어, 특정 이전 시점에서 획득한 레이저 데이터를 기 구축된 로컬 지도에 해당 포즈(예를 들어, 전술한 제 1 포즈)를 기준으로 투영할 수 있으며, 이에 따라 이전 시점에 대응하는 이동 장치가 투사된 레이저 데이터를 기반으로 복수의 그리드에 대응하는 복수의 점유율을 업데이트함으로써 로컬 지도가 업데이트될 수 있다.
다른 예로서, 처리 장치(132)는 또한 이동 장치의 제 1 포즈 및 현재 시점에서 이동 장치에 의해 획득된 레이저 데이터에 적어도 부분적으로 기초하여 적어도 하나의 로컬 지도를 업데이트할 수 있다. 적어도 하나의 로컬 지도 각각에 대해, 처리 장치(132)는 이동 장치의 제 1 포즈에 기초하여 로컬 지도에 레이저 데이터를 투사하고 투사된 레이저 데이터를 기반으로 복수의 그리드에 대응하는 복수의 점유율을 업데이트함으로써 로컬 지도를 업데이트할 수 있다.
로컬 지도의 특정 그리드를 예로 들면, 처리 장치(132)는 아래 공식(6)에 따라 그리드의 중간 점유율을 업데이트할 수 있다:
Figure pct00015
여기서 p는 기설정된 매개변수, x는 로컬 지도에서 그리드의 위치, Mnew(x)는 그리드의 중간 점유율, Mold(x)는 로컬 지도의 그리드의 가장 최근의 이전 점유율을 나타낸다. 일부 실시예에서, 그리드가 로컬 지도 상의 레이저 데이터의 프로젝션 포인트(들)에 부딪히면, 기설정된 파라미터는 0.5 내지 1(예를 들어, 0.65)의 값 범위로 설정될 수 있으며, 이에 따라 중간 점유율 가장 최근의 이전 점유율보다 더 큰 것으로 결정되고; 그리드가 로컬 지도의 레이저 데이터의 투영 지점(들)에 맞지 않으면 기설정된 매개변수는 0에서 0.5(예: 0.4)의 값 범위일 수 있으므로 최신 이전 점유율보다 중간 점유율이 더 작은 것으로 결정된다.
일부 실시예에서, 그리드의 중간 점유율이 클수록 그리드가 장애물에 의해 점유될 확률이 커진다. 처리 장치(132)는 복수의 그리드의 중간 점유율에 기초하여 복수의 그리드 중에서 점유 그리드 및 미점유 그리드를 결정할 수 있다. 처리 장치(132)는 제 1 점유 임계값(예를 들어, 0.65, 0.7, 0.8) 이상의 중간 점유율을 갖는 그리드를 점유 그리드로서 지정하고, 제 2 점유 임계값(예: 0.1, 0.2, 0.3) 이하의 중간 점유율을 갖는 그리드를 미점유 그리도로서 지정한다.
일부 실시예에서, 중간 점유율이 제 1 점유 임계값보다 작고 제 2 점유 임계값보다 큰 그리드에 대해, 처리 장치(132)는 그리드 사이의 거리에 기초하여 그리드의 대응하는 점유율을 로컬 지도의 대응하는 가장 가까운 장애물로 업데이트할 수 있다. 예를 들어, 거리가 거리 임계값보다 작거나 같으면, 처리 장치(132)는 거리에 기초하여 브러시파이어 알고리즘을 이용하여 그리드의 대응하는 점유율을 결정할 수 있고; 거리가 거리 임계값보다 큰 경우, 처리 장치(132)는 그리드의 점유율로서 그리드의 중간 점유율을 업데이트할 수 있다. 점유율의 업데이트에 관한 더 많은 설명은 본 개시의 다른 곳, 예를 들어 도 14a 내지 도 14f에서 찾을 수 있다.
일부 실시예에서, 적어도 하나의 로컬 지도는 미리 결정된 시간 간격(예를 들어, 0.5분당, 1분당, 2분당, 5분당), (각각 레이저 데이터 및 상기 레이저 데이터가 획득된 시점에 대응하는 해당 이동 장치의 포즈를 포함함) 상기 적어도 하나의 로컬 지도에 포함된 데이터 프레임의 카운트, 이동 장치와 관련된 적어도 하나의 로컬 지도 및 글로벌 지도, 적어도 하나의 마커(예를 들어, 가로등 기둥, QR 코드)는 레이저 데이터 및/또는 이미지 데이터 등 또는 이들의 조합에 기초하여 검출되는지 여부의 이동 장치와 관련된 글로벌 지도와 레이저 데이터 사이의 매칭 결과(예를 들어, 매칭 점수)에 따라 동적으로 구성, 업데이트 또는 해제될 수 있다.
일부 실시예에서, 처리 장치(132)는 글로벌 지도와 레이저 데이터 사이의 매칭 점수가 점수 임계값보다 크거나 같은지 여부를 결정할 수 있다. 매칭 점수가 점수 임계값보다 크다는 결정에 응답하여, 처리 장치(132)는 레이저 데이터가 획득되는 시점에서 적어도 하나의 로컬 지도를 구성하거나 업데이트하기 위해 레이저 데이터를 사용할 수 있다. 일부 실시예에서, 적어도 하나의 마커가 레이저 데이터 및/또는 이미지 데이터에 기초하여 검출되면, 처리 장치(132)는 레이저 데이터를 사용하여 레이저 데이터 및/또는 이미지 데이터가 획득되는 시점에서 적어도 하나의 로컬 지도를 구성하거나 업데이트할 수 있다. 이를 통해 레이저 데이터를 기반으로 결정된 해당 제 1 포즈의 정확성을 확보할 수 있으며, 이에 따라 레이저 데이터를 기반으로 구성 또는 업데이트되는 적어도 하나의 로컬 지도의 정확성을 확보할 수 있다.
일부 실시예에서, 레이저 데이터가 획득될 때 2개의 인접한 시점 사이의 시간 차이가 시간 임계값을 초과하는 경우, 처리 장치(132)는 적어도 하나의 로컬 지도를 구성하거나 업데이트하기 위해 나중 시점에 대응하는 레이저 데이터를 사용할 수 있다, 즉, 처리 장치(132)는 미리 결정된 시간 간격(예를 들어, 0.5분당, 1분당, 2분당, 5분당)에 따라 적어도 하나의 로컬 지도를 구성하거나 업데이트할 수 있다. 이를 통해 적어도 하나의 로컬 지도는 이동 장치를 둘러싼 최신 환경을 반영할 수 있다.
일부 실시예에서, 로컬 지도에 포함된 데이터 프레임의 카운트가 카운트 임계값(예를 들어, 40, 80)을 초과하는 경우, 처리 장치(132)는 최신 레이저 데이터 및 이동 장치의 해당 포즈를 사용하여 다른 로컬 지도를 구성할 수 있고 이전 로컬 지도를 해제한다. 그렇게 함으로써 저장 용량을 절약할 수 있고 처리 효율을 높일 수 있다. 일부 실시예에서, 로컬 지도에 포함된 데이터 프레임의 카운트가 카운트 임계값을 초과할 때, 처리 장치(132)는 글로벌 지도와 이동 장치의 포즈 사이의 매칭 결과(예를 들어, 매칭 점수)가 로컬 지도를 기반으로 기설정된 조건(예: 점수 임계값보다 큰 매칭 점수)을 만족하였는지를 추가로 결정할 수 있다. 매칭 결과가 기설정된 조건을 만족하는 결정에 응답하여, 처리 장치(132)는 로컬 지도를 해제할 수 있다. 처리 장치(132)는 매칭 결과가 기설정된 조건을 만족하지 않는다는 결정에 응답하여, 로컬 지도를 해제하지 않을 수 있다.
단지 예시적으로, 특정 시점에서 적어도 하나의 로컬 지도는 제 1 로컬 지도, 제 2 로컬 지도 및 제 3 지도를 포함할 수 있다고 가정한다(제 3 지도는 이제 막 특정 시점에 구성되기 시작된 것으로 가정한다). 제 1 로컬 지도는 3개의 지도 중 가장 빠른 것, 즉 제 1 로컬 지도가 가장 먼저 구성되는 것일 수 있다. 제 2 로컬 지도는 제 1 로컬 지도의 데이터 프레임의 카운트가 제 1 미리 결정된 카운트(예를 들어, 20, 30, 40, 50)에 도달할 때 구성될 수 있다. 제 3 로컬 지도는 제 2 로컬 지도의 데이터 프레임의 카운트가 제 1 소정의 카운트에 도달할 때(이제 제 1 로컬 지도의 데이터 프레임의 카운트가 제 1의 소정의 카운트의 두 배에 도달할 때, 즉, 제 2 로컬 지도가 구성된 후, 제 1 로컬 지도과 제 2 로컬 지도가 동시에 업데이트됨) 구성될 수 있다.
일부 실시예에서, 제 1 로컬 지도의 데이터 프레임의 카운트가 제 2 미리 결정된 카운트(예를 들어, 40, 60, 80, 100)(예를 들어, 제 1 미리 결정된 카운트의 두 배, 즉, 제 3 로컬 지도가 막 구성되기 시작하면 제 1 로컬 지도가 해제됨). 일부 실시예에서, 제 1 로컬 지도는 제 2 로컬 지도에 기초하여 결정된 이동 장치의 포즈와 이동 장치와 관련된 글로벌 지도 간의 매칭 결과(예: 매칭 점수)가 기설정된 조건을 만족하는 경우 해제될 수 있다(예: 예를 들어 매칭 점수가 점수 임계값보다 큰 경우), 즉, 제 3 로컬 지도가 막 구성되기 시작하면 제 1 로컬 지도가 즉시 해제되지 않고 제 2 로컬 지도의 정확도가 요구 사항을 충족할 때까지 해제된다.
1330에서, 처리 장치(132)(예를 들어, 제 2 포즈 결정 모듈(1210))(예를 들어, 프로세서(220)의 처리 회로)는 적어도 하나의 로컬 지도 및 이동 장치로 획득된 레이저 데이터에 기초하여 이동 장치의 제 2 포즈를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 레이저 데이터와 적어도 하나의 로컬 지도를 매칭함으로써 매칭 결과를 생성하고 매칭 결과에 기초하여, 예를 들어 스캔 대 지도 알고리즘을 이용하여 제 2 포즈를 결정할 수 있다.
일부 실시예에서, 전술한 바와 같이, 특정 시점에서 적어도 하나의 로컬 지도는 제 1 로컬 지도, 제 2 로컬 지도, 및 제 3 로컬 지도를 포함할 수 있다고 가정하고, 처리 장치(132)는 스캔 대 지도 알고리즘을 이용하여 레이저 데이터와 제 2 로컬 지도를 기반으로 제 2 포즈를 결정할 수 있다. 처리 장치(132)는 제 2 로컬 지도와 레이저 데이터에 기초하여 결정된 이동 장치의 포즈와 글로벌 지도 간의 매칭 결과(예: 매칭 점수)가 기설정된 조건(예: 매칭 점수가 점수 임계값보다 더 크다)을 만족하는지 여부를 판단할 수 있다. 매칭 결과가 기설정된 조건을 만족한다는 결정에 응답하여, 처리 장치(132)는 제 2 로컬 지도 및 레이저 데이터에 기초하여 결정된 포즈를 제 2 포즈로 지정할 수 있다. 처리 장치(132)는 매칭 결과가 기설정된 조건을 만족하지 않는다는 결정에 응답하여, 레이저 데이터 및 제 1 로컬 지도에 기초하여 이동 장치의 포즈를 결정하고, 레이저에 기초하여 결정된 이동 장치의 포즈를 지정할 수 있다; 즉, 제 2 로컬 지도의 정확도가 요구 사항을 충족하지 않는 경우 제 1 로컬 지도를 공개하지 않고 이동 장치의 제 2 포즈를 제 1 로컬 지도 기반으로 결정할 수 있다.
1340에서, 처리 장치(132)(예를 들어, 목표 포즈 결정 모듈(1210))(예를 들어, 프로세서(220)의 처리 회로)는 포즈 조정 알고리즘(예를 들어, 희귀 포즈 조정(SPA) 알고리즘)을 사용하여 제 1 포즈 및 제 2 포즈에 기초하여 이동 장치의 목표 포즈를 결정할 수 있다.
일부 실시예에서, 제 2 포즈(레이저 데이터 및 적어도 하나의 로컬 지도에 기초하여 결정됨)는 제 1 포즈(이는 데이터 또는 레이저 데이터)와 레이저 데이터 및 글로벌 지도를 기반으로 결정된 포즈("제 3의 포즈"라고 함) 사이의 오프셋("측정 오프셋(measured offset)")으로 지칭될 수 있다. 일반적으로 측정된 오프셋(즉, 제 2 포즈)과 실제 오프셋 사이에는 차이가 있다. 따라서, 처리 장치(132)는 실제 오프셋 및 측정된 오프셋과 관련된 오차 함수를 결정하고 오차 함수를 최소화(즉, 실제 오프셋과 측정된 오프셋 사이의 편차를 최소화)하여 제 1 포즈 및 제 3 포즈를 최적화할 수 있다. 또한, 처리 장치(132)는 최적화된 제 3 포즈를 목표 포즈로 지정할 수 있다.
일부 실시예에서, 처리 장치(132)는 제 1 포즈 및 제 3 포즈를 최적화하기 위한 순환 프로세스를 수행할 수 있다. 예를 들어, i번째 주기 동안, 처리 장치(132)는 오차 함수의 값을 결정하고 제 1 포즈 및 제 3 포즈에 대응하는 변수(예를 들어, 이동 및/또는 회전 각도를 포함하는 증가 또는 감소)를 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 아래의 공식(7)에 따라 에러 함수를 결정할 수 있다:
Figure pct00016
여기서 eij(x)는 오차 함수, ti는 제 1 포즈의 이동, tj는 제 3 포즈의 이동, tij는 제 2 포즈의 이동, Ri는 제 1 포즈의 회전 행렬, Rj는 제 3 포즈의 회전행렬, Rij는 제 2포즈의 회전행렬, θi는 제 1 포즈의 회전각도, θj는 제 3 포즈의 회전각도, θij는 제 2 포즈의 회전 각도를 의미한다.
일부 실시예에서, 처리 장치(132)는 공식 8에 따라 i번째 주기의 제 1 포즈(또는 제 3 포즈)와 i번째 주기의 제 1 포즈(또는 제 3 포즈)의 분산 행렬 사이의 관계를 결정할 수 있다. 아래에:
Figure pct00017
여기서
Figure pct00018
는 i번째 주기의 제 1 포즈(또는 제 3 포즈)를 나타내고 T는 i번째 주기의 제 1 포즈(또는 제 3 포즈)의 분산 행렬을 나타낸다.
일부 실시예에서, 처리 장치(132)는 아래의 공식(9) 및 (10)에 따라 오차 함수의 야코비 행렬(Jacobian matrix)을 결정할 수 있다:
Figure pct00019
Figure pct00020
여기서
Figure pct00021
는 야코비 행렬을 나타낸다.
오차 함수는 i번째 주기의 제 1 포즈(또는 제 3 포즈)와만 관련될 수 있으므로 처리 장치(132)는 야코비 행렬을 아래의 공식(11)으로 변환할 수 있다.
Figure pct00022
여기서 Jij는 변환된 야코비 행렬을 나타낸다.
일부 실시예에서, 처리 장치(132)는 아래 공식 (12) - (14)에 따라 오차 함수와 관련된 선형화 방정식, 변환된 야코비 행렬의 값, 및 i번째 사이클에서의 제 1 포즈(또는 제 3 포즈)의 변수를 결정하기 위해 오차 함수를 선형화할 수 있다:
Figure pct00023
(12)
Figure pct00024
(13)
Figure pct00025
(14)
여기서
Figure pct00026
는 i번째 주기의 제 1 포즈(또는 제 3 포즈)의 변수(예: 증분)를 나타내고, Hij는 i번째 주기의 제 1 포즈(또는 제 3 포즈)의 헤시안 행렬을 나타내며, bij는 i번째 주기에서 제 1 포즈(또는 제 3 포즈)의 나머지를 의미한다.
또한, 처리 장치(132)는 아래 공식(15) 및 (16)에 따라 i번째 주기에서 제 1 포즈(또는 제 3 포즈)의 변수 및 제 1 포즈(또는 제 3 포즈)에 대응하는 (i+1) 주기에서 제 1 포즈(또는 제 3 포스)를 결정할 수 있다:
Figure pct00027
(15)
Figure pct00028
(16)
여기서 x1은 i번째 주기의 제 1 포즈(또는 제 3 포즈)에 해당하는 (i+1) 주기의 (i+1)번째 포즈를 나타낸다.
일부 실시예에서, 적어도 하나의 마커에 기초하여 제 1 포즈가 결정되면, 제 1 포즈의 정확도가 상대적으로 높을 수 있고, 제 1 포즈를 최적화하는 것이 불필요할 수 있다. 따라서 포즈 조정 프로세스 동안 처리 장치(132)는 제 1 포즈의 값을 조정하지 않고 제 3 포즈만 조정 및/또는 최적화할 수 있다.
위의 설명은 설명을 위한 것이며 제한적이지 않다는 점에 유의해야 합니다. 일부 실시예에서, 처리 장치(132)는 적어도 하나의 보충 매개변수를 고려함으로써 오차 함수를 결정할 수 있다. 상기 적어도 하나의 보조 파라미터는 현재 시점부터 이전 시점까지의 일정 시간 내에 결정된 레이저 데이터 및/또는 로컬 지도에 기초하여 결정될 수 있다. 예를 들어, 적어도 하나의 보충 파라미터는 적어도 하나의 로컬 지도에 대응하는 하나 또는 그 초과의 포즈(예를 들어, 로컬 지도의 구성 시점에 대응하는 포즈), 미리 결정된 시간 동안 결정된 하나 또는 그 초과의 이전의 공개된 로컬 지도(예를 들어, 3, 4, 5, 또는 6)에 대응하는 하나 또는 그 초과의 포즈, 구성 시간에 대응하는 이전의 제 3 포즈, 등 또는 이들의 임의의 조합을 포함할 수 있다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다. 예를 들어, 동작 1310에서 처리 장치(132)는 오도메트리 데이터, 레이저 데이터 및 글로벌 지도를 융합한 후 융합된 데이터에 기초하여 이동 장치의 제 1 포즈를 결정할 수 있다.
도 14a 내지 도 14f는 본 개시내용의 일부 실시예에 따라 로컬 지도의 그리드 점유율을 업데이트하기 위한 예시적인 프로세스를 도시하는 개략도이다.
일부 실시예에서, 동작(1320)과 관련하여 설명된 바와 같이, 로컬 지도는 각각 점유율에 대응할 수 있는 복수의 그리드(예를 들어, 점유 그리드, 미점유 그리드 포함)를 포함할 수 있다. 처리 장치(132)는 로컬 지도의 복수의 그리드에 대응하는 복수의 점유율을 업데이트함으로써 로컬 지도를 업데이트할 수 있다. 일부 실시예에서, 특정 점유 그리드에 대해, 점유 그리드의 중간 점유율 및 최종 점유율이 제 1 점유 임계값보다 크면, 그리드에 기존에 존재하던 장애물이 유지되는 것으로 간주할 수 있다. 그리드의 중간 점유율이 제 1 임계값보다 크고 최신 그리드 점유율이 제 1 임계값보다 작거나 같으면 그리드에 새로운 장애물이 있는 것으로 간주할 수 있으며, 처리 장치(132)는 그리드를 새롭게 점유 그리드로 지정할 수 있다.
특정 미점유 그리드에 대해 미점유 그리드의 중간점유율 및 최종점유율이 제 2 점유 임계값보다 작은 경우, 기존에 존재하던 장애물이 그리드에 남아 있다고 볼 수 있다. 그리드의 중간 점유율이 제 2 임계값보다 작고 최근 그리드의 점유율이 제 2 임계값보다 크거나 같으면 이전 장애물이 그리드에서 나간 것으로 간주할 수 있으며, 처리 장치(132)는 그리드를 새로운 미점유 그리드로 지정할 수 있다.
동작 1320과 관련하여 기술된 바와 같이, 처리 장치(132)는 전술한 공식 6에 따라 새로운 점유 그리드 및 새로운 미점유 그리드의 업데이트된 점유율을 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 대응하는 가장 가까운 장애물까지의 거리가 아래에 예시된 바와 같이 거리 임계값보다 작거나 같은 그리드의 업데이트된 점유율을 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 로컬 지도의 그리드와 그리드에 대해 가장 가까운 점유 그리드(즉, 장애물이 점유한 그립) 사이의 거리에 각각 대응하는 복수의 거리를 포함하는 거리 지도 및 가장 가까운 점유 그리드의 좌표에 각각 대응하는 복수의 좌표를 포함하는 장애물 기준 지도를 획득할 수 있다. 초기화된 상태에서 거리 지도의 모든 거리와 장애물 참조 지도의 모든 좌표는 기본 설정일 수 있다(예: 거리는 무한대로 설정됨). 새로운 점유 그리드와 새로운 미점유 그리드를 결정한 후, 처리 장치(132)는 거리 지도에서 새로운 점유 그리드에 해당하는 거리를 무한대로, 거리 지도에서 새로운 점유 그리드에 해당하는 거리를 0으로 결정할 수 있다. 처리 장치(132) 새로운 점유 그리드의 좌표를 각각 장애물 참조 지도에서 새로운 점유 그리드에 대응하는 좌표로 결정할 수 있다.
일부 실시예에서, 처리 장치(132)는 대응하는 가장 가까운 장애물까지의 거리에 따라 복수의 그리드를 정렬할 수 있다. 처리 장치(132)는 가장 가까운 장애물까지의 거리가 더 짧은 그리드를 처리(예를 들어, 대응하는 점유율을 업데이트)하도록 최적화할 수 있다. 일부 실시예에서, 그리드의 점유율을 업데이트하는 동안 복수의 그리드를 순서화하는 것은 불필요할 수 있다(즉, 순서화 동작은 생략될 수 있다).
일부 실시예에서, 처리 장치(132)는 각각의 새로운 미점유 그리드에 상승 동작을 수행할 수 있다. 특정한 새로 비어 있는 그리드(예를 들어, 도 14c-14f에 도시된 그리드(1420))를 예로 들면, 처리 장치(132)는 새로 비어 있는 그리드까지의 거리가 거리 임계값(예를 들어, 0.4 미터) 미만의 하나 또는 그 초과의 인접한 그리드를 결정할 수 있다. 예를 들어, 새로운 미점유 그리드의 하나 또는 그 초과의 인접 그리드는 새로운 미점유 그리드의 네 방향(예: 위쪽, 아래쪽, 왼쪽 방향 및 오른쪽 방향)으로 인접한 그리드를 포함할 수 있다. 다른 예로, 새로운 미점유 그리드의 하나 또는 그 초과의 인접 그리드는 새로 비어 있는 그리드의 8개 방향(예를 들어, 상측 방향, 좌상 방향, 우상 방향, 하측 방향, 좌하 방향, 우하 방향, 좌측 방향, 및 우측 방향)의 인접 노드를 포함할 수 있다.
처리 장치(132)는 각각의 인접 그리드와 인접 그리드의 가장 가까운 점유 그리드 사이의 거리가 거리 임계값 이하인지 여부를 결정할 수 있다. 인접한 그리드와 가장 가까운 점유 그리드(예를 들어, 도 14f에 예시된 그리드(1430-2)) 사이의 거리가 거리 임계값 이하라는 결정에 응답하여, 처리 장치(132)는 인접한 그리드 및 추가 처리(예: 아래에 설명된 하위 작업 수행)를 위해 대응하는 가장 가까운 점유 그리드를 표시할 수 있다. 인접한 그리드와 가장 가까운 점유 그리드(예를 들어, 도 14e에 예시된 그리드(1430-1)) 사이의 거리가 거리 임계값보다 크다는 결정에 응답하여, 처리 장치(132)는 인접한 그리드를 표시하지 않을 수 있다.
모든 새로운 미점유 그리드에 상승 작업을 수행한 후, 처리 장치(132)는 상승 작업에서 결정된 각각의 새로운 점유 그리드 및 표시된 점유 그리드(들) 각각에 대해 하강 작업을 수행할 수 있다. 새로 점유된 특정 그리드(예를 들어, 도 14a 및 14b에 도시된 그리드(1410)) 또는 특정 표시된 점유 그리드(예를 들어, 도 14f에 도시된 그리드(1430-2))를 예로 들면, 처리 장치(132)는 새로운 점유 그리드(또는 추가된 점유 그리드)까지의 거리가 거리 임계값(예: 0.4미터)보다 작은 하나 또는 그 초과의 인접 그리드를 결정할 수 있다. 처리 장치(132)는 거리 지도에서 새로운 점유 그리드의 해당 거리를 0으로 결정하고, 새로운 점유 그리드의 좌표를 장애물 참조 지도에서 새로운 점유 그리드의 대응 좌표로 결정할 수 있다.
특정 인접 그리드를 예로 들어, 인접 그리드 중 가장 근접하게 점유 그리드가 새로운 점유 그리드인 경우, 처리 장치(132)는 예를 들어 가능성 필드 모델을 사용하여 인접 그리드와 새로운 점유 그리드 사이의 거리에 기초하여 인접 그리드의 점유율을 업데이트할 수 있다. 처리 장치(132)는 거리 지도에서 인접 그리드의 대응 거리를 인접 그리드와 새로운 점유 그리드(또는 추가된 점유 그리드) 사이의 거리로 결정하고, 장애물 기준 지도에서 인접 그리드의 대응 좌표를 새로운 점유 그리드의 좌표로 결정할 수 있다. 인접 그리드의 가장 가까운 점유 그리드가 다른 점유 그리드(즉, 새로운 점유 그리드가 아닌 경우)인 경우, 처리 장치(132)는 인접 그리드와 다른 점유 그리드 사이의 거리에 기초하여 인접 그리드의 점유율을 업데이트할 수 있다. 처리 장치(132)는 거리 지도에서 인접 그리드의 대응 거리를 인접 그리드와 다른 점유 그리드 사이의 거리로 결정하고, 장애물 기준 지도에서 인접 그리드의 대응 좌표를 다른 점유 그리드의 좌표로 결정할 수 있다. 다른 점유 그리드가 표시되지 않은 경우, 처리 장치(132)는 다른 점유 그리드를 표시하고 다른 점유 그리드에 대해 하강 동작을 수행할 수 있다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다.
도 15는 본 개시내용의 일부 실시예에 따른 SPA 알고리즘의 원리를 나타내는 개략도이다.
도 15에 도시된 바와 같이, 각 점선 원(1510)은 이동 장치의 제 1포즈를 나타낸다. 각각의 속이 빈 원(1520)은 이동 장치의 제 3 포즈를 나타낸다. 사각형(1530)은 이동 장치와 관련된 글로벌 지도를 나타낸다. 점선 원(1510)과 속이 빈 원(1520)을 연결하는 선분은 제 1 포즈와 제 3 포즈 사이의 제약을 나타낸다. 속이 빈 원(1520)과 글로벌 지도를 연결하는 선분은 제 3 포즈와 글로벌 지도 사이의 제약을 나타낸다. SPA 알고리즘은 제약에 의해 도입된 오차(예를 들어, 도 13에 도시된 오차 함수로 표현됨)를 최소화하기 위해 제 1 포즈 및 제 2 포즈를 최적화하는 데 사용될 수 있다.
도 16은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 포즈를 결정하는 과정을 나타낸 순서도이다. 일부 실시예에서, 프로세스(1600)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 12는 일련의 명령를 실행할 수 있고, 명령를 실행할 때 프로세서(220) 및/또는 모듈은 프로세스(1600)를 수행하도록 구성될 수 있다. 아래에 제시된 예시된 프로세스의 동작은 예시를 위한 것이다. 일부 실시예에서, 프로세스(1600)는 설명되지 않은 하나 또는 그 초과의 추가 동작으로 및/또는 여기서 논의된 동작 중 하나 또는 그 초과 없이 달성될 수 있다. 또한, 도 16에 도시되고 아래 설명되는 프로세스의 동작 순서는 제한하려는 의도가 아니다.
1610에서, 처리 장치(132)는 현재 시점에서의 이동 장치의 제 1 포즈에 기초하여 이동 장치(예를 들어, 이동 장치(110))를 둘러싼 환경의 로컬 지도를 구성할 수 있다.
일부 실시예에서, 동작(1310)과 관련하여 설명된 바와 같이, 처리 장치(132)는 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 제 1 포즈를 결정할 수 있다. 예를 들어, 처리 장치(132)는 이동 장치와 관련된 글로벌 지도 및 환경과 관련된 레이저 데이터에 기초하여 제 1 포즈를 결정할 수 있다. 로컬 지도 및/또는 제 1 포즈에 관한 더 많은 설명은 본 개시내용의 다른 곳, 예를 들어 도 13 및 도 14 및 그에 대한 설명에서 찾을 수 있다.
1620에서, 처리 장치(132)는 이동 장치를 둘러싼 환경과 연관된 장애물의 변화(예를 들어, 로컬 지도의 그리드가 장애물에 의해 점유되는지 여부)에 기초하여 로컬 지도를 업데이트할 수 있다. 로컬 지도의 업데이트에 관한 더 많은 설명은 본 개시내용의 다른 곳, 예를 들어 도 13 및 도 14 및 그에 대한 설명에서 찾을 수 있다.
1630에서, 처리 장치(132)는 이동 장치의 제 2 포즈를 결정하기 위해 업데이트된 로컬 지도를 환경과 연관된 레이저 데이터와 일치시킬 수 있다. 동작 1630은 동작 1330과 유사할 수 있으며, 이에 대한 설명은 반복하지 않을 수 있다.
1640에서, 처리 장치(132)는 이동 장치의 목표 포즈를 결정하기 위해 제 2 포즈에 기초하여 제 1 포즈를 조정할 수 있다. 일부 실시예에서, 처리 장치(132)는 SPA 알고리즘을 이용하여 제 1 포즈를 조정할 수 있다. 제 1 포즈의 조정에 대한 더 자세한 설명은 본 명세서의 다른 곳, 예를 들어 동작 1340 및 그에 대한 설명에서 찾을 수 있다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다.
도 17은 본 개시내용의 일부 실시예에 따른 이동 장치의 목표 포즈를 결정하기 위한 예시적인 프로세스를 나타내는 순서도이다. 일부 실시예에서, 프로세스(1700)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 12의 프로세서(220) 및/또는 모듈은 일련의 명령를 실행할 수 있고, 명령를 실행할 때 프로세서(220) 및/또는 모듈은 프로세스(1700)를 수행하도록 구성될 수 있다. 아래에 제시된 예시된 프로세스의 동작은 예시를 위한 것이다. 일부 실시예에서, 프로세스(1700)는 설명되지 않은 하나 또는 그 초과의 추가 동작으로 및/또는 여기서 논의된 동작 중 하나 또는 그 초과 없이 달성될 수 있다. 또한, 도 17에 도시되고 아래에 설명된 프로세스의 동작 순서는 제한하려는 의도가 아니다.
1701에서, 처리 장치(132)는 오도메트리 데이터를 획득하고, 오도메트리 데이터 및 현재 시점에 인접한 이전 시점의 이동 장치의 이전 포즈에 기초하여 현재 시점의 이동 장치의 제 1 후보 포즈를 결정할 수 있다. 제 1 후보 포즈에 대한 더 자세한 설명은 본 명세서의 다른 곳, 예를 들어 동작 1310 및 그에 대한 설명에서 찾을 수 있다.
1702에서, 처리 장치(132)는 현재 시점에 대응하는 오도메트리 데이터와 이전 시점에 대응하는 이전 오도메트리 데이터 사이의 차이(제 1 차이라고도 함)가 제 1 임계값을 초과하는지 또는 현재 시점과 이전 시점 사이의 시간 차이(제 2 차이라고도 함)가 제 2 임계값을 초과하는지 여부를 결정할 수 있다.
1703에서, 차이가 제 1 임계값을 초과하거나 시간 차이가 제 2 임계값을 초과한다는 결정에 응답하여, 처리 장치(132)는 현재 시점에서 획득된 레이저 데이터를 다운 샘플링하고 레이저 데이터(서브-레이저-데이터의 복수 그룹 포함)를 서브 레이저 데이터의 각 그룹과 이동 장치와 관련된 글로벌 지도의 가장 가까운 장애물 사이의 거리를 기준으로 단기 특징에 해당하는 서브 레이저 데이터 그룹과 장기 특징에 해당하는 서브 레이저 데이터 그룹으로 분할할 수 있다.
1704에서, 처리 장치(132)는 장기 특징과 글로벌 지도를 매칭함으로써 이동 장치의 제 2 후보 포즈를 결정할 수 있다.
1705에서 처리 장치(132)는 EKF 알고리즘을 이용하여 제 1 후보 포즈와 제 2 후보 포즈를 융합하여 이동 장치의 제 1 포즈를 결정할 수 있다. 제 2 후보 포즈 및/또는 제 1 포즈에 대한 더 자세한 설명은 본 명세서의 다른 곳, 예를 들어 동작 1310 및 그에 대한 설명에서 찾을 수 있다.
1706에서, 처리 장치(132)는 레이저 데이터에 기초하여 로컬 지도(예를 들어, 각각 점유율에 대응하는 복수의 그리드를 포함함)을 구성(또는 업데이트)할 수 있고, 로컬 지도의 포즈는 이동 장치의 제 1 포즈에 대응한다. 일부 실시예에서, 처리 장치(132)는 아래에 예시된 동작 1707-1710에 따라 로컬 지도를 업데이트할 수 있다.
1707에서, 로컬 지도 내의 복수의 그리드 각각에 대해, 처리 장치(132)는 그리드가 새로운 미점유 그리드인지 또는 새로운 점유 그리드인지를 결정할 수 있다. 처리 장치(132)는 점유율이 제 1 비율 임계값(예를 들어, 0.65)보다 큰 그리드를 점유 그리드로 지정하고 점유율이 제 2 비율 임계값(예를 들어, 0.2)보다 작은 그리드를 미점유 그리드로 지정할 수 있다. 처리 장치(132)는 현재 시점에 점유되고 현재 시점과 인접한 이전 시점에서 미점유 그리드를 새로운 점유 그리드로 지정할 수 있다. 처리 장치(132)는 현재 시점에서 비어 있고 이전 시점에서 점유되었던 그리드를 새로운 미점유 그리드로 지정할 수 있다.
1708에서, 그리드가 새로운 미점유 그리드라는 결정에 응답하여, 처리 장치(132)는 그리드의 인접한 그리드에 상승 동작을 수행할 수 있다.
1709에서, 그리드가 새로운 점유 그리드라는 결정에 응답하여, 처리 장치(132)는 그리드의 인접한 그리드에 대해 하강 동작을 수행할 수 있다.
1710에서 로컬 지도의 모든 그리드에 대해 동작(1707-1709)을 수행한 후, 처리 장치(132)는 스캔 대 로컬 지도 알고리즘을 이용하여 제 2 포즈를 결정하기 위해 레이저 데이터와 로컬 지도를 매칭할 수 있다. 동작 1707 내지 1710에 관한 더 많은 설명은 본 개시내용의 다른 곳, 예를 들어 동작 1320 및 도 14 및 그에 대한 설명에서 찾을 수 있다.
1711에서, 처리 장치(132)는 SPA 알고리즘을 이용하여 제 1 포즈 및 제 2 포즈에 기초하여 이동 장치의 목표 포즈를 결정할 수 있다. 일부 실시예에서, 처리 장치(132)는 제 2 포즈에 기초하여 제 1 포즈를 최적화할 수 있다. 동작 1711은 동작 1340과 유사할 수 있으며, 이에 대한 설명은 반복하지 않을 수 있다.
상기 설명은 단지 예시의 목적으로 제공된 것이며, 본 개시내용의 범위를 제한하려는 의도가 아님을 유의해야 한다. 당업자라면 본 개시내용의 교시 하에 다수의 변형 또는 수정이 이루어질 수 있다. 그러나, 이러한 변형 및 수정은 본 개시의 범위를 벗어나지 않는다.
이와 같이 기본 개념을 기술하였지만, 전술한 상세한 개시는 단지 예로서 제시되고 제한되지 않는다는 것이 이 상세한 개시를 읽은 후 당업자에게 다소 명백할 수 있다. 여기에 명시적으로 언급되지는 않았지만 다양한 변경, 개선 및 수정이 발생할 수 있으며 당업자에게 의도된 것이다. 이러한 변경, 개선 및 수정은 본 개시에 의해 제안되도록 의도되며, 본 개시의 예시적인 실시예의 사상 및 범위 내에 있다.
또한, 본 개시내용의 실시예를 설명하기 위해 특정 용어가 사용되었다. 예를 들어, "하나의 실시예(one embodiment)", "일 실시예(an embodiemnt)" 및/또는 "일부 실시예(some embodiment)" 등의 용어는 실시예와 관련하여 설명된 특정한 특징, 구조 또는 특성이 본 개시의 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 명세서의 다양한 부분에서 "일 실시예" 또는 "하나의 실시예" 또는 "대체 실시예(an alternative embodiment)"에 대한 둘 이상의 언급이 반드시 모두 동일한 실시예를 언급하는 것은 아니라는 것이 강조되고 이해되어야 한다. 또한, 특정 특징, 구조 또는 특징은 본 개시내용의 하나 또는 그 초과의 실시예에서 적절하게 조합될 수 있다.
또한, 당업자는 본 개시내용의 양태가 임의의 새롭고 유용한 프로세스, 기계, 제조 또는 물질의 구성 또는 그것의 새롭고 유용한 개선을 포함하는 임의의 다수의 특허 가능한 부류 또는 맥락에서 예시되고 설명될 수 있음을 이해할 것이다. 따라서, 본 개시의 양태는 전체적으로 하드웨어, 전체적으로 소프트웨어(펌웨어, 상주 소프트웨어, 마이크로코드 등 포함)로 구현되거나, 본 명세서에서 모두 일반적으로 "유닛", "" 모듈," 또는 "시스템"으로 지칭될 수 있는 소프트웨어와 하드웨어의 조합이 구현될 수 있다. 또한, 본 개시내용의 양태는 컴퓨터 판독 가능 프로그램 코드가 구현된 하나 또는 그 초과의 컴퓨터 판독 가능 매체에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
컴퓨터 판독 가능 신호 매체는 예를 들어 기저대역에서 또는 반송파의 일부로서 내부에 컴퓨터 판독 가능 프로그램 코드가 구현된 전파 데이터 신호를 포함할 수 있다. 그러한 전파된 신호는 전자기, 광학 등 또는 이들의 임의의 적절한 조합을 포함하는 다양한 형태 중 임의의 것을 취할 수 있다. 컴퓨터 판독 가능 신호 매체는 컴퓨터 판독 가능 저장 매체가 아니며 명령 실행 시스템, 장치 또는 장치에 의해 또는 이와 관련하여 사용하기 위한 프로그램을 통신, 전파 또는 전송할 수 있는 임의의 컴퓨터 판독 가능 매체일 수 있다. 컴퓨터 판독 가능 신호 매체에 구현된 프로그램 코드는 무선, 유선, 광섬유 케이블, RF 등 또는 이들의 적절한 조합을 포함하는 임의의 적절한 매체를 사용하여 전송될 수 있다.
본 개시내용의 양태에 대한 동작을 수행하기 위한 컴퓨터 프로그램 코드는 Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python 등 기존의 절차적 프로그래밍 언어(예: "C" 프로그래밍 언어, Visual Basic, Fortran 2003, Peri, COBOL 2002, PHP, ABAP, Python, Ruby 및 Groovy와 같은 동적 프로그래밍 언어 또는 기타 프로그래밍)와 같은 객체 지향 프로그래밍 언어를 포함하고, 하나 또는 그 초과의 프로그래밍 언어의 조합으로 기록될 수 있다. 프로그램 코드는 전적으로 사용자 컴퓨터에서, 부분적으로는 사용자 컴퓨터에서, 독립 실행형 소프트웨어 패키지로, 부분적으로는 사용자 컴퓨터에서, 부분적으로는 원격 컴퓨터에서, 부분적으로는 원격 컴퓨터나 서버에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 근거리 통신망(LAN) 또는 광역 네트워크(WAN)를 포함한 모든 유형의 네트워크를 통해 사용자의 컴퓨터에 연결되거나 외부 컴퓨터에 연결될 수 있다. (예를 들어, 인터넷 서비스 공급자를 사용하는 인터넷을 통해) 또는 클라우드 컴퓨팅 환경에서 또는 SaaS(Software as a Service)와 같은 서비스로 제공된다.
또한, 처리 요소 또는 시퀀스의 인용된 순서, 또는 숫자, 문자 또는 기타 지정의 사용은 청구범위에 명시될 수 있는 경우를 제외하고 청구된 프로세스 및 방법을 임의의 순서로 제한하려는 의도가 아니다. 상기 개시는 현재 개시의 다양한 유용한 실시예로 간주되는 것을 다양한 예를 통해 논의하지만, 그러한 세부 사항은 오로지 그 목적을 위한 것이며 첨부된 청구범위는 개시된 실시예에 제한되지 않는다는 것을 이해해야 하지만, 반대로 개시된 실시예의 사상 및 범위 내에 있는 수정 및 등가 배열을 포함하도록 의도된다. 예를 들어, 위에서 설명한 다양한 구성 요소의 구현이 하드웨어 장치로 구현될 수 있지만 소프트웨어 전용 솔루션, 예를 들어 기존 서버 또는 모바일 장치에 설치되어 구현될 수도 있다.
유사하게, 본 개시내용의 실시예에 대한 전술한 설명에서, 하나 또는 그 초과의 이해를 돕기 위해 개시를 간소화할 목적으로 다양한 특징이 단일 실시예, 도면 또는 그의 설명에서 함께 그룹화되는 경우가 있음을 이해해야 한다. 다양한 실시예. 그러나, 이러한 공개 방법은 청구된 요지가 각 청구항에 명시적으로 인용된 것보다 더 많은 특징을 요구한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 청구된 주제는 앞서 개시된 단일 실시예의 모든 특징보다 더 작을 수 있다.

Claims (50)

  1. 시스템으로서,
    명령 세트를 포함하는 적어도 하나의 저장 장치; 및
    상기 적어도 하나의 저장 장치와 통신하는 적어도 하나의 프로세서를 포함하고,
    상기 명령 세트를 실행할 때, 상기 적어도 하나의 프로세서는 상기 시스템이
    이동 장치의 초기 포즈를 획득하게 하고;
    상기 이동 장치와 연관된 적어도 하나의 지도에 따라 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하고;
    상기 복수의 후보 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하도록 구성되는, 시스템.
  2. 제 1 항에 있어서,
    상기 이동 장치의 초기 포즈를 획득하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템이
    상기 이동 장치에 의해 획득된 이미지의 특징 정보를 결정하고;
    상기 이미지의 특징 정보와 특징 데이터베이스에 저장되어 있는 복수의 기준 이미지의 기준 특징 정보를 매칭하여 매칭 결과를 생성하고,
    상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하도록 구성되는, 시스템.
  3. 제 2 항에 있어서,
    상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템이
    상기 이미지의 특징 정보와 상기 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 유사도를 결정하고,
    복수의 유사도로부터 유사도 임계값을 초과하는 유사도를 식별하고;
    상기 유사도 임계값을 초과하는 유사도를 갖는 기준 이미지에 대응하는 기준 포즈 또는 기준 특징 정보에 기초하여 상기 이동 장치의 초기 포즈를 결정하도록 구성되는, 시스템.
  4. 제 3 항에 있어서,
    상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템이
    모든 복수의 유사도가 유사도 임계값 이하라는 결정에 응답하여, 상기 이동 장치를 이동시켜 제 2 이미지를 얻고,
    상기 제 2 이미지의 제 2 특징 정보를 결정하고,
    상기 제 2 이미지의 제 2 특징 정보와 상기 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 제 2 유사도를 결정하고,
    상기 복수의 제 2 유사도로부터 상기 유사도 임계값을 초과하는 제 2 유사도를 식별하고;
    제 2 유사도가 상기 유사도 임계값을 초과하는 제 2 기준 이미지에 대응하는 제 2 기준 포즈 또는 제 2 기준 특징 정보에 기초하여 상기 이동 장치의 초기 포즈를 결정하도록 구성되는, 시스템.
  5. 제 3 항에 있어서,
    상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템이,
    상기 복수의 제 2 유사도 모두가 유사도 임계값 이하라는 결정에 응답하여, 상기 이동 장치의 하나 또는 그 초과의 이전 포즈 및 상기 이동 장치의 오도메트리 데이터를 기반으로 이동 장치의 초기 포즈를 결정하도록 구성되는, 시스템.
  6. 제 2 항에 있어서,
    상기 특징 데이터베이스는
    기준 지도를 획득하고,
    상기 기준 지도에 기초하여 기준 이동 장치의 복수의 기준 포즈를 얻고, 상기 복수의 기준 포즈의 2개의 인접한 기준 포즈가 기설정된 조건을 만족하고,
    상기 복수의 기준 포즈로부터 상기 기준 이동 장치에 의해 획득된 복수의 이미지를 상기 복수의 기준 이미지로서 결정하고,
    상기 복수의 기준 이미지 각각에 대해, 상기 기준 이미지의 기준 특징 정보를 추출하고 저장하여,
    발생하며,
    상기 기준 특징 정보가 기준 특징점, 상기 기준 특징점의 기준 표현, 또는 상기 기준 특징점의 기준 좌표 중 적어도 하나를 포함하는, 시스템.
  7. 제 6 항에 있어서,
    상기 기설정된 조건은 상기 인접한 두 포즈에 각각 해당하는 시점 사이의 시간 차이가 시간 임계값을 초과하거나 상기 기준 이동 장치의 2개의 인접한 포즈 사이의 차이가 차이 임계값을 초과하는 것을 포함하는, 시스템.
  8. 제 2 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 시스템이
    상기 이동 장치에 의해 획득된 상기 레이저 데이터와 상기 이동 장치와 연관된 지도의 매칭 결과를 결정하고;
    상기 매칭 결과가 기설정된 조건을 만족하는 결과에 응답하여, 상기 특징 정보와 상기 특징 데이터베이스의 해당 기준 특징 정보 사이의 최고 유사도가 유사도 임계값보다 작은지 여부를 판단하고,
    상기 유사도가 상기 유사도 임계값보다 작다는 결과에 응답하여, 기준 이미지에 대응하는 기준 특징 정보를 상기 이미지의 특징 정보로 교체하여 상기 특징 데이터베이스를 업데이트하도록 구성되는, 시스템.
  9. 제 1 항에 있어서,
    상기 적어도 하나의 지도는 상기 이동 장치와 관련된 해상도가 다른 적어도 2개의 지도를 포함하고,
    상기 이동 장치와 연관된 적어도 하나의 지도에 따라 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하기 위하여, 적어도 하나의 프로세서는 시스템이 적어도 2개의 지도상의 미리 결정된 범위 내에서 초기 포즈를 회전 또는 이동함으로써 상기 이동 장치의 복수의 후보 포즈를 결정하게 하도록 구성되는, 시스템.
  10. 제 9 항에 있어서,
    복수의 후보 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이, 분기 및 경계 알고리즘을 이용하여, 이동 장치의 복수의 후보 포즈 및 적어도 2개의 지도에 기초한 이동 장치의 목표 초기 포즈를 결정하도록 구성되는, 시스템.
  11. 제 10 항에 있어서,
    상기 분기 및 경계 알고리즘을 이용하여, 상기 적어도 2개의 지도 및 상기 이동 장치의 복수의 후보 포즈를 기반으로 상기 이동 장치의 목표 초기 포즈를 결정하기 위해, 상기 적어도 하나의 프로세서는 시스템이
    적어도 2개의 지도 각각에 대해, 지도를 다운 샘플링함으로써 하나 또는 그 초과의 수정된 지도를 결정하고;
    분기 및 경계 알고리즘을 이용하여, 적어도 2개의 지도, 적어도 지도에 대응하는 수정된 지도, 및 상기 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하도록 구성되는, 시스템.
  12. 제 10 항에 있어서,
    상기 적어도 2개의 지도는 제 1 해상도를 갖는 제 1 지도 및 제 2 해상도를 갖는 제 2 지도를 포함하고;
    상기 분기 및 경계 알고리즘을 이용하여, 적어도 2개의 지도 및 상기 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이
    제 1 해상도를 갖는 상기 제 1 지도 및 상기 이동 장치의 초기 포즈에 기초하여, 상기 이동 장치의 복수의 후보 포즈 중에서 상기 이동 장치의 복수의 제 1 후보 포즈를 결정하고;
    상기 분기 및 경계 알고리즘을 이용하여, 상기 복수의 제 1 후보 포즈에 기초하여 상기 이동 장치의 제 1 목표 초기 포즈를 결정하고;
    제 2 해상도를 갖는 제 2 지도 및 상기 이동 장치의 제 1 목표 초기 포즈에 기초하여, 상기 이동 장치의 복수의 후보 포즈 중에서 상기 이동 장치의 복수의 제 2 후보 포즈를 결정하고;
    분기 및 경계 알고리즘을 이용하여, 상기 이동 장치의 복수의 제 2 후보 포즈에 기초하여 상기 이동 장치의 제 2 목표 초기 포즈를 결정하고;
    상기 이동 장치의 제 2 목표 초기 포즈를 상기 이동 장치의 목표 초기 포즈로 지정하도록 구성되는, 시스템.
  13. 시스템으로서,
    명령 세트를 포함하는 적어도 하나의 저장 장치; 및
    상기 적어도 하나의 저장 장치와 통신하는 적어도 하나의 프로세서를 포함하며,
    상기 명령 세트를 실행할 때, 상기 적어도 하나의 프로세서는 상기 시스템이
    이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터를 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하고;
    상기 이동 장치와 관련된 적어도 하나의 로컬 지도를 획득하고;
    적어도 하나의 로컬 지도 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 제 2 포즈를 결정하고;
    포즈 조정 알고리즘을 이용하여 상기 제 1 포즈 및 상기 제 2 포즈에 기초하여 상기 이동 장치의 목표 포즈를 결정하도록 구성되는, 시스템.
  14. 제 13 항에 있어서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이
    현재 시점에 대응하는 오도메트리 데이터와 현재 시점에 인접한 이전 시점에 대응하는 이전 오도메트리 데이터 사이의 제 1 차이가 제 1 차이 임계값을 초과하거나, 현재 시점과 이전 시점 사이의 제 2 차이가 제 2 차이 임계값을 초과하고, 상기 제 1 차이가 제 1 차이 임계값 이하이고
    상기 제 2 차이가 제 2 차이 임계값이하라는 결정에 응답하여, 상기 이동 장치에 의해 획득된 상기 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 포즈를 결정하도록 구성되는. 시스템.
  15. 제 14 항에 있어서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이
    제 1 차이가 제 1 차이 임계값을 초과하는지 또는 제 2 차이가 제 2 차이 임계값을 초과하는지에 대한 결정에 응답하여, 상기 이동 장치에 의해 획득된 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 후보 포즈를 결정하고;
    상기 이동 장치가 위치한 영역의 장기간 특징에 대응하는, 레이저 데이터의 일부 및 상기 이동 장치와 연관된 글로벌 지도에 기초하여 상기 이동 장치의 제 2 후보 포즈를 결정하고;
    상기 제 1 후보 포즈 및 상기 제 2 후보 포즈에 기초하여 상기 이동 장치의 제 1 포즈를 결정하도록 구성되는, 시스템.
  16. 제 13 항에 있어서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이
    적어도 하나의 마커가 레이저 데이터에 기초하여 검출되고;
    상기 레이저 데이터에 기초하여 상기 적어도 하나의 마커가 검출된 결정에 응답하여, 상기 검출된 적어도 하나의 마커와 관련된 미리 결정된 기준 정보에 기초하여 상기 이동 장치의 제 1 포즈를 결정하도록 구성되는, 시스템.
  17. 제 13 항에 있어서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 적어도 하나의 프로세서는 시스템이
    레이저 데이터와 상기 이동 장치와 관련된 글로벌 지도의 매칭 결과가 기설정된 조건을 만족하고;
    상기 매칭 결과가 기설정된 조건을 만족한다는 결정에 응답하여, 상기 이동 장치와 관련된 레이저 데이터 및 글로벌 지도에 기초하여 상기 이동 장치의 제 1 포즈를 결정하도록 구성되는, 시스템.
  18. 제 13 항에 있어서,
    상기 적어도 하나의 로컬 지도 각각은 복수의 그리드 및 상기 복수의 그리드 각각에 대응하는 복수의 점유율을 포함하는, 시스템.
  19. 제 18 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 시스템이
    상기 이동 장치의 상기 제 1 포즈 및 상기 이동 장치에 의해 획득된 상기 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치와 연관된 상기 적어도 하나의 로컬 지도를 업데이트하고,
    적어도 하나의 로컬 지도 각각에 대해, 상기 이동 장치의 제 1 포즈에 기초하여 상기 로컬 지도상에 상기 레이저 데이터를 투사하고;
    상기 투사된 레이저 데이터에 기초하여 복수의 그리드에 대응하는 복수의 점유율을 업데이트함으로써 로컬 지도를 업데이트하도록 추가로 구성되는, 시스템.
  20. 제 13 항에 있어서,
    상기 적어도 하나의 로컬 지도는 상기 레이저 데이터에 대응하는 현재 시점으로부터 미리 정해진 범위 내의 이전 시점에서 상기 이동 장치에 의해 획득된 이전 레이저 데이터에 기초하여 구성되거나 업데이트되고;
    상기 적어도 하나의 로컬 지도는 이전 레이저 데이터와 상기 이동 장치와 관련된 글로벌 지도 사이의 매칭 결과에 따라 동적으로 구성되거나 업데이트되는, 시스템.
  21. 제 13 항에 있어서,
    상기 적어도 하나의 로컬 지도는 미리 정해진 시간 간격, 상기 적어도 하나의 로컬 지도에 포함된 데이터 프레임의 카운트, 또는 상기 이동 장치와 관련된 적어도 하나의 로컬 지도 및 글로벌 지도에 기초하여 결정된 이동 장치의 포즈 사이의 매칭 결과 중 적어도 하나에 따라 동적으로 구성되거나 해제되는, 시스템.
  22. 제 13 항에 있어서,
    상기 적어도 하나의 로컬 지도는 제 1 로컬 지도, 제 2 로컬 지도, 및 제 3 로컬 지도를 포함하고;
    상기 제 1 로컬 지도의 데이터 프레임의 카운트가 제 1 사전 결정된 카운트에 도달할 때 상기 제 2 로컬 지도가 구성되며;
    상기 제 3 로컬 지도는 상기 제 2 로컬 지도의 데이터 프레임의 카운트가 제 1 미리 결정된 카운트에 도달할 때 구성되며;
    상기 제 1 로컬 지도의 데이터 프레임의 카운트가 소정의 제 2 카운트에 도달하거나 상기 제 2 로컬 지도에 기초하여 결정된 상기 이동 장치의 포즈와 상기 이동 장치와 관련된 글로벌 지도 사이의 매칭 결과가 기설정된 조건을 만족할 때 상기 제 1 로컬 지도가 해제되는, 시스템.
  23. 제 13 항에 있어서,
    상기 포즈 조정 알고리즘은 희귀 포즈 조정(SPA) 알고리즘을 포함하는, 시스템.
  24. 제 13 항에 있어서,
    상기 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 포즈를 결정하기 위해, 상기 적어도 하나의 프로세서는 시스템이
    상기 이동 장치의 목표 초기 포즈를 획득하고;
    상기 이동 장치의 목표 초기 포즈 및 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 기초하여 이동 장치의 제 1 포즈를 결정하고,
    상기 이동 장치의 목표 초기 포즈는
    상기 이동 장치의 초기 포즈를 획득함으로써 결정되도록 구성되고,
    상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하고; 및
    상기 복수의 후보 포즈 및 상기 제 2 시점에서 상기 이동 장치가 획득한 레이저 데이터에 기초하여 상기 제 2 시점에서의 상기 이동 장치의 포즈를 결정함으로써 결정되는, 시스템.
  25. 적어도 하나의 프로세서, 적어도 하나의 저장 매체, 및 네트워크로 연결된 통신 플랫폼을 포함하는 컴퓨팅 장치에서 구현되는 방법으로서,
    이동 장치의 초기 포즈를 획득하는 단계;
    상기 이동 장치와 관련된 적어도 하나의 지도에 따라 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계; 및
    상기 복수의 후보 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계를 포함하는, 방법.
  26. 제 25 항에 있어서,
    상기 이동 장치의 초기 포즈를 획득하는 단계는
    상기 이동 장치가 획득한 이미지의 특징 정보를 결정하는 단계;
    상기 이미지의 특징 정보와 복수의 기준 이미지의 기준 특징 정보를 매칭하여 매칭 결과를 생성하는 단계로서, 상기 기준 특징 정보가 특징 데이터베이스에 저장되는, 단계; 및
    상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하는 단계를 포함하는, 방법.
  27. 제 26 항에 있어서,
    상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하는 단계는,
    상기 이미지의 특징 정보와 상기 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 유사도를 결정하는 단계;
    복수의 유사도로부터 유사도 임계값을 초과하는 유사도를 식별하는 단계; 및
    상기 유사도 임계값을 초과하는 유사도를 갖는 기준 이미지에 대응하는 기준 포즈 또는 기준 특징 정보에 기초하여 상기 이동 장치의 초기 포즈를 결정하는 단계를 포함하는, 방법.
  28. 제 27 항에 있어서,
    상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하는 단계는,상기 복수의 유사도가 모두 상기 유사도 임계값 이하인 결정에 응답하여, 상기 이동 장치를 이동시킴으로써 제 2 이미지를 획득하는 단계;
    상기 제 2 이미지의 제 2 특징 정보를 결정하는 단계;
    상기 제 2 이미지의 제 2 특징 정보와 상기 복수의 기준 이미지의 기준 특징 정보 사이의 복수의 제 2 유사도를 결정하는 단계;
    복수의 제 2 유사도로부터 상기 유사도 임계값을 초과하는 제 2 유사도를 식별하는 단계; 및
    상기 제 2 유사도가 상기 유사도 임계값을 초과하는 제 2 기준 이미지에 대응하는 제 2 기준 포즈 또는 제 2 기준 특징 정보에 기초하여 상기 이동 장치의 초기 포즈를 결정하는 단계를 포함하는, 방법.
  29. 제 27 항에 있어서,
    상기 매칭 결과에 기초하여 상기 이동 장치의 초기 포즈를 획득하는 단계는,
    상기 복수의 제 2 유사도 모두가 상기 유사도 임계값 이하인 결정에 응답하여, 상기 이동 장치의 하나 또는 그 초과의 이전 포즈 및 상기 이동 장치의 오도메트리 데이터에 기초하여 상기 이동 장치의 초기 포즈를 결정하는 단계를 포함하는, 방법.
  30. 제 26 항에 있어서,
    상기 특징 데이터베이스는
    참조 지도를 획득하는 단계;
    상기 기준 지도에 기초하여 기준 이동 장치의 복수의 기준 포즈를 획득하는 단계로서, 상기 복수의 기준 포즈 중 2개의 인접한 기준 포즈가 기설정된 조건을 만족하는, 단계;
    상기 복수의 기준 포즈로부터의 상기 기준 이동 장치에 의해 획득된 복수의 이미지를 복수의 기준 이미지로서 결정하는 단계; 및
    복수의 기준 이미지 각각에 대해, 상기 기준 이미지의 기준 특징 정보를 추출 및 저장하는 단계로서, 상기 기준 특징 정보는 적어도 하나의 기준 특징점, 사기 기준 특징점의 기준 표현, 또는 상기 기준 특징점의 기준 좌표 중 적어도 하나를 포함하는, 단계에 의해 생성되는, 방법.
  31. 제 30 항에 있어서,
    상기 기설정된 조건은 상기 인접한 2개의 포즈 각각에 대응하는 시점 간의 시간차가 시간 임계값을 초과하거나 상기 기준 이동 장치의 인접한 2개의 포즈 간의 차이가 차이 임계값을 초과하는 것을 포함하는, 방법.
  32. 제 26 항에 있어서,
    상기 이동 장치에 의해 획득된 레이저 데이터와 상기 이동 장치와 관련된 지도의 매칭 결과를 결정하는 단계;
    상기 매칭 결과가 기설정된 조건을 만족하는 결과에 응답하여, 상기 특징 정보와 상기 특징 데이터베이스의 해당 기준 특징 정보 간의 최고 유사도가 유사도 임계값보다 작은지 여부를 판단하는 단계; 및
    상기 유사도가 상기 유사도 임계값보다 작다는 결정에 응답하여, 상기 기준 이미지에 대응되는 기준 특징 정보를 상기 이미지의 특징 정보로 대체하여 상기 특징 데이터베이스를 업데이트하는 단계를 더 포함하는, 방법.
  33. 제 25 항에 있어서,
    상기 적어도 하나의 지도는 상기 이동 장치와 관련된 해상도가 다른 적어도 2개의 지도를 포함하고,
    상기 이동 장치와 연관된 적어도 하나의 지도에 따른 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계는 적어도 2개의 지도상에서 미리 결정된 범위 내에서 초기 포즈를 회전 또는 이동함으로써 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계를 포함하는, 방법.
  34. 제 33 항에 있어서,
    상기 복수의 후보 포즈 및 상기 이동 장치가 획득한 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계는, 분기 및 경계 알고리즘을 이용하여, 상기 적어도 2개의 지도과 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계를 포함하는, 방법.
  35. 제 34 항에 있어서,
    분기 및 경계 알고리즘을 이용하여, 적어도 2개의 지도 및 상기 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계는,
    적어도 두 개의 지도 각각에 대해, 상기 지도를 다운 샘플링하여 하나 또는 그 초과의 수정된 지도를 결정하는 단계; 및
    상기 분기 및 경계 알고리즘을 이용하여, 상기 적어도 2개의 지도, 상기 적어도 지도에 대응하는 수정된 지도, 및 상기 이동 장치의 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계를 포함하는, 방법.
  36. 제 34 항에 있어서,
    상기 적어도 2개의 지도는 제 1 해상도를 갖는 제 1 지도 및 제 2 해상도를 갖는 제 2 지도를 포함하고;
    상기 분기 및 경계 알고리즘을 이용하여, 상기 이동 장치의 적어도 2개의 지도 및 복수의 후보 포즈에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계는
    제 1 해상도를 갖는 제 1 지도 및 상기 이동 장치의 초기 포즈에 기초하여, 상기 이동 장치의 복수의 후보 포즈 중 이동 장치의 복수의 제 1 후보 포즈를 결정하는 단계;
    상기 분기 및 경계 알고리즘을 이용하여, 복수의 제 1 후보 포즈에 기초하여 상기 이동 장치의 제 1 목표 초기 포즈를 결정하는 단계;
    상기 제 2 해상도의 제 2 지도 및 상기 이동 장치의 제 1 목표 초기 포즈에 기초하여, 상기 이동 장치의 복수의 후보 포즈 중에서 상기 이동 장치의 복수의 제 2 후보 포즈를 결정하는 단계;
    상기 분기 및 경계 알고리즘을 이용하여, 상기 이동 장치의 복수의 제 2 후보 포즈에 기초하여 상기 이동 장치의 제 2 목표 초기 포즈를 결정하는 단계; 및
    상기 이동 장치의 상기 제 2 목표 초기 포즈를 상기 이동 장치의 목표 초기 포즈로 지정하는 단계를 포함하는, 방법.
  37. 적어도 하나의 프로세서, 적어도 하나의 저장 매체, 및 네트워크에 연결된 통신 플랫폼을 포함하는 컴퓨팅 장치에서 구현되는 방법으로서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 이동 장치의 제 1 포즈를 결정하는 단계,
    상기 이동 장치와 관련된 적어도 하나의 로컬 지도를 획득하는 단계;
    적어도 하나의 로컬 지도 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 제 2 포즈를 결정하는 단계; 및
    포즈 조정 알고리즘을 이용하여 상기 제 1 포즈 및 상기 제 2 포즈에 기초하여 상기 이동 장치의 목표 포즈를 결정하는 단계를 포함하는, 방법.
  38. 제 37 항에 있어서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계는,
    현재 시점에 대응하는 오도메트리 데이터와 현재 시점에 인접한 이전 시점에 대응하는 이전 오드메트리 데이터가 제 1 차이 임계값을 초과하거나 상기 현재 시점과 상기 이전 시점 사이의 제 2 차이가 제 2 차이 임계값을 초과하는지를 결정하는 단계, 및
    제 1 차이가 제 1 차이 임계값 이하이고 제 2 차이가 제 2 차이 임계값 이하인 결정에 응답하여, 상기 이동 장치에 의해 획득된 상기 오도메트리 데이터를 기초로 한 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함하는, 방법.
  39. 제 38 항에 있어서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 이동 장치의 제 1 포즈를 결정하는 단계는,
    제 1 차이가 제 1 차이 임계값을 초과하거나 제 2 차이가 제 2 차이 임계값을 초과한다는 결정에 응답하여, 상기 이동 장치에 의해 획득된 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 후보 포즈를 결정하는 단계;
    레이저 데이터의 일부 및 이동 장치와 연관된 글로벌 지도에 기초하여 상기 이동 장치의 제 2 후보 포즈를 결정하는 단계로서, 상기 레이저 데이터의 일부는 상기 이동 장치가 위치한 영역의 장기간 특징에 대응하는, 단계; 및
    상기 제 1 후보 포즈 및 상기 제 2 후보 포즈에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함하는, 방법.
  40. 제 37 항에 있어서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계는
    상기 레이저 데이터에 기초하여 적어도 하나의 마커가 검출되는지 여부를 결정하는 단계; 및
    상기 레이저 데이터에 기초하여 적어도 하나의 마커가 검출된 것으로 판단되면, 상기 검출된 적어도 하나의 마커와 관련된 소정의 기준 정보에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함하는, 방법.
  41. 제 37 항에 있어서,
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계는,
    상기 이동 장치와 관련된 레이저 디스크와 글러벌 맵의 매칭 결과가 기설정된 조건을 만족하는지를 결정하는 단계; 및
    상기 매칭 결과가 상기 기설정된 조건을 만족하는지의 결과에 응답하여, 상기 이동 장치와 관련된 레이저 데이터와 글로벌 지도에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함하는, 방법.
  42. 제 37 항에 있어서,
    상기 적어도 하나의 로컬 지도 각각은 복수의 그리드 및 상기 복수의 그리드 각각에 대응하는 복수의 점유율을 포함하는, 방법.
  43. 제 42 항에 있어서,
    상기 적어도 하나의 로컬 지도 각각에 대해, 상기 이동 장치의 제 1 포즈에 기초하여 레이저 데이터를 로컬 지도상에 투사하는 단계, 및
    상기 투사된 레이저 데이터에 기초하여 상기 복수의 그리드에 대응하는 복수의 점유율을 업데이트함으로써 상기 로컬 지도를 업데이트하는 단계에 의해,
    상기 이동 장치의 제 1 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치와 연관된 적어도 하나의 로컬 지도를 업데이트하는 단계를 더 포함하는, 방법.
  44. 제 37 항에 있어서,
    상기 적어도 하나의 로컬 지도는 상기 레이저 데이터에 대응하는 현재 시점으로부터 미리 정해진 범위 내의 이전 시점에서 상기 이동 장치에 의해 획득된 이전 레이저 데이터에 기초하여 구성 또는 업데이트되고;
    적어도 하나의 로컬 지도는 상기 이동 장치와 관련된 이전 레이저 데이터와 글로벌 지도 사이의 매칭 결과에 따라 동적으로 구성되거나 업데이트되는, 방법.
  45. 제 37 항에 있어서,
    상기 적어도 하나의 로컬 지도는
    미리 정해진 시간 간격,
    상기 적어도 하나의 로컬 지도에 포함된 데이터 프레임의 카운트, 또는
    상기 이동 장치와 관련된 적어도 하나의 로컬 지도 및 글로벌 지도에 기초하여 결정된 이동 장치의 포즈 사이의 매칭 결과 중
    적어도 하나에 따라 동적으로 구성 또는 해제되는, 방법.
  46. 제 37 항에 있어서,
    상기 적어도 하나의 로컬 지도는 제 1 로컬 지도, 제 2 로컬 지도, 및 제 3 로컬 지도를 포함하고;
    상기 제 1 로컬 지도의 데이터 프레임의 카운트가 제 1 사전 결정된 카운트에 도달할 때 상기 제 2 로컬 지도가 구성되며;
    상기 제 3 로컬 지도는 상기 제 2 로컬 지도의 데이터 프레임의 카운트가 제 1 미리 결정된 카운트에 도달할 때 구성되며;
    상기 제 1 로컬 지도의 데이터 프레임의 카운트가 소정의 제 2 카운트에 도달하거나 상기 제 2 로컬 지도에 기초하여 결정된 상기 이동 장치의 포즈와 상기 이동 장치와 관련된 글로벌 지도 사이의 매칭 결과가 기설정된 조건을 만족할 때 상기 제 1 로컬 지도가 해제되는, 방법.
  47. 제 37 항에 있어서,
    상기 포즈 조정 알고리즘은 희귀 포즈 조정(SPA) 알고리즘을 포함하는, 방법.
  48. 제 37 항에 있어서,
    상기 오도메트리 데이터에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계는,
    상기 이동 장치의 목표 초기 포즈를 획득하는 단계; 및
    상기 이동 장치의 목표 초기 포즈 및 상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계를 포함하고,
    상기 이동 장치의 목표 초기 포즈는
    상기 이동 장치의 초기 포즈를 획득하는 단계;
    상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계; 및
    상기 복수의 후보 포즈 및 상기 제 2 시점에서 상기 이동 장치가 획득한 레이저 데이터에 기초하여 상기 제 2 시점에서의 상기 이동 장치의 포즈를 결정하는 단계에 의해 결정되는, 방법.
  49. 비일시적 컴퓨터 판독 가능 매체로서, 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서가 방법을 수행하도록 지시하는 실행 가능한 명령을 포함하는, 비일시적 컴퓨터 판독 가능 매체로서,
    상기 방법은;
    이동 장치의 초기 포즈를 획득하는 단계;
    상기 이동 장치와 관련된 적어도 하나의 지도에 따라 상기 이동 장치의 초기 포즈에 기초하여 상기 이동 장치의 복수의 후보 포즈를 결정하는 단계; 및
    상기 복수의 후보 포즈 및 상기 이동 장치에 의해 획득된 레이저 데이터에 기초하여 상기 이동 장치의 목표 초기 포즈를 결정하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  50. 비일시적 컴퓨터 판독 가능 매체로서, 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서가 방법을 수행하도록 지시하는 실행 가능한 명령를 포함하는, 비일시적 컴퓨터 판독 가능 매체로서,
    상기 방법은:
    상기 이동 장치에 의해 획득된 오도메트리 데이터 또는 레이저 데이터에 적어도 부분적으로 기초하여 상기 이동 장치의 제 1 포즈를 결정하는 단계,
    상기 이동 장치와 관련된 적어도 하나의 로컬 지도를 획득하는 단계;
    상기 이동 장치에 의해 획득된 적어도 하나의 로컬 지도와 레이저 데이터에 기초하여 상기 이동 장치의 제 2 포즈를 결정하는 단계; 및
    포즈 조정 알고리즘을 이용하여 상기 제 1 포즈 및 상기 제 2 포즈에 기초하여 상기 이동 장치의 목표 포즈를 결정하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
KR1020237003646A 2020-07-09 2020-12-30 포즈 결정을 위한 시스템 및 방법 KR20230029981A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN202010655087.1A CN111536964B (zh) 2020-07-09 2020-07-09 机器人定位方法及装置、存储介质
CN202010655087.1 2020-07-09
CN202010963179.6A CN112179330B (zh) 2020-09-14 2020-09-14 移动设备的位姿确定方法及装置
CN202010963179.6 2020-09-14
PCT/CN2020/141652 WO2022007367A1 (en) 2020-07-09 2020-12-30 Systems and methods for pose determination

Publications (1)

Publication Number Publication Date
KR20230029981A true KR20230029981A (ko) 2023-03-03

Family

ID=79552251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237003646A KR20230029981A (ko) 2020-07-09 2020-12-30 포즈 결정을 위한 시스템 및 방법

Country Status (3)

Country Link
EP (1) EP4153940A4 (ko)
KR (1) KR20230029981A (ko)
WO (1) WO2022007367A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114523477B (zh) * 2022-03-30 2023-06-27 伯朗特机器人股份有限公司 关节位姿的校准方法、系统及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180374237A1 (en) * 2017-06-23 2018-12-27 Canon Kabushiki Kaisha Method, system and apparatus for determining a pose for an object
CN108458715B (zh) * 2018-01-18 2020-05-15 亿嘉和科技股份有限公司 一种基于激光地图的机器人定位初始化方法
CN108717710B (zh) * 2018-05-18 2022-04-22 京东方科技集团股份有限公司 室内环境下的定位方法、装置及系统
CN109141437B (zh) * 2018-09-30 2021-11-26 中国科学院合肥物质科学研究院 一种机器人全局重定位方法
CN110736456B (zh) * 2019-08-26 2023-05-05 广东亿嘉和科技有限公司 稀疏环境下基于特征提取的二维激光实时定位方法
CN111060135B (zh) * 2019-12-10 2021-12-17 亿嘉和科技股份有限公司 一种基于局部地图的地图修正方法及系统
CN111536964B (zh) * 2020-07-09 2020-11-06 浙江大华技术股份有限公司 机器人定位方法及装置、存储介质

Also Published As

Publication number Publication date
EP4153940A4 (en) 2024-01-17
WO2022007367A1 (en) 2022-01-13
EP4153940A1 (en) 2023-03-29

Similar Documents

Publication Publication Date Title
US10991156B2 (en) Multi-modal data fusion for enhanced 3D perception for platforms
JP5881743B2 (ja) 奥行きマップを使用したモバイルカメラの自己位置推定
Millane et al. C-blox: A scalable and consistent TSDF-based dense mapping approach
JP5987823B2 (ja) 画像センサおよび運動または位置センサから生じたデータを融合するための方法およびシステム
KR102347239B1 (ko) 라이다와 카메라를 이용하여 이미지 특징점의 깊이 정보를 향상시키는 방법 및 시스템
KR20220053513A (ko) 이미지 데이터 자동 라벨링 방법 및 장치
WO2017155970A1 (en) Laser scanner with real-time, online ego-motion estimation
CN112179330A (zh) 移动设备的位姿确定方法及装置
KR102526542B1 (ko) 지오아크를 이용한 2차원 운송수단 국소화
CN113674416B (zh) 三维地图的构建方法、装置、电子设备及存储介质
JP7131994B2 (ja) 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム
CN111680747B (zh) 用于占据栅格子图的闭环检测的方法和装置
CN112740268A (zh) 目标检测方法和装置
KR102387679B1 (ko) 지오아크를 이용한 3차원 운송수단 국소화
Tomažič et al. Fusion of visual odometry and inertial navigation system on a smartphone
CN110989619B (zh) 用于定位对象的方法、装置、设备和存储介质
CN113822996B (zh) 机器人的位姿估计方法及装置、电子设备、存储介质
KR20210015516A (ko) 라이다와 카메라를 이용하여 이미지 특징점의 깊이 정보를 향상시키는 방법 및 시스템
Wang et al. 3D-LIDAR based branch estimation and intersection location for autonomous vehicles
KR20230029981A (ko) 포즈 결정을 위한 시스템 및 방법
JP5953393B2 (ja) ロボットシステム及び地図更新方法
KR102506411B1 (ko) 차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체
CN112904365B (zh) 地图的更新方法及装置
CN113034538B (zh) 一种视觉惯导设备的位姿跟踪方法、装置及视觉惯导设备
Oelsch et al. Init-loam: Lidar-based localization and mapping with a static self-generated initial map