KR20200124263A - 광학 타겟 기반 실내 차량 내비게이션을 위한 시스템 및 방법 - Google Patents

광학 타겟 기반 실내 차량 내비게이션을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20200124263A
KR20200124263A KR1020207027377A KR20207027377A KR20200124263A KR 20200124263 A KR20200124263 A KR 20200124263A KR 1020207027377 A KR1020207027377 A KR 1020207027377A KR 20207027377 A KR20207027377 A KR 20207027377A KR 20200124263 A KR20200124263 A KR 20200124263A
Authority
KR
South Korea
Prior art keywords
vehicle
material handling
target
optical target
camera
Prior art date
Application number
KR1020207027377A
Other languages
English (en)
Inventor
랄프 헤어슬러
스튜어트 파크
마크 벨
Original Assignee
크라운 이큅먼트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 크라운 이큅먼트 코포레이션 filed Critical 크라운 이큅먼트 코포레이션
Publication of KR20200124263A publication Critical patent/KR20200124263A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C15/00Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
    • G01C15/02Means for marking measuring points
    • G01C15/04Permanent marks; Boundary markers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • G06K9/00664
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G05D2201/0216
    • 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/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Navigation (AREA)
  • Warehouses Or Storage Devices (AREA)

Abstract

표면을 따라 자재 취급 차량의 내비게이션을 탐색하거나 추적하는 차량들, 시스템들, 및 방법들로서, 자재 취급 차량은 카메라, 오버헤드 피쳐들의 입력 이미지와 연관된 카메라 데이터로부터의 2 차원 이미지 정보를 물류창고 맵의 복수의 글로벌 타겟 위치들과 매칭하여 복수의 후보 광학 타겟들, 각각의 글로벌 타겟 위치과 연관된 광학 타겟 및 코드를 생성하고; 후보 광학 타겟을 결정하기 위해 상기 타겟들을 필터링하고; 연관된 코드를 식별하기 위해 상기 타겟을 디코딩하고; 식별된 코드와 연관된 광학 타겟을 식별하고; 물류창고 맵에서의 식별된 광학 타겟의 포지션과 방향 및 식별된 광학 타겟에 대한 카메라 메트릭을 결정하고; 카메라 메트릭에 기초하여 차량 포즈를 계산하고; 차량 포즈를 이용하여 자재 취급 차량의 길을 탐색하는 차량 기능들을 포함할 수 있다.

Description

