KR102385253B1 - 배제 구역과의 다중 해상도 스캔 매칭 - Google Patents

배제 구역과의 다중 해상도 스캔 매칭 Download PDF

Info

Publication number
KR102385253B1
KR102385253B1 KR1020207011106A KR20207011106A KR102385253B1 KR 102385253 B1 KR102385253 B1 KR 102385253B1 KR 1020207011106 A KR1020207011106 A KR 1020207011106A KR 20207011106 A KR20207011106 A KR 20207011106A KR 102385253 B1 KR102385253 B1 KR 102385253B1
Authority
KR
South Korea
Prior art keywords
map
robot
pose
exclusion
search
Prior art date
Application number
KR1020207011106A
Other languages
English (en)
Other versions
KR20200085271A (ko
Inventor
토마스 무어
브래들리 파워스
Original Assignee
로커스 로보틱스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로커스 로보틱스 코포레이션 filed Critical 로커스 로보틱스 코포레이션
Publication of KR20200085271A publication Critical patent/KR20200085271A/ko
Application granted granted Critical
Publication of KR102385253B1 publication Critical patent/KR102385253B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/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/0248Control 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 in combination with a laser
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/0492Storage devices mechanical with cars adapted to travel in storage aisles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • 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/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • 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/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • G05D2201/0216

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Optics & Photonics (AREA)
  • Electromagnetism (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

로봇을 현재 포즈로부터 목표 포즈로 내비게이션시키는 방법이 개시된다. 맵은 로봇 내비게이션을 위한 구역 내의 장애물 및 자유 공간을 나타낸다. 매칭 맵 피라미드 및 배제 맵 피라미드는 맵 피라미드의 최고 해상도에서 연속적으로 낮아지는 해상도까지의 맵 및 데시메이션에 기반하여 구성된다. 목표 경로를 따라 현재 위치에서 목표 포즈로 내비게이션시키기 위한 현재 포즈는 검색 구역을 결정하고 검색 힙을 생성하는 것을 포함한다. 검색 힙 상에서 검색 작업들의 점수화는 최고 해상도 매칭 맵에서 최상의 후보 포즈를 결정하거나 다음 높은 해상도 매칭 맵에서의 검색 작업으로 검색 힙을 확장시킨다. 다음 높은 해상도 매칭 맵으로 검색 힙을 확장하면 로봇을 배제 구역에 로컬화시킬 검색 작업을 방지할 수 있다.

Description

배제 구역과의 다중 해상도 스캔 매칭
본 출원은 2017년 9월 22일 출원된 "비용 결정면에서 최적의 상호 충돌 방지를 사용하는 동적 윈도우 접근법(DYNAMIC WINDOW APPROACH USING OPTIMAL RECEIPROCAL COLLISON AVOICANCE COST-CRITIC)"이라는 명칭의 미국 출원 번호 제15/712,256호와 관련되는 2017년 9월 22일에 출원된 미국 출원 번호 제15/712,222호의 우선일의 이점을 주장하며, 이들은 본원에 참고로 포함된다.
본원에 기술된 발명은 일반적으로 장애물을 포함한 차원 공간의 공간적 표현을 사용하여 로봇을 타겟 위치로 내비게이션하는 것에 관한 것이다. 구체적으로, 본 발명은 제품 주문(product orders)의 풀필먼트(fulfillment)를 이행하거나 지원하기 위해 주문 풀필먼트 창고를 작동시키는 자율 또는 반 자율 로봇의 포즈를 결정하는 개선된 방법이다.
많은 애플리케이션에서, 로봇은 인간 대신 기능을 수행하거나 생산성 및 효율성을 높이기 위해 인간을 지원하는 데 사용된다. 이러한 하나의 애플리케이션은 전형적으로 가정 배달(home delivery)을 위해 인터넷을 통해 주문한 고객에게 배송할 제품으로 채워진 대형 창고에서 수행되는 주문 풀필먼트(order fulfillment)이다. 적시에, 정확하고 효율적인 방식으로 그러한 주문을 이행(fulfilling)하는 것은 논리적으로 최소한으로 말하기가 어려운 과제가 된다.
온라인 인터넷 쇼핑 애플리케이션에서, 예를 들어, 가상 쇼핑 카트(virtual shopping cart)의 "체크 아웃" 버튼을 클릭하면 "주문"이 생성된다. 주문은 특정 주소로 배송될 품목 목록을 포함한다. "풀필먼트(fulfillment)"의 프로세스는 대형 창고에서 이러한 품목을 물리적으로 가져 오거나 "피킹(picking)"하고, 이를 포장(packing)하고, 그리고 이를 지정된 주소로 배송(shipping)하는 과정을 포함한다.
따라서, 주문 풀필먼트 프로세스의 중요한 목표는 가능한 한 짧은 시간 내에 많은 품목을 배송하는 것이다. 주문을 접수하고, 그 풀필먼트를 계획하고, 보관 선반이나 빈을 찾고, 제품을 피킹하고, 그리고 주문된 각각의 품목에 대한 프로세스를 반복한 다음 그 주문을 배송 스테이션에 전달하는 프로세스는 반복적이고 노동 집약적이다. 재고가 빠르게 회전되고 있는 수천 또는 수만 개의 품목이 비축되어 있는 창고에서, 로봇은 적시의 효율적인 주문 풀필먼트를 보장하는 데 중요한 역할을 하고 있다. 또한, 궁극적으로 가장 먼저 배송될 제품이 창고에 입고되고 창고 전체에 걸쳐 보관 빈(storage bins)에 순차적인 방식(orderly fashion)으로 보관되거나 "배치"되어야 하며, 따라서 그 제품들은 배송을 위해 쉽게 회수될 수 있다.
로봇을 사용하여 피킹(picking) 및 배치(placing) 기능을 수행하는 것은 로봇 단독에 의해 수행될 수 있거나 또는 인간 조작자의 지원과 함께 수행될 수 있다. 인간과의 상호 작용으로 수행되든 아니든 간에, 피킹 및 배치 또는 보관 기능을 위해서는 로봇이 현재 위치에서 타겟 제품 보관소 또는 "빈" 위치로 내비게이션할 것이 요구된다. 현재 위치에서 제품 보관소 또는 빈으로의 로봇의 목표 경로를 따르는 과정에서, 로봇은 일반적으로 벽, 선반, 지지 구조물, 인간 및 기타 로봇과 같은 정지해 있거나 이동중인 장애물과 조우하게 된다. 새로운 제품이 비축되고 고갈됨에 따라, 새로운 선반과 빈이 추가되고 제거되며, 그리고 다양한 물체들이 공유된 인간-로봇 공간(shared human-robot space)에 도입됨에 따라, 주문 풀필먼트 창고(order fulfillment warehouse)의 동적인 특성에는 창고 및 그의 내용물에 대한 정보를 지속적으로 업데이트하는 것이 요구되고 있다.
주문 풀필먼트 창고에서 로봇에 의한 하나의 내비게이션 방법은 로봇에 의해 로컬로 저장되고 업데이트되는 창고의 공간 모델 또는 "맵"을 이용하여, 로봇이 할당된 주문 풀필먼트 작업을 수행할 때 자율적으로 또는 반 자율적으로 동작할 수 있게 한다. 맵은 창고, 보관 위치, 장애물 및 다른 특징들의 디지털 표현이다. 고정식 및 동적 장애물이 존재하는 경우 제품 빈(product bin)에 도달하기 위해, 로봇은 맵 상에서 프로세싱 동작을 수행하여 자신의 현재 위치를 결정하고 목표 경로를 따라 계속해서 자신의 이동을 재조정한다.
이러한 맵을 생성하고 유지하는 데 다양한 기법들이 사용될 수 있고, 예를 들어, 로컬 레이저 스캔이 사용될 수 있거나 로봇이 창고 주위를 내비게이션할 때 로봇 상의 센서로부터의 이미징이 이용될 수 있다. 일반적으로, 로봇 매핑 애플리케이션에서 맵의 업데이트는 동시적 매핑 및 위치(Simultaneous Mapping and Location) 또는 "SLAM"을 사용하여 달성된다. 그 이름이 암시하듯이, SLAM은 로봇의 현재 위치를 찾으면서 맵을 동시에 업데이트한다. 그러나, SLAM은 로봇 장애물 감지, 로봇 제어 및 위치 감지, 및 매핑 프로세스 자체의 불확실성으로 인한 포즈 오차에 영향을 받기가 쉽다. 이러한 오차를 방지하기 위한 종래의 방법은 계산 비용이 고가라는 것이다.
SLAM 맵을 사용하여 포즈를 결정하기 위한 계산 시간을 감소시켜 목표 경로를 따르는 로봇의 내비게이션을 개선하는 계산 효율적인 방법이 필요하다. 이러한 효율성으로 인해 제품 보관 빈으로 보다 빠르고 원활하게 내비게이션되어, 주문 풀필먼트 창고의 전체 처리량이 증가하게 된다.
기존 시스템과 비교할 때 본 발명의 이익 및 장점은 본 발명의 개요 및 후속되는 상세한 설명으로부터 쉽게 알 수 있을 것이다. 본 기술 분야의 기술자는 본 교시가 아래에 요약되거나 개시된 것 이외의 실시예와 함께 실시될 수 있음을 이해할 것이다.
본 발명의 일 양태에서, 로봇을 현재 포즈(current pose)로부터 목표 포즈(goal pose)로 내비게이션시키는 방법이 제공된다. 상기 방법은 로봇 내비게이션을 위한 구역 내의 장애물 및 자유 공간을 나타내는 맵을 수신하는 단계, 상기 수신된 맵에 기반하여, 최고 해상도 매칭 맵(highest resolution matching map)과 연속적으로 낮아지는 해상도들에서 데시메이션된 매칭 맵들의 세트(set of decimated matching maps)를 포함하는 매칭 맵 피라미드(matching map pyramid)를 구성하는 단계, 및 상기 수신된 맵에 기반하여, 최고 해상도 배제 맵(highest resolution exclusion map)과 연속적으로 낮아지는 해상도들에서 데시메이션된 배제 맵들의 세트(set of decimated exclusion maps)를 포함하는 배제 맵 피라미드(exclusion map pyramid)를 구성하는 단계를 포함한다. 수신 및 구성시, 상기 방법은 목표 포즈를 수신하여 로봇을 현재 위치로부터 목표 경로를 따라 상기 목표 포즈로 내비게이션시키는 단계, 로봇의 현재 위치에서 로봇에 근접한 장애물을 나타내는 포인트 클라우드(point cloud)를 포함하는 레이저 레이더 스캔(laser-radar scan)을 수신하는 단계, 및 로봇의 현재 포즈를 찾는 단계를 더 포함한다. 로봇의 현재 포즈를 찾으면, 로봇은 목표 포즈의 방향으로 목표 경로 상의 다음 포즈로 이동될 수 있다.
바람직한 실시예에서, 로봇의 현재 포즈를 찾는 단계는 수신된 맵 내에서 검색 구역을 결정하는 단계, 매칭 맵 피라미드의 하나 이상의 해상도에서의 후보 포즈들을 나타내는 작업들을 포함하는 검색 힙(search heap)을 생성하는 단계, 및 검색 힙 상의 검색 작업들을 점수화하여 최상의 후보 포즈를 결정하며, 그에 따라, 만약 최상의 후보 포즈가 최고 해상도 매칭 맵에 있다면, 상기 포즈를 현재 포즈로 선택하고, 만약 최상의 후보 포즈가 최고 해상도 매칭 맵에 있지 않으면, 최상의 후보 포즈에 기반하여 검색 힙을 다음 해상도 매칭 맵으로 확장하거나, 또는 로봇을 배제 맵의 배제 구역으로 로컬화시킬 후보 포즈를 갖는 검색 작업에서는 검색 힙이 다음 최고 해상도 배제 맵으로 확장되지 않도록 하는 단계를 포함한다.
일부 실시예에서, 상기 방법은 동시적 로컬화 및 매핑(simultaneous localization and mapping)(SLAM) 맵을 수신하는 단계를 포함할 수 있다. 상기 방법은 검색 힙을 생성하고 검색 작업을 점수화하는 것이 다 대 다 다중 해상도 스캔 매칭(many-to-many multi-resolution scan matching)(M3RSM)에 의해 수행되는 것을 더 포함할 수 있다. 상기 방법은 2 차 감쇠 컨볼루션 필터(quadratic decay convolution filter)에 의해 장애물의 크기를 증가시킴으로써 최고 해상도 매칭 맵을 구성하는 단계를 포함할 수 있다. 상기 방법은 로봇의 반경에 기반하여 장애물의 크기를 증가시킴으로써 최고 해상도 배제 맵을 구성하는 단계를 포함할 수 있다.
본 방법의 다른 양태는 다음 높은 해상도 매칭 맵 내의 스캔 매치 점수(scan match scoring)를 과대 평가함으로써 매칭 맵 피라미드의 각각의 연속적으로 낮아지는 해상도를 구성하도록 데시메이션(decimating)하는 단계를 포함할 수 있다. 배제 맵 피라미드의 각각의 연속적으로 낮아지는 해상도를 구성하도록 데시메이션하는 단계는 다음 높은 해상도 배제 맵 내의 배제 구역을 과소 평가할 수 있다. 낮은 해상도 배제 맵 내의 배제 구역을 과소 평가하고, 배제 구역에 로컬화된 검색 작업을 확장하지 않으면, 배제 피라미드의 보다 높은 해상도의 배제 구역에서 검색 작업이 생성되는 것을 유리하게 방지할 수 있다. 배제 구역에 의해 정의된 장애물은 벽, 선반, 빔, 빈, 및 충전 스테이션을 포함하지만 이에 제한되지 않는 그룹으로부터 선택될 수 있다.
본 발명의 일 양태에서, 로봇을 현재 포즈로부터 목표 포즈로 내비게이션시키는 시스템이 제공된다. 상기 시스템은 레이저 레이더 스캐너, 트랜시버, 데이터 저장 디바이스, 및 데이터 프로세서를 포함할 수 있고, 상기 데이터 저장 디바이스는 상기 데이터 프로세서에 의해 실행하기 위한 명령어를 저장하고 있다. 상기 데이터 저장 디바이스에 저장된 명령어는 로봇 프로세서로 하여금, 로봇 내비게이션을 위한 구역 내의 장애물 및 자유 공간을 나타내는 맵을 수신하게 하고, 상기 수신된 맵에 기반하여, 최고 해상도 매칭 맵과 연속적으로 낮아지는 해상도들에서 데시메이션된 매칭 맵들의 세트를 포함하는 매칭 맵 피라미드를 구성하게 하고, 그리고 상기 수신된 맵에 기반하여, 최고 해상도 배제 맵과 연속적으로 낮아지는 해상도들에서 데시메이션된 배제 맵들의 세트를 포함하는 배제 맵 피라미드를 구성하게 할 수 있다. 수신 및 구성시, 상기 명령어는 목표 포즈를 수신하여 로봇을 현재 위치로부터 목표 경로를 따라 상기 목표 포즈로 내비게이션시키는 것, 로봇의 현재 위치에서 로봇에 근접한 장애물을 나타내는 포인트 클라우드를 포함하는 레이저 레이더 스캔을 수신하는 것, 및 로봇의 현재 포즈를 찾는 것을 더 포함할 수 있다. 로봇의 현재 포즈를 찾으면, 명령어는 로봇이 포즈의 방향으로 목표 경로 상의 다음 포즈로 이동될 수 있게 할 수 있다.
바람직한 실시예에서, 로봇의 현재 포즈를 찾는 것은 수신된 맵 내에서 검색 구역을 결정하는 것, 매칭 맵 피라미드의 하나 이상의 해상도에서의 후보 포즈들을 나타내는 작업들을 포함하는 검색 힙(search heap)을 생성하는 것, 및 검색 힙 상의 검색 작업들을 점수화하여 최상의 후보 포즈를 결정하며, 그에 따라, 만약 최상의 후보 포즈가 최고 해상도 매칭 맵에 있다면, 상기 포즈를 현재 포즈로 선택하고, 만약 최상의 후보 포즈가 최고 해상도 매칭 맵에 있지 않으면, 최상의 후보 포즈에 기반하여 검색 힙을 다음 해상도 매칭 맵으로 확장하거나, 또는 로봇을 배제 맵의 배제 구역으로 로컬화시킬 후보 포즈를 갖는 검색 작업에서는 검색 힙이 다음 최고 해상도 배제 맵으로 확장되지 않도록 하는 것을 포함한다.
일부 실시예에서, 상기 시스템은 동시적 로컬화 및 매핑(SLAM) 맵을 수신하는 것을 포함할 수 있다. 상기 시스템은 검색 힙을 생성하고 검색 작업을 점수화하는 것이 다 대 다 다중 해상도 스캔 매칭(M3RSM)에 의해 수행되는 것을 더 포함할 수 있다. 상기 시스템은 2 차 감쇠 컨볼루션 필터에 의해 장애물의 크기를 증가시킴으로써 최고 해상도 매칭 맵을 구성하는 것을 포함할 수 있다. 상기 시스템은 로봇의 반경에 기반하여 장애물의 크기를 증가시킴으로써 최고 해상도 배제 맵을 구성하는 것을 포함할 수 있다.
본 시스템의 다른 양태는 다음 높은 해상도 매칭 맵 내의 스캔 매치 점수를 과대 평가함으로써 매칭 맵 피라미드의 각각의 연속적으로 낮아지는 해상도를 구성하도록 데시메이션하는 것을 포함할 수 있다. 배제 맵 피라미드의 각각의 연속적으로 낮아지는 해상도를 구성하도록 데시메이션하는 것은 다음 높은 해상도 배제 맵 내의 배제 구역을 과소 평가할 수 있다. 낮은 해상도 배제 맵 내의 배제 구역을 과소 평가하고, 배제 구역에 로컬화된 검색 작업을 확장하지 않으면, 배제 피라미드의 보다 높은 해상도의 배제 구역에서 검색 작업이 생성되는 것을 유리하게 방지할 수 있다. 배제 구역에 의해 정의된 장애물은 벽, 선반, 빔, 빈, 및 충전 스테이션을 포함하지만 이에 제한되지 않는 그룹으로부터 선택될 수 있다.
본 발명의 이들 및 다른 특징들은 다음의 상세한 설명 및 첨부 도면으로부터 알 수 있을 것이다.
본 발명의 실시예는 이제 첨부된 도면을 참조하여 예로서만 기술될 것이다.
도 1은 주문 풀필먼트(order-fulfillment) 창고의 평면도이다.
도 2a는 도 1에 도시된 창고에서 사용되는 로봇들 중 하나의 베이스(base)의 정면도이다.
도 2b는 도 1에 도시된 창고에서 사용되는 로봇들 중 하나의 베이스의 사시도이다.
도 3은 뼈대가 장착되고 도 1에 도시된 선반(shelf) 앞에 파킹된 도 2a 및 도 2b의 로봇의 사시도이다.
도 4는 로봇 상의 레이저 레이더를 사용하여 생성된 도 1의 창고의 부분 맵이다.
도 5는 창고 전체에 분산된 기준 마커(fiducial markers)를 찾고 기준 마커 포즈(fiducial marker poses)를 저장하는 프로세스를 도시한 흐름도이다.
도 6은 기준 식별자 대 포즈 매핑(fiducial identification to pose mapping)의 테이블이다.
도 7은 빈 위치 대 기준 식별자 매핑(bin location to fiducial identification mapping)의 테이블이다.
도 8은 제품 SKU 대 포즈 매핑의 프로세스를 도시한 흐름도이다.
도 9는 본 발명의 방법 및 시스템과 함께 사용하기 위한 로봇 시스템의 일 실시예를 도시한 도면이다.
도 10은 공간 맵에 의해 표현된 환경을 통해 현재 위치로부터 타겟 위치로의 일반화된 로봇의 내비게이션을 도시한 도면이다.
도 11은 본 발명의 일 양태에 따른 도 10의 환경의 SLAM 맵과 관련한 로봇의 내비게이션을 도시한 도면이다.
도 12a 및 도 12b는 공간 환경 내의 위치에서 로봇에 의한 거리 측정 스캔을 획득하는 것을 도시한 도면이다.
도 13a 및 도 13b는 정렬 스캔(도 13b)에 대한 오정렬 스캔(도 13a)의 변형을 찾아냄으로써 포즈를 찾는 스캔 매칭의 사용을 도시한 도면이다.
도 14는 본 발명의 일 양태에 따라 로봇이 글로벌 경로를 따라 이동하기 위해 수행하는 프로세스를 도시한 도면이다.
도 15a 및 도 15b는 매칭 피라미드 및 배제 피라미드를 구성하는 데 사용하기 위한 SLAM 맵의 변환을 도시한 도면이다.
도 16a 및 도 16b는 매칭 피라미드(도 16a) 및 배제 피라미드(도 16b)를 도시한 도면이다.
도 17a 내지 도 17c는 매칭 맵의 일부를 높은 해상도 맵에서 매칭 피라미드의 2 개의 가장 낮은 레벨의 해상도로 데시메이션하는 것을 도시한 도면이다.
도 18a 내지 도 18c는 배제 맵의 일부를 높은 해상도 맵에서 배제 피라미드의 2 개의 가장 낮은 레벨의 해상도로 데시메이션하는 것을 도시한 도면이다.
도 19는 배제 맵 피라미드를 사용하는 M3RSM의 실시예에 기반하여 로봇의 포즈를 찾는 프로세스를 도시한다.
도 20 및 도 21은 매칭 피라미드의 최고 해상도 맵에서 최상의 포즈를 위한 후보 포즈를 검색하는 프로세스를 도시한 도면이다.
도 22는 정렬 스캔(도 22b)에 대한 오정렬 스캔(도 22a)의 변형을 찾는 스캔 매칭을 통한 최상의 포즈 평가를 도시한 도면이다.
본원에 설명된 발명은 장애물 및 자유 공간을 포함하는 환경 내에서 "목표 경로"를 따라 현재 위치로부터 타겟 위치로의 로봇의 개선된 내비게이션을 위해 자율 또는 반 자율 로봇과 함께 사용하기 위한 방법 및 시스템에 관한 것이다.
구체적으로, 본 발명의 방법 및 시스템은 공간 환경 내에서 로봇의 현재 위치 및 방향 또는 "포즈"를 정확하게 결정하기 위해 종래 기술에 비해 계산적으로 효율적인 개선점을 제공한다. 로봇은 자신의 포즈를 빠르고 정확하게 결정한 후, 목표 경로에 따른 이동을 보다 잘 제어하여, 공간 환경에서 장애물을 피하면서 장애물 사이에서 직접적이고 보다 원활하게 이동할 수 있다. 또한, 포즈 결정에 요구되는 프로세싱 시간이 감소되면 할당된 프로세싱 사이클 시간 동안 로봇에 의해 수행되는 계산 리소스는 다른 작업을 위해 자유로워진다.
본 개시 내용 및 그 다양한 특징들 및 유리한 세부 사항들은 첨부 도면에서 설명되고/되거나 예시되고 아래의 설명에서 상세히 설명되는 비 제한적인 실시예 및 예를 참조하여 보다 완전하게 설명된다. 주목해야 하는 것은 도면에 예시된 특징들은 반드시 축척대로 도시된 것은 아니며, 본 명세서에서 명시적으로 언급되지 않더라도, 본 기술 분야의 기술자가 인식할 수 있는 바와 같이, 일 실시예의 특징들은 다른 실시예들과 함께 이용될 수 있다는 것이다. 더욱이, 주목되는 것은 유사한 참조 번호는 도면들의 여러 도면에 걸쳐 유사한 부분을 나타낸다는 것이다.
널리 알려진 컴포넌트 및 처리 기술에 대한 설명은 본 개시의 실시예를 불필요하게 모호하게 하지 않도록 생략될 수 있다. 본 명세서에서 사용된 예는 단지 본 개시 내용이 실시될 수 있는 방식의 이해를 용이하게 하고, 추가로 본 기술 분야의 기술자가 본 개시 내용의 실시예를 실시할 수 있게 하기 위한 것이다. 따라서, 본 명세서의 예 및 실시예는 본 개시 내용의 범위를 제한하는 것으로 해석되어서는 안된다.
본 기술 분야의 기술자는 본 교시가 개시된 것 이외의 실시예와 함께 실시될 수 있음을 이해할 것이다. 여기에 제공된 설명은 고객에게 배송하기 위한 주문을 이행하기 위해 창고의 빈 위치(bin locations)에서 품목을 피킹(picking)하는 데 중점을 두고 있지만, 이 시스템은 창고로 입고된 품목을 나중의 회수 및 고객으로의 배송을 위해, 창고 전체의 빈 위치에 보관 또는 배치하는 데에 동일하게 적용될 수 있다. 본 발명은 또한 제품의 통합, 계수, 검증, 검사 및 정화와 같은 창고 시스템과 관련된 재고 관리 작업에도 적용 가능하다.
본 발명의 방법 및 시스템은 또한 다른 타입의 장애물이 있는 다른 타입의 환경에서 다른 타입의 애플리케이션에도 적용될 수 있다. 고정식 또는 동적인 임의의 물리적 물체 또는 구조물은 본 발명의 출원에서 "장애물"로 간주될 수 있다. 장애물은 환경 내에서 동작하는 인간 및 다른 로봇을 더 포함할 수 있고, 인간 및 다른 로봇의 위치는 협력적인 작업의 수행에서 현재 위치 또는 타겟 위치일 수 있다. 타겟 위치는 작업 또는 일련의 작업들에서 수행하거나 인간을 지원할 하나 이상의 로봇들을 포지셔닝하기 위한 환경 내 하나 이상의 위치들을 포함할 수 있다.
이들 및 다른 이익 및 장점은 아래에 설명된 예 및 예시로부터 쉽게 알 수 있을 것이다.
도 1을 참조하면, 전형적인 주문 풀필먼트 창고(orderfulfillment warehouse)(10)는 주문(16)에 포함될 수 있는 다양한 품목으로 채워진 선반(12)을 포함한다. 동작시, 창고 관리 서버(15)로부터의 주문(16)은 주문 서버(order-server)(14)에 도달한다. 주문 서버(14)는 주문(16)을 창고(10)를 로밍하는 복수의 로봇으로부터 선택된 로봇(18)에 통신한다. 또한, 충전 구역(19)이 도시되며, 이 구역에는 본 발명의 일 양태에 따른 하나 이상의 전기 충전 스테이션이 위치될 수 있다.
바람직한 실시예에서, 도 2a 및 도 2b에 도시된 로봇(18)은 레이저 레이더(22)를 갖는 자율 휠 베이스(autonomous wheeled base)(20)를 포함한다. 베이스(20)는 또한 로봇(18)이 주문 서버(14) 및 한 쌍의 디지털 광학 카메라(24a 및 24b)로부터 명령어를 수신할 수 있게 하는 트랜시버(미도시)를 특징으로 하고 있다. 로봇 베이스는 또한 자율 휠 베이스(20)에 전력을 공급하는 배터리를 재충전하기 위한 전기 충전 포트를 포함한다. 베이스(20)는 또한 로봇의 환경을 나타내는 정보를 캡처하기 위해 레이저 레이더(22) 및 카메라(24a 및 24b)로부터 데이터를 수신하는 프로세서(미도시)를 특징으로 하고 있다. 도 3에 도시된 바와 같이, 창고(10) 내에서의 내비게이션과 관련된 다양한 작업을 수행하고, 선반(12) 상에 배치된 기준 마커(fiducial marker)(30)로 내비게이션하도록 프로세서와 함께 동작하는 메모리(미도시)가 존재한다. 기준 마커(30)(예를 들어, 2 차원 바코드)는 주문된 품목의 빈(bin)/위치(location)에 대응한다. 본 발명의 내비게이션 접근법은 도 4 내지 도 8과 관련하여 아래에서 상세하게 설명된다. 기준 마커는 또한 본 발명의 일 양태에 따른 전기 충전 스테이션을 식별하는 데 사용되며, 이러한 전기 충전 스테이션 기준 마커로의 내비게이션은 주문된 품목의 빈/위치로의 내비게이션과 동일하다. 로봇이 전기 충전 스테이션으로 내비게이션하면, 로봇을 전기 충전 스테이션에 도킹시키는 데 보다 정확한 내비게이션 접근법이 사용되며, 이러한 내비게이션 접근법은 아래에 설명되고 있다.
다시 도 2b를 참조하면, 베이스(20)는 품목을 운반하기 위한 토트(tote) 또는 빈(bin)이 보관될 수 있는 상부 표면(32)을 포함한다. 또한, 복수의 교환 가능한 뼈대(40) 중 어느 하나와 맞물리는 커플링(34)이 도시되어 있으며, 이러한 뼈대 중 하나가 도 3에 도시되어 있다. 도 3의 특정 뼈대(40)는 품목을 수용하는 토트(44)를 운반하기 위한 토트 홀더(tote-holder)(42)(이 경우, 선반), 및 태블릿(48)을 지지하기 위한 태블릿 홀더(tablet holder)(46)(또는 랩탑/다른 사용자 입력 디바이스)를 특징으로 하고 있다. 일부 실시예에서, 뼈대(40)는 품목을 운반하기 위한 하나 이상의 토트를 지지한다. 다른 실시예에서, 베이스(20)는 수용된 품목을 운반하기 위한 하나 이상의 토트를 지지한다. 본원에 사용된 용어 "토트"는 화물(cargo) 홀더, 빈(bins), 케이지(cages), 선반(shelves), 품목이 매달릴 수 있는 막대(rod), 캐디(caddies), 상자(crates), 랙(racks), 스탠드(stands), 가대(trestle), 컨테이너(containers), 박스(boxes), 캐니스터(canisters), 베슬(vessels), 및 리포지토리(repositories)를 제한 없이 포함한다.
로봇(18)이 현재의 로봇 기술을 사용하여 창고(10) 주위를 이동하는 데에는 우수하지만, 물체에 대한 로봇 조작과 관련된 기술적 어려움으로 인해 선반으로부터 품목을 피킹하고 그 품목을 토트(44)에 배치하는 것을 빠르고 효율적으로 수행하는 데에는 그다지 능숙하지가 않다. 품목을 피킹하는 보다 효율적인 방식은, 선반(12)으로부터 주문된 품목을 물리적으로 제거하고, 그것을 로봇(18) 상에, 예를 들어, 토트(44)에 배치하는 작업을 수행하기 위해, 전형적으로 인간인 로컬 조작자(50)를 이용하는 것이다. 로봇(18)은, 로컬 조작자(50)가 판독할 수 있는 태블릿(48)(또는 랩탑/다른 사용자 입력 디바이스)을 통해, 또는 로컬 조작자(50)가 사용하는 핸드헬드 디바이스에 주문을 전송함으로써, 로컬 조작자(50)에게 주문을 통신한다.
주문 서버(14)로부터 주문(16)을 수신하면, 로봇(18)은, 예를 들어, 도 3에 도시된 바와 같이, 제 1 창고 위치로 진행한다. 그것은 메모리에 저장되고 프로세서에 의해 수행되는 내비게이션 소프트웨어에 기반하여 수행된다. 내비게이션 소프트웨어는 레이저 레이더(22)에 의해 수집된 바와 같은 환경에 관한 데이터, 특정 품목이 발견될 수 있는 창고(10)의 위치에 대응하는 기준 마커(30)의 기준 식별자("ID")를 식별하는 메모리 내의 내부 테이블, 및 내비게이션하는 카메라(24a 및 24b)에 의존하고 있다.
정확한 위치에 도달하면, 로봇(18)은 물품이 보관되어 있는 선반(12) 앞에 스스로 파킹하고, 로컬 조작자(50)가 선반(12)으로부터 물품을 회수하여 토트(44)에 배치하기를 기다린다. 로봇(18)이 회수할 다른 품목을 갖는 경우, 로봇은 그 위치로 진행한다. 로봇(18)에 의해 회수된 품목(들)은 그 후 포장 스테이션(100)(도 1)으로 배달되고, 그곳에서 품목들이 포장되어 배송된다.
본 기술 분야의 기술자는 각각의 로봇이 하나 이상의 주문을 이행할 수 있고 각각의 주문은 하나 이상의 품목으로 구성될 수 있음을 이해할 것이다. 전형적으로, 효율성을 증가시키기 위해 어떤 형태의 경로 최적화 소프트웨어가 포함될 수 있을 것이지만, 이것은 본 발명의 범위를 벗어나므로 여기서 설명되지는 않는다.
본 발명의 설명을 단순화하기 위해, 단일 로봇(18) 및 조작자(50)가 설명된다. 그러나, 도 1로부터 명백한 바와 같이, 전형적인 풀필먼트 동작은 연속적인 주문 흐름을 채우기 위해 창고에서 서로 작업하는 많은 로봇 및 조작자를 포함한다.
본 발명의 내비게이션 접근법뿐만 아니라, 품목이 위치한 창고에서 기준 마커와 관련된 기준 ID/포즈에 대한 회수될 품목의 SKU의 시맨틱 매핑이 도 4 내지 도 8과 관련하여 아래에서 상세하게 설명된다. 전술한 바와 같이, 로봇이 배터리를 재충전하기 위해 전기 충전 스테이션으로 내비게이션하는 것을 가능하게 하는 데 동일한 내비게이션 접근법이 사용될 수 있다.
하나 이상의 로봇(18)을 사용하여, 창고 전체에 분산된 다양한 기준 마커의 위치뿐만 아니라, 정적 및 동적인 물체의 위치를 결정하기 위해, 창고(10)의 맵(10)이 생성되고 동적으로 업데이트되어야 한다. 이를 수행하기 위해, 로봇(18) 중 하나는 레이저 레이더(22) 및 SLAM(simultaneous localization and mapping)을 이용하여, 창고를 내비게이션하고 맵(10a)(도 4)을 구축/업데이트하며, 상기 SLAM은 알려지지 않은 환경의 맵을 구성 또는 업데이트하는 계산적인 방법이다. SLAM 근사화 솔루션 방법은 포즈 그래프(pose graph), 입자 필터(particle filter) 및 확장된 칼만 필터(extended Kalman filter)를 포함한다. SLAM GMapping 방식이 선호되는 방식이지만, 임의의 적합한 SLAM 방식이 사용될 수 있다. SLAM에 대한 설명은 Frese, U., Wagner, R., Rofer, T.에 의한 “사용자 관점에서의 SLAM 개요(A SLAM overview from a user’s perspective)”(Kunstliche Intelligenz 24(3), 191-198 (2010))에서 찾을 수 있으며, 이는 본원에 참고로 포함된다.
로봇(18)은, 로봇(18)이 공간 전체를 이동하면서, 자신의 레이저 레이더(22)가 환경을 스캔함에 따라 수신하게 되는 반사에 기반하여, 개방 공간(112), 벽(114), 물체(116), 및 공간 내의 선반(12a)과 같은 다른 정적 장애물을 식별하므로, 레이저 레이더(22)를 이용하여 창고(10)의 맵(10a)을 생성/업데이트한다.
맵(10a)을 구성하는 동안 또는 그 이후에, 하나 이상의 로봇(18)은 환경을 스캔하는 카메라(24a 및 24b)를 사용하여 창고(10)를 내비게이션하여, 창고 전체에 걸쳐 분산되어 있으며 품목들이 보관되어 있는 빈(예컨대, 32 및 34)(도 3)에 인접한 선반 상의 기준 마커(2 차원 바코드)를 찾는다. 로봇(18)은 알려진 참조 포인트 또는 참조를 위한 원점, 예컨대, 원점(110)을 사용한다. 기준 마커, 예컨대, 기준 마커(30)(도 3 및 도 4)가 카메라(24a 및 24b)를 사용하는 로봇(18)에 의해 탐색되면, 원점(110)에 대한 창고 내의 위치가 결정된다. 도 2a에 도시된 바와 같이, 로봇 베이스의 양측에 하나씩인 두 개의 카메라를 사용함으로써, 로봇(18)은 로봇의 양 측면으로부터 확장되는 비교적 넓은 시야를 가질 수 있다. 이를 통해, 로봇은 선반의 통로를 따라 위아래로 이동할 때 통로의 양쪽에 있는 기준 마커를 볼 수 있다.
휠 인코더(wheel encoders)(도시되지 않음) 및 헤딩 센서(heading sensors)(도시되지 않음)를 사용함으로써, 벡터(120), 및 창고(10) 내에서의 로봇의 포지션(position)이 결정될 수 있다. 기준 마커/이차원 바코드의 캡처된 이미지 및 그것의 알려진 크기를 사용하여, 로봇(18)은 로봇으로부터 기준 마커/이차원 바코드에 대한 방향 및 거리, 즉 벡터(130)를 결정할 수 있다. 벡터들(120 및 130)이 알려지면, 원점(110)과 기준 마커(30) 간의 벡터(140)가 결정될 수 있다. 벡터(140) 및 로봇(18)에 대한 기준 마커/이차원 바코드의 결정된 방향으로부터, 원점(110)에 대한 x, y, z 좌표에 의해 그리고 기준 마커(30)에 대한 4원수(x, y, z, ω)에 의해 정의된 포즈(위치 및 방향)가 결정될 수 있다. 4원수를 사용하여 방향을 나타내고 반영하는 설명은 Berthold K. P. Horn에 의한 “단위 4원수를 사용한 절대 방향의 클로즈된 형태의 솔루션(Closed-form solution of absolute orientation using unit quaternions)”(미국 광학 학회지, 4(4), 1987년 4 월, 629-642 페이지)에서 찾을 수 있으며, 이는 본원에 참고로 포함된다. 본 기술 분야의 기술자는, 기준 마커 위치 및 방향을 결정하기 위한 다른 좌표 시스템 및 기술이 사용될 수 있으며, 포즈는 임의의 원점으로부터 절대 또는 상대적인 위치 및/또는 방향을 결정할 수 있음을 인식할 것이다.
기준 마커 위치 프로세스를 설명하는 흐름도(200)(도 5)가 설명된다. 이것은 초기 매핑 모드에서 그리고 로봇(18)이 피킹, 배치, 및/또는 다른 작업을 수행하는 동안 창고에서 새로운 기준 마커를 만나게 되면 수행된다. 단계(202)에서, 로봇(18)은 카메라(24a 및 24b)를 사용하여 이미지를 캡처하고, 단계(204)에서 캡처된 이미지 내의 기준 마커를 검색한다. 기준 마커가 이미지에서 발견되면(단계 204), 단계(206)에서, 기준 마커가 로봇(18)의 메모리에 위치한 기준 테이블(300)(도 6)에 이미 저장되어 있는지가 결정된다. 기준 정보가 이미 메모리에 저장되어 있으면, 흐름도는 다른 이미지를 캡처하기 위해 단계(202)로 리턴한다. 기준 정보가 메모리에 있지 않으면, 포즈가 상술된 프로세스에 따라 결정되고, 단계(208)에서 기준 대 포즈 룩업 테이블(fiducial-to-pose lookup table)(300)에 추가된다.
각 로봇의 메모리에 저장될 수 있는 룩업 테이블(300)에는 각 기준 마커마다, 기준 식별자(1, 2, 3, 등), 및 각각의 기준 식별자와 연관된 기준 마커/바코드에 대한 포즈가 포함된다. 포즈는 방향과 함께 원점(110)에 대한 창고 내의 x, y, z 좌표, 즉, 4원수(x, y, z, ω)로 구성된다.
각각의 로봇의 메모리에 또한 저장될 수 있는 다른 룩업 테이블(400)(도 7)에는 특정 기준 ID(404)의, 예를 들어, 번호 “11”과 상관 관계에 있는 창고(10) 내의 빈 위치(bin locations)(예를 들어, 402a-f)의 목록이 존재한다. 이 예에서, 빈 위치는 7 개의 영숫자의 문자로 구성된다. 처음 6 개의 문자(예컨대, L01001)는 창고 내 선반 위치와 관련되며 마지막 문자(예컨대, A-F)는 선반 위치에서의 특정 빈을 식별한다. 이 예에서는 기준 ID “11”과 연관된 6 개의 상이한 빈 위치가 존재한다. 각 기준 ID/마커와 연관된 하나 이상의 빈이 있을 수 있다. 충전 구역(19)(도 1)에 위치한 전기 충전 스테이션은 또한 테이블(400)에 저장될 수 있고 기준 ID와 상관될 수 있다. 기준 ID들로부터, 전기 충전 스테이션의 포즈는 테이블(300)(도 6)에서 발견될 수 있다.
영숫자의 빈 위치는 인간(예를 들어, 조작자(50)(도 3)에게는 품목이 보관되는 창고(10)의 물리적 위치에 대응하는 것으로 이해될 수 있다. 그러나, 이러한 빈 위치는 로봇(8)에는 의미가 없다. 위치를 기준 ID에 매핑함으로써, 로봇(18)은 테이블(300)(도 6) 내의 정보를 사용하여 기준 ID의 포즈를 결정할 수 있고, 그 후 본원에 설명된 바와 같이 포즈에 내비게이션할 수 있다.
본 발명에 따른 주문 풀필먼트 프로세스는 흐름도(500)(도 8)에 도시되어 있다. 단계(502)에서, 창고 관리 시스템(15)(도 1)은 회수될 하나 이상의 품목으로 구성될 수 있는 주문을 획득한다. 단계(504)에서, 품목의 SKU 번호(들)는 창고 관리 시스템(15)에 의해 결정되며, 그리고 단계(506)에서 SKU 번호(들)로부터 빈 위치(들)가 결정된다. 그 후 주문에 대한 빈 위치의 목록이 로봇(18)으로 전송된다. 단계(508)에서, 로봇(18)은 빈 위치를 기준 ID에 상관시키고, 단계(510)에서 기준 ID로부터 각각의 기준 ID의 포즈가 획득된다. 단계(512)에서, 로봇(18)은 도 3에 도시된 바와 같은 포즈에 내비게이션하고, 여기서, 조작자는 적합한 빈으로부터 회수될 품목을 피킹하여 로봇 상에 배치할 수 있다.
창고 관리 시스템(15)에 의해 획득되는 품목 특정 정보, 예컨대, SKU 번호 및 빈 위치는 로봇(18) 상의 태블릿(48)으로 전송될 수 있고, 그에 따라 로봇(50)이 각각의 기준 마커 위치에 도달할 때 회수될 특정 품목이 조작자(50)에게 통지될 수 있다.
SLAM 맵과 기준 ID의 포즈가 알려지면, 로봇(18)은 다양한 로봇 내비게이션 기술을 사용하여 기준 ID 중 임의의 하나에게로 쉽게 내비게이션할 수 있다. 바람직한 접근법은 창고(10) 내의 개방 공간(112) 및 벽(114), 선반(예컨대, 선반(12)), 및 다른 장애물(116)에 대한 지식이 주어지면, 기준 마커 포즈로의 초기 경로를 설정하는 것을 포함한다. 로봇이 레이저 레이더(22)를 사용하여 창고를 가로 지르기 시작함에 따라, 로봇은 자신의 경로 내에 고정 또는 동적인 임의의 장애물, 예컨대, 다른 로봇(18) 및/또는 조작자(50)가 있는지를 결정하고, 기준 마커의 포즈로의 자신의 경로를 반복적으로 업데이트한다. 로봇은 약 50 밀리초마다 한 번씩 자신의 경로를 재계획하며(re-plans), 장애물을 피하면서 가장 효율적이고 효과적인 경로를 지속적으로 검색한다.
일반적으로, 창고(10a) 내의 로봇의 로컬화는 SLAM 맵 상에서 동작되는 다 대 다 다중 해상도 스캔 매칭(many-to-many multiresolution scan matching)(M3RSM)에 의해 달성된다. 무작위 대입(brute force) 방법에 비해, M3RSM은 로봇이 로봇 포즈와 위치를 결정하는 데 있어 두 가지 중요한 단계인 SLAM 루프 클로저(SLAM loop closure) 및 스캔 매칭(scan matching)을 수행하는 계산 시간을 획기적으로 감소시킨다. 로봇 로컬화는 본원에 개시된 방법에 따라 M3RSM 검색 공간을 최소화함으로써 더욱 개선된다.
본 명세서에서 모두 기술되는, SLAM 내비게이션 기술과 결합된 제품 SKU/기준 ID 대 기준 포즈 매핑 기술로 인해, 로봇(18)은 창고 내 위치를 결정하기 위한 그리드 라인 및 중간 기준 마커를 포함하여 통상적으로 사용되는 보다 복잡한 내비게이션 접근법을 사용할 필요 없이, 창고 공간에 매우 효율적이고 효과적으로 내비게이션할 수가 있다.
일반적으로, 창고 내에 다른 로봇 및 움직이는 장애물이 존재하는 경우의 내비게이션은 동적 윈도우 접근법(dynamic window approach)(DWA) 및 최적의 상호 충돌 방지(optimal reciprocal collision avoidance)(ORCA)를 포함한 충돌 방지 방법에 의해 달성된다. 로봇의 내비게이션은 일반적으로 대략 50ms 업데이트 간격으로 계산된 궤도에 따른 일련의 증분 이동(a series of incremental movements)으로 진행된다. DWA는 실행 가능한 로봇 모션 궤도 중에서 정지 장애물과의 충돌을 방지하고 타겟 기준 마커에 대한 원하는 경로를 선호하는 증분 이동을 계산한다. DWA에 대한 설명은 D. Fox, W. Burgard 및 S. Thrun에 의한 "충돌 방지에 대한 동적 윈도우 접근법(The Dynamic Window Approach to Collision Avoidance)"(Robotics & Automation Magazine, IEEE, vol. 4, no. 1 (March 1997), pp 23-33)에 제공되며, 이는 본원에 참고로 포함된다.
ORCA는 다른 로봇(들)과 통신할 필요없이 다른 이동중인 로봇과의 충돌을 최적으로 방지한다. ORCA에 대한 설명은 Jur van den Berg, Stephen J. Guy, Ming Lin 및 Dinesh Manocha에 의한 "상호 n-보디 충돌 방지(Reciprocal n-body conflict avoidance)"(Robotics Research: The 14th International Symposium ISRR, Cedric Pradalier, Roland Siegwart, and Gerhard Hirzinger (eds.), Springer Tracts in Advanced Robotics, Vol. 70, Springer-Verlag, May 2011, pp. 3-19)에 기술되어 있으며, 이는 본원에 참고로 포함된다.
충돌 방지는 본원에 참고로 포함된 관련 미국 특허 출원 제15/712,256에 기술된 기술에 의해 추가로 개선될 수 있다.
로봇 시스템
도 9는 전술한 주문 풀필먼트 창고 애플리케이션에 사용하기 위한 로봇(18)의 일 실시예의 시스템 도면을 도시한다. 로봇 시스템(600)은 데이터 프로세서(620), 데이터 스토리지(630), 프로세싱 모듈(640), 및 센서 지원 모듈(660)을 포함한다. 프로세싱 모듈(640)은 경로 계획 모듈(path planning module)(642), 구동 제어 모듈(drive control module)(644), 맵 프로세싱 모듈(map processing module)(646), 로컬화 모듈(localization module)(648), 및 상태 평가 모듈(state estimation module)(650)을 포함할 수 있다. 센서 지원 모듈(660)은 거리 센서 모듈(range sensor module)(662), 구동 트레인(drive train)/휠 인코더 모듈(wheel encoder module)(664), 및 관성 센서 모듈(inertial sensor module)(668)을 포함할 수 있다.
데이터 프로세서(620), 프로세싱 모듈(640) 및 센서 지원 모듈(660)은 로봇 시스템(600)을 위해 도시되거나 설명된 컴포넌트, 디바이스 또는 모듈 중 임의의 것과 통신할 수 있다. 트랜시버 모듈(670)은 데이터를 송신하고 수신하기 위해 포함될 수 있다. 트랜시버 모듈(670)은 감시 시스템 또는 하나 또는 다른 로봇들과 데이터 및 정보를 송신하고 수신할 수 있다. 송신 및 수신 데이터는 맵 데이터, 경로 데이터, 검색 데이터, 센서 데이터, 위치 및 방향 데이터, 속도 데이터, 및 프로세싱 모듈 명령어 또는 코드, 로봇 파라미터 및 환경 설정, 및 로봇 시스템(600)의 동작에 필요한 기타 데이터를 포함할 수 있다.
일부 실시예에서, 거리 센서 모듈(662)은 스캐닝 레이저, 레이더, 레이저 거리 측정기, 거리 측정기, 초음파 장애물 검출기, 스테레오 비전 시스템, 단안 비전 시스템, 카메라, 및 이미징 유닛 중 하나 이상을 포함할 수 있다. 거리 센서 모듈(662)은 로봇 주위 환경을 스캔하여 로봇에 대한 하나 이상의 장애물의 위치를 결정할 수 있다. 바람직한 실시예에서, 구동 트레인/휠 인코더(664)는 휠 포지션을 인코딩하기 위한 하나 이상의 센서 및 하나 이상의 휠(예를 들어, 지면과 맞물리는 휠)의 포지션을 제어하기 위한 액추에이터를 포함한다. 로봇 시스템(600)은 또한 속도계 또는 레이더 기반 센서 또는 회전 속도 센서를 포함하는 지면 속도 센서를 포함할 수 있다. 회전 속도 센서는 가속도계와 적분기의 조합을 포함할 수 있다. 회전 속도 센서는 관측된 회전 속도를 데이터 프로세서(620) 또는 그 임의의 모듈에 제공할 수 있다.
일부 실시예에서, 센서 지원 모듈(660)은 시간 경과에 따른, 속도 데이터, 병진(translation) 데이터, 포지션 데이터, 회전 데이터, 레벨 데이터, 헤딩 데이터, 및 관성 데이터에 대한 순간 측정치의 이력 데이터를 포함하여, 병진 데이터, 포지션 데이터, 회전 데이터, 레벨 데이터, 관성 데이터, 및 헤딩 데이터를 제공할 수 있다. 병진 속도 또는 회전 속도는 로봇 환경에서 하나 이상의 고정된 참조 포인트 또는 정지된 물체를 참조하여 검출될 수 있다. 병진 속도는 방향에서의 절대 속도로 또는 시간에 대한 로봇 포지션의 1 차 미분으로 표현될 수 있다. 회전 속도는 각도 단위의 속도로 또는 시간에 대한 각도 포지션의 1 차 미분으로 표현될 수 있다. 병진 속도 및 회전 속도는 절대 또는 상대 좌표계에 대한 0 도를 포함하는 원점 0,0(예를 들어, 도 4의 110)에 대해 표현될 수 있다. 프로세싱 모듈(640)은 검출된 회전 속도와 결합되는 관측된 병진 속도(또는 시간에 대한 포지션 측정치)를 사용하여 로봇의 관측된 회전 속도를 평가할 수 있다.
일부 실시예에서, 로봇 시스템(600)은 GPS 수신기, 차동 보정을 갖는 GPS 수신기, 또는 무선 신호를 송신하는 위성 또는 지상 비컨에 대한 로봇의 위치를 결정하기 위한 다른 수신기를 포함할 수 있다. 바람직하게는, 위에서 설명된 창고 애플리케이션과 같은 또는 위성 수신이 신뢰될 수 없는 실내 애플리케이션에서, 로봇 시스템(600)은 전술한 바와 같은 비-GPS 센서 및 본원에 기술된 기술을 사용하여, 절대 위치 정보가 글로벌 또는 로컬 센서 또는 시스템에 의해 신뢰성있게 제공되지 않는 경우의 위치를 개선한다.
다른 실시예에서, 도 9에 도시되지 않은 모듈은 조향 시스템, 제동 시스템, 및 추진 시스템을 포함할 수 있다. 제동 시스템은 유압식 제동 시스템, 전기 유압식 제동 시스템, 전기 기계식 제동 시스템, 전기 기계식 액추에이터, 전기식 제동 시스템, 브레이크 바이 와이어(brake-by-wire) 제동 시스템, 또는 구동 제어 모듈(644)과 통신하는 다른 제동 시스템을 포함할 수 있다. 추진 시스템은 전기 모터, 구동 모터, 교류 모터, 유도 모터, 영구 자석 모터, 직류 모터, 또는 로봇을 추진시키기 위한 다른 적합한 모터를 포함할 수 있다. 추진 시스템은 전기 모터의 모터 샤프트의 회전 속도, 회전 토크, 및 회전 방향 중 적어도 하나를 제어하기 위한 모터 컨트롤러(예를 들어, 인버터, 초퍼, 파형 생성기, 다상 컨트롤러, 가변 주파수 발진기, 가변 전류 공급, 또는 가변 전압 공급)를 포함할 수 있다. 바람직하게, 구동 제어 모듈(644) 및 추진 시스템(미도시)은 차동 구동(DD) 제어 및 추진 시스템이다. DD 제어 시스템에서, 로봇 제어는 비 홀로노믹(non-holonomic)(NH)이며, 원하는 선속도 및 각속도를 감안할 때 달성 가능한 증분 경로에 대한 제약을 특징으로 하고 있다. 추진 시스템과 통신하는 구동 제어 모듈(644)은 경로 계획 모듈(642) 또는 데이터 프로세서(620)에 의해 결정된 하나 이상의 순간 속도를 변환함으로써 로봇의 증분 이동을 액추에이터할 수 있다.
본 기술 분야의 기술자는 로봇 프로세싱, 데이터 저장, 감지, 제어 및 추진을 위한 다른 시스템 및 기술이 본원에 설명된 본 발명의 적용성의 상실없이 이용될 수 있음을 인식할 것이다.
자율 또는 반 자율 로봇에 의한 내비게이션은 로봇 환경의 일부 형태의 공간 모델을 필요로 하고 있다. 공간 모델은 비트맵, 객체 맵, 랜드 마크 맵, 및 다른 형태의 2 차원 및 3 차원 디지털 표현으로 표현될 수 있다. 예를 들어, 도 10에 도시된 바와 같이, 창고 시설의 공간 모델은 창고 및 내부 장애물, 가령, 벽, 천장, 지붕 지지대, 창문 및 문, 선반 및 보관 빔을 나타낼 수 있다. 장애물은, 예를 들어, 창고 내에서 동작하는 다른 로봇 또는 기계류와 같이 정지되거나 이동될 수 있거나, 또는 비교적 고정되지만 창고 품목이 비축, 피킹 및 보충될 때 임시 파티션, 팔레트, 선반 및 빈과 같이 변경될 수 있다.
창고 시설의 공간 모델은 또한 로봇이 제품을 피킹하거나 다른 작업을 수행하도록 지향될 수 있거나 임시 유지 위치 또는 충전 스테이션의 위치로 지향될 수 있는 기준이 마킹된 선반 또는 빈과 같은 타겟 위치를 나타낼 수 있다. 예를 들어, 도 10은 경로(712, 714, 716)를 따라 시작 위치(702)로부터 중간 위치(704, 706)를 거쳐 목적지 또는 타겟 위치(708)로의 로봇(18)의 내비게이션을 도시한다. 여기서, 공간 모델은 선반 또는 빈 또는 로봇 충전기 스테이션일 수 있는 목적지(718)에서의 구조물의 특징을 포함하여 로봇이 내비게이션해야 하는 환경의 특징을 캡처한다.
로봇 내비게이션을 위해 가장 일반적으로 사용되는 공간 모델은 구역 또는 시설의 비트맵이다. 도 11은, 예를 들어, 도 10의 공간 모델에 도시된 구역에 대한 2 차원 맵의 일부를 도시한다. 맵(720)은 블랙 또는 화이트를 나타내는 이진 범위 0,1의 픽셀 값을 갖는 비트맵에 의해, 또는 블랙(0) 내지 화이트(255)의 그레이 스케일 범위를 나타내는, 예컨대, 0-255의 픽셀 값의 범위에 의해, 또는 컬러 범위에 의해 표현될 수 있으며, 그 범위는 픽셀 값으로 표시되는 위치에 특징이 존재하는지의 불확실성을 나타낼 수 있다. 도 11에 도시된 바와 같이, 예를 들어, 블랙(0)의 픽셀은 장애물을 나타내고, 화이트(255)의 픽셀은 비어 있는 공간을 나타내며, 솔리드 그레이 구역(areas of solid gray)(몇몇 값은 0과 255 사이에 있으며, 통상적으로 128임)은 알려지지 않은 구역을 나타낸다.
도 11에 도시된 맵(720)의 스케일 및 입도는 환경의 범위 및 세부 사항에 적합한 임의의 스케일 및 치수일 수 있다. 예를 들어, 본 발명의 일부 실시예에서, 맵 내의 각각의 픽셀은 5 제곱 센티미터(cm2)를 나타낼 수 있다. 다른 실시예에서, 각각의 픽셀은 1 cm2 내지 5 cm2의 범위를 나타낼 수 있다. 그러나, 본 발명과 함께 사용하기 위한 맵의 공간 해상도는 방법의 적용에 대한 일반성 또는 이익의 상실없이 더 크거나 작을 수 있다.
도 11에 도시된 바와 같이, 맵(720)은 로봇에 의해, 환경 내에서의 자신의 포즈를 결정하고 장애물을 피하면서 경로(712, 714, 716)를 따라 자신의 이동을 계획 및 제어하는 데 사용될 수 있다. 이러한 맵은 로봇 또는 타겟 위치의 바로 근처의 공간 특징을 나타내는 "로컬 맵"일 수 있거나, 또는 하나 이상의 로봇의 동작 범위를 포함하는 구역 또는 시설의 특징을 나타내는 "글로벌 맵"일 수 있다. 맵은 외부의 감시 시스템으로부터 로봇에게 제공될 수 있거나, 또는 로봇은 온보드 거리 측정 및 위치 센서를 사용하여 자신의 맵을 구성할 수 있다. 하나 이상의 로봇들이 공유 환경을 협력적으로 매핑할 수 있으며, 결과적인 맵은 로봇들이 환경에 대한 정보를 내비게이션, 수집 및 공유함에 따라 더욱 향상될 수 있다.
일부 실시예에서, 감시 시스템은 제조 창고 또는 다른 시설에서 복수의 로봇들의 감시를 수행하는 중앙 서버를 포함할 수 있거나, 또는 감시 시스템은, 본원에 기술된 방법 및 시스템의 적용에서 일반성을 상실하지 않고, 시설 내에서 또는 시설없이 완전히 원격으로 또는 부분적으로 동작하는 하나 이상의 서버로 구성된 분산된 감시 시스템을 포함할 수 있다. 감시 시스템은 감시 시스템을 실행하기 위한 적어도 하나의 컴퓨터 프로세서 및 메모리를 갖는 서버 또는 서버들을 포함할 수 있고, 창고 또는 다른 시설에서 동작하는 하나 이상의 로봇들에게 정보를 통신하는 하나 이상의 트랜시버를 더 포함할 수 있다. 감시 시스템들은 컴퓨터 서버들 상에서 호스팅될 수 있거나, 또는 클라우드에서 호스팅되고 인터넷을 포함한 유선 및/또는 무선 통신 매체를 통해 로봇 및 감시 시스템과 메시지를 송신 및 수신하도록 구성된 로컬 트랜시버를 통해 로컬 로봇들과 통신할 수 있다.
본 기술 분야의 기술자는 본 발명의 목적을 위한 로봇 매핑이 일반성의 상실없이 당해 기술 분야에 공지된 방법을 사용하여 수행될 수 있음을 인식할 것이다. 로봇 매핑 방법에 대한 추가적인 설명은 Sebastian Thrun에 의한 “Robotic Mapping: A Survey”(2002년 2월 Cnegie-Mellon University, CMU-CS-02-111)에서 찾을 수 있으며, 이는 본원에 참고로 포함된다.
스캔
위에서 설명한 바와 같이 센서가 장착된 로봇은 센서를 사용하여 로컬화할 수 있을 뿐만 아니라 환경 맵의 구축 및 유지 관리에 기여할 수 있다. 맵 구축 및 로컬화에 사용되는 센서는 광 검출 및 거리 측정("LIDAR" 또는 "레이저 스캔" 또는 "레이저 레이더") 센서를 포함할 수 있다. 레이저 레이더 스캐너는 로봇 로컬 환경의 일련의 개별 각도 스윕(a series of discrete, angular sweeps)으로 수평면에서 물체까지의 범위 및 거리를 측정한다. 거리 측정 센서는 로봇 주위의 180도의 원호, 또는 보다 크거나 작은 원호, 또는 전체 360 도의 원호 상에서 개별 각도 증분치마다, 바람직하게는 1/4 (0.25)도의 증분치마다 행해진 "스캔"의 측정치들의 세트를 획득한다. 예를 들어, 레이저 레이더 스캔은 레이저 신호의 리턴 시간 및 강도를 나타내는 측정치들의 세트일 수 있으며, 개별 각도 증분치에서의 각각의 측정치는 로봇의 현재 위치로부터의 소정의 거리에 있는 잠재적 장애물을 나타낸다.
예를 들어, 도 12a 및 도 12b에 도시된 바와 같이, 위치(704)에서 행해진 레이저 레이더 스캔은 2 차원 비트맵(730)으로서 그래픽으로 표현될 수 있다. 도시된 스캔(730)은 중간 포즈(704)에서 로봇의 주행 방향으로 향하는 대략 180 도의 수평 원호를 도시한다. 방향성 파선으로 도시된 개별 레이저 레이더 측정치(731)는 구조물(722, 724, 726 및 728)에 있는 로봇 환경(700') 내의 장애물을 검출한다. 이들은 스캔(730)에서는 732, 734, 736 및 738에서의 픽셀로 표현된다. 일부 실시예에서, 스캔(730) 내에는 직선형 벽(724)의 스캔이 "채워질" 수 있으며, 이 스캔(730)에서, 연결된 지리적 구조물(734)은 다른 데이터로부터 알려질 수 있거나 또는 포인트 클라우드 픽셀들의 정렬에 의해 식별될 수 있다.
다른 형태의 거리 측정 센서는 본 발명의 범위를 벗어나지 않고 소나, 레이더, 및 촉각 센서를 포함한다. 본 발명과 함께 사용하기에 적합한 상업적으로 이용 가능한 거리 측정 및 위치 및 방향 센서의 예는 Hokuyo UST-10LX, the SICK LMS 100, 및 Velodyne VLP-16을 포함하지만 이에 제한되지는 않는다. 로봇은 특정 타입의 하나 이상의 거리 또는 위치 센서를 가질 수 있거나, 또는 상이한 타입의 센서를 가질 수 있으며, 센서 타입들의 조합은 그 환경을 집단적으로 매핑하는 측정치들을 생성할 수 있다. LIDAR 및 다른 스캐너에 의한 로봇 매핑 방법에 대한 추가 설명은 Edwin B. Olson에 의한“견고하고 효율적인 로봇 매핑(Robust and Efficient Robotic Mapping)”(PhD Dissertation, Carnegie-Mellon University, 2008)에서 찾을 수 있으며, 이는 본원에 참고로 포함된다.
스캔 매칭
"스캔 매칭(scan matching)"은 다른 로봇들에 의한 거리 측정 스캔들 또는 상이한 시간들에 행해진 단일 로봇의 스캔들을 SLAM 맵과 같은 환경 맵과 비교하는 프로세스이다. 스캔-투-스캔 매칭(scan-to-scan matching) 프로세스에서, 로봇이 한번에 행한 제 1 레이저 레이더 스캔은 이전에 행해진 제 2 스캔과 비교되어, 로봇이 맵 내의 동일한 위치로 리턴했는지를 결정할 수 있다. 마찬가지로, 이 스캔을 제 2 로봇의 스캔과 매칭시키면, 두 로봇이 맵 내의 공통 위치로 내비게이션했는지를 결정할 수 있다. 맵에 대한 스캔 매칭은 매핑된 환경에서 로봇의 포즈를 결정하는 데 사용될 수 있다. 도 13a에 도시된 바와 같이, 스캔(730')은 맵 부분(720')에 대해 병진 및 회전된 것으로 도시되어 있다. 알려지지 않은 포즈(x, y, θ)에 있는 로봇의 경우, 맵(720')에 대에 로봇의 레이저 레이더 스캔을 매칭시키게 되면, 스캔(730')이 맵(720')과 가장 밀접하게 상관되게 하는 병진량 Δx, Δy 및 회전량 Δθ를 갖는 강체 변환 T를 찾을 수 있게 된다. 따라서, 도 13b에 도시된 바와 같은 맵(720')의 부분에 대한 로봇의 정확한 포즈(xx, y+Δ y, θθ)가 결정될 수 있다.
레이저 레이더 스캔이 임의의 위치 및 방향에서 맵과 정확히 매칭될 가능성은 없다. 센서 측정치의 불확실성, 포즈 정확도의 요구, 및 제한된 계산 사이클 시간은 로봇의 감지된 환경과 그의 실제 포즈 간의 최상의 스캔 매치를 통계적으로 결정하기 위한 강력하고 효율적인 알고리즘을 필요로 한다. 그러나, 통계적 방법은 부정확한 포즈를 생성하기 쉽고 계산 비용이 많이 들 수 있다. 이러한 복잡성을 해결하기 위해 다양한 방법과 알고리즘이 개발되었다. 스캔 매칭 조사(survey of scan matching) 기술과 정확도를 보장하면서 로컬화를 위한 스캔 매칭에서의 계산상의 복잡도를 감소시키는 2-해상도 방법은 Edwin B. Olson에 의한 “실시간 상관 스캔 매칭(Real-Time Correlative Scan Matching)”(2009년 IEEE 국제 로봇 및 자동화 회의(International Conference on Robotics and Automation)(ICRA'09)의 회보, IEEE Press, Piscataway, NJ, USA, 2009, pp. 1233-1239)에서 찾을 수 있으며, 이는 본원에 참고로 포함된다.
M3RSM
전술한 바와 같이, 스캔 매칭을 사용하여 로컬화하기 위한 그러한 다른 기술은 다 대 다 다중 해상도 스캔 매칭(many-to-many multiresolution scan matching), 즉, "M3RSM"이다. M3RSM은 계산 효율을 위해 데시메이션으로 각각 구성된 맵들의 피라미드를 사용하여, 2-해상도 상관 스캔 매칭 접근법을 다중 해상도로 확장하고 있다. M3RSM에 대한 설명은 Edwin Olson에 의한 "M3RSM: 다 대 다 다중 해상도 스캔 매칭(M3RSM: Many-to-many multi-resolution scan matching)"(2015년 6월의 IEEE 국제 로봇 및 자동화 회의(International Conference on Robotics and Automation)(ICRA)의 회보)에서 찾을 수 있으며, 이는 본원에 참고로 포함된다.
M3RSM은 맵의 낮은 해상도에 있는 후보 포즈를 고려 대상에서 제거함으로써 SLAM 맵에 대한 스캔 매칭을 수행하는 처리 시간을 획기적으로 감소시키고 있다. 그러나, M3RSM은 로봇을 장애물들 내에 배치시킬 수 있을 포즈에 대해서는 스캔 매칭을 불필요하게 수행한다. 수정된 M3RSM 접근법을 사용하여 스캔 매칭을 개선하면 최적의 포즈 평가를 희생하지 않고도 계산 시간을 훨씬 더 절약시키게 된다.
M3RSM의 개선은 M3RSM 스캔 매칭 검색 프로세스 내에 사용하기 위해 "배제 피라미드" 구조의 다중 해상도 "배제 맵"을 도입함으로써 달성된다. 본원에 사용되는 배제 맵은 로봇이 물리적으로 점유할 수 없는 환경 맵 내의 "배제 구역" 또는 위치를 정의한다. 본원에 설명된 수정된 M3RSM에 사용되는 배제 피라미드는 표준 M3RSM에 의해 제공되는 입증 가능한 최적의 포즈 평가치를 보존하고 있다. 따라서, 배제 맵 및 배제 피라미드는 전술한 주문 풀필먼트 창고 애플리케이션의 맥락에서 M3RSM을 사용하여 알려지지 않은 포즈로 레이저 레이더 스캔을 로컬화하는 동안 목표 경로에 따른 로봇의 내비게이션을 위한 포즈를 찾기 위해 사용되는 것으로 설명된다.
로컬화
도 14는 목표 경로 계획을 위한 로봇의 포즈를 찾고, 로봇을 목표 경로를 따라 타겟 위치 또는 "목표 포즈"로 이동시키는 방법으로서 본 발명의 실시예를 도시한다.
단계(802)에서 시작하여, 로봇 시스템(600)은 데이터 스토리지(630)에 저장될 수 있는 SLAM 맵을 트랜시버 모듈(670)을 통해 수신한다. 이 맵은 이어서 데이터 프로세서(620) 또는 맵 프로세싱 모듈(646)에 의해 데이터 스토리지(630)로부터 회수될 수 있다. 이 맵의 수신시, 단계(804)에서 맵 프로세싱 모듈(646)은 아래에서 더 상세히 설명되는 수정된 M3RSM 기술에 따라 맵 피라미드를 구성한다. 맵 피라미드의 구성시, M3RSM의 원리와 방법에 따라 다중 해상도 "매칭 피라미드"가 구성된다. 또한, 표준 M3RSM에 존재하지 않는 다중 해상도 배제 피라미드는 매칭 피라미드와 동시에 구성되어, 본 발명의 창의적인 양태에 따라 M3RSM을 확장시킨다.
프로세스(800)와 함께 계속하여, 단계(806)에서 로봇 시스템(600)은 목표 포즈를 수신하고, 그리고 경로 계획 모듈(646)을 사용하여 목표 경로를 생성하며, 이 목표 경로는 그 후 나중의 프로세싱을 위해 저장될 수 있다. 목표 경로는 로봇에 대한 포즈 평가에 기반하여 생성될 수 있거나, 또는 바람직하게는, 목표 경로를 생성하는 것은 아래에 더 설명되는 바와 같이 "포즈 찾기" 단계(812)의 제 1 반복 후에 결정된 로봇의 포즈에 기반하고 있다. 경로 계획 모듈(642)은 A* 및 D* 경로 찾기 알고리즘을 포함하여 본 기술 분야의 기술자에게 공지된 다양한 기술에 의해 현재 포즈로부터 목표 포즈로의 목표 경로를 생성할 수 있다. 대안적으로, 로봇은 트랜시버 모듈(670)을 통해 목표 경로를 수신할 수 있거나 데이터 스토리지(630)로부터 목표 경로를 회수할 수 있다. 맵을 수신하고 맵 피라미드 및 목표 경로를 생성한 후, 로봇 시스템(600)은 프로세스(800)를 실행하도록 진행하여 다음과 같이 로봇을 목표 경로를 따라 증분식으로 이동시킨다.
단계(810)에서, 로봇 시스템(600)은 자신의 환경(예를 들어, 도 12a의 720)의 로컬 스캔(예를 들어, 도 13a의 730)을 수신한다. 전술한 바와 같이, 스캔은 레이저 레이더 스캔 또는 다른 거리 측정 센서 스캔을 포함할 수 있다. 스캔은 레이저 레이더에 의해 장애물이 검출되는 로봇의 시야 내의 포인트들을 나타내는 레이저 레이더 "포인트 클라우드"로 구성될 수 있다. 포인트 클라우드는 로봇에 대한 위치 및 방향에서의 레이저 레이더 스캔의 포인트들을 나타낼 수 있으며, 포인트 클라우드의 각 포인트는 개별 각도 증분치에서 취해지고 로봇의 현재 포지션으로부터 소정의 거리에 있는 잠재적 장애물을 나타낸다.
단계(812)에서, 로봇의 포즈가 결정된다. M3RSM을 갖는 맵을 사용하여 로컬 스캔으로부터 포즈를 찾는 것은 도 15를 참조하여 아래에 더 설명된다. 단계(814)에서, 프로세스는 제 1 또는 후속의 포즈 찾기 결과에 기반하여 목표 경로를 생성 또는 업데이트하도록 리턴할 수 있다.
포즈를 찾은 후, 단계(816)에서 로봇은 목표 경로를 따라 로봇을 이동시키기 위한 순간적인 다음 속도를 계산한다. 바람직하게도, 다른 로봇 및 장애물이 존재하는 경우 목표 경로를 따른 순간 속도는 동적 윈도우 접근법(DWA) 및 최적의 상호 충돌 방지(ORCA)를 포함하지만 이에 제한되지 않는 방법에 의해 달성된다. 바람직한 실시예에서, DWA는 실행 가능한 로봇 모션 궤도 중에서 장애물과의 충돌을 방지하고 타겟 위치에 대한 원하는 목표 경로를 선호하는 증분 이동(incremental movement)을 계산한다.
다음의 속도 및 로봇 이동을 결정할 때(단계(818)), 로봇 시스템(600)은 로봇의 이동에 의해 목표 포즈에 도달할 때까지 새로운 로컬 스캔의 획득(단계(810)), 포즈 찾기(단계(812)), 및 다음 속도 찾기(단계(816))를 반복할 수 있다(단계(820)). 따라서, 내비게이션은 각 프로세싱 사이클에서의 순간 속도에 의해 결정되는 증분 궤도들을 따라 일련의 증분 이동으로 진행된다.
매칭 피라미드
도 14의 단계(804)로 돌아가서, M3RSM과 함께 사용하기 위한 맵 피라미드를 구성하는 것은 로봇의 로컬 또는 글로벌 환경의 SLAM 맵을 수신하는 것으로부터 진행된다. 위에서 설명되고 도 11에 도시된 바와 같이, 단지 예시를 위해, SLAM 맵(720)은 자유 공간 및 장애물을 포함하는 창고의 일부를 나타낸다. 0,1의 이진 범위 내의 맵(720)의 픽셀 값은 장애물(0 또는 블랙)과 자유 공간(1 또는 화이트)을 나타낸다. 대안적으로, 맵(720)은 0-255 범위의 픽셀 값을 사용하여 창고 내의 장애물을 나타낼 수 있으며, 제로(0)의 값은 장애물을 나타내고 255의 값은 자유 공간을 나타낸다. 값이 128인 그레이 픽셀은(존재하는 경우)은 알려지지 않았거나 매핑되지 않았거나 액세스할 수 없는 구역을 나타낸다.
매칭 피라미드의 최고 해상도 매칭 맵을 구성하는 것은 SLAM 맵을 반전시키는 것으로 시작한다. 다음으로, 반전된 맵에 대해 2 차 감쇠 컨볼루션(quadratic decay convolution)이 수행된다. 도 15a의 맵(900)에 의해 도시된 바와 같이, 제로(0) 또는 블랙의 픽셀 값은 자유 공간을 나타내고 255 또는 화이트의 값은 장애물을 나타낸다. 본 기술 분야의 기술자는, 2 차 감쇠 컨볼루션 또는 "퍼지화(fuzzification)" 필터를 적용하면 맵(900)에서 장애물의 크기를 약간 증가시키는 효과가 있고 0-255 범위의 픽셀 값을 생성한다는 것을 이해할 것이다.
단계(804)에서 계속해서, 맵 피라미드의 구성은 다음과 같이 진행된다. 도 16a에 도시된 바와 같이, 매칭 피라미드(910)는 피라미드의 베이스에서의 최고 해상도 매칭 맵(912)에서 시작하여 상단에서의 최저 해상도 매칭 맵까지의 연속적으로 낮아지는 해상도들에서의 맵들의 세트이다. 매칭 피라미드의 구성은 매칭 피라미드(910)의 최고 해상도 맵에서 정사각형 비트맵을 형성하도록 제로(블랙)로 패딩된 맵(912)(창고의 전체 맵을 나타냄)으로 시작한다. 최고 해상도 매칭 맵(912)은 계산 효율을 위한 NxN 픽셀들의 정사각형 맵이지만 임의의 차원 또는 값의 N일 수 있다.
매칭 피라미드(910)의 구성은 맵(912)을 연속적으로 낮아지는 해상도 매칭 맵(914, 916, 918, 920)으로 데시메이션함으로써 계속되고, 각각의 낮아지는 해상도 맵은 다음 최고 해상도 맵의 데시메이션에 의해 도출된다. 예를 들어, 낮아지는 해상도 매칭 맵(914)은 최고 해상도 매칭 맵(912)의 데시메이션으로부터 도출되고; 더 낮은 해상도에서의 매칭 맵(916)은 매칭 맵(914)을 데시메이션함으로써 도출되며, 계속해서 이러한 과정은 단 하나의 픽셀만이 남을 때까지 지속된다.
매칭 피라미드(910)를 구성하기 위한 최고 해상도 매칭 맵(912)의 데시메이션이 이제 도 17a 내지 도 17c를 참조하여 설명될 것이다. 일반적으로, 저 해상도 맵으로의 고 해상도 맵의 각 데시메이션에서는, 맵의 두 개의 행마다 한 번씩 하나 건너의 픽셀 위를 9 개의 픽셀(3x3 정사각형)의 윈도우(940)가 통과하게 된다. 다음 최저 해상도에서 해당 픽셀에 대해 유지되는 값은 9-픽셀 윈도우의 최대 픽셀 값이다. 매칭 피라미드 내의 최저 해상도 맵은 단일 픽셀이다. 따라서, 각각의 데시메이션은 다음 낮은 해상도 매칭 맵에서의 스캔 매치의 가능성을 과대 평가한다. 이것은 정확한 포즈를 찾는 M3RSM의 최적성을 유지하면서, 낮아지는 해상도들에서의 스캔 매칭이 다음 최고 해상도에서의 스캔 매칭과 마찬가지로 최소로 점수화되는 것을 보장한다.
도 17a 및 도 17b는 매칭 피라미드(910)의 맵(920)의 일부(920')의 데시메이션을 도시한다. 예를 들어, 맵(920')의 데시메이션은 낮아지는 해상도 맵 (924)을 생성한다. 맵(924)은 다음 낮은 해상도의 맵의 일부일 수 있다. 최고 해상도 매칭 맵 내의 블랙(0)은 최소값이고 화이트(255)는 최대값임을 상기하면, 좌측 상단 픽셀(941) 위에 위치한 9-픽셀 윈도우(940)는 도 17b의 픽셀(951)의 값을 생성한다. 픽셀(951)의 값은 윈도우(940) 내의 픽셀들 중의 최대값이다. 맵(920')에서 윈도우(940)를 우측으로 2 개의 픽셀만큼 슬라이딩시키면 픽셀 값(952)이 생성된다. 윈도잉 프로세스(windowing process)는 윈도우(940)가 행의 끝에 도달할 때까지 계속되며, 여기서 행 너머의 윈도우 구역에 존재하지 않는 픽셀 값은 무시된다.
부분(920')의 제 2 행에서의 데시메이션을 계속하면서, 윈도우(940)를 2 개의 행 아래로 이동시키면 윈도우(940)의 좌측 상단에는 픽셀(944)이 위치된다. 최대값을 취하면 도 17b에서 픽셀 값(954)이 생성되고, 계속해서 제 2 행의 끝에까지 수행된다. 이러한 방식으로, 도 17b의 픽셀 값들(951 내지 959)은 윈도우(940)가 자신의 좌측 상단 코너를 픽셀들(941 내지 949) 위에 제각기 위치시킬 때 픽셀들의 최대값에 대응한다. 따라서, 예를 들어, 도 17b의 중앙 픽셀(955)은 화이트이며, 최대값은 도 17a의 픽셀(945) 위의 자신의 좌측 상단 코너가 위치하는 윈도우(940)에 대해 취해진다. 데시메이션을 반복하고 각각의 낮아지는 다음 해상도에서 최대값을 취하는 것은 단일 픽셀(926)만이 매칭 피라미드(910)의 최저 해상도로 유지될 때까지 계속된다.
배제 피라미드
도 14의 단계(804)에서 계속해서, 배제 피라미드(exclusion pyramid)의 구성이 다음과 같이 진행된다. 매칭 피라미드의 구성에 대해 전술한 바와 같이, 수신된 맵(720)은 자유 공간 및 장애물을 포함하는 창고의 구역을 나타낸다. 맵(720)은 0, 1의 이진 범위의 픽셀 값을 가지며, 여기서 제로(0) 또는 블랙은 장애물을 나타내고, 1 또는 화이트는 자유 공간을 나타낸다. 대안적으로, 맵(720)은 0, 255 범위의 픽셀 값을 사용하여 창고 내의 장애물을 나타낼 수 있으며, 제로(0)의 값은 장애물을 나타내고 255의 값은 자유 공간을 나타낸다. (일반적으로 값 128을 갖는) 그레이 픽셀은 알려지지 않은 구역을 나타낸다. 최고 해상도 매칭 맵의 구성과 마찬가지로, 맵(720) 내의 그레이 구역은 블랙으로 변환된다.
도 15b는 최고 해상도 배제 맵(910)의 일부를 도시하며, 여기서, 제로(0) 또는 블랙의 픽셀 값은 장애물을 나타내고, 1 또는 화이트의 값은 자유 공간을 나타낸다. 매칭 피라미드와는 달리, 맵(720)은 반전되지 않고, 맵(910)을 구성하기 위한 퍼지화는 수행되지 않는다. 오히려, 장애물(블랙)은 로봇의 최대 범위(예를 들어, 로봇의 반경) 만큼 확대되거나 "팽창"된다. 로봇의 반경 만큼의 팽창은 장애물을 나타내는 맵(720)의 픽셀을 로봇의 반경에 대응하는 픽셀들의 수로 모든 방향으로 연장함으로써 용이하게 달성된다. 예를 들어, 반경 0.25 미터를 갖는 로봇에 대한 픽셀 당 5 cm의 맵에서, 25 개의 블랙(0) 픽셀은 모든 블랙(장애물) 픽셀에 대해 모든 방향으로 인접하여 "패딩"될 수 있다. 대안적으로, 장애물은 로봇의 모든 포인트에서 로봇의 방해받지 않는 모션을 보장하도록 로봇 반경의 최대 2 배에 이르는 만큼 패딩될 수 있다.
도 16b에 도시된 바와 같이, 배제 피라미드(950)는 피라미드의 베이스에서의 최고 해상도 배제 맵(952)에서 시작하여 상단에서의 최저 해상도 배제 맵까지의 연속적으로 낮아지는 해상도들에서의 맵들의 세트를 포함한다. 배제 피라미드의 구성은 배제 피라미드(950)의 최고 해상도 맵에서 정사각형 비트맵을 형성하도록 제로(블랙)로 패딩된 맵(952)(창고의 전체 맵을 나타냄)으로 시작한다. 최고 해상도 배제 맵(952)은 매칭 피라미드(910)에 대해 위에서 도시되고 설명된 바와 같이 최고 해상도 매칭 맵(912)과 동일한 크기 및 해상도를 갖는 정사각 비트맵이다. 주목되는 것은, 바람직한 실시예에서, 배제 맵에 대해 퍼지화가 수행되지 않기 때문에, 배제 맵 내의 픽셀 값은 이진 0, 1이며, 여기서, 장애물(블랙)은 로봇의 반경 만큼 팽창되었다는 것이다.
매칭 피라미드의 구성과 마찬가지로, 배제 맵(950)의 구성은 맵(952)을 연속적으로 낮아지는 해상도 맵(954, 956, 958, 960)으로 데시메이션함으로써 진행되고, 각각의 낮아지는 해상도 맵은 다음 최고 해상도 맵의 데시메이션에 의해 도출된다. 예를 들어, 낮아지는 해상도 배제 맵(954)은 최고 해상도 배제 맵(952)의 데시메이션으로부터 도출되고; 더 낮은 해상도에서의 배제 맵(956)은 배제 맵(954)을 데시메이션함으로써 도출되며, 계속해서 이러한 과정은 단일 픽셀의 최저 해상도 배제 맵만이 남을 때까지 지속된다.
도 18a 내지 도 18c에 도시된 바와 같이, 배제 피라미드(950)에 대한 데시메이션은 매칭 피라미드(910)에 대한 데시메이션의 방식과 동일하게 계속된다. 이와 같이, 도 18a 및 도 18b는 다음 낮은 해상도 배제 맵(962)을 생성하기 위한 배제 피라미드(950)의 맵(960)의 일부(960')의 데시메이션을 도시한다. 윈도우(940)가 맵(960')의 두 개의 행마다 한 번씩 하나 건너의 픽셀 위를 통과함에 따라, 윈도우의 최대 픽셀값은 다음 낮은 해상도에서의 대응하는 픽셀의 값으로 유지된다. 다음 낮은 해상도에서 데시메이션을 반복하는 것은 단일 픽셀(980)만이 남을 때까지 계속된다.
배제 피라미드의 각각의 연속적으로 낮아지는 해상도에서의 데시메이션은 로봇을 장애물 내에 배치할 스캔 매치의 가능성을 과소 평가하여, 피라미드의 낮아지는 해상도에서의 고려 대상으로부터 유효 포즈 후보의 배제를 방지한다. 마찬가지로, 배제 맵을 데시메이션하는 방식은 자유 공간에서 로봇에 대한 포즈를 찾을 가능성을 과대 평가한다. 이러한 과대 평가의 목적과 이점은 아래에서 더 설명되는 바와 같이 M3RSM과 함께 배제 맵과 배제 피라미드의 적용에서 명백해질 것이다.
포즈 찾기
도 14의 단계(810)로 돌아가서, 로봇 시스템(600)은 로컬 환경의 레이저 레이더 스캔을 수신하고 수신된 스캔에 최상으로 매칭되는 포즈를 찾도록 진행한다. 수신된 맵을 갖고 매칭 및 배제 피라미드를 구성한 로봇 시스템(600)은 그 후 로봇의 자세를 찾는 단계로 진행될 수 있다.
로봇의 자세를 찾는 단계는 도 19를 참조하여 더 설명된다. 단계(834)에서 시작하여, 검색 구역은 후보 포즈를 위해 검색될 수신된 맵의 부분으로서 결정된다. 제 1 반복에서, 검색 구역은 전체 맵을 포함할 수 있다. 후속 반복에서, 로봇 시스템(600)은 맵의 일부에서만 그 포즈를 평가할 수 있다. 검색 구역을 결정하기 위한 포즈는 구동 트레인/휠 인코더 및/또는 구동 제어 정보와 같은 센서 데이터와 결합된 최종으로 알려진 포즈로부터 평가될 수 있다.
바람직한 실시예에서, 상태 평가 모듈(650)은 포즈 데이터를 휠 인코더 데이터 및 관성 센서 데이터와 융합하여, 로봇의 현재 포즈, 속도, 및 각각에 대해 평가된 오차를 결정할 수 있다. 따라서, 평가된 포즈는 검색을 맵의 일부로 한정하여, 검색 공간을 줄이고 스캔 매칭을 위한 프로세싱 시간을 감소시킨다. 포즈 평가에서 불확실성이 낮아질 수록 스캔 매칭이 요구될 수 있는 검색 구역은 작아진다. 불확실성이 커질 수록 스캔 매칭이 요구될 수 있는 검색 구역은 커지게 된다. 본 기술 분야의 기술자는 포즈의 평가 및 검색 구역의 결정이 다양한 방법 및 파라미터에 의해 수행될 수 있음을 이해할 것이다.
다시 도 19를 참조하면, 단계(836)에서 로봇 시스템(600)은 결정된 검색 구역에 따라 후보 포즈의 초기 검색 공간을 생성한다. 바람직하게도, 초기 검색 공간은 검색 작업을 포함하는 검색 힙이고, 각각의 검색 작업은 하나 이상의 후보 포즈, 매칭 피라미드의 하나의 해상도에서의 매칭 맵, 및 매칭 맵의 해상도로 데시메이션된 수신된 스캔으로 구성된다. 일 실시예에서, 각각의 검색 작업은 수신된 스캔을 매칭 맵의 일부에 스캔 매칭하기 위한 병진 및 회전의 후보 포즈를 정의한다. 대안적으로, 각각의 검색 작업은 병진 및 회전의 범위에 의해 후보 포즈를 정의할 수 있으며, 여기서 소정의 해상도에서의 스캔의 회전 및/또는 데시메이션은 요청시 수행되어 캐싱된다. 검색 힙이 처음 생성될 경우, 검색 힙의 모든 회전에 대해 스캔이 회전되어 캐싱될 수 있다. 스캔 매칭을 위해 특정 해상도의 스캔이 필요한 경우, 이미 캐싱된 회전 스캔은 자신의 데시메이션된 버전과 함께 캐시로부터 회수될 수 있다. 따라서, 동일한 회전 및 해상도를 갖는 검색 작업이 다른 변형을 위해 데시메이션되고 회전된 스캔을 필요로 하는 경우, 이전에 회전되고 데시메이션된 스캔이 캐시로부터 회수되어 반복 포인트 클라우드 동작의 계산 시간을 절감할 수 있다.
도 19로 되돌아가면, 후보 포즈 검색(단계(838))은 매칭 피라미드의 최고 해상도에서 최상의 포즈가 발견될 때(단계 840)까지 진행된다. 선택된 최상의 포즈가 최고 해상도 매칭 맵에 있지 않으면(단계(844)), 검색 공간이 확장되고(단계(848)) 후보 포즈의 검색(단계(838))이 계속된다. 최상의 포즈가 최고 해상도 매칭 맵에 있다면, 프로세싱(단계 842)은 전술한 바와 같은 도 14의 단계(812)로 리턴한다.
검색 힙의 검색 작업들은, 후보 포즈가 해당 검색 작업을 위한 매칭 피라미드 맵 해상도에서의 맵과 매칭할 최대 가능성에 대한 계산된 상한의 할당에 의해 순서화된다. 검색 힙을 효율적으로 생성 및 확장하고 검색 힙 내의 검색 작업의 최대 가능성에 대한 상한을 계산하는 기술은 위에서 참고로 이미 포함된 Edwin Olson에 의한 “M3RSM: 다 대 다 다중 해상도 스캔 매칭(M3RSM: Many-to-many multi-resolution scan matching)”에서 찾을 수 있다.
그러나, 종래의 M3RSM에서, 검색 힙을 확장하는 것은 로봇을 환경의 장애물 내에 또는 부분적으로 장애물 내에 로컬화시킬 후보 포즈와 함께 검색 작업을 검색 힙에 추가하는 것을 포함한다. 도시되듯이, 전술한 배제 피라미드를 M3RSM에 통합하게 되면, 그러한 작업으로 검색 힙을 확장하는 것이 방지되며, 이로써 유효하지 않은 포즈를 평가하는 계산 비용이 제거된다. 또한, 검색 작업을 잘라내어 그것을 검색 힙에 추가함으로써, 무효 포즈와 연관된 관련된 보다 높아지는 해상도들에서의 모든 검색 작업도 또한 고려 대상에서 제거된다.
도 20은 검색 작업을 검색 힙 상에 생성 및 평가하기 전에 장애물 내에 로봇을 로컬화시킬 후보 포즈를 무효화하기 위해 배제 피라미드를 이용하는 프로세스를 도시한다. 전술한 바와 같이, 검색 힙(990)은 작업들(T1 및 T2)을 포함할 수 있고, 각각의 작업은 레이저 레이더 스캔(S), 매칭 피라미드의 해상도(R)에서의 매칭 맵(M), 및 스캔(S)에 대한 후보 병진 및 회전 범위를 포함한다. 작업(T1)의 평가에 의해, 일련의 회전에 걸쳐 맵(M)에 대해 스캔(S)을 회전 및 스캔 매칭시킴으로써 최상의 후보 포즈(P)를 찾게 된다. 해상도(R)가 매칭 피라미드의 최고 해상도인 경우, 포즈(P)는 로봇 포즈이고 도 19의 단계(812)가 수행된다. 해상도(R)가 최고 해상도가 아닌 경우, 다음 최고 해상도(R-1)에서 작업(T1)이 확장될 수 있다.
해상도(R)에서의 검색 작업으로부터의 검색 힙의 확장에 의해, 매칭 피라미드의 해상도(R-1)에서의 매칭 맵으로부터 4 개의 새로운 검색 작업(예를 들어, 도 20의 T3-T6)이 추가될 수 있다. 해상도(R)에서 확장되는 검색 작업의 포즈에 대한 4 개의 새로운 검색 작업은 해상도(R-1)에서의 맵의 초기 데시메이션에 해당하는 4-픽셀 정사각형으로부터 생성된다. 각각의 새로운 검색 작업은 확장된 검색 작업의 병진 범위의 1/4을 가질 것이다. 그러나, 본 발명의 일 실시예에서, 새로운 검색 작업을 생성하기 전에, 각각의 새로운 작업의 후보 포즈(P)의 위치에서 해상도(R-1)에서의 배제 맵이 쿼리된다. 해상도(R-1)에서의 후보 포즈가 로봇을 해상도(R-1)에서의 배제 맵의 블랙 픽셀(장애물) 상에 위치시키게 되면, 해당 포즈에 대한 확장된 검색 작업이 제거되고 검색 힙에는 삽입되지 않는다.
예를 들어, 도 20에 도시된 바와 같이, 해상도(R)에서의 작업(T1)을 해상도(R-1)에서의 새로운 작업(T3-T6)으로 확장하면, 알고리즘은 작업(T5)의 후보 포즈(P)를 배제 맵(960)(그 일부(960')가 도 21에 도시됨)의 픽셀(969)에 위치시킬 것이며, 작업(T5)은 검색 힙에 추가되지 않을 것이다. 작업(T5)을 먼저 잘라 내어 검색 힙에 추가함으로써, 해상도(R-2) 및 그보다 높은 해상도들에서의 픽셀에 해당하는 포즈(P)에서 생성되었을 수 있는 모든 검색 작업이 또한 제거되는데, 그 이유는 작업(T5)이 다음 최고 해상도 맵의 해당 위치에서는 절대로 평가되지 않을 것이기 때문이다(그리고 그에 따라 확장되지 않을 것이기 때문이다).
도 22a 및 도 22b는 전술한 프로세스로부터 "최상의 포즈"를 찾는 것을 도시한다. 도 22a는 로컬 스캔(730) 및 초기 포즈 평가(740)를 도시한다. 도 21b는 매칭 피라미드의 최고 해상도 매칭 맵에서의 변환 T*에 의해 포즈 평가(740)로부터 최상의 포즈(750)로 변형되는 로컬 스캔 매치를 도시한다. 단계(842)로부터의 750의 리턴은 도 14로부터의 단계(812)를 완료하는데, 도 14로부터의 단계(812)는 목표 경로를 따라 로봇을 증분식으로 이동시키기 위한 다음 순간 속도를 결정하기 위해 전술한 바와 같이 진행된다.
전술한 본 발명의 설명은 통상의 기술자가 현재 최선의 모드인으로 간주되는 것을 만들고 사용할 수 있게 하지만, 통상의 기술자는 본원의 특정 실시예 및 예의 변형, 조합 및 등가물의 존재를 이해하고 인식할 것이다. 본 발명의 전술한 실시예는 단지 예일 뿐이다. 본 발명의 범위를 벗어나지 않고 본 기술 분야의 기술자에 의해 특정 실시예에 대한 변경, 수정 및 변형이 이루어질 수 있으며, 본 발명의 범위는 본 명세서에 첨부된 청구항에 의해서만 정의된다.
본 발명은 소프트웨어 및/또는 하드웨어로 구현될 수 있음을 이해해야 한다. 따라서, 본 발명의 양태는 완전한 하드웨어 실시예, (펌웨어, 상주 소프트웨어, 마이크로 코드 등을 포함하는) 완전한 소프트웨어 실시예 또는 소프트웨어 및 하드웨어 양태를 결합한 실시예의 형태를 취할 수 있으며, 이들 모두는 일반적으로 본원에서 "회로", "모듈" 또는 "시스템"으로 지칭될 수 있다. 본 기술 분야의 기술자라면 알 수 있는 바와 같이, 발명의 양태는 시스템, 방법 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다.
본 발명의 양태는 방법 및 장치(시스템)의 흐름도, 예시 및/또는 블록도를 참조하여 설명된다. 흐름도 및 블록도는 본 발명의 다양한 실시예에 따른 시스템 구조, 기능 또는 동작을 예시할 수 있다. 흐름도의 각 단계는 특정 기능(들)을 구현하기 위한 하나 이상의 실행 가능 명령어를 포함하는 모듈을 나타낼 수 있다. 일부 구현예에서, 연속적으로 도시된 단계들은 실제로 실질적으로 동시에 실행될 수 있다. 단계들은 지정된 기능이나 동작을 수행하는 특수 목적 하드웨어 기반 시스템에 의해 수행될 수 있거나, 또는 특수 목적 하드웨어와 컴퓨터 명령어의 조합에 의해 수행될 수 있다.
본 발명의 동작을 수행하는 프로세서에 의한 실행을 위한 컴퓨터 명령어는 C#, C++, Python, 또는 자바(Java) 프로그래밍 언어와 같은 객체 지향 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어로 작성될 수 있다. 본원에 설명된 흐름도 및/또는 시스템 블록도에 지정된 단계를 구현하는 실행 명령어를 포함하여, 로봇 시스템이 데이터 프로세서를 통해 특정 방식으로 기능하도록 지시할 수 있는 컴퓨터 프로그램 명령어가 컴퓨터 판독 가능 매체에 저장될 수 있다. 컴퓨터 판독 가능 저장 매체는 데이터 프로세서에 의해 사용되거나 그와 관련하여 사용하기 위한 명령어를 포함하거나 저장할 수 있는 임의의 유형적인 매체(tangible medium)일 수 있다. 컴퓨터 판독 가능 매체는 또한 컴퓨터 판독 가능 프로그램 코드가 내장된 전파되는 데이터 신호를 포함할 수 있다.
그러므로, 본 발명은 다음과 같이 청구되는 본 발명의 범주 및 사상 내에서 상술된 실시예 및 예, 실시예 및 적용례에 의해서는 제한되지 않는다.

Claims (18)

  1. 로봇을 현재 포즈(current pose)로부터 목표 포즈(goal pose)로 내비게이션시키는 방법에 있어서,
    로봇 내비게이션을 위한 구역 내의 장애물 및 자유 공간을 나타내는 맵을 수신하는 단계;
    상기 수신된 맵에 기반하여, 최고 해상도 매칭 맵과 연속적으로 낮아지는 해상도들의 데시메이션된(decimated) 매칭 맵들의 세트를 포함하는 매칭 맵 피라미드를 구성하는 단계;
    상기 수신된 맵에 기반하여, 최고 해상도 배제(exclusion) 맵과 연속적으로 낮아지는 해상도들의 데시메이션된 배제 맵들의 세트를 포함하는 배제 맵 피라미드를 구성하는 단계;
    로봇을 자신의 현 위치로부터 목표 경로를 따라 목표 포즈로 내비게이션시키기 위한 상기 목표 포즈를 수신하는 단계;
    자신의 현 위치에서의 로봇에 근접한 장애물을 나타내는 포인트 클라우드를 포함하는 레이저 레이더 스캔을 수신하는 단계;
    상기 로봇의 현재 포즈를 찾는 단계; 및
    상기 로봇을 상기 목표 포즈의 방향으로 상기 목표 경로 상의 다음 포즈로 이동시키는 단계를 포함하고,
    상기 로봇의 현재 포즈를 찾는 단계는:
    상기 수신된 맵 내의 검색 구역을 결정하는 단계;
    상기 매칭 맵 피라미드의 하나 이상의 해상도에서의 후보 포즈들을 나타내는 작업들을 포함하는 검색 힙(search heap)을 생성하는 단계; 및
    상기 검색 힙 상의 검색 작업들을 점수화(socre)하여 최상의 후보 포즈를 결정하는 단계를 포함하며, 만약 상기 최상의 후보 포즈가 상기 최고 해상도 매칭 맵에 있다면, 상기 최상의 후보 포즈가 상기 현재 포즈로서 선택되고; 만약 상기 최상의 후보 포즈가 상기 최고 해상도 매칭 맵에 있지 않으면, 상기 최상의 후보 포즈에 기반하여 상기 검색 힙이 다음 최고 해상도 매칭 맵으로 확장되고; 그리고 상기 로봇을 배제 맵의 배제 구역으로 로컬화시킬 후보 포즈를 갖는 검색 작업으로는 상기 검색 힙이 다음 최고 해상도 배제 맵으로 확장되지 않는 것인, 로봇을 현재 포즈로부터 목표 포즈로 내비게이션시키는 방법.
  2. 제1항에 있어서,
    상기 수신된 맵은 동시적 로컬화 및 매핑(SLAM; simultaneous localization and mapping) 맵을 포함하는 것인, 방법.
  3. 제1항에 있어서,
    상기 검색 힙을 생성하고 상기 검색 작업들을 점수화하는 것은, 다 대 다 다중 해상도 스캔 매칭(many-to-many multi-resolution scan matching)(M3RSM)에 의해 수행되는 것인, 방법.
  4. 제1항에 있어서,
    상기 최고 해상도 매칭 맵을 구성하는 것은, 2 차 감쇠 컨볼루션 필터(quadratic decay convolution filter)에 의해 장애물의 크기를 증가시키는 것을 포함하는 것인, 방법.
  5. 제1항에 있어서,
    상기 최고 해상도 배제 맵을 구성하는 것은, 상기 로봇의 반경에 기반하여 장애물의 크기를 증가시키는 것을 포함하는 것인, 방법.
  6. 제1항에 있어서,
    상기 매칭 맵 피라미드의 각각의 연속적으로 낮아지는 해상도를 구성하도록 데시메이션하는 것은, 다음으로 높은 해상도 매칭 맵 내의 스캔 매치 점수를 과대 평가(overestimate)하는 것인, 방법.
  7. 제1항에 있어서,
    상기 배제 맵 피라미드의 각각의 연속적으로 낮아지는 해상도를 구성하도록 데시메이션하는 것은, 다음으로 높은 해상도 배제 맵 내의 배제 구역을 과소 평가(underestimate)하는 것인, 방법.
  8. 제7항에 있어서,
    낮아지는 해상도 배제 맵에서의 상기 배제 구역의 과소 평가와, 상기 배제 구역에 로컬화된 검색 작업을 확장하지 않는 것은 또한, 상기 배제 맵 피라미드의 높아지는 해상도들의 배제 구역들에서 검색 작업의 생성을 막는 것인, 방법.
  9. 제8항에 있어서,
    상기 배제 구역에 의해 정의된 장애물은 벽, 선반, 빔, 빈, 및 충전 스테이션을 포함하지만 이에 제한되지 않는 그룹으로부터 선택되는 것인, 방법.
  10. 로봇 시스템에 있어서,
    레이저 레이더 스캐너;
    트랜시버;
    데이터 저장 디바이스; 및
    데이터 프로세서를 포함하고,
    상기 데이터 저장 디바이스는 상기 데이터 프로세서에 의해 실행하기 위한 명령어를 저장하며, 상기 명령어는;
    로봇 내비게이션을 위한 구역 내의 장애물 및 자유 공간을 나타내는 맵을 수신하는 것;
    상기 수신된 맵에 기반하여, 최고 해상도 매칭 맵과 연속적으로 낮아지는 해상도들의 데시메이션된 매칭 맵들의 세트를 포함하는 매칭 맵 피라미드를 구성하는 것;
    상기 수신된 맵에 기반하여, 최고 해상도 배제 맵과 연속적으로 낮아지는 해상도들의 데시메이션된 배제 맵들의 세트를 포함하는 배제 맵 피라미드를 구성하는 것;
    로봇을 자신의 현 위치로부터 목표 경로를 따라 목표 포즈로 내비게이션시키기 위한 상기 목표 포즈를 수신하는 것;
    자신의 현 위치에서의 로봇에 근접한 장애물을 나타내는 포인트 클라우드를 포함하는 레이저 레이더 스캔을 수신하는 것;
    상기 로봇의 현재 포즈를 찾는 것; 및
    상기 로봇을 상기 목표 포즈의 방향으로 상기 목표 경로 상의 다음 포즈로 이동시키기 위한 것을 포함하고;
    상기 로봇의 현재 포즈를 찾는 것은:
    상기 수신된 맵 내의 검색 구역을 결정하는 것;
    상기 매칭 맵 피라미드의 하나 이상의 해상도들에서의 후보 포즈들을 나타내는 작업들을 포함하는 검색 힙을 생성하는 것; 및
    상기 검색 힙 상의 검색 작업들을 점수화하여 최상의 후보 포즈를 결정하는 단계를 포함하며, 만약 상기 최상의 후보 포즈가 상기 최고 해상도 매칭 맵에 있다면, 상기 최상의 후보 포즈가 상기 현재 포즈로서 선택되고; 만약 상기 최상의 후보 포즈가 상기 최고 해상도 매칭 맵에 있지 않으면, 상기 최상의 후보 포즈에 기반하여 상기 검색 힙이 다음 최고 해상도 매칭 맵으로 확장되고; 그리고 상기 로봇을 배제 맵의 배제 구역으로 로컬화시킬 후보 포즈를 갖는 검색 작업으로는 상기 검색 힙이 다음 최고 해상도 배제 맵으로 확장되지 않는 것인, 로봇 시스템.
  11. 제10항에 있어서,
    상기 수신된 맵은 동시적 로컬화 및 매핑(SLAM) 맵을 포함하는 것인, 로봇 시스템.
  12. 제10항에 있어서,
    상기 검색 힙을 생성하고 상기 검색 작업들을 점수화하는 것은, 다 대 다 다중 해상도 스캔 매칭(many-to-many multi-resolution scan matching)(M3RSM)에 의해 수행되는 것인, 로봇 시스템.
  13. 제10항에 있어서,
    상기 최고 해상도 매칭 맵을 구성하는 것은, 2 차 감쇠 컨볼루션 필터에 의해 장애물의 크기를 증가시키는 것을 포함하는 것인, 로봇 시스템.
  14. 제10항에 있어서,
    상기 최고 해상도 배제 맵을 구성하는 것은, 상기 로봇의 반경에 기반하여 장애물의 크기를 증가시키는 것을 포함하는 것인, 로봇 시스템.
  15. 제10항에 있어서,
    상기 매칭 맵 피라미드의 각각의 연속적으로 낮아지는 해상도를 구성하도록 데시메이션하는 것은, 다음으로 높은 해상도 매칭 맵 내의 스캔 매치 점수를 과대 평가하는 것인, 로봇 시스템.
  16. 제10항에 있어서,
    상기 배제 맵 피라미드의 각각의 연속적으로 낮아지는 해상도를 구성하도록 데시메이션하는 것은, 다음으로 높은 해상도 배제 맵 내의 배제 구역을 과소 평가하는 것인, 로봇 시스템.
  17. 제16항에 있어서,
    낮아지는 해상도 배제 맵에서의 상기 배제 구역의 과소 평가와, 상기 배제 구역에 로컬화된 검색 작업을 확장하지 않는 것은 또한, 상기 배제 맵 피라미드의 높아지는 해상도들의 배제 구역들에서 검색 작업의 생성을 막는 것인, 로봇 시스템.
  18. 제17항에 있어서,
    상기 배제 구역에 의해 정의된 장애물은 벽, 선반, 빔, 빈, 및 충전 스테이션을 포함하지만 이에 제한되지 않는 그룹으로부터 선택되는 것인, 로봇 시스템.
KR1020207011106A 2017-09-22 2018-09-21 배제 구역과의 다중 해상도 스캔 매칭 KR102385253B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/712,222 2017-09-22
US15/712,222 US10386851B2 (en) 2017-09-22 2017-09-22 Multi-resolution scan matching with exclusion zones
PCT/US2018/052190 WO2019060700A1 (en) 2017-09-22 2018-09-21 MULTI-RESOLUTION SCAN MATCHING WITH EXCLUSION ZONES

Publications (2)

Publication Number Publication Date
KR20200085271A KR20200085271A (ko) 2020-07-14
KR102385253B1 true KR102385253B1 (ko) 2022-04-08

Family

ID=64572446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207011106A KR102385253B1 (ko) 2017-09-22 2018-09-21 배제 구역과의 다중 해상도 스캔 매칭

Country Status (8)

Country Link
US (1) US10386851B2 (ko)
EP (1) EP3685241B1 (ko)
JP (1) JP6937898B2 (ko)
KR (1) KR102385253B1 (ko)
CN (1) CN111602096B (ko)
CA (1) CA3076533C (ko)
ES (1) ES2903525T3 (ko)
WO (1) WO2019060700A1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912574B2 (en) * 2006-06-19 2011-03-22 Kiva Systems, Inc. System and method for transporting inventory items
US11042161B2 (en) 2016-11-16 2021-06-22 Symbol Technologies, Llc Navigation control method and apparatus in a mobile automation system
US11449059B2 (en) 2017-05-01 2022-09-20 Symbol Technologies, Llc Obstacle detection for a mobile automation apparatus
US11093896B2 (en) 2017-05-01 2021-08-17 Symbol Technologies, Llc Product status detection system
DE112018002314T5 (de) 2017-05-01 2020-01-23 Symbol Technologies, Llc Verfahren und vorrichtung zur erkennung eines objektstatus
US11600084B2 (en) 2017-05-05 2023-03-07 Symbol Technologies, Llc Method and apparatus for detecting and interpreting price label text
WO2019117844A1 (en) * 2017-12-11 2019-06-20 Daniel Theobald Autonomous device for transporting items
US11506483B2 (en) 2018-10-05 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for support structure depth determination
US11090811B2 (en) 2018-11-13 2021-08-17 Zebra Technologies Corporation Method and apparatus for labeling of support structures
US11003188B2 (en) * 2018-11-13 2021-05-11 Zebra Technologies Corporation Method, system and apparatus for obstacle handling in navigational path generation
US11079240B2 (en) 2018-12-07 2021-08-03 Zebra Technologies Corporation Method, system and apparatus for adaptive particle filter localization
US11416000B2 (en) 2018-12-07 2022-08-16 Zebra Technologies Corporation Method and apparatus for navigational ray tracing
DE102018131267A1 (de) * 2018-12-07 2020-06-10 Sick Ag Transportsystem für Waren und Verfahren zum Entfernen einer herabgefallenen Ware
CA3028708A1 (en) 2018-12-28 2020-06-28 Zih Corp. Method, system and apparatus for dynamic loop closure in mapping trajectories
KR20200099264A (ko) * 2019-02-14 2020-08-24 한화디펜스 주식회사 장애물 지도 생성 방법 및 그 장치
CN109916393B (zh) * 2019-03-29 2023-03-31 电子科技大学 一种基于机器人位姿的多重栅格值导航方法及其应用
CN110286673A (zh) * 2019-05-23 2019-09-27 北京京东尚科信息技术有限公司 仓储任务处理方法、装置、仓储系统以及存储介质
US11960286B2 (en) 2019-06-03 2024-04-16 Zebra Technologies Corporation Method, system and apparatus for dynamic task sequencing
US11200677B2 (en) 2019-06-03 2021-12-14 Zebra Technologies Corporation Method, system and apparatus for shelf edge detection
US11341663B2 (en) 2019-06-03 2022-05-24 Zebra Technologies Corporation Method, system and apparatus for detecting support structure obstructions
US11402846B2 (en) 2019-06-03 2022-08-02 Zebra Technologies Corporation Method, system and apparatus for mitigating data capture light leakage
US11662739B2 (en) 2019-06-03 2023-05-30 Zebra Technologies Corporation Method, system and apparatus for adaptive ceiling-based localization
US11080566B2 (en) 2019-06-03 2021-08-03 Zebra Technologies Corporation Method, system and apparatus for gap detection in support structures with peg regions
US11151743B2 (en) 2019-06-03 2021-10-19 Zebra Technologies Corporation Method, system and apparatus for end of aisle detection
CN110057370A (zh) * 2019-06-13 2019-07-26 浙江智玲机器人科技有限公司 机器人的定位方法和装置
CN110260856A (zh) * 2019-06-26 2019-09-20 北京海益同展信息科技有限公司 一种建图方法和装置
CN110319832B (zh) * 2019-07-05 2024-05-17 京东科技信息技术有限公司 机器人定位方法、装置、电子设备及介质
JP7282345B2 (ja) * 2019-07-25 2023-05-29 霊動科技(北京)有限公司 Rfidリーダと内蔵プリンタを備えた自己駆動システム
CN110307838B (zh) * 2019-08-26 2019-12-10 深圳市优必选科技股份有限公司 机器人重定位方法、装置、计算机可读存储介质及机器人
US11507103B2 (en) 2019-12-04 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for localization-based historical obstacle handling
US11107238B2 (en) 2019-12-13 2021-08-31 Zebra Technologies Corporation Method, system and apparatus for detecting item facings
US11822333B2 (en) 2020-03-30 2023-11-21 Zebra Technologies Corporation Method, system and apparatus for data capture illumination control
US11450024B2 (en) 2020-07-17 2022-09-20 Zebra Technologies Corporation Mixed depth object detection
US11724883B2 (en) 2020-09-11 2023-08-15 Locus Robotics Corp. Presort system for executing robot-assisted putaway tasks
US11479414B2 (en) * 2020-09-11 2022-10-25 Locus Robotics Corp. Dynamic item putaway management using mobile robots
US20220083062A1 (en) 2020-09-11 2022-03-17 Locus Robotics Corp. Robot navigation management between zones in an environment
US11524846B2 (en) 2020-10-19 2022-12-13 Gideon Brothers d.o.o. Pose determination by autonomous robots in a facility context
US11593915B2 (en) 2020-10-21 2023-02-28 Zebra Technologies Corporation Parallax-tolerant panoramic image generation
US11392891B2 (en) 2020-11-03 2022-07-19 Zebra Technologies Corporation Item placement detection and optimization in material handling systems
JP2022089062A (ja) * 2020-12-03 2022-06-15 オムロン株式会社 搬送システム
US11885638B2 (en) * 2020-12-28 2024-01-30 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
US11954882B2 (en) 2021-06-17 2024-04-09 Zebra Technologies Corporation Feature-based georegistration for mobile computing devices
WO2024015708A1 (en) * 2022-07-11 2024-01-18 Aisleworx Technology Llc Mobile apparatus with display and lens technology
KR102568651B1 (ko) * 2022-10-26 2023-08-22 주식회사 클로봇 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170029213A1 (en) 2015-07-31 2017-02-02 Scenic Technology Corporation Robotic navigation utilizing semantic mapping

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5006988A (en) 1989-04-28 1991-04-09 University Of Michigan Obstacle-avoiding navigation system
US6658145B1 (en) * 1997-12-31 2003-12-02 Cognex Corporation Fast high-accuracy multi-dimensional pattern inspection
US6259988B1 (en) * 1998-07-20 2001-07-10 Lockheed Martin Corporation Real-time mission adaptable route planner
KR100843085B1 (ko) 2006-06-20 2008-07-02 삼성전자주식회사 이동 로봇의 격자지도 작성 방법 및 장치와 이를 이용한영역 분리 방법 및 장치
KR100809352B1 (ko) * 2006-11-16 2008-03-05 삼성전자주식회사 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치
JP5080333B2 (ja) 2007-04-06 2012-11-21 本田技研工業株式会社 自律移動体のための物体認識装置
US8060306B2 (en) 2007-10-04 2011-11-15 Deere & Company Method and system for obstacle avoidance for a vehicle
CA2859112C (en) 2009-08-31 2017-08-15 Neato Robotics, Inc. Method and apparatus for simultaneous localization and mapping of mobile robot environment
CN101720039B (zh) * 2009-09-08 2011-08-24 广东工业大学 一种基于菱形搜索的多分辨率的快速运动估计方法
US8209143B1 (en) 2009-09-15 2012-06-26 Google Inc. Accurate alignment of multiple laser scans using a template surface
US8600166B2 (en) * 2009-11-06 2013-12-03 Sony Corporation Real time hand tracking, pose classification and interface control
DE102010012749A1 (de) 2010-03-25 2011-09-29 Kuka Laboratories Gmbh Verfahren zum Betreiben eines autonomen Flurförderfahrzeugs
US9067320B2 (en) 2010-06-09 2015-06-30 Disney Enterprises, Inc. Robotic texture
US8723872B2 (en) 2010-06-09 2014-05-13 Disney Enterprises, Inc. Display with robotic pixels
AU2011305154B2 (en) 2010-09-24 2015-02-05 Irobot Corporation Systems and methods for VSLAM optimization
US8670630B1 (en) * 2010-12-09 2014-03-11 Google Inc. Fast randomized multi-scale energy minimization for image processing
US8688275B1 (en) 2012-01-25 2014-04-01 Adept Technology, Inc. Positive and negative obstacle avoidance system and method for a mobile robot
KR101747220B1 (ko) * 2012-08-30 2017-06-15 한화테크윈 주식회사 이미지 피라미드의 적응적 이미지 처리 장치 및 방법
US8971634B2 (en) * 2012-10-26 2015-03-03 Texas Instruments Incorporated Approximate pyramidal search for fast displacement matching
WO2014202258A1 (en) 2013-06-21 2014-12-24 National University Of Ireland, Maynooth A method for mapping an environment
US9216745B2 (en) 2013-09-16 2015-12-22 Disney Enterprises, Inc. Shared control of semi-autonomous vehicles including collision avoidance in multi-agent scenarios
CN103488736B (zh) * 2013-09-18 2017-01-25 中国科学技术大学 一种多源地理空间信息关联模型的构建方法及系统
KR101664582B1 (ko) 2014-11-12 2016-10-10 현대자동차주식회사 자율주행차량의 주행경로 생성장치 및 방법
CN104897161B (zh) * 2015-06-02 2018-12-14 武汉大学 基于激光测距的室内平面地图制图方法
JP2017004373A (ja) 2015-06-12 2017-01-05 株式会社リコー 情報処理装置、情報処理プログラム、および情報処理システム
US20170270466A1 (en) 2016-03-18 2017-09-21 Jusda International Logistics (TAIWAN) CO.,LTD Method and system using with automated guided vehicle
CN105867381B (zh) * 2016-04-25 2019-03-29 广西大学 一种基于概率地图的工业机器人路径搜索优化算法
US10108194B1 (en) * 2016-09-02 2018-10-23 X Development Llc Object placement verification
CN106940186B (zh) * 2017-02-16 2019-09-24 华中科技大学 一种机器人自主定位与导航方法及系统
CN106970648B (zh) * 2017-04-19 2019-05-14 北京航空航天大学 城市低空环境下无人机多目标路径规划联合搜索方法
US10650270B2 (en) * 2017-04-21 2020-05-12 X Development Llc Methods and systems for simultaneous localization and calibration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170029213A1 (en) 2015-07-31 2017-02-02 Scenic Technology Corporation Robotic navigation utilizing semantic mapping

Also Published As

Publication number Publication date
JP2020534616A (ja) 2020-11-26
CN111602096A (zh) 2020-08-28
US20190094876A1 (en) 2019-03-28
CA3076533C (en) 2023-02-28
WO2019060700A1 (en) 2019-03-28
KR20200085271A (ko) 2020-07-14
ES2903525T3 (es) 2022-04-04
CA3076533A1 (en) 2019-03-28
US10386851B2 (en) 2019-08-20
JP6937898B2 (ja) 2021-09-22
EP3685241B1 (en) 2021-11-24
EP3685241A1 (en) 2020-07-29
CN111602096B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
KR102385253B1 (ko) 배제 구역과의 다중 해상도 스캔 매칭
KR102385257B1 (ko) 비용 결정면에서 최적의 상호 충돌 방지를 사용하는 동적 윈도우 접근법
KR102442241B1 (ko) 로봇 충전기 도킹 로컬화
KR102497430B1 (ko) 로봇 충전기 도킹 제어
EP3436880B1 (en) Navigation using planned robot travel paths
US10558214B2 (en) Manual control modes for an autonomous mobile robot
US11493925B2 (en) Robot obstacle collision prediction and avoidance

Legal Events

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