광학 타겟 기반 실내 차량 내비게이션을 위한 시스템 및 방법
관련 출원들의 상호 참조
본 명세서는 "광학 타겟 기반 실내 차량 내비게이션을 위한 시스템 및 방법" 이라는 제목으로 2018년 2월 23일에 출원된 미국 가특허 출원번호 62/634,219의 우선권을 주장하고 그 전체가 본 명세서에 참조로 포함된다.
본 명세서는 일반적으로 오버헤드 피쳐(overhead features)를 기반으로 산업용 차량(industrial vehicles)에 대한 글로벌 로컬라이제이션(global localization)을 제공하기 위한 시스템 및 방법에 관한 것으로, 보다 구체적으로는 위치가 알려지거나 알려지지 않은 산업용 차량의 위치를 추적하기 위해 물류창고(warehouse)에서 오버헤드 광학 타겟을 분석하도록 글로벌 로컬라이제이션을 활용하는 시스템 및 방법에 관한 것이다.
산업 환경에서 물품을 이동시키기 위해 작업자는 예를 들면 지게차, 수동 및 모터 구동 팔레트 트럭 및/또는 기타 자재 취급 차량을 포함하는 산업용 차량을 종종 활용한다. 산업용 차량은 그 환경을 통해 길을 탐색하는(navigate) 자동 안내 차량 또는 수동 안내 차량으로 구성될 수 있다. 자동화된 안내, 내비게이션 또는 둘 다를 용이하게 하기 위해 산업용 차량은 그 환경 내에서 로컬라이제이션에 맞게 적응될 수 있다. 즉, 산업용 차량은 예를 들어 산업용 차량의 포즈(pose)와 포지션(position)과 같이 그 환경 내에서 산업용 차량의 위치를 결정하기 위한 센서 및 프로세서를 사용하여 적응될 수 있다.
본 발명은 위치가 알려지거나 알려지지 않은 산업용 차량의 위치를 추적하기 위해 물류창고에서 오버헤드 광학 타겟을 분석하도록 글로벌 로컬라이제이션을 활용하는 개선된 시스템 및 방법을 제공한다.
일 실시 예에서, 자재 취급 차량은 카메라, 차량용 프로세서, 재고 운송 표면을 따라 자재 취급 차량을 이동시키도록 구성된 구동 메커니즘, 물류창고의 보관 구역에 제품을 보관하고(store) 찾아오도록(retrieve) 구성된 자재 취급 메커니즘, 및 상기 구동 및 자재 취급 메커니즘들과 통신하는 차량 제어 아키텍처를 포함할 수 있다. 상기 카메라는 차량용 프로세서에 통신 가능하게 결합될 수 있으며 오버헤드 피쳐들의 입력 이미지를 캡처한다. 자재 취급 차량의 차량용 프로세서는 차량 기능들을 실행하여, (i) 상기 카메라로부터 카메라 데이터의 초기 세트를 검색하고-상기 카메라 데이터의 초기 세트는 오버헤드 피쳐들의 입력 이미지와 관련된 2 차원 이미지 정보를 포함함-, (ii) 상기 카메라 데이터의 초기 세트로부터의 2 차원 이미지 정보를 물류창고 맵(warehouse map)의 복수의 글로벌 타겟 위치들과 매칭하여 복수의 후보 광학 타겟들을 생성한다. 상기 물류창고 맵의 글로벌 타겟 위치들은 상기 오버헤드 피쳐들의 매핑과 연관될 수 있으며, 상기 물류창고 맵은 각 글로벌 타겟 위치와 연관된 광학 타겟의 포지션 및 방향을 저장하도록 구성될 수 있으며, 각 광학 타겟은 하나의 코드(a code)와 연관될 수 있다. 상기 차량 기능들은 또한 (iii) 후보 광학 타겟을 결정하기 위해 상기 복수의 후보 광학 타겟들을 필터링하고, (iv) 상기 후보 광학 타겟과 연관된 코드를 식별하기 위해 상기 후보 광학 타겟을 디코딩하고, (v) 상기 식별된 코드와 연관된 광학 타겟을 식별하고, (vi) 상기 물류창고 맵에서의 상기 식별된 광학 타겟의 포지션과 방향 및 상기 식별된 광학 타겟에 대한 상기 카메라의 거리 및 각도의 표현들을 포함하는 카메라 메트릭(camera metric)을 결정하고, (vii) 상기 카메라 메트릭에 기초하여 차량 포즈를 계산하고, (viii) 상기 차량 포즈를 이용하여 상기 자재 취급 차량의 길을 탐색하는(navigate) 것일 수 있다.
다른 실시 예에서, 자재 취급 차량은 카메라, 차량용 프로세서, 재고 운송 표면을 따라 자재 취급 차량을 이동시키도록 구성된 구동 메커니즘, 물류창고의 보관 구역에 제품을 보관하고 찾아오도록 구성된 자재 취급 메커니즘, 및 상기 구동 및 자재 취급 메커니즘들과 통신하는 차량 제어 아키텍처를 포함할 수 있다. 상기 카메라는 차량용 프로세서에 통신 가능하게 결합될 수 있으며 오버헤드 피쳐의 입력 이미지를 캡처한다. 자재 취급 차량의 차량용 프로세서는 차량 기능들을 실행하여, (i) 상기 카메라로부터 카메라 데이터의 초기 세트를 검색하고-상기 카메라 데이터의 초기 세트는 오버헤드 피쳐들의 입력 이미지와 관련된 2 차원 이미지 정보를 포함함-, (ii) 상기 카메라 데이터의 초기 세트로부터의 2 차원 이미지 정보를 물류창고 맵(warehouse map)의 복수의 글로벌 타겟 위치들과 매칭하여 복수의 후보 광학 타겟들을 생성한다. 상기 물류창고 맵의 글로벌 타겟 위치들은 상기 오버헤드 피쳐들의 매핑과 연관될 수 있으며, 상기 물류창고 맵은 각 글로벌 타겟 위치와 연관된 광학 타겟의 포지션 및 방향을 저장하도록 구성될 수 있으며, 각 광학 타겟은 하나의 코드(a code)와 연관될 수 있다. 각 광학 타겟은 상기 오버헤드 피쳐들 중 하나의 오버헤드 피쳐로서 천장에 부착하도록 구성된 바(bar)에 장착된 복수의 포인트 광원들(point light sources)을 포함할 수 있으며, 상기 복수의 포인트 광원들은 각 광학 타겟 각각에 대한 코드로서 광 패턴을 포함한다. 상기 차량 기능들은 또한 (iii) 후보 광학 타겟을 결정하기 위해 상기 복수의 후보 광학 타겟들을 필터링하고, (iv) 상기 후보 광학 타겟과 연관된 코드를 식별하기 위해 상기 후보 광학 타겟을 디코딩하고, (v) 상기 식별된 코드와 연관된 광학 타겟을 식별하고, (vi) 상기 물류창고 맵에서의 상기 식별된 광학 타겟의 포지션과 방향 및 상기 식별된 광학 타겟에 대한 상기 카메라의 거리 및 각도의 표현들을 포함하는 카메라 메트릭을 결정하고, (vii) 상기 카메라 메트릭에 기초하여 차량 포즈를 계산하고, (viii) 상기 재고 운송 표면을 따라 상기 자재 취급 차량의 내비게이션을 추적하거나, 적어도 부분적으로 자동화된 방식으로 상기 재고 운송 표면을 따라 상기 자재 취급 차량의 길을 탐색하거나, 또는 둘 모두에서 상기 차량 포즈를 이용하는 것일 수 있다.
또 다른 실시 예에서, 재고 운송 표면을 따라 자재 취급 차량의 내비게이션을 탐색(navigate)하거나 추적하는 방법은 물류창고의 재고 운송 표면에 자재 취급 차량을 배치하는 단계를 포함할 수 있으며, 여기서 상기 자재 취급 차량은 카메라, 차량용 프로세서, 재고 운송 표면을 따라 상기 자재 취급 차량을 이동시키도록 구성된 구동 메커니즘, 물류창고의 보관 구역에 제품을 보관하고 찾아오도록 구성된 자재 취급 메커니즘, 및 상기 구동 및 자재 취급 메커니즘들과 통신하는 차량 제어 아키텍처를 포함할 수 있다. 상기 방법은 상기 재고 운송 표면을 따라 상기 자재 취급 차량을 이동시키기 위해 상기 구동 메커니즘을 이용하는 단계, 상기 자재 취급 차량이 상기 재고 운송 표면을 따라 이동할 때 상기 카메라를 통해 상기 물류창고의 오버헤드 피쳐들의 입력 이미지를 캡처하는 단계, 및 상기 카메라로부터 카메라 데이터의 초기 세트를 검색하는 단계로서, 상기 카메라 데이터의 초기 세트는 상기 오버헤드 피쳐의 입력 이미지와 연관된 2 차원 이미지 정보를 포함하는, 상기 카메라 데이터의 초기 세트를 검색하는 단계를 더 포함할 수 있다. 상기 방법은 상기 카메라 데이터의 초기 세트로부터의 2 차원 이미지 정보를 물류창고 맵의 복수의 글로벌 타겟 위치들과 매칭하여 복수의 후보 광학 타겟들을 생성하는 단계를 더 포함할 수 있으며, 여기서 상기 물류창고 맵의 글로벌 타겟 위치들은 상기 오버헤드 피쳐들의 매핑과 연관되고, 상기 물류창고 맵은 각 글로벌 타겟 위치와 연관된 광학 타겟의 포지션 및 방향을 저장하도록 구성되고, 각 광학 타겟은 하나의 코드와 연관된다. 상기 방법은 후보 광학 타겟을 결정하기 위해 상기 복수의 후보 광학 타겟들을 필터링하는 단계, 상기 후보 광학 타겟과 연관된 코드를 식별하기 위해 상기 후보 광학 타겟을 디코딩하는 단계, 상기 식별된 코드와 연관된 광학 타겟을 식별하는 단계, 상기 물류창고 맵에서의 상기 식별된 광학 타겟의 포지션과 방향 및 상기 식별된 광학 타겟에 대한 상기 카메라의 거리 및 각도의 표현들을 포함하는 카메라 메트릭을 결정하는 단계, 상기 카메라 메트릭에 기초하여 차량 포즈를 계산하는 단계, 및 상기 차량 포즈를 이용하여 상기 자재 취급 차량의 길을 탐색하는 단계를 더 포함할 수 있다.
본 명세서에 기술된 실시예들에 의해 제공되는 이들 및 추가 특징들은 도면과 관련하여 다음의 상세한 설명을 고려하여 더 완전히 이해될 것이다.
도면들에 제시된 실시 예들은 완전히 예시적이며 청구 범위에 의해 정의된 청구 내용을 제한하려는 것이 아니다. 예시적인 실시 예들에 대한 다음의 상세한 설명은 다음 도면들과 함께 읽을 때 이해될 수 있으며, 여기서 유사한 구조는 유사한 참조 번호들로 표시된다.
도 1은 본 명세서에 도시되고 설명된 하나 이상의 실시 예들에 따른 로컬라이제이션을 위한 차량을 도시한다.
도 2는 본 명세서에 도시되고 설명된 하나 이상의 실시 예들에 따른 예시적인 광학 타겟을 도시한다.
도 3은 본 명세서에 도시되고 설명된 하나 이상의 실시 예들에 따른 도 2의 예시적인 광학 타겟에 대한 복수의 활성 타겟 패턴들을 도시한다.
도 4는 본 명세서에 도시되고 설명된 하나 이상의 실시 예들에 따른 로컬라이제이션 프로세스 내에서 글로벌 로컬라이제이션 방법의 카메라 피쳐 추출 및 적용 및 검증을 위한 예시적인 방법의 흐름도를 도시한다.
도 5는 본 명세서에 도시되고 설명된 하나 이상의 실시 예들에 따른 글로벌 로컬라이제이션 방법에 대한 예시적인 방법의 흐름도 개요를 도시한다.
도 6은 본 명세서에 도시되고 설명된 하나 이상의 실시 예들에 따른 글로벌 로컬라이제이션 방법에 대한 다른 예시적인 방법의 흐름도 개요를 도시한다.
도 7은 본 명세서에 도시되고 설명된 하나 이상의 실시 예들에 따른 글로벌 로컬라이제이션 방법에 대한 또 다른 예시적인 방법의 흐름도 개요를 도시한다.
본 명세서에서 설명된 실시 예들은 일반적으로, 이에 제한되지는 않지만, 본 명세서에서 설명된 바와 같이 광학 타겟들을 포함하는 오버헤드 피쳐들로부터 피쳐들을 추출하기 위한 로컬라이제이션 기술들과 관련된다. 로컬라이제이션은 본 명세서에서 물류창고, 산업 시설, 또는 기타 환경에서 차량 위치를 능동적으로 추적할 수 있게 하는 모든 다양한 시스템 구성들을 지칭하기 위해 사용된다. 본 개시의 개념들은 임의의 특정 로컬라이제이션 시스템 구성에 제한되지 않으며, 모든 다양한 종래 및 아직 개발되지 않은 로컬라이제이션 시스템들에 적용될 수 있는 것으로 간주된다. 아래에서 더 자세히 설명하는 바와 같이, 로컬라이제이션 시스템은 글로벌 타겟 로컬라이제이션 방법(GTLM) 및/또는 검증 시스템과 함께 사용될 수 있으므로, 산업용 차량이 분실된 경우 로컬라이제이션 시스템 방법을 통해 GTLM은 상기 차량을 복구하는(recover) 데 이용될 수 있으며, 검증 시스템은 새로운 현재 차량 위치를 알리기 전에 그 복구(recovery)의 정확성을 체크하는 데 이용될 수 있다. 추가적으로 또는 대안적으로, GTLM은 로컬라이제이션 시스템 자체뿐만 아니라 복구 시스템(recovery system)으로도 이용될 수 있고/있거나 검증 시스템은 로컬라이제이션 시스템들 및/또는 GTLM 시스템들과 함께 사용될 수 있다. 이러한 로컬라이제이션 시스템들은 관련 피쳐 쌍들을 이용한 분실 차량 복구(LOST VEHICLE RECOVERY UTILIZING ASSOCIATED FEATURE PAIRS)라는 제목으로 2016년 5월 24일에 발행된 미국 특허번호 9,349,181, 및 관련 피쳐 쌍들을 이용한 차량 포지셔닝 또는 내비게이션(VEHICLE POSITIONING OR NAVIGATION UTILIZING ASSOCIATED FEATURE PAIRS)이라는 제목으로 2018년 5월 29일에 발행된 미국 특허번호 9,984,467에 개시된 것들을 포함할 수 있으며, 이들 모두는 그 전체가 본 명세서에에 참조로 포함된다. 본 출원의 내용과 비교하여 이러한 참고 문헌들에서 특정 기술 용어들 또는 문구들이 정의되는 방식의 모든 불일치들은 본 출원에서 해당 용어들 또는 문구들이 정의되는 방식에 대해 우선적인 참조로 해석되어야 한다.
본 명세서에 설명된 실시 예들은 일반적으로 물류창고 환경에서 자재 취급 차량을 위한 그러한 로컬라이제이션 기술들에 관한 것이다. 본 개시 내용의 개념 및 범위를 정의하고 설명하기 위한 것으로, "물류창고(warehouse)"는 자재 취급 차량들이 물품들을 운송하는 모든 실내 또는 기타 덮여진 시설을 망라하며, 이는 제한되지는 않지만, 단일 또는 다층 물류창고 랙들 또는 보관 유닛들이 통로들에 배열된 곳들과 같이 주로 제품들의 보관을 위한 물품창고들 및 하나 이상의 제조 공정들에 사용하기 위해 자재 취급 차량들에 의해 제품들이 상기 시설 주변에서 운반되는 제조 시설들을 포함한다.
따라서, 로컬라이제이션 시스템들은 물류창고와 같은 빌딩 구조를 통해 산업용 차량을 로컬라이즈하거나 및/또는 그의 길을 탐색하는 데 사용될 수 있다. 적절하게는, 조명뿐만 아니라 여기에 설명된 광학 타겟들과 같은 오버헤드 피쳐들이 건물의 천장 내에 또는 천장 상에 장착될 수 있다. 그러나, 일부 실시 예들에서 오버헤드 피쳐들이 또한 또는 대안적으로 적절한 구조를 통해 천장 또는 벽에 매달릴 수 있다. 일부 실시 예들에서, 카메라가 물류창고를 통해 길을 탐색하는 산업용 차량(예를 들어, 자동 안내 차량 또는 수동 안내 차량)에 장착될 수 있다. 입력 이미지는 이미지로부터 피쳐들을 추출하기 전에 카메라에서 캡처된 임의의 이미지일 수 있다.
이제 도 1을 참조하면, 차량(100)은 물류창고(110)와 같은 산업 시설을 통해 길을 탐색하도록 구성될 수 있다. 차량(100)은 재고 운송 표면을 따라 자재 취급 차량을 이동시키는 구동 메커니즘, 산업 시설의 보관 구역에 제품들을 보관하고 찾아오도록 구성된 자재 취급 메커니즘, 및 상기 구동 및 자재 취급 메커니즘들과 통신하는 차량 제어 아키텍처를 포함하는 자재 취급 차량을 포함할 수 있다. 차량(100)은 예를 들어 지게차, 리치 트럭, 터렛 트럭, 워키 스태커 트럭, 견인 트랙터, 팔레트 트럭, 고/저, 스태커 트럭, 트레일러 로더, 사이드 로더, 포크 호이스트 등과 같이 탑재 화물(payload)을 들어올리고 이동시키기 위한 산업용 차량을 포함할 수 있다. 산업용 차량은 원하는 경로를 따라 물류창고(110)의 표면(122)과 같은 재고 운송 표면을 자동으로 또는 수동으로 탐색하도록 구성될 수 있다. 따라서, 차량(100)은 하나 이상의 휠들(wheels)(124)의 회전에 의해 앞뒤로 나아가게 될 수 있다. 추가적으로, 차량(100)은 하나 이상의 휠들(124)을 조향함으로써 방향을 변경하게 될 수 있다. 선택적으로, 차량은 이에 제한되지는 않지만, 휠들(124)의 속도, 휠들(124)의 방향 등과 같은 차량의 기능들을 제어하기 위한 운전자 컨트롤들(126)을 포함할 수 있다. 운전자 컨트롤들(126)은 예를 들어 스위치, 버튼, 레버, 핸들, 페달, 입력/출력 장치 등과 같은 차량(100)의 기능들에 할당된 컨트롤들을 포함할 수 있다. 본 명세서에서 사용되는 용어 "탐색하다 또는 길을 탐색하다(navigate)"는 한 장소에서 다른 장소로 차량의 이동을 제어하는 것을 의미할 수 있음에 유의해야 한다.
차량(100)은 오버헤드 피쳐들의 입력 이미지들과 같은 오버헤드 이미지들을 캡처하기 위한 카메라(102)를 더 포함할 수 있다. 카메라(102)는 물체의 시각적 외관을 캡처하고 그 시각적 외관을 이미지로 변환할 수 있는 임의의 장치일 수 있다. 따라서, 카메라(102)는 예를 들어 전하 결합 장치, 상보적 금속-산화물-반도체 센서, 또는 이들의 기능적 등가물들과 같은 이미지 센서를 포함할 수 있다. 일부 실시 예들에서, 차량(100)은 물류창고(110) 내에 위치될 수 있고, 물류창고(110)의 천장(112)의 오버헤드 이미지들을 캡처하도록 구성될 수 있다. 오버헤드 이미지들을 캡처하기 위해, 카메라(102)는 차량(100)에 장착되고 천장(112)에 초점을 맞출 수 있다. 본 개시 내용을 정의하고 설명하기 위한 목적으로, 본 명세서에서 사용된 용어 "이미지"는 검출된 물체의 외관의 표현을 의미할 수 있다. 이미지는 예를 들어 JPEG, JPEG 2000, TIFF, 원시 이미지 형식, GIF, BMP, PNG, Netpbm 형식, WEBP, 래스터 형식, 벡터 형식, 또는 오버헤드 물체들을 캡처하기에 적합한 기타 다른 형식과 같은 다양한 기계 판독 가능한 표현들로 제공될 수 있다.
물류창고(110)의 천장(112)은, 이에 제한되지는 않지만, 천장(112)으로부터 또는 일반적으로 물류창고에서 작동하는 차량의 위편에서부터 조명을 제공하기 위한 천장 조명들(114)과 같은 오버헤드 조명들 및 오버헤드 광학 타겟들(130)과 같은 오버헤드 피쳐들을 포함할 수 있다. 천장 조명들(114)은 예를 들어 천창(skylight)(116), 형광등 등과 같은 실질적으로 직사각형 조명을 포함할 수 있으며; 또는 위편에서부터 조명을 제공하기 위해 천장 또는 벽 구조들에 장착되거나 매달릴 수 있다. 본 명세서에서 사용된 바와 같이, "천창" 이라는 용어는 예를 들어 공기, 유리, 플라스틱 등과 같이 일광을 허용하기 위한 실질적으로 광 투과성 매체가 설비된 천장 또는 지붕의 애퍼쳐를 의미할 수 있다. 천창은 다양한 모양들과 크기들로 제공될 수 있지만, 여기에 설명된 천창들은 거더(girder) 또는 크로스바(crossbar)에 의해 일련의 패널들로 분할되거나 분할되지 않을 수 있는 "표준" 길이의 실질적인 직사각형 천창들을 포함할 수 있다. 대안적으로, 천창들은 침실 창문과 크기가 비슷한, 즉 약 30인치 × 약 60인치(약 73cm × 약 146cm)의 직사각형 또는 원형 모양의 더 작고 개별적인 천창들을 포함할 수 있다. 대안적으로 또는 추가적으로, 천장 조명들(114)은 예를 들어 동그란 조명들(118), 합쳐진 조명들(merged lights)(120)과 같이 실질적으로 원형의 조명들을 포함할 수 있으며, 이는 단일 물체로 보이는 복수의 인접한 동그란 조명들 등을 포함할 수 있다. 따라서, 오버헤드 조명들 또는 '천장 조명들' 은 자연적인 원천들(sources of natural)(예를 들어, 햇빛) 및 인공적인(예를 들어, 전기적으로 전원이 공급된) 조명을 포함한다.
본 명세서에 설명된 실시 예들은 카메라(102)에 통신 가능하게 결합된 프로세서(104)와 같은 하나 이상의 차량용 프로세서들을 포함할 수 있다. 하나 이상의 프로세서(104)는 본 명세서에 설명된 임의의 방법들 또는 기능들을 자동으로 구현하기 위해 기계 판독 가능 명령들을 실행할 수 있다. 기계 판독 가능 명령들을 저장하기 위한 메모리(106)가 하나 이상의 프로세서(104), 카메라(102) 또는 이들의 임의의 조합에 통신 가능하게 결합될 수 있다. 하나 이상의 프로세서(104)는 프로세서, 집적 회로, 마이크로 칩, 컴퓨터, 또는 기계 판독 가능한 명령들을 실행할 수 있거나 기계 판독 가능 명령들과 유사한 방식으로 기능들을 실행하도록 구성된 임의의 다른 컴퓨팅 장치를 포함할 수 있다. 메모리(106)는 RAM, ROM, 플래시 메모리, 하드 드라이브, 또는 기계 판독 가능 명령들을 저장할 수 있는 임의의 비 일시적 장치를 포함할 수 있다.
하나 이상의 프로세서(104) 및 메모리(106)는 카메라(102)와 통합될 수 있다. 대안적으로 또는 추가적으로, 하나 이상의 프로세서(104) 및 메모리(106) 각각은 차량(100)과 통합될 수 있다. 더욱이, 하나 이상의 프로세서(104) 및 메모리(106) 각각은 차량(100) 및 카메라(102)로부터 분리될 수 있다. 예를 들어, 관리 서버, 서버, 또는 모바일 컴퓨팅 장치는 하나 이상의 프로세서(104), 메모리(106), 또는 둘 다를 포함할 수 있다. 하나 이상의 프로세서(104), 메모리(106), 및 카메라(102)는 본 개시 내용의 범위를 벗어나지 않고서 서로 통신 가능하게 결합된 개별 구성 요소들일 수 있다는 점에 유의해야 한다. 따라서, 일부 실시 예들에서, 하나 이상의 프로세서(104)의 구성 요소들, 메모리(106)의 구성 요소들, 및 카메라(102)의 구성 요소들은 물리적으로 서로 분리될 수 있다. 본 명세서에서 사용되는 바와 같은 "통신적으로 결합된" 이라는 문구는 예를 들어 전도성 매체를 통한 전기 신호, 공기를 통한 전자기 신호, 광 도파관을 통한 광학 신호 등과 같이 구성 요소들이 서로 데이터 신호를 교환할 수 있음을 의미한다.
따라서, 본 개시의 실시 예들은 임의의 세대(예를 들어, 1GL, 2GL, 3GL, 4GL, 또는 5GL)의 임의의 프로그래밍 언어로 작성된 로직 또는 알고리즘을 포함할 수 있다. 로직 또는 알고리즘은 프로세서에 의해 직접 실행될 수 있는 기계 언어, 또는 기계 판독 가능한 명령들로 컴파일되거나 어셈블될 수 있고 기계 판독 가능한 매체에 저장될 수 있는 어셈블리 언어, 객체 지향 프로그래밍(OOP), 스크립팅 언어, 마이크로 코드 등으로 작성될 수 있다. 대안적으로 또는 추가적으로, 로직 또는 알고리즘은 하드웨어 기술 언어(HDL)로 작성될 수 있다. 또한, 로직 또는 알고리즘은 FPGA(field-programmable gate array) 구성이나 ASIC(application-specific integrated circuit) 또는 그에 상응하는 등가물들을 통해 구현될 수 있다.
위에서 언급한 바와 같이, 차량(100)은 하나 이상의 프로세서(104)를 포함하거나 이와 통신 가능하게 결합될 수 있다. 따라서, 하나 이상의 프로세서(104)는 운전자 컨트롤들(126)의 기능을 작동시키거나 또는 대체하기 위해 기계 판독 가능한 명령들을 실행할 수 있다. 기계 판독 가능한 명령들은 메모리(106)에 저장될 수 있다. 따라서, 일부 실시 예들에서, 차량(100)은 기계 판독 가능한 명령들을 실행하는 하나 이상의 프로세서(104)에 의해 자동으로 그 길이 탐색될 수 있다(be navigated automatically). 일부 실시 예들에서, 차량(100)이 길 탐색될(navigated) 때 차량의 위치는 로컬라이제이션 시스템에 의해 모니터링될 수 있다.
예를 들어, 차량(100)은 차량(100)의 로컬라이즈된 포지션에 기초하여 원하는 포지션으로의 원하는 경로를 따라 물류창고(110)의 표면(122)을 따라서 자동으로 그 길을 탐색할 수 있다. 일부 실시 예들에서, 차량(100)은 물류창고(110)에 대한 차량(100)의 로컬라이즈된 포지션을 결정할 수 있다. 차량(100)의 로컬라이즈된 포지션의 결정은 이미지 데이터와 맵 데이터를 비교함으로써 수행될 수 있다. 맵 데이터는 메모리(106)에 로컬적으로(locally) 저장될 수 있고 주기적으로 갱신될 수 있거나, 또는 맵 데이터는 서버 등에 의해 제공될 수 있다. 실시 예들에서, 산업 시설 맵은 오버헤드 피쳐들의 매핑과 연관된 복수의 3 차원 글로벌 피쳐 포인트들을 포함한다. 로컬라이즈된 포지션 및 원하는 포지션이 주어지면, 차량(100)에 대한 이동 경로가 결정될 수 있다. 이동 경로가 알려지면, 차량(100)은 이동 경로를 따라 이동하여 물류창고(110)의 표면(122)을 탐색할 수 있다. 구체적으로, 하나 이상의 프로세서(104)는 로컬라이제이션 시스템 기능을 수행하고 차량(100)을 작동하기 위해 기계 판독 가능한 명령들을 실행할 수 있다. 일 실시 예에서, 하나 이상의 프로세서(104)는 휠들(124)의 조향(steering)을 조정하고 차량(100)이 표면(122)을 탐색하게 하도록 스로틀을 제어할 수 있다.
도 2를 참조하면, 광학 타겟들(130)이 포인트 광원들의 배열로 도시된다. 실시 예들에서, 광학 타겟들(130)은 각도 파워 특성들(angular power characteristics)을 포함할 수 있고 장거리에서의 검출에 적합할 수 있다. 비 제한적인 예로서, 광학 타겟들(130)의 포인트 광원들은 복수의 발광 다이오드들(LEDs)을 포함할 수 있다. LED들은 각도 파워 특성들을 제공하기 위해 각각의 각도 확산 렌즈들(angular diffusion lenses)로 활용되고 그에 의해 커버될 수 있다. 각도 확산 렌즈들은 배트윙 렌즈(batwing lense) 등일 수 있다. 다른 실시 예들에서, 이러한 각도 확산 렌즈들은 LED들은 광학 타겟들(130) 바로 아래에서 가장 밝게 보이지만 광학 타겟들(130)에 대한 측면 각도에서 볼 때 밝기가 희미해지도록 사용되지 않을 수도 있다. 각도 확산 렌즈들의 사용은 각도 방출 특성들(angular emission characteristics)을 갖도록 LED의 직접적인 아래쪽 밝기의 감쇠 및 연관된 각도 측방향 밝기의 증가를 허용한다. 각도 확산 렌즈에 의해 커버된 LED에 대한 이러한 각도 방출 특성들로 인해, 예를 들어 LED가 아래쪽으로 향할 때 직접적인 아래쪽보다 각도 측면 방향으로 더 높은 에너지가 방출된다. 비 제한적인 예로서, 방사 패턴은 10 미터 거리에서 각도 확산 렌즈를 사용하는 LED가 바로 아래에서 LED를 보는 것과 비교할 때 유사한 밝기로 나타나도록 될 수 있다. 이러한 방사 패턴은 광학 타겟들(130)이 위에 설치되고 LED들이 예를 들어 아래쪽으로 향하는 LED에 중심을 둔 60도 콘 내에서 향하게 되는 물류창고 바닥의 평평한 필드 방사를 보장할 수 있다. 그리고 검출 범위는 차량에 장착된 카메라 높이와 물류창고 환경의 천장 기반시설에 장착되고 물류창고 바닥쪽으로 아래쪽으로 향할 때 활성 광학 타겟들(130)의 높이 사이의 차이의 두 배(즉, 1/cos(60°))가 될 수 있다. 광학 타겟들(130)에 대한 다른 검출 범위가 본 개시의 범위 내에서 가능하다.
광학 타겟들(130)은 물류창고 환경의 천장 기반시설에 장착하기에 적합한 다양한 구조를 포함할 수 있다. 일부 실시 예들에서, 광학 타겟들(130)은 원형 모양, 정사각형 모양, 또는 다른 적절한 장착 모양을 포함할 수 있다. 등거리로 이격될 수도 있고 아닐 수도 있는 광학 타겟(130) 상의 LED의 임의의 2 차원 또는 3 차원 배열이 본 개시의 범위 내에서 고려된다. 예를 들어, 광학 타겟(130) 상의 LED들의 정사각형 배열은 2 차원 배열로 간주될 수 있다. 추가적으로, 광학 타겟들(130)을 위한 단일 LED 장착 또는 다중 LED 장착 모두가 본 개시의 범위 내에서 고려된다.
일 실시 예에서, 광학 타겟들(130)은 복수의 포인트 광원들이 장착되는 바(bar)(132)를 포함할 수 있다. 포인트 광원들은 예를 들어 바(132)에 장착된 발광 다이오드들(LED)(134)일 수 있다. 바(132)는 알루미늄 또는 유사한 재료일 수 있다. 바(132)는 길이가 1.6 미터일 수 있고, LED들(134)이 선형 방식으로 장착되는 중앙 스트립 부분(136)을 포함한다. 다른 실시 예들에서 바는 길이가 더 길거나 더 짧을 수 있다. LED들을 백색광을 방출할 수 있다. 대안적으로, LED들은 주황색 광과 같은 좁은 스펙트럼 대역폭을 가진 광 또는 단색 광을 방출할 수 있다. 제한이 아닌 예로서, 6 개의 LED들(134)이 중앙 스트립 부분(136)을 따라 장착될 수 있다. 6 개의 LED들(134)은 중앙 스트립 부분(136)을 따라 등거리로 맞춰질 수 있다. 다른 실시 예들에서 바(132)는 6 개보다 많거나 적은 LED들을 포함할 수 있다. 예를 들어, 주 전원으로부터 광학 타겟들(130)에 전력을 제공하도록 구성된 전력 구동기(138)가 또한 바(132)에 장착될 수 있다. 일련의 마그네틱 마운트들이 바(132)의 뒷면에 배치되어 천장 기반 시설과의 설치를 용이하게 할 수 있다. 마그네틱 마운트들은 예를 들어 체인들(chains) 또는 다른 적절한 보호 고정장치들(securement fixings)과 함께 천장 빔에 대해 페이스로(in pace) 바(132)를 유지할 수 있다. 실시 예들에서, BLE(Bluetooth Low Energy) 비콘들이 광학 타겟들(130) 상에 배치될 수 있고, BLE 안테나가 그러한 신호들을 스캔하기 위해 사용되도록 차량 하드웨어 상에 배치될 수 있다. BLE 수신 신호 강도 표시(RSSI)가 유사한 광 패턴과 동일한 식별 코드를 갖는 모호한 광학 타겟들(130) 사이의 식별을 결정하는 데 사용될 수 있다. 추가적으로 또는 대안적으로, 유사한 광 패턴과 동일한 식별 코드를 갖는 모호한 광학 타겟들(130) 사이의 식별을 결정하기 위해 WiFi 신호 강도가 WiFi 액세스 포인트들의 위치들이 로컬라이제이션 시스템에 알려져 있는 곳에서 사용될 수 있다. 비 제한적인 예로서, 고유성이 없는 타겟들(non-unique targets)(130) 간의 차이를 명확히 하기 위해(disambiguate), 추가적인 카메라 관찰, 레이저 관찰, 전파 관찰, 레이저 관찰, 자기장 관찰, 또는 이들의 조합과 같은 다른 관찰들이 이용될 수 있다. 비 제한적인 예로서, 동일한 광학 코드(150)를 포함하는 복수의 고유성이 없는 타겟들에 대해, 복구된 위치들의 모호성 해소(disambiguation of recovered locations)는 미리 결정된 임계 값을 초과하는 피트니스 메트릭(fitness-metric)의 계산하고 상기 피트니스 메트릭에 최적의, 등급의 및/또는 일치하는 후보 타겟들(130)을 선택함으로써 수행될 수 있다. 상기 피트니스 메트릭의 임계 값 또는 범위 내에 있지 않은 이러한 고유성이 없는 활성 타겟들(130)은 거부될 수 있으며, 다른 고유성이 없는 활성 타겟들(130)이 최적의 것을 결정하도록 분석되어, 그에 따라 최적의 타겟으로서 후보 광학 타겟(130)을 식별할 수 있다. 실시 예들에서, 상기 피트니스 메트릭은 UV 공간에서 예상되는 피쳐와 실제로 관찰된 피쳐의 거리, BLE 비콘 소스에 대한 WIFI로부터의 추가 무선 신호의 강도, 및/또는 유선 유도 관측(wire guidance observation)의 근접성에 기반할 수 있다. 추가적으로 또는 대안적으로, 본 명세서에 설명된 시스템은 재고 운송 표면의 물리적 형태 및 재고 운송 표면 상에 존재하는 정적 장애물과 집계된 주행거리 측정 정보(aggregated odometry information)의 호환성을 검증함으로써 하나 이상의 후보 광학 타겟들(130)에 대한 위치를 명확하게 할 수 있다. 실시 예들에서, 광학 타겟(130)의 하나 이상의 LED들의 고장으로 잘못된 코드(incorrect code)가 결정될 때, 예를 들어 잘못된 코드의 디스플레이보다는 "오프(off)" 코드 상태가 생성되어 표시될 수 있다. 올바른 코드의 경우 "올바른(correct)" 또는 "온(on)" 코드 상태가 생성되어 표시될 수 있다.
광학 타겟들(130)은 지면으로부터의 레이저 거리 미터와 함께 사용을 통해 맵에 저장된 글로벌 물류창고 좌표 프레임에서 타겟 위치의 측정을 용이하게 하는 중심 기준 마커(140)를 포함할 수 있다. 광학 타겟(130)의 단부 마커(end marker)(142)는 예를 들어 검은 색으로 착색될 수 있거나, 또는 바(132)가 스퓨리어스 반사(spurious reflections)를 줄이도록 검은 색으로 양극 산화 처리된 알루미늄 돌출부인 경우 주황색과 같이 광학 타겟(130)의 바(132)에 대한 다른 콘트라스트 컬러일 수 있다. 광학 타겟(130)의 단부 마커(142)는 활성 광학 타겟(130)과 연관된 LED 온/오프 패턴에 대한 지식없이 광학 타겟(130)의 방향에 극성을 주는 데(to polarize an orientation of the optical target) 사용될 수 있다. 광학 타겟(130)과 연관된 코드(150) 및 맵을 기반으로 물류창고 환경에서 타겟 위치를 나타내는 광학 타겟들(130)의 3 차원 좌표와 함께, 광학 타겟(130)의 방향은 로컬라이제이션 시스템 작동 동안 사용을 위해 로컬라이제이션 피쳐 맵에 기록된다. 코드(150)는 광학 타겟(130)에 대해 고유하거나 고유하지 않을 수 있다.
도 3을 참조하면, 6 개의 LED들(134)을 포함하는 광학 타겟(130)의 복수의 광 패턴들의 예가 도시된다. 각각의 광 패턴은 광학 코드(150)일 수 있다. 외부 다이오드들은 항상 온으로 스위치될 수 있는 반면, 내부 다이오드들 중 적어도 하나는 온이고 적어도 하나는 오프이다. 내부 다이오드들의 상태 및 연관된 온/오프 패턴은 광학 타겟(130)의 코드에 관한 정보와 연관된다. 광학 타겟(130)의 온/오프 내부 다이오드 패턴은 시간에 따라 변하지 않으므로, 시선 방향(viewing direction)에 관계없이 광학 타겟(130)의 코드(150)가 추출될 수 있다. 일 실시 예에서, 6 개의 코드들은 6 개의 광학 타겟들(130)에 대한 6 개의 각각의 광 패턴들과 연관될 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 왼쪽에서 오른쪽으로 4 개의 내부 다이오드들과 관련하여 6 개의 광학 타겟들(130)은 다음 패턴을 갖는다: 코드 1은 온/오프/오프/오프의 패턴이고; 코드 2는 오프/오프/온/온의 패턴이고; 코드 3은 오프/오프/온/오프의 패턴이고; 코드 4는 온/오프/온/온의 패턴이고; 코드 5는 오프/온/온/온의 패턴이고; 코드 6은 오프/온/오프/온의 패턴이다. 코드들은 예를 들어 광학 타겟(130) 상의 물리적 스위치들을 통하거나 또는 원격 제어 기반의 스위칭을 통해 현장 사용을 용이하게 하기 위해 스위치될 수 있다.
광학 타겟(130)은 기둥, 도리(purlin) 등과 같은 천장 기반구조에 장착될 수 있다. 맵 좌표 프레임 내에서 장착된 광학 타겟들(130)의 전역 위치 및 방향들은 예를 들어 본 명세서에 설명된 바와 같이 차량 작동 중에 이용하기 위한 글로벌 로컬라이제이션 시스템에 대한 각각의 LED 광 패턴으로서 각각의 타겟 코드(150)와 함께 측정되고 기록된다. 일 실시 예에서, 천장 기반구조에 장착된 광학 타겟들(130)의 매핑은 레이저 범위 파인더 또는 레이저 거리 미터와 같은 레이저 도구 또는 다른 적절한 매핑 스캐닝 도구들을 이용하는 수동 매핑을 통해 나타날 수 있다.
도 4는 로컬라이제이션 시스템(160)과 함께 GTLM에서 활성 타겟 사용의 실시 예의 프로세스 흐름도를 도시한다. 제한적인 것이 아닌 예로서, 도 4의 로컬라이제이션 시스템(160)에서, 차량 센서들은 입력 센서로서 주행 거리 측정(168), 센서 입력으로서 주변 물체들의 레이저 검출(170), 및 센서 입력으로서 내비게이션 보조의 유선 안내(172)와 관련하여 블록(162)에서 입력 데이터를 수신하고 처리하도록 구성된다. 블록(162)의 센서 입력들은 정상적인 시드 갱신(normal seed update)으로서 차량에 대한 로컬라이제이션을 제공하기 위해 로컬라이제이션 모듈(166)에 의해 이용되는 데이터로서 연관된다.
도 4의 단계 1에서, 차량 센서는 또한, 본 명세서에 설명된 바와 같이 이미지 입력(174)으로서 오버헤드 피쳐들의 이미지 데이터를 수신하고 처리하도록 구성된다. 예를 들어, 오버헤드 이미지는 차량에 배치된 카메라에서 캡처된다. 오버헤드 피쳐 후보들은, 관련 피쳐 쌍들을 이용한 분실 차량 복구라는 제목으로 2016년 5월 24일에 발행된 미국 특허번호 9,349,181, 및 관련 피쳐 쌍들을 이용한 차량 포지셔닝 또는 내비게이션이라는 제목으로 2018년 5월 29일에 발행된 미국 특허번호 9,984,467에 개시된 바와 같이 검출되며, 이들은 참조로 포함된다. 단계 2에서, 예를 들어, 입력(178)의 피쳐 후보들은 카메라 피쳐 추출 모듈(164)이 본 명세서에서 설명된 바와 같이 천장 조명들, 천창, 및 활성 광학 타겟들(130)의 LED들과 같은 관심 대상의 잠재적인 피쳐들로서 식별한 오버헤드 이미지로부터 블록(176)에서 검출된 것이다. 예를 들어, 광 검출과 관련하여 피쳐 후보들은 광 및 천창 검출을 위한 입력으로 이용된다. 그 다음, 블록(182)을 통해 검출된 광 및/또는 천창의 추출된 피쳐들(184)은 물류창고에서 차량 위치를 결정하기 위해 로컬라이제이션을 위한 연관 데이터와 함께 이용될 수 있다.
도 4의 GTLM과 관련하여, 오버헤드 피쳐들의 이미지 데이터를 수신하고 처리하는 차량 센서는 특히 하나 이상의 활성 광학 타겟들(130)과 연관된 이미지 데이터를 수신하고 처리할 수 있으며, 이에 대해서는 도 5 및 도 6의 프로세스들(500, 600)과 하기에서 더욱 상세히 설명된다. 특히, 도 4의 단계 3은 검출 프로세스(500)를 통한 활성 광학 타겟(130) 검출(단계 4) 및 도 6의 검증 프로세스(600)를 통한 검증(단계 5)에 대해 2 개의 각각의 프로세스들(500, 600)을 적용하는 활성 타겟 검출기 모듈(180)을 설명한다. 단계 4의 검출 프로세스(500)는 도 5의 검출 프로세스(500)로서 더 상세하게 설명된다. 단계 5의 검증 프로세스(600)는 도 6의 검증 프로세스(600)로서 더 상세하게 설명된다. 활성 타겟 검출기 모듈(180)의 프로세스들(500, 600)은 로컬라이제이션 시스템(160)의 카메라 피쳐 추출 모듈(164) 내에서 발생할 수 있으며, 이는 단계 2의 피쳐 후보들로부터 활성 광학 타겟들(130)을 추출한다. 단계 4에서, 검출 프로세스(500)는 입력 피쳐 후보 포인트들을 필터링하여 활성 광학 타겟들(130)의 하나 이상의 LED들로부터 있을 가능성이 없는 것들을 제거하고, 활성 광학 타겟들(130) 또는 하나의 이상의 활성 광학 타겟들(130)의 일부가 될 후보들인 피쳐 후보 포인트들을 식별한다. 단계 5에서, 검증 프로세스(600)는 단계 4에서 발견된 각 후보를 검증하고 각각의 LED 광 패턴과 같은 연관된 디스플레이된 코드를 찾는 방법을 적용한다.
추출된 피쳐들(184)을 초래하는 단계 6 이후에, 활성 타겟 결정 블록(186)에서 활성 광학 타겟들(130)이 발견되지 않은 경우, 다른 로컬라이제이션 시스템 프로세스가 계속될 수 있으며 여기서 입력 주행 거리 측정, 레이저, 및 유선 안내 데이터와 같은 센서 데이터에 추가된 카메라 피쳐들이 데이터 연관 블록(188)에서 데이터 연관을 통해 결합되어 갱신 블록(190)에서 차량의 위치를 추정한다. 그러나, 단계 6 이후에 하나 이상의 활성 광학 타겟들(130)이 활성 타겟 결정 블록(186)에서 발견되면, 하나 이상의 활성 광학 타겟들(130)이 카메라 피쳐 추출 모듈에 의해 검출된 다른 천장 조명 피쳐들과 결합되어 로컬라이제이션 시스템(160)의 로컬라이제이션 모듈(166)로 전송된다. 일 실시 예에서, 활성 타겟들(130)이 식별되고 물류창고의 맵에서 각각의 타겟 위치 좌표들과 매칭되면, 조명들 및/또는 천창들과 같이 본 명세서에 설명된 바와 같은 다른 오버헤드 피쳐들에 대해 추가적인 카메라 피쳐 추출이 수행될 수 있다. 단계 6 이후에 활성 타겟(130)이 검출되면, 단계 7에서 활성 타겟(130)에 기초하여 포즈 복구 블록(192)에서 차량의 포즈가 결정되고 복구된다. 활성 타겟(130)이 추출된 경우, 오버헤드 이미지 위의 2 차원 이미지 프레임에서 3 차원 글로벌 좌표 프레임으로 투영하고 매핑된 타겟 위치 및 카메라의 기하학적 파라미터들에 대한 추정을 근거로 하는 것만으로 추출된 활성 타겟(130)으로부터 차량의 포즈가 추정될 수 있다. 예를 들어, 복수의 광학 타겟들(130)의 위치는 본 명세서에 설명된 GTLM 및 로컬라이제이션 시스템들을 사용하기 전에 물류창고 맵에 매핑되고 저장된다.
로컬라이즈된(단계 8로 진행) 또는 분실된(단계 9로 진행) 상태는 상태 블록(194)에서 결정된다. 단계 8에서, 로컬라이즈된 상태의 경우, 추출된 활성 광학 타겟(130)으로부터 계산된 포즈는 리시드 포즈 블록(reseed pose block)(196)에서 정확한 로컬라이제이션을 보장하기 위해 추출된 활성 광학 타겟(130)에 기초하여 차량 로컬라이제이션을 리시드하는 데 사용될 수 있다. 이러한 경우는 로컬라이제이션 시스템(160)이 로컬라이즈된 상태에 있지만 현재 추정된 포즈와 추출된 활성 광학 타겟(130)으로부터 복구된 포즈 사이에 불일치가 있을 때 일어날 수 있다. 그래서 복구된 포즈는 새로운 차량 포즈를 설정함으로써 차량 로컬라이제이션을 리시드하기 위해 현재 추정된 포즈를 복구된 포즈로 재설정하는 데 사용될 수 있다. 단계 9의 복구 포즈 블록에서, 추출된 활성 광학 타겟(130)으로부터 계산된 포즈는 로컬라이제이션 시스템(160)이 비정상 상태(lost state)에 있을 때 현재 추정 포즈를 복구된 포즈에 리시드하는 데 사용될 수 있다.
예를 들어, 실내 물류창고 환경에서 산업용 차량에 대해 로컬라이제이션을 제공하기 위해 로컬라이제이션 시스템이 사용되는 동안, 로컬라이제이션 시스템이 비정상(lost)이 되거나(9 단계) 안정적으로 작동할 수 없는 상황들이 존재한다. 예시적인 시나리오들로서, 천장 조명들과 같은 오버헤드 천장 피쳐들로부터 추출 가능한 카메라 피쳐들을 이용할 수 없게 되는 실외로 산업용 차량이 이동한 경우 또는 산업용 차량이 이동할 수 있는 물류창고 환경의 섹션들이 정확한 로컬라이제이션을 유지하기에 불충분한 밀도의 추출 가능한 피쳐들을 갖는 경우가 있다. 차량이 분실될 정도로 로컬라이제이션 시스템의 상태가 비정상인 경우, 복구된 포즈는 차량 로컬라이제이션 및 내비게이션을 위한 새로운 시드 또는 시작 위치로 이용될 수 있다. 차량이 매핑된 영역을 벗어나거나 매핑된 피쳐들의 트랙을 분실한 후, 예를 들어 그 차량은 로컬라이즈되지 않은 것으로 간주될 수 있다. 그러한 경우에, 활성 타겟(130)은 차량 위치를 복구하기 위해 성공적으로 검출되면 차량의 재-로컬라이제이션(re-localization)을 용이하게 하는 데 이용될 수 있다. GTLM은 로컬라이제이션 시스템에 추가하여 또는 그의 대안으로서 이용될 수 있다. 예를 들어, GTLM은 예를 들어 로컬라이제이션 시스템을 알려진 차량 위치들로 리시드하는 신뢰할 수 있는 수단을 제공함으로써 로컬라이제이션 시스템에 의해 제공되는 정확한 로컬라이제이션의 가용성을 최대화하는 데 사용될 수 있다.
단, 차량 위치가 알려지도록 로컬라이제이션의 상태가 로컬라이즈된 경우(단계 8), 글로벌 고정 모드(global fix mode)에서 복구된 포즈에 기초하여 그 차량 위치는 검증될 수 있고 및/또는 더욱 정확하게 될 수 있다. 예를 들어, 로컬라이즈되었지만 정확성이 낮은 차량의 경우, 활성 타겟(130)을 사용함으로써 활성 타겟들(130)의 성공적인 검출시 차량의 로컬라이제이션 정확성을 증가시킨다. 활성 타겟(130)은 예측된 차량 위치를 검증하고 차량 로컬라이제이션을 높은 수준의 확실성으로 고정하기 위해 이용될 수 있다. 이러한 글로벌 고정 모드는 다양한 방식들로 로컬라이제이션 시스템을 지원할 수 있다. 비 제한적인 예로서, 활성 광학 타겟들(130)은 로컬라이제이션 시스템으로 높은 정확성의 로컬라이제이션을 위해 다른 오버헤드 피쳐의 밀도가 불충분한 천장 기반시설 위치들에 설치될 수 있다. 추가적으로 또는 대안적으로, 활성 타겟들(130)은 위치 고정(location fix)의 가용성이 매우 바람직한 위치들에 설치될 수 있다. 이러한 활성 타겟들(130)의 사용하여 로컬라이제이션 시스템을 통해 차량이 로컬라이즈될 수 있는 기간의 가동 시간을 증가시키는 것은 상기 가동 시간에서 차량 로컬라이제이션의 가치를 향상시키고 로컬라이제이션의 정확성 개선을 향상시킨다.
활성 타겟 검출기 모듈의 프로세스들은 도 5 및 도 6의 각각의 프로세스(500, 600)에서 더욱 상세히 설명된다. 활성 광학 타겟(130)의 이미지는 렌즈를 이용하여 이미징 센서에 투영되고 2 차원 이미지 신호로 디지털화되어 오버헤드 이미지들을 생성할 수 있다. 검출 프로세스(500)의 도 5의 블록(502)과 연관된 단계 1에서, 하나 이상의 이미지화된 활성 광학 타겟들(130)의 LED들의 위치들은 LED들과 각각 연관된 "키포인트(keypoint)" 피쳐들로서 2 차원 이미지 공간에서 추출되며, 천장 조명들 및 천창들과 같은 다른 오버헤드 피쳐들과 함께 x 및 y 및 반지름 치수들을 포함한다. 2 차원 이미지 신호와 함께 이러한 다른 오버헤드 피쳐들은 도 4에서 단계 4의 검출 프로세스(500) 및 단계 5의 검증 프로세스(600)를 통해 활성 타겟 검출기 모듈에 의해 처리된다.
도 5는 활성 타겟 후보 검출 프로세스로서 도 4의 단계 4의 검출 프로세스(500)를 더욱 상세히 설명한다. 도 5에서 검출 프로세스(500)의 블록(502)과 연관된 단계 2에서, 검출 프로세스는 오버헤드 이미지로부터 활성 광학 타겟(130)의 LED가 되기에는 너무 큰 모든 키포인트 피쳐들을 필터링한다. 블록(504)의 단계 2에서 검출 프로세스에 입력된 블록(506)의 제약들에는 허용 가능한 키포인트 피쳐 크기 범위들을 나타내기 위해 최대 키포인트 피쳐 크기 계수 및 키포인트 피쳐 크기 감소가 있을 수 있다.
블록(508)과 관련된 단계 3에서, 검출 프로세스(500)는 활성 광학 타겟(130) 또는 활성 광학 타겟(130)의 일부일 수 있는 이미지화된 LED들의 배열들에 대한 나머지 키포인트 피쳐들의 세트에서 검색한다. 검색된 정보는 동일 직선상에 있는 패턴(collinear pattern)을 나타내는 이미지화된 LED들의 좌표들의 세트를 나타내는 활성 타겟 조각들(active target fragments)의 세트를 포함한다. 상기 활성 타겟 조각들은 수집되어 메모리 모듈과 같은 데이터 구조에 저장된다. 블록(508)과 연관된 단계 3에서 검출 프로세스(500)로 입력되는 블록(510)의 제약들에는 활성 광학 타겟(130)과 연관된 검출된 피쳐들에 타이트하게 맞춰진 바운딩 박스(bounding box)의 최대 타겟 종횡비, 최대 측면 길이, 및 최대 면적이 있을 수 있다.
검출 프로세스(500)의 블록(512)과 연관된 단계 4에서, 활성 타겟 조각들의 세트는 집계되고 잠재적 활성 광학 타겟들(130)을 포함하는 라인들의 세트에 결합된다. 이러한 집계(aggregation)는 처리할 데이터의 양을 감소시키고 활성 타겟 검출기 모듈의 효율성과 처리 속도를 증가시킨다. 실시 예들에서, 이러한 라인들의 세트는 선분(line segment)이 아니다; 즉, 시작 포인트 또는 끝 포인트가 없고 오히려 무한히 길고 수평 좌표축에 대한 각도와 UV 공간을 설명하는 좌표계의 원점까지의 거리로만 설명된다. 블록(512)에서 단계 4의 집계를 수행한 후, 모든 타겟 후보들은 그러한 라인들 중 하나와 동일 직선상에 있을 수 있다. 여러 타겟 후보들이 동일한 라인 상에 있을 수 있는데, 이는 계산된 라인 상에 하나보다 많은 타겟들이 있거나 또는 계산된 라인상에 다른 타겟 후보들이 있기 때문인데, 이는 후속 처리 단계에서 잘못된 검출들(false detections)로 밝혀진다. 이러한 타겟 후보들은 계산된 라인 내에 중첩될 수 있는데, 예컨대 한 라인 상에 하나의 진정한 활성 광학 타겟(one true active optical target)(130)이 있고 또 다른 하나의 검출된 활성 타겟이 잘못된 경우가 있으며, 이는 진정한 활성 광학 타겟(130)과 하나 이상의 노이즈 추출들로부터의 2 개의 키포인트 피쳐들을 구성하게 된다. 본 명세서에 설명된 로컬라이제이션 시스템은 이미지 프레임 당 하나의 활성 타겟만을 검출하는 것으로 제한되지 않으므로, 활성 타겟 후보들을 포함하는 그러한 하나의 라인보다 많은 라인들이 있을 수 있다. 실례로, 예를 들어 40cm 거리에서 2 개의 평행한 타겟들이 근접하게 설치되어 활성 타겟 후보들을 포함하는 적어도 2 개의 라인들이 있게 될 수 있다. 블록(512)에서 단계 4의 집계(aggregation)는 그러한 라인들의 중복들(duplicates)을 제거하고, 블록(514)에서 축적 파라미터들로서의 집계 파라미터들은 2 개의 약간 다른 라인들이 동등한 것으로 간주될 수 있는 시기를 정의한다. 픽셀 비닝(pixel binning) 등과 같은 디지털화 효과로 인해 이러한 라인들 간의 약간의 차이가 나타날 수 있다. 집계(aggregation)는 프로세싱을 위해 중복 라인들의 제거를 가능하게 하며, 예를 들어, 이는 처리되어야 하는 라인들의 수가 줄어들어 후속 단계들의 수행성능 효율성과 속도를 증가시킨다.
블록(516)과 연관된 단계 5에서 검출 프로세스(500)로의 입력은 블록(518)의 라인 스냅 거리(line snap distance)가 될 수 있다. 비 제한적인 예로서, 상술한 바와 같은 키포인트 피쳐들의 세트 및 라인들의 세트가 UV 공간에 존재할 수 있다. 라인 스냅 거리 파라미터는 어떤 키포인트 피쳐가 어떤 라인에 속하는지 결정하는 데 도움이 된다. 예를 들어, 라인 스냅 거리 파라미터는 x에서 y까지의 거리(즉, x를 y에 직교 투영한 선분 길이)가 라인 스냅 거리보다 작은 경우 키포인트 피쳐 x가 라인 y에 속하도록 지정할 수 있다. 적절한 데이터 구조를 사용하는 라인과 키포인트 피쳐들 사이의 다른 연관성이 본 개시의 범위와 함께 고려된다.
잠재적 후보 활성 광학 타겟들(130)이 블록들(520, 524)과 각각 연관된 단계 6 및 단계 7에서 라인 세트의 각 라인으로부터 추출된다. 블록(520)과 연관된 단계 6에서, 블록(522)으로부터의 타겟 높이 및 길이 파라미터들로서의 입력들은 타겟 높이 범위, 최소 허용 가능한 타겟 길이, 최대 허용 가능한 타겟 길이, 및 후보 높이 슬랙(candidate height slack)을 포함할 수 있다. 제한이 아닌 예로서, 단계 6은 후보들의 수를 줄임으로써 계산 비용을 감소하기 위해 활성 타겟 후보들의 조기 필터링으로 지향된다. 활성 타겟 후보는 UV 공간에서 크기 및 위치에 대해 체크되어 활성 광학 타겟(130)이 될 수 있는지를 결정한다. 실례로, 검출된 천장 조명들의 행(row)이 이 단계에서 필터링 처리될 것이다. 각 타겟 후보에 대해, 실시 예의 시스템은 UV 공간에서 3D 공간으로 역-투영하여(back-project) 타겟 후보의 물리적 크기를 추정한다. 이러한 크기 추정치는 최소 허용 가능한 타겟 길이와 최대 허용 가능한 타겟 길이의 입력 파라미터들 사이에 있어야 한다. 그러나, 이러한 단계에서 활성 광학 타겟(130)에 대한 코드(150)는 사용될 수 있는 단일 높이가 하나도 없을 정도로 알려져 있지 않을 수도 있다. 따라서, 타겟 후보들은 물류창고 맵에서의 모든 활성 타겟 높이들의 범위와 비교된다. 파라미터 후보 높이 슬랙은, 이에 제한되는 것은 아니지만, 약간 부정확한 카메라 파라미터, 정확히 수평이 아닌 트럭, 정확하지 않은 매핑된(측정된) 활성 타겟 높이 등과 같은 요인들에 의해 도입된 추정 오류들에 대한 시스템 허용성을 갖도록(to make the system tolerant to estimation errors) 타겟 높이 추정치들에 대해 추가적인 글로벌 불확실성을 지정할 수 있다. 실시 예들에서, 본 명세서에서 설명된 프로세스들은 대부분의 후보들을 필터링하는데, 이들을 필터링하지 않는다면 나중에, 활성 타겟 높이들이 모든 가능한 타겟 코드들에 걸쳐 균일하거나 또는 균일한 높이들을 갖는 소량의 서브 세트가 있는 경우(예를 들어, 8 미터 및 12 미터 높이에만 설치된 타겟들) 더 효율적인 방식으로 계산적으로 더 많은 비용이 드는 단계에서 거부될 것이다.
일 실시 예에서, 노이즈 검출들과 연관된 노이즈가 존재하는 상황에서 활성 광학 타겟들(130)의 추출을 용이하게 하기 위해 다수의 후보 활성 광학 타겟들(130)이 각 라인으로부터 추출될 수 있다. 블록(524)과 연관된 단계 7에서, 불충분한 데이터 집계의 결과일 수 있는 충돌하는 후보 활성 광학 타겟들(conflicting candidate active optical targets)이 제거된다. 블록(526)과 연관된 단계 8에서, 후보 활성 광학 타겟들의 세트(130)가 도 5의 검출 프로세스(500)로부터 출력된다.
도 6은 도 5의 검출 프로세스(500)로부터 출력된 후보 활성 광학 타겟들(130)의 세트에 적용되는 디코딩 및 검증 프로세스의 단계들을 도시하는, 도 4의 단계 5의 검증 프로세스(600)를 더욱 상세히 설명한다. 검증 프로세스(600)는 도 5의 블록(526) 및 단계 8에서 출력된 후보 활성 광학 타겟들(130)의 세트가 도 6의 블록(602)과 연관된 단계 9에서 블록(602)에서 검증 프로세스(600)에 입력되도록 도 5의 검출 프로세스(500)를 따른다. 검증 프로세스(600)는 후보 활성 광학 타겟들(130)의 세트에 모두 적용된다. 후보 활성 광학 타겟들(130)의 디코딩 및 검증은 광학 시스템의 해상도가 제한되고 이미지 모서리들 쪽으로 갈수록 해상도가 저하될 수 있는 정도로 광 변조 전달 함수가 완벽하지 않다는 점을 고려한다.
콘트라스트가 낮은 영역에서는 불완전한 변조 전송으로 인해 피쳐 추출들의 신뢰성이 감소할 수 있다. 그러한 상황에서, 활성 타겟 후보 검증을 위한 검증 프로세스는 도 6의 블록(604)과 연관된 단계 10에서 신뢰할 수 있는 디코딩을 하기에는 너무 작은 타겟 후보들을 필터링하는 것으로 시작할 수 있다. 블록(606)에서 타겟 크기 파라미터로서의 입력들은 최대 이미지 공간 범위 및 방사상 대칭 감쇠를 포함할 수 있다. 실시 예들에서, 최대 이미지 공간 범위 파라미터는 보다 긴 거리에서 활성 타겟을 관찰할 때 일부 LED들이 검출되지 않았던 예들에서와 같이 신뢰할 수 없는 디코딩으로 인해 거부되지 않도록 하기 위해 타겟 후보가 UV 공간에서 가져야 하는 크기와 관련된다. 방사형 대칭 감쇠 파라미터는 이미지 품질이 이미지의 중앙에서 가장 좋고 불완전한 렌즈 및 비네팅(vignetting)으로 인해 모서리 쪽으로 갈수록 감소하는 상황을 고려할 수 있다. 상기 시스템은 방사형 대칭 (지수적(exponential)) 모델을 구현할 수 있으며, 여기서 방사형 대칭 감쇠 파라미터는 이미지 모서리 쪽으로의 이미지 품질 저하의 크기를 지정한다. 사실상, 이미지 모서리에서 타겟 후보가 검출되면, 검출된 모서리 타겟 후보는 상기 검출된 모서리 타겟 후보가 최대 이미지 공간 범위 파라미터보다 UV 공간에서 적어도 더 크거나 더 긴 경우에만 더 처리될 수 있다. 2 차원 이미지 UV 공간에서 허용 가능한 최소 타겟 후보 크기는 오버헤드 이미지의 중앙에서 더 작고 이미지 모서리들로 갈수록 커질 수 있다. 2 개의 검출된 LED들 사이의 이미지 UV 공간에서의 거리는 적어도 2 픽셀이 될 수 있지만, 다른 더 크거나 더 작은 거리들이 본 개시의 범위 내에서 고려된다.
블록(608)과 연관된 단계 11에서, 활성 타겟 LED들의 패턴에 저장된 정보는 신뢰할 수 있는 디코딩을 위해 너무 작지 않은 타겟 후보들에 대해 디코딩될 수 있다. 블록(610)으로부터의 타겟 포인트 파라미터로서의 입력은 내부 타겟 포인트 위치들에 대한 허용오차를 포함할 수 있다. 내부 포인트 위치 허용오차 파라미터는 활성 타겟 후보 디코딩 서브 루틴에서 사용될 수 있다. 비 제한적인 예로서, 물리적 활성 타겟의 LED들이 등거리 간격으로 배치되어 있는 경우, 관찰된 타겟 후보를 디코딩하기 전에 투영 왜곡 제거를 위해 천장면에 대한 투영을 진행한다. 이러한 투영은 예를 들어, 불완전한 카메라 캘리브레이션 또는 트럭이 수평이 아니거나 또는 설치된 활성 타겟들이 수평이 아니기 때문에 완벽하지 않을 수 있다. 따라서, 투영된 LED들은 UV 공간에서 완벽하게 등거리로 나타나지 않을 수도 있다. 카메라 센서에 의해 도입된 픽셀 잠금 효과(pixel locking effects)는 등거리가 아닌 간격의 키포인트 검출들에 대해 더욱 기여할 수 있다. 시스템이 활성 타겟 후보를 디코딩하는 데 있어 이러한 불완전한 상태에서 작업할 수 있도록 하기 위해, 시스템은 추출된 피쳐들이 UV 공간에서 활성 타겟 길이의 일정 비율을 이동하도록 허용할 수 있다. 예를 들어, 타겟이 UV 공간에서 100 픽셀 길이이고 내부 타겟 포이트들의 위치 허용오차 파라미터가 0.02 값으로 설정된 경우, UV 공간에서 그 이상적인 위치의 2픽셀 이내에 위치되면 활성 타겟의 검출된 키포인트들은 '스위치된 ON' 구성의 LED로서 해석될 것이다. 실시 예들에서, 원근 왜곡(perspective distortion)을 제거하기 위해 바닥에 평행한 3 차원 평면 상으로 이러한 LED 포인트 패턴들의 원근 투영(perspective projection)이 디코딩에 앞서 선행될 수도 있다. 이러한 투영은 입력으로서 차량에 대한 카메라 포즈를 포함하는 캘리브레이션된 카메라 파라미터들을 이용할 수 있다. 유효한 코드가 검출되지 않은 어떠한 후보 활성 광학 타겟들(130)도 거부된다.
블록(612)과 연관된 단계 12에서, 모든 성공적으로 디코딩된 후보 활성 광학 타겟들(130)에 대해, 활성 광학 타겟(130)의 검출된 LED들의 3 차원 표현이 코드를 갖는 후보 타겟들의 매핑된 높이에 기초하여 활성 광학 타겟(130)의 물리적 크기를 추정하는 데 사용된다. 유효한 크기 범위 내에 있지 않은 후보 타겟은 거부된다. 후보 타겟이 유효한 크기 범위 내에 있는지 여부를 결정하기 위한 입력들은 블록(614)의 물리적 타겟 크기 허용 가능한 파라미터들로서 허용 가능한 최소 및 최대 물리적 타겟 크기를 포함할 수 있다.
블록(616)과 연관된 단계 13에서, 검증 프로세스(600)는 타겟 이미지가 유효한지 여부를 결정하기 위해 진행한다. 일 실시 예에서, 그러한 결정은 검출된 LED들 주변의 쌍별 이미지 패치들(pairwise image patches) 사이의 정규화된 교차 상관을 계산하는 것을 이용하는 이미지 신호 검증에 기초한다. 시스템 체크는 후보 활성 광학 타겟(130)과 연관된 이미지 신호를 분석하여 예를 들어 천창들과 연관된 영역들과 같이 높은 콘트라스트 이미지 영역들에서 잘못된 양성 검출들(false positive detections)을 거부할 수 있다. 비 제한적인 예로서, 검출된 활성 타겟 후보에 대해, UV 공간에서 모든 연관된 위치들은 활성 타겟 LED들이 온 상태인지 또는 오프 상태인지의 여부와 상관없이 하나 이상의 활성 타겟 LED들의 잠재적 위치들에 대해 계산될 수 있다. 이러한 위치들은 UV 공간에 대한 역 투영(back-projection) 이전에 3D 공간에서의 보간(interpolation)을 통해 계산될 수 있다. 검출된거나 보간된 LED 위치들을 중심으로 하는 이미지 패치들이 선택될 수 있으며, 이러한 이미지 패치들의 치수들은 그 위치들 사이의 거리에 따라 변경(scale)될 수 있으며 UV 공간에서 이미지 패치들의 쌍별 겹침(pairwise overlap)이 최소화되도록 설정될 수 있다. 쌍별 이미지 패치들 사이에 적절한 이미지 유사 메트릭들이 계산될 수 있다. 제한이 아닌 예로서, 하나 이상의 검출된 LED들에 대응하는 이미지 패치들의 쌍별 유사성의 최대 값이 검출된 및/또는 보간된 LED 위치들에 대응하는 패치들에 대한 패치들의 쌍별 유사성의 최소 임계 값보다 낮은 경우, 활성 타겟 검출은 거부되어 블록(617)에서 잘못된 양성 거부상태들(false positive rejections)을 제거할 수 있다. 블록(617)에서의 거부는 선택적일 수 있는 하나 이상의 파라미터들에 기초하지 않을 수 있다. 예를 들어, 대안적으로, 블록(617)에서의 거부상태는 특정 이미지 유효성 체크 방식에 기초하여 요구되는 것으로서 거부 기준을 정의하는 데 있어 유연성을 제공하는 것과 같이 블록(618)의 선택적 이미지 파라미터들로 파라미터화될 수 있다.
다른 실시 예에서, 상기 결정은 배경이 유효한지 여부에 기초하고, 최종 시스템 체크는 천창들과 연관된 영역들과 같이 높은 콘트라스트 이미지 영역들에서 잘못된 양성 검출들을 거부하도록 후보 활성 광학 타겟(130)과 연관된 이미지 신호를 분석할 수 있다. 선택적 이미지 파라미터들의 블록(618)에서의 이미지 배경 파라미터들로서의 입력들은 어두운 레벨의 낮은 임계 값, 어두운 레벨의 높은 임계 값, 및 타겟 밝기 임계 절대 값을 포함할 수 있다. 비 제한적인 예로서, 그레이 값들의 히스토그램들은 전술한 바운딩 박스 내의 픽셀들의 그레이 값들의 히스토그램 분포에 기초하여 잘못된 양성 검출들을 거부하기 위해 후보 활성 광학 타겟(130)의 확장된 바운딩 박스로부터 구축된다. 블록(616)에서 후보 타겟의 타겟 이미지가 유효하지 않다는 결정에 대해, 후보 타겟은 블록(617)에서 거부되고 프로세스(700)로부터의 하나 이상의 다른 후보 타겟들이 분석된다. 블록(616)에서 후보 타겟의 타겟 이미지가 유효하다는 결정에 대해, 후보 타겟은 검출된 활성 타겟으로서 수용된다. 블록(620)과 연관된 단계 14에서, 하나 이상의 검출된 활성 타겟들이 생성된다.
사이트 전체에서 고유하지 않은 코드를 갖는 검출된 활성 광학 타겟들(130)도 역시 분석될 수 있다. 그러한 타겟들에 대해, 로컬라이제이션 시스템은 유사하거나 동등한 코드 또는 패턴을 갖는 그러한 활성 광학 타겟들(130)에 대응하는 잠재적 위치들와 연관된 모호성을 해결하기 위해 주변 피쳐들을 사용할 수 있다.
실시 예들에서, 로컬라이제이션 시스템은 타겟들 사이를 구별하기 위해 조명들 및 천창들과 같은 각각의 주변 오버헤드 피쳐들을 조사함으로써 동등한 코드를 갖는 특정 타겟들을 식별할 수 있다. 이러한 프로세스들에서, 활성 광학 타겟(130)은 전술한 바와 같이 오버헤드 이미지로부터 추출될 수 있고 식별된 각각의 코드를 가질 수 있다. 동일한 오버헤드 이미지 프레임에서 천장 조명들과 같은 모든 오버헤드 피쳐들로부터의 중심들이 추출되고, 추출된 활성 광학 타겟(130)의 추출된 코드를 갖는 저장된 맵에서의 모든 위치들이 결정된다. 식별된 추출된 코드를 사용하여 식별된 각 타겟 위치에 대해 차량의 관련 포즈가 계산된다. 로컬라이제이션 시스템 피쳐 맵은 필터링되고, 그 포즈를 사용하여 광학 타겟(130) 주변의 주변 로컬 오버헤드 피쳐들을 식별하고 이러한 피쳐들을 활성 광학 타겟(130)의 예측들로서 사용되도록 2 차원 이미지 공간에 투영하는 데 사용된다. 2 차원 이미지 공간에서의 이미지 프레임으로부터의 오버헤드 피쳐 추출들과 상기 예측들을 매칭하기 위해 연관된 가장 가까운 이웃 데이터가 수행될 수 있다. 다른 적합한 데이터 연관 방법이 본 개시의 범위 내에서 고려된다.
또한, 포즈 피트니스(pose fitness)가 계산될 수 있다. 제한이 아닌 예로서, 포즈 피트니스는 예측들과 추출들 사이의 평균 매칭 오류일 수 있으며, 발견된 다수의 매칭들이 유지될 수 있다. 가장 작은 연관 오류를 갖는 일 예에서와 같이 최상의 포즈 피트니스를 갖는 후보 타겟이 선택될 수 있고, 차량 포즈를 결정하기 위해 전술한 바와 같이 능동 광학 타겟(130)으로서 로컬라이제이션 시스템에 전달될 수 있다. 다수의 타겟들이 낮고 유사한 포즈 피트니스들을 리턴하는 상황에서, 연관된 데이터로부터의 다수의 매칭들은 가장 많은 매칭들을 갖는 것으로 옵션들로부터 선택된 활성 광학 타겟(130)을 결정하는 데 사용될 수 있다. 타겟들 사이에 매칭들의 수가 동일하면, 상기 시스템은 오버헤드 이미지로부터 상기 타겟을 거부할 수 있거나 또는 타겟 후보들의 세트 내에서 차이를 명확히 하기 위해 복수의 추가 테스트들을 수행할 수 있다.
실시 예들에서, 예를 들어 도 5와 관련하여 위에서 설명된 검출 프로세스에 영향을 미칠 수 있는 파라미터들은 검출 범위 및 검출 신뢰성이 될 수 있다. 복수의 광학 타겟들(130)의 검출 가능한 공간 범위는 설치된 활성 광학 타겟(130)과 차량에 있는 카메라의 중심 사이의 높이 차이, 카메라 방향, 물류창고 환경 내의 활성 광학 타겟(130) 방향, 및 활성 광학 타겟(130) 상의 LED들의 밝기 및 간격에 기초할 수 있다. 예를 들어, 물류창고 환경에서 다른 것들과 비교하여 더 높은 레벨에 배치된 활성 광학 타겟들(130)은 카메라로부터 더 큰 원뿔의 가시성으로 인해 더 큰 검출 범위를 허용할 수 있다. 이러한 더 높은 타겟들은 본 명세서에 설명된 바와 같이 초기 키포인트 피쳐 검출에 충분한 이미지 콘트라스트를 제공하기 위해 더 밝고 더 간격이 있는 LED들을 요구할 수 있다. 높은 LED 밝기를 갖는 낮은 높이 범위의 광학 타겟(130)의 경우, 검출 범위는 시선 방향(viewing direction)에 기초할 수 있다. 비 제한적인 예로서, 이러한 낮은 광학 타겟(130)을 그 타겟의 방향에 수직인 방향으로 보는 것은 더 큰 검출 범위를 허용하도록 낮은 광학 타겟(130)을 타겟의 방향과 평행하고 일직선으로 보는 것보다 단축을 덜 유발할 수 있다.
검출 신뢰성은 광학 타겟(130) 상의 LED들에 대한 LED 가시성을 제한할 수 있는 주변의 시각적 클러터(surrounding visual clutter)의 양에 기초할 수 있다. 예를 들어, 랙킹들이나 파이프들은 이러한 LED들 또는 전체 광학 타겟들(130)의 카메라 시야를 가려 검출을 방해할 수 있다. 실시 예들에서, 연속적인 후속 프레임들은 부정확한 검출 가능성을 완화하기 위해 분석될 수 있다.
실시 예들에서, 활성 타겟 후보들을 추출하기 위한 다른 변형 프로세스들이 존재한다. 이들 변형들의 실행 가능성은 사용 가능한 계산 능력과 이미지에 존재하는 시각적 클러터의 양에 의존할 수 있다. 아주 적은 시각적 클러터를 갖는 이미지들은 추출된 피쳐 포인트들의 적절한 공간 분할로부터 직접적인 활성 타겟들의 추출을 허용할 수 있으며, 이는 실례로 재귀적 2-클러스터 KMEANS 방식을 사용하여 얻어 질 수 있다. 이러한 방식에서, 예상된 LED들의 수가 도달되거나 피쳐 포인트들이 이미지 공간에서 특정의 동일 직선상에 있는 기준을 충족하면 재귀 하강(recursive descent)이 종료된다. 이러한 동작은 키포인트 피쳐들의 세트에 대한 분할을 유도하고, 본 명세서에서 설명된 집계 단계에 추가되거나 또는 그 대안이 될 수 있다.
실시 예들에서, 활성 타겟이 분할 검출 방식에서 누락될 수 있어 상기 분할이 타겟에서 개별 LED 검출들을 분리하는 경우 활성 타겟 후보가 생성되지 않게 될 수도 있다. 따라서, 이러한 분할 방식은 UV 공간에서 다른 피쳐들과 공간적으로 잘 분리된 활성 타겟들에 적합할 수 있다.
활성 타겟 LED들의 투영과 관련되지 않은 추출된 피쳐 포인트들을 포함하는 것들과 같이 더 높은 레벨들의 시각적 클러터를 갖는 이미지들은 더 철저한 검색을 거칠 수 있다. 비 제한적인 예로서, 사용될 수 있는 계산 비용을 제한하기 위해 검색 공간을 제한하는 기술은 추출된 피쳐 포인트들의 들로네 삼각 측량(Delaunay triangulation)을 계산하고 본 개시에서 설명된 바와 같이 결과적인 들로네 그래프의 에지들을 집계하는 것을 수반한다. 실제 활성 타겟 후보들의 근처에 보통 정도의 시각적 클러터가 존재하는 실시 예들에서, 깊이 우선 방식으로 선택된 미방문 정점들에서 시작하여 현재 방문되는 정점들의 앞서 언급한 동일 직선상에 있는 기준에 기초하여 종료하는 들로네 그래프(Delaunay graph)의 직접 순회에 의해 집계를 효율적으로 구현할 수 있다. 계산 비용으로 인해, 극도로 복잡한 장면들(extremely cluttered scenes)에 대해서만 완전한 검색이 허용될 수 있다. 예를 들어, 이와 같이 극도로 복잡한 장면들에서는 하나의 잘못된 양성 피쳐 추출보다 많은 추출들이 원의 경계 내에 나타날 가능성이 높게 될 수 있다. 상기 원은 가장 멀리 떨어져 있는 2 개의 인접한 진정한 양성 활성 타겟 피쳐 추출들의 양단부(bisection )에 위치한 중심 포이트와 이들 2 개의 진정한 양성 활성 타겟 피쳐 추출들의 거리와 동등한 직경을 포함할 수 있다.
도 7은 본 명세서에 설명된 오버헤드 피쳐들의 입력 이미지로부터 광학 타겟을 식별하는 것에 기초하여 재고 운송 표면(122)을 따라 자재 취급 차량(100)을 내비게이션 및/또는 추적하는 것과 연관된 프로세스(700)를 예시한다. 일 실시 예에서, 그리고 본 명세서에 설명된 바와 같이, 자재 취급 차량(100)은 카메라(102), 차량용 프로세서(104), 예를 들어 휠들(124)을 통해 재고 운송 표면(122)을 따라 자재 취급 차량(100)을 이동 시키도록 구성된 구동 메커니즘, 물류창고(110)의 보관 구역에 제품을 보관하고 찾아오도록 구성된 자재 취급 메커니즘, 및 상기 구동 및 자재 취급 메커니즘들과 통신하는 차량 제어 아키텍처를 포함한다. 카메라(102)는 차량용 프로세서(104)에 통신 가능하게 결합되고 물류창고(110)의 오버헤드 피쳐의 입력 이미지를 캡처한다.
자재 취급 차량의 차량용 프로세서는 프로세스(700)에 설명된 것과 같은 차량 기능들을 실행한다. 차량 기능들은 블록(702)에서 오버헤드 피쳐들의 2 차원 이미지 정보를 포함하는 카메라 데이터를 검색하는 것일 수 있다. 예를 들어, 하나의 기능은 카메라(102)로부터 카메라 데이터의 초기 세트를 검색하는 것일 수 있다. 카메라 데이터의 초기 세트는 오버헤드 피쳐들의 입력 이미지와 연관된 2 차원 이미지 정보를 포함할 수 있다.
상기 2 차원 이미지 정보는 블록(704)에서 복수의 후보 광학 타겟들(130)을 생성하기 위해 복수의 글로벌 타겟 위치들과 매칭될 수 있다. 예를 들어, 카메라 데이터의 초기 세트로부터의 2 차원 이미지 정보는 복수의 후보 광학 타겟들(130)을 생성하기 위해 물류창고 맵의 복수의 글로벌 타겟 위치들와 매칭될 수 있다. 물류창고 맵의 글로벌 타겟 위치들은 오버헤드 피쳐들의 매핑과 연관될 수 있다. 물류창고 맵은 각각의 글로벌 타겟 위치와 연관된 광학 타겟(130)의 포지션 및 방향을 저장하도록 구성될 수 있고, 각각의 광학 타겟(130)은 코드(150)와 연관될 수 있다. 실시 예들에서, 각각의 광학 타겟(130)은 본 명세서에 설명된 바와 같이 LED들(134)과 같은 복수의 포인트 광원들을 포함할 수 있다. 복수의 광원들은 오버헤드 피쳐로서 물류창고(110)의 천장에 부착되도록 구성된 바(132)에 장착될 수 있다. 복수의 광원들은 각 광학 타겟(130) 각각에 대한 코드(150)를 정의하는 패턴으로 배열될 수 있다. 따라서, 복수의 포인트 광원들은 각 광학 타겟(130) 각각에 대한 코드(150)로서 광 패턴을 포함할 수 있다. 본 명세서에 설명된 바와 같이, 복수의 포인트 광원들은 등거리 및 선형 방식으로 중앙 스트립 부분(136)에 장착될 수 있다. 또한 전술한 바와 같이, 복수의 포인트 광원들은 백색광, 단색광, 좁은 스펙트럼 대역폭을 갖는 광, 또는 이들의 조합을 방출하도록 구성될 수 있다.
예를 들어, 각각의 광학 타겟(130)은 복수의 LED들(134)을 포함할 수 있다. 전술한 바와 같이, 각각의 LED(134)는 각각의 LED(134)의 전방을 향하는 방향과 비교하여 각도 측면 방향들을 향해 더 높은 에너지 방출을 포함하는 각도 방출 특성을 갖도록, 복수의 LED들(134)은 전방 밝기를 감쇠시키고 연관된 각도 측면 밝기를 증가시키도록 구성된 각각의 각도 확산 렌즈들에 의해 커버될 수 있다.
실시 예들에서, 각각의 광학 타겟(130)은 복수의 포인트 광원들(예를 들어, LED들(134))이 장착되는 전면 반대편의 후면에 배치된 일련의 마그네틱 마운트들을 포함할 수 있으며, 상기 일련의 마그네틱 마운트들은 물류창고(110)의 오버헤드 피쳐를 포함하도록 천장에 대해 각각의 광학 타겟(130)을 장착하도록 구성된다. 본 명세서에 설명된 바와 같이, 각각의 광학 타겟(130)은 물류창고 맵에서 각각의 광학 타겟(130)의 포지션의 저장을 돕도록 구성된 중심 기준 마커(140)를 포함할 수 있다. 중심 기준 마커(140)는 각각의 광학 타겟(130)의 포지션을 생성하기 위해 재고 운송 표면(122) 상에 그리고 그로부터 배치된 레이저 거리 미터에 의해 검출되도록 구성될 수 있다. 또한, 각각의 광학 타겟(130)은 물류창고 맵에서 각각의 광학 타겟(130)의 방향의 저장을 돕도록 구성된 단부 마커(142)를 포함할 수 있다.
블록(706)에서, 복수의 후보 광학 타겟들(130)은 후보 광학 타겟(130)을 결정하기 위해 필터링될 수 있고, 후보 광학 타겟(130)은 상기 후보 광학 타겟(130)과 연관된 코드(150)를 식별하기 위해 디코딩될 수 있다. 블록(708)에서, 상기 식별된 코드(150)와 연관된 광학 타겟(130)이 식별될 수 있다. 또한, 카메라 메트릭이 결정될 수 있으며, 상기 카메라 메트릭은 식별된 광학 타겟(130)에 대한 카메라(102)의 거리 및 각도의 표현들 및 물류창고 맵에서 식별된 광학 타겟(130)의 위치 및 방향을 포함한다.
블록(710)에서, 식별된 광학 타겟(130)에 기초하여 차량 포즈가 계산될 수 있다. 예를 들어, 차량 포즈는 카메라 메트릭에 기초하여 계산될 수 있다. 블록(712)에서, 자재 취급 차량(100)은 블록(710)의 차량 포즈를 사용하여 내비게이션될 수 있다. 자재 취급 차량(100)의 차량용 프로세서(104)는 또한 자재 취급 차량(100)이 분실될 때 카메라(102)로부터의 후속 카메라 데이터 세트로 프로세스(700)의 단계들을 반복하도록 구성될 수 있다. 차량용 프로세서(104)는 자재 취급 차량(100)이 분실되었는지 여부를 결정하기 위해 차량 기능들을 실행할 수 있으며, 이러한 것은 시드 포지션이 부정확한 데이터를 포함하고 있는지 여부를 결정하고, 자재 취급 차량(100)과 연관된 누적된 주행 거리 측정(accumulated odometry)과 연관된 오류를 보정하기에 카메라 데이터가 불충분한지 여부를 결정하는 것 중 적어도 하나를 포함한다.
실시 예들에서, 자재 취급 차량(100)의 차량용 프로세서(104)는 또한, 자재 취급 차량(100)과 연관된 누적된 주행 거리 측정을 사용하는 기능들을 추가로 실행하여, 차량 포즈를 현재 로컬라이즈된 포지션으로 갱신하고, 시드 포지션을 상기 현재 로컬라이즈된 포지션으로 갱신하고, 재고 운송 표면(122)을 따라 자재 취급 차량(100)의 내비게이션을 추적하거나, 적어도 부분적으로 자동화된 방식으로 상기 재고 운송 표면(122)을 따라 자재 취급 차량(100)의 길을 탐색하거나, 또는 둘 모두에서 상기 현재 로컬라이즈된 포지션을 이용할 수 있다. 시드 포지션은 현재 로컬라이즈된 포지션으로 시드 포지션을 갱신한 후 디스플레이 상에 현재 로컬라이즈된 포지션으로 게시될 수 있다.
본 개시 내용을 설명하고 정의할 목적으로, 파라미터의 "함수"인 변수 또는 다른 변수에 대한 본원에서의 언급은 그 변수가 열거된 파라미터 또는 변수의 배타적인 함수임을 나타내려는 의도가 아님에 유의해야 한다. 오히려, 열거된 파라미터의 "함수"인 변수에 대한 언급은 그 변수가 단일 파라미터 또는 복수의 파라미터들의 함수가 되도록 확장형으로 의도된다.
또한, 본 명세서에서 "적어도 하나"의 구성요소, 요소 등의 인용은 단수 표현(예컨대, 관사 "a"또는 "an")의 대안적 사용이 단일 구성요소, 요소 등으로 제한되어야 한다는 추론을 생성하는 데 사용되어서는 안된다는 점을 유의해야 한다.
특정 속성을 구현하거나 특정 방식으로 기능하기 위해 특정의 방식으로 "구성” 또는 "프로그래밍” 되는 본 개시 내용의 구성요소에 대한 본원에서의 인용은 의도된 용도의 인용과는 대조적으로 구조적인 인용이라는 점을 유의해야 한다. 보다 구체적으로, 구성요소가 "구성” 되거나 "프로그래밍” 되는 방식에 대한 본원에서의 언급은 구성요소의 기존 물리적 조건을 나타내며, 따라서 구성요소의 구조적 특성에 대한 명확한 인용으로 간주되어야 한다.
본 개시 내용을 설명하고 정의할 목적으로, 용어 "실질적으로” 및 "대략적으로” 는 임의의 정량적 비교, 값, 측정, 또는 기타 표현에 기인할 수 있는 고유한 불확실성의 정도를 나타내기 위해 본원에서 사용된다는 점에 유의해야 한다. 용어 "실질적으로” 및 "대략적으로” 는 또한 정량적 표현이 쟁점 주제의 기본 기능의 변경을 초래하지 않고서 명시된 참조와 다를 수 있는 정도를 나타내기 위해 사용된다.
본 개시 내용의 주제를 상세하게 그리고 그 특정 실시 예들을 참조하여 설명하였지만, 여기에 개시된 다양한 세부 사항들은 비록 특정 요소가 본 상세한 설명에 수반되는 도면들 각각에서 예시된 경우라 하더라도 이들 세부 사항들이 여기에 설명된 다양한 실시 예들의 필수 구성요소들인 요소들과 관련된다는 것을 암시하는 것으로 간주되어서는 안된다는 점에 유의해야 한다. 또한, 이에 제한되지는 않지만 첨부된 청구 범위에 정의된 구현들을 포함하는 본 개시 내용의 범위로부터 벗어나지 않고서 수정 및 변경이 가능하다는 것은 명백할 것이다. 보다 구체적으로, 본 개시 내용의 일부 측면들이 본 명세서에서 바람직하거나 특히 유리한 것으로 확인되었지만, 본 개시 내용이 반드시 이러한 측면으로 제한되는 것은 아니라는 것이 고려되어야 한다.
다음의 청구항들 중 하나 이상은 과도기적 문구로서 용어 "여기서(wherein)"를 사용한다는 점에 유의해야 한다. 본 개시 내용을 정의할 목적으로, 이 용어는 구조의 일련의 특성에 대한 인용을 도입하는 데 사용되는 개방형 전환 문구로서 청구 범위에 도입되었으며 보다 일반적으로 사용되는 개방형 프리앰블 용어 "포함하는” 과 같은 방식으로 해석되어야 함을 유의해야 한다.

Claims (20)

  1. 카메라, 차량용 프로세서, 재고 운송 표면을 따라 자재 취급 차량을 이동시키도록 구성된 구동 메커니즘, 물류창고의 보관 구역에 제품을 보관하고(store) 찾아오도록(retrieve) 구성된 자재 취급 메커니즘, 및 상기 구동 및 자재 취급 메커니즘들과 통신하는 차량 제어 아키텍처를 포함하는 자재 취급 차량(materials handling vehicle)에 있어서:
    상기 카메라는 상기 차량용 프로세서에 통신 가능하게 결합되고, 오버헤드 피쳐들(overhead features)의 입력 이미지를 캡처하며,
    상기 자재 취급 차량의 차량용 프로세서는 차량 기능들을 실행하여:
    (i) 상기 카메라로부터 카메라 데이터의 초기 세트를 검색하고-상기 카메라 데이터의 초기 세트는 오버헤드 피쳐들의 입력 이미지와 관련된 2 차원 이미지 정보를 포함함-,
    (ii) 상기 카메라 데이터의 초기 세트로부터의 2 차원 이미지 정보를 물류창고 맵의 복수의 글로벌 타겟 위치들과 매칭하여 복수의 후보 광학 타겟들을 생성하고-상기 물류창고 맵의 글로벌 타겟 위치들은 상기 오버헤드 피쳐들의 매핑과 연관되고, 상기 물류창고 맵은 각 글로벌 타겟 위치와 연관된 광학 타겟의 포지션 및 방향을 저장하도록 구성되고, 각 광학 타겟은 하나의 코드와 연관됨-,
    (iii) 후보 광학 타겟을 결정하기 위해 상기 복수의 후보 광학 타겟들을 필터링하고,
    (iv) 상기 후보 광학 타겟과 연관된 코드를 식별하기 위해 상기 후보 광학 타겟을 디코딩하고,
    (v) 상기 식별된 코드와 연관된 광학 타겟을 식별하고,
    (vi) 상기 물류창고 맵에서의 상기 식별된 광학 타겟의 포지션과 방향 및 상기 식별된 광학 타겟에 대한 상기 카메라의 거리 및 각도의 표현들을 포함하는 카메라 메트릭(camera metric)을 결정하고,
    (vii) 상기 카메라 메트릭에 기초하여 차량 포즈(vehicle pose)를 계산하고,
    (viii) 상기 차량 포즈를 이용하여 상기 자재 취급 차량의 길을 탐색하는(navigate)는, 자재 취급 차량.
  2. 제 1 항에 있어서, 각각의 광학 타겟은 복수의 발광 다이오드들(LEDs)을 포함하는, 자재 취급 차량.
  3. 제 1 항에 있어서, 각각의 광학 타겟은 각각의 LED가 각각의 LED의 전방을 향하는 방향과 비교하여 각도 측면 방향들을 향해 더 높은 에너지 방출을 포함하는 각도 방출 특성을 갖도록, 전방 밝기를 감쇠시키고 연관된 각도 측면 밝기를 증가시키도록 구성된 각각의 각도 확산 렌즈들에 의해 커버되는 복수의 발광 다이오드들(LEDs)을 포함하는, 자재 취급 차량.
  4. 제 1 항에 있어서, 각각의 광학 타겟은 고유한 광학 타겟(unique optical target)이고 각 고유 광학 타겟 각각에 대한 코드를 각각의 고유 코드로 정의하는 패턴으로 배열된 복수의 포인트 광원들(point light sources)을 포함하는, 자재 취급 차량.
  5. 제 1 항에 있어서,
    각각의 광학 타겟은 오버헤드 피쳐로서 천장에 부착되도록 구성되는 바에 장착된 복수의 포인트 광원들을 포함하고,
    상기 복수의 포인트 광원들은 각 광학 타겟 각각에 대한 코드로서 광 패턴을 포함하는, 자재 취급 차량.
  6. 제 5 항에 있어서, 상기 복수의 포인트 광원들은 등거리 및 선형 방식으로 중앙 스트립 부분에 장착되는, 자재 취급 차량.
  7. 제 5 항에 있어서, 상기 복수의 포인트 광원들은 백색광, 단색광, 좁은 스펙트럼 대역폭을 갖는 광, 또는 이들의 조합을 방출하도록 구성되는, 자재 취급 차량.
  8. 제 1 항에 있어서, 각각의 광학 타겟은 복수의 포인트 광원들이 장착되는 전면 반대편의 후면에 배치된 일련의 마그네틱 마운트들(magnetic mounts)을 포함하고, 상기 일련의 마그네틱 마운트들은 물류창고의 오버헤드 피쳐를 포함하도록 천장에 대해 각각의 광학 타겟을 장착하도록 구성되는, 자재 취급 차량.
  9. 제 1 항에 있어서, 각각의 광학 타겟은 물류창고 맵에서 각각의 광학 타겟의 포지션의 저장을 돕도록 구성된 중심 기준 마커를 포함하는, 자재 취급 차량.
  10. 제 9 항에 있어서, 상기 중심 기준 마커는 각각의 광학 타겟의 포지션을 생성하기 위해 재고 운송 표면 상에 그리고 그로부터 배치된 레이저 거리 미터에 의해 검출되도록 구성되는, 자재 취급 차량.
  11. 제 1 항에 있어서, 각각의 광학 타겟은 물류창고 맵에서 각각의 광학 타겟의 방향의 저장을 돕도록 구성된 단부 마커(end marker)를 포함하는, 자재 취급 차량.
  12. 제 1 항에 있어서, 상기 차량용 프로세서는 또한 차량 기능들을 실행하여:
    (i) 상기 자재 취급 차량과 연관된 누적된 주행 거리 측정(accumulated odometry)을 사용하여, 상기 차량 포즈를 현재 로컬라이즈된 포지션(current localized position)으로 갱신하고;
    (ii) 시드 포지션(seed position)을 상기 현재 로컬라이즈된 포지션으로 갱신하고;
    (iii) 상기 재고 운송 표면을 따라 상기 자재 취급 차량의 내비게이션을 추적하거나, 적어도 부분적으로 자동화된 방식으로 상기 재고 운송 표면을 따라 상기 자재 취급 차량의 길을 탐색(navigate)하거나, 또는 둘 모두에서 상기 현재 로컬라이즈된 포지션을 이용하는, 자재 취급 차량.
  13. 제 12 항에 있어서, 상기 차량용 프로세서는 또한 상기 시드 포지션을 상기 현재 로컬라이즈된 포지션으로 갱신한 후 디스플레이 상에 상기 현재 로컬라이즈된 포지션으로서 상기 시드 포지션을 게시하는 차량 기능을 수행하는, 자재 취급 차량.
  14. 제 1 항에 있어서, 상기 차량용 프로세서는 상기 자재 취급 차량이 분실될 때 후속 카메라 데이터 세트로 단계들 (i) 내지 (vi) 를 반복하도록 구성되는, 자재 취급 차량.
  15. 제 14 항에 있어서,
    상기 차량용 프로세서는 상기 자재 취급 차량이 분실되었는지 여부를 결정하기 위해 차량 기능들을 실행할 수 있으며, 상기 차량 기능들은:
    (i) 시드 포지션이 부정확한 데이터를 포함하고 있는지 여부를 결정하는 것; 및
    (ii) 상기 자재 취급 차량과 연관된 누적된 주행 거리 측정과 연관된 오류를 보정하기에 상기 카메라 데이터가 불충분한지 여부를 결정하는 것 중 적어도 하나를 포함하는, 자재 취급 차량.
  16. 카메라, 차량용 프로세서, 재고 운송 표면을 따라 자재 취급 차량을 이동시키도록 구성된 구동 메커니즘, 물류창고의 보관 구역에 제품을 보관하고 찾아오도록 구성된 자재 취급 메커니즘, 및 상기 구동 및 자재 취급 메커니즘들과 통신하는 차량 제어 아키텍처를 포함하는 자재 취급 차량에 있어서:
    상기 카메라는 상기 차량용 프로세서에 통신 가능하게 결합되고, 오버헤드 피쳐들의 입력 이미지를 캡처하며,
    상기 자재 취급 차량의 차량용 프로세서는 차량 기능들을 실행하여:
    (i) 상기 카메라로부터 카메라 데이터의 초기 세트를 검색하고-상기 카메라 데이터의 초기 세트는 오버헤드 피쳐들의 입력 이미지와 관련된 2 차원 이미지 정보를 포함함-,
    (ii) 상기 카메라 데이터의 초기 세트로부터의 2 차원 이미지 정보를 물류창고 맵의 복수의 글로벌 타겟 위치들과 매칭하여 복수의 후보 광학 타겟들을 생성하고-상기 물류창고 맵의 글로벌 타겟 위치들은 상기 오버헤드 피쳐들의 매핑과 연관되고, 상기 물류창고 맵은 각 글로벌 타겟 위치와 연관된 광학 타겟의 포지션 및 방향을 저장하도록 구성되고, 각 광학 타겟은 하나의 코드와 연관되며, 각 광학 타겟은 상기 오버헤드 피쳐들 중 하나의 오버헤드 피쳐로서 천장에 부착하도록 구성된 바에 장착된 복수의 포인트 광원들을 포함하고, 상기 복수의 포인트 광원들은 각 광학 타겟 각각에 대한 코드로서 광 패턴을 포함함-,
    (iii) 후보 광학 타겟을 결정하기 위해 상기 복수의 후보 광학 타겟들을 필터링하고,
    (iv) 상기 후보 광학 타겟과 연관된 코드를 식별하기 위해 상기 후보 광학 타겟을 디코딩하고,
    (v) 상기 식별된 코드와 연관된 광학 타겟을 식별하고,
    (vi) 상기 식별된 광학 타겟에 대한 상기 카메라의 거리 및 각도의 표현들 및 상기 물류창고 맵에서의 상기 식별된 광학 타겟의 포지션 및 방향을 포함하는 카메라 메트릭(camera metric)을 결정하고,
    (vii) 상기 카메라 메트릭에 기초하여 차량 포즈(vehicle pose)를 계산하고,
    (viii) 상기 재고 운송 표면을 따라 상기 자재 취급 차량의 내비게이션을 추적하거나, 적어도 부분적으로 자동화된 방식으로 상기 재고 운송 표면을 따라 상기 자재 취급 차량의 길을 탐색하거나, 또는 둘 모두에서 상기 현재 포즈를 이용하는, 자재 취급 차량.
  17. 제 16 항에 있어서, 상기 복수의 포인트 광원들은 등거리 및 선형 방식으로 중앙 스트립 부분에 장착되는, 자재 취급 차량.
  18. 제 16 항에 있어서, 상기 복수의 포인트 광원들은 백색광, 단색광, 좁은 스펙트럼 대역폭을 갖는 광, 또는 이들의 조합을 방출하도록 구성되는, 자재 취급 차량.
  19. 재고 운송 표면을 따라 자재 취급 차량의 내비게이션을 탐색하거나 추적하는 방법에 있어서:
    물류창고의 재고 운송 표면에 자재 취급 차량을 배치하는 단계로서, 상기 자재 취급 차량은 카메라, 차량용 프로세서, 상기 재고 운송 표면을 따라 상기 자재 취급 차량을 이동시키도록 구성된 구동 메커니즘, 상기 물류창고의 보관 구역에 제품을 보관하고 찾아오도록 구성된 자재 취급 메커니즘, 및 상기 구동 및 자재 취급 메커니즘들과 통신하는 차량 제어 아키텍처를 포함하는, 상기 자재 취급 차량을 배치하는 단계;
    상기 재고 운송 표면을 따라 상기 자재 취급 차량을 이동시키기 위해 상기 구동 메커니즘을 이용하는 단계;
    상기 자재 취급 차량이 상기 재고 운송 표면을 따라 이동할 때 상기 카메라를 통해 상기 물류창고의 오버헤드 피쳐들의 입력 이미지를 캡처하는 단계;
    상기 카메라로부터 카메라 데이터의 초기 세트를 검색하는 단계로서, 상기 카메라 데이터의 초기 세트는 상기 오버헤드 피쳐들의 입력 이미지와 연관된 2 차원 이미지 정보를 포함하는, 상기 카메라 데이터의 초기 세트를 검색하는 단계;
    상기 카메라 데이터의 초기 세트로부터의 2 차원 이미지 정보를 상기 물류창고 맵의 복수의 글로벌 타겟 위치들과 매칭하여 복수의 후보 광학 타겟들을 생성하는 단계로서, 상기 물류창고 맵의 글로벌 타겟 위치들은 상기 오버헤드 피쳐들의 매핑과 연관되고, 상기 물류창고 맵은 각 글로벌 타겟 위치와 연관된 광학 타겟의 포지션 및 방향을 저장하도록 구성되고, 각 광학 타겟은 하나의 코드와 연관되는, 상기 복수의 후보 광학 타겟들을 생성하는 단계;
    후보 광학 타겟을 결정하기 위해 상기 복수의 후보 광학 타겟들을 필터링하는 단계;
    상기 후보 광학 타겟과 연관된 코드를 식별하기 위해 상기 후보 광학 타겟을 디코딩하는 단계;
    상기 식별된 코드와 연관된 광학 타겟을 식별하는 단계;
    상기 물류창고 맵에서의 상기 식별된 광학 타겟의 포지션과 방향 및 상기 식별된 광학 타겟에 대한 상기 카메라의 거리 및 각도의 표현들을 포함하는 카메라 메트릭을 결정하는 단계;
    상기 카메라 메트릭에 기초하여 차량 포즈를 계산하는 단계; 및
    상기 차량 포즈를 이용하여 상기 자재 취급 차량의 길을 탐색하는 단계를 포함하는, 방법.
  20. 제19항에 있어서,
    각각의 광학 타겟은 오버헤드 피쳐로서 천장에 부착되도록 구성되는 바에 장착된 복수의 포인트 광원들을 포함하고,
    상기 복수의 포인트 광원들은 각 광학 타겟 각각에 대한 코드로서 광 패턴을 포함하는, 방법.
KR1020207027377A 2018-02-23 2019-02-20 광학 타겟 기반 실내 차량 내비게이션을 위한 시스템 및 방법 KR20200124263A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862634219P 2018-02-23 2018-02-23
US62/634,219 2018-02-23
PCT/US2019/018768 WO2019164943A1 (en) 2018-02-23 2019-02-20 Systems and methods for optical target based indoor vehicle navigation

Publications (1)

Publication Number Publication Date
KR20200124263A true KR20200124263A (ko) 2020-11-02

Family

ID=65812381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207027377A KR20200124263A (ko) 2018-02-23 2019-02-20 광학 타겟 기반 실내 차량 내비게이션을 위한 시스템 및 방법

Country Status (8)

Country Link
US (3) US11181925B2 (ko)
EP (1) EP3755969A1 (ko)
KR (1) KR20200124263A (ko)
CN (2) CN116907458A (ko)
AU (2) AU2019225801B2 (ko)
CA (1) CA3092038A1 (ko)
MX (1) MX2020008586A (ko)
WO (1) WO2019164943A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018036937A (ja) * 2016-09-01 2018-03-08 住友電気工業株式会社 画像処理装置、画像処理システム、画像処理プログラムおよびラベル
JP6869264B2 (ja) * 2017-01-20 2021-05-12 ソニーネットワークコミュニケーションズ株式会社 情報処理装置、情報処理方法およびプログラム
US20190128994A1 (en) * 2017-10-31 2019-05-02 Richard Kozdras Sensor system
CN110044334B (zh) * 2018-01-16 2020-04-21 京东方科技集团股份有限公司 基于维诺图的室内空间定位
CA3092038A1 (en) * 2018-02-23 2019-08-29 Crown Equipment Corporation Systems and methods for optical target based indoor vehicle navigation
US20210209791A1 (en) * 2018-05-20 2021-07-08 Avular B.V. Estimating a pose of a spatially movable platform
MX2021000500A (es) 2018-07-17 2021-04-12 Crown Equip Corp Sistemas y metodos para la calibracion de la posicion de vehiculos mediante el uso de identificacion de puntales de estanteria.
KR20210038538A (ko) 2018-08-01 2021-04-07 크라운 이큅먼트 코포레이션 창고 환경 속도 구역 관리를 위한 시스템 및 방법
US10852740B2 (en) * 2018-09-28 2020-12-01 X Development Llc Determining the orientation of flat reflectors during robot mapping
DE102018221142A1 (de) * 2018-12-06 2020-06-10 Robert Bosch Gmbh Lokalisierung in komplexen Verkehrsszenarien durch Markierungen
CN113226952B (zh) * 2018-12-27 2023-04-18 日本电气通信系统株式会社 物品位置管理装置、物品位置管理系统、物品位置管理方法和程序
AU2020217710A1 (en) 2019-02-06 2021-08-26 Crown Equipment Corporation Systems and methods for out of aisle localization and vehicle position calibration using rack leg identification
EP3963418B1 (en) 2019-05-02 2023-12-27 Crown Equipment Corporation Industrial vehicle with feature-based localization and navigation
CN112684728B (zh) * 2019-10-17 2021-09-28 广东原点智能技术有限公司 一种基于激光slam的机器人码垛控制方法
US11438886B2 (en) * 2020-02-27 2022-09-06 Psj International Ltd. System for establishing positioning map data and method for the same
CN114333126A (zh) * 2020-03-09 2022-04-12 中通服公众信息产业股份有限公司 一种检查站智能人车核验系统及方法
CN111652103B (zh) * 2020-05-27 2023-09-19 北京百度网讯科技有限公司 室内定位方法、装置、设备以及存储介质
US11398048B2 (en) * 2020-07-30 2022-07-26 Apical Limited Estimating camera pose
CN112161618B (zh) * 2020-09-14 2023-03-28 灵动科技(北京)有限公司 仓储机器人定位与地图构建方法、机器人及存储介质
CN114445502A (zh) 2020-11-06 2022-05-06 财团法人工业技术研究院 多摄影机定位调度系统及方法
CN113067847B (zh) * 2021-02-02 2022-07-12 绍兴晨璞网络科技有限公司 一种匹配式超宽带定位系统架构设计方法
CN114485682B (zh) * 2021-12-30 2023-06-27 武汉光庭信息技术股份有限公司 一种基于slam技术的定位方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798920A (en) * 1995-11-17 1998-08-25 Hk Systems, Inc. Storage and retrieval machine control system having an encoder and an optical distance meter
US8381982B2 (en) * 2005-12-03 2013-02-26 Sky-Trax, Inc. Method and apparatus for managing and controlling manned and automated utility vehicles
EP3576501A3 (en) * 2008-04-14 2020-01-08 Digital Lumens Incorporated Modular lighting systems
US8261971B2 (en) * 2010-06-30 2012-09-11 Hong Kong Applied Science And Technology Research Self-powered electronic label
US8752761B2 (en) * 2012-09-21 2014-06-17 Symbol Technologies, Inc. Locationing using mobile device, camera, and a light source
US9523468B2 (en) * 2013-08-12 2016-12-20 Simply Leds, Llc. Lighting fixture having enhanced light distribution performance
US9170581B2 (en) * 2013-09-30 2015-10-27 Crown Equipment Limited Industrial vehicles with overhead light based localization
KR101769284B1 (ko) * 2014-06-27 2017-08-18 크라운 이큅먼트 코포레이션 연계된 형태 쌍들을 사용하는 미확인 차량 회수
US9174830B1 (en) * 2014-09-29 2015-11-03 Crown Equipment Limited Industrial vehicles with point fix based localization
US9880009B2 (en) * 2015-09-04 2018-01-30 Crown Equipment Corporation Industrial vehicle with feature-based localization and navigation
US10072934B2 (en) 2016-01-15 2018-09-11 Abl Ip Holding Llc Passive marking on light fixture detected for position estimation
US10351129B2 (en) * 2017-01-13 2019-07-16 Ford Global Technologies, Llc Collision mitigation and avoidance
CA3092038A1 (en) * 2018-02-23 2019-08-29 Crown Equipment Corporation Systems and methods for optical target based indoor vehicle navigation

Also Published As

Publication number Publication date
US20190265722A1 (en) 2019-08-29
AU2024201606A1 (en) 2024-03-28
EP3755969A1 (en) 2020-12-30
WO2019164943A1 (en) 2019-08-29
US11181925B2 (en) 2021-11-23
US20220043457A1 (en) 2022-02-10
AU2019225801A1 (en) 2020-09-03
CA3092038A1 (en) 2019-08-29
CN111989544A (zh) 2020-11-24
CN116907458A (zh) 2023-10-20
CN111989544B (zh) 2023-08-01
US20240028045A1 (en) 2024-01-25
US11815905B2 (en) 2023-11-14
MX2020008586A (es) 2020-09-21
AU2019225801B2 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
US11815905B2 (en) Systems and methods for optical target based indoor vehicle navigation
EP3489895B1 (en) Industrial vehicles with point fix based localization
AU2015280776B2 (en) Vehicle positioning or navigation utilizing associated feature pairs
EP3489894B1 (en) Industrial vehicles with overhead light based localization
CN101351754B (zh) 移动设备跟踪
EP3824365B1 (en) System for vehicle position calibration using rack leg identification
KR20180049024A (ko) 특징부-기반 위치파악 및 네비게이션을 이용하는 산업용 차량
US11157746B2 (en) Method and system for detecting an elevated object situated within a parking facility
CN110942663B (zh) 一种停车场的监控分配引导方法和系统
KR101944497B1 (ko) 지능형 cctv를 활용한 무인주행차량의 제어시스템 및 방법
CN113971697A (zh) 一种空地协同车辆定位定向方法
CN115600118B (zh) 基于二维激光点云的托盘腿识别方法及系统
Massimo et al. A Smart vision system for advanced LGV navigation and obstacle detection
US12007238B2 (en) Positioning system and method for operating a mobile unit positioning system
US20200200544A1 (en) Positioning system and method for operating a mobile unit positioning system
JP2020077297A (ja) 位置姿勢推定装置
CN117570977A (zh) 机器人的定位方法、定位装置、机器人及存储介质