KR20220034843A - Systems and methods for real-time control of autonomous devices - Google Patents

Systems and methods for real-time control of autonomous devices Download PDF

Info

Publication number
KR20220034843A
KR20220034843A KR1020227004537A KR20227004537A KR20220034843A KR 20220034843 A KR20220034843 A KR 20220034843A KR 1020227004537 A KR1020227004537 A KR 1020227004537A KR 20227004537 A KR20227004537 A KR 20227004537A KR 20220034843 A KR20220034843 A KR 20220034843A
Authority
KR
South Korea
Prior art keywords
occupancy grid
sdsf
grid
processor
data
Prior art date
Application number
KR1020227004537A
Other languages
Korean (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 KR20220034843A publication Critical patent/KR20220034843A/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0025Planning or execution of driving tasks specially adapted for specific operations
    • B60W60/00256Delivery operations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/865Combination of radar systems with lidar systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/867Combination of radar systems with cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/86Combinations of sonar systems with lidar systems; Combinations of sonar systems with systems not using wave reflection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/93Sonar systems specially adapted for specific applications for anti-collision purposes
    • G01S15/931Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0008Feedback, closed loop systems or details of feedback error signal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0052Filtering, filters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo or light sensitive means, e.g. infrared sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo or light sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • B60W2420/408
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/54Audio sensitive means, e.g. ultrasound
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle for navigation systems

Abstract

바람직하게 능력들이 변화되고, 바람직하게 위치되고, 바람직하게 환경 조건들에 영향을 받지 않는 센서들을 갖는 자율 차량. 예를 들어, 센서들로부터의 데이터와 함께 실질적으로 불연속적인 표면 피처들을 포함하는 맵을 수신하고, 맵 및 데이터에 기초하여 점유 그리드를 생성하고, 자율 차량이 내비게이팅하는 표면의 타입에 기초하여 자율 차량의 구성을 변경할 수 있는, 자율 차량 상에서 실행되는 시스템. 디바이스는 불연속적인 표면들 및 다른 장애물들을 횡단하는 것을 포함하여, 표면들 및 표면 피처들을 안전하게 내비게이팅할 수 있다.An autonomous vehicle having sensors, preferably in which capabilities are varied, preferably located, and preferably not affected by environmental conditions. For example, receive a map comprising substantially discrete surface features along with data from sensors, generate an occupancy grid based on the map and data, and autonomously based on the type of surface the autonomous vehicle navigates to. A system running on an autonomous vehicle capable of changing the configuration of the vehicle. The device can safely navigate surfaces and surface features, including traversing discrete surfaces and other obstacles.

Figure P1020227004537
Figure P1020227004537

Description

자율 디바이스의 실시간 제어를 위한 시스템 및 방법Systems and methods for real-time control of autonomous devices

관련 출원들에 대한 상호 참조CROSS-REFERENCE TO RELATED APPLICATIONS

본 유틸리티 특허 출원은, 본 명세서에서 그 전체가 참조로 포함되는, 2020년 2월 25일에 출원된 "System and Method for Surface Feature Detection and Traversal"라는 명칭의 미국 특허 출원 제16/800,497호(대리인 관리 번호 AA164)의 일부 계속 출원이다. 이 특허 출원은 2019년 7월 10일에 출원된 "Apparatus for Long and Short Range Sensors on an Autonomous Delivery Device"라는 명칭의 미국 가특허 출원 제62/872,396호(대리인 관리 번호 AA028), 2020년 3월 17일에 출원된 "System and Method for Managing an Occupancy Grid"라는 명칭의 미국 가특허 출원 제62/990,485호(대리인 관리 번호 AA037), 및 2019년 7월 10일에 출원된 "System and Method for Real-Time Control of the Configuration of an Autonomous Device"라는 명칭의 미국 가특허 출원 제62/872,320호(대리인 관리 번호 Z96)의 이익을 주장한다.This utility patent application is filed in U.S. Patent Application Serial No. 16/800,497, entitled “System and Method for Surface Feature Detection and Traversal,” filed on February 25, 2020, which is incorporated herein by reference in its entirety, and is incorporated herein by reference in its entirety. It is a continuation application in part under Accession No. AA164). This patent application is filed in U.S. Provisional Patent Application Serial No. 62/872,396 (Attorney Docket No. AA028), entitled “Apparatus for Long and Short Range Sensors on an Autonomous Delivery Device,” filed July 10, 2019, March 2020; U.S. Provisional Patent Application No. 62/990,485 (Attorney Docket No. AA037), entitled “System and Method for Managing an Occupancy Grid,” filed on July 17, and “System and Method for Real,” filed July 10, 2019 -Time Control of the Configuration of an Autonomous Device."

본 출원은 2018년 7월 13일자로 출원된 "MOBILITY DEVICE"라는 명칭의 미국 특허 출원 제16/035,205호(대리인 관리 번호 X80), 2017년 10월 18일자로 출원된 "MOBILITY DEVICE"라는 명칭의 미국 특허 출원 제15/787,613호(대리인 관리 번호 W10), 2017년 5월 20일자로 출원된 "MOBILITY DEVICE"라는 명칭의 미국 특허 출원 제15/600,703호(대리인 관리 번호 U22), 2018년 5월 17일자로 출원된 "SYSTEM AND METHOD FOR SECURE REMOTE CONTROL OF A MEDICAL DEVICE"라는 명칭의 미국 특허 출원 제15/982,737호(대리인 관리 번호 X55), 2017년 7월 15일자로 출원된 "MOBILITY DEVICE IMPROVEMENTS"라는 명칭의 미국 가출원 제62/532,993호(대리인 관리 번호 U30), 2017년 9월 15일자로 출원된 "MOBILITY DEVICE SEAT"라는 명칭의 미국 가출원 제62/559,263호(대리인 관리 번호 V85), 및 2017년 11월 4일자로 출원된 "MOBILITY DEVICE SEAT"라는 명칭의 미국 가출원 제62/581,670호(대리인 관리 번호 W07)와 관련되고, 이들은 본 명세서에서 그 전체가 참조로 포함된다.This application is entitled to U.S. Patent Application No. 16/035,205 (Attorney Docket No. X80), entitled “MOBILITY DEVICE,” filed on July 13, 2018, and entitled “MOBILITY DEVICE,” filed on October 18, 2017. U.S. Patent Application Serial No. 15/787,613 (Attorney Docket No. W10); U.S. Patent Application Serial No. 15/982,737 (Attorney Docket No. X55), entitled “SYSTEM AND METHOD FOR SECURE REMOTE CONTROL OF A MEDICAL DEVICE,” filed on July 17, and “MOBILITY DEVICE IMPROVEMENTS,” filed July 15, 2017. U.S. Provisional Application No. 62/532,993 (Attorney Docket No. U30), entitled U.S. Provisional Application No. 62/559,263, entitled "MOBILITY DEVICE SEAT", filed September 15, 2017 (Attorney Docket No. V85), and 2017 to U.S. Provisional Application No. 62/581,670 (Attorney Docket No. W07), entitled “MOBILITY DEVICE SEAT,” filed on November 4, 2011, which is incorporated herein by reference in its entirety.

본 교시는 일반적으로 AV들에 관한 것으로서, 특히, 자율 경로 계획(autonomous route planning), 전역 점유 그리드 관리(global occupancy grid management), 차량 탑재 센서들(on-vehicle sensors), 표면 피처 검출 및 횡단(surface feature detection and traversal), 및 실시간 차량 구성 변경들(real-time vehicle configuration changes)에 관한 것이다.The present teachings generally relate to AVs, and more particularly, autonomous route planning, global occupancy grid management, on-vehicle sensors, surface feature detection and traversal ( surface feature detection and traversal, and real-time vehicle configuration changes.

AV들 및 반-자율 차량(AV)들의 내비게이션은 전형적으로, 예를 들어, 제한적인 것은 아니지만, LIDAR, 카메라들, 스테레오 카메라들, 및 레이더를 포함하는 장거리 센서들에 의존한다. 장거리 센서들은 AV로부터 4 내지 100 미터에서 감지할 수 있다. 대조적으로, 물체 회피 및/또는 표면 검출은 전형적으로, 예를 들어, 제한적인 것은 아니지만, 스테레오-카메라들, 단거리 레이더, 및 초음파 센서들을 포함하는 단거리 센서들에 의존한다. 이 단거리 센서들은 전형적으로 AV 주위의 약 5 미터까지 면적 또는 체적을 관찰한다. 센서들은, 예를 들어, 그의 환경 내에서 AV를 배향시키고, 거리들, 보도들, 장애물들, 및 열린 공간들을 원하는 목적지에 도달하도록 내비게이팅하는 것을 가능하게 할 수 있다. 센서들은 또한 인간들, 표지판, 교통 신호등들, 장애물들, 및 표면 피처들을 시각화하는 것을 가능하게 할 수 있다.Navigation of AVs and semi-autonomous vehicles (AV) typically relies on long-range sensors including, but not limited to, LIDAR, cameras, stereo cameras, and radar. Long range sensors can sense from 4 to 100 meters from the AV. In contrast, object avoidance and/or surface detection typically relies on short-range sensors including, but not limited to, stereo-cameras, short-range radar, and ultrasonic sensors. These short-range sensors typically observe an area or volume up to about 5 meters around the AV. Sensors may enable, for example, to orient an AV within its environment and navigate streets, sidewalks, obstacles, and open spaces to reach a desired destination. Sensors may also enable visualization of people, signs, traffic lights, obstacles, and surface features.

표면 피처 횡단은 어려울 수 있는데, 그 이유는 표면 피처들, 예를 들어, 제한적인 것은 아니지만, 실질적으로 불연속적인 표면 피처(substantially discontinuous surface feature)(SDSF)들이 이종 토폴로지(heterogeneous topology) 중에서 발견될 수 있고, 그 토폴로지는 특정 지리(geography)에 고유할 수 있기 때문이다. 그러나, 예를 들어, 제한적인 것은 아니지만, 경사들, 에지들, 커브들(curbs), 계단들(steps), 및 커브형 기하구조(curb-like geometry)들(본 명세서에서, 비-제한적인 방식으로, SDSF들 또는 단순히 표면 피처들로서 지칭됨)과 같은 SDSF들은 그들의 식별을 보조할 수 있는 일부 전형적인 특성들을 포함할 수 있다. 표면/도로 조건들 및 표면 타입들은, 예를 들어, 복잡하고 비용이 많이 들 수 있는 다감각 데이터(multisensory data)를 융합함으로써 인식되고 분류될 수 있다. 표면 피처들 및 조건은 AV의 물리적 재구성을 실시간으로 제어하는데 이용될 수 있다.Surface feature traversal can be difficult because surface features such as, but not limited to, substantially discontinuous surface features (SDSFs) may be found among heterogeneous topologies. , and its topology may be unique to a particular geography. However, for example, but not limited to, slopes, edges, curves, steps, and curve-like geometries (herein, non-limiting In a way, SDSFs (referred to as SDSFs or simply surface features) may include some typical properties that may aid their identification. Surface/road conditions and surface types can be recognized and classified, for example, by fusing multisensory data, which can be complex and expensive. Surface features and conditions can be used to control the physical reconstruction of the AV in real time.

AV에 대한 경로 계획 목적을 위해 세계를 표현할 수 있는 점유 그리드의 생성을 가능하게 하기 위해 센서들이 이용될 수 있다. 경로 계획은 공간을 자유롭거나, 점유되거나, 알려지지 않은 것으로 식별하는 그리드를 요구한다. 그러나, 공간이 점유될 확률은 공간에 대한 의사 결정을 개선할 수 있다. 확률들의 로그오즈 표현(Logodds representation)은 0 및 1의 확률의 수치 경계들에서 정확도를 증가시키기 위해 이용될 수 있다. 셀이 점유될 확률은 적어도 새로운 센서 정보, 이전 센서 정보, 및 이전 점유 정보에 의존할 수 있다.Sensors may be used to enable the creation of an occupancy grid that may represent the world for route planning purposes for AV. Path planning requires a grid that identifies space as free, occupied, or unknown. However, the probability that a space will be occupied can improve decision making about the space. A Logodds representation of probabilities can be used to increase accuracy at numerical boundaries of probabilities of 0 and 1. The probability that the cell is occupied may depend at least on the new sensor information, the old sensor information, and the previous occupancy information.

가변 지형 횡단(variable terrain traversal)을 달성하기 위해 수집된 센서 데이터 및 실시간 센서 데이터를 차량의 물리적 구성의 변화와 조합하는 시스템이 필요하다. 물리적 구성 변경, 가변 지형 횡단, 및 물체 회피를 달성하기 위해 유리한 센서 배치가 필요하다. SDSF 식별을 위한 여러 기준들과 연관되는 다중 부분 모델(multi-part model)에 기초하여 SDSF들을 위치결정하는 능력이 필요하다. 후보 횡단 접근 각도, 후보 표면 피처의 양 측 상의 후보 횡단 드라이빙 표면, 및 후보 횡단 경로 장애물들의 실시간 결정과 같은 기준들에 기초하여 후보 표면 피처 횡단들을 결정하는 것이 필요하다. 드라이빙가능 표면 및 디바이스 모드 정보를 점유 그리드 결정에 통합하기 위한 시스템 및 방법이 필요하다.What is needed is a system that combines collected and real-time sensor data with changes in the vehicle's physical configuration to achieve variable terrain traversal. Favorable sensor placement is needed to achieve physical configuration changes, variable terrain traversal, and object avoidance. What is needed is the ability to locate SDSFs based on a multi-part model that is associated with several criteria for SDSF identification. It is necessary to determine candidate surface feature traversals based on criteria such as a candidate traversing approach angle, a candidate traversing driving surface on both sides of the candidate surface feature, and real-time determination of candidate traversing path obstacles. What is needed is a system and method for incorporating drivable surface and device mode information into an occupancy grid determination.

본 교시의 AV는 원하는 위치로 자율적으로 내비게이팅할 수 있다. 일부 구성들에서, AV는 센서들, 지각 서브시스템(perception subsystem), 자율 서브시스템, 및 드라이버 서브시스템을 포함하는 디바이스 제어기, 파워 베이스(power base), 4개의 전동 휠들(powered wheels), 2개의 캐스터 휠들(caster wheels), 및 화물 컨테이너(cargo container)를 포함할 수 있다. 일부 구성들에서, 지각 및 자율 서브시스템들은 센서 정보(지각) 및 맵 정보(지각 및 자율)를 수신 및 처리할 수 있고, 드라이버 서브시스템에 방향을 제공할 수 있다. 맵 정보는 표면 분류들 및 연관된 디바이스 모드를 포함할 수 있다. 드라이버 서브시스템에 의해 제어되고, 파워 베이스에 의해 가능해지는 AV의 이동은 센서 서브시스템에 의해 감지되어, 피드백 루프를 제공할 수 있다. 일부 구성들에서, SDSF들은 포인트 클라우드 데이터로부터 정확하게 식별될 수 있고, 예를 들어, 본 명세서에 설명된 프로세스에 따라 맵에 기억될 수 있다. AV의 위치와 연관된 맵의 부분들은 내비게이션 동안 AV에 제공될 수 있다. 지각 서브시스템은 횡단될 경로가 현재 점유될 확률에 관해 AV에게 통지할 수 있는 점유 그리드를 유지할 수 있다. 일부 구성들에서, AV는 다수의 별개의 모드들에서 동작할 수 있다. 모드들은 다른 이점들 중에서, 복잡한 지형 횡단을 가능하게 할 수 있다. 맵(예를 들어, 표면 분류), 센서 데이터(AV를 둘러싸는 피처들을 감지), 점유 그리드(다가오는 경로 포인트가 점유될 확률), 모드(어려운 지형을 횡단할 준비가 되거나 그렇지 않음)의 조합은 AV의 방향, 구성, 및 속도를 식별하는데 이용될 수 있다.The AV of the present teachings may autonomously navigate to a desired location. In some configurations, the AV is a device controller including sensors, a perception subsystem, an autonomous subsystem, and a driver subsystem, a power base, four powered wheels, two caster wheels, and a cargo container. In some configurations, the perceptual and autonomous subsystems can receive and process sensor information (perception) and map information (perception and autonomy), and can provide direction to the driver subsystem. The map information may include surface classifications and associated device mode. Movement of the AV controlled by the driver subsystem and enabled by the power base may be sensed by the sensor subsystem to provide a feedback loop. In some configurations, SDSFs may be accurately identified from point cloud data, eg, stored in a map according to the process described herein. Portions of the map associated with the location of the AV may be provided to the AV during navigation. The perceptual subsystem may maintain an occupancy grid that may notify the AV about the probability that the path to be traversed is currently occupied. In some configurations, AV may operate in multiple distinct modes. Mods may enable traversing complex terrain, among other advantages. The combination of map (e.g., surface classification), sensor data (detecting features surrounding the AV), occupancy grid (probability that an upcoming path point will be occupied), and mode (ready or not to traverse difficult terrain) is It can be used to identify the direction, configuration, and velocity of the AV.

맵을 준비하는 것과 관련하여, 일부 구성들에서, 본 교시의 방법은 AV가 마주치는 적어도 하나의 SDSF를 내비게이팅하기 위한 맵을 생성하기 위한 것이고, 여기서 AV는 표면 위의 경로를 이동하고, 표면은 적어도 하나의 SDSF를 포함하고, 경로는 시작 포인트 및 종료 포인트를 포함하고, 방법은, 제한적인 것은 아니지만, 표면을 나타내는 포인트 클라우드 데이터에 액세스하는 것, 포인트 클라우드 데이터를 필터링하는 것, 필터링된 포인트 클라우드 데이터를 처리가능 부분들로 형성하는 것, 및 처리가능 부분들을 적어도 하나의 오목 다각형으로 병합하는 것을 포함할 수 있다. 방법은 적어도 하나의 오목 다각형에서 적어도 하나의 SDSF를 위치결정 및 라벨링하는 것을 포함할 수 있다. 위치결정 및 라벨링은 라벨링된 포인트 클라우드 데이터를 형성할 수 있다. 방법은 적어도 하나의 오목 다각형에 적어도 기초하여 그래핑(graphing) 다각형들을 생성하는 것, 및 그래핑 다각형들에 적어도 기초하여 시작 포인트로부터 종료 포인트까지의 경로를 선택하는 것을 포함할 수 있다. 내비게이팅할 때, AV는 경로를 따라 적어도 하나의 SDSF를 횡단할 수 있다.With respect to preparing the map, in some configurations, the method of the present teachings is for generating a map for navigating to at least one SDSF encountered by the AV, wherein the AV travels a path over the surface, and includes at least one SDSF, the path includes a start point and an end point, and the method includes, but is not limited to, accessing point cloud data representing a surface, filtering the point cloud data, a filtered point forming the cloud data into processable portions, and merging the processable portions into at least one concave polygon. The method may include locating and labeling the at least one SDSF in the at least one concave polygon. Positioning and labeling may form labeled point cloud data. The method may include generating graphing polygons based at least on the at least one concave polygon, and selecting a path from a starting point to an ending point based at least on the graphing polygons. When navigating, the AV may traverse at least one SDSF along the path.

포인트 클라우드 데이터를 필터링하는 것은 포인트 클라우드 데이터로부터 과도 물체들(transient objects)을 나타내는 포인트들 및 이상치들(outliers)을 나타내는 포인트들을 조건부로 제거하는 것, 및 미리 선택된 높이를 갖는 제거된 포인트들을 대체하는 것을 선택적으로 포함할 수 있다. 처리 부분들을 형성하는 것은 포인트 클라우드 데이터를 처리가능 부분들로 세그먼트화하는 것, 및 미리 선택된 높이의 포인트들을 처리가능 부분들로부터 제거하는 것을 선택적으로 포함할 수 있다. 처리가능 부분들을 병합하는 것은 이상치들, 복셀들(voxels), 및 법선(normal)을 분석함으로써 처리가능 부분들의 크기를 감소시키는 것, 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 것, 성장된 영역들로부터 초기 드다이빙가능 표면들을 결정하는 것, 초기 드라이빙가능 표면들을 세그먼트화 및 메싱(meshing)하는 것, 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 것, 및 다각형들에 적어도 기초하여 드라이빙가능 표면들을 설정하는 것을 선택적으로 포함할 수 있다. 적어도 하나의 SDSF 피처를 위치결정 및 라벨링하는 것은 SDSF 필터에 따라 드라이빙가능 표면들의 포인트 클라우드 데이터를 정렬(sorting)하는 것―SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―, 및 포인트들의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 것을 선택적으로 포함할 수 있다. 방법은 복수의 적어도 하나의 SDSF 포인트가, 조합하여, 적어도 하나의 제2 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 궤적을 생성하는 것을 선택적으로 포함할 수 있다. 그래핑 다각형들을 생성하는 것은 또한, 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 것을 선택적으로 포함할 수 있다. 적어도 하나의 다각형은 에지들을 포함할 수 있다. 그래핑 다각형들을 생성하는 것은 에지들을 평활화하는 것, 평활화된 에지들에 기초하여 드라이빙 마진을 형성하는 것, 적어도 하나의 SDSF 궤적을 적어도 하나의 드라이빙가능 표면에 추가하는 것, 및 적어도 하나의 제3 미리 선택된 기준에 따라 적어도 하나의 드라이빙가능 표면으로부터 에지들을 제거하는 것을 포함할 수 있다. 에지들을 평활화하는 것은 에지들을 바깥쪽으로 트리밍(trimming)하는 것을 선택적으로 포함할 수 있다. 평활화된 에지들의 드라이빙 마진을 형성하는 것은 바깥쪽 에지들을 안쪽으로 트리밍하는 것을 선택적으로 포함할 수 있다.Filtering the point cloud data includes conditionally removing from the point cloud data points representing transient objects and points representing outliers, and replacing the removed points with a preselected height. may optionally be included. Forming the processing portions may optionally include segmenting the point cloud data into processable portions, and removing points of a preselected height from the processable portions. Merging processable parts includes reducing the size of processable parts by analyzing outliers, voxels, and normals, growing regions from reduced size processable parts, growth Determining initial drivable surfaces from the segmented regions, segmenting and meshing the initial drivable surfaces, positioning polygons within the segmented and meshed initial drivable surfaces, and polygons may optionally include setting the drivable surfaces based at least on locating and labeling the at least one SDSF feature includes sorting the point cloud data of the drivable surfaces according to an SDSF filter, the SDSF filter comprising at least three categories of points, and the categories of points , in combination, locating the at least one SDSF point based at least on whether the at least one first preselected criterion is met. The method may optionally include generating the at least one SDSF trajectory based at least on whether the plurality of at least one SDSF points, in combination, satisfy the at least one second preselected criterion. Generating the graphing polygons may also optionally include generating the at least one polygon from the at least one drivable surface. At least one polygon may include edges. Generating the graphing polygons includes smoothing edges, forming a driving margin based on the smoothed edges, adding at least one SDSF trajectory to the at least one drivable surface, and at least one third and removing edges from the at least one drivable surface according to a preselected criterion. Smoothing the edges may optionally include trimming the edges outward. Forming the driving margin of the smoothed edges may optionally include trimming the outer edges inward.

일부 구성들에서, 본 교시의 시스템은 AV가 마주치는 적어도 하나의 SDSF를 내비게이팅하기 위한 맵을 생성하기 위한 것이고, AV는 표면 위의 경로를 이동하고, 표면은 적어도 하나의 SDSF를 포함하고, 경로는 시작 포인트 및 종료 포인트를 포함하고, 시스템은, 제한적인 것은 아니지만, 표면을 나타내는 포인트 클라우드 데이터에 액세스하는 제1 프로세서, 포인트 클라우드 데이터를 필터링하는 제1 필터, 필터링된 포인트 클라우드 데이터로부터 처리가능 부분들을 형성하는 제2 프로세서, 처리가능 부분들을 적어도 하나의 오목 다각형으로 병합하는 제3 프로세서, 적어도 하나의 오목 다각형에서 적어도 하나의 SDSF를 위치결정 및 라벨링하는 제4 프로세서―위치결정 및 라벨링은 라벨링된 포인트 클라우드 데이터를 형성함―, 그래핑 다각형들을 생성하는 제5 프로세서, 및 그래핑 다각형들에 적어도 기초하여 시작 포인트로부터 종료 포인트까지의 경로를 선택하는 경로 선택기를 포함할 수 있다. AV는 경로를 따라 적어도 하나의 SDSF를 횡단할 수 있다.In some configurations, the system of the present teachings is for generating a map for navigating to the at least one SDSF the AV encounters, the AV moving a path over the surface, the surface comprising the at least one SDSF, The path includes a start point and an end point, and the system is capable of processing from, but not limited to, a first processor to access point cloud data representative of a surface, a first filter to filter the point cloud data, and to process from the filtered point cloud data. a second processor forming the portions, a third processor merging the processable portions into the at least one concave polygon, a fourth processor locating and labeling the at least one SDSF in the at least one concave polygon, wherein the positioning and labeling is labeling forming point cloud data, a fifth processor that generates graphing polygons, and a path selector that selects a path from a starting point to an ending point based at least on the graphing polygons. The AV may traverse at least one SDSF along the path.

제1 필터는, 제한적인 것은 아니지만, 포인트 클라우드 데이터로부터 과도 물체들을 나타내는 포인트들 및 이상치들을 나타내는 포인트들을 조건부로 제거하는 것, 및 미리 선택된 높이를 갖는 제거된 포인트들을 대체하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 세그멘터는, 제한적인 것은 아니지만, 포인트 클라우드 데이터를 처리가능 부분들로 세그먼트화하는 것, 및 미리 선택된 높이의 포인트들을 처리가능 부분들로부터 제거하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 제3 프로세서는, 제한적인 것은 아니지만, 이상치들, 복셀들, 및 법선을 분석함으로써 처리가능 부분들의 크기를 감소시키는 것, 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 것, 성장된 영역들로부터 초기 드라이빙가능 표면들을 결정하는 것, 초기 드라이빙가능 표면들을 세그먼트화 및 메싱하는 것, 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 것, 및 다각형들에 적어도 기초하여 드라이빙가능 표면들을 설정하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 제4 프로세서는, 제한적인 것은 아니지만, SDSF 필터에 따라 드라이빙가능 표면들의 포인트 클라우드 데이터를 정렬하는 것―SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―, 및 포인트들의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 시스템은, 제한적인 것은 아니지만, 복수의 적어도 하나의 SDSF 포인트가, 조합하여, 적어도 하나의 제2 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 궤적을 생성하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다.The first filter may include, but is not limited to, conditionally removing points representing transient objects and points representing outliers from the point cloud data, and replacing the removed points with a preselected height. You can optionally include enable codes. A segmenter may optionally include executable code that may include, but is not limited to, segmenting the point cloud data into processable portions, and removing points of a preselected height from the processable portions. can A third processor includes, but is not limited to, reducing the size of the processable portions by analyzing outliers, voxels, and normals, growing regions from the reduced size processable portions, grown regions determining initial drivable surfaces from, segmenting and meshing the initial drivable surfaces, positioning polygons within the segmented and meshed initial drivable surfaces, and at least based on the polygons the drivable surface It may optionally include executable code that may include configuring them. A fourth processor includes, but is not limited to, sorting the point cloud data of the drivable surfaces according to the SDSF filter, the SDSF filter comprising at least three categories of points, and the categories of points, in combination, at least may optionally include executable code that may include locating the at least one SDSF point based at least on whether the one first preselected criterion is met. The system may include, but is not limited to, generating at least one SDSF trajectory based at least on whether the plurality of at least one SDSF points, in combination, satisfy at least one second preselected criterion. You can optionally include code.

그래핑 다각형들을 생성하는 것은, 제한적인 것은 아니지만, 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 것―적어도 하나의 다각형은 에지들을 포함함―, 에지들을 평활화하는 것, 평활화된 에지들에 기초하여 드라이빙 마진을 형성하는 것, 적어도 하나의 드라이빙가능 표면에 적어도 하나의 SDSF 궤적을 추가하는 것, 및 적어도 하나의 제3 미리 선택된 기준에 따라 적어도 하나의 드라이빙가능 표면으로부터 에지들을 제거하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 에지들을 평활화하는 것은, 제한적인 것은 아니지만, 에지들을 바깥쪽으로 트리밍하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 평활화된 에지들의 드라이빙 마진을 형성하는 것은, 제한적인 것은 아니지만, 바깥쪽 에지들을 안쪽으로 트리밍하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다.Generating the graphing polygons includes, but is not limited to, generating at least one polygon from at least one drivable surface, wherein the at least one polygon includes edges, smoothing edges, smoothed edges forming a driving margin based on , adding at least one SDSF trajectory to the at least one drivable surface, and removing edges from the at least one drivable surface according to at least one third preselected criterion. It can optionally include executable code that it can include. Smoothing the edges may optionally include executable code, which may include, but is not limited to, trimming the edges outward. Forming the driving margin of the smoothed edges may optionally include executable code, which may include, but is not limited to, trimming the outer edges inward.

일부 구성들에서, 본 교시의 방법은 AV가 마주치는 적어도 하나의 SDSF를 내비게이팅하기 위한 맵을 생성하기 위한 것이고, AV는 표면 위의 경로를 이동하고, 표면은 적어도 하나의 SDSF를 포함하고, 경로는 시작 포인트 및 종료 포인트를 포함하고, 방법은, 제한적인 것은 아니지만, 루트 토폴로지(route topology)에 액세스하는 것을 포함할 수 있다. 루트 토폴로지는 필터링된 포인트 클라우드 데이터를 포함할 수 있는 적어도 하나의 그래핑 다각형을 포함할 수 있다. 포인트 클라우드 데이터는 라벨링된 피처들 및 드라이빙가능 마진을 포함할 수 있다. 방법은 포인트 클라우드 데이터를 전역 좌표계(global coordinate system)로 변환하는 것, 적어도 하나의 SDSF의 경계들을 결정하는 것, 경계들 주위에서 미리 선택된 크기의 SDSF 버퍼들을 생성하는 것, 적어도 하나의 SDSF 횡단 기준에 적어도 기초하여 적어도 하나의 SDSF 중 어느 것이 횡단될 수 있는지를 결정하는 것, 적어도 하나의 SDSF 횡단 기준, 변환된 포인트 클라우드 데이터, 및 루트 토폴로지에 적어도 기초하여 에지/가중치 그래프를 생성하는 것, 및 에지/가중치 그래프에 적어도 기초하여 시작 포인트로부터 목적지 포인트까지의 경로를 선택하는 것을 포함할 수 있다.In some configurations, the method of the present teachings is for generating a map for navigating to the at least one SDSF the AV encounters, the AV moving a path over the surface, the surface comprising the at least one SDSF, A route includes a start point and an end point, and the method may include, but is not limited to, accessing a route topology. The route topology may include at least one graphing polygon that may include filtered point cloud data. The point cloud data may include labeled features and a drivable margin. The method includes transforming the point cloud data into a global coordinate system, determining boundaries of at least one SDSF, generating SDSF buffers of a preselected size around the boundaries, at least one SDSF traversing criterion determining which of the at least one SDSF can be traversed based at least on selecting a path from the starting point to the destination point based at least on the edge/weight graph.

적어도 하나의 SDSF 횡단 기준은 적어도 하나의 SDSF의 미리 선택된 폭 및 적어도 하나의 SDSF의 미리 선택된 평활도(smoothness), 드라이빙가능 표면을 포함하는, 적어도 하나의 SDSF와 AV 사이의 최소 진입 거리(minimum ingress distance) 및 최소 진출 거리(minimum egress distance), 및 AV에 의한 적어도 하나의 SDSF로의 대략 90° 접근을 수용할 수 있는, 적어도 하나의 SDSF와 AV 사이의 최소 진입 거리를 선택적으로 포함할 수 있다.The at least one SDSF traversal criterion is a minimum ingress distance between the at least one SDSF and the AV, comprising a preselected width of the at least one SDSF and a preselected smoothness of the at least one SDSF, a drivable surface. ) and a minimum egress distance, and a minimum egress distance between the at least one SDSF and the AV, which can accommodate approximately 90° access to the at least one SDSF by the AV.

일부 구성들에서, 본 교시의 시스템은 AV가 마주치는 적어도 하나의 SDSF를 내비게이팅하기 위한 맵을 생성하기 위한 것이고, AV는 표면 위의 경로를 이동하고, 표면은 적어도 하나의 SDSF를 포함하고, 경로는 시작 포인트 및 종료 포인트를 포함하고, 시스템은, 제한적인 것은 아니지만, 루트 토폴로지에 액세스하는 제6 프로세서를 포함할 수 있다. 루트 토폴로지는 필터링된 포인트 클라우드 데이터를 포함할 수 있는 적어도 하나의 그래핑 다각형을 포함할 수 있다. 포인트 클라우드 데이터는 라벨링된 피처들 및 드라이빙가능 마진을 포함할 수 있다. 시스템은 포인트 클라우드 데이터를 전역 좌표계로 변환하는 제7 프로세서, 및 적어도 하나의 SDSF의 경계들을 결정하는 제8 프로세서를 포함할 수 있다. 제8 프로세서는 경계들 주위의 미리 선택된 크기의 SDSF 버퍼들을 생성할 수 있다. 시스템은 적어도 하나의 SDSF 횡단 기준에 적어도 기초하여 적어도 하나의 SDSF 중 어느 것이 횡단될 수 있는지를 결정하는 제9 프로세서, 적어도 하나의 SDSF 횡단 기준, 변환된 포인트 클라우드 데이터, 및 루트 토폴로지에 적어도 기초하여 에지/가중치 그래프를 생성하는 제10 프로세서, 및 에지/가중치 그래프에 적어도 기초하여 시작 포인트로부터 목적지 포인트까지의 경로를 선택하는 베이스 제어기를 포함할 수 있다.In some configurations, the system of the present teachings is for generating a map for navigating to the at least one SDSF the AV encounters, the AV moving a path over the surface, the surface comprising the at least one SDSF, The path includes a start point and an end point, and the system may include, but is not limited to, a sixth processor to access the route topology. The route topology may include at least one graphing polygon that may include filtered point cloud data. The point cloud data may include labeled features and a drivable margin. The system may include a seventh processor that transforms the point cloud data into a global coordinate system, and an eighth processor that determines boundaries of the at least one SDSF. The eighth processor may create SDSF buffers of a preselected size around the boundaries. The system is configured to determine which of the at least one SDSF can be traversed based at least on the ninth processor based at least on the at least one SDSF traversal criterion, at least based on the at least one SDSF traversal criterion, the transformed point cloud data, and a route topology. a tenth processor to generate an edge/weight graph, and a base controller to select a path from a starting point to a destination point based at least on the edge/weight graph.

일부 구성들에서, 본 교시의 방법은 AV가 마주치는 적어도 하나의 SDSF를 내비게이팅하기 위한 맵을 생성하기 위한 것이고, AV는 표면 위의 경로를 이동하고, 표면은 적어도 하나의 SDSF를 포함하고, 경로는 시작 포인트 및 종료 포인트를 포함하고, 방법은, 제한적인 것은 아니지만, 표면을 나타내는 포인트 클라우드 데이터에 액세스하는 것을 포함할 수 있다. 방법은 포인트 클라우드 데이터를 필터링하는 것, 필터링된 포인트 클라우드 데이터를 처리가능 부분들로 형성하는 단계, 및 처리가능 부분들을 적어도 하나의 오목 다각형으로 병합하는 것을 포함할 수 있다. 방법은 적어도 하나의 오목 다각형에서 적어도 하나의 SDSF를 위치결정 및 라벨링하는 것을 포함할 수 있다. 위치결정 및 라벨링은 라벨링된 포인트 클라우드 데이터를 형성할 수 있다. 방법은 적어도 하나의 오목 다각형에 적어도 기초하여 그래핑 다각형들을 생성하는 것을 포함할 수 있다. 그래핑 다각형들은 루트 토폴로지를 형성할 수 있고, 포인트 클라우드 데이터는 라벨링된 피처들 및 드라이빙가능 마진을 포함할 수 있다. 방법은 포인트 클라우드 데이터를 전역 좌표계로 변환하는 것, 적어도 하나의 SDSF의 경계들을 결정하는 것, 경계들 주위에서 미리 선택된 크기의 SDSF 버퍼들을 생성하는 것, 적어도 하나의 SDSF 횡단 기준에 적어도 기초하여 적어도 하나의 SDSF 중 어느 것이 횡단될 수 있는지를 결정하는 것, 적어도 하나의 SDSF 횡단 기준, 변환된 포인트 클라우드 데이터, 및 루트 토폴로지에 적어도 기초하여 에지/가중치 그래프를 생성하는 것, 및 에지/가중치 그래프에 적어도 기초하여 시작 포인트로부터 목적지 포인트까지의 경로를 선택하는 것을 포함할 수 있다.In some configurations, the method of the present teachings is for generating a map for navigating to the at least one SDSF the AV encounters, the AV moving a path over the surface, the surface comprising the at least one SDSF, The path includes a start point and an end point, and the method may include, but is not limited to, accessing point cloud data representing the surface. The method may include filtering the point cloud data, forming the filtered point cloud data into processable portions, and merging the processable portions into at least one concave polygon. The method may include locating and labeling the at least one SDSF in the at least one concave polygon. Positioning and labeling may form labeled point cloud data. The method may include generating the graphing polygons based at least on the at least one concave polygon. The graphing polygons may form a route topology, and the point cloud data may include labeled features and a drivable margin. The method comprises transforming the point cloud data into a global coordinate system, determining boundaries of at least one SDSF, generating SDSF buffers of a preselected size around the boundaries, at least based on at least one SDSF traversal criterion. determining which of the one SDSF can be traversed, generating an edge/weight graph based at least on the at least one SDSF traversal criterion, the transformed point cloud data, and the root topology, and in the edge/weight graph selecting a route from the starting point to the destination point based on at least.

포인트 클라우드 데이터를 필터링하는 것은 포인트 클라우드 데이터로부터 과도 물체들을 나타내는 포인트들 및 이상치들을 나타내는 포인트들을 조건부로 제거하는 것, 및 미리 선택된 높이를 갖는 제거된 포인트들을 대체하는 것을 선택적으로 포함할 수 있다. 처리 부분들을 형성하는 것은 포인트 클라우드 데이터를 처리가능 부분들로 세그먼트화하는 것, 및 미리 선택된 높이의 포인트들을 처리가능 부분들로부터 제거하는 것을 선택적으로 포함할 수 있다. 처리가능 부분들을 병합하는 것은 이상치들, 복셀들, 및 법선을 분석함으로써 처리가능 부분들의 크기를 감소시키는 것, 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 것, 성장된 영역들로부터 초기 드다이빙가능 표면들을 결정하는 것, 초기 드라이빙가능 표면들을 세그먼트화 및 메싱하는 것, 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 것, 및 다각형들에 적어도 기초하여 드라이빙가능 표면들을 설정하는 것을 선택적으로 포함할 수 있다. 적어도 하나의 SDSF 피처를 위치결정 및 라벨링하는 것은 SDSF 필터에 따라 드라이빙가능 표면들의 포인트 클라우드 데이터를 정렬하는 것―SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―, 및 포인트들의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 것을 선택적으로 포함할 수 있다. 방법은 복수의 적어도 하나의 SDSF 포인트가, 조합하여, 적어도 하나의 제2 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 궤적을 생성하는 것을 선택적으로 포함할 수 있다. 그래핑 다각형들을 생성하는 것은 또한, 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 것을 선택적으로 포함할 수 있다. 적어도 하나의 다각형은 에지들을 포함할 수 있다. 그래핑 다각형들을 생성하는 것은 에지들을 평활화하는 것, 평활화된 에지들에 기초하여 드라이빙 마진을 형성하는 것, 적어도 하나의 SDSF 궤적을 적어도 하나의 드라이빙가능 표면에 추가하는 것, 및 적어도 하나의 제3 미리 선택된 기준에 따라 적어도 하나의 드라이빙가능 표면으로부터 에지들을 제거하는 것을 포함할 수 있다. 에지들의 평활화하는 에지들을 바깥쪽으로 트리밍하는 것을 선택적으로 포함할 수 있다. 평활화된 에지들의 드라이빙 마진을 형성하는 것은 바깥쪽 에지들을 안쪽으로 트리밍하는 것을 선택적으로 포함할 수 있다. 적어도 하나의 SDSF 횡단 기준은 적어도 하나의 SDSF의 미리 선택된 폭 및 적어도 하나의 SDSF의 미리 선택된 평활도, 드라이빙가능 표면을 포함하는, 적어도 하나의 SDSF와 AV 사이의 최소 진입 거리 및 최소 진출 거리, 및 AV에 의한 적어도 하나의 SDSF로의 대략 90° 접근을 수용할 수 있는, 적어도 하나의 SDSF와 AV 사이의 최소 진입 거리를 선택적으로 포함할 수 있다.Filtering the point cloud data may include conditionally removing from the point cloud data points representing transient objects and points representing outliers, and optionally replacing the removed points having a preselected height. Forming the processing portions may optionally include segmenting the point cloud data into processable portions, and removing points of a preselected height from the processable portions. Merging processable parts includes reducing the size of processable parts by analyzing outliers, voxels, and normals, growing regions from reduced sized processable parts, and initial decomposition from grown regions. determining the diverable surfaces, segmenting and meshing the initial drivable surfaces, positioning polygons within the segmented and meshed initial drivable surfaces, and setting the drivable surfaces based at least on the polygons may optionally include Locating and labeling the at least one SDSF feature comprises aligning the point cloud data of the drivable surfaces according to an SDSF filter, the SDSF filter comprising at least three categories of points, and the categories of points, in combination , locating the at least one SDSF point based at least on whether the at least one first preselected criterion is met. The method may optionally include generating the at least one SDSF trajectory based at least on whether the plurality of at least one SDSF points, in combination, satisfy the at least one second preselected criterion. Generating the graphing polygons may also optionally include generating the at least one polygon from the at least one drivable surface. At least one polygon may include edges. Generating the graphing polygons includes smoothing edges, forming a driving margin based on the smoothed edges, adding at least one SDSF trajectory to the at least one drivable surface, and at least one third and removing edges from the at least one drivable surface according to a preselected criterion. may optionally include outwardly trimming the smoothing edges of the edges. Forming the driving margin of the smoothed edges may optionally include trimming the outer edges inward. The at least one SDSF traversal criterion includes a preselected width of the at least one SDSF and a preselected smoothness of the at least one SDSF, a minimum entry distance and a minimum exit distance between the at least one SDSF and the AV, including a drivable surface, and AV may optionally include a minimum entry distance between the at least one SDSF and the AV, which may accommodate approximately 90° access to the at least one SDSF by

일부 구성들에서, 본 교시의 시스템은 AV가 마주치는 적어도 하나의 SDSF를 내비게이팅하기 위한 맵을 생성하기 위한 것이고, AV는 표면 위의 경로를 이동하고, 표면은 적어도 하나의 SDSF를 포함하고, 경로는 시작 포인트 및 종료 포인트를 포함하고, 시스템은, 제한적인 것은 아니지만, 표면을 나타내는 포인트 클라우드 데이터에 액세스하는 포인트 클라우드 액세서, 포인트 클라우드 데이터를 필터링하는 제1 필터, 필터링된 포인트 클라우드 데이터로부터 처리가능 부분들을 형성하는 세그멘터, 처리가능 부분들을 적어도 하나의 오목 다각형으로 병합하는 제3 프로세서, 적어도 하나의 오목 다각형에서 적어도 하나의 SDSF를 위치결정 및 라벨링하는 제4 프로세서―위치결정 및 라벨링은 라벨링된 포인트 클라우드 데이터를 형성함―, 그래핑 다각형들을 생성하는 제5 프로세서를 포함할 수 있다. 루트 토폴로지는 필터링된 포인트 클라우드 데이터를 포함할 수 있는 적어도 하나의 그래핑 다각형을 포함할 수 있다. 포인트 클라우드 데이터는 라벨링된 피처들 및 드라이빙가능 마진을 포함할 수 있다. 시스템은 포인트 클라우드 데이터를 전역 좌표계로 변환하는 제7 프로세서, 및 적어도 하나의 SDSF의 경계들을 결정하는 제8 프로세서를 포함할 수 있다. 제8 프로세서는 경계들 주위에서 미리 선택된 크기의 SDSF 버퍼들을 생성할 수 있다. 시스템은 적어도 하나의 SDSF 횡단 기준에 적어도 기초하여 적어도 하나의 SDSF 중 어느 것이 횡단될 수 있는지를 결정하는 제9 프로세서, 적어도 하나의 SDSF 횡단 기준, 변환된 포인트 클라우드 데이터, 및 루트 토폴로지에 적어도 기초하여 에지/가중치 그래프를 생성하는 제10 프로세서, 및 에지/가중치 그래프에 적어도 기초하여 시작 포인트로부터 목적지 포인트까지의 경로를 선택하는 베이스 제어기를 포함할 수 있다.In some configurations, the system of the present teachings is for generating a map for navigating to the at least one SDSF the AV encounters, the AV moving a path over the surface, the surface comprising the at least one SDSF, The path includes a start point and an end point, and the system is capable of processing from, but not limited to, a point cloud accessor to access point cloud data representing a surface, a first filter to filter the point cloud data, and to process from the filtered point cloud data. a segmenter forming the parts, a third processor merging the processable parts into the at least one concave polygon, a fourth processor locating and labeling the at least one SDSF in the at least one concave polygon, wherein the positioning and labeling is labeled forming the point cloud data—can include a fifth processor that generates the graphing polygons. The route topology may include at least one graphing polygon that may include filtered point cloud data. The point cloud data may include labeled features and a drivable margin. The system may include a seventh processor that transforms the point cloud data into a global coordinate system, and an eighth processor that determines boundaries of the at least one SDSF. The eighth processor may create SDSF buffers of a pre-selected size around the boundaries. The system is configured to determine which of the at least one SDSF can be traversed based at least on the ninth processor based at least on the at least one SDSF traversal criterion, at least based on the at least one SDSF traversal criterion, the transformed point cloud data, and a route topology. a tenth processor to generate an edge/weight graph, and a base controller to select a path from a starting point to a destination point based at least on the edge/weight graph.

제1 필터는, 제한적인 것은 아니지만, 포인트 클라우드 데이터로부터 과도 물체들을 나타내는 포인트들 및 이상치들을 나타내는 포인트들을 조건부로 제거하는 것, 및 미리 선택된 높이를 갖는 제거된 포인트들을 대체하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 세그멘터는, 제한적인 것은 아니지만, 포인트 클라우드 데이터를 처리가능 부분들로 세그먼트화하는 것, 및 미리 선택된 높이의 포인트들을 처리가능 부분들로부터 제거하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 제3 프로세서는, 제한적인 것은 아니지만, 이상치들, 복셀들, 및 법선을 분석함으로써 처리가능 부분들의 크기를 감소시키는 것, 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 것, 성장된 영역들로부터 초기 드라이빙가능 표면들을 결정하는 것, 초기 드라이빙가능 표면들을 세그먼트화 및 메싱하는 것, 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 것, 및 다각형들에 적어도 기초하여 드라이빙가능 표면들을 설정하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 제4 프로세서는, 제한적인 것은 아니지만, SDSF 필터에 따라 드라이빙가능 표면들의 포인트 클라우드 데이터를 정렬하는 것―SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―, 및 포인트들의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 시스템은, 제한적인 것은 아니지만, 복수의 적어도 하나의 SDSF 포인트가, 조합하여, 적어도 하나의 제2 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 궤적을 생성하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다.The first filter may include, but is not limited to, conditionally removing points representing transient objects and points representing outliers from the point cloud data, and replacing the removed points with a preselected height. You can optionally include enable codes. A segmenter may optionally include executable code that may include, but is not limited to, segmenting the point cloud data into processable portions, and removing points of a preselected height from the processable portions. can A third processor includes, but is not limited to, reducing the size of the processable portions by analyzing outliers, voxels, and normals, growing regions from the reduced size processable portions, grown regions determining initial drivable surfaces from, segmenting and meshing the initial drivable surfaces, positioning polygons within the segmented and meshed initial drivable surfaces, and at least based on the polygons the drivable surface It may optionally include executable code that may include configuring them. A fourth processor includes, but is not limited to, sorting the point cloud data of the drivable surfaces according to the SDSF filter, the SDSF filter comprising at least three categories of points, and the categories of points, in combination, at least may optionally include executable code that may include locating the at least one SDSF point based at least on whether the one first preselected criterion is met. The system may include, but is not limited to, generating at least one SDSF trajectory based at least on whether the plurality of at least one SDSF points, in combination, satisfy at least one second preselected criterion. You can optionally include code.

그래핑 다각형들을 생성하는 것은, 제한적인 것은 아니지만, 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 것―적어도 하나의 다각형은 에지들을 포함함―, 에지들을 평활화하는 것, 평활화된 에지들에 기초하여 드라이빙 마진을 형성하는 것, 적어도 하나의 드라이빙가능 표면에 적어도 하나의 SDSF 궤적을 추가하는 것, 및 적어도 하나의 제3 미리 선택된 기준에 따라 적어도 하나의 드라이빙가능 표면으로부터 에지들을 제거하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 에지들을 평활화하는 것은, 제한적인 것은 아니지만, 에지들을 바깥쪽으로 트리밍하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 평활화된 에지들의 드라이빙 마진을 형성하는 것은, 제한적인 것은 아니지만, 바깥쪽 에지들을 안쪽으로 트리밍하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다.Generating the graphing polygons includes, but is not limited to, generating at least one polygon from at least one drivable surface, wherein the at least one polygon includes edges, smoothing edges, smoothed edges forming a driving margin based on , adding at least one SDSF trajectory to the at least one drivable surface, and removing edges from the at least one drivable surface according to at least one third preselected criterion. It can optionally include executable code that it can include. Smoothing the edges may optionally include executable code, which may include, but is not limited to, trimming the edges outward. Forming the driving margin of the smoothed edges may optionally include executable code, which may include, but is not limited to, trimming the outer edges inward.

일부 구성들에서, SDSF는 그 치수들에 의해 식별될 수 있다. 예를 들어, 커브는, 제한적인 것은 아니지만, 약 0.6-0.7m의 폭을 포함할 수 있다. 일부 구성들에서, 포인트 클라우드 데이터는 SDSF들을 위치결정하기 위해 처리될 수 있고, 이들 데이터는 시작 포인트로부터 목적지까지의 AV에 대한 경로를 준비하기 위해 이용될 수 있다. 일부 구성들에서, 경로는 맵에 포함되고 지각 서브시스템에 제공될 수 있다. AV가 경로를 이동하고 있을 때, 일부 구성들에서, SDSF 횡단은 지각 서브시스템에 의해 부분적으로 가능하게 되는 AV의 센서 기반 포지셔닝을 통해 수용될 수 있다. 지각 서브시스템은 AV 내의 적어도 하나의 프로세서 상에서 실행될 수 있다.In some configurations, the SDSF can be identified by its dimensions. For example, the curve may include, but is not limited to, a width of about 0.6-0.7 m. In some configurations, point cloud data may be processed to locate SDSFs, and these data may be used to prepare a route for the AV from a starting point to a destination. In some configurations, the path may be included in a map and provided to the perceptual subsystem. When the AV is moving its path, in some configurations, SDSF traversal may be accommodated via sensor-based positioning of the AV, enabled in part by the perceptual subsystem. The perceptual subsystem may execute on at least one processor within the AV.

AV는, 제한적인 것은 아니지만, 2개의 전동 전방-휠들(powered front-wheels), 2개의 전동 후방-휠들(powered back-wheels), 에너지 저장소, 및 적어도 하나의 프로세서를 포함하는 파워 베이스를 포함할 수 있다. 파워 베이스는 명령된 속도로 이동하도록 구성될 수 있다. AV는 복수의 단거리 센서들을 포함하는, 파워 베이스에 기계적으로 부착된 화물 플랫폼(cargo platform)을 포함할 수 있다. AV는 일부 구성들에서 화물 플랫폼의 최상부에 장착되고, 배송할 하나 이상의 물체를 수용하기 위한 볼륨을 갖는 화물 컨테이너를 포함할 수 있다. AV는, 제한적인 것은 아니지만, LIDAR 및 하나 이상의 카메라를 포함할 수 있는, 일부 구성들에서 화물 컨테이너의 최상부 상에 장착된 장거리 센서 슈트(sensor suite)를 포함할 수 있다. AV는 장거리 센서 슈트 및 단거리 센서 슈트로부터 데이터를 수신할 수 있는 제어기를 포함할 수 있다.An AV may include, but is not limited to, a power base comprising two powered front-wheels, two powered back-wheels, an energy storage, and at least one processor. can The power base may be configured to move at a commanded speed. The AV may include a cargo platform mechanically attached to the power base, comprising a plurality of short-range sensors. The AV may in some configurations be mounted on top of a cargo platform and include a cargo container having a volume for receiving one or more objects to be shipped. The AV may include, but is not limited to, a long-range sensor suite mounted on top of the cargo container in some configurations, which may include a LIDAR and one or more cameras. The AV may include a controller capable of receiving data from the long range sensor suite and the short range sensor suite.

단거리 센서 슈트는 선택적으로 드라이빙가능 표면의 적어도 하나의 특성을 검출할 수 있고, 선택적으로 스테레오 카메라들, IR 프로젝터, 2개의 이미지 센서들, RGB 센서, 및 레이더 센서들을 포함할 수 있다. 단거리 센서 슈트는 선택적으로 제어기에 RGB-D 데이터를 공급할 수 있다. 제어기는 선택적으로 단거리 센서 슈트로부터 수신된 RGB-D 데이터에 기초하여 노면(road surface)의 기하구조를 결정할 수 있다. 단거리 센서 슈트는 선택적으로 AV의 4미터 이내의 물체들을 검출할 수 있고, 장거리 센서 슈트는 선택적으로 AV로부터 4미터보다 더 떨어져 있는 물체들을 검출할 수 있다.The short range sensor suite may optionally detect at least one characteristic of the drivable surface and may optionally include stereo cameras, an IR projector, two image sensors, an RGB sensor, and radar sensors. The short-range sensor suite can optionally feed RGB-D data to the controller. The controller may optionally determine the geometry of the road surface based on RGB-D data received from the short-range sensor suite. The short-range sensor suite may optionally detect objects within 4 meters of the AV, and the long-range sensor suite may optionally detect objects more than 4 meters away from the AV.

지각 서브시스템은 점유 그리드를 채우기 위해 센서들에 의해 수집된 데이터를 이용할 수 있다. 본 교시의 점유 그리드는 AV를 둘러싸는 포인트들의 3D 그리드로서 구성될 수 있고, AV는 중심 포인트를 점유한다. 일부 구성들에서, 점유 그리드는 AV의 좌측, 우측, 후방, 및 전방으로 10m 늘어날 수 있다. 그리드는 대략적으로, AV의 높이를 포함할 수 있고, AV가 이동함에 따라 AV와 함께 가상으로 이동할 수 있으며, AV를 둘러싸는 장애물들을 나타낸다. 그리드는 그것의 수직 축을 감소시킴으로써 2차원으로 변환될 수 있고, 예를 들어, 제한적인 것은 아니지만, 대략 5cm x 5cm 크기의 다각형들로 분할될 수 있다. AV 주위의 3D 공간에 나타나는 장애물들은 2D 형상으로 감소될 수 있다. 2D 형상이 다각형들 중 하나의 임의의 세그먼트와 중첩하면, 다각형에 100의 값이 주어질 수 있고, 이는 공간이 점유된다는 것을 표시한다. 채워지지 않은 임의의 다각형들에는 0의 값이 주어질 수 있고, AV가 이동할 수 있는 자유 공간으로서 지칭될 수 있다.The perception subsystem may use the data collected by the sensors to populate the occupancy grid. The occupancy grid of the present teachings may be constructed as a 3D grid of points surrounding an AV, with the AV occupying a central point. In some configurations, the occupancy grid can stretch 10 m to the left, right, rear, and front of the AV. The grid can roughly include the height of the AV, and can virtually move with the AV as it moves, representing obstacles surrounding the AV. A grid can be transformed into two dimensions by reducing its vertical axis, for example, but not limited to being divided into polygons approximately 5 cm x 5 cm in size. Obstacles appearing in 3D space around the AV can be reduced to a 2D shape. If the 2D shape overlaps any segment of one of the polygons, the polygon can be given a value of 100, indicating that space is occupied. Any polygons that are not filled can be given a value of 0, and can be referred to as free space in which AV can move.

AV가 내비게이팅함에 따라, AV의 구성의 변경이 요구될 수 있는 상황에 직면할 수 있다. 일부 구성들에서, 본 교시의 방법은 일부 구성들에서의 구성의 실시간 제어를 위한 것이고, 일부 구성들에서는 섀시(chassis), 적어도 4개의 휠들, 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 섀시의 제1 측, 및 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 섀시의 대향하는 제2 측을 포함하고, 방법은, 제한적인 것은 아니지만, 환경 데이터를 수신하는 것, 환경 데이터에 적어도 기초하여 표면 타입을 결정하는 것, 표면 타입 및 제1 구성에 적어도 기초하여 모드를 결정하는 것, 모드 및 표면 타입에 적어도 기초하여 제2 구성을 결정하는 것, 제2 구성에 적어도 기초하여 이동 명령들을 결정하는 것, 및 제1 구성으로부터 제2 구성으로 디바이스를 변경하기 위해 이동 명령들을 이용하여 디바이스의 구성을 제어하는 것을 포함할 수 있다.As the AV navigates, one may encounter a situation in which a change in the configuration of the AV may be required. In some configurations, the method of the present teachings is for real-time control of a configuration in some configurations, and in some configurations is operatively coupled with at least one of a chassis, at least four wheels, at least four wheels. A method comprising, but not limited to, a first side of the chassis and an opposite second side of the chassis operatively coupled to at least one of the at least four wheels, the method comprising, but not limited to, receiving environmental data, at least in the environmental data determining a surface type based on, determining a mode based at least on the surface type and the first configuration, determining a second configuration based at least on the mode and the surface type, moving instructions based at least on the second configuration and controlling the configuration of the device using move commands to change the device from the first configuration to the second configuration.

방법은 적어도 표면 타입 및 모드에 기초하여 점유 그리드를 채우는 것을 선택적으로 포함할 수 있다. 환경 데이터는 RGB-D 이미지 데이터 및 노면의 토폴로지를 선택적으로 포함할 수 있다. 구성은 적어도 4개의 휠들의 클러스터링된 2개의 쌍들을 선택적으로 포함할 수 있다. 2개의 쌍들 중 제1 쌍은 제1 측에 위치될 수 있고, 2개의 쌍들 중 제2 쌍은 제2 측에 위치될 수 있다. 제1 쌍은 제1 전방 휠 및 제1 후방 휠을 포함할 수 있고, 제2 쌍은 제2 전방 휠 및 제2 후방 휠을 포함할 수 있다. 구성의 제어는 환경 데이터에 적어도 기초하여 제1 쌍 및 제2 쌍의 조정된 전력공급을 선택적으로 포함할 수 있다. 구성의 제어는 적어도 4개의 휠들 및 수축된 캐스터들의 쌍을 구동하는 것으로부터, 제1 전방 휠 및 제2 전방 휠을 들어올리기 위해 클러스터링된 제1 쌍 및 클러스터링된 제2 쌍이 회전된 2개의 휠들을 구동하는 것으로 전환하는 것을 선택적으로 포함할 수 있다. 캐스터들의 쌍은 섀시와 동작가능하게 결합될 수 있다. 디바이스는 제1 후방 휠, 제2 후방 휠 및 캐스터들의 쌍에 놓일 수 있다. 구성의 제어는 환경 데이터에 적어도 기초하여 제1 측의 2개의 전동 휠들 및 제2 측의 2개의 전동 휠들과 동작가능하게 결합된 클러스터의 쌍을 회전시키는 것을 선택적으로 포함할 수 있다.The method may optionally include populating the occupancy grid based at least on the surface type and mode. The environment data may optionally include RGB-D image data and a topology of the road surface. The configuration may optionally include clustered two pairs of at least four wheels. A first pair of the two pairs may be located on the first side, and a second pair of the two pairs may be located on the second side. The first pair may include a first front wheel and a first rear wheel, and the second pair may include a second front wheel and a second rear wheel. Control of the configuration may optionally include regulated powering of the first pair and the second pair based at least on the environmental data. The control of the configuration includes the two wheels with the clustered first pair and the clustered second pair rotated to lift the first front wheel and the second front wheel from driving the pair of at least four wheels and retracted casters. It may optionally include switching to actuating. The pair of casters may be operatively coupled with the chassis. The device may rest on a pair of first rear wheels, second rear wheels and casters. Control of the configuration can optionally include rotating a pair of clusters operatively coupled with the two powered wheels on the first side and the two powered wheels on the second side based at least on the environmental data.

AV의 구성의 실시간 제어를 위한 본 교시의 시스템은, 제한적인 것은 아니지만, 디바이스 프로세서 및 파워 베이스 프로세서를 포함할 수 있다. AV는 섀시, 적어도 4개의 휠들, 섀시의 제1 측, 및 섀시의 대향하는 제2 측을 포함할 수 있다. 디바이스 프로세서는 AV를 둘러싸는 실시간 환경 데이터를 수신하고, 환경 데이터에 적어도 기초하여 표면 타입을 결정하고, 표면 타입 및 제1 구성에 적어도 기초하여 모드를 결정하고, 모드 및 표면 타입에 적어도 기초하여 제2 구성을 결정할 수 있다. 파워 베이스 프로세서는 AV가 제2 구성에 적어도 기초하여 이동할 수 있게 하고, AV가 제1 구성으로부터 제2 구성으로 변경될 수 있게 한다. 디바이스 프로세서는 표면 타입 및 모드에 적어도 기초하여 점유 그리드를 채우는 것을 선택적으로 포함할 수 있다.A system of the present teachings for real-time control of the configuration of an AV may include, but is not limited to, a device processor and a power base processor. The AV may include a chassis, at least four wheels, a first side of the chassis, and an opposing second side of the chassis. The device processor receives real-time environmental data surrounding the AV, determines a surface type based at least on the environmental data, determines a mode based at least on the surface type and a first configuration, and determines a second mode based on at least the mode and the surface type. 2 configuration can be determined. The power base processor enables the AV to move based at least on the second configuration, and enables the AV to change from the first configuration to the second configuration. The device processor may optionally include populating the occupancy grid based at least on the surface type and mode.

내비게이션 동안, AV는 성공적인 횡단을 위해 AV를 조종할 것을 요구할 수 있는 SDSF들을 만날 수 있다. 일부 구성들에서, 적어도 하나의 SDSF에 걸쳐 목표 포인트를 향해 이동 영역에서의 경로 라인을 따라 AV를 내비게이팅하기 위한 본 교시의 방법―AV는 선두 에지(leading edge) 및 후미 에지(trailing edge)를 포함함―은, 제한적인 것은 아니지만, 이동 영역에 대한 SDSF 정보 및 장애물 정보를 수신하는 것, SDSF 정보로부터 적어도 하나의 후보 SDSF를 검출하는 것, 및 적어도 하나의 선택 기준에 기초하여 적어도 하나의 후보 SDSF 라인으로부터 SDSF 라인을 선택하는 것을 포함할 수 있다. 방법은 선택된 SDSF 라인의 근처에서 장애물 정보에서 발견된 적어도 하나의 장애물의 적어도 하나의 위치에 기초하여 선택된 SDSF 라인의 적어도 하나의 횡단가능 부분을 결정하는 것, AV를 헤딩(heading)하는 것, AV를 횡단가능 부분에 수직인 라인을 따라 이동하도록 회전(turning)시킴으로써, 적어도 하나의 횡단가능 부분을 향해 제1 속도로 동작하는 것, 및 헤딩과 수직 라인 사이의 관계에 기초하여 AV의 헤딩을 계속해서 정정하는 것을 포함할 수 있다. 방법은 헤딩 및 AV와 횡단가능 부분 사이의 거리에 적어도 기초하여 AV의 제1 속도를 조정함으로써 AV를 제2 속도로 드라이빙하는 것을 포함할 수 있다. 적어도 하나의 횡단가능 부분과 연관된 SDSF가 이동 루트의 표면에 대해 상승되면, 방법은 선두 에지를 후미 에지에 대해 상승시킴으로써 SDSF를 횡단하고, 고도 당 제3 증가된 속도(third increased speed per degree of elevation)로 AV를 드라이빙하는 것, 및 AV가 SDSF를 클리어할 때까지 AV를 제4 속도로 드라이빙하는 것을 포함할 수 있다.During navigation, the AV may encounter SDSFs that may require steering the AV for successful traversal. In some configurations, a method of the present teachings for navigating an AV along a path line in a movement area towards a target point over at least one SDSF, wherein the AV has a leading edge and a trailing edge. including, but is not limited to, receiving SDSF information and obstacle information for a movement area, detecting at least one candidate SDSF from the SDSF information, and at least one candidate based on at least one selection criterion. selecting the SDSF line from the SDSF line. The method includes determining at least one traversable portion of the selected SDSF line based on at least one location of at least one obstacle found in obstacle information in the vicinity of the selected SDSF line, heading an AV, the AV moving at a first speed towards the at least one traversable portion by turning to move along a line perpendicular to the traversable portion, and continuing heading of the AV based on the relationship between the heading and the vertical line. This may include corrections. The method may include driving the AV at a second speed by adjusting a first speed of the AV based at least on the heading and a distance between the AV and the traversable portion. If the SDSF associated with the at least one traversable portion is raised relative to the surface of the route of travel, the method traverses the SDSF by raising the leading edge relative to the trailing edge, and a third increased speed per degree of elevation ), and driving the AV at the fourth speed until the AV clears the SDSF.

SDSF 정보로부터 적어도 하나의 후보 SDSF를 검출하는 것은 (a) AV의 위치, 및 목표 포인트의 위치를 포함하는 폐쇄 다각형을 그리는 것, (b) 목표 포인트와 AV의 위치 사이의 경로 라인을 그리는 것, (c) SDSF 정보로부터 2개의 SDSF 포인트들을 선택하는 것―SDSF 포인트들은 다각형 내에 위치됨―, 및 (d) 2개의 포인트들 사이에 SDSF 라인을 그리는 것을 선택적으로 포함할 수 있다. 적어도 하나의 후보 SDSF를 검출하는 것은 (e) SDSF 라인의 제1 미리 선택된 거리 내에 제1 미리 선택된 수의 포인트보다 적은 수의 포인트가 존재하는 경우, 및 SDSF 포인트들을 선택하고, 그들 사이에 라인을 그리고, SDSF 라인 주위의 제1 미리 선택된 수의 포인트들보다 적은 수의 포인트를 갖는데 있어서 제2 미리 선택된 수의 시도보다 적은 수의 시도가 존재하는 경우, 단계들 (c)-(e)를 반복하는 것을 포함할 수 있다. 적어도 하나의 후보 SDSF를 검출하는 것은 (f) 제1 미리 선택된 수의 포인트 또는 그보다 많은 포인트가 존재하는 경우, SDSF 라인의 제1 미리 선택된 거리 내에 있는 SDSF 포인트들에 곡선(curve)을 피팅(fitting)하는 것, (g) 곡선의 제1 미리 선택된 거리 내에 있는 SDSF 포인트의 제1 수가 SDSF 라인의 제1 미리 선택된 거리 내의 제2 수의 SDSF 포인트를 초과하는 경우, 및 곡선이 경로 라인과 교차하는 경우, 및 곡선 상의 SDSF 포인트들 사이에 제2 미리 선택된 거리를 초과하는 갭들이 존재하는 경우, 곡선을 SDSF 라인으로서 식별하는 것을 포함할 수 있다. 적어도 하나의 후보 SDSF를 검출하는 것은 (h) 곡선의 제1 미리 선택된 거리 내에 있는 포인트들의 수가 SDSF 라인의 제1 미리 선택된 거리 내의 포인트들의 수를 초과하지 않는 경우, 또는 곡선이 경로 라인과 교차하지 않는 경우, 또는 곡선 상의 SDSF 포인트들 사이에 제2 미리 선택된 거리를 초과하는 갭들이 존재하는 경우, 및 SDSF 라인이 안정적으로 유지되지 않는 경우, 및 단계들 (f)-(h)가 제2 미리 선택된 수의 시도보다 많이 시도되지 않은 경우, 단계들 (f)-(h)를 반복하는 것을 포함할 수 있다.Detecting the at least one candidate SDSF from the SDSF information comprises (a) drawing a closed polygon comprising the location of the AV and the location of the target point, (b) drawing a path line between the target point and the location of the AV; (c) selecting two SDSF points from the SDSF information, wherein the SDSF points are located within a polygon, and (d) drawing an SDSF line between the two points. Detecting the at least one candidate SDSF may include (e) selecting the SDSF points if there are fewer than a first preselected number of points within a first preselected distance of the SDSF line, and drawing a line between them. and repeat steps (c)-(e) if there are fewer than the second preselected number of trials in having fewer than the first preselected number of points around the SDSF line. may include doing Detecting the at least one candidate SDSF comprises (f) fitting a curve to SDSF points that are within a first preselected distance of the SDSF line if there is a first preselected number of points or more points. ), (g) if the first number of SDSF points within the first preselected distance of the curve exceeds the second number of SDSF points within the first preselected distance of the SDSF line, and at which the curve intersects the path line. and identifying the curve as an SDSF line if there are gaps greater than a second preselected distance between SDSF points on the curve. Detecting the at least one candidate SDSF comprises (h) the number of points within the first preselected distance of the curve does not exceed the number of points within the first preselected distance of the SDSF line, or the curve does not intersect the path line. or if there are gaps exceeding a second preselected distance between SDSF points on the curve, and if the SDSF line does not remain stable, and if steps (f)-(h) are repeating steps (f)-(h) if no more than the selected number of attempts have been attempted.

폐쇄 다각형은 선택적으로 미리 선택된 폭을 포함할 수 있고, 미리 선택된 폭은 선택적으로 AV의 폭 치수를 포함할 수 있다. SDSF 포인트들을 선택하는 것은 선택적으로 랜덤 선택을 포함할 수 있다. 적어도 하나의 선택 기준은 선택적으로 곡선의 제1 미리 선택된 거리 내의 제1 수의 SDSF 포인트들이 SDSF 라인의 제1 미리 선택된 거리 내의 제2 수의 SDSF 포인트들을 초과하는 것을 포함할 수 있고, 곡선은 경로 라인과 교차하고, 곡선 상의 SDSF 포인트들 사이에 제2 미리 선택된 거리를 초과하는 갭들이 존재하지 않는다.The closed polygon may optionally include a preselected width, and the preselected width may optionally include a width dimension of the AV. Selecting SDSF points may optionally include random selection. The at least one selection criterion may optionally include that a first number of SDSF points within a first preselected distance of the curve exceeds a second number of SDSF points within a first preselected distance of the SDSF line, wherein the curve comprises a path There are no gaps that intersect the line and exceed the second preselected distance between SDSF points on the curve.

선택된 SDSF의 적어도 하나의 횡단가능 부분을 결정하는 것은 장애물 정보로부터 복수의 장애물 포인트들을 선택하는 것을 선택적으로 포함할 수 있다. 복수의 장애물 포인트들 각각은 장애물 포인트가 적어도 하나의 장애물과 연관될 확률을 포함할 수 있다. 적어도 하나의 횡단가능 부분을 결정하는 것은 확률이 미리 선택된 퍼센트보다 높고, 복수의 장애물 포인트들 중 임의의 것이 SDSF 라인과 목표 포인트 사이에 놓이는 경우, 및 복수의 장애물 포인트들 중 임의의 것이 SDSF 라인으로부터 제3 미리 선택된 거리보다 작은 경우, 복수의 장애물 포인트들을 SDSF 라인에 투영하여, 적어도 하나의 투영을 형성하는 것을 포함할 수 있다. 적어도 하나의 횡단가능 부분을 결정하는 것은 적어도 하나의 투영 중 적어도 2개를 서로 접속하는 것, 접속된 적어도 2개의 투영들의 종료 포인트들을 SDSF 라인을 따라 위치시키는 것, 접속된 적어도 2개의 투영들을 횡단 불가능 SDSF 섹션으로서 마킹하는 것, 및 횡단 불가능 섹션 외부의 SDSF 라인을 적어도 하나의 횡단가능 섹션으로서 마킹하는 것을 선택적으로 포함할 수 있다.Determining the at least one traversable portion of the selected SDSF may optionally include selecting a plurality of obstacle points from the obstacle information. Each of the plurality of obstacle points may include a probability that the obstacle point is associated with at least one obstacle. Determining the at least one traversable portion has a probability greater than a preselected percentage, if any of the plurality of obstacle points lies between the SDSF line and the target point, and if any of the plurality of obstacle points are from the SDSF line. projecting the plurality of obstacle points onto the SDSF line if less than the third preselected distance, forming at least one projection. Determining the at least one traversable portion comprises connecting at least two of the at least one projections to each other, locating end points of the connected at least two projections along an SDSF line, traversing the connected at least two projections. may optionally include marking as a non-traversable section, and marking an SDSF line outside the non-traversable section as the at least one traversable section.

SDSF의 적어도 하나의 횡단가능 부분을 횡단하는 것은 AV를 헤딩하는 것, 횡단가능 부분을 향해 제1 속도로 동작하는 것, 횡단가능 부분에 수직인 라인을 따라 이동하도록 AV를 회전하는 것, 헤딩과 수직 라인 사이의 관계에 기초하여 AV의 헤딩을 계속해서 정정하는 것, 및 AV와 횡단가능 부분 사이의 거리 및 헤딩에 적어도 기초하여 AV의 제1 속도를 조정함으로써 AV를 제2 속도로 드라이빙하는 것을 선택적으로 포함할 수 있다. SDSF의 적어도 하나의 횡단가능 부분을 횡단하는 것은 SDSF가 이동 루트의 표면에 대해 상승되는 경우, 후미 에지에 대해 선두 에지를 상승시키고 고도 당 제3 증가된 속도로 AV를 드라이빙함으로써 SDSF를 횡단하는 것, 및 AV가 SDSF를 클리어할 때까지 AV를 제4 속도로 드라이빙하는 것을 선택적으로 포함할 수 있다.Traversing the at least one traversable portion of the SDSF includes heading the AV, operating at a first speed towards the traversable portion, rotating the AV to move along a line perpendicular to the traversable portion, heading and continuing to correct the heading of the AV based on the relationship between the vertical lines, and driving the AV at a second speed by adjusting the first speed of the AV based at least on the heading and the distance between the AV and the traversable portion; may optionally be included. traversing the at least one traversable portion of the SDSF includes, when the SDSF is raised relative to the surface of the travel route, traversing the SDSF by raising the leading edge relative to the trailing edge and driving the AV at a third increased speed per altitude. , and optionally driving the AV at the fourth speed until the AV clears the SDSF.

SDSF의 적어도 하나의 횡단가능 부분을 횡단하는 것은 대안적으로, (a) 헤딩 에러가 SDSF 라인에 수직인 라인에 대해 제3 미리 선택된 양보다 적은 경우, SDSF 정보의 업데이트된 것을 무시하고 미리 선택된 속도로 AV를 드라이빙하는 것, (b) AV의 후방 부분에 대한 AV의 전방 부분의 고도가 제6 미리 선택된 양과 제5 미리 선택된 양 사이에 있는 경우, AV를 전방으로 드라이빙하고 고도 당 제8 미리 선택된 속도로 AV의 속도를 증가시키는 것, (c) 전방 부분이 후방 부분에 대해 제6 미리 선택된 양보다 적게 상승되는 경우, 제7 미리 선택된 속도로 AV를 전방으로 드라이빙하는 것, 및 (d) 후방 부분이 SDSF 라인으로부터 제5 미리 선택된 거리 이하인 경우, 단계들 (a)-(d)를 반복하는 것을 선택적으로 포함할 수 있다.Traversing at least one traversable portion of the SDSF may alternatively include: (a) if the heading error is less than a third preselected amount for a line perpendicular to the SDSF line, ignore the updated SDSF information and preselected rate (b) driving the AV forward when the elevation of the front portion of the AV relative to the rear portion of the AV is between the sixth preselected amount and the fifth preselected amount, and increasing the speed of the AV at a speed, (c) driving the AV forward at a seventh preselected speed if the front portion is raised less than a sixth preselected amount for the rear portion, and (d) rearward repeating steps (a)-(d) if the portion is less than or equal to a fifth preselected distance from the SDSF line.

일부 구성들에서, SDSF 및 AV의 휠들은 시스템 불안정성을 회피하기 위해 자동으로 정렬될 수 있다. 자동 정렬은, 예를 들어, 제한적인 것은 아니지만, AV가 SDSF에 접근함에 따라 AV의 헤딩을 계속적으로 테스트하고 정정하는 것에 의해 구현될 수 있다. 본 교시의 SDSF 횡단 피처의 다른 양태는, SDSF 횡단 피처가 횡단을 시도하기 전에 SDSF 주위에 충분한 자유 공간이 존재한다는 것을 자동으로 확인하는 것이다. 본 교시의 SDSF 횡단 피처의 또 다른 양태는 다양한 기하구조들의 SDSF들을 횡단하는 것이 가능하다는 것이다. 기하구조들은, 예를 들어, 제한적인 것은 아니지만, 정사각형의 및 윤곽 있는 SDSF들을 포함할 수 있다. SDSF에 대한 AV의 배향은 AV가 어떤 속도 및 방향으로 진행하는지를 결정할 수 있다. SDSF 횡단 피처는 SDSF들 근처에서 AV의 속도를 조정할 수 있다. AV가 SDSF에 올라갈 때, 속도는 AV가 SDSF를 횡단하는 것을 보조하기 위해 증가될 수 있다.In some configurations, the wheels of SDSF and AV may be automatically aligned to avoid system instability. Auto-alignment may be implemented by, for example, but not limited to, continuously testing and correcting the AV's heading as it approaches the SDSF. Another aspect of the SDSF traversing feature of the present teachings is to automatically verify that there is sufficient free space around the SDSF before the SDSF traversing feature attempts to traverse. Another aspect of the SDSF traversing feature of the present teachings is that it is possible to traverse SDSFs of various geometries. Geometries may include, for example, but not limited to square and outlined SDSFs. The orientation of the AV with respect to the SDSF can determine at what speed and direction the AV travels. The SDSF traversal feature can adjust the speed of the AV near SDSFs. As the AV climbs the SDSF, the speed may be increased to assist the AV traversing the SDSF.

1. 자율 배송 차량(autonomous delivery vehicle)으로서, 2개의 전동 전방 휠들, 2개의 전동 후방 휠들 및 에너지 저장소를 포함하는 파워 베이스―파워 베이스는 적어도 하나의 물체의 수송을 수행하기 위해 명령된 속도로 및 명령된 방향으로 이동하도록 구성됨―; 복수의 단거리 센서들을 포함하는 화물 플랫폼―화물 플랫폼은 파워 베이스에 기계적으로 부착됨―; 적어도 하나의 물체를 수용하기 위한 볼륨을 갖는 화물 컨테이너―화물 컨테이너는 화물 플랫폼의 최상부 상에 장착됨―; LIDAR 및 하나 이상의 카메라를 포함하는 장거리 센서 슈트―장거리 센서 슈트는 화물 컨테이너의 최상부 상에 장착됨―; 및 장거리 센서 슈트 및 복수의 단거리 센서들로부터 데이터를 수신하기 위한 제어기―제어기는 데이터에 적어도 기초하여 명령된 속도 및 명령된 방향을 결정하고, 제어기는 수송을 완료하기 위해 파워 베이스에 명령된 속도 및 명령된 방향을 제공함―를 포함하는, 자율 배송 차량. 2. 제1항의 자율 배송 차량으로서, 복수의 단거리 센서들로부터의 데이터는 파워 베이스가 이동하는 표면의 적어도 하나의 특성을 포함하는, 자율 배송 차량. 3. 제1항의 자율 배송 차량으로서, 복수의 단거리 센서들은 적어도 하나의 스테레오 카메라를 포함하는, 자율 배송 차량. 4. 제1항의 자율 배송 차량으로서, 복수의 단거리 센서들은 적어도 하나의 IR 프로젝터, 적어도 하나의 이미지 센서, 및 적어도 하나의 RGB 센서를 포함하는, 자율 배송 차량. 5. 제1항의 자율 배송 차량으로서, 복수의 단거리 센서들은 적어도 하나의 레이더 센서를 포함하는, 자율 배송 차량. 6. 제1항의 자율 배송 차량으로서, 복수의 단거리 센서들로부터의 데이터는 RGB-D 데이터를 포함하는, 자율 배송 차량. 7. 제1항의 자율 배송 차량으로서, 제어기는 복수의 단거리 센서들로부터 수신된 RGB-D 데이터에 기초하여 노면의 기하구조를 결정하는, 자율 배송 차량. 8. 제1항의 자율 배송 차량으로서, 복수의 단거리 센서들은 AV의 4미터 이내의 물체들을 검출하고, 장거리 센서 슈트는 자율 배송 차량으로부터 4미터보다 더 떨어져 있는 물체들을 검출하는, 자율 배송 차량. 9. 제1항의 자율 배송 차량으로서, 복수의 단거리 센서들은 냉각 회로(cooling circuit)를 포함하는, 자율 배송 차량. 10. 제1항의 자율 배송 차량으로서, 복수의 단거리 센서들은 초음파 센서를 포함하는, 자율 배송 차량. 11. 제2항의 자율 배송 차량으로서, 제어기는 실행가능 코드를 포함하고, 실행가능 코드는, 맵 프로세서에 의해 형성된 맵에 액세스하는 것을 포함하고, 맵 프로세서는 장거리 센서 슈트로부터의 포인트 클라우드 데이터에 액세스하는 제1 프로세서―포인트 클라우드 데이터는 표면을 나타냄―; 포인트 클라우드 데이터를 필터링하는 필터; 필터링된 포인트 클라우드 데이터로부터 처리가능 부분들을 형성하는 제2 프로세서; 처리가능 부분들을 적어도 하나의 다각형에 병합하는 제3 프로세서; 적어도 하나의 다각형에 적어도 하나의 실질적으로 불연속적인 표면 피처(SDSF)를 위치결정 및 라벨링하는 제4 프로세서―존재하는 경우, 위치결정 및 라벨링은 라벨링된 포인트 클라우드 데이터를 형성함―; 라벨링된 포인트 클라우드 데이터로부터 그래핑 다각형들을 생성하는 제5 프로세서; 및 그래핑 다각형들에 적어도 기초하여 시작 포인트로부터 종료 포인트까지의 경로를 선택하는 제6 프로세서―AV는 경로를 따라 적어도 하나의 SDSF를 횡단함―를 포함하는, 자율 배송 차량. 12. 제11항에서와 같은 자율 배송 차량으로서, 필터는, 코드를 실행하는 제7 프로세서를 포함하고, 코드는 포인트 클라우드 데이터로부터 과도 물체들을 나타내는 포인트들 및 이상치들을 나타내는 포인트들을 조건부로 제거하는 것; 및 미리 선택된 높이를 갖는 제거된 포인트들을 대체하는 것을 포함하는, 자율 배송 차량. 13. 제11항에서와 같은 자율 배송 차량으로서, 제2 프로세서는 실행가능 코드를 포함하고, 실행가능 코드는 포인트 클라우드 데이터를 처리가능 부분들로 세그먼트화하는 것; 및 미리 선택된 높이의 포인트들을 처리가능 부분들로부터 제거하는 것을 포함하는, 자율 배송 차량. 14. 제11항에서와 같은 자율 배송 차량으로서, 제3 프로세서는 실행가능 코드를 포함하고, 실행가능 코드는 이상치들, 복셀들, 및 법선들을 분석함으로써 처리가능 부분들의 크기를 감소시키는 것; 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 것; 성장된 영역들로부터 초기 드라이빙가능 표면들을 결정하는 것; 초기 드라이빙가능 표면들을 세그먼트화 및 메싱하는 것; 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 것; 및 다각형들에 적어도 기초하여 적어도 하나의 드라이빙가능 표면을 설정하는 것을 포함하는, 자율 배송 차량. 15. 제14항에서와 같은 자율 배송 차량으로서, 제4 프로세서는 실행가능 코드를 포함하고, 실행가능 코드는 SDSF 필터에 따라 초기 드라이빙가능 표면들의 포인트 클라우드 데이터를 정렬하는 것―SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―; 및 포인트들의 적어도 3개의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 것을 포함하는, 자율 배송 차량. 16. 제15항에서와 같은 자율 배송 차량으로서, 제4 프로세서는 실행가능 코드를 포함하고, 실행가능 코드는 복수의 적어도 하나의 SDSF 포인트가, 조합하여, 적어도 하나의 제2 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 궤적을 생성하는 것을 포함하는, 자율 배송 차량. 17. 제14항에서와 같은 자율 배송 차량으로서, 그래핑 다각형들을 생성하는 것은 실행가능 코드를 포함하는 제8 프로세서를 포함하고, 실행가능 코드는 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 것―적어도 하나의 다각형은 외부 에지들을 포함함―; 외부 에지들을 평활화하는 것; 평활화된 외부 에지들에 기초하여 드라이빙 마진을 형성하는 것; 적어도 하나의 SDSF 궤적을 적어도 하나의 드라이빙가능 표면에 추가하는 것; 및 적어도 하나의 제3 미리 선택된 기준에 따라 적어도 하나의 드라이빙가능 표면으로부터 내부 에지들을 제거하는 것을 포함하는, 자율 배송 차량. 18. 제17항에서와 같은 자율 배송 차량으로서, 외부 에지들을 평활화하는 것은 실행가능 코드를 포함하는 제9 프로세서를 포함하고, 실행가능 코드는 외부 에지들을 바깥쪽으로 트리밍하여 바깥쪽 에지들을 형성하는 것을 포함하는, 자율 배송 차량. 19. 제18항에서와 같은 자율 배송 차량으로서, 평활화된 외부 에지들의 드라이빙 마진을 형성하는 것은 실행가능 코드를 포함하는 제10 프로세서를 포함하고, 실행가능 코드는 바깥쪽 에지들을 안쪽으로 트리밍하는 것을 포함하는, 자율 배송 차량. 20. 제1항에서와 같은 자율 배송 차량으로서, 제어기는, 자율 배송 차량(AV)이 마주치는 적어도 하나의 실질적으로 불연속적인 표면 피처(SDSF)를 내비게이팅하기 위한 서브시스템―AV는 표면 위의 경로를 이동하고, 표면은 적어도 하나의 SDSF를 포함하고, 경로는 시작 포인트 및 종료 포인트를 포함함―을 포함하고, 서브시스템은, 루트 토폴로지에 액세스하는 제1 프로세서-루트 토폴로지는 필터링된 포인트 클라우드 데이터를 포함하는 적어도 하나의 그래핑 다각형을 포함하고, 필터링된 포인트 클라우드 데이터는 라벨링된 피처들을 포함하고, 포인트 클라우드 데이터는 드라이빙가능 마진을 포함함―; 포인트 클라우드 데이터를 전역 좌표계로 변환하는 제2 프로세서; 적어도 하나의 SDSF의 경계들을 결정하는 제3 프로세서―제3 프로세서는 경계들 주위의 미리 선택된 크기의 SDSF 버퍼들을 생성함―; 적어도 하나의 SDSF 횡단 기준에 적어도 기초하여 적어도 하나의 SDSF 중 어느 것이 횡단될 수 있는지를 결정하는 제4 프로세서; 적어도 하나의 SDSF 횡단 기준, 변환된 포인트 클라우드 데이터, 및 루트 토폴로지에 적어도 기초하여 에지/가중치 그래프를 생성하는 제5 프로세서; 및 에지/가중치 그래프에 적어도 기초하여 시작 포인트로부터 종료 포인트까지의 경로를 선택하는 베이스 제어기를 포함하는, 자율 배송 차량. 21. 제20항에서와 같은 자율 배송 차량으로서, 적어도 하나의 SDSF 횡단 기준은, 적어도 하나의 SDSF의 미리 선택된 폭 및 적어도 하나의 SDSF의 미리 선택된 평활도; 드라이빙가능 표면을 포함하는, 적어도 하나의 SDSF와 AV 사이의 최소 진입 거리 및 최소 진출 거리, 및 AV에 의한 적어도 하나의 SDSF로의 대략 90° 접근을 수용하는, 적어도 하나의 SDSF와 AV 사이의 최소 진입 거리를 포함하는, 자율 배송 차량.1. An autonomous delivery vehicle comprising: a power base comprising two motorized front wheels, two motorized rear wheels and an energy store, the power base comprising at a commanded speed and configured to move in a commanded direction—; a cargo platform comprising a plurality of short-range sensors, the cargo platform being mechanically attached to a power base; a cargo container having a volume for accommodating at least one object, the cargo container mounted on top of a cargo platform; a long-range sensor suite comprising a LIDAR and one or more cameras, the long-range sensor suit mounted on top of a cargo container; and a controller for receiving data from the long-range sensor suite and the plurality of short-range sensors, wherein the controller determines a commanded speed and a commanded direction based at least on the data, the controller determining a commanded speed and a commanded direction to the power base to complete the transport; An autonomous delivery vehicle comprising: providing commanded direction. 2. The autonomous delivery vehicle of clause 1, wherein data from the plurality of short-range sensors comprises at least one characteristic of the surface on which the power base moves. 3. The autonomous delivery vehicle of clause 1, wherein the plurality of short-range sensors comprises at least one stereo camera. 4. The autonomous delivery vehicle of clause 1, wherein the plurality of short-range sensors comprises at least one IR projector, at least one image sensor, and at least one RGB sensor. 5. The autonomous delivery vehicle of clause 1, wherein the plurality of short-range sensors comprises at least one radar sensor. 6. The autonomous delivery vehicle of clause 1, wherein the data from the plurality of short-range sensors comprises RGB-D data. 7. The autonomous delivery vehicle of clause 1, wherein the controller determines the geometry of the road surface based on RGB-D data received from the plurality of short-range sensors. 8. The autonomous delivery vehicle of clause 1, wherein the plurality of short-range sensors detect objects within 4 meters of the AV, and the long-range sensor suite detects objects that are more than 4 meters away from the autonomous delivery vehicle. 9. The autonomous delivery vehicle of clause 1, wherein the plurality of short-range sensors comprises a cooling circuit. 10. The autonomous delivery vehicle of clause 1, wherein the plurality of short-range sensors comprises an ultrasonic sensor. 11. The autonomous delivery vehicle of clause 2, wherein the controller comprises executable code, the executable code comprising accessing a map formed by a map processor, the map processor accessing point cloud data from the long range sensor suite a first processor, wherein the point cloud data represents a surface; a filter to filter the point cloud data; a second processor forming processable portions from the filtered point cloud data; a third processor for merging the processable portions into the at least one polygon; a fourth processor for locating and labeling at least one substantially discontinuous surface feature (SDSF) in the at least one polygon, wherein the locating and labeling, if present, forms labeled point cloud data; a fifth processor for generating graphing polygons from the labeled point cloud data; and a sixth processor that selects a path from a start point to an end point based at least on the graphing polygons, wherein the AV traverses at least one SDSF along the path. 12. The autonomous delivery vehicle as in clause 11, wherein the filter comprises a seventh processor executing code, wherein the code conditionally removes from the point cloud data points representing transient objects and points representing outliers. ; and replacing the removed points having a preselected height. 13. The autonomous delivery vehicle as in clause 11, wherein the second processor comprises executable code, the executable code comprising: segmenting the point cloud data into processable portions; and removing points of a preselected height from the processable portions. 14. The autonomous delivery vehicle as in clause 11, wherein the third processor comprises executable code, the executable code to reduce the size of the processable portions by analyzing outliers, voxels, and normals; growing regions from reduced size processable portions; determining initial drivable surfaces from the grown regions; segmenting and meshing the initial drivable surfaces; positioning polygons within the segmented and meshed initial drivable surfaces; and setting the at least one drivable surface based at least on the polygons. 15. The autonomous delivery vehicle as in clause 14, wherein the fourth processor comprises executable code, the executable code to sort the point cloud data of the initial drivable surfaces according to the SDSF filter, the SDSF filter comprising comprising at least three categories; and locating the at least one SDSF point based at least on whether the at least three categories of points, in combination, satisfy the at least one first preselected criterion. 16. The autonomous delivery vehicle as in clause 15, wherein the fourth processor comprises executable code, wherein the plurality of at least one SDSF points, in combination, satisfy at least one second preselected criterion. and generating at least one SDSF trajectory based at least on 17. The autonomous delivery vehicle as in clause 14, wherein generating the graphing polygons comprises an eighth processor comprising executable code, wherein the executable code generates the at least one polygon from the at least one drivable surface. to do, wherein at least one polygon includes outer edges; smoothing the outer edges; forming a driving margin based on the smoothed outer edges; adding at least one SDSF trajectory to the at least one drivable surface; and removing the inner edges from the at least one drivable surface according to the at least one third preselected criterion. 18. The autonomous delivery vehicle as in clause 17, wherein smoothing the outer edges comprises a ninth processor comprising executable code, wherein the executable code comprises trimming the outer edges outward to form the outer edges. Including, autonomous delivery vehicles. 19. The autonomous delivery vehicle as in clause 18, wherein forming a driving margin of the smoothed outer edges comprises a tenth processor comprising executable code, wherein the executable code comprises trimming the outer edges inward. Including, autonomous delivery vehicles. 20. The autonomous delivery vehicle as in clause 1, wherein the controller comprises: a subsystem for navigating at least one substantially discontinuous surface feature (SDSF) encountered by the autonomous delivery vehicle (AV), wherein the AV is on the surface. moving a path, wherein the surface comprises at least one SDSF, and the path comprises a start point and an end point, wherein the subsystem comprises: a first processor accessing the root topology - the root topology is a filtered point cloud at least one graphing polygon comprising data, the filtered point cloud data comprising labeled features, and the point cloud data comprising a drivable margin; a second processor for converting the point cloud data into a global coordinate system; a third processor that determines boundaries of the at least one SDSF, wherein the third processor creates SDSF buffers of a preselected size around the boundaries; a fourth processor that determines which of the at least one SDSF can be traversed based at least on the at least one SDSF traversal criterion; a fifth processor for generating an edge/weight graph based at least on the at least one SDSF traversal criterion, the transformed point cloud data, and the route topology; and a base controller that selects a path from a start point to an end point based at least on the edge/weight graph. 21. The autonomous delivery vehicle as in clause 20, wherein the at least one SDSF traversal criterion comprises: a preselected width of the at least one SDSF and a preselected smoothness of the at least one SDSF; a minimum entry distance and a minimum exit distance between the at least one SDSF and the AV comprising a drivable surface, and a minimum entry distance between the at least one SDSF and the AV that accommodates approximately 90° access to the at least one SDSF by the AV Autonomous delivery vehicles, including streets.

22. 자율 디바이스에 대한 전역 점유 그리드를 관리하기 위한 방법으로서, 전역 점유 그리드는 전역 점유 그리드 셀들을 포함하고, 전역 점유 그리드 셀들은 점유 확률과 연관되고, 방법은, 자율 디바이스와 연관된 센서들로부터 센서 데이터를 수신하는 단계; 센서 데이터에 적어도 기초하여 로컬 점유 그리드를 생성하는 단계―로컬 점유 그리드는 로컬 점유 그리드 셀들을 가짐-; 자율 디바이스가 제1 영역으로부터 제2 영역으로 이동한 경우, 제2 영역과 연관된 이력 데이터에 액세스하는 단계; 이력 데이터에 적어도 기초하여 정적 그리드를 생성하는 단계; 자율 디바이스를 전역 점유 그리드의 중심 위치에 유지하기 위해 전역 점유 그리드를 이동시키는 단계; 정적 그리드에 기초하여 이동된 전역 점유 그리드를 업데이트하는 단계; 전역 점유 그리드 셀들 중 적어도 하나가 자율 디바이스의 위치와 일치하면, 전역 점유 그리드 셀들 중 적어도 하나를 비점유된 것으로서 마킹하는 단계; 로컬 점유 그리드 셀들 각각에 대해, 전역 점유 그리드 상의 로컬 점유 그리드 셀의 위치를 계산하는 단계; 위치에서의 전역 점유 그리드 셀로부터의 제1 점유 확률에 액세스하는 단계; 위치에서의 로컬 점유 그리드 셀로부터의 제2 점유 확률에 액세스하는 단계; 및 제1 점유 확률 및 제2 점유 확률에 적어도 기초하여 전역 점유 그리드 상의 위치에서의 새로운 점유 확률을 계산하는 단계를 포함하는, 자율 배송 차량. 23. 제22항에서와 같은 방법으로서, 새로운 점유 확률을 범위-체크하는 단계를 더 포함하는, 방법. 24. 제23항에서와 같은 방법으로서, 범위-체크는, 새로운 점유 확률 < 0 이면 새로운 점유 확률을 0으로 설정하는 단계; 및 새로운 점유 확률 > 1 이면 새로운 점유 확률을 1로 설정하는 단계를 포함하는, 방법. 25. 제22항에서와 같은 방법으로서, 전역 점유 그리드 셀을 새로운 점유 확률로 설정하는 단계를 더 포함하는, 방법. 26. 제23항에서와 같은 방법으로서, 전역 점유 그리드 셀을 범위-체크된 새로운 점유 확률로 설정하는 단계를 더 포함하는, 방법.22. A method for managing a global occupancy grid for an autonomous device, the global occupancy grid comprising globally occupied grid cells, wherein the global occupancy grid cells are associated with an occupancy probability, the method comprising: receiving data; generating a local occupancy grid based at least on the sensor data, the local occupancy grid having locally occupied grid cells; accessing historical data associated with the second area when the autonomous device has moved from the first area to the second area; generating a static grid based at least on the historical data; moving the global occupancy grid to maintain the autonomous device in a central position of the global occupancy grid; updating the moved global occupancy grid based on the static grid; if at least one of the globally occupied grid cells matches the location of the autonomous device, then marking at least one of the globally occupied grid cells as unoccupied; calculating, for each of the locally occupied grid cells, the location of the locally occupied grid cell on the global occupied grid; accessing a first occupancy probability from a global occupancy grid cell at the location; accessing a second occupancy probability from a locally occupied grid cell at the location; and calculating a new occupancy probability at the location on the global occupancy grid based at least on the first occupancy probability and the second occupancy probability. 23. The method as in clause 22, further comprising range-checking the new occupancy probability. 24. The method as in clause 23, wherein the range-checking comprises: if the new occupancy probability < 0, setting the new occupancy probability to zero; and setting the new occupancy probability to 1 if the new occupancy probability>1. 25. The method as in clause 22, further comprising setting the global occupancy grid cell to a new occupancy probability. 26. The method as in clause 23, further comprising setting the global occupancy grid cell to a range-checked new occupancy probability.

27. 점유 그리드들을 생성 및 관리하기 위한 방법으로서, 로컬 점유 그리드 생성 노드에 의해, 센서 측정치들(sensor measurements)을 디바이스와 연관된 기준의 프레임으로 변환하는 단계; 타임-스탬프된(time-stamped) 측정 점유 그리드를 생성하는 단계; 타임-스탬프된 측정 점유 그리드를 로컬 점유 그리드로서 게시(publishing)하는 단계; 복수의 로컬 점유 그리드들을 생성하는 단계; 저장소에서의 표면 특성들에 기초하여 정적 점유 그리드를 생성하는 단계―표면 특성들은 디바이스의 위치와 연관됨―; 디바이스 및 로컬 점유 그리드를 전역 점유 그리드에 대해 대략 중심에 유지하도록 디바이스의 위치와 연관된 전역 점유 그리드를 이동시키는 단계; 정적 점유 그리드로부터의 정보를 전역 점유 그리드에 추가하는 단계; 디바이스에 의해 현재 점유된 전역 점유 그리드에서의 영역을 비점유된 것으로서 마킹하는 단계; 각각의 로컬 점유 그리드에서의 적어도 하나의 셀 각각에 대해, 전역 점유 그리드에서의 적어도 하나의 셀의 위치를 결정하는 단계; 위치에서의 제1 값에 액세스하는 단계; 로컬 점유 그리드에서의 적어도 하나의 셀에서의 셀 값과 제1 값 사이의 관계에 기초하여 위치에서의 제2 값을 결정하는 단계; 제2 값을 미리 선택된 확률 범위와 비교하는 단계; 및 확률 값이 미리 선택된 확률 범위 내에 있다면 전역 점유 그리드를 새로운 값으로 설정하는 단계를 포함하는, 방법. 28. 제27항에서와 같은 방법으로서, 전역 점유 그리드를 게시하는 단계를 더 포함하는, 방법. 29. 제27항에서와 같은 방법으로서, 표면 특성들은 표면 타입 및 표면 불연속성들을 포함하는, 방법. 30. 제27항에서와 같은 방법으로서, 관계는 합산을 포함하는, 방법. 31. 점유 그리드들을 생성 및 관리하기 위한 시스템으로서, 적어도 하나의 로컬 점유 그리드를 생성하는 복수의 로컬 그리드 생성 노드들―적어도 하나의 로컬 점유 그리드는 디바이스의 위치와 연관되고, 적어도 하나의 로컬 점유 그리드는 적어도 하나의 셀을 포함함―; 적어도 하나의 로컬 점유 그리드에 액세스하는 전역 점유 그리드 관리자를 포함하고, 전역 점유 그리드 관리자는 저장소에서의 표면 특성들에 기초하여 정적 점유 그리드를 생성하고―표면 특성들은 디바이스의 위치와 연관됨―; 디바이스 및 적어도 하나의 로컬 점유 그리드를 전역 점유 그리드에 대해 대략 중심에 유지하도록 디바이스의 위치와 연관된 전역 점유 그리드를 이동시키고; 정적 점유 그리드로부터의 정보를 적어도 하나의 전역 점유 그리드에 추가하고; 디바이스에 의해 현재 점유된 전역 점유 그리드에서의 영역을 비점유된 것으로서 마킹하고; 각각의 로컬 점유 그리드에서의 적어도 하나의 셀 각각에 대해, 전역 점유 그리드에서의 적어도 하나의 셀의 위치를 결정하고; 위치에서의 제1 값에 액세스하고; 로컬 점유 그리드에서의 적어도 하나의 셀에서의 셀 값과 제1 값 사이의 관계에 기초하여 위치에서의 제2 값을 결정하고; 제2 값을 미리 선택된 확률 범위와 비교하고; 및 확률 값이 미리 선택된 확률 범위 내에 있다면 전역 점유 그리드를 새로운 값으로 설정하는, 시스템.27. A method for creating and managing occupancy grids, comprising: converting, by a local occupancy grid generating node, sensor measurements into a frame of reference associated with a device; creating a time-stamped measurement occupancy grid; publishing the time-stamped measurement occupancy grid as a local occupancy grid; creating a plurality of local occupancy grids; generating a static occupancy grid based on the surface properties in the repository, the surface properties being associated with a location of the device; moving the global occupancy grid associated with the location of the device to maintain the device and the local occupancy grid approximately centered relative to the global occupancy grid; adding information from the static occupancy grid to the global occupancy grid; marking an area in the global occupancy grid currently occupied by the device as unoccupied; determining, for each of the at least one cell in each local occupancy grid, a location of the at least one cell in the global occupancy grid; accessing a first value at the location; determining a second value at the location based on a relationship between the cell value and the first value in at least one cell in the local occupancy grid; comparing the second value to a preselected range of probability; and setting the global occupancy grid to a new value if the probability value is within the preselected probability range. 28. A method as in clause 27, further comprising posting a global occupancy grid. 29. A method as in clause 27, wherein the surface properties include surface type and surface discontinuities. 30. A method as in clause 27, wherein the relationship comprises a summation. 31. A system for creating and managing occupancy grids, comprising a plurality of local grid generating nodes that create at least one local occupancy grid, wherein at least one local occupancy grid is associated with a location of a device, the at least one local occupancy grid contains at least one cell; a global occupancy grid manager accessing at least one local occupancy grid, the global occupancy grid manager generating a static occupancy grid based on surface properties in the repository, the surface properties associated with a location of the device; move the global occupancy grid associated with the location of the device to maintain the device and the at least one local occupancy grid approximately centered with respect to the global occupancy grid; add information from the static occupancy grid to the at least one global occupancy grid; mark an area in the global occupancy grid currently occupied by the device as unoccupied; determine, for each of the at least one cell in each local occupancy grid, a location of the at least one cell in the global occupancy grid; access a first value at the location; determine a second value at the location based on a relationship between the cell value and the first value in at least one cell in the local occupancy grid; compare the second value to a preselected range of probability; and setting the global occupancy grid to a new value if the probability value is within a preselected probability range.

32. 전역 점유 그리드를 업데이트하기 위한 방법으로서, 자율 디바이스가 새로운 위치로 이동한 경우, 새로운 위치와 연관된 정적 그리드로부터의 정보로 전역 점유 그리드를 업데이트하는 단계; 새로운 위치에서의 표면들을 분석하는 단계; 표면들이 드라이빙가능한 경우, 표면들을 업데이트하고 업데이트된 표면들로 전역 점유 그리드를 업데이트하는 단계; 및 정적 값들의 저장소로부터의 값들로 전역 점유 그리드를 업데이트하는 단계―정적 값들은 새로운 위치와 연관됨―를 포함하는, 방법. 33. 제32항에서와 같은 방법으로서, 표면들을 업데이트하는 단계는, 새로운 위치와 연관된 로컬 점유 그리드에 액세스하는 단계; 로컬 점유 그리드에서의 각각의 셀에 대해, 로컬 점유 그리드 표면 분류 신뢰도 값 및 로컬 점유 그리드 표면 분류에 액세스하는 단계; 로컬 점유 그리드 표면 분류가 셀에서의 전역 점유 그리드에서의 전역 표면 분류와 동일한 경우, 전역 점유 그리드에서의 전역 표면 분류 신뢰도 값을 로컬 점유 그리드 표면 분류 신뢰도 값에 추가하여 합계를 형성하고, 합계로 셀에서의 전역 점유 그리드를 업데이트하는 단계; 로컬 점유 그리드 표면 분류가 셀에서의 전역 점유 그리드에서의 전역 표면 분류와 동일하지 않은 경우, 전역 점유 그리드에서의 전역 표면 분류 신뢰도 값으로부터 로컬 점유 그리드 표면 분류 신뢰도 값을 감산하여 차이를 형성하고, 차이로 전역 점유 그리드를 업데이트하는 단계; 차이가 0보다 작은 경우, 로컬 점유 그리드 표면 분류로 전역 점유 그리드를 업데이트하는 단계를 포함하는, 방법. 34. 제32항에서와 같은 방법으로서, 정적 값들의 저장소로부터의 값들로 전역 점유 그리드를 업데이트하는 단계는, 로컬 점유 그리드에서의 각각의 셀에 대해, 로컬 점유 그리드로부터, 셀이 점유되어 있는 로컬 점유 그리드 확률 값, 로그오즈 값에 액세스하는 단계; 셀에서의 로컬 점유 그리드 로그오즈 값으로 전역 점유 그리드에서의 로그오즈 값을 업데이트하는 단계; 셀이 점유되어 있지 않다는 미리 선택된 확실성이 충족되는 경우, 및 자율 디바이스가 차선 장벽들(lane barriers) 내에서 이동하고 있는 경우, 및 로컬 점유 그리드 표면 분류가 드라이빙가능 표면을 표시하는 경우, 셀이 로컬 점유 그리드에서 점유되어 있는 로그오즈를 감소시키는 단계; 자율 디바이스가 비교적 균일한 표면들을 만날 것으로 예상하는 경우, 및 로컬 점유 그리드 표면 분류가 비교적 불균일한 표면을 표시하는 경우, 로컬 점유 그리드에서의 로그오즈를 증가시키는 단계; 및 자율 디바이스가 비교적 균일한 표면들을 만날 것으로 예상하는 경우, 및 로컬 점유 그리드 표면 분류가 비교적 균일한 표면을 표시하는 경우, 로컬 점유 그리드에서의 로그오즈를 감소시키는 단계를 포함하는, 방법.32. A method for updating a global occupancy grid, comprising: when an autonomous device has moved to a new location, updating the global occupancy grid with information from the static grid associated with the new location; analyzing the surfaces at the new location; if the surfaces are drivable, updating the surfaces and updating the global occupancy grid with the updated surfaces; and updating the global occupancy grid with values from the store of static values, the static values associated with the new location. 33. The method as in clause 32, wherein updating the surfaces comprises: accessing a local occupancy grid associated with the new location; accessing, for each cell in the local occupancy grid, a local occupancy grid surface classification confidence value and a local occupancy grid surface classification; If the local occupancy grid surface classification is the same as the global surface classification in the global occupancy grid in the cell, the global surface classification confidence value in the global occupancy grid is added to the local occupancy grid surface classification confidence value to form a sum, and the cell as the sum updating the global occupancy grid in ; If the local occupancy grid surface classification is not the same as the global surface classification in the global occupancy grid in the cell, subtract the local occupancy grid surface classification confidence value from the global surface classification confidence value in the global occupancy grid to form a difference; updating the global occupancy grid with if the difference is less than zero, updating the global occupancy grid with the local occupancy grid surface classification. 34. The method as in clause 32, wherein updating the global occupancy grid with values from the store of static values comprises, for each cell in the local occupancy grid, from the local occupancy grid, the local occupancy of the cell. accessing the occupancy grid probability value, log odds value; updating the log odds value in the global occupancy grid with the local occupancy grid log odds value in the cell; If the preselected certainty that the cell is not occupied is met, and if the autonomous device is moving within lane barriers, and if the locally occupied grid surface classification indicates a drivable surface, the cell is reducing the log odds occupied in the occupancy grid; increasing the log odds in the local occupancy grid if the autonomous device expects to encounter relatively uniform surfaces, and if the local occupancy grid surface classification indicates a relatively non-uniform surface; and reducing log odds in the local occupancy grid if the autonomous device expects to encounter relatively uniform surfaces, and if the local occupancy grid surface classification indicates a relatively uniform surface.

35. 디바이스의 구성의 실시간 제어를 위한 방법으로서, 디바이스는 섀시, 적어도 4개의 휠들, 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 섀시의 제1 측, 및 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 섀시의 대향하는 제2 측을 포함하고, 방법은, 이전의 표면 피처들 및 점유 그리드에 적어도 기초하여 맵을 생성하는 단계―맵은 비실시간으로 생성되고, 맵은 적어도 하나의 위치를 포함하며, 적어도 하나의 위치는 적어도 하나의 표면 피처와 연관되고, 적어도 하나의 표면 피처는 적어도 하나의 표면 분류 및 적어도 하나의 모드와 연관됨―; 디바이스가 이동함에 따라 현재 표면 피처들을 결정하는 단계; 현재 표면 피처들로 점유 그리드를 실시간으로 업데이트하는 단계; 점유 그리드 및 맵으로부터, 디바이스가 적어도 하나의 표면 피처를 횡단하기 위해 이동할 수 있는 경로를 결정하는 단계를 포함하는, 방법.35. A method for real-time control of a configuration of a device, the device comprising: a chassis, at least four wheels, a first side of the chassis operatively coupled with at least one of the at least four wheels, and at least one of the at least four wheels; an opposing second side of the chassis operatively coupled, the method comprising: generating a map based at least on prior surface features and an occupancy grid, wherein the map is generated non-real-time, the map comprising: comprising a location, wherein the at least one location is associated with the at least one surface feature, the at least one surface feature is associated with the at least one surface classification and the at least one mode; determining current surface features as the device moves; updating the occupancy grid with current surface features in real time; determining, from the occupancy grid and map, a path a device can travel to traverse the at least one surface feature.

36. 디바이스의 구성의 실시간 제어를 위한 방법으로서, 디바이스는 섀시, 적어도 4개의 휠들, 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 섀시의 제1 측, 및 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 섀시의 대향하는 제2 측을 포함하고, 방법은, 환경 데이터를 수신하는 단계; 환경 데이터에 적어도 기초하여 표면 타입을 결정하는 단계; 표면 타입 및 제1 구성에 적어도 기초하여 모드를 결정하는 단계; 모드 및 표면 타입에 적어도 기초하여 제2 구성을 결정하는 단계; 제2 구성에 적어도 기초하여 이동 명령들을 결정하는 단계; 및 디바이스를 제1 구성으로부터 제2 구성으로 변경하기 위해 이동 명령들을 이용하여 디바이스의 구성을 제어하는 단계를 포함하는, 방법. 37. 제36항에서와 같은 방법으로서, 환경 데이터는 RGB-D 이미지 데이터를 포함하는, 방법. 38. 제36항에서와 같은 방법으로서, 표면 타입 및 모드에 적어도 기초하여 점유 그리드를 채우는 단계; 및 점유 그리드에 적어도 기초하여 이동 명령들을 결정하는 단계를 더 포함하는, 방법. 39. 제38항에서와 같은 방법으로서, 점유 그리드는 적어도 하나의 이미지 센서로부터의 데이터에 적어도 기초한 정보를 포함하는, 방법. 40. 제36항에서와 같은 방법으로서, 환경 데이터는 노면의 토폴로지를 포함하는, 방법. 41. 제36항에서와 같은 방법으로서, 구성은 적어도 4개의 휠들의 클러스터링된 2개의 쌍들을 포함하고, 2개의 쌍들 중 제1 쌍은 제1 측 상에 위치되고, 2개의 쌍들 중 제2 쌍은 제2 측 상에 위치되고, 제1 쌍은 제1 전방 휠 및 제1 후방 휠을 포함하고, 제2 쌍은 제2 전방 휠 및 제2 후방 휠을 포함하는, 방법. 42. 제41항에서와 같은 방법으로서, 구성을 제어하는 단계는, 환경 데이터에 적어도 기초하여 제1 쌍 및 제2 쌍에 조정된 전력을 공급하는 단계를 포함하는, 방법. 43. 제41항에서와 같은 방법으로서, 구성을 제어하는 단계는, 적어도 4개의 휠들 및 수축된 캐스터들의 쌍을 구동하는 것―캐스터들의 쌍은 섀시에 동작가능하게 결합됨―으로부터, 제1 전방 휠 및 제2 전방 휠을 들어올리기 위해 클러스터링된 제1 쌍 및 클러스터링된 제2 쌍이 회전된 2개의 휠들을 구동하는 것으로 전환하는 단계―디바이스는 제1 후방 휠, 제2 후방 휠, 및 캐스터들의 쌍 상에 놓임―를 포함하는, 방법. 44. 제41항에서와 같은 방법으로서, 구성을 제어하는 단계는, 환경 데이터에 적어도 기초하여 제1 측 상의 제1의 2개의 전동 휠들 및 제2 측 상의 제2의 2개의 전동 휠들과 동작가능하게 결합된 클러스터들의 쌍을 회전시키는 단계를 포함하는, 방법. 45. 제36항에서와 같은 방법으로서, 디바이스는 화물 컨테이너를 더 포함하고, 화물 컨테이너는 섀시 상에 장착되고, 섀시는 화물 컨테이너의 높이를 제어하는, 방법. 46. 제45항에서와 같은 방법으로서, 화물 컨테이너의 높이는 환경 데이터에 적어도 기초하는, 방법.36. A method for real-time control of a configuration of a device, the device comprising: a chassis, at least four wheels, a first side of the chassis operatively coupled with at least one of the at least four wheels, and at least one of the at least four wheels; an opposing second side of the chassis operatively coupled, the method comprising: receiving environmental data; determining a surface type based at least on the environmental data; determining a mode based at least on the surface type and the first configuration; determining a second configuration based at least on the mode and the surface type; determining movement instructions based at least on the second configuration; and controlling the configuration of the device using the move commands to change the device from the first configuration to the second configuration. 37. A method as in clause 36, wherein the environmental data comprises RGB-D image data. 38. A method as in clause 36, further comprising: filling the occupancy grid based at least on the surface type and mode; and determining movement instructions based at least on the occupancy grid. 39. A method as in clause 38, wherein the occupancy grid comprises information based at least on data from the at least one image sensor. 40. A method as in clause 36, wherein the environmental data comprises a topology of the road surface. 41. The method as in clause 36, wherein the configuration comprises clustered two pairs of at least four wheels, a first pair of the two pairs positioned on a first side, a second pair of the two pairs is located on the second side, the first pair comprising a first front wheel and a first rear wheel, and the second pair comprising a second front wheel and a second rear wheel. 42. The method as in clause 41, wherein controlling the configuration comprises supplying conditioned power to the first pair and the second pair based at least on the environmental data. 43. The method as in clause 41, wherein controlling the configuration comprises: from driving at least four wheels and a pair of retracted casters, the pair of casters operatively coupled to the chassis, the first front converting the clustered first pair and the clustered second pair to driving the two wheels rotated to lift the wheel and the second front wheel, the device comprising the first rear wheel, the second rear wheel, and the pair of casters placed on the bed. 44. The method as in clause 41, wherein the controlling the configuration is operable with the first two powered wheels on the first side and the second two powered wheels on the second side based at least on the environmental data. rotating a pair of tightly coupled clusters. 45. The method as in clause 36, wherein the device further comprises a cargo container, wherein the cargo container is mounted on the chassis, wherein the chassis controls the height of the cargo container. 46. A method as in clause 45, wherein the height of the cargo container is based at least on environmental data.

47. 디바이스의 구성의 실시간 제어를 위한 시스템으로서, 디바이스는 섀시, 적어도 4개의 휠들, 섀시의 제1 측, 및 섀시의 대향하는 제2 측을 포함하고, 시스템은, 디바이스를 둘러싸는 실시간 환경 데이터를 수신하는 디바이스 프로세서―디바이스 프로세서는 환경 데이터에 적어도 기초하여 표면 타입을 결정하고, 디바이스 프로세서는 표면 타입 및 제1 구성에 적어도 기초하여 모드를 결정하고, 디바이스 프로세서는 모드 및 표면 타입에 적어도 기초하여 제2 구성을 결정함―; 및 제2 구성에 적어도 기초하여 이동 명령들을 결정하는 파워 베이스 프로세서―파워 베이스 프로세서는 디바이스를 제1 구성으로부터 제2 구성으로 변경하기 위해 이동 명령들을 이용함으로써 디바이스의 구성을 제어함―를 포함하는, 시스템. 48. 제47항에서와 같은 시스템으로서, 환경 데이터는 RGB-D 이미지 데이터를 포함하는, 시스템. 49. 제47항에서와 같은 시스템으로서, 디바이스 프로세서는 표면 타입 및 모드에 적어도 기초하여 점유 그리드를 채우는 것을 포함하는, 시스템. 50. 제49항에서와 같은 시스템으로서, 파워 베이스 프로세서는 점유 그리드에 적어도 기초하여 이동 명령들을 결정하는 것을 포함하는, 시스템. 51. 제49항에서와 같은 시스템으로서, 점유 그리드는 적어도 하나의 이미지 센서로부터의 데이터에 적어도 기초한 정보를 포함하는, 시스템. 52. 제47항에서와 같은 시스템으로서, 환경 데이터는 노면의 토폴로지를 포함하는, 시스템. 53. 제47항에서와 같은 시스템으로서, 구성은 적어도 4개의 휠들의 클러스터링된 2개의 쌍들을 포함하고, 2개의 쌍들 중 제1 쌍은 제1 측 상에 위치되고, 2개의 쌍들 중 제2 쌍은 제2 측 상에 위치되고, 제1 쌍은 제1 전방 휠 및 제1 후방 휠을 갖고, 제2 쌍은 제2 전방 휠 및 제2 후방 휠을 갖는, 시스템. 54. 제53항에서와 같은 시스템으로서, 구성의 제어는, 환경 데이터에 적어도 기초하여 제1 쌍 및 제2 쌍에 조정된 전력을 공급하는 것을 포함하는, 시스템. 55. 제53항에서와 같은 시스템으로서, 구성의 제어는, 적어도 4개의 휠들 및 수축된 캐스터들의 쌍을 구동하는 것―캐스터들의 쌍은 섀시에 동작가능하게 결합됨―으로부터, 제1 전방 휠 및 제2 전방 휠을 들어올리기 위해 클러스터링된 제1 쌍 및 클러스터링된 제2 쌍이 회전된 2개의 휠들을 구동하는 것으로 전환하는 것―디바이스는 제1 후방 휠, 제2 후방 휠, 및 캐스터들의 쌍 상에 놓임―을 포함하는, 시스템. 56. 전역 점유 그리드를 유지하기 위한 방법으로서, 자율 디바이스의 제1 위치를 위치결정하는 단계; 자율 디바이스가 전역 점유 그리드 및 로컬 점유 그리드와 연관되는 제2 위치로 이동할 때, 제1 위치와 연관된 적어도 하나의 점유 확률 값으로 전역 점유 그리드를 업데이트하는 단계; 로컬 점유 그리드와 연관된 적어도 하나의 드라이빙가능 표면으로 전역 점유 그리드를 업데이트하는 단계; 적어도 하나의 드라이빙가능 표면과 연관된 표면 신뢰도들로 전역 점유 그리드를 업데이트하는 단계; 제1 베이지안 함수(Bayesian function)를 이용하여 적어도 하나의 점유 확률 값의 로그오즈로 전역 점유 그리드를 업데이트하는 단계; 및 제2 위치와 연관된 특성들에 적어도 기초하여 로그오즈를 조정하는 단계; 및 자율 디바이스가 제1 위치에서 유지되고, 전역 점유 그리드 및 로컬 점유 그리드가 함께 위치될 때, 로컬 점유 그리드와 연관된 적어도 하나의 드라이빙가능 표면으로 전역 점유 그리드를 업데이트하는 단계; 적어도 하나의 드라이빙가능 표면과 연관된 표면 신뢰도들로 전역 점유 그리드를 업데이트하는 단계; 제2 베이지안 함수를 이용하여 적어도 하나의 점유 확률 값의 로그오즈로 전역 점유 그리드를 업데이트하는 단계; 및 제2 위치와 연관된 특성들에 적어도 기초하여 로그오즈를 조정하는 단계를 포함하는, 방법. 57. 제35항에서와 같은 방법으로서, 맵을 생성하는 단계는, 표면을 나타내는 포인트 클라우드 데이터에 액세스하는 단계; 포인트 클라우드 데이터를 필터링하는 단계; 필터링된 포인트 클라우드 데이터를 처리가능 부분들로 형성하는 단계; 처리가능 부분들을 적어도 하나의 오목 다각형으로 병합하는 단계; 적어도 하나의 오목 다각형에서 적어도 하나의 SDSF를 위치결정 및 라벨링하는 단계―위치결정 및 라벨링하는 단계는 라벨링된 포인트 클라우드 데이터를 형성함―; 적어도 하나의 오목 다각형에 적어도 기초하여 그래핑 다각형들을 생성하는 단계; 및 그래핑 다각형들에 적어도 기초하여 시작 포인트로부터 종료 포인트까지의 경로를 선택하는 단계―AV는 경로를 따라 적어도 하나의 SDSF를 횡단함―를 포함하는, 방법. 58. 제57항에서와 같은 방법으로서, 포인트 클라우드 데이터를 필터링하는 단계는, 포인트 클라우드 데이터로부터 과도 물체들을 나타내는 포인트들 및 이상치들을 나타내는 포인트들을 조건부로 제거하는 단계; 및 미리 선택된 높이를 갖는 제거된 포인트들을 대체하는 단계를 포함하는, 방법. 59. 제57항에서와 같은 방법으로서, 처리가능 부분들을 형성하는 단계는, 포인트 클라우드 데이터를 처리가능 부분들로 세그먼트화하는 단계; 및 미리 선택된 높이의 포인트들을 처리가능 부분들로부터 제거하는 단계를 포함하는, 방법. 60. 제57항에서와 같은 방법으로서, 처리가능 부분들을 병합하는 단계는, 이상치들, 복셀들, 및 법선들을 분석함으로써 처리가능 부분들의 크기를 감소시키는 단계; 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 단계; 성장된 영역들로부터 초기 드라이빙가능 표면들을 결정하는 단계; 초기 드라이빙가능 표면들을 세그먼트화 및 메싱하는 단계; 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 단계; 및 다각형들에 적어도 기초하여 적어도 하나의 드라이빙가능 표면을 설정하는 단계를 포함하는, 방법. 61. 제60항에서와 같은 방법으로서, 적어도 하나의 SDSF를 위치결정 및 라벨링하는 단계는, SDSF 필터에 따라 초기 드라이빙가능 표면들의 포인트 클라우드 데이터를 정렬하는 단계―SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―; 및 포인트들의 적어도 3개의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족하는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 단계를 포함하는, 방법. 62. 제61항에서와 같은 방법으로서, 복수의 적어도 하나의 SDSF 포인트가, 조합하여, 적어도 하나의 제2 미리 선택된 기준을 충족하는지에 적어도 기초하여 적어도 하나의 SDSF 궤적을 생성하는 단계를 더 포함하는, 방법. 63. 제62항에서와 같은 방법으로서, 그래핑 다각형들을 생성하는 단계는, 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 단계―적어도 하나의 다각형은 외부 에지들을 포함함―; 외부 에지들을 평활화하는 단계; 평활화된 외부 에지들에 기초하여 드라이빙 마진을 형성하는 단계; 적어도 하나의 SDSF 궤적을 적어도 하나의 드라이빙가능 표면에 추가하는 단계; 및 적어도 하나의 제3 미리 선택된 기준에 따라 적어도 하나의 드라이빙가능 표면으로부터 내부 에지들을 제거하는 단계를 더 포함하는, 방법. 64. 제63항에서와 같은 방법으로서, 외부 에지들을 평활화하는 단계는, 외부 에지들을 바깥쪽으로 트리밍하여 바깥쪽 에지들을 형성하는 단계를 포함하는, 방법. 65. 제63항에서와 같은 방법으로서, 평활화된 외부 에지들의 드라이빙 마진을 형성하는 단계는, 바깥쪽 에지들을 안쪽으로 트리밍하는 단계를 포함하는, 방법.47. A system for real-time control of a configuration of a device, wherein the device comprises a chassis, at least four wheels, a first side of the chassis, and an opposite second side of the chassis, the system comprising: real-time environmental data surrounding the device a device processor to receive, the device processor to determine a surface type based at least on the environmental data, the device processor to determine a mode based at least on the surface type and the first configuration, and the device processor to determine a mode based at least on the mode and the surface type. determine the second configuration; and a power base processor that determines move instructions based at least on the second configuration, wherein the power base processor controls the configuration of the device by using the move instructions to change the device from the first configuration to the second configuration. system. 48. The system as in clause 47, wherein the environmental data comprises RGB-D image data. 49. The system as in clause 47, wherein the device processor comprises populating the occupancy grid based at least on the surface type and mode. 50. The system as in clause 49, wherein the power base processor comprises determining movement instructions based at least on the occupancy grid. 51. The system as in clause 49, wherein the occupancy grid comprises information based at least on data from at least one image sensor. 52. The system as in clause 47, wherein the environmental data comprises a topology of the road surface. 53. The system as in clause 47, wherein the configuration comprises clustered two pairs of at least four wheels, a first pair of the two pairs positioned on a first side, a second pair of the two pairs is located on the second side, the first pair having a first front wheel and a first rear wheel, and the second pair having a second front wheel and a second rear wheel. 54. The system as in clause 53, wherein controlling the configuration comprises supplying conditioned power to the first pair and the second pair based at least on the environmental data. 55. The system as in clause 53, wherein control of the configuration comprises, from driving at least four wheels and a pair of retracted casters, the pair of casters operatively coupled to the chassis, the first front wheel and converting the first pair of clustered and the second pair of clustered to driving the two wheels rotated to lift the second front wheel, the device being on the first rear wheel, the second rear wheel, and the pair of casters A system comprising—placed. 56. A method for maintaining a global occupancy grid comprising: locating a first location of an autonomous device; updating the global occupancy grid with at least one occupancy probability value associated with the first location when the autonomous device moves to a second location associated with the global occupancy grid and the local occupancy grid; updating the global occupancy grid with at least one drivable surface associated with the local occupancy grid; updating the global occupancy grid with surface confidences associated with the at least one drivable surface; updating the global occupancy grid with the log odds of at least one occupancy probability value using a first Bayesian function; and adjusting the log odds based at least on the characteristics associated with the second location. and updating the global occupancy grid with at least one drivable surface associated with the local occupancy grid when the autonomous device is maintained in the first location and the global occupancy grid and the local occupancy grid are co-located; updating the global occupancy grid with surface confidences associated with the at least one drivable surface; updating the global occupancy grid with log odds of at least one occupancy probability value using a second Bayesian function; and adjusting the log odds based at least on characteristics associated with the second location. 57. A method as in clause 35, wherein generating the map comprises: accessing point cloud data representing the surface; filtering the point cloud data; forming the filtered point cloud data into processable portions; merging the processable portions into at least one concave polygon; locating and labeling the at least one SDSF in the at least one concave polygon, wherein the locating and labeling forms labeled point cloud data; generating graphing polygons based at least on the at least one concave polygon; and selecting a path from a start point to an end point based at least on the graphing polygons, wherein the AV traverses the at least one SDSF along the path. 58. The method as in clause 57, wherein filtering the point cloud data comprises: conditionally removing points representing transient objects and points representing outliers from the point cloud data; and replacing the removed points having a preselected height. 59. A method as in clause 57, wherein forming the processable portions comprises: segmenting the point cloud data into the processable portions; and removing points of the preselected height from the processable portions. 60. The method as in clause 57, wherein merging the processable portions comprises: reducing the size of the processable portions by analyzing outliers, voxels, and normals; growing regions from the reduced size processable portions; determining initial drivable surfaces from the grown regions; segmenting and meshing the initial drivable surfaces; positioning polygons within the segmented and meshed initial drivable surfaces; and setting the at least one drivable surface based at least on the polygons. 61. The method as in clause 60, wherein locating and labeling the at least one SDSF comprises: sorting the point cloud data of the initial drivable surfaces according to an SDSF filter, wherein the SDSF filter comprises at least three categories of points. including -; and locating the at least one SDSF point based at least on whether the at least three categories of points, in combination, satisfy the at least one first preselected criterion. 62. The method as in clause 61, further comprising generating at least one SDSF trajectory based at least on whether the plurality of at least one SDSF points, in combination, satisfy at least one second preselected criterion. How to. 63. The method as in clause 62, wherein generating the graphing polygons comprises: generating at least one polygon from the at least one drivable surface, wherein the at least one polygon includes outer edges; smoothing the outer edges; forming a driving margin based on the smoothed outer edges; adding at least one SDSF trajectory to the at least one drivable surface; and removing the inner edges from the at least one drivable surface according to the at least one third preselected criterion. 64. A method as in clause 63, wherein smoothing the outer edges comprises trimming the outer edges outward to form the outer edges. 65. The method as in clause 63, wherein forming a driving margin of the smoothed outer edges comprises trimming the outer edges inward.

66. 자율 배송 차량으로서, 2개의 전동 전방 휠들, 2개의 전동 후방 휠들 및 에너지 저장소를 포함하는 파워 베이스―파워 베이스는 명령된 속도로 이동하도록 구성됨―; 복수의 단거리 센서들을 포함하는 화물 플랫폼―화물 플랫폼은 파워 베이스에 기계적으로 부착됨―; 배송할 하나 이상의 물체를 수용하기 위한 볼륨을 갖는 화물 컨테이너―화물 컨테이너는 화물 플랫폼의 최상부 상에 장착됨―; LIDAR 및 하나 이상의 카메라를 포함하는 장거리 센서 슈트―장거리 센서 슈트는 화물 컨테이너의 최상부 상에 장착됨―; 및 장거리 센서 슈트 및 복수의 단거리 센서들로부터 데이터를 수신하는 제어기를 포함하는, 자율 배송 차량. 67. 제66항의 자율 배송 차량으로서, 복수의 단거리 센서들은 드라이빙가능 표면의 적어도 하나의 특성을 검출하는, 자율 배송 차량. 68. 제66항의 자율 배송 차량으로서, 복수의 단거리 센서들은 스테레오 카메라들인, 자율 배송 차량. 69. 제66항의 자율 배송 차량으로서, 복수의 단거리 센서들은 IR 프로젝터, 2개의 이미지 센서들 및 RGB 센서를 포함하는, 자율 배송 차량. 70. 제66항의 자율 배송 차량으로서, 복수의 단거리 센서들은 레이더 센서들인, 자율 배송 차량. 71. 제66항의 자율 배송 차량으로서, 단거리 센서들은 RGB-D 데이터를 제어기에 공급하는, 자율 배송 차량. 72. 제66항의 자율 배송 차량으로서, 제어기는 복수의 단거리 센서들로부터 수신된 RGB-D 데이터에 기초하여 노면의 기하구조를 결정하는, 자율 배송 차량. 73. 제66항의 자율 배송 차량으로서, 복수의 단거리 센서들은 자율 배송 차량의 4미터 이내의 물체들을 검출하고, 장거리 센서 슈트는 자율 배송 차량으로부터 4미터보다 더 떨어져 있는 물체들을 검출하는, 자율 배송 차량.66. An autonomous delivery vehicle, comprising: a power base comprising two powered front wheels, two powered rear wheels and an energy store, the power base configured to move at a commanded speed; a cargo platform comprising a plurality of short-range sensors, the cargo platform being mechanically attached to a power base; a cargo container having a volume for receiving one or more objects to be shipped, the cargo container mounted on top of a cargo platform; a long-range sensor suite comprising a LIDAR and one or more cameras, the long-range sensor suit mounted on top of a cargo container; and a controller that receives data from the long-range sensor suite and the plurality of short-range sensors. 67. The autonomous delivery vehicle of clause 66, wherein the plurality of short-range sensors detect at least one characteristic of the drivable surface. 68. The autonomous delivery vehicle of clause 66, wherein the plurality of short-range sensors are stereo cameras. 69. The autonomous delivery vehicle of clause 66, wherein the plurality of short-range sensors comprises an IR projector, two image sensors and an RGB sensor. 70. The autonomous delivery vehicle of clause 66, wherein the plurality of short-range sensors are radar sensors. 71. The autonomous delivery vehicle of clause 66, wherein the short-range sensors supply RGB-D data to the controller. 72. The autonomous delivery vehicle of clause 66, wherein the controller determines the geometry of the road surface based on RGB-D data received from the plurality of short-range sensors. 73. The autonomous delivery vehicle of clause 66, wherein the plurality of short-range sensors detect objects within 4 meters of the autonomous delivery vehicle and the long-range sensor suite detects objects that are more than 4 meters away from the autonomous delivery vehicle. .

74. 자율 배송 차량으로서, 적어도 2개의 전동 후방 휠들, 캐스터 전방 휠들 및 에너지 저장소를 포함하는 파워 베이스―파워 베이스는 명령된 속도로 이동하도록 구성됨―; 복수의 단거리 센서들을 포함하는 화물 플랫폼―화물 플랫폼은 파워 베이스에 기계적으로 부착됨―; 배송할 하나 이상의 물체를 수용하기 위한 볼륨을 갖는 화물 컨테이너―화물 컨테이너는 화물 플랫폼의 최상부 상에 장착됨―; LIDAR 및 하나 이상의 카메라를 포함하는 장거리 센서 슈트―장거리 센서 슈트는 화물 컨테이너의 최상부 상에 장착됨―; 및 장거리 센서 슈트 및 복수의 단거리 센서들로부터 데이터를 수신하는 제어기를 포함하는, 자율 배송 차량. 75. 제74항의 자율 배송 차량으로서, 복수의 단거리 센서들은 드라이빙가능 표면의 적어도 하나의 특성을 검출하는, 자율 배송 차량. 76. 제74항의 자율 배송 차량으로서, 복수의 단거리 센서들은 스테레오 카메라들인, 자율 배송 차량. 77. 제74항의 자율 배송 차량으로서, 복수의 단거리 센서들은 IR 프로젝터, 2개의 이미지 센서들 및 RGB 센서를 포함하는, 자율 배송 차량. 78. 제74항의 자율 배송 차량으로서, 복수의 단거리 센서들은 레이더 센서들인, 자율 배송 차량. 79. 제74항의 자율 배송 차량으로서, 단거리 센서들은 RGB-D 데이터를 제어기에 공급하는, 자율 배송 차량. 80. 제74항의 자율 배송 차량으로서, 제어기는 복수의 단거리 센서들로부터 수신된 RGB-D 데이터에 기초하여 노면의 기하구조를 결정하는, 자율 배송 차량. 81. 제74항의 자율 배송 차량으로서, 복수의 단거리 센서들은 자율 배송 차량의 4미터 이내의 물체들을 검출하고, 장거리 센서 슈트는 자율 배송 차량으로부터 4미터보다 더 떨어져 있는 물체들을 검출하는, 자율 배송 차량. 82. 제74항의 자율 배송 차량으로서, 캐스터 휠들이 지면으로부터 들어올려지는 동안, 지면과 맞물릴 수 있는 제2 세트의 전동 휠들을 더 포함하는, 자율 배송 차량.74. An autonomous delivery vehicle, comprising: a power base comprising at least two powered rear wheels, caster front wheels and an energy storage, wherein the power base is configured to move at a commanded speed; a cargo platform comprising a plurality of short-range sensors, the cargo platform being mechanically attached to a power base; a cargo container having a volume for receiving one or more objects to be shipped, the cargo container mounted on top of a cargo platform; a long-range sensor suite comprising a LIDAR and one or more cameras, the long-range sensor suit mounted on top of a cargo container; and a controller that receives data from the long-range sensor suite and the plurality of short-range sensors. 75. The autonomous delivery vehicle of clause 74, wherein the plurality of short-range sensors detect at least one characteristic of the drivable surface. 76. The autonomous delivery vehicle of clause 74, wherein the plurality of short-range sensors are stereo cameras. 77. The autonomous delivery vehicle of clause 74, wherein the plurality of short-range sensors comprises an IR projector, two image sensors and an RGB sensor. 78. The autonomous delivery vehicle of clause 74, wherein the plurality of short-range sensors are radar sensors. 79. The autonomous delivery vehicle of clause 74, wherein the short-range sensors supply RGB-D data to the controller. 80. The autonomous delivery vehicle of clause 74, wherein the controller determines the geometry of the road surface based on RGB-D data received from the plurality of short-range sensors. 81. The autonomous delivery vehicle of clause 74, wherein the plurality of short-range sensors detect objects within 4 meters of the autonomous delivery vehicle, and the long-range sensor suite detects objects that are more than 4 meters away from the autonomous delivery vehicle. . 82. The autonomous delivery vehicle of clause 74, further comprising a second set of powered wheels capable of engaging the ground while the caster wheels are lifted from the ground.

83. 자율 배송 차량으로서, 적어도 2개의 전동 후방 휠들, 캐스터 전방 휠들 및 에너지 저장소를 포함하는 파워 베이스―파워 베이스는 명령된 속도로 이동하도록 구성됨―; 파워 베이스에 기계적으로 부착된 화물 플랫폼; 및 화물 플랫폼에 장착되어 드라이빙가능 표면의 적어도 하나의 특성을 검출하는 단거리 카메라 조립체를 포함하고, 단거리 카메라 조립체는, 카메라; 제1 라이트; 및 제1 액체 냉각 히트 싱크를 포함하고, 제1 액체 냉각 히트 싱크는 제1 라이트 및 카메라를 냉각시키는, 자율 배송 차량. 84. 제83항에 따른 자율 배송 차량으로서, 단거리 카메라 조립체는 카메라와 액체 냉각 히트 싱크 사이에 열 전기 냉각기를 더 포함하는, 자율 배송 차량. 85. 제83항에 따른 자율 배송 차량으로서, 제1 라이트 및 카메라는 제1 라이트로부터의 조명을 카메라로부터 멀리 편향시키는 개구들을 갖는 커버에 리세스되는, 자율 배송 차량. 86. 제83항에 따른 자율 배송 차량으로서, 라이트들은 적어도 15°만큼 하방으로 각을 이루고, 보행자를 산만하게 하는 조명을 최소화하기 위해 커버에서 적어도 4mm 리세스되는, 자율 배송 차량. 87. 제83항에 따른 자율 배송 차량으로서, 카메라는 시야를 갖고, 제1 라이트는 카메라의 시야를 조명하도록 확산되는 2개의 광 빔들을 생성하기 위한 렌즈들을 갖는 2개의 LED들을 포함하는, 자율 배송 차량. 88. 제87항에 따른 자율 배송 차량으로서, 라이트들은 대략 50° 이격하여 각을 이루고, 렌즈들은 60° 빔을 생성하는, 자율 배송 차량. 89. 제83항에 따른 자율 배송 차량으로서, 단거리 카메라 조립체는 카메라 위에 장착된 초음파 센서를 포함하는, 자율 배송 차량. 90. 제83항에 따른 자율 배송 차량으로서, 단거리 카메라 조립체는 화물 플랫폼의 전면 상의 중심 위치에 장착되는, 자율 배송 차량. 91. 제83항에 따른 자율 배송 차량으로서, 화물 플랫폼의 전면의 적어도 하나의 코너 상에 장착된 적어도 하나의 코너 카메라 조립체를 더 포함하고, 적어도 하나의 코너 카메라 조립체는, 초음파 센서; 코너 카메라; 제2 라이트; 및 제2 액체 냉각 히트 싱크를 포함하고, 제2 액체 냉각 히트 싱크는 제2 라이트 및 코너 카메라를 냉각시키는, 자율 배송 차량. 92. 제22항에서와 같은 방법으로서, 이력 데이터는 표면 데이터를 포함하는, 방법. 93. 제22항에서와 같은 방법으로서, 이력 데이터는 불연속성 데이터를 포함하는, 방법.83. An autonomous delivery vehicle, comprising: a power base comprising at least two powered rear wheels, caster front wheels and an energy storage, wherein the power base is configured to move at a commanded speed; a cargo platform mechanically attached to the power base; and a short-range camera assembly mounted to the cargo platform to detect at least one characteristic of the drivable surface, the short-range camera assembly comprising: a camera; first light; and a first liquid cooling heat sink, wherein the first liquid cooling heat sink cools the first light and camera. 84. The autonomous delivery vehicle according to clause 83, wherein the short-range camera assembly further comprises a thermoelectric cooler between the camera and the liquid cooling heat sink. 85. The autonomous delivery vehicle according to clause 83, wherein the first light and camera are recessed in a cover having openings that deflect illumination from the first light away from the camera. 86. The autonomous delivery vehicle according to clause 83, wherein the lights are angled downwards by at least 15° and are recessed at least 4 mm in the cover to minimize lighting that distracts pedestrians. 87. The autonomous delivery vehicle according to clause 83, wherein the camera has a field of view and the first light comprises two LEDs with lenses for generating two beams of light that are diffused to illuminate the field of view of the camera. vehicle. 88. The autonomous delivery vehicle according to clause 87, wherein the lights are angled approximately 50° apart and the lenses produce a 60° beam. 89. The autonomous delivery vehicle according to clause 83, wherein the short-range camera assembly comprises an ultrasonic sensor mounted above the camera. 90. The autonomous delivery vehicle according to clause 83, wherein the short-range camera assembly is mounted in a central location on the front of the cargo platform. 91. The autonomous delivery vehicle according to clause 83, further comprising at least one corner camera assembly mounted on at least one corner of the front of the cargo platform, the at least one corner camera assembly comprising: an ultrasonic sensor; corner camera; a second light; and a second liquid cooled heat sink, wherein the second liquid cooled heat sink cools the second light and corner camera. 92. A method as in clause 22, wherein the historical data comprises surface data. 93. A method as in clause 22, wherein the historical data comprises discontinuous data.

본 교시는 첨부 도면들과 함께 취해지는 다음의 설명을 참조하여 더 쉽게 이해될 것이다.
도 1ia는 본 교시의 시스템의 주요 컴포넌트들의 개략적인 블록도이다.
도 1ib는 본 교시의 맵 프로세서의 주요 컴포넌트들의 개략적인 블록도이다.
도 1ic는 본 교시의 지각 프로세서의 주요 컴포넌트들의 개략적인 블록도이다.
도 1id는 본 교시의 자율 프로세서의 주요 컴포넌트들의 개략적인 블록도이다.
도 1a는 AV를 위한 이동 경로를 준비하기 위한 본 교시의 시스템의 개략적인 블록도이다.
도 1b는 본 교시의 시스템을 통합하는 디바이스의 예시적인 구성의 그림 도면이다.
도 1c는 몇몇 장거리 및 단거리 센서들의 시야들을 도시하는 자동 배송 차량의 측면도이다.
도 1d는 본 교시의 맵 프로세서의 개략적인 블록도이다.
도 1e는 본 교시의 맵 프로세서의 흐름의 제1 부분의 그림 도면이다.
도 1f는 본 교시의 세그먼트화된 포인트 클라우드의 이미지이다.
도 1g는 본 교시의 맵 프로세서의 제2 부분의 그림 도면이다.
도 1h는 본 교시의 드라이빙가능 표면 검출 결과의 이미지이다.
도 1i는 본 교시의 SDSF 파인더의 흐름의 그림 도면이다.
도 1j는 본 교시의 SDSF 카테고리들의 그림 도면이다.
도 1k는 본 교시의 시스템에 의해 식별된 SDSF들의 이미지이다.
도 1l 및 도 1m은 본 교시의 다각형 처리의 그림 도면들이다.
도 1n은 본 교시의 시스템에 의해 식별된 다각형들 및 SDSF들의 이미지이다.
도 2a는 본 교시의 자율 차량의 등각도이다.
도 2b는 장거리 센서들 중 선택된 것의 시야들을 도시하는 화물 컨테이너의 평면도이다.
도 2c 내지 도 2f는 장거리 센서 조립체의 도면들이다.
도 2g는 단거리 센서들 중 선택된 것의 시야들을 도시하는 화물 컨테이너의 평면도이다.
도 2h는 본 교시의 화물 플랫폼의 등각도이다.
도 2i 내지 도 2l은 단거리 센서의 등각도들이다.
도 2m 내지 도 2n은 본 교시의 자율 차량의 등각도들이다.
도 2o 내지 도 2p는 스킨 패널들이 제거된 본 교시의 자율 차량의 등각도들이다.
도 2q는 최상부 패널의 일부가 제거된 본 교시의 자율 차량의 등각도이다.
도 2r 내지 도 2v는 본 교시의 자율 차량 상의 장거리 센서들의 도면들이다.
도 2w 내지 도 2z는 초음파 센서의 도면들이다.
도 2aa 내지 도 2bb는 중앙 단거리 카메라 조립체의 도면들이다.
도 2cc 내지 도 2dd는 코너 단거리 카메라 조립체의 도면들이다.
도 2ee 내지 도 2hh는 중앙 단거리 카메라 조립체의 다양한 도면들이다.
도 3a는 본 교시의 하나의 구성의 시스템의 개략적인 블록도이다.
도 3b는 본 교시의 다른 구성의 시스템의 개략적인 블록도이다.
도 3c는 초기에 전역 점유 그리드를 생성할 수 있는 본 교시의 시스템의 개략적 블록도이다.
도 3d는 본 교시의 정적 그리드의 그림 표현이다.
도 3e 및 도 3f는 본 교시의 점유 그리드의 생성의 그림 표현이다.
도 3g는 본 교시의 이전 점유 그리드의 그림 표현이다.
도 3h는 본 교시의 전역 점유 그리드의 업데이트의 그림 표현이다.
도 3i는 전역 점유 그리드를 게시하기 위한 본 교시의 방법의 흐름도이다.
도 3j는 전역 점유 그리드를 업데이트하기 위한 본 교시의 방법의 흐름도이다.
도 3k 내지 도 3m은 전역 점유 그리드를 업데이트하기 위한 본 교시의 다른 방법의 흐름도들이다.
도 4a는 다양한 모드들에 있는 본 교시의 디바이스의 사시도이다.
도 4b는 본 교시의 시스템의 개략적인 블록도이다.
도 4c는 본 교시의 드라이빙 표면 프로세서 컴포넌트들의 개략적인 블록도이다.
도 4d는 본 교시의 프로세스의 개략적인 블록/그림 흐름도이다.
도 4e 및 도 4f는 각각, 표준 모드에서의 본 교시의 디바이스의 구성의 사시도 및 측면도이다.
도 4g 및 도 4h는 각각, 4-휠 모드에서의 본 교시의 디바이스의 구성의 사시도 및 측면도이다.
도 4i 및 도 4j는 각각, 상승된 4-휠 모드에서의 본 교시의 디바이스의 구성의 사시도 및 측면도이다.
도 4k는 본 교시의 방법의 흐름도이다.
도 5a는 본 교시의 디바이스 제어기의 개략적인 블록도이다.
도 5b는 본 교시의 SDSF 프로세서의 개략적인 블록도이다.
도 5c는 본 교시의 시스템에 의해 식별된 SDSF 접근들의 이미지이다.
도 5d는 본 교시의 시스템에 의해 생성된 루트 토폴로지의 이미지이다.
도 5e는 본 교시의 모드들의 개략적인 블록도이다.
도 5f 내지 5j는 SDSF들을 횡단하기 위한 본 교시의 방법의 흐름도들이다.
도 5k는 SDSF들을 횡단하기 위한 본 교시의 시스템의 개략적인 블록도이다.
도 5l 내지 도 5n은 도 5f 내지 도 5h의 방법의 그림 표현들이다.
도 5o는 이미지를 다각형으로 변환하는 그림 표현이다.
The present teachings will be more readily understood with reference to the following description taken in conjunction with the accompanying drawings.
1IA is a schematic block diagram of the main components of the system of the present teachings.
1IB is a schematic block diagram of the major components of a map processor of the present teachings.
1IC is a schematic block diagram of the major components of a perceptual processor of the present teachings.
1ID is a schematic block diagram of the major components of an autonomous processor of the present teachings.
1A is a schematic block diagram of a system of the present teachings for preparing a travel path for AV.
1B is a pictorial diagram of an exemplary configuration of a device incorporating the system of the present teachings.
1C is a side view of an automated delivery vehicle showing the fields of view of some long-range and short-range sensors.
1D is a schematic block diagram of a map processor of the present teachings.
1E is a pictorial diagram of a first portion of the flow of a map processor of the present teachings.
1F is an image of a segmented point cloud of the present teachings.
1G is a pictorial diagram of a second portion of a map processor of the present teachings.
1H is an image of a drivable surface detection result of the present teachings.
1I is a pictorial diagram of the flow of the SDSF finder of the present teachings.
1J is a pictorial diagram of SDSF categories of the present teachings.
1K is an image of SDSFs identified by the system of the present teachings.
11 and 1M are pictorial diagrams of polygon processing in the present teachings.
1N is an image of polygons and SDSFs identified by the system of the present teachings.
2A is an isometric view of an autonomous vehicle of the present teachings.
2B is a plan view of a cargo container showing fields of view of a selected one of the long-range sensors;
2C-2F are views of a long range sensor assembly.
2G is a top view of a cargo container showing fields of view of a selected one of the short-range sensors.
2H is an isometric view of a cargo platform of the present teachings.
2I-2L are isometric views of a short-range sensor.
2M-2N are isometric views of an autonomous vehicle of the present teachings.
2O-2P are isometric views of an autonomous vehicle of the present teachings with skin panels removed.
2Q is an isometric view of the autonomous vehicle of the present teachings with a portion of the top panel removed.
2R-2V are diagrams of long-range sensors on an autonomous vehicle of the present teachings.
2W to 2Z are diagrams of an ultrasonic sensor.
2AA-2BB are views of a central short-range camera assembly.
2cc-2dd are views of a corner short range camera assembly.
2EE-2HH are various views of a central short-range camera assembly.
3A is a schematic block diagram of a system of one configuration of the present teachings.
3B is a schematic block diagram of a system of another configuration of the present teachings.
3C is a schematic block diagram of a system of the present teachings capable of initially creating a global occupancy grid.
3D is a pictorial representation of a static grid of the present teachings.
3E and 3F are pictorial representations of the creation of an occupancy grid of the present teachings.
3G is a pictorial representation of a previous occupancy grid of the present teachings.
3H is a pictorial representation of an update of the global occupancy grid of the present teachings.
3I is a flow diagram of a method of the present teachings for publishing a global occupancy grid.
3J is a flow diagram of a method of the present teachings for updating a global occupancy grid.
3K-3M are flow diagrams of another method of the present teachings for updating a global occupancy grid.
4A is a perspective view of a device of the present teachings in various modes.
4B is a schematic block diagram of a system of the present teachings.
4C is a schematic block diagram of driving surface processor components of the present teachings.
4D is a schematic block/figure flow diagram of the process of the present teachings.
4E and 4F are perspective and side views, respectively, of a configuration of a device of the present teachings in a standard mode.
4G and 4H are perspective and side views, respectively, of a configuration of a device of the present teachings in a four-wheel mode.
4I and 4J are perspective and side views, respectively, of a configuration of a device of the present teachings in an elevated four-wheel mode;
4K is a flow diagram of a method of the present teachings.
5A is a schematic block diagram of a device controller of the present teachings.
5B is a schematic block diagram of an SDSF processor of the present teachings.
5C is an image of SDSF accesses identified by the system of the present teachings.
5D is an image of a route topology generated by the system of the present teachings.
5E is a schematic block diagram of modes of the present teachings.
5F-5J are flow diagrams of a method of the present teachings for traversing SDSFs.
5K is a schematic block diagram of a system of the present teachings for traversing SDSFs.
Figures 5L-5N are pictorial representations of the method of Figures 5F-5H.
Fig. 5o is a pictorial representation of converting an image into a polygon.

본 교시의 시스템 및 방법은 점유 그리드를 개발하기 위해 온-보드 센서들 및 이전에 개발된 맵들을 이용할 수 있고, 표면 타입 및 이전에 기초하여 AV를 재구성하는 것을 포함하여, 표면 피처들을 가로질러 AV를 내비게이팅하기 위해 이들 보조물들을 이용할 수 있다.The system and method of the present teachings can use on-board sensors and previously developed maps to develop an occupancy grid, and include reconstructing the AV based on the surface type and the previous AV across surface features. You can use these aids to navigate to.

이제 도 1ia를 참조하면, AV 시스템(100)은 센서들(10701)이 장착될 수 있고, 그 안에서 디바이스 제어기(10111)가 실행할 수 있는 구조체를 포함할 수 있다. 구조체는 구조체의 일부인 휠들의 이동을 지시할 수 있고 AV의 이동을 가능하게 할 수 있는 파워 베이스(10112)를 포함할 수 있다. 디바이스 제어기(10111)는 AV 상에 위치된 적어도 하나의 프로세서 상에서 실행할 수 있고, AV 상에 위치될 수 있지만 이에 제한되지 않는 센서들(10701)로부터 데이터를 수신할 수 있다. 디바이스 제어기(10111)는 파워 베이스(10112)에 이동 명령들을 제공할 수 있는 베이스 제어기(10114)에 속도, 방향, 및 구성 정보를 제공할 수 있다. 디바이스 제어기(10111)는 AV를 둘러싸는 영역의 맵을 준비할 수 있는 맵 프로세서(10104)로부터 맵 정보를 수신할 수 있다. 디바이스 제어기(10111)는 온-AV 센서들을 포함하는 센서들(10701)로부터 입력을 수신하고 처리할 수 있는 센서 프로세서(10703)를 포함할 수 있지만 이에 제한되지 않는다. 일부 구성들에서, 디바이스 제어기(10111)는 지각 프로세서(2143), 자율 프로세서(2145), 및 드라이버 프로세서(2127)를 포함할 수 있다. 지각 프로세서(2143)는, 예를 들어, 제한적인 것은 아니지만, 정적 및 동적 장애물들을 위치결정하고, 교통 신호등 상태를 결정하고, 점유 그리드를 생성하고, 표면들을 분류할 수 있다. 자율 프로세서(2145)는, 예를 들어, 제한적인 것은 아니지만, AV의 최대 속도를 결정하고, AV가, 예를 들어, 도로 상에서, 인도 상에서, 교차로에서, 및/또는 원격 제어 하에서 내비게이팅하고 있는 상황의 타입을 결정할 수 있다. 드라이버 프로세서(2127)는, 예를 들어, 제한적인 것은 아니지만, 자율 프로세서(2145)의 방향에 따라 명령들을 생성하고, 이들을 베이스 제어기(10114)에 전송할 수 있다.Referring now to FIG. 1IA , the AV system 100 may include a structure in which sensors 10701 may be mounted, within which a device controller 10111 may execute. The structure may include a power base 10112 that may direct movement of the wheels that are part of the structure and may enable movement of the AV. The device controller 10111 may execute on at least one processor located on the AV, and may receive data from the sensors 10701 , which may be located on the AV, but not limited thereto. Device controller 10111 may provide speed, direction, and configuration information to base controller 10114 , which may provide movement commands to power base 10112 . The device controller 10111 may receive map information from the map processor 10104 that may prepare a map of an area surrounding the AV. The device controller 10111 may include, but is not limited to, a sensor processor 10703 that may receive and process input from sensors 10701 , including on-AV sensors. In some configurations, the device controller 10111 can include a perceptual processor 2143 , an autonomous processor 2145 , and a driver processor 2127 . Perceptual processor 2143 may, for example, but not be limited to, locate static and dynamic obstacles, determine traffic light conditions, create an occupancy grid, and classify surfaces. The autonomous processor 2145 determines, for example, but not limited to, the maximum speed of the AV, and the AV is navigating to, for example, on a road, on a sidewalk, at an intersection, and/or under remote control. You can determine the type of situation. The driver processor 2127 may, for example, but not be limited to, generate instructions according to the direction of the autonomous processor 2145 and send them to the base controller 10114 .

이제 도 1ib를 참조하면, 맵 프로세서(10104)는 표면 피처들의 맵을 생성할 수 있고, 점유 그리드를 업데이트할 수 있는 지각 프로세서(2143)에 디바이스 제어기(10111)를 통해 맵을 제공할 수 있다. 맵 프로세서(10104)는, 많은 다른 양태들 중에서, 피처 추출기(10801), 포인트 클라우드 조직화기(point cloud organizer)(10803), 과도 프로세서(10805), 세그멘터(10807), 다각형 생성기(10809), SDSF 라인 생성기(10811), 및 결합기(10813)를 포함할 수 있다. 피처 추출기(10801)는 표면을 나타내는 포인트 클라우드 데이터에 액세스하는 제1 프로세서를 포함할 수 있다. 포인트 클라우드 조직화기(10803)는 필터링된 포인트 클라우드 데이터로부터 처리가능 부분들을 형성하는 제2 프로세서를 포함할 수 있다. 과도 프로세서(10805)는 포인트 클라우드 데이터를 필터링하는 제1 필터를 포함할 수 있다. 세그멘터(10807)는, 제한적인 것은 아니지만, 포인트 클라우드 데이터를 처리가능 부분들로 세그먼트화하는 것, 및 처리가능 부분들로부터 미리 선택된 높이의 포인트들을 제거하는 것을 포함할 수 있는 실행가능 코드를 포함할 수 있다. 제1 필터는, 제한적인 것은 아니지만, 포인트 클라우드 데이터로부터 과도 물체들을 나타내는 포인트들 및 이상치들을 나타내는 포인트들을 조건부로 제거하는 것, 및 미리 선택된 높이를 갖는 제거된 포인트들을 대체하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 다각형 생성기(10809)는 처리가능 부분들을 적어도 하나의 오목 다각형으로 병합하는 제3 프로세서를 포함할 수 있다. 제3 프로세서는, 제한적인 것은 아니지만, 이상치들, 복셀들, 및 법선을 분석함으로써 처리가능 부분들의 크기를 감소시키는 것, 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 것, 성장된 영역들로부터 초기 드다이빙가능 표면들을 결정하는 것, 초기 드라이빙가능 표면들을 세그먼트화 및 메싱하는 것, 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 것, 및 다각형들에 적어도 기초하여 드라이빙가능 표면들을 설정하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. SDSF 라인 생성기(10811)는 적어도 하나의 오목 다각형에서 적어도 하나의 SDSF를 위치결정 및 라벨링하는 제4 프로세서를 포함할 수 있고, 위치결정 및 라벨링은 라벨링된 포인트 클라우드 데이터를 형성한다. 제4 프로세서는, 제한적인 것은 아니지만, SDSF 필터에 따라 드라이빙가능 표면들의 포인트 클라우드 데이터를 정렬하는 것―SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―, 및 포인트들의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 결합기(10813)는 그래핑 다각형들을 생성하는 제5 프로세서를 포함할 수 있다. 그래핑 다각형들을 생성하는 것은, 제한적인 것은 아니지만, 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 것―적어도 하나의 다각형은 에지들을 포함함―, 에지들을 평활화하는 것, 평활화된 에지들에 기초하여 드라이빙 마진을 형성하는 것, 적어도 하나의 드라이빙가능 표면에 적어도 하나의 SDSF 궤적을 추가하는 것, 및 적어도 하나의 제3 미리 선택된 기준에 따라 적어도 하나의 드라이빙가능 표면으로부터 에지들을 제거하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 에지들을 평활화하는 것은, 제한적인 것은 아니지만, 에지들을 바깥쪽으로 트리밍하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다. 평활화된 에지들의 드라이빙 마진을 형성하는 것은, 제한적인 것은 아니지만, 바깥쪽 에지들을 안쪽으로 트리밍하는 것을 포함할 수 있는 실행가능 코드를 선택적으로 포함할 수 있다.Referring now to FIG. 1IB , map processor 10104 may generate a map of surface features and may provide the map via device controller 10111 to perceptual processor 2143 , which may update the occupancy grid. The map processor 10104 includes, among many other aspects, a feature extractor 10801, a point cloud organizer 10803, a transient processor 10805, a segmenter 10807, a polygon generator 10809; SDSF line generator 10811 , and combiner 10813 . The feature extractor 10801 may include a first processor that accesses point cloud data representing the surface. The point cloud organizer 10803 may include a second processor that forms processable portions from the filtered point cloud data. The transient processor 10805 may include a first filter to filter the point cloud data. Segmenter 10807 includes executable code that may include, but is not limited to, segmenting the point cloud data into processable portions, and removing points of a preselected height from the processable portions. can do. The first filter may include, but is not limited to, conditionally removing points representing transient objects and points representing outliers from the point cloud data, and replacing the removed points with a preselected height. You can optionally include enable codes. The polygon generator 10809 may include a third processor that merges the processable portions into at least one concave polygon. A third processor includes, but is not limited to, reducing the size of the processable portions by analyzing outliers, voxels, and normals, growing regions from the reduced size processable portions, grown regions determining initial drivable surfaces from, segmenting and meshing the initial drivable surfaces, locating polygons within the segmented and meshed initial drivable surfaces, and drivable based at least on the polygons It may optionally include executable code that may include setting up surfaces. The SDSF line generator 10811 may include a fourth processor for locating and labeling the at least one SDSF in the at least one concave polygon, the locating and labeling forming labeled point cloud data. A fourth processor includes, but is not limited to, sorting the point cloud data of the drivable surfaces according to the SDSF filter, the SDSF filter comprising at least three categories of points, and the categories of points, in combination, at least may optionally include executable code that may include locating the at least one SDSF point based at least on whether the one first preselected criterion is met. The combiner 10813 may include a fifth processor that generates graphing polygons. Generating the graphing polygons includes, but is not limited to, generating at least one polygon from at least one drivable surface, wherein the at least one polygon includes edges, smoothing edges, smoothed edges forming a driving margin based on , adding at least one SDSF trajectory to the at least one drivable surface, and removing edges from the at least one drivable surface according to at least one third preselected criterion. It can optionally include executable code that it can include. Smoothing the edges may optionally include executable code, which may include, but is not limited to, trimming the edges outward. Forming the driving margin of the smoothed edges may optionally include executable code, which may include, but is not limited to, trimming the outer edges inward.

이제 도 1ic를 참조하면, 다른 것들 중에서, AV가 상품을 배송할 때, 온-보드 센서들, 전동 휠들, 센서 및 맵 데이터를 수신하고 이들 데이터를 이용하여 다양한 종류의 표면들을 횡단하도록 AV를 전력 구성하기 위한 프로세서들을 포함할 수 있는 AV에 맵들이 제공될 수 있다. 온-보드 센서들은 점유 그리드를 채울 수 있고 동적 장애물들을 검출하는데 이용될 수 있는 데이터를 제공할 수 있다. 점유 그리드는 또한 맵에 의해 채워질 수 있다. 디바이스 제어기(10111)는 센서 데이터 및 맵 데이터를 수신 및 처리할 수 있고, 이들 데이터로 점유 그리드를 업데이트할 수 있는 지각 프로세서(2143)를 포함할 수 있다.Referring now to FIG. 1IC , among other things, when the AV delivers goods, it receives on-board sensors, powered wheels, sensor and map data and uses these data to power the AV to traverse various types of surfaces. Maps may be provided to the AV, which may include processors for configuring. On-board sensors can populate the occupancy grid and provide data that can be used to detect dynamic obstacles. Occupancy grids can also be populated by maps. The device controller 10111 may include a perceptual processor 2143 that may receive and process sensor data and map data, and update the occupancy grid with these data.

이제 도 1id를 참조하면, 디바이스 제어기(10111)는 AV의 모드 및 직면한 표면 피처들에 적어도 기초하여 AV의 구성을 자동으로 결정할 수 있는 구성 프로세서(41023)를 포함할 수 있다. 자율 프로세서(2145)는, 맵(따르게 될 계획된 루트), 구성 프로세서(41023)로부터의 정보, 및 AV의 모드에 적어도 기초하여, 어떤 종류의 표면이 횡단될 필요가 있는지 및 어떤 구성을 AV가 표면을 횡단하기 위해 가정할 필요가 있는지를 결정할 수 있는 제어 프로세서(40325)를 포함할 수 있다. 자율 프로세서(2145)는 명령들을 구현하기 위해 모터 구동 프로세서(40326)에 명령들을 공급할 수 있다.Referring now to FIG. 1ID , the device controller 10111 can include a configuration processor 41023 that can automatically determine the configuration of the AV based at least on the mode of the AV and the encountered surface features. Autonomic processor 2145 determines what kind of surface needs to be traversed and what configurations the AV needs to traverse, based at least on the map (planned route to be followed), information from configuration processor 41023, and the mode of the AV. may include a control processor 40325 that may determine whether it needs to assume in order to traverse the . The autonomous processor 2145 may supply instructions to the motor drive processor 40326 to implement the instructions.

이제 도 1a를 참조하면, 맵 프로세서(10104)는 디바이스, 예를 들어, 제한적인 것은 아니지만, AV 또는 반-자율(semi-autonomous) 디바이스가 SDSF들과 같은 피처들을 포함할 수 있는 환경들에서 내비게이팅하는 것을 가능하게 할 수 있다. 맵에서의 피처들은, 온-보드 센서들과 함께, AV가 다양한 표면들 상에서 이동하는 것을 가능하게 할 수 있다. 특히, SDSF들은 AV가 SDSF의 진입 및 진출 동안 AV의 성능을 자동으로 유지할 수 있도록 정확하게 식별 및 라벨링될 수 있고, AV 속도, 구성, 및 방향은 안전한 SDSF 횡단을 위해 제어될 수 있다.Referring now to FIG. 1A , map processor 10104 is a navigation device in environments where a device, eg, but not limited to an AV or semi-autonomous device, may include features such as SDSFs. Gating may be enabled. Features in the map, along with on-board sensors, may enable the AV to move on various surfaces. In particular, SDSFs can be accurately identified and labeled so that the AV can automatically maintain the performance of the AV during entry and exit of the SDSF, and AV speed, configuration, and direction can be controlled for safe SDSF traversal.

도 1a를 계속 참조하면, 일부 구성들에서, SDSF들의 횡단을 관리하기 위한 시스템(100)은 AV(10101), 코어 클라우드 인프라스트럭처(10103), AV 서비스들(10105), 디바이스 제어기(10111), 센서(들)(10701), 및 파워 베이스(10112)를 포함할 수 있다. AV(10101)는, 예를 들어, 제한적인 것은 아니지만, 들어오는(incoming) 센서 정보에 의해 수정되는 바와 같이, 동적으로 결정된 경로를 따르는, 발신지로부터 목적지로의 수송 및 에스코트(escort) 서비스들을 제공할 수 있다. AV(10101)는, 제한적인 것은 아니지만, 자율 모드들을 갖는 디바이스들, 완전히 자율적으로 동작할 수 있는 디바이스들, 적어도 부분적으로 원격으로 동작될 수 있는 디바이스들, 및 이러한 특징들의 조합을 포함할 수 있는 디바이스들을 포함할 수 있다. 수송 디바이스 서비스들(10105)은 피처들을 포함하는 드라이빙가능 표면 정보를 디바이스 제어기(10111)에 제공할 수 있다. 디바이스 제어기(10111)는, 적어도, 이에 제한되는 것은 아니지만, 예를 들어, 들어오는 센서 정보 및 피처 횡단 요건들에 따라 드라이빙가능 표면 정보를 수정할 수 있고, 수정된 드라이빙가능 표면 정보에 기초하여 AV(10101)에 대한 경로를 선택할 수 있다. 디바이스 제어기(10111)는, 파워 베이스(10112)에게 휠 모터들 및 클러스터 모터들에 속도, 방향, 및 구성 명령들을 제공하도록 지시할 수 있는 명령들을 파워 베이스(10112)에 제시할 수 있고, 명령들은 AV(10101)로 하여금 선택된 경로를 따르게 하고, 이에 따라 그것의 화물을 상승 및 하강시키게 한다. 수송 디바이스 서비스들(10105)은, 이에 제한되는 것은 아니지만, 저장 및 콘텐츠 분배 설비들을 포함할 수 있는, 코어 클라우드 인프라스트럭처(10103)로부터의 루트 관련 정보에 액세스할 수 있다. 일부 구성들에서, 코어 클라우드 인프라스트럭처(10103)는, 예를 들어, 이에 제한되는 것은 아니지만, AMAZON WEB SERVICES®, GOOGLE CLOUDTM, 및 ORACLE CLOUD®와 같은 상업용 제품들을 포함할 수 있다.With continued reference to FIG. 1A , in some configurations, system 100 for managing traversal of SDSFs includes an AV 10101 , a core cloud infrastructure 10103 , AV services 10105 , a device controller 10111 , sensor(s) 10701 , and a power base 10112 . AV 10101 may provide transport and escort services from source to destination along a dynamically determined route, for example, but not limited to, as modified by incoming sensor information. can AV 10101 may include, but is not limited to, devices having autonomous modes, devices capable of fully autonomous operation, devices capable of at least partially remotely operated devices, and combinations of these features. may include devices. Transportation device services 10105 may provide drivable surface information including features to device controller 10111 . The device controller 10111 may modify the drivable surface information according to at least, but not limited to, incoming sensor information and feature traversing requirements, and based on the modified drivable surface information, the AV 10101 ) can be selected. Device controller 10111 may present commands to power base 10112 that may instruct power base 10112 to provide speed, direction, and configuration commands to wheel motors and cluster motors, the commands being Causes the AV 10101 to follow the selected path, raising and lowering its cargo accordingly. Transport device services 10105 may access route related information from core cloud infrastructure 10103 , which may include, but is not limited to, storage and content distribution facilities. In some configurations, core cloud infrastructure 10103 may include commercial products such as, but not limited to, for example, but not limited to AMAZON WEB SERVICES®, GOOGLE CLOUD , and ORACLE CLOUD®.

이제 도 1b를 참조하면, 본 교시의 맵 프로세서(10104)(도 1a)로부터 정보를 수신할 수 있는 디바이스 제어기(10111)(도 1a)를 포함할 수 있는 예시적인 AV는, 예를 들어, 제한적인 것은 아니지만, 파워 베이스, 예를 들어, 제한적인 것은 아니지만, Mobility Device라는 명칭으로 2018년 7월 13일자로 출원된 미국 특허 출원 제16/035,205호, 또는 Control System and Method라는 명칭으로 2001년 8월 15일자로 출원된 미국 특허 제6,571,892호(이들 모두는 그 전체가 본 명세서에 참고로 포함됨)에 충분히 설명되어 있는 파워 베이스와 같은 파워 베이스 조립체를 포함할 수 있다. 예시적인 파워 베이스 조립체는 본 교시를 제한하지 않고, 대신에 본 교시의 기술을 구현하는데 유용할 수 있는 임의의 파워 베이스 조립체의 특징들을 명확히 하기 위해 본 명세서에 설명된다. 예시적인 파워 베이스 조립체는 선택적으로 파워 베이스(10112), 휠 클러스터 조립체(11100), 및 페이로드 캐리어 높이 조립체(10068)를 포함할 수 있다. 예시적인 파워 베이스 조립체는 휠들(11203) 및 휠들(11203)을 상승 및 하강시킬 수 있는 클러스터들(11100)을 구동하기 위해 전기적 및 기계적 전력을 선택적으로 제공할 수 있다. 파워 베이스(10112)는 본 교시의 실질적으로 불연속적인 표면 횡단을 지원하기 위해 클러스터 조립체(11100)의 회전 및 페이로드 캐리어 높이 조립체(10068)의 리프트를 제어할 수 있다. 다른 그러한 디바이스들은 본 교시의 SDSF 검출 및 횡단을 수용하기 위해 이용될 수 있다.Referring now to FIG. 1B , an exemplary AV that may include a device controller 10111 ( FIG. 1A ) capable of receiving information from a map processor 10104 ( FIG. 1A ) of the present teachings is, for example, limited to Power Base, including but not limited to, U.S. Patent Application Serial No. 16/035,205, filed July 13, 2018, for the name Mobility Device, or 8, 2001 for Control System and Method. It may include a power base assembly, such as the power base fully described in US Pat. No. 6,571,892, filed Jan. 15, all of which are incorporated herein by reference in their entirety. An exemplary power base assembly is not intended to limit the present teachings, but is instead described herein to clarify features of any power base assembly that may be useful in implementing the techniques of the present teachings. An exemplary power base assembly can optionally include a power base 10112 , a wheel cluster assembly 11100 , and a payload carrier height assembly 10068 . The exemplary power base assembly can selectively provide electrical and mechanical power to drive the wheels 11203 and the clusters 11100 that can raise and lower the wheels 11203 . The power base 10112 may control rotation of the cluster assembly 11100 and lift of the payload carrier height assembly 10068 to support the substantially discontinuous surface traversing of the present teachings. Other such devices may be used to accommodate SDSF detection and traversal of the present teachings.

다시 도 1a를 참조하면, 일부 구성들에서, 예시적인 파워 베이스 내부의 센서들은 AV(10101)의 배향 및 배향의 변화율을 검출할 수 있고, 모터들은 서보 동작을 가능하게 할 수 있고, 제어기들은 내부 센서들 및 모터들로부터의 정보를 동화(assimilate)시킬 수 있다. 적절한 모터 명령들은 수송기 성능을 달성하고 경로 추종 명령들을 구현하기 위해 계산될 수 있다. 좌측 및 우측 휠 모터들은 AV(10101)의 어느 한 측 상의 휠들을 구동할 수 있다. 일부 구성들에서, 전방 및 후방 휠들은 함께 구동하도록 결합될 수 있어서, 2개의 좌측 휠들은 함께 구동할 수 있고 2개의 우측 휠들은 함께 구동할 수 있다. 일부 구성들에서, 회전은 좌측 및 우측 모터들을 상이한 레이트들로 구동함으로써 달성될 수 있고, 클러스터 모터는 휠베이스를 전방/후방 방향으로 회전시킬 수 있다. 이것은 전방 휠들이 후방 휠들보다 더 높거나 더 낮아지는 동안 AV(10101)가 수평을 유지하는 것을 허용할 수 있다. 이 특징은, 예를 들어, 이에 제한되는 것은 아니지만, SDSF들을 클라이밍 업 및 다운할 때 유용할 수 있다. 페이로드 캐리어(10173)는 하부 지형에 적어도 기초하여 자동으로 상승 및 하강될 수 있다.Referring again to FIG. 1A , in some configurations, sensors within the exemplary power base may detect the orientation and rate of change of orientation of AV 10101 , motors may enable servo operation, and controllers may include internal It can assimilate information from sensors and motors. Appropriate motor commands may be calculated to achieve vehicle performance and implement path following commands. Left and right wheel motors may drive the wheels on either side of AV 10101 . In some configurations, the front and rear wheels can be coupled to drive together, such that the two left wheels can drive together and the two right wheels can drive together. In some configurations, rotation may be achieved by driving the left and right motors at different rates, and the cluster motor may rotate the wheelbase in a forward/rear direction. This may allow the AV 10101 to remain level while the front wheels are higher or lower than the rear wheels. This feature can be useful, for example, but not limited to, when climbing up and down SDSFs. The payload carrier 10173 may be automatically raised and lowered based at least on the underlying terrain.

도 1a를 계속 참조하면, 일부 구성들에서, 포인트 클라우드 데이터는 AV(10101)가 이동할 영역에 대한 루트 정보를 포함할 수 있다. 가능하게는 AV(10101)와 유사하거나 동일한 매핑 디바이스에 의해 수집되는 포인트 클라우드 데이터는 시간 태깅될 수 있다. 매핑 디바이스가 이동하는 경로는 매핑된 궤적이라고 지칭될 수 있다. 본 명세서에서 설명되는 포인트 클라우드 데이터 처리는 매핑 디바이스가 매핑된 궤적을 횡단할 때, 또는 포인트 클라우드 데이터 수집이 완료된 후에 발생할 수 있다. 포인트 클라우드 데이터가 수집된 후에, 이들은 본 명세서에서 설명되는 바와 같이 초기 필터링 및 포인트 감소, 포인트 클라우드 세그먼트화, 및 피처 검출을 포함할 수 있는 포인트 클라우드 데이터 처리를 겪을 수 있다. 일부 구성들에서, 코어 클라우드 인프라스트럭처(10103)는 수집된 포인트 클라우드 데이터에 대한 장기 또는 단기 저장을 제공할 수 있고, AV 서비스들(10105)에 데이터를 제공할 수 있다. AV 서비스들(10105)은 AV(10101)에 대한 원하는 시작 포인트 및 AV(10101)에 대한 원하는 목적지를 둘러싸는 지역을 커버하는 데이터세트를 찾기 위해 가능한 포인트 클라우드 데이터세트들 중에서 선택할 수 있다. AV 서비스들(10105)은 포인트 클라우드 데이터의 크기를 감소시키고 포인트 클라우드 데이터에 표현되는 피처들을 결정할 수 있는 맵 프로세서(10104)를 포함할 수 있지만, 이에 제한되는 것은 아니다. 일부 구성들에서, 맵 프로세서(10104)는 포인트 클라우드 데이터로부터 SDSF들의 위치를 결정할 수 있다. 일부 구성들에서, 포인트 클라우드 데이터를 세그먼트화하고 궁극적으로 드라이빙가능 표면을 설정하기 위한 기술로서 포인트 클라우드 데이터로부터 다각형들이 생성될 수 있다. 일부 구성들에서, SDSF 찾기 및 드라이빙가능 표면 결정은 병렬로 진행될 수 있다. 일부 구성들에서, SDSF 찾기 및 드라이빙가능 표면 결정은 순차적으로 진행될 수 있다.With continued reference to FIG. 1A , in some configurations, the point cloud data may include route information for an area to which the AV 10101 will move. Possibly the point cloud data collected by a mapping device similar to or identical to AV 10101 may be time tagged. A path along which the mapping device moves may be referred to as a mapped trajectory. The point cloud data processing described herein may occur when the mapping device traverses a mapped trajectory, or after point cloud data collection is complete. After the point cloud data is collected, they may undergo initial filtering and point cloud data processing, which may include point reduction, point cloud segmentation, and feature detection, as described herein. In some configurations, core cloud infrastructure 10103 may provide long-term or short-term storage for the collected point cloud data, and may provide data to AV services 10105 . AV services 10105 may select from among possible point cloud datasets to find a dataset that covers an area surrounding a desired starting point for AV 10101 and a desired destination for AV 10101 . AV services 10105 may include, but are not limited to, a map processor 10104 that may reduce the size of the point cloud data and determine features represented in the point cloud data. In some configurations, map processor 10104 can determine the location of SDSFs from point cloud data. In some configurations, polygons may be created from the point cloud data as a technique for segmenting the point cloud data and ultimately establishing a drivable surface. In some configurations, SDSF finding and drivable surface determination may proceed in parallel. In some configurations, SDSF finding and drivable surface determination may proceed sequentially.

이제 도 1c를 참조하면, 일부 구성들에서, AV는 화물을 배송하고/하거나 원하는 위치로 자율적으로 내비게이팅하는 것을 수반하는 다른 기능들을 수행하도록 구성될 수 있다. 일부 응용들에서, AV는 원격으로 안내될 수 있다. 일부 구성들에서, AV(20100)는 원격으로, 사용자 입력들에 응답하여, 자동으로 또는 수동으로 개방되어 사용자들이 패키지들 및 다른 물품들을 배치 또는 제거하는 것을 허용할 수 있는 화물 컨테이너를 포함한다. 화물 컨테이너(20110)는 화물 플랫폼(20160) 상에 장착되고, 이는 파워 베이스(20170)에 기계적으로 접속된다. 파워 베이스(20170)는 4개의 동력 휠들(20174) 및 2개의 캐스터 휠들(20176)을 포함한다. 파워 베이스는 지면을 따라 그리고 커브들 및 다른 불연속적인 표면 피처들을 포함하는 장애물들 위로 화물 컨테이너(20110)를 이동시키기 위한 속도 및 방향 제어를 제공한다.Referring now to FIG. 1C , in some configurations, the AV may be configured to deliver cargo and/or perform other functions involving autonomously navigating to a desired location. In some applications, the AV may be guided remotely. In some configurations, AV 201000 includes a cargo container that can be opened remotely, in response to user inputs, automatically or manually, to allow users to place or remove packages and other items. The cargo container 20110 is mounted on the cargo platform 20160, which is mechanically connected to the power base 20170. The power base 20170 includes four power wheels 20174 and two caster wheels 20176 . The power base provides speed and direction control for moving the cargo container 201110 along the ground and over obstacles including curves and other discontinuous surface features.

도 1c를 계속 참조하면, 화물 플랫폼(20160)은 2개의 U-프레임들(20162)을 통해 파워 베이스(20170)에 접속된다. 각각의 U-프레임(20162)은 화물 플랫폼(20160)의 구조체에 견고하게 부착되고, 회전가능 조인트(20164)가 파워 베이스(20170) 상의 각각의 암(arm)(20172)의 단부와 함께 형성되게 하는 2개의 구멍들을 포함한다. 파워 베이스는 암들의 회전 위치를 제어하고, 따라서 화물 컨테이너(20110)의 높이 및 자세를 제어한다.With continued reference to FIG. 1C , the cargo platform 20160 is connected to the power base 20170 via two U-frames 20162 . Each U-frame 20162 is rigidly attached to the structure of the cargo platform 20160 such that a rotatable joint 20164 is formed with the end of each arm 20172 on the power base 20170. It contains two holes for The power base controls the rotational position of the arms, thus controlling the height and posture of the cargo container 201110.

도 1c를 계속 참조하면, 일부 구성들에서, AV(20100)는 데이터를 수신하고, 경로를 내비게이팅하며, 파워 베이스(20170)의 방향 및 속도를 선택하는 하나 이상의 프로세서를 포함한다.With continued reference to FIG. 1C , in some configurations, AV 201000 includes one or more processors that receive data, navigate a route, and select a direction and speed of power base 20170 .

이제 도 1d를 참조하면, 일부 구성들에서, 본 교시의 맵 프로세서(10104)는 맵 상에 SDSF들을 위치시킬 수 있다. 맵 프로세서(10104)는, 제한적인 것은 아니지만, 피처 추출기(10801), 포인트 클라우드 조직화기(10803), 과도 프로세서(10805), 세그멘터(10807), 다각형 생성기(10809), SDSF 라인 생성기(10811), 및 데이터 결합기(10813)를 포함할 수 있다.Referring now to FIG. 1D , in some configurations, a map processor 10104 of the present teachings may place SDSFs on a map. Map processor 10104 includes, but is not limited to, feature extractor 10801 , point cloud organizer 10803 , transient processor 10805 , segmenter 10807 , polygon generator 10809 , SDSF line generator 10811 . , and a data combiner 10813 .

도 1d를 계속 참조하면, 피처 추출기(10801)(도 1ib)는, 제한적인 것은 아니지만, 포인트 클라우드 데이터(10131)의 시선 필터링(10121) 및 매핑된 궤적(10133)을 포함할 수 있다. 시선 필터링은 센서들의 직접적인 시선으로부터 숨겨져 있는 포인트들을 제거하여 포인트 클라우드 데이터를 수집하고 매핑된 궤적을 형성할 수 있다. 포인트 클라우드 조직화기(10803)(도 1ib)는 특정의 피처와 어쩌면 연관되어 있는 미리 선택된 기준들에 따라 감소된 포인트 클라우드 데이터(10132)를 조직화(10151)할 수 있다. 일부 구성들에서, 과도 프로세서(10805)(도 1ib)는 본 명세서에 기술된 방법을 비롯한 임의의 수의 방법들에 의해 조직화된 포인트 클라우드 데이터 및 매핑된 궤적(10133)으로부터 과도 포인트들을 제거(10153)할 수 있다. 과도 포인트들은, 특히 특정의 피처가 정지되어 있는 경우, 처리를 복잡하게 할 수 있다. 세그먼트터(10807)(도 1ib)은 처리된 포인트 클라우드 데이터(10135)를 처리가능 청크들로 분할할 수 있다. 일부 구성들에서, 처리된 포인트 클라우드 데이터(10135)는 미리 선택된 최소 수의 포인트들, 예를 들어, 제한적인 것은 아니지만, 약 100,000개의 포인트들을 갖는 섹션들로 세그먼트화(10155)될 수 있다. 일부 구성들에서, 추가의 포인트 감소는 추출될 피처들에 관련될 수 있는 미리 선택된 기준들에 기초할 수 있다. 예를 들어, 특정 높이 위의 포인트들이 피처의 위치결정에 중요하지 않은 경우, 그 포인트들이 포인트 클라우드 데이터로부터 삭제될 수 있다. 일부 구성들에서, 포인트 클라우드 데이터를 수집하는 센서들 중 적어도 하나의 센서의 높이는 원점으로 간주될 수 있고, 원점 위의 포인트들은, 예를 들어, 관심 있는 포인트들만이 표면 피처들과 연관되어 있을 때 포인트 클라우드 데이터로부터 제거될 수 있다. 필터링된 포인트 클라우드 데이터(10135)가 세그먼트화되고, 세그먼트들(10137)을 형성한 후에, 나머지 포인트들은 드라이빙가능 표면 섹션들로 분할될 수 있고, 표면 피처들은 위치결정될 수 있다. 일부 구성들에서, 다각형 생성기(10809)(도 1ib)는, 예를 들어, 제한적인 것은 아니지만, 본 명세서에 기술된 바와 같이, 다각형들(10139)을 생성(10161)하는 것에 의해 드라이빙가능 표면들을 위치결정할 수 있다. 일부 구성들에서, SDSF 라인 생성기(10811)(도 1ib)는, 예를 들어, 제한적인 것은 아니지만, 본 명세서에 기술된 바와 같이, SDSF 라인들(10141)을 생성(10163)하는 것에 의해 표면 피처들을 위치결정할 수 있다. 일부 구성들에서, 결합기(10813)(도 1ib)는 AV(10101)(도 1a)가 다각형들(10139)과 SDSF들(10141)을 결합(10165)시키는 것에 의해 이동할 수 있는 실제 경로를 생성하기 위해 추가로 처리될 수 있는 데이터세트를 생성할 수 있다.With continued reference to FIG. 1D , feature extractor 10801 ( FIG. 1IB ) may include, but is not limited to, gaze filtering 10121 and mapped trajectory 10133 of point cloud data 10131 . Gaze filtering removes hidden points from the direct gaze of sensors to collect point cloud data and form a mapped trajectory. The point cloud organizer 10803 ( FIG. 1IB ) may organize 10151 the reduced point cloud data 10132 according to preselected criteria possibly associated with a particular feature. In some configurations, the transient processor 10805 ( FIG. 1IB ) removes 10153 transient points from the mapped trajectory 10133 and the point cloud data organized by any number of methods, including the method described herein. )can do. Transient points can complicate the process, especially when certain features are stationary. The segmenter 10807 ( FIG. 1IB ) may partition the processed point cloud data 10135 into processable chunks. In some configurations, the processed point cloud data 10135 may be segmented 10155 into sections having a preselected minimum number of points, such as, but not limited to, about 100,000 points. In some configurations, the further point reduction may be based on preselected criteria that may relate to the features to be extracted. For example, if points above a certain height are not critical to the location of a feature, those points may be deleted from the point cloud data. In some configurations, the height of at least one of the sensors collecting point cloud data can be considered an origin, the points above the origin being, for example, when only points of interest are associated with surface features. may be removed from the point cloud data. After the filtered point cloud data 10135 has been segmented and formed segments 10137 , the remaining points can be divided into drivable surface sections, and surface features can be positioned. In some configurations, the polygon generator 10809 ( FIG. 1IB ) generates drivable surfaces by, for example, but not limited to, generating 10161 polygons 10139 as described herein. position can be determined. In some configurations, the SDSF line generator 10811 ( FIG. 1IB ) is a surface feature by generating 10163 SDSF lines 10141 , such as, but not limited to, as described herein. can be positioned. In some configurations, combiner 10813 ( FIG. 1IB ) generates an actual path that AV 10101 ( FIG. 1A ) can travel on by combining polygons 10139 and SDSFs 10141 by combining 10165 . data sets that can be further processed for

이제 주로 도 1e를 참조하면, 포인트 클라우드 데이터(10131)(도 1d)로부터, 매핑된 궤적(10133)에 대해 과도적인 물체들, 예컨대, 예시적인 타임-스탬프된 포인트들(10751)을 제거하는 것(10153)(도 1d)은 매핑된 궤적(10133) 상의 타임-스탬프된 포인트들로부터 실질적으로 동일한 타임 스탬프를 갖는 포인트 클라우드 데이터(10131)(도 1d) 내의 각각의 타임-스탬프된 포인트로 광선(10753)을 캐스팅하는 것을 포함할 수 있다. 광선(10753)이 매핑된 궤적(10133) 상의 타임-스탬프된 포인트와 광선(10753)의 종료 포인트 사이의 포인트, 예를 들어, 포인트 D(10755)와 교차하는 경우, 교차 포인트 D(10755)는 카메라의 상이한 스위프 동안 포인트 클라우드 데이터에 들어간 것으로 가정될 수 있다. 교차 포인트, 예를 들어, 교차 포인트 D(10755)는 과도 물체의 일부인 것으로 가정될 수 있고, 감소된 포인트 클라우드 데이터(10132)(도 1d)로부터 SDSF와 같은 고정된 피처를 나타내지 않는 것으로 제거될 수 있다. 결과는, 예를 들어, 제한적인 것은 아니지만, 과도 물체들이 없는 처리된 포인트 클라우드 데이터(10135)(도 1d)이다. 과도 물체들의 부분들로서 제거되었지만, 또한 실질적으로 지면 레벨에 있는 포인트들은 처리된 포인트 클라우드 데이터(10135)(도 1d)로 반환될 수 있다(10754). 과도 물체들은, 예를 들어, 제한적인 것은 아니지만, SDSF들(10141)(도 1d)과 같은 특정 피처들을 포함할 수 없고, 따라서, SDSF들(10141)(도 1d)이 검출되는 피처들일 때 포인트 클라우드 데이터(10131)(도 1d)의 무결성을 방해하지 않고 제거될 수 있다.Referring now primarily to FIG. 1E , from the point cloud data 10131 ( FIG. 1D ), removing objects transient to the mapped trajectory 10133 , such as exemplary time-stamped points 10751 . 10153 (FIG. 1D) is a ray from time-stamped points on mapped trajectory 10133 to each time-stamped point in point cloud data 10131 (FIG. 1D) with substantially the same time stamp. 10753) can be included. If ray 10753 intersects a point between the time-stamped point on mapped trajectory 10133 and the end point of ray 10753, e.g., point D 10755, then point of intersection D 10755 is It can be assumed that the point cloud data was entered during different sweeps of the camera. An intersection point, e.g., intersection point D 10755, may be assumed to be part of a transient object, and may be removed from the reduced point cloud data 10132 (FIG. 1D) as not representing a fixed feature such as SDSF. there is. The result is, for example, but not limited to, processed point cloud data 10135 ( FIG. 1D ) free of transient objects. Points that have been removed as portions of transient objects, but are also substantially at ground level, may be returned 10754 as processed point cloud data 10135 ( FIG. 1D ). Transient objects cannot include certain features, such as, but not limited to, SDSFs 10141 ( FIG. 1D ), and thus point when SDSFs 10141 ( FIG. 1D ) are the detected features. Cloud data 10131 ( FIG. 1D ) can be removed without disturbing the integrity.

도 1e를 계속하여 참조하면, 세그먼트화(10155)(도 1d) 처리된 포인트 클라우드 데이터(10135)(도 1d)는 미리 선택된 크기 및 형상을 갖는 섹션들(10757), 예를 들어, 제한적인 것은 아니지만, 최소 미리 선택된 측면 길이를 가지며 약 100,000개의 포인트들을 포함하는 직사각형들(10154)(도 1f)을 생성할 수 있다. 각각의 섹션(10757)으로부터, 특정의 작업에 필요하지 않은 포인트들, 예를 들어, 제한적인 것은 아니지만, 미리 선택된 레벨 초과에 있는 포인트들이 데이터세트 크기를 감소시키기 위해 제거될 수 있다(10157)(도 1d). 일부 구성들에서, 미리 선택된 레벨은 AV(10101)의 높이일 수 있다(도 1a). 이 포인트들을 제거하는 것은 데이터세트의 보다 효율적인 처리를 가져올 수 있다.With continued reference to FIG. 1E , the segmentation 10155 ( FIG. 1D ) processed point cloud data 10135 ( FIG. 1D ) is divided into sections 10757 having a preselected size and shape, e.g., limited to Although not, it is possible to create rectangles 10154 ( FIG. 1F ) having a minimum preselected side length and containing about 100,000 points. From each section 10757, points not required for a particular task, such as, but not limited to, points that are above a pre-selected level may be removed 10157 to reduce the dataset size ( Fig. 1d). In some configurations, the preselected level may be the height of the AV 10101 ( FIG. 1A ). Removing these points can result in more efficient processing of the dataset.

다시 도 1d를 주로 참조하면, 맵 프로세서(10104)는 AV(10101)(도 1a)를 제어하기 위한 방향, 속도 및 구성 명령들을 생성하는데 이용될 수 있는 적어도 하나의 데이터세트를 디바이스 제어기(10111)에 공급할 수 있다. 적어도 하나의 데이터세트는 데이터세트 내의 다른 포인트들에 접속될 수 있는 포인트들을 포함할 수 있고, 여기서 데이터세트 내의 포인트들을 접속하는 라인들 각각은 드라이빙가능 표면을 횡단한다. 이러한 루트 포인트들을 결정하기 위해, 세그먼트화된 포인트 클라우드 데이터(10137)는 다각형들(10139)로 분할될 수 있고, 다각형들(10139)의 정점들은 가능하게는 루트 포인트들이 될 수 있다. 다각형들(10139)은, 예를 들어, SDSF(10141)와 같은 피처들을 포함할 수 있다.Referring back primarily to FIG. 1D , the map processor 10104 generates at least one dataset that may be used to generate direction, speed and configuration commands for controlling the AV 10101 ( FIG. 1A ) to the device controller 10111 . can be supplied to The at least one dataset may include points that can be connected to other points in the dataset, wherein each of the lines connecting the points in the dataset traverses the drivable surface. To determine these route points, the segmented point cloud data 10137 can be divided into polygons 10139 , and the vertices of polygons 10139 can possibly be route points. Polygons 10139 may include features such as, for example, SDSF 10141 .

도 1d를 계속하여 참조하면, 일부 구성들에서, 처리된 포인트 클라우드 데이터(10135)를 생성하는 것은 복셀들을 필터링하는 것을 포함할 수 있다. 장래의 처리를 받을 포인트들의 수를 감소시키기 위해, 일부 구성들에서, 데이터세트 내의 각각의 복셀의 중심이 복셀 내의 포인트들을 근사화하는데 이용될 수 있고, 중심을 제외한 모든 포인트들이 포인트 클라우드 데이터로부터 제거될 수 있다. 일부 구성들에서, 복셀의 중심이 복셀 내의 포인트들을 근사화하는데 이용될 수 있다. 필터링된 세그먼트들(10251)(도 1g)의 크기를 감소시키는 다른 방법들, 예를 들어, 제한적인 것은 아니지만, 랜덤 포인트 서브샘플들을 취하는 것 등이 이용될 수 있고, 따라서 필터링된 세그먼트들(10251)(도 1g)로부터 랜덤으로 균일하게 선택된 고정된 수의 포인트들이 제거될 수 있다.With continued reference to FIG. 1D , in some configurations generating the processed point cloud data 10135 may include filtering the voxels. To reduce the number of points subject to future processing, in some configurations, the centroid of each voxel in the dataset may be used to approximate the points within the voxel, and all points except the centroid will be removed from the point cloud data. can In some configurations, the center of the voxel can be used to approximate points within the voxel. Other methods of reducing the size of the filtered segments 10251 ( FIG. 1G ) may be used, such as, but not limited to, taking random point subsamples, and thus the filtered segments 10251 ) (Fig. 1g) a fixed number of points randomly selected uniformly can be removed.

도 1d를 계속하여 추가로 참조하면, 일부 구성들에서, 처리된 포인트 클라우드 데이터(10135)를 생성하는 것은 이상치들이 제거되었고 복셀 필터링을 통해 다운사이징된 데이터세트로부터의 법선들을 계산하는 것을 포함할 수 있다. 필터링된 데이터세트 내의 각각의 포인트에 대한 법선들은 곡선 재구성 알고리즘들을 포함하는 다양한 처리가능성들을 위해 이용될 수 있다. 일부 구성들에서, 데이터세트 내의 법선들을 추정 및 필터링하는 것은 표면 메싱 기법들을 이용하여 데이터세트로부터 아래에 있는 표면을 획득하는 것, 및 표면 메시로부터 법선들을 계산하는 것을 포함할 수 있다. 일부 구성들에서, 법선들을 추정하는 것은, 예를 들어, 제한적인 것은 아니지만, 포인트에 가장 가까운 k개의 이웃들에 총 최소 제곱 방법을 적용함으로써 획득된 피팅 평면에 대한 법선을 결정하는 것과 같이, 데이터세트로부터 표면 법선들을 직접 추론하기 위해 근사치들을 이용하는 것을 포함할 수 있다. 일부 구성들에서, k의 값은 적어도 경험적 데이터에 기초하여 선택될 수 있다. 법선들을 필터링하는 것은 x-y 평면에 수직인 것으로부터 약 45° 초과인 임의의 법선들을 제거하는 것을 포함할 수 있다. 일부 구성들에서, 동일한 방향으로 법선들을 정렬시키기 위해 필터가 이용될 수 있다. 데이터세트의 일부가 평면 표면을 나타내는 경우, 인접한 법선들에 포함된 중복 정보가 랜덤 서브샘플링을 수행하는 것에 의해, 또는 포인트들의 관련 세트 중 하나의 포인트를 필터링하는 것에 의해 필터링 제거될 수 있다. 일부 구성들에서, 포인트를 선택하는 것은 각각의 박스가 최대 k개의 포인트들을 포함할 때까지 데이터세트를 박스들로 재귀적으로 분해하는 것을 포함할 수 있다. 각각의 박스 내의 k개의 포인트들로부터 단일 법선이 계산될 수 있다.With further reference to FIG. 1D , in some configurations generating the processed point cloud data 10135 may include calculating normals from a dataset in which outliers have been removed and downsized via voxel filtering. there is. The normals for each point in the filtered dataset can be used for a variety of processes, including curve reconstruction algorithms. In some configurations, estimating and filtering normals in a dataset may include obtaining an underlying surface from the dataset using surface meshing techniques, and calculating normals from the surface mesh. In some configurations, estimating normals may include, but is not limited to, determining a normal to a fitting plane obtained by applying a total least squares method to the k neighbors closest to a point, such as, but not limited to, a dataset may involve using approximations to directly infer surface normals from In some configurations, the value of k may be selected based at least on empirical data. Filtering the normals may include removing any normals that are greater than about 45° from normal to the x-y plane. In some configurations, a filter may be used to align normals in the same direction. If a portion of the dataset represents a planar surface, redundant information contained in adjacent normals may be filtered out by performing random subsampling, or by filtering a point in one of the related sets of points. In some configurations, selecting the point may include recursively decomposing the dataset into boxes until each box contains at most k points. A single normal can be computed from the k points in each box.

도 1d를 계속하여 참조하면, 일부 구성들에서, 처리된 포인트 클라우드 데이터(10135)를 생성하는 것은 데이터세트로 표현된 표면과 기하학적으로 호환되는 포인트들을 클러스터링하는 것에 의해 데이터세트 내에서 영역들을 성장시키는 것, 및 가장 많은 수의 포인트들의 최상의 근사치를 획득하기 위해 영역이 성장할 때 표면을 미세 조정하는 것을 포함할 수 있다. 영역 성장은 평활도 제약조건의 면에서 포인트들을 병합할 수 있다. 일부 구성들에서, 평활도 제약조건은, 예를 들어, 경험적으로 결정될 수 있거나, 원하는 표면 평활도에 기초할 수 있다. 일부 구성들에서, 평활도 제약조건은 약 10π/180 내지 약 20π/180의 범위를 포함할 수 있다. 영역 성장의 출력은 포인트 클러스터들의 세트이고, 각각의 포인트 클러스터는 포인트들의 세트이고, 포인트들 각각은 동일한 평활 표면의 일부인 것으로 간주된다. 일부 구성들에서, 영역 성장은 법선들 사이의 각도들의 비교에 기초할 수 있다. 영역 성장은, 예를 들어, 제한적인 것은 아니지만, 영역 성장 세그먼트화

Figure pct00001
Figure pct00002
과 같은 알고리즘들에 의해 달성될 수 있다.With continued reference to FIG. 1D , in some configurations, generating the processed point cloud data 10135 comprises growing regions within the dataset by clustering points that are geometrically compatible with the surface represented by the dataset. and fine-tuning the surface as the region grows to obtain the best approximation of the largest number of points. Region growth can merge points in terms of smoothness constraints. In some configurations, the smoothness constraint may be determined empirically, for example, or may be based on a desired surface smoothness. In some configurations, the smoothness constraint can include a range from about 10π/180 to about 20π/180. The output of region growth is a set of point clusters, each point cluster being a set of points, each of which is considered to be part of the same smooth surface. In some configurations, region growth can be based on comparison of angles between normals. Region growth may include, but is not limited to, region growth segmentation.
Figure pct00001
and
Figure pct00002
This can be achieved by algorithms such as

이제 도 1g를 참조하면, 세그먼트화된 포인트 클라우드 데이터(10137)(도 1d)는 다각형들(10759), 예를 들어, 5m x 5m 다각형들을 생성(10161)(도 1d)하는데 이용될 수 있다. 포인트 서브-클러스터들은, 예를 들어, 메싱을 이용하여 다각형들(10759)로 변환될 수 있다. 메싱은, 예를 들어, 제한적인 것은 아니지만, 마칭 큐브들(marching cubes), 마칭 사면체들(marching tetrahedrons), 표면 그물들(surface nets), 그리디 메싱(greedy meshing), 및 이중 윤곽(dual contouring)과 같은 표준 방법들에 의해 달성될 수 있다. 일부 구성들에서, 다각형들(10759)은 포인트의 로컬 이웃을 포인트의 법선을 따라 투영하고, 접속되지 않은 포인트들을 접속함으로써 생성될 수 있다. 결과적인 다각형들(10759)은, 이웃의 크기, 고려될 포인트에 대한 최대 수용가능한 거리, 다각형에 대한 최대 에지 길이, 다각형들의 최소 및 최대 각도들, 및 법선들이 서로 취할 수 있는 최대 편차에 적어도 기초할 수 있다. 일부 구성들에서, 다각형들(10759)은 다각형들(10759)이 AV(10101)(도 1a)가 통과하기에 너무 작은지의 여부에 따라 필터링될 수 있다. 일부 구성들에서, 원은 AV(10101)(도 1a)의 크기가 알려진 수단에 의해 다각형들(10759) 각각의 주위로 드래그될 수 있다. 원이 실질적으로 다각형(10759) 내에 있다면, 다각형(10759) 및 그에 따른 결과적인 드라이빙가능 표면은 AV(10101)(도 1a)를 수용할 수 있다. 일부 구성들에서, 다각형(10759)의 영역은 AV(10101)(도 1a)의 풋프린트와 비교될 수 있다. 다각형들은 불규칙적인 것으로 가정되어, 다각형들(10759)의 영역을 결정하기 위한 제1 단계가 알려진 방법들에 의해 다각형(10759)을 규칙적인 다각형들(10759A)로 분리할 수 있다. 각각의 규칙적인 다각형(10759A)에 대해, 표준 영역 방정식들이 그 크기를 결정하는데 이용될 수 있다. 각각의 규칙적인 다각형(10759A)의 영역들은 함께 추가되어 다각형(10759)의 영역을 찾을 수 있고, 그 영역은 AV(10101)(도 1a)의 풋프린트와 비교될 수 있다. 필터링된 다각형들은 크기 기준들을 만족하는 다각형들의 서브세트를 포함할 수 있다. 필터링된 다각형들은 최종 드라이빙가능 표면을 설정하는데 이용될 수 있다.Referring now to FIG. 1G , segmented point cloud data 10137 ( FIG. 1D ) may be used to create polygons 10759 , eg, 5m×5m polygons 10161 ( FIG. 1D ). Point sub-clusters may be transformed into polygons 10759 using, for example, meshing. Meshing includes, for example, but not limited to marching cubes, marching tetrahedrons, surface nets, greedy meshing, and dual contouring. ) can be achieved by standard methods such as In some configurations, polygons 10759 can be created by projecting a point's local neighborhood along the point's normal and connecting the unconnected points. The resulting polygons 10759 are based at least on the size of the neighborhood, the maximum acceptable distance to the point to be considered, the maximum edge length for the polygon, the minimum and maximum angles of the polygons, and the maximum deviation the normals can take from each other. can do. In some configurations, polygons 10759 may be filtered according to whether polygons 10759 are too small for AV 10101 ( FIG. 1A ) to pass through. In some configurations, a circle may be dragged around each of polygons 10759 by means of which the size of AV 10101 ( FIG. 1A ) is known. If the circle is substantially within polygon 10759 , polygon 10759 and thus the resulting drivable surface can receive AV 10101 ( FIG. 1A ). In some configurations, the area of polygon 10759 can be compared to the footprint of AV 10101 ( FIG. 1A ). The polygons are assumed to be irregular, so that the first step for determining the area of the polygons 10759 can separate the polygon 10759 into regular polygons 10759A by known methods. For each regular polygon 10759A, standard area equations may be used to determine its size. The regions of each regular polygon 10759A can be added together to find the region of polygon 10759 , which can be compared to the footprint of AV 10101 ( FIG. 1A ). The filtered polygons may include a subset of polygons that satisfy size criteria. The filtered polygons can be used to establish the final drivable surface.

도 1g를 계속 참조하면, 일부 구성들에서, 다각형(10759)은, 예를 들어, 제한적인 것은 아니지만, 포인트 클라우드 라이브러리(Point Cloud Library),

Figure pct00003
에서 이용가능한 것들과 같은 통계적 분석 기술들과 같은 종래의 수단에 의해 이상치를 제거함으로써 처리될 수 있다. 필터링은, 제한적인 것은 아니지만, 포인트 클라우드 라이브러리,
Figure pct00004
에서 이용가능한 것과 같은 복셀화된 그리드 접근법(voxelized grid approach)을 포함하는 종래의 수단에 의해 세그먼트들(10137)(도 1d)를 다운사이징하는 것을 포함할 수 있다. 오목 다각형들(10263)은, 예를 들어, 제한적인 것은 아니지만, A New Concave Hull Algorithm and Concaveness Measure for n-dimensional Datasets, Park et al., Journal of Information Science and Engineering 28, pp. 587-600, 2012에 제시된 프로세스에 의해 생성될 수 있다.With continued reference to FIG. 1G , in some configurations, polygon 10759 can be, for example, but not limited to, a Point Cloud Library;
Figure pct00003
can be dealt with by removing outliers by conventional means, such as statistical analysis techniques such as those available in Filtering includes, but is not limited to, point cloud libraries,
Figure pct00004
downsizing the segments 10137 ( FIG. 1D ) by conventional means including a voxelized grid approach such as that available in . Concave polygons 10263 are described, for example, but not limited to, A New Concave Hull Algorithm and Concaveness Measure for n-dimensional Datasets, Park et al., Journal of Information Science and Engineering 28, pp. 587-600, 2012.

이제 주로 도 1h를 참조하면, 일부 구성들에서, 처리된 포인트 클라우드 데이터(10135)(도 1d)는 초기 드라이빙가능 표면(10265)을 결정하는데 이용될 수 있다. 영역 성장은 드라이빙가능 표면의 일부인 포인트들을 포함할 수 있는 포인트 클러스터들을 생성할 수 있다. 일부 구성들에서, 초기 드라이빙가능 표면을 결정하기 위해, 기준 평면이 포인트 클러스터들 각각에 피팅될 수 있다. 일부 구성들에서, 포인트 클러스터들은 포인트 클러스터들의 배향과 기준 평면 사이의 관계에 따라 필터링될 수 있다. 예를 들어, 포인트 클러스터 평면과 기준 평면 사이의 각도가, 예를 들어, 제한적인 것은 아니지만, 약 30°보다 작은 경우, 포인트 클러스터는, 예비적으로, 초기 드라이빙가능 표면의 일부인 것으로 간주될 수 있다. 일부 구성들에서, 포인트 클러스터들은, 예를 들어, 제한적인 것은 아니지만, 크기 제약에 기초하여 필터링될 수 있다. 일부 구성들에서, 포인트 클라우드 데이터(10131)(도 1d) 내의 전체 포인트들의 약 20%보다 포인트 크기가 더 큰 포인트 클러스터들은 너무 큰 것으로 간주될 수 있고, 포인트 클라우드 데이터(10131)(도 1d) 내의 전체 포인트들의 약 0.1%보다 크기가 더 작은 포인트 클러스터들은 너무 작은 것으로 간주될 수 있다. 초기 드라이빙가능 표면은 포인트 클러스터들의 필터링된 것을 포함할 수 있다. 일부 구성들에서, 포인트 클러스터들은 분할되어 몇몇 알려진 방법들 중 임의의 것에 의한 추가 처리를 계속할 수 있다. 일부 구성들에서, 노이즈를 갖는 애플리케이션들의 밀도 기반 공간 클러스터링(density based spatial clustering of applications with noise)(DBSCAN)이 포인트 클러스터들을 분할하는데 이용될 수 있는 반면, 일부 구성들에서는, k-평균 클러스터링이 포인트 클러스터들을 분할하는데 이용될 수 있다. DBSCAN은 함께 밀접하게 패킹되는 포인트들을 함께 그룹화하고, 실질적으로 격리되거나 저밀도 영역들에 있는 포인트들을 이상치들로서 마킹할 수 있다. 밀접하게 패킹되는 것으로 간주되기 위해, 포인트는 후보 포인트로부터 미리 선택된 거리 내에 있어야 한다. 일부 구성들에서, 미리 선택된 거리에 대한 스케일링 인자는 경험적으로 또는 동적으로 결정될 수 있다. 일부 구성들에서, 스케일링 인자는 약 0.1 내지 1.0의 범위에 있을 수 있다.Referring now primarily to FIG. 1H , in some configurations, processed point cloud data 10135 ( FIG. 1D ) may be used to determine an initial drivable surface 10265 . Area growth can create point clusters that can include points that are part of a drivable surface. In some configurations, a reference plane can be fitted to each of the point clusters to determine the initial drivable surface. In some configurations, point clusters may be filtered according to a relationship between the orientation of the point clusters and a reference plane. For example, if the angle between the point cluster plane and the reference plane is, for example, but not limited to, less than about 30°, the point cluster may, preliminarily, be considered to be part of the initial drivable surface. . In some configurations, point clusters may be filtered based on, for example, but not limited to, a size constraint. In some configurations, point clusters with a point size greater than about 20% of all points in point cloud data 10131 ( FIG. 1D ) may be considered too large, and point clusters in point cloud data 10131 ( FIG. 1D ) may be considered too large. Point clusters smaller in size than about 0.1% of all points may be considered too small. The initial drivable surface may include a filtered out of point clusters. In some configurations, point clusters may be partitioned to continue further processing by any of several known methods. In some configurations, density based spatial clustering of applications with noise (DBSCAN) may be used to partition point clusters, whereas in some configurations, k-means clustering is It can be used to partition clusters. DBSCAN can group together points that are closely packed together, and mark points that are substantially isolated or in low-density regions as outliers. In order to be considered closely packed, a point must be within a preselected distance from the candidate point. In some configurations, the scaling factor for the preselected distance may be determined empirically or dynamically. In some configurations, the scaling factor may be in the range of about 0.1 to 1.0.

주로 도 1i를 참조하면, SDSF 라인들을 생성하는 것(10163)(도 1d)은 드라이빙가능 표면(10265)(도 1h) 상의 오목 다각형들(10263)의 추가 필터링에 의해 SDSF들을 위치결정하는 것을 포함할 수 있다. 일부 구성들에서, 다각형들을 구성하는 포인트 클라우드 데이터로부터의 포인트들은 상부 도넛 포인트(10351)(도 1j), 하부 도넛 포인트(10353)(도 1j), 또는 원통형 포인트(10355)(도 1j)로서 카테고리화될 수 있다. 상부 도넛 포인트들(10351)(도 1j)은 지면으로부터 가장 먼 SDSF 모델(10352)의 형상 내에 속할 수 있다. 하부 도넛 포인트들(10353)(도 1j)은 지면에 가장 가까운 또는 지면 레벨에 있는 SDSF 모델(10352)의 형상 내에 속할 수 있다. 원통형 포인트들(10355)(도 1j)은 상부 도넛 포인트들(10351)(도 1j)과 하부 도넛 포인트들(10353)(도 1j) 사이의 형상 내에 속할 수 있다. 카테고리들의 조합은 도넛(10371)을 형성할 수 있다. 도넛들(10371)이 SDSF를 형성하는지를 결정하기 위해, 특정 기준들이 테스트된다. 예를 들어, 각각의 도넛(10371)에서, 상부 도넛 포인트들(10351)(도 1j)인 최소 수의 포인트들 및 하부 도넛 포인트들(10353)(도 1j)인 최소 수의 포인트들이 있어야 한다. 일부 구성들에서, 최소들은 경험적으로 선택될 수 있고, 약 5-20의 범위 내에 속할 수 있다. 각각의 도넛(10371)은 다수의 부분들, 예를 들어, 2개의 반구들로 분할될 수 있다. 도넛(10371) 내의 포인트들이 SDSF를 나타내는지를 결정하기 위한 다른 기준은 포인트들의 대부분이 도넛(10371)의 부분들의 대향하는 반구들 내에 있는지의 여부이다. 원통형 포인트들(10355)(도 1j)은 제1 원통형 영역(10357)(도 1j) 또는 제2 원통형 영역(10359)(도 1j)에서 발생할 수 있다. SDSF 선택을 위한 다른 기준은 원통형 영역들(10357/10359)(도 1j) 둘다에 최소 수의 포인트들이 있어야 한다는 것이다. 일부 구성들에서, 최소 수의 포인트들은 경험적으로 선택될 수 있고, 3-20의 범위 내에 속할 수 있다. SDSF 선택을 위한 다른 기준은 도넛(10371)이 포인트들의 3개의 카테고리들, 즉, 상부 도넛 포인트(10351)(도 1j), 하부 도넛 포인트(10353)(도 1j), 및 원통형 포인트(10355)(도 1j) 중 적어도 2개를 포함해야 한다는 것이다.Referring primarily to FIG. 1I , generating SDSF lines 10163 ( FIG. 1D ) includes locating the SDSFs by further filtering of concave polygons 10263 on the drivable surface 10265 ( FIG. 1H ). can do. In some configurations, the points from the point cloud data that make up the polygons are categorized as upper donut point 10351 ( FIG. 1J ), lower donut point 10353 ( FIG. 1J ), or cylindrical point 10355 ( FIG. 1J ). can be pissed off The upper donut points 10351 ( FIG. 1J ) may fall within the shape of the SDSF model 10352 furthest from the ground. The lower donut points 10353 ( FIG. 1J ) may fall within the shape of the SDSF model 10352 closest to the ground or at ground level. Cylindrical points 10355 ( FIG. 1J ) may fall within the shape between upper donut points 10351 ( FIG. 1J ) and lower donut points 10353 ( FIG. 1J ). The combination of categories can form donut 10371 . To determine whether the donuts 10371 form the SDSF, certain criteria are tested. For example, in each donut 10371 , there should be a minimum number of points that are top donut points 10351 ( FIG. 1J ) and a minimum number of points that are bottom donut points 10353 ( FIG. 1J ). In some configurations, the minimums may be chosen empirically and may fall within the range of about 5-20. Each donut 10371 may be divided into multiple portions, eg, two hemispheres. Another criterion for determining whether the points in donut 10371 represent SDSF is whether most of the points are within opposite hemispheres of portions of donut 10371 . The cylindrical points 10355 ( FIG. 1J ) may occur in the first cylindrical region 10357 ( FIG. 1J ) or the second cylindrical region 10359 ( FIG. 1J ). Another criterion for SDSF selection is that there must be a minimum number of points in both cylindrical regions 10357/10359 (FIG. 1J). In some configurations, the minimum number of points may be selected empirically and may fall within the range of 3-20. Another criterion for SDSF selection is that donut 10371 falls into three categories of points: upper donut point 10351 (FIG. 1J), lower donut point 10353 (FIG. 1J), and cylindrical point 10355 ( 1j) should include at least two of them.

주로 도 1i를 계속 참조하면, 일부 구성들에서, 다각형들은 병렬로 처리될 수 있다. 각각의 카테고리 워커(category worker)(10362)는 SDSF 포인트들(10789)(도 1n)에 대해 그의 할당된 다각형을 검색할 수 있고, 카테고리들(10763)(도 1g)에 SDSF 포인트들(10789)(도 1n)을 할당할 수 있다. 다각형들이 처리될 때, 결과적인 포인트 카테고리들(10763)(도 1g)은 결합(10363)되어 결합된 카테고리들(10366)을 형성할 수 있고, 카테고리들은 단축(10365)되어 단축된 결합된 카테고리들(10368)을 형성할 수 있다. SDSF 포인트들(10789)(도 1n)을 단축하는 것은 지면으로부터의 그들의 거리들에 대해 SDSF 포인트들(10789)(도 1n)을 필터링하는 것을 포함할 수 있다. 단축된 결합된 카테고리들(10368)은 각각의 SDSF 포인트(10766)(도 1g) 주위의 영역을 검색하고, 평균 포인트들(10765)(도 1g)을 생성함으로써 평균될 수 있고, 가능하게는 평균 워커들(10373)에 의해 병렬로 처리될 수 있고, 카테고리의 포인트들은 평균화된 도넛들(10375)의 세트를 형성한다. 일부 구성들에서, 각각의 SDSF 포인트(10766)(도 1g) 주위의 반경은 경험적으로 결정될 수 있다. 일부 구성들에서, 각각의 SDSF 포인트(10766)(도 1g) 주위의 반경은 0.1m 내지 1.0m의 범위를 포함할 수 있다. 평균 포인트(10765)(도 1g)에서의 SDSF에 대해 SDSF 궤적(10377)(도 1g) 상의 하나의 포인트와 다른 것 사이의 높이 변화는 계산될 수 있다. 평균화된 도넛들(10375)을 함께 접속하는 것은 SDSF 궤적(10377)(도 1g 및 도 1k)을 생성할 수 있다. SDSF 궤적(10377)(도 1g 및 도 1k)을 생성 시에, 시작 포인트의 검색 반경 내에 2개의 다음 후보 포인트들이 존재하는 경우, 다음 포인트는 이전 라인 세그먼트들, 시작 포인트 및 후보 목적지 포인트 사이에 가능한 직선 라인을 형성하는 것에 적어도 기초하여 선택될 수 있고, 후보 다음 포인트는 이전 포인트들과 후보 다음 포인트 사이의 SDSF 높이의 최소 변화를 나타낸다. 일부 구성들에서, SDSF 높이는 상부 도넛(10351)(도 1j)과 하부 도넛(10353)(도 1j)의 높이 사이의 차이로서 정의될 수 있다.With continued reference primarily to FIG. 1I , in some configurations polygons may be processed in parallel. Each category worker 10362 may search its assigned polygon for SDSF points 10789 ( FIG. 1N ) and SDSF points 10789 to categories 10763 ( FIG. 1G ). (FIG. 1n) can be assigned. When the polygons are processed, the resulting point categories 10763 ( FIG. 1G ) can be combined 10363 to form combined categories 10366 , which can be shortened 10365 to form shortened combined categories. (10368) may be formed. Shortening the SDSF points 10789 ( FIG. 1N ) may include filtering the SDSF points 10789 ( FIG. 1N ) for their distances from the ground. The shortened combined categories 10368 can be averaged by searching the area around each SDSF point 10766 (FIG. 1G) and generating average points 10765 (FIG. 1G), possibly averaging Processed in parallel by workers 10373 , the points in the category form an averaged set of donuts 10375 . In some configurations, the radius around each SDSF point 10766 ( FIG. 1G ) may be determined empirically. In some configurations, the radius around each SDSF point 10766 ( FIG. 1G ) may include a range from 0.1 m to 1.0 m. The change in height between one point and another on the SDSF trajectory 10377 ( FIG. 1G ) may be calculated for the SDSF at the average point 10765 ( FIG. 1G ). Connecting the averaged donuts 10375 together can create the SDSF trajectory 10377 ( FIGS. 1G and 1K ). When generating the SDSF trajectory 10377 ( FIGS. 1G and 1K ), if there are two next candidate points within the search radius of the starting point, the next point is a possible between the previous line segments, the starting point and the candidate destination point. may be selected based at least on forming a straight line, wherein the candidate next point represents the smallest change in SDSF height between the previous points and the candidate next point. In some configurations, the SDSF height may be defined as the difference between the height of the upper donut 10351 ( FIG. 1J ) and the lower donut 10353 ( FIG. 1J ).

이제 주로 도 1l을 참조하면, 오목 다각형들 및 SDSF 라인들을 결합하는 것(10165)(도 1d)은 다각형들(10139)(도 1d) 및 SDSF들(10141)(도 1d)을 포함하는 데이터세트를 생성할 수 있고, 데이터세트는 SDSF 데이터를 갖는 그래핑 다각형들을 생성하도록 조작될 수 있다. 오목 다각형들(10263)을 조작하는 것은, 제한적인 것은 아니지만, 오목 다각형들(10263)을 병합하여 병합된 다각형(10771)을 형성하는 것을 포함할 수 있다. 오목 다각형들(10263)을 병합하는 것은, 예를 들어, 제한적인 것은 아니지만,

Figure pct00005
에서 발견되는 것들과 같은 알려진 방법들을 이용하여 달성될 수 있다. 병합된 다각형(10771)은 에지들을 평활화하고 확장된 다각형(10772)을 형성하도록 확장될 수 있다. 확장된 다각형(10772)은 드라이빙 마진을 제공하도록 수축될 수 있어, SDSF 궤적들(10377)(도 1m)이 추가될 수 있는 수축된 다각형(10774)을 형성한다. 안쪽으로의 트리밍(수축)은 AV(10101)(도 1a)의 크기에 적어도 기초하여 미리 선택된 양만큼 드라이빙가능 표면의 크기를 감소시킴으로써 AV(10101)(도 1a)가 이동할 에지들 근처에 공간이 있는 것을 보장할 수 있다. 다각형 확장 및 수축은, 예를 들어, 제한적인 것은 아니지만, ARCGIS® 클립 명령 (http://desktop.arcgis.com/en/arcmap/10.3/manage-data/editing-existing-features/clipping-a-polygon-feature.htm)과 같은 상업적으로 이용가능한 기술에 의해 달성될 수 있다.Referring now primarily to FIG. 1L , combining concave polygons and SDSF lines 10165 ( FIG. 1D ) is a dataset comprising polygons 10139 ( FIG. 1D ) and SDSFs 10141 ( FIG. 1D ). , and the dataset can be manipulated to create graphing polygons with SDSF data. Manipulating the concave polygons 10263 may include, but is not limited to, merging the concave polygons 10263 to form a merged polygon 10771 . Merging the concave polygons 10263 may include, but is not limited to,
Figure pct00005
can be accomplished using known methods such as those found in The merged polygon 10771 may be expanded to smooth the edges and form an expanded polygon 10772 . The expanded polygon 10772 can be contracted to provide driving margin, forming a contracted polygon 10774 to which SDSF trajectories 10377 (FIG. 1M) can be added. The inward trimming (retraction) reduces the size of the drivable surface by a pre-selected amount based at least on the size of the AV 10101 ( FIG. 1A ) so that there is space near the edges on which the AV 10101 ( FIG. 1A ) will move. can guarantee that there is Polygon expansion and contraction can be performed by, for example, but not limited to, the ARCGIS® clip command (http://desktop.arcgis.com/en/arcmap/10.3/manage-data/editing-existing-features/clipping-a- polygon-feature.htm) can be achieved by commercially available technologies.

이제 주로 도 1m을 참조하면, 수축된 다각형(10774)은 다각형들(10778)으로 분할될 수 있고, 이들 각각은 비-드라이빙가능 표면을 만나지 않고 횡단될 수 있다. 수축된 다각형(10774)은, 예를 들어, 제한적인 것은 아니지만, z차(z-order) 곡선 해싱에 의해 최적화되고, 구멍, 트위스트된 다각형들, 축퇴들, 및 자기-교차부들을 처리하도록 확장된 이어 슬라이싱(ear slicing)과 같은 종래의 수단들에 의해 분할될 수 있다. 상업적으로 이용가능한 이어 슬라이싱 구현들은, 제한적인 것은 아니지만,

Figure pct00006
에서 발견되는 것들을 포함할 수 있다. SDSF 궤적(10377)은 다각형 정점들(10781)에 접속될 수 있는 SDSF 포인트들(10789)(도 1n)를 포함할 수 있다. 정점들(10781)은 AV(10101)(도 1a)에 대한 가능한 이동 경로들을 형성하기 위해 서로 접속될 수 있는 가능한 경로 포인트들인 것으로 간주될 수 있다. 데이터세트에서, SDSF 포인트들(10789)(도 1n)은 그와 같이 라벨링될 수 있다. 분할이 진행됨에 따라, 예를 들어, 제한적인 것은 아니지만, 에지들(10777 및 10779)과 같은 중복 에지들이 도입되는 것이 가능하다. 에지들(10777 또는 10779) 중 하나를 제거하는 것은 추가 분석의 복잡성을 감소시킬 수 있고 다각형 메시를 유지할 수 있다. 일부 구성들에서, Hertel-Mehlhorn 다각형 분할 알고리즘은 에지를 제거하고, 피처들로서 라벨링된 에지들을 스킵하는데 이용될 수 있다. 라벨링된 피처들을 포함한 다각형들(10778)의 세트는 가능한 경로 포인트들의 수를 감소시키기 위해 추가의 단순화를 겪을 수 있고, 가능한 경로 포인트들은 점유 그리드를 채우는데 이용될 수 있는 주석달린 포인트 데이터(10379)(도 5b)의 형태로 디바이스 제어기(10111)(도 1a)에 제공될 수 있다.Referring now primarily to FIG. 1M , the collapsed polygon 10774 may be divided into polygons 10778 , each of which may be traversed without encountering a non-drivable surface. The constricted polygon 10774 is optimized by, for example, but not limited to, z-order curve hashing and expanded to handle holes, twisted polygons, degenerates, and self-intersections. It can be divided by conventional means such as ear slicing. Commercially available ear slicing implementations include, but are not limited to,
Figure pct00006
may include those found in SDSF trajectory 10377 may include SDSF points 10789 ( FIG. 1N ), which may be connected to polygonal vertices 10781 . Vertices 10781 may be considered to be possible path points that may be connected to each other to form possible travel paths for AV 10101 ( FIG. 1A ). In the dataset, SDSF points 10789 ( FIG. 1N ) may be labeled as such. As the segmentation progresses, it is possible for overlapping edges to be introduced, such as, for example, but not limited to, edges 10777 and 10779 . Removing one of the edges 10777 or 10779 may reduce the complexity of further analysis and preserve the polygonal mesh. In some configurations, the Hertel-Mehlhorn polygon segmentation algorithm can be used to remove an edge and skip edges labeled as features. The set of polygons 10778 containing labeled features may undergo further simplification to reduce the number of possible path points, the possible path points being annotated point data 10379 that may be used to populate the occupancy grid. It may be provided to the device controller 10111 (FIG. 1A) in the form of (FIG. 5B).

이제 도 2a 및 도 2b를 참조하면, AV에 의해 수집된 센서 데이터는 또한 점유 그리드를 채우는데 이용될 수 있다. AV에서의 프로세서들은 화물 컨테이너(20110)의 최상부 상에 장착된 장거리 센서 조립체(20400)에서의 센서들로부터 그리고 화물 플랫폼(20160)에 위치된 단거리 센서들(20510, 20520, 20530, 20540) 및 다른 센서들로부터 데이터를 수신할 수 있다. 또한, 프로세서들은 화물 컨테이너(20110)의 전방의 최상부 근처에 장착된 선택적 단거리 센서(20505)로부터 데이터를 수신할 수 있다. 프로세서들은 또한 셀룰러, WiFi 및/또는 GPS를 포함하는 하나 이상의 안테나(20122A, 20122B)(도 1c)로부터 데이터를 수신할 수 있다. 일 예에서, AV(20100)는 장거리 센서 조립체(20400)의 최상부 상에 위치된 GPS 안테나(20122A)(도 1c) 및/또는 화물 컨테이너(20110)의 최상부에 위치된 안테나(20122B)(도 1c)를 갖는다. 프로세서들은 AV(20100) 내의 어디에나 위치될 수 있다. 일부 예들에서, 하나 이상의 프로세서는 장거리 센서 조립체(20400)에 위치될 수 있다. 추가적인 프로세서들이 화물 플랫폼(20160)에 위치될 수 있다. 다른 예들에서, 프로세서들은 화물 컨테이너(20110)에 및/또는 파워 베이스(20170)의 일부로서 위치될 수 있다.Referring now to FIGS. 2A and 2B , the sensor data collected by the AV may also be used to populate the occupancy grid. The processors in the AV are from sensors in the long-range sensor assembly 20400 mounted on top of the cargo container 20110 and from the short-range sensors 20510 , 20520 , 20530 , 20540 located in the cargo platform 20160 and other It can receive data from sensors. The processors may also receive data from an optional short-range sensor 20505 mounted near the top of the front of the cargo container 201110 . The processors may also receive data from one or more antennas 20122A, 20122B ( FIG. 1C ) including cellular, WiFi, and/or GPS. In one example, AV 201000 includes GPS antenna 20122A ( FIG. 1C ) positioned on top of long range sensor assembly 20400 and/or antenna 20122B positioned on top of cargo container 201110 ( FIG. 1C ). ) has Processors may be located anywhere within AV 201000 . In some examples, one or more processors may be located in the long range sensor assembly 20400 . Additional processors may be located in the cargo platform 20160 . In other examples, the processors may be located in the cargo container 201110 and/or as part of the power base 20170 .

도 2a 및 도 2b를 계속 참조하면, 장거리 센서 조립체(20400)는 AV를 둘러싸는 환경의 개선된 뷰를 제공하기 위해 화물 컨테이너의 최상부 상에 장착된다. 일 예에서, 장거리 센서 조립체(20400)는 이동 표면 또는 지면 위로 1.2m 피트 초과이다. 화물 컨테이너가 더 높거나 파워 베이스 구성이 화물 플랫폼(20160)을 상승시키는 다른 예들에서, 장거리 센서 조립체(20400)는 AV가 위로 이동하고 있는 지면 위로 1.8m일 수 있다. 장거리 센서 조립체(20400)는 최소 거리로부터 최대 범위까지 AV 주위의 환경에 관한 정보를 제공한다. 최소 거리는 장거리 센서들(20400)과 화물 컨테이너(20110)의 상대 위치에 의해 정의될 수 있다. 최소 거리는 센서들의 시야(FOV)에 의해 추가로 정의될 수 있다. 최대 거리는 장거리 센서 조립체(20400) 내의 장거리 센서들의 범위에 의해 및/또는 프로세서들에 의해 정의될 수 있다. 일 예에서, 장거리 센서들의 범위는 20 미터로 제한된다. 일 예에서, 벨로다인 퍽(Velodyne Puck) LIDAR는 100m까지의 범위를 갖는다. 장거리 센서 조립체(20400)는 모든 방향들에서 물체들에 관한 데이터를 제공할 수 있다. 센서 조립체는 AV(20100) 주위에서 360° 각도에 걸쳐 구조들, 표면들, 및 장애물들에 관한 정보를 제공할 수 있다.With continued reference to FIGS. 2A and 2B , the long range sensor assembly 20400 is mounted on top of the cargo container to provide an improved view of the environment surrounding the AV. In one example, the long range sensor assembly 20400 is more than 1.2 m feet above the moving surface or ground. In other examples where the cargo container is taller or the power base configuration elevates the cargo platform 20160 , the long range sensor assembly 20400 may be 1.8 m above the ground the AV is moving upwards. The long range sensor assembly 20400 provides information about the environment around the AV from a minimum distance to a maximum range. The minimum distance may be defined by the relative positions of the long-range sensors 20400 and the cargo container 201110 . The minimum distance may be further defined by the field of view (FOV) of the sensors. The maximum distance may be defined by the processors and/or by the range of the long-range sensors in the long-range sensor assembly 20400 . In one example, the range of long-range sensors is limited to 20 meters. In one example, the Velodyne Puck LIDAR has a range of up to 100 m. The long range sensor assembly 20400 can provide data about objects in all directions. The sensor assembly may provide information about structures, surfaces, and obstacles over a 360° angle around the AV 201000 .

도 2a를 계속 참조하면, 윈도우들(20434, 20436 및 20438)을 통해 관찰하는 3개의 장거리 카메라는 360° FOV를 함께 제공하는 수평 FOV들(20410, 20412, 20414)을 제공할 수 있다. 수평 FOV는 선택된 카메라 및 장거리 카메라 조립체(20400) 내의 카메라들의 위치에 의해 정의될 수 있다. 시야들을 설명함에 있어서, 제로 각도는 AV(20100)의 중심을 통하고 AV의 전방에 수직인 수직 평면에 위치된 광선이다. 제로 각도 광선은 AV의 전방을 통과한다. 윈도우(20434)를 통해 보는 전방 장거리 카메라는 311° 내지 47°의 96° FOV(20410)를 갖는다. 윈도우(20436)를 통해 보는 좌측 장거리 카메라는 47° 내지 180°의 FOV(20412)를 갖는다. 윈도우(20438)를 통해 보는 우측 장거리 카메라는 180° 내지 311°의 FOV(20414)를 갖는다. 장거리 센서 조립체(20400)는 장거리 카메라들보다 AV(20100)의 전방에 있는 물체들 및 표면들에 관한 더 상세한 정보를 제공하는 윈도우(20432)를 통해 관찰하도록 위치된 산업용 카메라를 포함할 수 있다. 윈도우(20432) 후방에 위치된 산업용 카메라는 선택된 카메라 및 장거리 카메라 조립체(20400) 내의 카메라들의 위치에 의해 정의된 FOV(20416)를 가질 수 있다. 일 예에서, 윈도우(20432) 후방의 산업용 카메라는 23° 내지 337°의 FOV를 갖는다.With continued reference to FIG. 2A , three long range cameras viewing through windows 20434 , 20436 and 20438 can provide horizontal FOVs 20410 , 20412 , 20414 together providing a 360° FOV. The horizontal FOV may be defined by the selected camera and the location of the cameras within the long range camera assembly 20400 . In describing the fields of view, a zero angle is a ray located in a vertical plane that is through the center of the AV 2010 and is perpendicular to the front of the AV. The zero angle ray passes in front of the AV. The forward long range camera looking through window 20434 has a 96° FOV 20410 of 311° to 47°. The left long-range camera looking through window 20436 has a FOV 20412 between 47° and 180°. The right long-range camera looking through window 20438 has a FOV 20414 of 180° to 311°. The long range sensor assembly 20400 may include an industrial camera positioned to view through a window 20432 that provides more detailed information about objects and surfaces in front of the AV 2020 than the long range cameras. An industrial camera located behind the window 20432 may have a FOV 20416 defined by the selected camera and the location of the cameras within the long range camera assembly 20400 . In one example, the industrial camera behind window 20432 has a FOV of 23° to 337°.

이제 도 2b를 참조하면, LIDAR(20420)는 AV(20100) 주위에 360° 수평 FOV를 제공한다. 수직 FOV는 LIDAR 기기에 의해 제한될 수 있다. 일 예에서, 지면 위의 1.2m 내지 1.8m에 장착된 40°의 수직 FOV(20418)는 AV(20100)로부터 3.3m 내지 5m에 센서의 최소 거리를 설정한다.Referring now to FIG. 2B , LIDAR 20420 provides a 360° horizontal FOV around AV 201000 . The vertical FOV may be limited by the LIDAR instrument. In one example, a 40° vertical FOV 20418 mounted 1.2 m to 1.8 m above the ground sets the minimum distance of the sensor from 3.3 m to 5 m from the AV 2020.

이제 도 2c 및 도 2d를 참조하면, 장거리 센서 조립체(20400)는 커버(20430)와 함께 도시되어 있다. 커버(20430)는 윈도우들(20434, 20432, 20436)을 포함하고, 이를 통해 장거리 카메라들 및 산업용 카메라가 AV(20100) 주변의 환경을 관찰한다. 장거리 센서 조립체(20400)를 위한 커버(20430)는 커버(20430)와 화물 컨테이너(20110)의 최상부 사이의 O-링(ring)에 의해 날씨로부터 밀봉된다.Referring now to FIGS. 2C and 2D , a long range sensor assembly 20400 is shown with a cover 20430 . The cover 20430 includes windows 20434 , 20432 , 20436 through which long-range cameras and industrial cameras view the environment around the AV 2020 . The cover 20430 for the long range sensor assembly 20400 is sealed from the weather by an O-ring between the cover 20430 and the top of the cargo container 201110 .

이제 도 2e 및 도 2f를 참조하면, 카메라들 및 프로세서들의 예들을 보여주기 위해 커버(20430)가 제거되었다. LIDAR 센서(20420)는 AV 주위의 표면들까지의 거리 또는 범위에 관한 데이터를 제공한다. 이들 데이터는 장거리 센서 조립체(20400)에 위치된 프로세서(20470)에 제공될 수 있다. LIDAR는 장거리 카메라들(20440A 내지 20440C) 및 커버(20430) 위의 구조체(20405) 상에 장착된다. LIDAR 센서(20420)는 반사된 레이저 펄스 광에 기초한 레인징(ranging) 센서의 일 예이다. 반사된 라디오 파들을 이용하는 레이더와 같은 다른 레인징 센서들이 또한 이용될 수 있다. 일 예에서, LIDAR 센서(20420)는 캘리포니아주 산호세의 VELODYNE LIDAR®에 의한 퍽(Puck) 센서이다. 3개의 장거리 카메라(20440A, 20440B, 20440C)는 AV(20100) 주위의 물체들, 표면들 및 구조들의 디지털 이미지들을 제공한다. 3개의 장거리 카메라들(20440A, 20440B, 20440C)은 AV 주위의 전체 360°를 커버하는 3개의 수평 FOV를 제공하기 위해 커버(20430)에 대해 구조체(20405) 주위에 배열된다. 장거리 카메라들(20440A, 20440B, 20440C)은 화물 컨테이너(20110)에 장착되는 상승된 링 구조체(20405) 상에 있다. 장거리 카메라들(20440A, 20440B, 20440C)은 커버(20430)에 장착되는 윈도우들(20434, 20436, 20438)을 통해 이미지들을 수신한다. 장거리 카메라들은 인쇄 회로 보드(PCB) 상의 카메라 및 렌즈를 포함할 수 있다.Referring now to FIGS. 2E and 2F , cover 20430 has been removed to show examples of cameras and processors. The LIDAR sensor 20420 provides data regarding the distance or range to surfaces around the AV. These data may be provided to a processor 20470 located in the long range sensor assembly 20400 . The LIDAR is mounted on structure 20405 over cover 20430 and long range cameras 20440A - 20440C. The LIDAR sensor 20420 is an example of a ranging sensor based on reflected laser pulsed light. Other ranging sensors may also be used, such as radar using reflected radio waves. In one example, the LIDAR sensor 20420 is a Puck sensor by VELODYNE LIDAR® of San Jose, CA. Three long range cameras 20440A, 20440B, 20440C provide digital images of objects, surfaces and structures around AV 201000 . Three long range cameras 20440A, 20440B, 20440C are arranged around structure 20405 relative to cover 20430 to provide three horizontal FOVs covering a full 360° around the AV. Long range cameras 20440A, 20440B, 20440C are on a raised ring structure 20405 mounted to cargo container 201110 . Long range cameras 20440A, 20440B, 20440C receive images through windows 20434 , 20436 , 20438 mounted to cover 20430 . Long range cameras may include a camera and lens on a printed circuit board (PCB).

이제 도 2f를 참조하면, 장거리 카메라(20440A)의 일 예는 디지털 카메라(20444)의 전방에 장착된 어안(fisheye) 렌즈(20442)를 갖는 디지털 카메라(20444)를 포함할 수 있다. 어안 렌즈(20442)는 카메라의 FOV를 훨씬 더 넓은 각도로 확장할 수 있다. 일 예에서, 어안 렌즈는 시야를 180°로 확장한다. 일 예에서, 디지털 카메라(20444)는 캘리포니아주 산호세의 E-con Systems에 의한 e-cam52A_56540_MOD와 유사하다. 일 예에서, 어안 렌즈(20442)는 캘리포니아주 칼스배드의 Sunex에 의한 모델 DSL227과 유사하다.Referring now to FIG. 2F , one example of a long range camera 20440A may include a digital camera 20444 having a fisheye lens 20442 mounted to the front of the digital camera 20444 . The fisheye lens 20442 can extend the FOV of the camera to a much wider angle. In one example, the fisheye lens expands the field of view to 180°. In one example, digital camera 20444 is similar to e-cam52A_56540_MOD by E-con Systems of San Jose, CA. In one example, fisheye lens 20442 is similar to model DSL227 by Sunex of Carlsbad, CA.

도 2f를 계속 참조하면, 장거리 센서 조립체(20400)는 또한, 커버(20430)에서의 윈도우(20432)를 통해 시각적 데이터를 수신하는 산업용 카메라(20450)를 포함할 수 있다. 산업용 카메라(20450)는 AV 전방의 물체들, 표면들 및 구조들에 관한 추가 데이터를 프로세서(20470)에 제공한다. 카메라는 Kowa 산업용 카메라 부품 번호 LM6HC와 유사할 수 있다. 산업용 카메라(20450) 및 장거리 카메라들(20440A 내지 20440C)은 AV(20100)가 이동하고 있는 표면 위 1.2m 내지 1.8m에 위치한다.With continued reference to FIG. 2F , the long range sensor assembly 20400 may also include an industrial camera 20450 that receives visual data through a window 20432 in the cover 20430 . The industrial camera 20450 provides additional data to the processor 20470 regarding objects, surfaces and structures in front of the AV. The camera may be similar to the Kowa industrial camera part number LM6HC. Industrial camera 20450 and long-range cameras 20440A-20440C are located 1.2 m to 1.8 m above the surface on which AV 2010 is moving.

도 2f를 계속 참조하면, 화물 컨테이너의 최상부 상에 장거리 센서 조립체(20400)를 장착하는 것은 적어도 2개의 이점을 제공한다. 장거리 카메라들(20440A 내지 20440C), 산업용 카메라(20450) 및 LIDAR(20420)를 포함하는 장거리 센서들에 대한 시야들은, 센서가 지면 위에 더 장착될 때, 사람, 자동차들, 낮은 벽들 등과 같은 인근 물체들에 의해 덜 자주 차단된다. 추가적으로, 보행자 길들은 사람이 지각하기 위한 신호(signage), 펜스 높이 등을 포함하는 시각적 큐들(visual cues)을 제공하도록 구성되고, 전형적인 눈 레벨은 1.2m 내지 1.8m의 범위에 있다. 화물 컨테이너의 최상부에 장거리 센서 조립체(20400)를 장착하는 것은 장거리 카메라(20440A 내지 20440C, 20450)를 신호와 동일한 레벨에 그리고 보행자에 지향된 시각적 큐들 위에 둔다. 장거리 센서들은 AV(20100)의 이동에 의해 야기된 편향들에 저항하는 실질적이고 강성인 장착부(mount)를 제공하는 구조체(20405) 상에 장착된다.With continued reference to FIG. 2F , mounting the long range sensor assembly 20400 on top of a freight container provides at least two advantages. Fields of view for long-range sensors, including long-range cameras 20440A-20440C, industrial camera 20450, and LIDAR 20420, when the sensor is further mounted above the ground, provide a view of nearby objects such as people, cars, low walls, etc. less frequently blocked by Additionally, pedestrian paths are configured to provide visual cues including signage, fence height, etc. for human perception, with typical eye levels in the range of 1.2m to 1.8m. Mounting the long range sensor assembly 20400 on top of the cargo container places the long range cameras 20440A-20440C, 20450 at the same level as the signal and above the visual cues directed to the pedestrian. The long range sensors are mounted on a structure 20405 that provides a substantial and rigid mount that resists deflections caused by movement of the AV 201000 .

도 2e 및 도 2f를 다시 참조하면, 장거리 센서 조립체는 관성 측정 유닛(IMU) 및 장거리 센서들로부터 데이터를 수신하고 처리된 데이터를 내비게이션을 위해 다른 프로세서들로 출력하는 하나 이상의 프로세서들을 포함할 수 있다. 수직 기준(VRU)을 갖는 IMU(20460)는 구조체(20405)에 장착된다. IMU/VRU(20460)는 LIDAR(20420) 상에 위치 데이터를 제공하기 위해 LIDAR(20420) 바로 아래에 위치될 수 있다. IMU/VRU(20460)로부터의 위치 및 배향은 다른 장거리 센서들로부터의 데이터와 결합될 수 있다. 일 예에서, IMU/VRU(20460)는 네덜란드의 Xsens Technologies에 의해 공급되는 모델 MTi 20이다. 하나 이상의 프로세서는 적어도 산업용 카메라(20450)로부터 데이터를 수신하는 프로세서(20465)를 포함할 수 있다. 또한, 프로세서(20470)는 다음의 것, 즉, LIDAR(20420), 장거리 카메라들(20440A 내지 20440C), 산업용 카메라(20450), 및 IMU/VRU(20460) 중 적어도 하나로부터 데이터를 수신할 수 있다. 프로세서(20470)는 순환 냉각제 시스템에 접속되는 액체 냉각 열 교환기(20475)에 의해 냉각될 수 있다.Referring back to FIGS. 2E and 2F , the long range sensor assembly may include an inertial measurement unit (IMU) and one or more processors that receive data from the long range sensors and output the processed data to other processors for navigation. . An IMU 20460 with a vertical reference (VRU) is mounted to the structure 20405 . An IMU/VRU 20460 may be located directly below the LIDAR 20420 to provide location data on the LIDAR 20420 . The position and orientation from the IMU/VRU 20460 may be combined with data from other long-range sensors. In one example, the IMU/VRU 20460 is a model MTi 20 supplied by Xsens Technologies of the Netherlands. The one or more processors can include at least a processor 20465 that receives data from the industrial camera 20450 . In addition, the processor 20470 may receive data from at least one of the following: LIDAR 20420, long-range cameras 20440A-20440C, industrial camera 20450, and IMU/VRU 20460. . The processor 20470 may be cooled by a liquid cooling heat exchanger 20475 that is connected to a circulating coolant system.

이제 도 2g를 참조하면, AV(20100)는 AV로부터 미리 결정된 거리 내에 드라이빙가능 표면들 및 장애물들을 검출하는 다수의 단거리 센서들을 포함할 수 있다. 단거리 센서들(20510, 20520, 20530, 20540, 20550, 및 20560)은 컨테이너 플랫폼(20160)의 주변부 상에 위치된다. 이들 센서들은 화물 컨테이너(20110)(도 2b) 아래에 위치되고 장거리 센서 조립체(20400)(도 2c)보다 지면에 더 가깝다. 단거리 센서들(20510, 20520, 20530, 20540, 20550, 및 20560)은 장거리 센서 조립체(20400)(도 2c)에서의 센서들에 의해 보여질 수 없는 표면들 및 물체들을 캡처하는 FOV들을 제공하기 위해 하향으로 각을 이룬다. 지면에 더 가깝게 위치되고 하향으로 각을 이루는 센서의 시야는 지면으로부터 더 멀리 장착된 센서들보다 인근 물체들 및 보행자들에 의해 방해될 가능성이 더 적다. 일 예에서, 단거리 센서들은 AV(20100)로부터 4m까지 지면 표면들 및 물체들에 관한 정보를 제공한다.Referring now to FIG. 2G , AV 201000 may include multiple short-range sensors that detect drivable surfaces and obstacles within a predetermined distance from the AV. Short-range sensors 20510 , 20520 , 20530 , 20540 , 20550 , and 20560 are located on the perimeter of container platform 20160 . These sensors are located below the cargo container 201110 ( FIG. 2B ) and are closer to the ground than the long range sensor assembly 20400 ( FIG. 2C ). The short-range sensors 20510 , 20520 , 20530 , 20540 , 20550 , and 20560 are used to provide FOVs that capture surfaces and objects that cannot be seen by the sensors in the long-range sensor assembly 20400 ( FIG. 2C ). angle downwards. The view of a sensor positioned closer to the ground and angled downward is less likely to be obstructed by nearby objects and pedestrians than sensors mounted further away from the ground. In one example, short-range sensors provide information about ground surfaces and objects up to 4 m from AV 201000 .

도 2b를 다시 참조하면, 단거리 센서들 중 2개에 대한 수직 FOV들은 AV(20100)의 측면도에 도시되어 있다. 후미 대향 센서(20540)의 수직 FOV(20542)는 중심 라인(20544)을 중심으로 센터링되어 있다. 중심 라인(20544)은 화물 플랫폼(20160)의 최상부 표면 아래로 각을 이루고 있다. 일 예에서, 센서(20540)는 수직 FOV 42° 및 화물 플랫폼(20160)의 상부 플레이트에 의해 정의된 평면(20547) 아래로 22° 내지 28°(20546) 각을 이루는 중심 라인을 갖는다. 일 예에서, 단거리 센서들(20510 및 20540)은 지면으로부터 대략 0.55m 내지 0.71m 위에 있다. 결과적인 수직 FOV들(20512, 20542)은 AV로부터 0.4m 내지 4.2m에서 지면을 커버한다. 화물 베이스(20160) 상에 장착된 단거리 센서들(20510, 20520, 20530, 20550)(도 2g), 20560(도 2g))은 화물 플랫폼의 최상부에 대해 유사한 수직 시야들 및 중심 라인 각도를 갖는다. 화물 플랫폼(20160) 상에 장착된 단거리 센서들은 AV(20100)의 외부 에지로부터 0.4 내지 4.7 미터에서 지면을 볼 수 있다.Referring again to FIG. 2B , vertical FOVs for two of the short range sensors are shown in a side view of AV 201000 . The vertical FOV 20542 of the aft facing sensor 20540 is centered about the center line 20544 . The center line 20544 is angled below the top surface of the cargo platform 20160 . In one example, the sensor 20540 has a vertical FOV of 42° and a centerline angled 22° to 28° (20546) below the plane 20547 defined by the top plate of the cargo platform 20160 . In one example, short range sensors 20510 and 20540 are approximately 0.55 m to 0.71 m above ground level. The resulting vertical FOVs 20512 and 20542 cover the ground from 0.4 m to 4.2 m from the AV. The short range sensors 20510 , 20520 , 20530 , 20550 ( FIG. 2G ), 20560 ( FIG. 2G ) mounted on the cargo base 20160 have similar vertical fields of view and center line angle to the top of the cargo platform. Short range sensors mounted on cargo platform 20160 can see the ground from 0.4 to 4.7 meters from the outer edge of AV 201000 .

도 2b를 계속 참조하면, 단거리 센서(20505)는 화물 컨테이너(20110)의 최상부 근처의 전방 표면 상에 장착될 수 있다. 일 예에서, 센서(20505)는 단거리 센서(20510)에 의해 제공된 뷰에 AV의 전방에 있는 지면의 추가 뷰들을 제공할 수 있다. 다른 예에서, 센서(20505)는 단거리 센서(20510)에 의해 제공된 뷰 대신에 AV의 전방에 있는 지면의 뷰를 제공할 수 있다. 일 예에서, 단거리 센서(20505)는 42°의 수직 FOV(20507)를 가질 수 있고 화물 플랫폼(20160)의 최상부에 대한 중심 라인의 각도는 39°이다. 지면의 결과적인 뷰는 AV로부터 0.7m로부터 3.75m까지 확장된다.With continued reference to FIG. 2B , the short range sensor 20505 may be mounted on a front surface near the top of the cargo container 201110 . In one example, the sensor 20505 may provide additional views of the ground in front of the AV to the view provided by the short range sensor 20510 . In another example, the sensor 20505 may provide a view of the ground in front of the AV instead of the view provided by the short range sensor 20510 . In one example, the short range sensor 20505 may have a vertical FOV 20507 of 42° and the angle of the center line to the top of the cargo platform 20160 is 39°. The resulting view of the ground extends from 0.7 m to 3.75 m from the AV.

도 2g를 다시 참조하면, 단거리 센서(20510, 20520, 20530, 20540, 20550, 20560)의 수평 FOV들은 AV(20100) 주위의 모든 방향들을 커버한다. 20520 및 20530과 같은 인접 센서들의 수평 FOV들(20522 및 20532)은 AV(20100)로부터 떨어진 거리에서 중첩한다. 일 예에서, 인접 센서들(20520, 20530 및 20560, 20550)의 수평 FOV들(20522, 20532 및 20562, 20552)은 AV로부터 0.5 내지 2 미터에서 중첩한다. 단거리 센서들은 화물 베이스(20160)의 주변부 주위에 분포되고, 수평 시야들을 갖고, AV를 둘러싸는 지면의 거의 완전한 시각적 커버리지를 제공하기 위해 특정 각도들로 배치된다. 일 예에서, 단거리 센서들은 69°의 수평 FOV를 갖는다. 전방 센서(20510)는 AV에 대해 제로 각도로 전방을 향하고 FOV(20512)를 갖는다. 일 예에서, 2개의 전방 코너 센서들(20520, 20560)은 중심 라인들이 65°의 각도(20564)로 있도록 각을 이룬다. 일 예에서, 후방 측면 센서들(20530, 20550)은 20530 및 20560의 중심 라인들이 110°의 각도(20534)로 있도록 각을 이룬다. 일부 구성들에서, AV(20100) 주위의 지면의 거의 완전한 뷰를 제공하기 위해 화물 베이스(20160)의 주변부 주위에 장착되는 다른 수평 FOV를 갖는 다른 수의 센서들이 가능하다.Referring back to FIG. 2G , the horizontal FOVs of short range sensors 20510 , 20520 , 20530 , 20540 , 20550 , 20560 cover all directions around AV 201000 . The horizontal FOVs 20522 and 20532 of adjacent sensors, such as 20520 and 20530, overlap at a distance from the AV 201000. In one example, the horizontal FOVs 20522 , 20532 and 20562 , 20552 of adjacent sensors 20520 , 20530 and 20560 , 20550 overlap at 0.5 to 2 meters from the AV. The short-range sensors are distributed around the perimeter of the cargo base 20160, have horizontal fields of view, and are positioned at specific angles to provide nearly complete visual coverage of the ground surrounding the AV. In one example, the short range sensors have a horizontal FOV of 69°. The forward sensor 20510 faces forward at a zero angle to AV and has a FOV 20512 . In one example, the two front corner sensors 20520 , 20560 are angled such that the center lines are at an angle 20564 of 65°. In one example, the rear side sensors 20530 , 20550 are angled such that the center lines of 20530 and 20560 are at an angle 20534 of 110°. In some configurations, other numbers of sensors with different horizontal FOVs are possible that are mounted around the perimeter of the cargo base 20160 to provide a nearly complete view of the ground around the AV 201000 .

이제 도 2h를 참조하면, 단거리 센서들(20510, 20520, 20530, 20540, 20550, 20560)은 화물 베이스(20160)의 주변에 위치한다. 단거리 카메라들은 단거리 센서들의 각도 및 위치를 설정하는 돌기들(protuberances)에 장착된다. 다른 구성에서, 센서들은 화물 베이스의 내부에 장착되어 위치하고 화물 베이스(20160)의 외부 스킨과 정렬된 윈도우들을 통해 시각적 데이터를 수신한다.Referring now to FIG. 2H , the short-range sensors 20510 , 20520 , 20530 , 20540 , 20550 , and 20560 are located on the periphery of the cargo base 20160 . Short-range cameras are mounted on protuberances that set the angle and position of the short-range sensors. In another configuration, the sensors are mounted on the interior of the cargo base and receive visual data through windows aligned with the outer skin of the cargo base 20160 .

이제 도 2i 및 도 2j를 참조하면, 단거리 센서들(20600)은 화물 베이스(20160)의 스킨 요소(20516)에 장착되고 액체 냉각 시스템을 포함할 수 있다. 스킨 요소(20516)는 단거리 센서 조립체(20600)를 화물 베이스(20160)의 최상부에 대해 미리 결정된 위치 및 수직 각도로 그리고 화물 베이스(20160)의 전방에 대해 소정 각도로 유지하는 형성된 돌출부(20514)를 포함한다. 일부 구성들에서, 단거리 센서(20510)는 화물 플랫폼(20160)에 대해 하향으로 28°만큼 각을 이루고, 단거리 센서들(20520 및 20560)은 하향으로 18° 및 전방으로 25°만큼 각을 이루고, 단거리 센서들(20530 및 20550)은 하향으로 34° 및 후방으로 20°만큼 각을 이루고, 단거리 센서(20540)는 화물 플랫폼(20160)에 대해 하향으로 28°만큼 각을 이룬다. 스킨 요소(20516)는 카메라 조립체(20600)를 수용하기 위한 공동(cavity)(20517)을 포함한다. 스킨 요소(20516)는 또한, 제한적인 것은 아니지만, 리벳들(rivets), 나사들 및 버튼들을 포함하는 기계적 파스너들(fasteners)을 수용하기 위한 복수의 요소들(20518)을 포함할 수 있다. 대안적으로, 카메라 조립체는 접착제로 장착되거나 스킨 요소(20516)에 체결하는 클립으로 제자리에 유지될 수 있다. 개스킷(gasket)(20519)은 카메라(20610)의 전방에 대해 밀봉을 제공할 수 있다.Referring now to FIGS. 2I and 2J , short range sensors 20600 are mounted to skin element 20516 of cargo base 20160 and may include a liquid cooling system. The skin element 20516 includes a formed protrusion 20514 that holds the short-range sensor assembly 20600 at a predetermined position and perpendicular to the top of the cargo base 20160 and at an angle relative to the front of the cargo base 20160. include In some configurations, the short-range sensor 20510 is angled downwardly with respect to the cargo platform 20160 by 28°, and the short-range sensors 20520 and 20560 are angled downwardly by 18° and forward by 25°; The short-range sensors 20530 and 20550 are angled 34° downward and 20° rearward, and the short-range sensor 20540 is angled downwardly with respect to the cargo platform 20160 by 28°. The skin element 20516 includes a cavity 20517 for receiving the camera assembly 20600 . Skin element 20516 may also include a plurality of elements 20518 for receiving mechanical fasteners including, but not limited to, rivets, screws, and buttons. Alternatively, the camera assembly may be adhesively mounted or held in place with clips that fasten to skin element 20516 . A gasket 20519 may provide a seal against the front of the camera 20610 .

이제 도 2k 및 도 2l을 참조하면, 단거리 센서 조립체(20600)는 수냉식 플레이트(20626)에 부착된 브래킷(20622) 상에 장착된 단거리 센서(20610)를 포함한다. 단거리 센서(20610)의 열 소산 요소 센서 블록(20616) 및 전자 블록(20620)을 더 잘 시각화하기 위해, 도 2k 및 도 2l에서 외부 케이스(20612), 투명 커버(20614) 및 히트 싱크(20618)가 부분적으로 제거되었다. 단거리 센서 조립체(20600)는 브래킷(20622)과 액체 냉각 플레이트(20626) 사이에 하나 이상의 열 전기 냉각기(TEC)(20630)를 포함할 수 있다. 액체 냉각 플레이트(20626)는 플레이트(20626)에 열적으로 접속된 냉각제 펌프 스루(coolant pumped through)(20628)에 의해 냉각된다. TEC들은 제1 및 제2 측을 갖는 전기 전력 공급 요소들이다. 전기 전력 공급 TEC는 제1 측을 냉각시키는 한편, 제1 측으로부터 제거된 열 에너지 플러스 제2 측에서의 전력을 거부한다. 단거리 센서 조립체(20600)에서, TEC들(20630)은 브래킷(20622)을 냉각시키고 열 냉각 에너지 플러스 전기 에너지를 수냉식 플레이트(20626)에 전달한다. 대안적으로, TEC(20630)는 TEC(20630)에 공급되는 전압의 크기 및 극성을 변화시킴으로써 카메라(20600)의 온도를 능동적으로 제어하는데 이용될 수 있다.Referring now to FIGS. 2K and 2L , a short-range sensor assembly 20600 includes a short-range sensor 20610 mounted on a bracket 20622 attached to a water-cooled plate 20626 . To better visualize the heat dissipation element sensor block 20616 and the electronic block 20620 of the short-range sensor 20610, an outer case 20612, a transparent cover 20614, and a heat sink 20618 in FIGS. has been partially removed. The short range sensor assembly 20600 may include one or more thermoelectric coolers (TECs) 20630 between the bracket 20622 and the liquid cooling plate 20626 . The liquid cooling plate 20626 is cooled by a coolant pumped through 20628 thermally connected to the plate 20626 . TECs are electrical power supply elements having a first and a second side. The electrical power supply TEC cools the first side while rejecting the thermal energy removed from the first side plus power at the second side. In the short range sensor assembly 20600 , the TECs 20630 cool the bracket 20622 and transfer thermal cooling energy plus electrical energy to the water cooled plate 20626 . Alternatively, the TEC 20630 may be used to actively control the temperature of the camera 20600 by varying the magnitude and polarity of the voltage supplied to the TEC 20630 .

냉각 모드에서 TEC(20630)를 동작시키는 것은 단거리 센서(20610)가 냉각제 온도 미만의 온도에서 동작하게 한다. 브래킷(20622)은 센서 블록(20616) 및 전자 블록(20620)의 냉각을 최대화하기 위해 2개의 장소에서 단거리 센서(20610)에 열적으로 접속된다. 브래킷(20622)은 나사(20625)를 통해 히트 싱크(20618)에 열적으로 부착되는 탭(20624)을 포함한다. 히트 싱크(20618)는 센서 블록(20616)에 열적으로 접속된다. 브래킷은 따라서 히트 싱크(20618), 나사(20625) 및 탭(20624)을 통해 센서 블록(20616)에 열적으로 접속된다. 브래킷(20622)은 또한 전자 블록(20620)에 기계적으로 부착되어 전자 블록(20620)의 직접 냉각을 제공한다. 브래킷(20622)은 도 2j의 요소들(20518)과 맞물리는 나사들 및 리벳들을 포함하지만 이에 제한되지 않는 복수의 기계적 부착물을 포함할 수 있다. 단거리 센서(20610)는 카메라, 스테레오 카메라, 초음파 센서, 단거리 레이더, 및 적외선 프로젝터 및 CMOS 센서를 포함하지만 이에 제한되지 않는 하나 이상의 센서를 포함할 수 있다. 하나의 예시적인 단거리 센서는 IR 프로젝터, 2개의 이미저 칩 및 RGB 카메라를 포함하는, 캘리포니아주 산타 클라라의 Intel에 의한 실감지 심도 카메라(real-sense depth camera) D435와 유사하다.Operating the TEC 20630 in cool mode causes the short range sensor 20610 to operate at a temperature below the coolant temperature. Bracket 20622 is thermally connected to short-range sensor 20610 in two places to maximize cooling of sensor block 20616 and electronics block 20620 . Bracket 20622 includes tabs 20624 that are thermally attached to heat sink 20618 via screws 20625 . The heat sink 20618 is thermally connected to the sensor block 20616 . The bracket is thus thermally connected to the sensor block 20616 via a heat sink 20618 , screws 20625 , and tabs 20624 . A bracket 20622 is also mechanically attached to the electronics block 20620 to provide direct cooling of the electronics block 20620 . Bracket 20622 may include a plurality of mechanical attachments including, but not limited to, screws and rivets that engage elements 20518 of FIG. 2J . The short-range sensor 20610 may include a camera, a stereo camera, an ultrasonic sensor, a short-range radar, and one or more sensors including, but not limited to, infrared projectors and CMOS sensors. One exemplary short-range sensor is similar to the real-sense depth camera D435 by Intel of Santa Clara, CA, which includes an IR projector, two imager chips and an RGB camera.

이제 도 2m 내지 도 2o를 참조하면, AV(20100)의 다른 실시예가 도시되어 있다. AV(20100A)는 화물 플랫폼(20160) 상에 장착된 화물 컨테이너(20110) 및 파워 베이스(20170)를 포함한다. AV(20100A)는 복수의 장거리 및 단거리 센서들을 포함한다. 주 장거리 센서들은 화물 컨테이너(20110)의 최상부 상의 센서 파일론(sensor pylon)(20400A)에 장착된다. 센서 파일론은 넓은 시야를 제공하기 위해 발산 방향들을 목표로 하는 LIDAR(20420) 및 복수의 장거리 카메라들(도시되지 않음)을 포함할 수 있다. 일부 구성들에서, LIDAR(20420)는 본 명세서의 다른 곳에 설명된 바와 같이, 예를 들어, 제한적인 것은 아니지만, 점유 그리드의 채움을 가능하게 할 수 있는 포인트 클라우드 데이터를 제공하는 것, 및 랜드마크들을 식별하고, AV(20100)를 그 환경 내에 위치시키고 및/또는 내비게이팅가능한 공간을 결정하기 위한 정보를 제공하는데 이용될 수 있다. 일부 구성들에서, Leopard Imaging Inc.로부터의 장거리 카메라는 랜드마크들을 식별하고, AV(20100)를 그 환경 내에 위치시키고 및/또는 내비게이팅가능 공간을 결정하는데 이용될 수 있다.Referring now to FIGS. 2M-2O , another embodiment of an AV 201000 is shown. The AV 20100A includes a cargo container 201110 and a power base 20170 mounted on a cargo platform 20160 . AV 201000A includes a plurality of long-range and short-range sensors. The main long range sensors are mounted to a sensor pylon 20400A on top of the cargo container 201110 . The sensor pylon may include a LIDAR 20420 targeting divergent directions to provide a wide field of view and a plurality of long-range cameras (not shown). In some configurations, the LIDAR 20420 provides point cloud data that may enable, for example, but not limited to, the population of an occupancy grid, a landmark, and a landmark, as described elsewhere herein. may be used to provide information for identifying navigable spaces, locating the AV 201000 within its environment, and/or determining a navigable space. In some configurations, a long range camera from Leopard Imaging Inc. may be used to identify landmarks, locate the AV 201000 within its environment, and/or determine a navigable space.

도 2m 내지 도 2o를 계속 참조하면, 단거리 센서들은 주로 화물 플랫폼(20160)에 장착되고, AV(20100A) 근처의 장애물들에 관한 정보를 제공한다. 일부 실시예들에서, 단거리 센서들은 AV(20100A)의 4m 내의 장애물들 및 표면들에 대한 데이터를 공급한다. 일부 구성들에서, 단거리 센서들은 AV(20100A)로부터 10m까지의 정보를 제공한다. 적어도 부분적으로 전방을 향하는 복수의 카메라들이 화물 플랫폼(20160)에 장착된다. 일부 구성들에서, 복수의 카메라들은 3개의 카메라들을 포함할 수 있다.With continued reference to FIGS. 2M-2O , short-range sensors are primarily mounted on cargo platform 20160 and provide information about obstacles near AV 201000A. In some embodiments, short-range sensors supply data about obstacles and surfaces within 4 m of AV 201000A. In some configurations, short-range sensors provide information up to 10 m from AV 201000A. A plurality of at least partially forward facing cameras are mounted to the cargo platform 20160 . In some configurations, the plurality of cameras may include three cameras.

이제 도 2o를 참조하면, 최상부 커버(20830)는 서브-루프(20810)를 드러내기 위해 부분적으로 절결되어 있다. 서브-루프(20810)는 복수의 안테나(20820)가 장착될 수 있는 단일 피스(single piece)를 제공한다. 예에서, 10개의 안테나들(20820)이 서브-루프(20810)에 장착된다. 또한, 예를 들어, 4개의 셀룰러 통신 채널은 2개의 안테나를 각각 갖고, 2개의 WiFi 안테나가 존재한다. 안테나는 셀룰러 송신 및 수신을 위한 주 안테나 및 보조 안테나로서 배선된다. 보조 안테나는, 제한적인 것은 아니지만, 간섭을 감소시키고 4G LTE 접속을 달성하는 것을 포함하는 몇몇 방법들에 의해 셀룰러 기능성을 향상시킬 수 있다. 서브-루프(20810) 뿐만 아니라 최상부 커버(20830)는 비금속성이다. 서브-루프(20810)는 최상부 커버(20830)의 10mm 내지 20mm 내의 플라스틱 표면이고, 이는 구조적이 아니고 최상부 커버(20830)가 부착되기 전에 안테나들이 프로세서들에 접속되게 한다. 안테나 접속들은 종종 고임피던스이고, 먼지, 그리스(grease) 및 오처리에 민감하다. 안테나를 서브-루프(20810)에 장착하고 접속하는 것은 최상부 커버가 안테나 접속들을 터치하지 않고 설치 및 제거되게 한다. 유지보수 및 수리 동작들은 서브-루프를 제거하거나 안테나를 접속해제하지 않고 최상부 커버를 제거하는 것을 포함할 수 있다. 최상부 커버(20830)를 설치하는 것으로부터 이격된 안테나들의 조립은 테스트/수리를 용이하게 한다. 최상부 커버(20830)는 내후성(weatherproof)이고, 물과 그릿(grit)이 화물 컨테이너(20110)에 들어가는 것을 방지한다. 서브-루프 상에 안테나들을 장착하는 것은 최상부 커버(20830) 상의 개구들의 수를 최소화한다.Referring now to FIG. 2O , the top cover 20830 is partially cut out to reveal the sub-loop 20810 . The sub-loop 20810 provides a single piece to which a plurality of antennas 20820 can be mounted. In the example, ten antennas 20820 are mounted in sub-loop 20810 . Also, for example, 4 cellular communication channels each have 2 antennas, and there are 2 WiFi antennas. The antennas are wired as primary and secondary antennas for cellular transmission and reception. Auxiliary antennas may improve cellular functionality in several ways including, but not limited to, reducing interference and achieving 4G LTE connectivity. The sub-roof 20810 as well as the top cover 20830 are non-metallic. The sub-loop 20810 is a plastic surface within 10 mm to 20 mm of the top cover 20830 , which is not structural and allows the antennas to connect to the processors before the top cover 20830 is attached. Antenna connections are often high impedance and susceptible to dust, grease and mishandling. Mounting and connecting the antenna to the sub-loop 20810 allows the top cover to be installed and removed without touching the antenna connections. Maintenance and repair operations may include removing the top cover without removing the sub-loop or disconnecting the antenna. Assembly of the antennas spaced apart from installing the top cover 20830 facilitates testing/repair. The top cover 20830 is weatherproof and prevents water and grit from entering the cargo container 201110 . Mounting the antennas on the sub-loop minimizes the number of openings on the top cover 20830.

이제 도 2p, 도 2q 및 도 2r을 참조하면, 화물 컨테이너(도시 생략)의 최상부 상에 장착된 장거리 센서 조립체(LRSA)(20400A)의 다른 예가 도시되어 있다. LRSA는 LRSA 구조체(20950) 상의 상이한 위치들에 장착되어 AV(20100A)의 환경의 파노라마 뷰를 제공하는 복수의 장거리 카메라들 및 LIDAR를 포함할 수 있다. LIDAR(20420)는 LRSA 구조체(20950) 상의 최상부에 장착되어 중단없는 뷰를 제공할 수 있다. LIDAR는 VELODYNE LIDAR를 포함할 수 있다. 복수의 장거리 카메라들(20910A 내지 20910D)은 LIDAR(20420) 아래의 다음 레벨 상에서 LRSA 구조체(20950) 상에 장착된다. 예에서, 4개의 카메라가 구조체 주위에 90°마다 하나씩 장착되어, AV(20100) 주위의 환경에 4개의 뷰를 제공한다. 일부 예들에서, 4개의 뷰들은 중첩할 것이다. 일부 예들에서, 각각의 카메라는 움직임의 방향과 정렬되거나 이동의 방향에 직교한다. 예에서, 하나의 카메라는 AV(20100A)의 원리 면들, 즉 전방, 후방, 좌측 및 우측 각각과 정렬된다. 예에서, 장거리 카메라들은 Leopard Imaging Inc.의 모델 LI-AR01 44-MIPI-M12이다. 장거리 카메라들은 프로세서로의 고속 데이터 전송을 제공하는 MIPI CSI-2 인터페이스를 가질 수 있다. 장거리 카메라들은 50°와 70° 사이의 수평 시야 및 30°와 40° 사이의 수직 시야를 가질 수 있다.Referring now to FIGS. 2P, 2Q, and 2R, another example of a long range sensor assembly (LRSA) 20400A mounted on top of a freight container (not shown) is shown. The LRSA may include a LIDAR and a plurality of long-range cameras mounted at different locations on the LRSA structure 20950 to provide a panoramic view of the environment of the AV 201000A. A LIDAR 20420 may be mounted on top of the LRSA structure 20950 to provide an uninterrupted view. LIDAR may include VELODYNE LIDAR. A plurality of long range cameras 20910A - 20910D are mounted on the LRSA structure 20950 on the next level below the LIDAR 20420 . In the example, four cameras are mounted around the structure, one every 90°, providing four views of the environment around the AV 201000 . In some examples, the four views will overlap. In some examples, each camera is aligned with or orthogonal to the direction of movement. In the example, one camera is aligned with each of the principle faces of AV 201000A: front, rear, left and right. In the example, the long range cameras are model LI-AR01 44-MIPI-M12 from Leopard Imaging Inc. Long-range cameras may have a MIPI CSI-2 interface that provides high-speed data transfer to the processor. Long range cameras may have a horizontal field of view between 50° and 70° and a vertical field of view between 30° and 40°.

이제 도 2s 및 도 2t를 참조하면, 장거리 프로세서(20940)는 장거리 카메라들(20910A 내지 20910D) 및 LIDAR(20420) 아래의 LRSA 구조체(20950) 상에 위치된다. 장거리 프로세서(20940)는 장거리 카메라들 및 LIDAR로부터 데이터를 수신한다. 장거리 프로세서는 AV(20100A)에서의 다른 곳의 하나 이상의 프로세서와 통신한다. 장거리 프로세서(20940)는 장거리 카메라들 및 LIDAR로부터 도출된 데이터를 본 명세서의 다른 곳에 설명된 AV(20100A) 상의 다른 곳에 위치된 하나 이상의 프로세서에 제공한다. 장거리 프로세서(20940)는 냉각기(20930)에 의해 액체 냉각될 수 있다. 냉각기(20930)는 장거리 카메라들 및 LIDAR 아래의 구조체에 장착될 수 있다. 냉각기(20930)는 장거리 프로세서(20940)에 대한 장착 위치를 제공할 수 있다. 냉각기(20930)는 2020년 5월 26일자로 출원된, 발명의 명칭이 Apparatus for Electronic Cooling on an Autonomous Device인 미국 특허 출원 제16/883,668호(대리인 문서 번호 AA280)에 설명되어 있고, 이 출원은 전체가 본 명세서에 참고로 포함된다. 냉각기는 냉각기(20930)에 냉각 액체를 제공하는 액체 공급 도관 및 복귀 도관을 구비한다.Referring now to FIGS. 2S and 2T , a long range processor 20940 is located on the LRSA structure 20950 below the long range cameras 20910A - 20910D and the LIDAR 20420 . Long range processor 20940 receives data from long range cameras and LIDAR. The long-range processor communicates with one or more processors elsewhere in the AV 201000A. Long-range processor 20940 provides data derived from long-range cameras and LIDAR to one or more processors located elsewhere on AV 201000A as described elsewhere herein. Long range processor 20940 may be liquid cooled by cooler 20930 . The cooler 20930 may be mounted to long-range cameras and structures below the LIDAR. The cooler 20930 may provide a mounting location for the long range processor 20940 . Cooler 20930 is described in U.S. Patent Application Serial No. 16/883,668 (Attorney Docket No. AA280), entitled Apparatus for Electronic Cooling on an Autonomous Device, filed May 26, 2020, which application is It is incorporated herein by reference in its entirety. The cooler has a liquid supply conduit and a return conduit that provides cooling liquid to the cooler 20930 .

도 2m 및 도 2n을 다시 참조하면, 단거리 카메라 조립체들(20740A 내지 20740C)은 컨테이너 플랫폼(20160)의 전방에 장착되고, 이동 표면 및 장애물들, 계단들, 커브들 및 다른 실질적으로 불연속적인 표면 피처들(SDSF)에 관한 정보를 수집하도록 각을 이룬다. 카메라 조립체들(20740A 내지 20740C)은 이동 표면들, 지면 상의 물체들 및 SDSF들을 조명하기 위한 하나 이상의 LED 라이트를 포함한다.Referring again to FIGS. 2M and 2N , short-range camera assemblies 20740A-20740C are mounted to the front of container platform 20160 , and are mounted on a moving surface and obstacles, steps, curves, and other substantially discontinuous surface features. Formed to collect information about the SDSFs. Camera assemblies 20740A-20740C include one or more LED lights for illuminating moving surfaces, objects on the ground, and SDSFs.

이제 도 2u 내지 도 2x를 참조하면, 카메라 조립체들(20740A 및 20740B)은 카메라들(20732)로부터 개선된 이미지 데이터를 제공하기 위해 지면 및 물체들을 조명하는 라이트들(20732)을 포함한다. 카메라 조립체(20740A)는 20740C의 미러이고, 20740A의 설명들은 20740C에 암시적으로 적용된다. 카메라(20732)는 단일 비전 카메라, 스테레오 카메라, 및/또는 적외선 프로젝터 및 CMOS 센서를 포함할 수 있다. 카메라의 일 예는, IR 프로젝터, 렌즈를 갖는 2개의 이미저 칩 및 RGB 카메라를 포함하는, 캘리포니아주 산타 클라라의 Intel에 의한 Real-Sense Depth D435 카메라이다. LED 라이트들(20734)은 야간에 또는 저조명 조건들에서 이용되거나 항상 이미지 데이터를 개선하는데 이용될 수 있다. 동작의 한 이론은, 라이트들이 투영 표면들을 조명하고 함몰부들에 그림자들을 생성함으로써 콘트라스트를 생성한다는 것이다. LED 라이트들은, 예에서 백색 LED들일 수 있다. 예에서, LED 라이트들(20734)은 Cree Inc.로부터의 Xlamp XHP50이다. 다른 예에서, LED 라이트들은 인근의 보행자들 또는 운전자들을 산만하게 하거나 괴롭히지 않고 카메라(20372)에 조명을 제공하기 위해 적외선에서 방출할 수 있다.Referring now to FIGS. 2U-2X , camera assemblies 20740A and 20740B include lights 20732 that illuminate the ground and objects to provide improved image data from cameras 20732 . Camera assembly 20740A is a mirror of 20740C, and the descriptions of 20740A apply implicitly to 20740C. The camera 20732 may include a single vision camera, a stereo camera, and/or an infrared projector and CMOS sensor. One example of a camera is the Real-Sense Depth D435 camera by Intel of Santa Clara, CA, which includes an IR projector, two imager chips with lenses and an RGB camera. The LED lights 20734 can be used at night or in low light conditions or always used to improve image data. One theory of operation is that lights create contrast by illuminating projection surfaces and creating shadows in depressions. The LED lights may be white LEDs in an example. In the example, the LED lights 20734 are Xlamp XHP50 from Cree Inc. In another example, LED lights may emit in infrared to provide illumination to camera 20372 without distracting or annoying nearby pedestrians or drivers.

도 2u 내지 도 2x를 계속 참조하면, 라이트들(20374)의 배치 및 각도 및 커버들(20736A, 20736B)의 형상은 카메라(20732)가 라이트들(20374)을 보지 못하게 한다. 라이트들(20374)의 각도 및 배치, 및 커버들(20736A, 20736B)은 라이트들이 운전자들을 간섭하거나 또는 보행자들을 괴롭히는 것을 방지한다. 카메라(20732) 내의 센서가 라이트(20734)에 의해 가려지고 따라서 AV(20100A)의 전방 및 측면의 지면 및 물체들로부터 더 낮은 광 신호들을 검출하는 것이 방지되도록 카메라(20732)가 라이트(20734)에 노출되지 않는 것이 유리하다. 카메라(20732) 및/또는 라이트들(20734)은 포트들(20736)를 통해 카메라 조립체들 내외로 유동하는 액체로 냉각될 수 있다.With continued reference to FIGS. 2U-2X , the placement and angle of lights 20374 and the shape of covers 20736A, 20736B prevent camera 20732 from seeing lights 20374 . The angle and placement of lights 20374 and covers 20736A, 20736B prevent the lights from interfering with drivers or bothering pedestrians. The camera 20732 is positioned on the light 20734 such that the sensor in the camera 20732 is obscured by the light 20734 and thus prevents detecting lower light signals from the ground and objects on the front and side of the AV 20100A. It is advantageous not to be exposed. The camera 20732 and/or lights 20734 may be cooled with a liquid flowing into and out of the camera assemblies through ports 20736 .

이제 도 2w 및 도 2x를 참조하면, 단거리 카메라 조립체(20740A)는 초음파 또는 소나(sonar) 단거리 센서(20730A)를 포함한다. 제2 단거리 카메라 조립체(20740C)는 또한 초음파 단거리 센서(20730B)(도 2n)를 포함한다.Referring now to FIGS. 2W and 2X , short-range camera assembly 20740A includes an ultrasonic or sonar short-range sensor 20730A. The second short-range camera assembly 20740C also includes an ultrasonic short-range sensor 20730B ( FIG. 2N ).

이제 도 2y를 참조하면, 초음파 센서(20730A)는 카메라(20732) 위에 장착된다. 예에서, 초음파 센서(20730A)의 중심 라인은 화물 컨테이너(20110)의 베이스와 평행하고, 이는 종종 센서(20730A)가 수평이라는 것을 의미한다. 센서(20730A)는 전방을 향하지 않고 45° 각을 이룬다. 커버(20376A)는 초음파 센서(20730A)로부터 나오고 초음파 센서(20730A)에 의해 수신되는 초음파들을 지향시키기 위한 혼(horn)(20746)을 제공한다.Referring now to FIG. 2Y , the ultrasonic sensor 20730A is mounted above the camera 20732 . In the example, the center line of the ultrasonic sensor 20730A is parallel to the base of the cargo container 201110, which often means that the sensor 20730A is horizontal. The sensor 20730A is not facing forward and is angled at 45°. Cover 20376A provides a horn 20746 for directing ultrasound waves coming from and received by ultrasound sensor 20730A.

도 2y를 계속 참조하면, 카메라(20732), 카메라 조립체(20740A) 내의 라이트(20734)의 단면은 커버(20736)에서의 각도들 및 개구들을 도시한다. 단거리 카메라 조립체들에서의 카메라들은 AV의 전방 및 측면에서 지면을 더 양호하게 이미징하기 위해 하향으로 각을 이룬다. 중앙 카메라 조립체(20740B)는 수평 평면에서 직선으로 전방으로 배향된다. 코너 카메라 조립체들(20740A, 20740C)은 수평 평면에서 직선으로 전방에 대해 이들의 각각의 측면들에 대해 25° 각을 이룬다. 카메라(20732)는 수직 평면에서 화물 플랫폼의 최상부에 대해 20° 하향으로 각을 이룬다. AV가 일반적으로 화물 플랫폼을 수평으로 유지함에 따라, 카메라는 따라서 수평 아래로 20° 각을 이룬다. 유사하게, 중앙 카메라 조립체(20740B)(도 2m)는 수평 아래로 28°만큼 각을 이룬다. 예에서, 카메라 조립체들에서의 카메라들은 25° 내지 35°만큼 하향으로 각을 이룰 수 있다. 다른 예에서, 카메라 조립체들에서의 카메라들은 15° 내지 45°만큼 하향으로 각을 이룰 수 있다. LED 라이트들(20734)은 카메라(20732)에 의해 이미징되는 지면을 조명하고 보행자들에 대한 방해(distraction)를 최소화하기 위해 유사하게 하향으로 각을 이룬다. 일 예에서, LED 라이트 중심 라인(20742)은 카메라 중심 라인(20738)의 5° 내에서 평행하다. 커버(20736A)는 모두 카메라 조립체들(20740A 내지 20740C)에서의 LED들(20734)의 밝은 광으로부터 카메라(20732) 및 보행자들을 보호한다. LED에 의해 방출된 광을 격리하는 커버는 또한 카메라(20732)의 시야를 최대화하기 위해 나팔형 개구(flared opening)(20737)를 제공한다. 라이트들은 커버의 개구로부터 적어도 4mm 리세스되어 있다. 라이트 개구는 상부 벽(20739) 및 하부 벽(20744)에 의해 정의된다. 상부 벽(20739)은 중심 라인(2074)과 대략 평행(± 5°)하다. 하부 벽(20744)은 지면 및 지면 부근의 물체들의 조명을 최대화하기 위해 중심 라인(20742)으로부터 대략 18° 나팔 모양으로 된다.With continued reference to FIG. 2Y , a cross-section of camera 20732 , light 20734 in camera assembly 20740A, shows angles and openings in cover 20736 . The cameras in short range camera assemblies are angled downward to better image the ground in front and side of the AV. The central camera assembly 20740B is oriented straight forward in a horizontal plane. Corner camera assemblies 20740A, 20740C are angled at a 25° angle to their respective sides relative to the front in a straight line in a horizontal plane. Camera 20732 is angled 20° downward relative to the top of the cargo platform in a vertical plane. As the AV normally holds the cargo platform level, the camera is thus at an angle of 20° below the level. Similarly, central camera assembly 20740B ( FIG. 2M ) is angled by 28° below horizontal. In an example, cameras in camera assemblies may be angled downward by 25° to 35°. In another example, the cameras in camera assemblies may be angled downward by 15° to 45°. LED lights 20734 are similarly angled downward to illuminate the ground imaged by camera 20732 and to minimize distraction to pedestrians. In one example, the LED light center line 20742 is parallel within 5° of the camera center line 20738 . Cover 20736A protects camera 20732 and pedestrians from the bright light of LEDs 20734 in both camera assemblies 20740A - 20740C. The cover that isolates the light emitted by the LEDs also provides a flared opening 20737 to maximize the field of view of the camera 20732 . The lights are recessed at least 4 mm from the opening in the cover. The light opening is defined by an upper wall 20739 and a lower wall 20744 . Top wall 20739 is approximately parallel (± 5°) with center line 2074 . The lower wall 20744 is flared approximately 18° from the center line 20742 to maximize illumination of the ground and proximate objects.

이제 도 2z 내지 도 2aa를 참조하면, 일 구성에서, 라이트(20734)는 광의 빔을 생성하기 위해 각각 정사각형 렌즈(20734B) 아래에 있는 2개의 LED들(20734A)을 포함한다. LED들/렌즈들은 카메라(20732)의 FOV 밖의 광의 최소 과잉으로 카메라의 시야를 조명하기 위해 카메라(20372)에 대해 각을 이루며 위치된다. 2개의 LED/렌즈는 2개의 라이트들 사이에 규정된 각도(20762)로 단일 PCB(20752) 상에 함께 장착된다. 다른 구성에서, 2개의 LED/렌즈는 서로에 대해 소정 각도로 개별 PCB들 상의 히트 싱크(20626A) 상에 개별적으로 장착된다. 예에서, 라이트는 Cree, Inc.로부터의 Xlamp XHP50들이고, 렌즈는 LEDil로부터의 60° 렌즈 HB-SQ-W이다. 라이트들은 서로에 대해 대략 50° 각을 이루어, 렌즈의 정면 사이의 각도(20762)는 130°이다. 라이트들은 카메라(20732)의 정면 후방에 대략 18mm(± 5mm)(20764) 그리고 카메라(20732)의 중심 라인 아래에 대략 30mm(20766)에 위치된다.Referring now to FIGS. 2Z-2A , in one configuration, a light 20734 includes two LEDs 20734A, each under a square lens 20734B to produce a beam of light. The LEDs/lenses are positioned at an angle relative to the camera 20372 to illuminate the camera's field of view with minimal excess of light outside the FOV of the camera 20732 . The two LEDs/lenses are mounted together on a single PCB 20752 at an angle 20762 defined between the two lights. In another configuration, the two LEDs/lenses are individually mounted on the heat sink 20626A on separate PCBs at an angle to each other. In the example, the lights are Xlamp XHP50s from Cree, Inc. and the lens is a 60° lens HB-SQ-W from LEDil. The lights are at an angle of approximately 50° to each other, so that the angle 20762 between the fronts of the lenses is 130°. The lights are positioned approximately 18 mm (± 5 mm) 20764 behind the front of the camera 20732 and approximately 30 mm (20766) below the center line of the camera 20732 .

이제 도 2aa 및 도 2bb를 참조하면, 카메라(20732)는 열 전기 냉각기(TEC)(20630)에 의해 냉각되고, 이는 냉각 블록(20626A)을 통해 유동하는 액체 냉각제에 의해 라이트(20734)와 함께 냉각된다. 카메라는 카메라의 센서 블록 부분 내로 끼워지는 나사(20625)를 거쳐 브래킷(20622)에 부착되고, 브래킷(20622)의 후방은 카메라의 전자 블록에 볼트 결합된다. 브래킷(20622)은 카메라(20732)에서의 IR 이미징 칩들(CMOS 칩들)의 성능을 유지하기 위해 2개의 TEzC들에 의해 냉각된다. TEC들은 브래킷(20622)으로부터의 열 및 이들이 냉각 블록(20626A)으로 끌어당기는 전력을 거절한다.Referring now to FIGS. 2AA and 2BB , camera 20732 is cooled by a thermoelectric cooler (TEC) 20630 , which is cooled along with light 20734 by liquid coolant flowing through cooling block 20626A. do. The camera is attached to the bracket 20622 via screws 20625 that fit into the sensor block portion of the camera, the back of the bracket 20622 being bolted to the camera's electronics block. The bracket 20622 is cooled by two TEzCs to maintain the performance of the IR imaging chips (CMOS chips) in the camera 20732 . The TECs reject heat from the bracket 20622 and the power they draw to the cooling block 20626A.

이제 도 2bb를 참조하면, 냉각제는 중앙 핀(central fin)(20626D)에 의해 생성된 U형 경로를 통해 지향된다. 냉각제는 라이트(20734)의 LED/렌즈/PCB 바로 뒤에서 유동한다. 핀들(20626B, 20626C)은 라이트(20734)로부터 냉각제로의 열 전달을 개선한다. 냉각제는 TEC(20630)의 고온 측을 지나가도록 상향 유동한다. 유체 경로는 냉각 블록(20626A)의 후방에 부착된 플레이트(20737)(도 2x)에 의해 생성된다.Referring now to FIG. 2BB , coolant is directed through a U-shaped path created by a central fin 20626D. The coolant flows directly behind the LED/lens/PCB of the light 20734 . Fins 20626B, 20626C improve heat transfer from light 20734 to coolant. The coolant flows upwardly past the hot side of the TEC 20630 . The fluid path is created by a plate 20737 (FIG. 2X) attached to the back of the cooling block 20626A.

이제 도 3a를 참조하면, 센서 데이터 및 맵 데이터는 점유 그리드를 업데이트하는데 이용될 수 있다. 본 교시의 시스템 및 방법은 그리드 맵에 관하여 자율적으로 내비게이팅하고 있는 디바이스에 대한 전역 점유 그리드를 관리할 수 있다. 그리드 맵은 디바이스가 시작 포인트로부터 목적지까지 따를 수 있는 루트들 또는 경로들을 포함할 수 있다. 전역 점유 그리드는 디바이스가 내비게이팅하는 것이 안전한 장소를 나타낼 수 있는 자유 공간 표시들을 포함할 수 있다. 가능한 경로들 및 자유 공간 표시들은 전역 점유 그리드 상에서 결합되어, 디바이스가 목적지에 안전하게 도달하기 위해 이동할 수 있는 최적 경로를 확립할 수 있다.Referring now to FIG. 3A , sensor data and map data may be used to update the occupancy grid. Systems and methods of the present teachings can manage a global occupancy grid for devices that are autonomously navigating with respect to a grid map. A grid map may include routes or routes that a device may follow from a starting point to a destination. The global occupancy grid may include free space indicators that may indicate where it is safe for a device to navigate. Possible routes and free space indications can be combined on the global occupancy grid to establish an optimal route the device can travel to safely reach its destination.

도 3a를 계속 참조하면, 디바이스가 이동함에 따라, 방해받지 않는 내비게이션 루트를 결정하기 위해 이용될 전역 점유 그리드는 디바이스의 위치에 기초하여 액세스될 수 있고, 전역 점유 그리드는 디바이스가 이동함에 따라 업데이트될 수 있다. 업데이트들은 디바이스의 위치에서의 전역 점유 그리드와 연관된 현재 값들, 디바이스가 내비게이팅하고 있는 이웃에 대한 이력 정보를 포함할 수 있는 정적 점유 그리드, 및 디바이스가 이동함에 따라 센서들에 의해 수집되는 데이터에 적어도 기초할 수 있다. 센서들은 본 명세서에서 설명되는 바와 같이 디바이스 상에 배치될 수 있고, 이들은 다른 곳에 배치될 수 있다.With continued reference to FIG. 3A , as the device moves, a global occupancy grid that will be used to determine an undisturbed navigation route may be accessed based on the device's location, and the global occupancy grid may be updated as the device moves. can Updates are made at least to current values associated with the global occupancy grid at the device's location, a static occupancy grid, which may include historical information about the neighborhood the device is navigating to, and data collected by sensors as the device moves. can be based The sensors may be placed on the device as described herein, and they may be placed elsewhere.

도 3a를 계속 더 참조하면, 전역 점유 그리드는 셀들을 포함할 수 있고, 셀들은 점유된 확률 값들과 연관될 수 있다. 전역 점유 그리드의 각각의 셀은 셀의 위치에서 장애물들이 식별되었는지 여부, 이전에 수집된 데이터로부터 결정되고 디바이스가 내비게이팅할 때 수집된 데이터에 의해 결정되는 바와 같은 위치에서 및 그 주변의 이동 표면의 특성들 및 불연속성들, 및 그 위치와 연관된 이전 점유 데이터와 같은 정보와 연관될 수 있다. 디바이스가 내비게이팅할 때 캡처된 데이터는 그 중심이 디바이스인 로컬 점유 그리드에 저장될 수 있다. 전역 점유 그리드를 업데이트할 때, 정적인 이전에 수집된 데이터는 로컬 점유 그리드 데이터 및 이전 업데이트에서 결정된 전역 점유 데이터와 결합되어 디바이스에 의해 점유된 공간이 비점유된 것으로 표시된 새로운 전역 점유 그리드를 생성할 수 있다. 일부 구성들에서, 베이지안 방법은 전역 점유 그리드를 업데이트하는데 이용될 수 있다. 방법은 로컬 점유 그리드에서의 각각의 셀에 대해, 전역 점유 그리드 상의 셀의 위치를 계산하는 단계, 현재 전역 점유 그리드로부터의 그 위치에서의 값에 액세스하는 단계, 정적 점유 그리드로부터의 위치에서의 값에 액세스하는 단계, 로컬 점유 그리드로부터의 위치에서의 값에 액세스하는 단계, 및 전역 점유 그리드 상의 위치에서의 새로운 값을 전역 점유 그리드로부터의 현재 값, 정적 점유 그리드로부터의 값, 및 로컬 점유 그리드로부터의 값의 함수로서 계산하는 단계를 포함할 수 있다. 일부 구성들에서, 새로운 값을 계산하는데 이용되는 관계는 정적 값과 로컬 점유 그리드 값으로부터 현재 값을 마이너트한 것의 합을 포함할 수 있다. 일부 구성들에서, 새로운 값은, 예를 들어, 계산 제한에 기초하여 미리 선택된 값들에 의해 한정될 수 있다.With still further reference to FIG. 3A , the global occupancy grid may include cells, and the cells may be associated with occupied probability values. Each cell of the global occupancy grid is located at and around the location of the moving surface as determined by whether obstacles have been identified at the cell's location, as determined from previously collected data and as determined by the data collected when the device is navigating. It may be associated with information such as characteristics and discontinuities, and previous occupancy data associated with its location. Data captured as a device navigates may be stored in a local occupancy grid whose center is the device. When updating the global occupancy grid, the static previously collected data is combined with the local occupancy grid data and the global occupancy data determined from the previous update to create a new global occupancy grid in which the space occupied by the device is marked as unoccupied. can In some configurations, the Bayesian method may be used to update the global occupancy grid. The method includes, for each cell in the local occupancy grid, calculating the position of the cell on the global occupancy grid, accessing a value at that position from the current global occupancy grid, the value at the position from the static occupancy grid. accessing , accessing a value at a location from the local occupancy grid, and adding a new value at a location on the global occupancy grid to the current value from the global occupancy grid, the value from the static occupancy grid, and the local occupancy grid. calculating as a function of the value of In some configurations, the relationship used to compute the new value may include the sum of the static value and the current value minus the locally occupied grid value. In some configurations, the new value may be bounded by preselected values, for example based on a computational constraint.

도 3a를 계속 참조하면, 본 교시의 시스템(30100)은 전역 점유 그리드를 관리할 수 있다. 전역 점유 그리드는 초기 데이터로 시작할 수 있고, 디바이스가 이동함에 따라 업데이트될 수 있다. 초기 전역 점유 그리드를 생성하는 것은 제1 프로세스를 포함할 수 있고, 전역 점유 그리드를 업데이트하는 것은 제2 프로세스를 포함할 수 있다. 시스템(30100)은 다양한 소스들로부터 정보를 수신할 수 있고, 그 정보에 적어도 기초하여 전역 점유 그리드(30505)를 업데이트할 수 있는 전역 점유 서버(30121)를 포함할 수 있지만, 이에 제한되지 않는다. 정보는, 예를 들어, 디바이스 상에 및/또는 다른 곳에 위치된 센서들, 정적 정보, 및 내비게이션 정보에 의해 공급될 수 있지만, 이에 제한되지 않는다. 일부 구성들에서, 센서들은, 예를 들어, 표면 특성들 및 장애물들을 검출할 수 있는 카메라들 및 레이더를 포함할 수 있다. 예를 들어, 센서들은 디바이스에 의한 안전한 이동을 가능하게 하기에 충분한 주변 커버리지를 제공하기 위해 디바이스 상에 유리하게 위치될 수 있다. 일부 구성들에서, LIDAR(30103)는 로컬 점유 그리드를 LIDAR 자유 공간 정보(30213)로 채우는 것을 가능하게 할 수 있는 LIDAR 포인트 클라우드(PC) 데이터(30201)를 제공할 수 있다. 일부 구성들에서, 종래의 지면 검출 역 센서 모델(ISM)(30113)은 LIDAR PC 데이터(30201)를 처리하여 LIDAR 자유 공간 정보(30213)를 생성할 수 있다.With continued reference to FIG. 3A , the system 30100 of the present teachings may manage a global occupancy grid. The global occupancy grid can start with initial data and can be updated as devices move. Creating the initial global occupancy grid may include a first process, and updating the global occupancy grid may include a second process. System 30100 may include, but is not limited to, a global occupancy server 30121 that may receive information from a variety of sources and update a global occupancy grid 30505 based at least on the information. The information may be supplied by, for example, but not limited to, sensors located on and/or elsewhere on the device, static information, and navigation information. In some configurations, sensors may include, for example, cameras and radar capable of detecting surface characteristics and obstacles. For example, sensors may be advantageously positioned on the device to provide sufficient ambient coverage to enable safe movement by the device. In some configurations, LIDAR 30103 may provide LIDAR point cloud (PC) data 30201 that may enable populating a local occupancy grid with LIDAR free space information 30213 . In some configurations, a conventional ground detection inverse sensor model (ISM) 30113 may process the LIDAR PC data 30201 to generate LIDAR free space information 30213 .

도 3a를 계속 참조하면, 일부 구성들에서, RGB-D 카메라들(30101)은 RGB-D PC 데이터(30202) 및 RGB 카메라 데이터(30203)를 제공할 수 있다. RGB-D PC 데이터(30202)는 로컬 점유 그리드를 심도 자유 공간 정보(30209)로 채울 수 있고, RGB-D 카메라 데이터(30203)는 로컬 점유 그리드를 표면 데이터(30211)로 채울 수 있다. 일부 구성들에서, RGB-D PC 데이터(30202)는, 예를 들어, 종래의 스테레오 자유 공간 ISM(30109)에 의해 처리될 수 있지만, 이에 제한되지 않고, RGB-D 카메라 데이터(30203)는, 예를 들어, 제한적인 것은 아니지만, 종래의 표면 검출 신경망(30111)에 공급될 수 있다. 일부 구성들에서, RGB MIPI 카메라들(30105)은 RGB 데이터(30205)를 제공하여, LIDAR PC 데이터(30201)와 조합하여, LIDAR/MIPI 자유 공간 정보(30215)를 갖는 로컬 점유 그리드를 생성할 수 있다. 일부 구성들에서, RGB 데이터(30205)는 종래의 자유 공간 신경망(30115)에 공급될 수 있고, 그 출력은, LIDAR PC 데이터(30201)와 함께, 종래의 2D-3D 등록(30117)에 공급되기 전에, RGB 데이터(30205)의 어느 부분들이 정확도를 위해 가장 중요한지를 식별할 수 있는 미리 선택된 마스크(30221)를 겪을 수 있다. 2D-3D 등록(30117)은 RGB 데이터(30205)로부터의 이미지를 LIDAR PC 데이터(30201) 상에 투영할 수 있다. 일부 구성들에서, 2D-3D 등록(30117)은 필요하지 않다. 센서 데이터를 처리하기 위한 센서들 및 방법들의 임의의 조합은 전역 점유 그리드를 업데이트하기 위해 데이터를 수집하는데 이용될 수 있다. 전역 점유 그리드 내의 점유된 확률들의 결정 및 검증을 가능하게 하기 위해 임의의 수의 자유 공간 추정 절차들이 이용되고 조합될 수 있다.With continued reference to FIG. 3A , in some configurations, RGB-D cameras 30101 can provide RGB-D PC data 30202 and RGB camera data 30203 . RGB-D PC data 30202 may populate the local occupancy grid with depth free space information 30209 , and RGB-D camera data 30203 may populate the local occupancy grid with surface data 30211 . In some configurations, RGB-D PC data 30202 may be processed by, for example, but not limited to, conventional stereo free space ISM 30109, RGB-D camera data 30203 may include: For example, but not by way of limitation, it may be fed to a conventional surface detection neural network 30111 . In some configurations, RGB MIPI cameras 30105 can provide RGB data 30205 and combine with LIDAR PC data 30201 to create a local occupancy grid with LIDAR/MIPI free space information 30215 . there is. In some configurations, RGB data 30205 can be fed to a conventional free space neural network 30115 , the output of which is fed to a conventional 2D-3D registration 30117 , along with LIDAR PC data 30201 . Before, it may be subjected to a preselected mask 30221 that can identify which portions of the RGB data 30205 are most important for accuracy. 2D-3D registration 30117 can project an image from RGB data 30205 onto LIDAR PC data 30201 . In some configurations, 2D-3D registration 30117 is not required. Any combination of sensors and methods for processing sensor data may be used to collect data to update the global occupancy grid. Any number of free space estimation procedures may be used and combined to enable determination and verification of occupied probabilities within the global occupancy grid.

도 3a를 계속 참조하면, 일부 구성들에서, 이력 데이터는, 예를 들어, 내비게이션 영역과 연관된 정보를 갖는 이전에 수집되고 처리된 데이터의 저장소(30107)에 의해 제공될 수 있다. 일부 구성들에서, 저장소(30107)는, 예를 들어, 다각형들(30207)과 같은, 예를 들어, 루트 정보를 포함할 수 있지만, 이것으로 제한되지 않는다. 일부 구성들에서, 이들 데이터는, 에지들(30303), 불연속성들(30503), 및 표면들(30241)을 전역 점유 그리드 서버(30121)에 제공할 수 있는 종래의 다각형 파서(30119)에 공급될 수 있다. 전역 점유 그리드 서버(30121)는 센서들에 의해 수집된 로컬 점유 그리드 데이터를 처리된 저장소 데이터와 융합하여 전역 점유 그리드(30505)를 결정할 수 있다. 그리드 맵(30601)(도 3d)은 전역 점유 데이터로부터 생성될 수 있다.With continued reference to FIG. 3A , in some configurations, historical data may be provided, for example, by a store 30107 of previously collected and processed data having information associated with a navigation area. In some configurations, storage 30107 may contain, for example, but not limited to, route information, such as, for example, polygons 30207 . In some configurations, these data are to be fed to a conventional polygon parser 30119 that can provide edges 30303 , discontinuities 30503 , and surfaces 30241 to a global occupancy grid server 30121 . can The global occupancy grid server 30121 may fuse the local occupancy grid data collected by the sensors with the processed storage data to determine the global occupancy grid 30505 . A grid map 30601 (FIG. 3D) may be generated from global occupancy data.

이제 도 3b를 참조하면, 일부 구성들에서, 센서들은 소나 자유 공간(30225)을 갖는 로컬 점유 그리드를 전역 점유 그리드 서버(30121)에 제공할 수 있는 소나(30141)를 포함할 수 있다. 심도 데이터(30209)는 종래의 자유 공간 ISM(30143)에 의해 처리될 수 있다. 소나 자유 공간(30225)을 갖는 로컬 점유 그리드는 표면들 및 불연속성들(30223)을 갖는 로컬 점유 그리드, LIDAR 자유 공간(30213)을 갖는 로컬 점유 그리드, LIDAR/MIPI 자유 공간(30215)을 갖는 로컬 점유 그리드, 스테레오 자유 공간(30209)을 갖는 로컬 점유 그리드, 및 에지들(30303)(도 3f), 불연속성들(30503)(도 3f), 내비게이션 포인트들(30501)(도 3f), 표면 신뢰도들(30513)(도 3f), 및 표면들(30241)(도 3f)과 융합되어 전역 점유 그리드(30505)를 형성할 수 있다.Referring now to FIG. 3B , in some configurations, the sensors can include a sonar 30141 that can provide a locally occupied grid with sonar free space 30225 to a globally occupied grid server 30121 . The depth data 30209 may be processed by a conventional free space ISM 30143 . The locally occupied grid with sonar free space 30225 is a locally occupied grid with surfaces and discontinuities 30223 , a locally occupied grid with LIDAR free space 30213 , and a locally occupied grid with LIDAR/MIPI free space 30215 . Grid, a locally occupied grid with stereo free space 30209, and edges 30303 (FIG. 3F), discontinuities 30503 (FIG. 3F), navigation points 30501 (FIG. 3F), surface reliability (FIG. 3F) 30513 ( FIG. 3F ), and surfaces 30241 ( FIG. 3F ) may be fused to form a global occupancy grid 30505 .

이제 도 3c 내지 도 3f를 참조하면, 전역 점유 그리드를 초기화하기 위해, 전역 점유 그리드 초기화(30200)는 전역 점유 그리드 서버(30121), 전역 점유 그리드(30505) 및 정적 그리드(30249)에 의해 생성하는 것을 포함할 수 있다. 전역 점유 그리드(30505)는 로컬 점유 그리드들(30118)로부터의 데이터를 관심 영역에 위치된 에지들(30303), 불연속성들(30503) 및 표면들(30241)과 융합함으로써 생성될 수 있다. 정적 그리드(30249)(도 3d)는, 예를 들어, 표면 데이터(30241), 불연속성 데이터(30503), 에지들(30303) 및 다각형들(30207)과 같은, 그러나 이에 한정되지 않는 데이터를 포함하도록 생성될 수 있다. 초기 전역 점유 그리드(30505)는 정적 그리드(30249)(도 3e)로부터의 점유 확률 데이터를 센서들(30107A)로부터의 수집된 데이터로부터 도출된 점유 데이터에 추가하고, 전역 점유 그리드(30505)의 이전(30505A)(도 3f)으로부터 점유 데이터를 감산함으로써 계산될 수 있다. 로컬 점유 그리드들(30118)은, 제한적인 것은 아니지만, ISM을 통한 스테레오 자유 공간 추정(30209)(도 3b)으로부터 생기는 로컬 점유 그리드 데이터, 표면/불연속성 검출 결과들(30223)(도 3b)을 포함하는 로컬 점유 그리드 데이터, ISM을 통한 LIDAR 자유 공간 추정(30213)(도 3b)으로부터 생기는 로컬 점유 그리드 데이터, 및 일부 구성들에서 이어지는 LIDAR/MIPI 자유 공간 추정(30215)(도 3b)으로부터 생기는 로컬 점유 그리드 데이터, 2D-3D 등록(30117)(도 3b)을 포함할 수 있지만, 이에 한정되지 않는다. 일부 구성들에서, 로컬 점유 그리드들(30118)은 ISM을 통한 소나 자유 공간 추정(30225)으로부터 생기는 로컬 점유 그리드 데이터를 포함할 수 있다. 일부 구성들에서, 자유 공간 추정을 갖는 다양한 로컬 점유 그리드들은 미리 선택된 알려진 프로세스들에 따라 로컬 점유 그리드들(30118)로 융합될 수 있다. 전역 점유 그리드(30505)는 디바이스의 부근에 점유 및 표면 데이터를 포함할 수 있는 그리드 맵(30601)(도 3e)을 생성할 수 있다. 일부 구성들에서, 그리드 맵(30601)(도 3e) 및 정적 그리드(30249)(도 3d)는, 예를 들어, 로봇 운영 체제(ROS) 가입/게시 특징들을 이용하여 게시될 수 있지만, 이에 한정되지 않는다.3C-3F, to initialize the global occupancy grid, the global occupancy grid initialization 30200 is generated by the global occupancy grid server 30121, the global occupancy grid 30505, and the static grid 30249. may include The global occupancy grid 30505 can be created by fusing data from the local occupancy grids 30118 with edges 30303, discontinuities 30503, and surfaces 30241 located in the region of interest. Static grid 30249 ( FIG. 3D ) is configured to include data such as, but not limited to, surface data 30241 , discontinuity data 30503 , edges 30303 and polygons 30207 , for example. can be created The initial global occupancy grid 30505 adds occupancy probability data from the static grid 30249 ( FIG. 3E ) to the occupancy data derived from the collected data from the sensors 30107A, and It can be calculated by subtracting the occupancy data from 30505A (FIG. 3F). Local occupancy grids 30118 include, but are not limited to, local occupancy grid data resulting from stereo free space estimation 30209 (FIG. 3B) via ISM, surface/discontinuity detection results 30223 (FIG. 3B). Local occupancy grid data resulting from LIDAR free space estimation 30213 ( FIG. 3B ) via ISM, and local occupancy resulting from LIDAR/MIPI free space estimation 30215 ( FIG. 3B ) following in some configurations. grid data, 2D-3D registration 30117 (FIG. 3B), but is not limited thereto. In some configurations, local occupancy grids 30118 may include local occupancy grid data resulting from sonar free space estimation 30225 via ISM. In some configurations, the various local occupancy grids with free space estimate may be fused into local occupancy grids 30118 according to preselected known processes. The global occupancy grid 30505 may generate a grid map 30601 ( FIG. 3E ) that may include occupancy and surface data in the vicinity of the device. In some configurations, grid map 30601 ( FIG. 3E ) and static grid 30249 ( FIG. 3D ) may be published using, for example, robotic operating system (ROS) subscribe/publish features, but are limited to this. doesn't happen

이제 도 3g 및 도 3h를 참조하면, 디바이스가 이동할 때 점유 그리드를 업데이트하기 위해, 점유 그리드 업데이트(30300)는 디바이스가 이동할 때 측정된 데이터에 관하여 로컬 점유 그리드를 업데이트하고, 이들 데이터를 정적 그리드(30249)와 결합하는 것을 포함할 수 있다. 정적 그리드(30249)는 디바이스가 작동 점유 그리드 범위 밖으로 이동할 때 액세스된다. 디바이스는 제1 시간에 제1 위치(30513A)에 있는 점유 그리드(30245A)에 위치할 수 있다. 디바이스가 제2 위치(30513B)로 이동할 때, 디바이스는 그 새로운 위치로부터 및 가능하게는 점유 그리드(30245A)에서의 값들로부터 도출된 값들의 세트를 포함하는 점유 그리드(30245B)에 위치한다. 정적 그리드(30249)로부터의 데이터 및 제2 시간에 점유 그리드(30245B) 내의 셀들과 위치적으로 일치하는 초기 전역 점유 그리드(30505)(도 3c)로부터의 표면 데이터는, 측정된 표면 데이터 및 점유된 확률과 함께, 미리 선택된 관계에 따라 각각의 그리드 셀을 업데이트하는데 이용될 수 있다. 일부 구성들에서, 관계는 정적 데이터를 측정된 데이터와 합산하는 것을 포함할 수 있다. 제3 시간 및 제3 위치(30513C)에서의 결과적인 점유 그리드(30245C)는 디바이스의 내비게이션을 통보하기 위해 이동 관리자(30123)에게 이용가능하게 될 수 있다.Referring now to FIGS. 3G and 3H , to update the occupancy grid as the device moves, occupancy grid update 30300 updates the local occupancy grid with respect to the measured data as the device moves, and converts these data to a static grid ( 30249)). The static grid 30249 is accessed when the device moves out of range of the operating occupancy grid. The device may be located at the occupancy grid 30245A at the first location 30513A at the first time. When the device moves to the second location 30513B, the device is placed in an occupancy grid 30245B comprising a set of values derived from the new location and possibly values in the occupancy grid 30245A. The data from the static grid 30249 and the surface data from the initial global occupancy grid 30505 (FIG. 3C) that positionally coincide with the cells in the occupancy grid 30245B at the second time include the measured surface data and the occupied surface data. Along with probabilities, it can be used to update each grid cell according to a preselected relationship. In some configurations, the relationship can include summing the static data with the measured data. The resulting occupancy grid 30245C at the third time and third location 30513C may be made available to the mobility manager 30123 to inform navigation of the device.

이제 도 3i를 참조하면, 점유 그리드를 생성 및 관리하기 위한 방법(30450)은, 제한적인 것은 아니지만, 로컬 점유 그리드 생성 노드(30122)에 의해 센서 측정치를 디바이스와 연관된 기준의 프레임으로 변환하는 단계(30451), 타임-스탬프된 측정 점유 그리드를 생성하는 단계(30453), 및 타임-스탬프된 측정 점유 그리드를 로컬 점유 그리드(30234)(도 3g)로서 게시하는 단계(30455)를 포함할 수 있다. 방법(30450)과 연관된 시스템은, 다수의 로컬 그리드 생성 노드들(30122), 예를 들어, 각각의 센서에 대해 하나씩을 포함할 수 있어서, 다수의 로컬 점유 그리드(30234)(도 3g)가 발생할 수 있게 한다. 센서는, 제한적인 것은 아니지만, RGB-D 카메라들(30325)(도 3g), LIDAR/MIPI(30231)(도 3g), 및 LIDAR(30233)(도 3g)를 포함할 수 있다. 방법(30450)과 연관된 시스템은, 로컬 점유 그리드(들)를 수신하고 이들을 방법(30450)에 따라 처리할 수 있는 전역 점유 그리드 서버(30121)를 포함할 수 있다. 특히, 방법(30450)은, 표면들을 로딩하는 단계(30242), 예를 들어, 제한적인 것은 아니지만, 커브들과 같은 표면 불연속성들에 액세스하는 단계(30504), 및 예를 들어, 제한적인 것은 아니지만, 표면 및 표면 불연속성들을 포함할 수 있는 저장소(30107)에서 이용가능한 임의의 특성들로부터 정적 점유 그리드(30249)를 생성하는 단계(30248)를 포함할 수 있다. 방법(30450)은, 게시된 로컬 점유 그리드를 수신하는 단계(30456) 및 맵의 중앙에 디바이스를 유지하기 위해 전역 점유 그리드를 이동시키는 단계(30457)를 포함할 수 있다. 방법(30450)은, 정적 이전 점유 그리드(30249)로부터의 이전 정보로 맵 상의 새로운 영역들을 설정하는 단계(30459), 및 디바이스에 의해 현재 점유된 영역을 비점유된 것으로 마킹하는 단계(30461)를 포함할 수 있다. 방법(30450)은, 각각의 로컬 점유 그리드 내의 각각의 셀에 대해, 루프(30463)를 실행할 수 있다. 루프(30463)는, 전역 점유 그리드 상의 셀의 위치를 계산하는 단계, 전역 점유 그리드 상의 위치에서의 이전 값에 액세스하는 단계, 및 이전 값과 로컬 점유 그리드 내의 셀에서의 값 사이의 관계에 기초하여 셀 위치에서의 새로운 값을 계산하는 단계를 포함할 수 있지만, 이것으로 제한되는 것은 아니다. 이 관계는, 제한적인 것은 아니지만, 값들을 합산하는 단계를 포함할 수 있다. 루프(30463)는, 미리 선택된 수용가능한 확률 범위와 새로운 값을 비교하는 것, 및 전역 점유 그리드를 새로운 값으로 설정하는 것을 포함할 수 있다. 비교는, 확률이 최소 또는 최대 수용가능한 확률보다 낮거나 높으면, 확률을 최소 또는 최대 수용가능한 확률로 설정하는 것을 포함할 수 있다. 방법(30450)은 전역 점유 그리드를 게시하는 단계(30467)를 포함할 수 있다.Referring now to FIG. 3I , a method 30450 for creating and managing an occupancy grid includes, but is not limited to, converting, by a local occupancy grid creation node 30122, sensor measurements into a frame of reference associated with a device ( 30451 ), generating a time-stamped measurement occupancy grid 30453 , and publishing 30455 the time-stamped measurement occupancy grid as a local occupancy grid 30234 ( FIG. 3G ). The system associated with method 30450 may include multiple local grid generating nodes 30122 , eg, one for each sensor, such that multiple local occupancy grids 30234 ( FIG. 3G ) will occur. make it possible Sensors may include, but are not limited to, RGB-D cameras 30325 ( FIG. 3G ), LIDAR/MIPI 30231 ( FIG. 3G ), and LIDAR 30233 ( FIG. 3G ). A system associated with method 30450 may include a global occupancy grid server 30121 that may receive local occupancy grid(s) and process them in accordance with method 30450 . In particular, the method 30450 includes loading surfaces 30242 , such as but not limited to accessing surface discontinuities such as curves 30504 , and, for example, but not limited to, steps 30504 . , generating 30248 the static occupancy grid 30249 from any properties available in the reservoir 30107, which may include a surface and surface discontinuities. The method 30450 can include receiving a posted local occupancy grid ( 30456 ) and moving the global occupancy grid to maintain the device in the center of the map ( 30457 ). The method 30450 includes setting 30459 new areas on the map with old information from a static previous occupancy grid 30249, and marking 30461 an area currently occupied by the device as unoccupied. may include Method 30450 may execute loop 30463 for each cell in each local occupancy grid. Loop 30463 includes calculating the position of the cell on the global occupancy grid, accessing a previous value at the position on the global occupancy grid, and based on the relationship between the previous value and the value in the cell in the local occupancy grid. calculating a new value at the cell location, but is not limited thereto. This relationship may include, but is not limited to, summing values. The loop 30463 may include comparing the new value to the preselected acceptable probability range, and setting the global occupancy grid to the new value. The comparison may include setting the probability to a minimum or maximum acceptable probability if the probability is lower or higher than a minimum or maximum acceptable probability. Method 30450 can include posting 30467 a global occupancy grid.

이제 도 3j를 참조하면, 전역 점유 그리드를 생성하기 위한 대안적 방법(30150)은, 제한적인 것은 아니지만, 디바이스가 이동했다면(30151), (디바이스가 이동되기 전에 있었던) 오래된 맵 영역과 연관된 점유된 확률 값들에 액세스하고(30153), (디바이스가 이동된 후에 있었던) 새로운 맵 영역 상의 전역 점유 그리드를 오래된 맵 영역으로부터의 값들로 업데이트하는 단계, 새로운 맵 영역 내의 전역 점유 그리드의 셀과 연관된 드라이빙가능 표면에 액세스하고(30155), 업데이트된 전역 점유 그리드 내의 셀들을 드라이빙가능 표면들로 업데이트하는 단계, 및 단계 30159로 진행하는 단계를 포함할 수 있다. 30151에서 디바이스가 이동하지 않았다면, 그리고 전역 점유 그리드가 로컬 점유 그리드와 함께 위치해 있다면, 방법(30150)은, 적어도 하나의 로컬 점유 그리드로부터의 드라이빙가능 표면들과 연관된 표면 신뢰도들로 아마도 업데이트된 전역 점유 그리드를 업데이트하는 단계(30159), 예를 들어, 제한적인 것은 아니지만, 베이지안 함수를 이용하여 적어도 하나의 로컬 점유 그리드로부터의 점유된 확률 값의 로그오즈로 업데이트된 전역 점유 그리드를 업데이트하는 단계(30161), 및 위치와 연관된 특성들에 적어도 기초하여 로그오즈를 조정하는 단계(30163)를 포함할 수 있다. 30157에서 전역 점유 그리드가 로컬 점유 그리드와 함께 위치해 있지 않다면, 방법(30150)은 단계(30151)로 복귀하는 단계를 포함할 수 있다. 특성들은, 제한적인 것은 아니지만, 디바이스의 위치를 비점유된 것으로 설정하는 것을 포함할 수 있다.Referring now to FIG. 3J , an alternative method 30150 for creating a global occupancy grid includes, but is not limited to, if the device has moved 30151 , the occupied map area associated with the old map area (which was before the device was moved) is accessing the probability values 30153 and updating the global occupancy grid on the new map area (which was after the device was moved) with values from the old map area, the drivable surface associated with the cell of the global occupancy grid in the new map area accessing 30155 , updating cells in the updated global occupancy grid with drivable surfaces, and proceeding to step 30159 . If the device has not moved at 30151, and if the global occupancy grid is co-located with the local occupancy grid, then the method 30150 includes the global occupancy possibly updated with surface confidences associated with drivable surfaces from the at least one local occupancy grid. Updating the grid 30159, eg, but not limited to, updating the updated global occupancy grid with the log odds of occupied probability values from at least one local occupancy grid using a Bayesian function 30161 ), and adjusting 30163 the log odds based at least on the characteristics associated with the location. If at 30157 the global occupancy grid is not co-located with the local occupancy grid, the method 30150 may include returning to step 30151 . Characteristics may include, but are not limited to, setting the location of the device to unoccupied.

이제 도 3k를 참조하면, 다른 구성에서, 전역 점유 그리드를 생성하기 위한 방법(30250)은, 제한적인 것은 아니지만, 30251에서 디바이스가 이동했다면, 디바이스의 새로운 위치와 연관된 정적 그리드로부터의 정보로 전역 점유 그리드를 업데이트하는 단계(30253)를 포함할 수 있다. 방법(30250)은 새로운 위치에서의 표면들을 분석하는 단계(30257)를 포함할 수 있다. 30259에서 표면들이 드라이빙가능하다면, 방법(30250)은 전역 점유 그리드 상의 표면들을 업데이트하는 단계(30261), 및 맵 상의 새로운 위치와 연관된 정적 값들의 저장소로부터의 값들로 전역 점유 그리드를 업데이트하는 단계(30263)를 포함할 수 있다.Referring now to FIG. 3K , in another configuration, a method 30250 for creating a global occupancy grid includes, but is not limited to, if the device has moved at 30251, the global occupancy with information from the static grid associated with the device's new location. updating the grid (30253). Method 30250 can include analyzing 30257 surfaces at the new location. If the surfaces are drivable at 30259, the method 30250 updates the surfaces on the global occupancy grid 30261, and updates 30263 the global occupancy grid with values from the store of static values associated with the new location on the map. ) may be included.

이제 도 3l을 참조하면, 표면들을 업데이트하는 단계(30261)는, 제한적인 것은 아니지만, 특정한 센서에 대한 로컬 점유 그리드(LOG)에 액세스하는 단계(30351)를 포함할 수 있다. 30353에서 처리할 로컬 점유 그리드에 더 많은 셀이 있다면, 방법(30261)은, 로컬 점유 그리드로부터의 표면 분류 신뢰도 값 및 표면 분류에 액세스하는 단계(30355)를 포함할 수 있다. 30357에서 로컬 점유 그리드에서의 셀에서의 표면 분류가 셀의 위치에서의 전역 점유 그리드에서의 표면 분류와 동일하다면, 방법(30261)은, 새로운 전역 점유 그리드(GOG) 표면 신뢰도를 오래된 전역 점유 그리드 표면 신뢰도와 로컬 점유 그리드 표면 신뢰도의 합으로 설정하는 단계(30461)를 포함할 수 있다. 30357에서 로컬 점유 그리드에서의 셀에서의 표면 분류가 셀의 위치에서의 전역 점유 그리드에서의 표면 분류와 동일하지 않다면, 방법(30261)은, 새로운 전역 점유 그리드 표면 신뢰도를 오래된 전역 점유 그리드 표면 신뢰도와 로컬 점유 그리드 표면 신뢰도 사이의 차이로 설정하는 단계(30359)를 포함할 수 있다. 30463에서 새로운 전역 점유 그리드 표면 신뢰도가 0보다 작다면, 방법(30261)은, 새로운 전역 점유 그리드 표면 분류를 로컬 점유 그리드 표면 분류의 값으로 설정하는 단계(30469)를 포함할 수 있다.Referring now to FIG. 3L , updating surfaces 30261 may include, but is not limited to, accessing 30351 a local occupancy grid (LOG) for a particular sensor. If there are more cells in the local occupancy grid to process at 30353 , the method 30261 may include accessing the surface classification and surface classification confidence value from the local occupancy grid ( 30355 ). If at 30357 the surface classification in the cell in the local occupancy grid is the same as the surface classification in the global occupancy grid at the location of the cell, then the method 30261 calculates the new global occupancy grid (GOG) surface reliability to the old global occupancy grid surface. setting 30461 to the sum of the reliability and the locally occupied grid surface reliability. If at 30357 the surface classification in the cell in the local occupancy grid is not the same as the surface classification in the global occupancy grid at the location of the cell, then the method 30261 compares the new global occupancy grid surface confidence with the old global occupancy grid surface confidence. setting 30359 to the difference between the locally occupied grid surface reliability. If at 30463 the new global occupancy grid surface confidence is less than zero, the method 30261 may include setting 30469 the new global occupancy grid surface classification to a value of the local occupancy grid surface classification.

이제 도 3m을 참조하면, 정적 값의 저장소로부터의 값으로 전역 점유 그리드를 업데이트하는 단계(30263)는, 이것으로 제한되는 것은 아니지만, 30361에서 처리할 로컬 점유 그리드에 더 많은 셀이 있다면, 방법(30263)은 로컬 점유 그리드로부터의 로그오즈에 액세스하는 단계(30363) 및 그 위치에서의 로컬 점유 그리드로부터의 값으로 전역 점유 그리드에서의 로그오즈를 업데이트하는 단계(30365)를 포함할 수 있다. 30367에서 셀이 비어 있다는 최대 확실성이 충족되는 경우, 및 30369에서 디바이스가 미리 결정된 차선 장벽들 내에서 이동하고 있는 경우, 및 30371에서 표면이 드라이빙가능한 경우, 방법(30263)은 셀이 점유되어 있을 확률을 업데이트하는 단계(30373) 및 더 많은 셀을 계속 처리하기 위해 복귀하는 단계를 포함할 수 있다. 30367에서 셀이 비어 있다는 최대 확실성이 도달되지 않는 경우, 또는 30369에서 디바이스가 미리 결정된 차선에서 이동하고 있지 않은 경우, 또는 30371에서 디바이스가 현재 이동하고 있는 모드에서 표면이 드라이빙가능하지 않은 경우, 방법(30263)은 로그오즈를 업데이트하지 않고 더 많은 셀을 고려하기 위해 복귀하는 단계를 포함할 수 있다. 디바이스가 표준 모드, 즉, 디바이스가 비교적 균일한 표면들을 내비게이팅할 수 있는 모드에 있고, 표면 분류가 표면이 비교적 균일하지 않다는 것을 나타낸다면, 방법(30263)은 로그오즈를 업데이트(30373)함으로써 셀이 점유되어 있을 확률을 증가시킴으로써 디바이스의 경로를 조정할 수 있다. 디바이스가 표준 모드에 있고, 표면 분류가 표면이 비교적 균일하다는 것을 나타낸다면, 방법(30263)은 로그오즈를 업데이트(30373)하는 것에 의해 셀이 점유되어 있을 확률을 감소시킴으로써 디바이스의 경로를 조정할 수 있다. 디바이스가 4-휠 모드에서 이동하고 있다면, 즉, 디바이스가 불균일한 지형을 내비게이팅할 수 있는 모드라면, 셀이 점유되어 있을 확률에 대한 조정들은 필요하지 않을 수 있다.Referring now to FIG. 3M , the step 30263 of updating the global occupancy grid with values from the store of static values includes, but is not limited to, if there are more cells in the local occupancy grid to process at 30361, the method ( 30263 may include accessing 30363 log odds from the local occupancy grid and updating 30365 log odds in the global occupancy grid with values from the local occupancy grid at the location. If the maximum certainty that the cell is empty is met at 30367, and if the device is moving within predetermined lane barriers at 30369, and if the surface is drivable at 30371, then the method 30263 determines the probability that the cell is occupied. updating 30373 and returning to continue processing more cells. If the maximum certainty that the cell is empty is not reached at 30367, or if the device is not moving in a predetermined lane at 30369, or if at 30371 the surface is not drivable in the mode in which the device is currently moving, the method ( 30263) may include returning to consider more cells without updating the log odds. If the device is in standard mode, i.e., a mode in which the device can navigate relatively uniform surfaces, and the surface classification indicates that the surface is not relatively uniform, the method 30263 updates the log odds By increasing the probability of this being occupied, the path of the device can be adjusted. If the device is in standard mode and the surface classification indicates that the surface is relatively uniform, the method 30263 can adjust the path of the device by reducing the probability that the cell is occupied by updating 30373 the log odds. . If the device is moving in a four-wheel mode, that is, if the device is able to navigate non-uniform terrain, then adjustments to the probability that the cell is occupied may not be necessary.

이제 도 4a를 참조하면, AV는 디바이스 구성, 예를 들어, 디바이스(42114A)에 도시된 구성 및 디바이스(42114B)에 도시된 구성과 연관될 수 있는 특정 모드에서 이동할 수 있다. 적어도 하나의 환경 인자 및 디바이스의 상황에 기초한, 디바이스의 구성의 실시간 제어를 위한 본 교시의 시스템은, 제한적인 것은 아니지만, 센서들, 이동 수단, 센서들 및 이동 수단과 동작가능하게 결합된 섀시―이동 수단은 모터들 및 전원에 의해 구동됨―, 센서들로부터 데이터를 수신하는 디바이스 프로세서, 및 이동 수단을 제어하는 파워 베이스 프로세서를 포함할 수 있다. 일부 구성들에서, 디바이스 프로세서는 환경 데이터를 수신하고, 환경 인자들을 결정하고, 환경 인자들 및 디바이스의 상황에 따라 구성 변경들을 결정하고, 구성 변경들을 파워 베이스 프로세서에 제공할 수 있다. 파워 베이스 프로세서는 이동 수단에 명령들을 발행하여 디바이스를 이리저리 이동시키고, 도로 표면 타입에 의해 요구될 때 디바이스를 물리적으로 재구성할 수 있다.Referring now to FIG. 4A , the AV may move in a particular mode that may be associated with a device configuration, eg, the configuration shown in device 42114A and the configuration shown in device 42114B. A system of the present teachings for real-time control of a configuration of a device, based on at least one environmental factor and a context of the device, includes, but is not limited to, a chassis operatively coupled with sensors, means of movement, sensors and means of movement; The moving means is driven by motors and a power source—it may include a device processor that receives data from sensors, and a power base processor that controls the moving means. In some configurations, the device processor may receive environmental data, determine environmental factors, determine configuration changes according to the environmental factors and a situation of the device, and provide the configuration changes to the power base processor. The power base processor may issue commands to the vehicle to move the device around and physically reconfigure the device as required by the road surface type.

도 4a를 계속 참조하면, 환경 데이터를 수집하는 센서들은, 예를 들어, 카메라들, LIDAR, 레이더, 온도계들, 압력 센서들, 및 날씨 상태 센서들(이들 중 몇몇은 본 명세서에 기술됨)을 포함할 수 있지만, 이에 제한되지 않는다. 이러한 데이터 분류로부터, 디바이스 프로세서는 디바이스 구성이 변경될 수 있는 환경 인자들을 결정할 수 있다. 일부 구성들에서, 환경 인자들은, 예를 들어, 제한적인 것은 아니지만, 표면 타입, 표면 피처들, 및 표면 상태들과 같은 표면 인자들을 포함할 수 있다. 디바이스 프로세서는, 환경 인자들 및 디바이스의 현재 상황에 기초하여, 검출된 표면 타입의 횡단을 수용하기 위해 구성을 어떻게 변경할지를 실시간으로 결정할 수 있다.With continued reference to FIG. 4A , sensors collecting environmental data include, for example, cameras, LIDAR, radar, thermometers, pressure sensors, and weather condition sensors, some of which are described herein. may include, but are not limited to. From this data classification, the device processor can determine environmental factors in which the device configuration may change. In some configurations, environmental factors may include, for example, but not limited to surface factors such as surface type, surface features, and surface conditions. The device processor may determine in real time how to change the configuration to accommodate the traversal of the detected surface type, based on environmental factors and the current situation of the device.

도 4a를 계속 참조하면, 일부 구성들에서, 디바이스(42114A/B/C)(집합적으로 디바이스(42114)로 지칭됨)의 구성 변경은, 예를 들어, 이동 수단의 구성의 변경을 포함할 수 있다. 현재 모드 및 표면 타입에 의존할 수 있는 사용자 정보 디스플레이들 및 센서 제어들과 같은 다른 구성 변경들이 고려될 수 있다. 일부 구성들에서, 본 명세서에 설명된 바와 같이, 이동 수단은 섀시(42112)의 각 측에 2개씩인 적어도 4개의 구동 휠들(442101), 및 섀시(42112)와 동작가능하게 결합된 적어도 2개의 캐스터 휠들(42103)을 포함할 수 있다. 일부 구성들에서, 구동 휠들(442101)은 쌍들(42105)로 동작가능하게 결합될 수 있고, 여기서 각 쌍(42105)은 4개의 구동 휠들(442101)의 제1 구동 휠(42101A) 및 제2 구동 휠(42101B)을 포함할 수 있고, 쌍들(42105)은 섀시(42112)의 대향 측들에 각각 위치된다. 동작가능한 결합은 휠 클러스터 조립체(42110)를 포함할 수 있다. 일부 구성들에서, 파워 베이스 프로세서(41016)(도 4b)는 클러스터 조립체(42110)의 회전을 제어할 수 있다. 좌측 및 우측 휠 모터들(41017)(도 4b)은 섀시(42112)의 양 측 상의 휠들(442101)을 구동할 수 있다. 회전은 좌측 및 우측 휠 모터들(41017)(도 4b)을 상이한 레이트들로 구동함으로써 달성될 수 있다. 클러스터 모터들(41019)(도 4b)은 휠베이스를 전방/후방 방향으로 회전시킬 수 있다. 휠베이스의 회전은 화물이 구동 휠들(442101)로부터 독립적으로 회전하는 것을 허용할 수 있고, 반면에 예를 들어, 불연속적인 표면 피처들을 만날 때, 전방 구동 휠들(442101A)이 후방 구동 휠들(442101B)보다 높거나 낮아지는 것을 허용할 수 있다. 클러스터 조립체(42110)는 2개의 휠들의 각 쌍(42105)을 독립적으로 동작시킬 수 있고, 이에 의해 명령 시에 디바이스(42114)의 전방, 후방 및 회전 움직임을 제공할 수 있다. 클러스터 조립체(42110)는 쌍들(42105)을 위한 구조적 지지를 제공할 수 있다. 클러스터 조립체(42110)는 휠 구동 조립체들을 함께 회전시키기 위한 기계적 전력을 제공할 수 있어, 클러스터 조립체 회전, 예를 들어, 이에 한정되는 것은 아니지만, 불연속적인 표면 피처 클라이밍, 다양한 표면 타입들 및 불균일한 지형에 의존하는 기능들을 허용한다. 클러스터링된 휠들의 동작에 대한 추가의 상세는 본 명세서에 그 전체가 참조로 포함되는, 2018년 7월 13일자로 출원된, Mobility Device라는 명칭의 미국 특허 출원 제16,035,205호, 대리인 문서 번호 X80에서 발견될 수 있다.With continued reference to FIG. 4A , in some configurations, a configuration change of device 42114A/B/C (collectively referred to as device 42114 ) may include, for example, a change in configuration of the means of transportation. can Other configuration changes are contemplated, such as user information displays and sensor controls that may depend on the current mode and surface type. In some configurations, as described herein, the means of movement includes at least four drive wheels 442101 , two on each side of chassis 42112 , and at least two operatively coupled chassis 42112 . It may include caster wheels 42103 . In some configurations, drive wheels 442101 can be operatively coupled into pairs 42105 , where each pair 42105 includes a first drive wheel 42101A and a second drive of four drive wheels 442101 . may include a wheel 42101B, with pairs 42105 positioned on opposite sides of the chassis 42112, respectively. The operable coupling may include a wheel cluster assembly 42110 . In some configurations, the power base processor 41016 ( FIG. 4B ) can control rotation of the cluster assembly 42110 . Left and right wheel motors 41017 ( FIG. 4B ) may drive wheels 442101 on either side of chassis 42112 . Rotation may be accomplished by driving the left and right wheel motors 41017 ( FIG. 4B ) at different rates. Cluster motors 41019 ( FIG. 4B ) may rotate the wheelbase in a forward/rear direction. Rotation of the wheelbase may allow the load to rotate independently from the drive wheels 442101 , while, for example, when encountering discontinuous surface features, the front drive wheels 442101A and the rear drive wheels 442101B Higher or lower may be allowed. The cluster assembly 42110 may operate each pair of two wheels 42105 independently, thereby providing forward, backward, and rotational movement of the device 42114 upon command. The cluster assembly 42110 may provide structural support for the pairs 42105 . The cluster assembly 42110 may provide mechanical power to rotate the wheel drive assemblies together, such as, but not limited to, cluster assembly rotation, such as, but not limited to, climbing discontinuous surface features, various surface types, and non-uniform terrain. Allows functions that depend on Additional details of the operation of clustered wheels are found in U.S. Patent Application Serial No. 16,035,205, Attorney Docket No. X80, entitled Mobility Device, filed July 13, 2018, which is incorporated herein by reference in its entirety. can be

도 4a를 계속 참조하면, 디바이스(42114)의 구성은 디바이스(42114)의 모드(41033)(도 4b)와 연관될 수 있지만, 그와 연관되지 않을 수 있다. 디바이스(42114)는 몇몇 모드들(41033)(도 4b)에서 동작할 수 있다. 표준 모드(10100-1)(도 5e)에서, 디바이스(42114B)는 구동 휠들(442101B)들 중 2개 및 캐스터 휠들(42103)들 중 2개 상에서 동작할 수 있다. 표준 모드(10100-1)(도 5e)는, 예를 들어, 실내 환경들, 보도들, 및 포장에 한정되지 않지만, 비교적 견고한 레벨 표면들 상에서 회전 성능 및 이동성을 제공할 수 있다. 향상된 모드(10100-2)(도 5e), 또는 4-휠 모드에서, 디바이스(42114A/C)는 구동 휠들(442101A/B)들 중 4개에 명령할 수 있고, 온보드 센서들을 통해 능동적으로 안정화될 수 있고, 섀시(42112), 캐스터들(42103), 및 화물을 상승 및/또는 재배향할 수 있다. 4-휠 모드(10100-2)(도 5e)는 다양한 환경에서 이동성을 제공할 수 있어, 디바이스(42114A/C)가 가파른 경사로 위로 그리고 부드럽고 불균일한 지형 위로 이동할 수 있게 한다. 4-휠 모드(10100-2)(도 5e)에서, 구동 휠(442101A/B)들 중 4개 모두가 전개될 수 있고 캐스터 휠(42103)이 후퇴될 수 있다. 클러스터(42110)의 회전은 불균일한 지형 상에서의 동작을 허용할 수 있고, 구동 휠들(442101A/B)은 불연속적인 표면 피처들 위로 그리고 그 위에서 구동할 수 있다. 이 기능은 매우 다양한 실외 환경에서 이동성을 디바이스(42114A/C)에 제공할 수 있다. 디바이스(42114B)는 견고하고 안정되지만 젖은 실외 표면들 상에서 동작할 수 있다. 서리 융기(frost heaves) 및 다른 자연 현상들은 실외 표면들을 열화시켜, 균열 및 느슨한 재료를 생성할 수 있다. 4-휠 모드(10100-2)(도 5e)에서, 디바이스(42114A/C)는 이들 열화된 표면들 상에서 동작할 수 있다. 모드들(41033)(도 4b)은 그 전체가 본 명세서에 참조로 포함되는, 2003년 6월 3일자로 발행된 Control System and Method라는 명칭의 미국 특허 제6,571,892호('892)에 상세히 설명되어 있다.With continued reference to FIG. 4A , the configuration of device 42114 may be associated with, but not associated with, mode 41033 ( FIG. 4B ) of device 42114 . Device 42114 may operate in several modes 41033 ( FIG. 4B ). In standard mode 10100 - 1 ( FIG. 5E ), device 42114B can operate on two of drive wheels 442101B and two of caster wheels 42103 . Standard mode 10100 - 1 ( FIG. 5E ) may provide rotational performance and mobility on relatively solid level surfaces, for example, but not limited to indoor environments, sidewalks, and pavement. In enhanced mode 10100 - 2 ( FIG. 5E ), or four-wheel mode, device 42114A/C can command four of drive wheels 442101A/B and actively stabilize via onboard sensors and may raise and/or redirect the chassis 42112 , casters 42103 , and cargo. The four-wheel mode 10100-2 (FIG. 5E) can provide mobility in a variety of environments, allowing the device 42114A/C to move up steep slopes and over smooth, uneven terrain. In the four-wheel mode 10100 - 2 ( FIG. 5E ), all four of the drive wheels 442101A/B can be deployed and the caster wheel 42103 can be retracted. Rotation of cluster 42110 may allow operation on non-uniform terrain, and drive wheels 442101A/B may drive over and over discontinuous surface features. This capability may provide the device 42114A/C with mobility in a wide variety of outdoor environments. Device 42114B is robust and stable but can operate on wet outdoor surfaces. Frost heaves and other natural phenomena can degrade outdoor surfaces, creating cracks and loose material. In 4-wheel mode 10100 - 2 ( FIG. 5E ), device 42114A/C can operate on these degraded surfaces. Modes 41033 (FIG. 4B) are described in detail in US Pat. No. 6,571,892 ('892), entitled Control System and Method, issued Jun. 3, 2003, which is incorporated herein by reference in its entirety. there is.

이제 도 4b를 참조하면, 시스템(41000)은 센서들(41031)로부터의 입력들을 처리하고, 휠 모터들(41017)에 대한 명령들을 생성하여 휠들(442101)(도 4a)을 구동하고, 클러스터들(42110)(도 4a)을 구동하기 위해 클러스터 모터들(41019)에 대한 명령들을 생성함으로써, 디바이스(42114)(도 4a)를 구동할 수 있다. 시스템(41000)은 디바이스 프로세서(41014) 및 파워 베이스 프로세서(41016)를 포함할 수 있지만, 이에 제한되지 않는다. 디바이스 프로세서(41014)는 센서들(41031)로부터 환경 데이터(41022)를 수신 및 처리하고, 구성 정보(40125)를 파워 베이스 프로세서(41016)에 제공할 수 있다. 일부 구성들에서, 디바이스 프로세서(41014)는 센서들(41031)로부터 환경 데이터(41022)를 수신 및 처리할 수 있는 센서 프로세서(41021)를 포함할 수 있다. 센서들(41031)은, 본 명세서에 설명된 바와 같이, 카메라들을 포함할 수 있지만, 이에 제한되지 않는다. 이러한 데이터로부터, 예를 들어, 디바이스(42114)(도 4a)에 의해 횡단되고 있는 드라이빙 표면에 관한 정보가 누적 및 처리될 수 있다. 일부 구성들에서, 드라이빙 표면 정보는 실시간으로 처리될 수 있다. 디바이스 프로세서(41014)는, 예를 들어, 디바이스(42114)(도 4a)에 의해 횡단되고 있는 환경 데이터(41022)로부터 표면 타입(40121)을 결정할 수 있는 구성 프로세서(41023)를 포함할 수 있다. 구성 프로세서(41023)는, 예를 들어, 드라이빙 표면 분류 계층, 드라이빙 표면 신뢰 계층, 및 환경 데이터(41022)로부터 점유 계층을 생성할 수 있는 예를 들어, 드라이빙 표면 프로세서(41029)(도 4c)를 포함할 수 있다. 이러한 데이터는 파워 베이스 프로세서(41016)에 의해 이동 명령들(40127) 및 모터 명령들(40128)을 생성하기 위해 이용될 수 있고, 전역 점유 그리드 프로세서(41025)에 의해 본 명세서에 설명된 바와 같이, 경로 계획에 이용될 수 있는 점유 그리드를 업데이트하기 위해 이용될 수 있다. 구성(40125)은 표면 타입(40121)에 적어도 부분적으로 기초할 수 있다. 표면 타입(40121) 및 모드(41033)는 점유 그리드 정보(41022)를 적어도 부분적으로 결정하는데 이용될 수 있고, 점유 그리드 정보(41022)는 점유 그리드 내의 셀이 점유될 확률을 포함할 수 있다. 점유 그리드는, 적어도 부분적으로, 디바이스(42114)(도 4a)가 취할 수 있는 경로의 결정을 가능하게 할 수 있다.Referring now to FIG. 4B , system 41000 processes inputs from sensors 41031 and generates commands to wheel motors 41017 to drive wheels 442101 ( FIG. 4A ) and clusters By generating commands to the cluster motors 41019 to drive 42110 ( FIG. 4A ), it can drive the device 42114 ( FIG. 4A ). System 41000 may include, but is not limited to, a device processor 41014 and a power base processor 41016 . The device processor 41014 may receive and process the environmental data 41022 from the sensors 41031 , and provide the configuration information 40125 to the power base processor 41016 . In some configurations, the device processor 41014 can include a sensor processor 41021 that can receive and process environmental data 41022 from the sensors 41031 . Sensors 41031 may include, but are not limited to, cameras, as described herein. From this data, for example, information about the driving surface being traversed by device 42114 ( FIG. 4A ) can be accumulated and processed. In some configurations, the driving surface information may be processed in real time. The device processor 41014 can include, for example, a configuration processor 41023 that can determine the surface type 40121 from the environmental data 41022 being traversed by the device 42114 ( FIG. 4A ). The configuration processor 41023 may, for example, generate a driving surface classification layer, a driving surface trust layer, and an occupancy layer from the environmental data 41022, e.g., a driving surface processor 41029 (FIG. 4C). may include This data may be used by the power base processor 41016 to generate move instructions 40127 and motor instructions 40128, as described herein by the global occupancy grid processor 41025, It can be used to update the occupancy grid that can be used for route planning. Configuration 40125 may be based, at least in part, on surface type 40121 . The surface type 40121 and the mode 41033 may be used to at least partially determine the occupancy grid information 41022 , the occupancy grid information 41022 may include a probability that a cell within the occupancy grid will be occupied. The occupancy grid may enable, at least in part, the determination of a path that device 42114 ( FIG. 4A ) may take.

도 4b를 계속 참조하면, 파워 베이스 프로세서(41016)는 디바이스 프로세서(41014)로부터 구성 정보(40125)를 수신하고, 다른 정보, 예를 들어, 경로 정보와 함께 구성 정보(40125)를 처리할 수 있다. 파워 베이스 프로세서(41016)는 구성 정보(40125)에 적어도 기초하여 이동 명령들(40127)을 생성하고, 이동 명령들(40127)을 모터 구동 프로세서(40326)에 제공할 수 있는 제어 프로세서(40325)를 포함할 수 있다. 모터 구동 프로세서(40326)는 디바이스(42114)(도 4a)를 유도하고 이동시킬 수 있는 모터 명령들(40128)을 생성할 수 있다. 구체적으로, 모터 구동 프로세서(40326)는 휠 모터들(41017)을 구동할 수 있는 모터 명령들(40128)을 생성할 수 있고, 클러스터 모터들(41019)를 구동할 수 있는 모터 명령들(40128)을 생성할 수 있다.With continued reference to FIG. 4B , the power base processor 41016 may receive the configuration information 40125 from the device processor 41014 and process the configuration information 40125 along with other information, for example, path information. . The power base processor 41016 includes a control processor 40325 that can generate move instructions 40127 based at least on the configuration information 40125 and provide the move instructions 40127 to the motor drive processor 40326 . may include The motor drive processor 40326 can generate motor instructions 40128 that can induce and move the device 42114 ( FIG. 4A ). Specifically, motor drive processor 40326 can generate motor instructions 40128 that can drive wheel motors 41017 , and motor commands 40128 that can drive cluster motors 41019 . can create

이제 도 4c를 참조하면, 본 교시의 실시간 표면 검출은 드라이빙 표면 프로세서(41029)를 포함할 수 있는 구성 프로세서(41023)를 포함할 수 있지만, 이에 제한되는 것은 아니다. 드라이빙 표면 프로세서(41029)는 디바이스(42114)(도 4a)가 내비게이팅하고 있는 드라이빙 표면의 특성들을 결정할 수 있다. 특성들은 디바이스(42114)(도 4a)의 미래 구성을 결정하는데 이용될 수 있다. 드라이빙 표면 프로세서(41029)는 신경망 프로세서(40207), 데이터 변환들(40215, 40219, 40239), 계층 프로세서(40241) 및 점유 그리드 프로세서(40242)를 포함할 수 있지만, 이에 제한되는 것은 아니다. 이들 구성요소는 함께 디바이스(42114)(도 4a)의 구성의 변경을 지시할 수 있는 정보를 생성할 수 있고 디바이스(42114)(도 4a)의 이동을 위한 경로 계획을 알릴 수 있는 점유 그리드(40244)(도 4c)의 수정을 가능하게 할 수 있다.Referring now to FIG. 4C , real-time surface detection of the present teachings may include, but is not limited to, a configuration processor 41023 , which may include a driving surface processor 41029 . The driving surface processor 41029 can determine characteristics of the driving surface that the device 42114 ( FIG. 4A ) is navigating to. The characteristics may be used to determine a future configuration of device 42114 ( FIG. 4A ). The driving surface processor 41029 may include, but is not limited to, a neural network processor 40207 , data transformations 40215 , 40219 , 40239 , a layer processor 40241 , and an occupancy grid processor 40242 . Together these components can generate information that can direct a change in configuration of device 42114 ( FIG. 4A ) and can inform route planning for movement of device 42114 ( FIG. 4A ) occupancy grid 40244 . ) (Fig. 4c) can be modified.

이제 도 4c 및 도 4d를 참조하면, 신경망 프로세서(40207)는 센서들(41031)(도 4b)에 의해 수집된 데이터의 각각의 포인트에 대해, 포인트가 표현할 가능성이 있는 표면의 타입을 나타낼 수 있는 훈련된 신경망에 환경 데이터(41022)(도 4b)를 적용할 수 있다. 환경 데이터(41022)(도 4b)는 카메라 이미지들(40202)로서 수신될 수 있지만, 이에 제한되는 것은 아니며, 카메라들은 카메라 특성들(40204)과 연관될 수 있다. 카메라 이미지들(40202)은 X-해상도(40205)(도 4d) 및 Y-해상도(40204)(도 4d)를 갖는 포인트들(40201)의 2D 그리드들을 포함할 수 있다. 일부 구성들에서, 카메라 이미지들(40202)은 RGB-D 이미지들을 포함할 수 있고, X-해상도(40205)(도 4d)는 40,640 픽셀을 포함할 수 있고, Y-해상도(40204)(도 4d)는 40,480 픽셀을 포함할 수 있다. 일부 구성들에서, 카메라 이미지들(40202)은 선택된 신경망의 요건들에 따라 포맷된 이미지들로 변환될 수 있다. 일부 구성들에서, 데이터는 정규화되고, 스케일링되고, 2D로부터 1D로 변환될 수 있고, 이는 신경망의 처리 효율을 향상시킬 수 있다. 신경망은 RGB-D 카메라 이미지들로 훈련하는 것을 포함하지만 이에 제한되는 것은 아닌 다수의 방식으로 훈련될 수 있다. 일부 구성들에서, 신경망 파일(40209)(도 4d)로 표현된 훈련된 신경망은 훈련된 신경망을 실행하는 프로세서에 대한 직접 접속을 통해 또는 예를 들어 통신 채널을 통해 신경망 프로세서(40207)에 이용가능하게 될 수 있다. 일부 구성들에서, 신경망 프로세서(40207)는 환경 데이터(41022)(도 4b) 내의 표면 타입들(40121)(도 4c)을 식별하기 위해 훈련된 신경망 파일(40209)(도 4d)을 이용할 수 있다. 일부 구성들에서, 표면 타입들(40121)(도 4c)은 드라이빙 불가능, 하드 드라이빙 가능, 소프트 드라이빙 가능, 및 커브를 포함할 수 있지만, 이들에 제한되는 것은 아니다. 일부 구성들에서, 표면 타입들(40121)(도 4c)은 드라이빙 불가능/배경, 아스팔트, 콘크리트, 브릭, 패킹된 먼지, 목재 플랭크, 자갈/작은 돌, 풀, 멀치(mulch), 모래, 커브, 고체 금속, 금속 그레이트, 촉각 포장재, 눈/얼음, 및 열차 트랙들을 포함할 수 있지만, 이에 제한되는 것은 아닐 수 있다. 신경망 처리의 결과는 X-해상도(40205) 및 Y-해상도(40203)를 갖는 포인트들(40213)의 표면 분류 그리드(40303), 및 센터(40211)를 포함할 수 있다. 표면 분류 그리드(40303)에서의 각각의 포인트(40213)는 표면 타입들(40121)(도 4c) 중 특정한 것일 가능성과 연관될 수 있다.Referring now to FIGS. 4C and 4D , the neural network processor 40207 may indicate, for each point of data collected by the sensors 41031 ( FIG. 4B ), the type of surface the point is likely to represent. The environment data 41022 (FIG. 4B) may be applied to the trained neural network. Environment data 41022 ( FIG. 4B ) may be received as, but not limited to, camera images 40202 , cameras may be associated with camera characteristics 40204 . The camera images 40202 may include 2D grids of points 40201 having an X-resolution 40205 ( FIG. 4D ) and a Y-resolution 40204 ( FIG. 4D ). In some configurations, camera images 40202 may include RGB-D images, X-resolution 40205 ( FIG. 4D ) may include 40,640 pixels, and Y-resolution 40204 ( FIG. 4D ). ) may include 40,480 pixels. In some configurations, camera images 40202 may be converted into formatted images according to the requirements of the selected neural network. In some configurations, data can be normalized, scaled, and transformed from 2D to 1D, which can improve the processing efficiency of the neural network. A neural network can be trained in a number of ways, including but not limited to training with RGB-D camera images. In some configurations, the trained neural network represented by the neural network file 40209 ( FIG. 4D ) is available to the neural network processor 40207 via a direct connection to the processor executing the trained neural network or via, for example, a communication channel. can be done In some configurations, the neural network processor 40207 may use the trained neural network file 40209 ( FIG. 4D ) to identify surface types 40121 ( FIG. 4C ) in the environmental data 41022 ( FIG. 4B ). . In some configurations, surface types 40121 ( FIG. 4C ) may include, but are not limited to, non-drivable, hard-drivable, soft-drivable, and curve. In some configurations, surface types 40121 ( FIG. 4C ) are non-drivable/background, asphalt, concrete, brick, packed dust, wood flank, gravel/pebbles, grass, mulch, sand, curve, may include, but are not limited to, solid metal, metal grates, tactile pavement, snow/ice, and train tracks. The result of the neural network processing may include a surface classification grid 40303 of points 40213 with X-resolution 40205 and Y-resolution 40203 , and a center 40211 . Each point 40213 in the surface classification grid 40303 may be associated with a likelihood of being a particular one of the surface types 40121 ( FIG. 4C ).

도 4c 및 도 4d를 계속 참조하면, 드라이빙 표면 프로세서(41029)(도 4c)는 2D 카메라 프레임에서의 2D 표면 분류 그리드(40303)(도 4d)로부터 카메라에 의해 보여지는 바와 같은 3D 실세계 좌표들에서의 3D 이미지 큐브(40307)(도 4d)로 디프로젝트할 수 있는 2D 대 3D 변환(40215)을 포함할 수 있다. 디프로젝션은 2D 데이터의 3D 특성들을 복구할 수 있고, RGB-D 카메라로부터 3D 카메라 프레임(40305)(도 4c)으로 2D 이미지를 변환할 수 있다. 큐브(40307)(도 4d) 내의 포인트들(40233)(도 4d)은 각각 표면 타입들(40121)(도 4c) 중 특정한 하나, 및 심도 좌표는 물론 X/Y 좌표들일 가능성과 연관될 수 있다. 포인트 큐브(40307)(도 4d)의 치수는, 예를 들어, 초점 길이 x, 초점 길이 y, 및 투영 중심(40225)과 같은, 예를 들어, 카메라 특성들(40204)(도 4c)에 따라 한정될 수 있지만, 이에 제한되는 것은 아니다. 예를 들어, 카메라 특성들(40204)은 카메라가 신뢰성 있게 투영할 수 있는 최대 범위를 포함할 수 있다. 또한, 이미지(40202)와 간섭할 수 있는 디바이스(42114)(도 4a)의 특징들이 있을 수 있다. 예를 들어, 캐스터들(42103)(도 4a)은 카메라(들)(40227)(도 4d)의 뷰와 간섭할 수 있다. 이들 인자들은 포인트 큐브(40307)(도 4d)에서의 포인트들의 수를 제한할 수 있다. 일부 구성들에서, 카메라(들)(40227)(도 4d)는 약 6 미터를 벗어나서 신뢰성 있게 투영할 수 없고, 이는 카메라(40227)(도 4d)의 범위의 상한을 나타낼 수 있고, 포인트 큐브들(40307)(도 4d)에서의 포인트들의 수를 제한할 수 있다. 일부 구성들에서, 디바이스(42114)(도 4a)의 특징들은 카메라(40227)(도 4d)의 범위의 최소 한계서 작용할 수 있다. 예를 들어, 캐스터들(42103)(도 4a)의 존재는 일부 구성들에서, 대략 1 미터로 설정될 수 있는 최소 한계를 암시할 수 있다. 일부 구성들에서, 포인트 큐브들(40307)(도 4d)에서의 포인트들은 카메라(40227)(도 4d)로부터 1 미터 이상 그리고 카메라(40227)(도 4d)로부터 6 미터 이하인 포인트들로 제한될 수 있다.With continued reference to FIGS. 4C and 4D , the driving surface processor 41029 ( FIG. 4C ) in 3D real-world coordinates as seen by the camera from the 2D surface classification grid 40303 ( FIG. 4D ) in the 2D camera frame. 2D to 3D transform 40215 that can be deprojected into 3D image cube 40307 (FIG. 4D) of De-projection may recover 3D properties of 2D data, and may convert a 2D image from an RGB-D camera to a 3D camera frame 40305 (FIG. 4C). Points 40233 ( FIG. 4D ) in cube 40307 ( FIG. 4D ) may each be associated with a specific one of surface types 40121 ( FIG. 4C ), and depth coordinates as well as possibly X/Y coordinates. . The dimensions of the point cube 40307 ( FIG. 4D ) depend, for example, on camera characteristics 40204 ( FIG. 4C ), such as, for example, focal length x, focal length y, and projection center 40225 . may be limited, but is not limited thereto. For example, camera characteristics 40204 may include a maximum range that the camera can reliably project. There may also be features of device 42114 ( FIG. 4A ) that may interfere with image 40202 . For example, the casters 42103 ( FIG. 4A ) may interfere with the view of the camera(s) 40227 ( FIG. 4D ). These factors may limit the number of points in point cube 40307 ( FIG. 4D ). In some configurations, the camera(s) 40227 ( FIG. 4D ) cannot reliably project beyond about 6 meters, which may represent an upper limit of the range of the camera 40227 ( FIG. 4D ), and point cubes You can limit the number of points at 40307 ( FIG. 4D ). In some configurations, features of device 42114 ( FIG. 4A ) may act as a minimum limit of the range of camera 40227 ( FIG. 4D ). For example, the presence of casters 42103 ( FIG. 4A ) may imply, in some configurations, a minimum limit that may be set to approximately one meter. In some configurations, the points in the point cubes 40307 ( FIG. 4D ) can be limited to points that are at least 1 meter from the camera 40227 ( FIG. 4D ) and 6 meters or less from the camera 40227 ( FIG. 4D ). there is.

도 4c 및 도 4d를 계속 참조하면, 드라이빙 표면 프로세서(41029)(도 4c)는 포인트들의 3D 큐브를 디바이스(42114)(도 4a)와 연관된 좌표들, 즉, 베이스링크 프레임(40309)(도 4c)으로 변환할 수 있는 베이스링크 변환(40219)을 포함할 수 있다. 베이스링크 변환(40219)은 큐브(40307)(도 4d)에서의 3D 데이터 포인트들(40223)(도 4d)을 디바이스(42114)(도 4a)의 베이스에 Z 차원이 설정되는 큐브(40308)(도 4d)에서의 포인트들(40233)(도 4d)로 변환할 수 있다. 드라이빙 표면 프로세서(41029)(도 4c)는 큐브(40308)(도 4d)에서의 포인트들(40233)(도 4d)을 큐브(40311)(도 4d)에서의 포인트들(40237)(도 4d)로서 점유 그리드(40244)(도 4d) 상에 투영할 수 있는 OG 프렙(prep)(40239)을 포함할 수 있다. 계층 프로세서(40241)는 포인트들(40237)(도 4d)을, 포인트들(40237)(도 4d)에 의해 표현되는 데이터에 따라, 다양한 계층들(40312)(도 4c)로 평탄화할 수 있다. 일부 구성들에서, 계층 프로세서(40241)는 스칼라 값을 계층들(40312)(도 4c)에 적용할 수 있다. 일부 구성들에서, 계층들(40312)(도 4c)은 점유 계층(40243)의 확률, 신경망 프로세서(40207)에 의해 결정되는 바와 같은 표면 분류 계층(40245)(도 4d), 및 표면 타입 신뢰 계층(40247)(도 4d)을 포함할 수 있다. 일부 구성들에서, 표면 타입 신뢰 계층(40247)(도 4d)은 신경망 프로세서(40207)로부터의 클래스 스코어들을, 클래스 스코어들을 log(클래스 스코어)/Σ log(각각의 클래스)로서 출력 클래스들에 대한 확률 분포로 정규화함으로써 결정될 수 있는 스코어들로 변환함으로써 결정될 수 있다. 일부 구성들에서, 하나 이상의 계층은 드라이빙 불가능한 표면의 확률을 제공하는 계층에 의해 대체되거나 증대될 수 있다.With continued reference to FIGS. 4C and 4D , the driving surface processor 41029 ( FIG. 4C ) generates a 3D cube of points with coordinates associated with the device 42114 ( FIG. 4A ), ie, the baselink frame 40309 ( FIG. 4C ). ) may include a baselink conversion 40219 that can be converted to. Baselink transformation 40219 converts 3D data points 40223 (FIG. 4D) in cube 40307 (FIG. 4D) to cube 40308 ( points 40233 ( FIG. 4D ) in FIG. 4D ). Driving surface processor 41029 (FIG. 4C) calculates points 40233 (FIG. 4D) in cube 40308 (FIG. 4D) to points 40237 (FIG. 4D) in cube 40311 (FIG. 4D). can include an OG prep 40239 that can be projected onto the occupancy grid 40244 (FIG. 4D) as The layer processor 40241 may flatten the points 40237 ( FIG. 4D ) into various layers 40312 ( FIG. 4C ), depending on the data represented by the points 40237 ( FIG. 4D ). In some configurations, the layer processor 40241 may apply a scalar value to the layers 40312 ( FIG. 4C ). In some configurations, the layers 40312 ( FIG. 4C ) include the probability of the occupying layer 40243 , the surface classification layer 40245 ( FIG. 4D ) as determined by the neural network processor 40207 , and the surface type trust layer. 40247 ( FIG. 4D ). In some configurations, the surface type trust layer 40247 ( FIG. 4D ) calculates the class scores from the neural network processor 40207 and converts the class scores as log(class score)/Sigma log (each class) to the output classes. It can be determined by transforming it into scores that can be determined by normalizing to a probability distribution. In some configurations, one or more layers may be replaced or augmented by a layer that provides a probability of a non-drivable surface.

도 4c 및 도 4d를 계속 참조하면, 일부 구성들에서, 점유 계층(40243)에서의 확률 값은 로그오즈(로그 오즈 -> ln(p/(1-p)) 값으로서 표현될 수 있다. 일부 구성들에서, 점유 계층(40243)에서의 확률 값은 모드(41033)(도 4b)와 표면 타입(40121)(도 4b)의 조합에 적어도 기초할 수 있다. 일부 구성들에서, 점유 계층(40243)에서의 미리 선택된 확률 값들은, 예를 들어, 제한적인 것은 아니지만, (1) 표면 타입(40121)(도 4a)이 하드하고 드라이빙가능할 때, 및 디바이스(42114)(도 4a)가 미리 선택된 세트의 모드들(41033)(도 4b)에 있을 때, 또는 (2) 표면 타입(40121)(도 4a)이 소프트하고 드라이빙가능할 때, 및 디바이스(42114)(도 4a)가, 예를 들어, 표준 모드와 같은 특정한 미리 선택된 모드에 있을 때, 또는 (3) 표면 타입(40121)(도 4a)이 소프트하고 드라이빙가능할 때, 및 디바이스(42114)(도 4a)가, 예를 들어, 4-휠 모드와 같은 특정한 미리 선택된 모드에 있을 때, 또는 (4) 표면 타입(40121)(도 4a)이 불연속적일 때, 및 디바이스(42114)(도 4a)가, 예를 들어, 표준 모드와 같은 특정한 미리 선택된 모드에 있을 때, 또는 (5) 표면 타입(40121)(도 4a)이 불연속적일 때, 및 디바이스(42114)(도 4a)가 4-휠 모드와 같은 특정한 미리 선택된 모드에 있을 때, 또는 (6) 표면 타입(40121)(도 4a)이 드라이빙 불가능할 때, 및 디바이스(42114)(도 4a)가 미리 선택된 세트의 모드들(41033)(도 4b)에 있을 때와 같은 상황들을 커버하도록 선택될 수 있다. 일부 구성들에서, 확률 값들은 표 I에 제시된 것들을 포함할 수 있지만, 이것으로 제한되지 않는다. 일부 구성들에서, 신경망-예측 확률은, 필요하다면, 튜닝될 수 있고, 표 I에 열거된 확률들을 대체할 수 있다.With continued reference to FIGS. 4C and 4D , in some configurations, the probability value in the occupying layer 40243 may be expressed as a log odds (log odds -> ln(p/(1-p)) value. In configurations, the probability value in the occupation layer 40243 may be based at least on the combination of the mode 41033 ( FIG. 4B ) and the surface type 40121 ( FIG. 4B ) In some configurations, the probability value in the occupation layer 40243 ) are, for example, but not limited to: (1) when the surface type 40121 ( FIG. 4A ) is hard and drivable, and the device 42114 ( FIG. 4A ) preselected set. when in the modes 41033 ( FIG. 4B ) of, or (2) when the surface type 40121 ( FIG. 4A ) is soft and drivable, and when the device 42114 ( FIG. 4A ) is, for example, standard mode, or (3) when the surface type 40121 (FIG. 4A) is soft and drivable, and when the device 42114 (FIG. 4A) is in a four-wheel mode, for example. or (4) when the surface type 40121 (FIG. 4A) is discontinuous, and the device 42114 (FIG. 4A) is in a specific preselected mode, e.g., standard mode mode, or (5) when the surface type 40121 (FIG. 4A) is discontinuous, and when the device 42114 (FIG. 4A) is in a particular preselected mode, such as a 4-wheel mode, or (6) ) surface type 40121 (FIG. 4A) is not drivable, and when device 42114 (FIG. 4A) is in a preselected set of modes 41033 (FIG. 4B). In some configurations, the probability values may include, but are not limited to, those set forth in Table I. In some configurations, the neural network-prediction probability may be tuned, if necessary, and is listed in Table I. You can substitute probabilities.

Figure pct00007
Figure pct00007

표 I.Table I.

도 4c를 다시 참조하면, 점유 그리드 프로세서(40242)는, 예를 들어, 제한적인 것은 아니지만, 표면 타입(40121) 및 점유 그리드 정보(41022)와 같은 점유 그리드(40244)의 확률 값들에 영향을 미칠 수 있는 파라미터들을 전역 점유 그리드 프로세서(41025)에 실시간으로 제공할 수 있다. 예를 들어, 제한적인 것은 아니지만, 모드(41033) 및 표면 타입(40121)과 같은 구성 정보(40125)(도 4b)는 파워 베이스 프로세서(41016)(도 4b)에 제공될 수 있다. 파워 베이스 프로세서(41016)(도 4b)는, 구성 정보(40125)(도 4b)에 적어도 기초하여, 디바이스(42114)(도 4a)의 구성을 설정할 수 있는 모터 명령들(40128)(도 4b)을 결정할 수 있다.Referring back to FIG. 4C , the occupancy grid processor 40242 may affect probability values of the occupancy grid 40244 , such as, but not limited to, surface type 40121 and occupancy grid information 41022 . parameters may be provided to the global occupancy grid processor 41025 in real time. For example, but not by way of limitation, configuration information 40125 ( FIG. 4B ) such as mode 41033 and surface type 40121 may be provided to power base processor 41016 ( FIG. 4B ). The power base processor 41016 ( FIG. 4B ) provides motor instructions 40128 ( FIG. 4B ) that may set the configuration of the device 42114 ( FIG. 4A ) based at least on the configuration information 40125 ( FIG. 4B ). can be decided

이제 도 4e 및 도 4f를 참조하면, 디바이스(42100A)는 표준 모드에서 동작하도록 본 교시에 따라 구성될 수 있다. 표준 모드에서, 캐스터들(42103) 및 제2 구동 휠(42101B)은 디바이스(42100A)가 그 경로를 내비게이팅할 때 지면 상에 놓일 수 있다. 제1 구동 휠(42101A)은 미리 선택된 양(42102)(도 4f)만큼 상승될 수 있고 드라이빙 표면을 클리어할 수 있다. 디바이스(42100A)는 비교적 견고한 레벨 표면들 상에서 성공적으로 내비게이팅할 수 있다. 표준 모드에서 드라이빙할 때, 점유 그리드(40244)(도 4c)는 표면 타입 제한을 반영할 수 있고(표 I 참조), 따라서 호환가능한 모드의 선택을 가능하게 할 수 있거나, 표면 타입 및 현재 모드에 기초한 구성 변경을 가능하게 할 수 있다.Referring now to FIGS. 4E and 4F , device 42100A may be configured in accordance with the present teachings to operate in a standard mode. In standard mode, casters 42103 and second drive wheel 42101B may rest on the ground as device 42100A navigates its path. The first drive wheel 42101A may be raised by a preselected amount 42102 (FIG. 4F) and clear the driving surface. Device 42100A can successfully navigate on relatively solid level surfaces. When driving in standard mode, the occupancy grid 40244 (FIG. 4C) may reflect the surface type restrictions (see Table I) and thus may enable selection of compatible modes, or may vary depending on the surface type and current mode. based configuration changes may be possible.

이제 도 4g 내지 도 4j를 참조하면, 디바이스(42100B/C)는 본 교시에 따라 4-휠 모드에서 동작하도록 구성될 수 있다. 4-휠 모드에서의 하나의 구성에서, 제1 구동 휠(42101A) 및 제2 구동 휠(42101B)은 디바이스(42100A)가 그 경로를 내비게이팅할 때 지면 상에 놓일 수 있다. 캐스터들(42103)은 후퇴될 수 있고 미리 선택된 양(42104)(도 4h)만큼 드라이빙 표면을 클리어할 수 있다. 4-휠 모드에서의 다른 구성에서, 제1 구동 휠(42101A) 및 제2 구동 휠(42101B)은 디바이스(42100A)가 그 경로를 내비게이팅할 때 지면 상에 실질적으로 놓일 수 있다. 캐스터들(42103)은 후퇴될 수 있고 섀시(42111)는, 예를 들어, 불연속적인 표면을 수용하기 위해 회전될 수 있다(따라서, 캐스터들(42103)을 지면으로부터 더 멀리 이동시킨다). 이 구성에서, 캐스터들(42103)은 미리 선택된 양(42108)(도 1j)만큼 드라이빙 표면을 클리어할 수 있다. 디바이스들(42100A/C)은 소프트 표면들 및 불연속적인 표면들을 포함하는 다양한 표면들 상에서 성공적으로 내비게이팅할 수 있다. 4-휠 모드에서의 다른 구성에서, 제2 구동 휠(42101B)은 디바이스(42100C)(도 1j)가 그 경로를 내비게이팅할 때 제1 구동 휠(42101A)이 상승될 수 있는 동안 디바이스(42100A)로서 지면 상에 놓일 수 있다. 캐스터(42103)는 후퇴될 수 있고 섀시(42111)는, 예를 들어, 불연속적인 표면을 수용하기 위해 회전될 수 있다(따라서, 캐스터들(42103)을 지면으로부터 더 멀리 이동시킨다). 4-휠 모드에서 드라이빙할 때, 점유 그리드(40244)(도 4c)는 표면 타입(표 I 참조)을 반영할 수 있고, 따라서 호환가능한 모드의 선택을 가능하게 할 수 있거나, 표면 타입 및 현재 모드에 기초한 구성 변경을 가능하게 할 수 있다.Referring now to FIGS. 4G-4J , device 42100B/C may be configured to operate in a four-wheel mode in accordance with the present teachings. In one configuration in the four-wheel mode, the first drive wheel 42101A and the second drive wheel 42101B may rest on the ground as the device 42100A navigates its path. Casters 42103 may be retracted and clear the driving surface by a preselected amount 42104 ( FIG. 4H ). In another configuration in the four-wheel mode, the first drive wheel 42101A and the second drive wheel 42101B may substantially rest on the ground as the device 42100A navigates its path. The casters 42103 may be retracted and the chassis 42111 may, for example, be rotated to accommodate a discontinuous surface (thus moving the casters 42103 further away from the ground). In this configuration, the casters 42103 may clear the driving surface by a preselected amount 42108 ( FIG. 1J ). Devices 42100A/C can successfully navigate on a variety of surfaces, including soft surfaces and discontinuous surfaces. In another configuration in the four-wheel mode, the second drive wheel 42101B is connected to the device 42100A while the first drive wheel 42101A can be raised as the device 42100C ( FIG. 1J ) navigates its path. ) can be placed on the ground as The casters 42103 may be retracted and the chassis 42111 may, for example, be rotated to accommodate a discontinuous surface (thus moving the casters 42103 further away from the ground). When driving in 4-wheel mode, the occupancy grid 40244 (FIG. 4C) may reflect the surface type (see Table I) and thus may enable selection of a compatible mode, or the surface type and current mode It is possible to enable configuration changes based on

이제 도 4k를 참조하면, 예를 들어, 제한적인 것은 아니지만, 적어도 하나의 환경 인자 및 디바이스 구성에 기초하여 경로를 이동하는, AV와 같은 디바이스의 디바이스 구성의 실시간 제어를 위한 방법(40150)은, 이에 제한되는 것은 아니지만, 센서 데이터를 수신하는 단계(40151), 센서 데이터에 적어도 기초하여 표면 타입을 결정하는 단계(40153), 및 표면 타입 및 현재 디바이스 구성에 적어도 기초하여 현재 모드를 결정하는 단계(40155)를 포함할 수 있다. 방법(40150)은 현재 모드 및 표면 타입에 적어도 기초하여 다음 디바이스 구성을 결정하는 단계(40157), 다음 디바이스 구성에 적어도 기초하여 이동 명령들을 결정하는 단계(40159), 및 이동 명령들에 적어도 기초하여 현재 디바이스 구성을 다음 디바이스 구성으로 변경하는 단계(40161)를 포함할 수 있다.Referring now to FIG. 4K , a method 40150 for real-time control of a device configuration of a device such as an AV, eg, but not limited to, moving a path based on at least one environmental factor and device configuration, comprises: Although not limited thereto, the steps of receiving sensor data ( 40151 ), determining a surface type based at least on the sensor data ( 40153 ), and determining a current mode based at least on the surface type and current device configuration ( 40155) may be included. The method 40150 includes determining a next device configuration based at least on a current mode and a surface type ( 40157 ), determining move commands based at least on the next device configuration ( 40159 ), and at least based on the move commands. It may include changing the current device configuration to the next device configuration ( 40161 ).

이제 주로 도 5a를 참조하면, AV의 경로에 나타나는 물체에 응답하기 위해, 주석달린 포인트 데이터(10379)(도 5b)가 디바이스 제어기(10111)에 제공될 수 있다. AV(10101)(도 1a)에게 경로를 이동하라고 지시하는데 이용될 수 있는 루트 정보에 대한 기초일 수 있는 주석달린 포인트 데이터(10379)(도 5b)는, 제한적인 것은 아니지만, 내비게이팅가능 에지들, 예를 들어, 제한적인 것은 아니지만, 매핑된 궤적(10413/10415)(도 5d)과 같은 매핑된 궤적, 및 예를 들어, 제한적인 것은 아니지만, SDSF들(10377)(도 5c)과 같은 라벨링된 피처들을 포함할 수 있다. 매핑된 궤적(10413/10415)(도 5c)은 루트 공간의 에지들 및 루트 공간의 부분들에 할당된 초기 가중치의 그래프를 포함할 수 있다. 에지들의 그래프는, 예를 들어, 제한적인 것은 아니지만, 방향성 및 용량과 같은 특성들을 포함할 수 있고, 에지들은 이러한 특성들에 따라 카테고리화될 수 있다. 매핑된 궤적(10413/10415)(도 5c)은 루트 공간의 표면들과 연관된 비용 수정자 및 에지들과 연관된 드라이빙 모드를 포함할 수 있다. 드라이빙 모드는, 제한적인 것은 아니지만, 경로 추종 및 SDSF 클라이밍을 포함할 수 있다. 다른 모드들은, 예를 들어, 제한적인 것은 아니지만, 자율, 매핑 및 개입 대기와 같은 동작 모드들을 포함할 수 있다. 궁극적으로, 경로는 보다 낮은 비용 수정자들에 적어도 기초하여 선택될 수 있다. 매핑된 궤적(10413/10415)(도 5c)으로부터 비교적 먼 토폴로지는 보다 높은 비용 수정자들을 가질 수 있고, 경로를 형성할 때 관심이 덜할 수 있다. AV(10101)(도 1a)가 동작하면서, 초기 가중치들은 조정될 수 있고, 가능하게는 경로의 수정을 야기한다. 조정된 가중치들은 에지/가중치 그래프(10381)(도 5b)를 조정하는데 이용될 수 있고, 현재 드라이빙 모드, 현재 표면 및 에지 카테고리에 적어도 기초할 수 있다.Referring now primarily to FIG. 5A , annotated point data 10379 ( FIG. 5B ) may be provided to the device controller 10111 to respond to objects appearing in the path of the AV. Annotated point data 10379 ( FIG. 5B ), which may be the basis for route information that may be used to instruct AV 10101 ( FIG. 1A ) to move a route, includes, but is not limited to, navigable edges , eg, but not limited to, a mapped trajectory, such as mapped trajectory 10413/10415 ( FIG. 5D ), and labeling such as, but not limited to, SDSFs 10377 ( FIG. 5C ). may include features. The mapped trajectory 10413/10415 ( FIG. 5C ) may include a graph of initial weights assigned to edges of the root space and portions of the root space. A graph of edges may include characteristics such as, but not limited to, directionality and capacitance, and edges may be categorized according to these characteristics. The mapped trajectory 10413/10415 ( FIG. 5C ) may include a cost modifier associated with surfaces of the root space and a driving mode associated with edges. Driving modes may include, but are not limited to, path following and SDSF climbing. Other modes may include, for example, but not limited to, modes of operation such as autonomous, mapping, and waiting for intervention. Ultimately, a path may be selected based at least on the lower cost modifiers. Topologies that are relatively far from the mapped trajectories 10413/10415 (FIG. 5C) may have higher cost modifiers and may be of less interest when forming paths. As the AV 10101 ( FIG. 1A ) operates, the initial weights can be adjusted, possibly resulting in a modification of the path. The adjusted weights may be used to adjust the edge/weight graph 10381 ( FIG. 5B ) and may be based at least on the current driving mode, current surface and edge category.

도 5a를 계속 참조하면, 디바이스 제어기(10111)는 임의의 피처들의 편심들(eccentricities)을 경로 내로 통합하는 것과 관련된 특정 작업들을 수행할 수 있는 피처 프로세서를 포함할 수 있다. 일부 구성들에서, 피처 프로세서는, 제한적인 것은 아니지만, SDSF 프로세서(10118)를 포함할 수 있다. 일부 구성들에서, 디바이스 제어기(10111)는, 제한적인 것은 아니지만, 본 명세서에서 각각 설명되는 SDSF 프로세서(10118), 센서 프로세서(10703), 모드 제어기(10122) 및 베이스 제어기(10114)를 포함할 수 있다. SDSF 프로세서(10118), 센서 프로세서(10703) 및 모드 제어기(10122)는 베이스 제어기(10114)에 입력을 제공할 수 있다.With continued reference to FIG. 5A , the device controller 10111 may include a feature processor capable of performing certain tasks related to incorporating the eccentricities of any features into a path. In some configurations, the feature processor may include, but is not limited to, the SDSF processor 10118 . In some configurations, the device controller 10111 may include, but is not limited to, an SDSF processor 10118 , a sensor processor 10703 , a mode controller 10122 , and a base controller 10114 each described herein. there is. SDSF processor 10118 , sensor processor 10703 , and mode controller 10122 may provide inputs to base controller 10114 .

도 5a를 계속 참조하면, 베이스 제어기(10114)는, 모드 제어기(10122), SDSF 프로세서(10118), 및 센서 프로세서(10703)에 의해 제공된 입력에 적어도 기초하여, 파워 베이스(10112)가 에지/가중치 그래프(10381)(도 5b)에 적어도 기초하여 베이스 제어기(10114)에 의해 결정된 경로 상에서 AV(10101)(도 1a)를 드라이빙하는데 이용할 수 있는 정보를 결정할 수 있다. 일부 구성들에서, 베이스 제어기(10114)는 AV(10101)(도 1a)가 시작 포인트로부터 목적지까지의 미리 결정된 경로를 따를 수 있는 것을 보장할 수 있고, 외부 및/또는 내부 조건들에 적어도 기초하여 미리 결정된 경로를 수정할 수 있다. 일부 구성들에서, 외부 조건들은 AV(10101)(도 1a)에 의해 드라이빙되는 경로에서의 또는 그 근처의 정지등들, SDSF들, 및 장애물들을 포함할 수 있지만, 이에 제한되는 것은 아니다. 일부 구성들에서, 내부 조건들은 AV(10101)(도 1a)가 외부 조건들에 행하는 응답을 반영하는 모드 전이들을 포함할 수 있지만, 이에 제한되는 것은 아니다. 디바이스 제어기(10111)는 외부 및 내부 조건들에 적어도 기초하여 파워 베이스(10112)에 전송할 명령들을 결정할 수 있다. 명령들은 AV(10101)(도 1a)에게 명령된 방향으로 명령된 속도에서 이동하도록 지시할 수 있는 속도 및 방향 명령들을 포함할 수 있지만, 이에 제한되는 것은 아니다. 다른 명령들은, 예를 들어, SDSF 클라이밍과 같은 피처 응답을 가능하게 하는 예를 들어, 명령들의 그룹들을 포함할 수 있다. 베이스 제어기(10114)는, 예를 들어, IPOPT(Interior Point Optimizer) 대규모 비선형 최적화(https://projects.coin-or.org/Ipopt)를 포함하지만, 이에 제한되는 것은 아닌 종래들의 방법에 의해 경로의 웨이포인트들 사이의 원하는 속도를 결정할 수 있다. 베이스 제어기(10114)는, 예를 들어, Dykstra의 알고리즘, A* 검색 알고리즘, 또는 Breadth-first 검색 알고리즘에 기초한 기술과 같은, 그러나 이에 제한되는 것은 아닌 종래의 기술에 적어도 기초하여 원하는 경로를 결정할 수 있다. 베이스 제어기(10114)는 장애물 검출이 수행될 수 있는 영역을 설정하기 위해 매핑된 궤적(10413/10415)(도 5c) 주위에 박스를 형성할 수 있다. 페이로드 캐리어의 높이는, 조정가능할 때, 지향된 속도에 적어도 부분적으로 기초하여 조정될 수 있다.With continued reference to FIG. 5A , the base controller 10114 is configured such that, based at least on the inputs provided by the mode controller 10122 , the SDSF processor 10118 , and the sensor processor 10703 , the power base 10112 is edge/weight Information available for driving the AV 10101 ( FIG. 1A ) on the path determined by the base controller 10114 based at least on the graph 10381 ( FIG. 5B ) may be determined. In some configurations, the base controller 10114 can ensure that the AV 10101 ( FIG. 1A ) can follow a predetermined route from a starting point to a destination, based at least on external and/or internal conditions. A predetermined path can be modified. In some configurations, external conditions may include, but are not limited to, stop lights, SDSFs, and obstacles in or near the path driven by AV 10101 ( FIG. 1A ). In some configurations, internal conditions may include, but are not limited to, mode transitions that reflect the response AV 10101 ( FIG. 1A ) makes to external conditions. The device controller 10111 may determine commands to transmit to the power base 10112 based at least on external and internal conditions. The commands may include, but are not limited to, speed and direction commands that may instruct AV 10101 ( FIG. 1A ) to move at a commanded speed in a commanded direction. Other instructions may include, for example, groups of instructions that enable a feature response, such as, for example, SDSF climbing. The base controller 10114 may route by conventional methods including, but not limited to, for example, Interior Point Optimizer (IPOPT) large-scale nonlinear optimization (https://projects.coin-or.org/Ipopt). It is possible to determine the desired speed between waypoints of The base controller 10114 may determine the desired path based at least on conventional techniques, such as, but not limited to, techniques based on, for example, Dykstra's algorithm, the A* search algorithm, or the Breadth-first search algorithm. there is. The base controller 10114 may form a box around the mapped trajectory 10413/10415 ( FIG. 5C ) to establish an area in which obstacle detection may be performed. The height of the payload carrier, when adjustable, may be adjusted based, at least in part, on the directed velocity.

도 5a를 계속 참조하면, 베이스 제어기(10114)는 속도 및 방향 결정들을 모터 명령들로 변환할 수 있다. 예를 들어, 이에 제한되는 것은 아니지만, 커브 또는 슬로프(slope)와 같은 SDSF에 직면할 때, 베이스 제어기(10114)는, SDSF 클라이밍 모드에서, 페이로드 캐리어(10173)(도 1a)를 상승시키고, AV(10101)(도 1a)를 SDSF와 대략 90° 각도로 정렬하고, 속도를 비교적 낮은 레벨로 감소시키도록 파워 베이스(10112)에 지시할 수 있다. AV(10101)(도 1a)가 실질적으로 불연속적인 표면을 클라이밍할 때, 베이스 제어기(10114)는 증가된 토크가 AV(10101)(도 1a)를 경사 위로 이동시키기 위해 요구되기 때문에 속도가 증가되는 클라이밍 위상으로 파워 베이스(10112)가 전이하도록 지시할 수 있다. AV(10101)(도 1a)가 비교적 레벨 표면과 직면할 때, 베이스 제어기(10114)는 SDSF의 임의의 평평한 부분의 최상부에 남아 있도록 속도를 감소시킬 수 있다. 평평한 부분과 연관된 감소 램프의 경우에, AV(10101)(도 1a)가 실질적으로 불연속적인 표면을 하강하기 시작하고, 두 휠들이 감소 램프 상에 있을 때, 베이스 제어기(10114)는 속도가 증가하도록 허용할 수 있다. 예를 들어, 이에 제한되는 것은 아니지만, 슬로프와 같은 SDSF에 직면할 때, 슬로프는 구조로서 식별 및 처리될 수 있다. 예를 들어, 구조의 피처들은 램프의 미리 선택된 크기를 포함할 수 있다. 램프는 대략 30°의 경사를 포함할 수 있고, 선택적으로 이에 제한되는 것은 아니지만 안정기(plateau)의 양 측에 있을 수 있다. 디바이스 제어기(10111)(도 5a)는 인지된 피처의 각도를 예상된 슬로프 램프 각도와 비교함으로써 장애물과 슬로프 사이를 서로 구별할 수 있고, 여기서 각도는 센서 프로세서(10703)(도 5a)로부터 수신될 수 있다.With continued reference to FIG. 5A , the base controller 10114 may convert speed and direction determinations into motor commands. For example, but not limited to, when encountering an SDSF such as a curve or slope, the base controller 10114 raises the payload carrier 10173 (FIG. 1A), in SDSF climbing mode, You can instruct the power base 10112 to align the AV 10101 ( FIG. 1A ) with the SDSF at an angle of approximately 90° and reduce the speed to a relatively low level. When AV 10101 (FIG. 1A) is climbing a substantially discontinuous surface, base controller 10114 causes the speed to increase as increased torque is required to move AV 10101 (FIG. 1A) up an incline. It may direct the power base 10112 to transition into the climbing phase. When the AV 10101 ( FIG. 1A ) encounters a relatively level surface, the base controller 10114 may reduce its velocity so that it remains on top of any flat portion of the SDSF. In the case of a reduction ramp associated with a flat portion, the AV 10101 (FIG. 1A) begins to descend a substantially discontinuous surface, and when both wheels are on the reduction ramp, the base controller 10114 causes the speed to increase. can allow For example, but not by way of limitation, when faced with an SDSF such as a slope, a slope may be identified and treated as a structure. For example, the features of the structure may include a preselected size of the ramp. The ramp may include an inclination of approximately 30°, and optionally but not limited to on either side of a plateau. The device controller 10111 (FIG. 5A) can differentiate between the obstacle and the slope by comparing the angle of the perceived feature to the expected slope ramp angle, where the angle is to be received from the sensor processor 10703 (FIG. 5A). can

이제 주로 도 5b를 참조하면, SDSF 프로세서(10118)는 주석달린 포인트 데이터(10379)에 표현된 다각형들의 메시에 의해 형성된 드라이빙가능 표면들의 블록들로부터, AV(10101)(도 1a)에 의한 횡단을 위한 경로를 생성하기 위해 이용될 수 있는 내비게이팅가능 에지들을 위치결정할 수 있다. SDSF 라인(10377)(도 5c) 주위에 미리 선택된 크기의 영역을 형성할 수 있는 SDSF 버퍼(10407)(도 5c) 내에서, 내비게이팅가능 에지들은 주어진 SDSF 횡단을 위한 특수 처리를 위한 준비에서 지워질 수 있다(도 5d 참조). 세그먼트(10409)(도 5c)와 같은 폐쇄형 라인 세그먼트들은 이전에 결정된 SDSF 포인트들(10789)(도 1n)의 쌍들 사이에서 SDSF 버퍼(10407)(도 5c)를 이등분하도록 그려질 수 있다. 일부 구성들에서, 폐쇄형 라인 세그먼트가 SDSF 횡단을 위한 후보로서 간주되기 위해, 세그먼트 단부들(10411)(도 5c)은 드라이빙가능 표면의 방해받지 않는 부분에 속할 수 있고, AV(10101)(도 1a)가 라인 세그먼트들을 따라 인접한 SDSF 포인트들(10789)(도 1n) 사이에서 이동하기에 충분한 공간이 있을 수 있고, SDSF 포인트들(10789)(도 1n) 사이의 영역은 드라이빙가능 표면일 수 있다. 세그먼트 단부들(10411)(도 5c)은 하부 토폴로지에 접속되어, 정점들 및 드라이빙가능 에지들을 형성할 수 있다. 예를 들어, 횡단 기준들을 충족하는 라인 세그먼트들(10461, 10463, 10465, 및 10467)(도 5c)은 도 5d에서 토폴로지의 일부로서 도시된다. 대조적으로, 라인 세그먼트(10409)(도 5c)는 적어도 기준들을 충족시키지 않는데, 그 이유는 세그먼트 단부(10411)(도 5c)가 드라이빙가능 표면 상에 속하지 않기 때문이다. 중첩하는 SDSF 버퍼들(10506)(도 5c)은 중첩된 SDSF 버퍼들(10506)(도 5c) 내의 SDSF들의 SDSF 횡단에 대해 가중할 수 있는 SDSF 불연속성을 표시할 수 있다. SDSF 라인(10377)(도 5c)은 평활화될 수 있고, SDSF 포인트들(10789)(도 1n)의 위치들은 이들이 미리 선택된 거리만큼 떨어지도록 조정될 수 있고, 미리 선택된 거리는 AV(10101)(도 1a)의 풋프린트에 적어도 기초한다.Referring now primarily to FIG. 5B , SDSF processor 10118 performs traversal by AV 10101 ( FIG. 1A ), from blocks of drivable surfaces formed by a mesh of polygons represented in annotated point data 10379 , by AV 10101 ( FIG. 1A ). can locate navigable edges that can be used to create a path for Within SDSF buffer 10407 (FIG. 5C), which may form an area of a preselected size around SDSF line 10377 (FIG. 5C), navigable edges may be erased in preparation for special processing for a given SDSF traversal. can be (see FIG. 5d). Closed line segments, such as segment 10409 ( FIG. 5C ) may be drawn to bisect SDSF buffer 10407 ( FIG. 5C ) between previously determined pairs of SDSF points 10789 ( FIG. 1N ). In some configurations, for a closed line segment to be considered a candidate for SDSF traversal, segment ends 10411 ( FIG. 5C ) may belong to an undisturbed portion of the drivable surface, and AV 10101 ( FIG. 5C ) There may be sufficient space for 1a) to move between adjacent SDSF points 10789 ( FIG. 1N ) along line segments, and the area between SDSF points 10789 ( FIG. 1N ) may be a drivable surface. . Segment ends 10411 ( FIG. 5C ) may be connected to the underlying topology to form vertices and drivable edges. For example, line segments 10461 , 10463 , 10465 , and 10467 ( FIG. 5C ) that meet the traversal criteria are shown as part of the topology in FIG. 5D . In contrast, line segment 10409 ( FIG. 5C ) does not meet at least the criteria because segment end 10411 ( FIG. 5C ) does not belong on a drivable surface. Overlapping SDSF buffers 10506 ( FIG. 5C ) may indicate an SDSF discontinuity that may be weighted for SDSF traversal of SDSFs within overlapping SDSF buffers 10506 ( FIG. 5C ). SDSF line 10377 (FIG. 5C) may be smoothed, the positions of SDSF points 10789 (FIG. 1N) may be adjusted such that they are separated by a preselected distance, and the preselected distance may be AV 10101 (FIG. 1A). is based at least on the footprint of

도 5b를 계속 참조하면, SDSF 프로세서(10118)는 주석달린 포인트 데이터(10379)를 SDSF 횡단을 위한 토폴로지 수정들을 포함하는 에지/가중치 그래프(10381)로 변환할 수 있다. SDSF 프로세서(10118)는 제7 프로세서(10601), 제8 프로세서(10702), 제9 프로세서(10603), 및 제10 프로세서(10605)를 포함할 수 있다. 제7 프로세서(10601)는 주석달린 포인트 데이터(10379)에서의 포인트들의 좌표들을 전역 좌표계로 변환하여, GPS 좌표들과의 호환성을 달성하고, GPS-호환가능 데이터세트(10602)를 생성할 수 있다. 제7 프로세서(10601)는, 예를 들어, 아핀 행렬 변환 및 PostGIS 변환과 같은, 그러나 이에 제한되지 않는 종래의 프로세스들을 이용하여, GPS-호환가능 데이터세트(10602)를 생성할 수 있다. WGS(World Geodetic System)는 지구의 곡률을 고려하므로 표준 좌표계로서 이용될 수 있다. 맵은 UTM(Universal Transverse Mercator) 좌표계에 저장될 수 있고, 특정 어드레스들이 위치되는 곳을 찾을 필요가 있을 때 WGS로 스위칭될 수 있다.With continued reference to FIG. 5B , the SDSF processor 10118 can transform the annotated point data 10379 into an edge/weight graph 10381 that includes topology modifications for SDSF traversal. The SDSF processor 10118 may include a seventh processor 10601 , an eighth processor 10702 , a ninth processor 10603 , and a tenth processor 10605 . The seventh processor 10601 may transform the coordinates of the points in the annotated point data 10379 into a global coordinate system to achieve compatibility with GPS coordinates and generate a GPS-compatible dataset 10602 . . The seventh processor 10601 may generate the GPS-compatible dataset 10602 using, for example, conventional processes such as, but not limited to, an affine matrix transform and a PostGIS transform. The World Geodetic System (WGS) can be used as a standard coordinate system because it considers the curvature of the earth. The map can be stored in a Universal Transverse Mercator (UTM) coordinate system and switched to WGS when it is necessary to find where specific addresses are located.

이제 주로 도 5c를 참조하면, 제8 프로세서(10702)(도 5b)는 SDSF들을 평활화하고 SDSF(10377)의 경계를 결정하고, SDSF 경계 주위에 버퍼들(10407)을 생성하고, 표면의 비용 수정자를 SDSF 경계로부터 더 멀리 증가시킬 수 있다. 매핑된 궤적(10413/10415)은 최저 비용 수정자를 갖는 특수 경우 차선일 수 있다. 보다 낮은 비용 수정자들(10406)은 일반적으로 SDSF 경계 근처에 위치될 수 있는 반면, 보다 높은 비용 수정자들(10408)은 일반적으로 SDSF 경계로부터 비교적 더 멀리 위치될 수 있다. 제8 프로세서(10702)는 비용들(10704)(도 5b)을 갖는 포인트 클라우드 데이터를 제9 프로세서(10603)(도 5b)에 제공할 수 있다.Referring now primarily to FIG. 5C , an eighth processor 10702 ( FIG. 5B ) smoothes the SDSFs and determines the boundary of the SDSF 10377 , creates buffers 10407 around the SDSF boundary, and modifies the cost of the surface. The ruler can be increased further away from the SDSF boundary. The mapped trajectories 10413/10415 may be the special case suboptimal with the lowest cost modifier. The lower cost modifiers 10406 may generally be located near the SDSF boundary, while the higher cost modifiers 10408 may generally be located relatively further away from the SDSF boundary. The eighth processor 10702 may provide the point cloud data with costs 10704 ( FIG. 5B ) to the ninth processor 10603 ( FIG. 5B ).

도 5c를 주로 계속 참조하면, 제9 프로세서(10603)(도 5b)는 AV(10101)(도 1a)에 대한 대략 90° 접근들(10604)(도 5b)을 계산하여, 이들을 횡단가능한 것으로 라벨링하기 위한 기준들을 충족시킨 SDSF들(10377)을 횡단할 수 있다. 기준들은 SDSF 폭 및 SDSF 평활도를 포함할 수 있다. 라인 세그먼트(10409)와 같은 라인 세그먼트들은 그들의 길이가 AV(10101)(도 1a)가 SDSF(10377)에 접근하기 위해 요구할 수 있는 최소 진입 거리, 및 SDSF(10377)를 빠져나가기 위해 요구될 수 있는 최소 진출 거리를 나타내도록 생성될 수 있다. 엔드포인트(10411)와 같은 세그먼트 엔드포인트들은 기본 라우팅 토폴로지와 통합될 수 있다. SDSF 접근이 가능한지를 결정하기 위해 이용되는 기준들은 일부 접근 가능성들을 제거할 수 있다. SDSF 버퍼(10407)와 같은 SDSF 버퍼들은 유효한 접근들을 계산하고 루트 토폴로지 에지 생성을 계산하기 위해 이용될 수 있다.With continued reference primarily to FIG. 5C , the ninth processor 10603 ( FIG. 5B ) calculates approximately 90° approaches 10604 ( FIG. 5B ) to the AV 10101 ( FIG. 1A ), labeling them as traversable. SDSFs 10377 that have met the criteria for Criteria may include SDSF width and SDSF smoothness. Line segments, such as line segment 10409, whose length may be the minimum entry distance that AV 10101 ( FIG. 1A ) may require to access SDSF 10377 , and the minimum entry distance that may be required to exit SDSF 10377 . It can be created to represent a minimum exit distance. Segment endpoints, such as endpoint 10411, may be integrated with a basic routing topology. The criteria used to determine whether SDSF access is possible may eliminate some accessibility possibilities. SDSF buffers, such as SDSF buffer 10407 , may be used to compute valid accesses and compute root topology edge generation.

다시 도 5b를 주로 참조하면, 제10 프로세서(10605)는 맵을 통한 경로들을 계산하는데 이용될 수 있는, 본 명세서에서 개발된, 토폴로지, 에지들 및 가중치들의 그래프로부터 에지/가중치 그래프(10381)를 생성할 수 있다. 토폴로지는 비용 수정자들 및 드라이빙 모드들을 포함할 수 있고, 에지들은 방향성 및 용량을 포함할 수 있다. 가중치들은 임의의 수의 소스들로부터의 정보에 기초하여 런타임에서 조정될 수 있다. 제10 프로세서(10605)는 경로 생성을 가능하게 하기 위해, 특정 포인트들에서 추천된 드라이빙 모드와 함께, 베이스 제어기(10114)에 순서화된 포인트들의 적어도 하나의 시퀀스를 제공할 수 있다. 포인트들의 각각의 시퀀스 내의 각각의 포인트는 처리된 드라이빙가능 표면 상의 가능한 경로 포인트의 위치 및 라벨링을 나타낸다. 일부 구성들에서, 라벨링은 포인트가, 예를 들어, 이에 제한되는 것은 아니지만, SDSF와 같은 경로를 따라 마주칠 수 있는 피처의 일부를 나타낸다는 것을 나타낼 수 있다. 일부 구성들에서, 피처는 피처의 타입에 기초하여 제안된 처리로 추가로 라벨링될 수 있다. 예를 들어, 일부 구성들에서, 경로 포인트가 SDSF로서 라벨링되면, 추가의 라벨링은 모드를 포함할 수 있다. 모드는 AV(10101)(도 1a)에 의해, 예를 들어, AV(10101)(도 1a)가 SDSF(10377)(도 5c)를 횡단할 수 있게 하기 위해 AV(10101)(도 1a)를 SDSF 클라이밍 모드(100-31)(도 5e)로 스위칭하는 것과 같은 AV(10101)(도 1a)에 대한 제안된 드라이빙 명령들로서 해석될 수 있다.Referring again primarily to FIG. 5B , a tenth processor 10605 generates an edge/weight graph 10381 from the graph of topology, edges and weights, developed herein, that may be used to calculate paths through the map. can create The topology may include cost modifiers and driving modes, and edges may include directionality and capacity. Weights may be adjusted at runtime based on information from any number of sources. The tenth processor 10605 may provide the base controller 10114 with at least one sequence of ordered points, along with a recommended driving mode at the specific points, to enable route generation. Each point in each sequence of points represents a labeling and location of a possible path point on the treated drivable surface. In some configurations, the labeling may indicate that the point represents some of a feature that may be encountered along a path, such as, but not limited to, an SDSF. In some configurations, the feature may be further labeled with a suggested treatment based on the type of feature. For example, in some configurations, if a path point is labeled as SDSF, the additional labeling may include a mode. The mode is by AV 10101 (FIG. 1A), e.g., AV 10101 (FIG. 1A) to enable AV 10101 (FIG. 1A) to traverse SDSF 10377 (FIG. 5C). may be interpreted as suggested driving commands for AV 10101 (FIG. 1A), such as switching to SDSF climbing mode 100-31 (FIG. 5E).

이제 도 5e를 참조하면, 일부 구성들에서, 모드 제어기(10122)는 모드 전이를 실행하기 위한 방향들을 베이스 제어기(10114)(도 5a)에 제공할 수 있다. 모드 제어기(10122)는 AV(10101)(도 1a)가 이동하고 있는 모드를 확립할 수 있다. 예를 들어, 모드 제어기(10122)는 SDSF가 이동 경로를 따라 식별될 때, 예를 들어, 경로 추종 모드(10100-32)와 SDSF 클라이밍 모드(10100-31) 사이에서 변경하는 모드 표시의 변경을 베이스 제어기(10114)에 제공할 수 있다. 일부 구성들에서, 주석달린 포인트 데이터(10379)(도 5b)는, 예를 들어, 모드가 루트를 수용하기 위해 변경될 때, 루트를 따르는 다양한 포인트들에서 모드 식별자들을 포함할 수 있다. 예를 들어, SDSF(10377)(도 5c)가 주석달린 포인트 데이터(10379)(도 5b)에서 라벨링되었다면, 디바이스 제어기(10111)는 루트 포인트(들)와 연관된 모드 식별자(들)를 결정할 수 있고, 가능하게는 원하는 모드에 기초하여 파워 베이스(10112)(도 5a)에 대한 명령들을 조정할 수 있다. SDSF 클라이밍 모드(10100-31) 및 경로 추종 모드(10100-32)에 더하여, 일부 구성들에서, AV(10101)(도 1a)는 본 명세서에 설명된 표준 모드(10100-1) 및 향상된(4-휠) 모드(10100-2)를 포함할 수 있지만, 이에 제한되지 않는 동작 모드들을 지원할 수 있다. 페이로드 캐리어(10173)(도 1a)의 높이는 장애물들을 통해 그리고 슬로프들을 따라 필요한 클리어런스를 제공하도록 조정될 수 있다.Referring now to FIG. 5E , in some configurations, the mode controller 10122 can provide directions to the base controller 10114 ( FIG. 5A ) for effecting a mode transition. The mode controller 10122 may establish the mode in which the AV 10101 (FIG. 1A) is moving. For example, the mode controller 10122 may change the mode indication when the SDSF is identified along a movement path, e.g., changing between the path following mode 10100-32 and the SDSF climbing mode 10100-31. may be provided to the base controller 10114 . In some configurations, the annotated point data 10379 ( FIG. 5B ) may include mode identifiers at various points along the route, for example, when the mode is changed to accommodate the route. For example, if SDSF 10377 (FIG. 5C) has been labeled in annotated point data 10379 (FIG. 5B), device controller 10111 can determine the mode identifier(s) associated with the root point(s) and , possibly adjusting the commands to the power base 10112 (FIG. 5A) based on the desired mode. In addition to SDSF climbing mode 10100-31 and path following mode 10100-32, in some configurations, AV 10101 (FIG. -wheel) mode 10100 - 2 may be included, but operation modes not limited thereto may be supported. The height of the payload carrier 10173 ( FIG. 1A ) can be adjusted to provide the necessary clearance through obstacles and along slopes.

이제 도 5f를 참조하면, 적어도 하나의 SDSF를 가로질러 목표 포인트를 향해 AV를 내비게이팅하기 위한 방법(11150)은, 제한적인 것은 아니지만, SDSF에 관련된 SDSF 정보, 목표 포인트의 위치 및 AV의 위치를 수신하는 단계(11151)를 포함할 수 있다. SDSF 정보는, 제한적인 것은 아니지만, SDSF 포인트들로서 각각 분류된 포인트들의 세트, 및 포인트가 SDSF 포인트인 각각의 포인트에 대한 연관된 확률을 포함할 수 있다. 방법(11150)은 AV의 위치, 목표 포인트의 위치를 포함하는 폐쇄 다각형을 그리는 단계(11153), 및 목표 포인트와 AV의 위치 사이의 경로 라인을 그리는 단계를 포함할 수 있다. 폐쇄 다각형은 미리 선택된 폭을 포함할 수 있다. 표 I는 본 명세서에서 논의된 미리 선택된 변수들에 대한 가능한 범위들을 포함한다. 방법(11150)은 다각형 내에 위치된 SDSF 포인트들 중 2개를 선택하는 단계(11155), 및 2개의 포인트들 사이에 SDSF 라인을 그리는 단계(11157)를 포함할 수 있다. 일부 구성들에서, SDSF 포인트들의 선택은 랜덤으로 또는 임의의 다른 방식으로 이루어질 수 있다. 11159에서 SDSF 라인의 제1 미리 선택된 거리 내에 제1 미리 선택된 수의 포인트들보다 더 적은 수의 포인트들이 존재하는 경우, 및 11161에서 SDSF 포인트들을 선택하고, 그들 사이에 라인을 그리고, SDSF 라인 주위의 제1 미리 선택된 수의 포인트들보다 더 적은 수의 포인트들을 갖는데 있어서 제2 미리 선택된 수의 시도들이 존재하는 경우, 방법(11150)은 단계(11155)로 복귀하는 단계를 포함할 수 있다. 11161에서 SDSF 포인트들을 선택하고, 그들 사이에 라인을 그리고, SDSF 라인 주위의 제1 미리 선택된 수의 포인트들보다 더 적은 수의 포인트들을 갖는데 있어서 제2 미리 선택된 수의 시도들이 존재하는 경우, 방법(11150)은 어떠한 SDSF 라인도 검출되지 않았다는 알림(11163)을 포함할 수 있다.Referring now to FIG. 5F , a method 11150 for navigating an AV towards a target point across at least one SDSF includes, but is not limited to, SDSF information related to the SDSF, the location of the target point, and the location of the AV. and receiving 11151 . The SDSF information may include, but is not limited to, a set of points each classified as SDSF points, and an associated probability for each point that the point is an SDSF point. The method 11150 may include the steps of drawing 11153 a closed polygon including the location of the AV, the location of the target point, and drawing a path line between the target point and the location of the AV. The closed polygon may include a preselected width. Table I includes possible ranges for the preselected variables discussed herein. Method 11150 may include selecting 11155 two of the SDSF points located within the polygon, and drawing 11157 an SDSF line between the two points. In some configurations, the selection of SDSF points may be made randomly or in any other manner. If there are fewer points than the first preselected number of points within the first preselected distance of the SDSF line at 11159 , and at 11161 select SDSF points, draw a line between them, and If there are a second preselected number of attempts in having a smaller number of points than the first preselected number of points, the method 11150 can include returning to step 11155 . If there are a second preselected number of attempts at selecting SDSF points at 11161, drawing a line between them, and having fewer than the first preselected number of points around the SDSF line, the method ( 11150 may include a notification 11163 that no SDSF lines were detected.

이제 주로 도 5g를 참조하면, 11159(도 5f)에서 제1 미리 선택된 수의 포인트들 또는 그 이상이 있는 경우, 방법(11150)은 곡선을 SDSF 라인의 제1 미리 선택된 거리 내에 있는 포인트들에 피팅하는 단계(11165)를 포함할 수 있다. 11167에서 곡선의 제1 미리 선택된 거리 내에 있는 포인트들의 수가 SDSF 라인의 제1 미리 선택된 거리 내에 있는 포인트들의 수를 초과하는 경우, 및 11171에서 곡선이 경로 라인과 교차하는 경우, 및 11173에서 제2 미리 선택된 거리를 초과하는 곡선 상의 포인트들 사이의 갭들이 없는 경우, 방법(11150)은 곡선을 SDSF 라인으로서 식별하는 단계(11175)를 포함할 수 있다. 11167에서 곡선의 제1 미리 선택된 거리 내에 있는 포인트들의 수가 SDSF 라인의 제1 미리 선택된 거리 내에 있는 포인트들의 수를 초과하지 않는 경우, 또는 11171에서 곡선이 경로 라인과 교차하지 않는 경우, 또는 11173에서 제2 미리 선택된 거리를 초과하는 곡선 상의 포인트들 사이의 갭들이 있는 경우, 및 11177이 SDSF 라인이 안정적으로 유지되지 않는 경우, 및 11169에서 곡선 피팅이 제2 미리 선택된 수의 시도들보다 더 많이 시도되지 않은 경우, 방법(11150)은 단계(11165)로 복귀하는 단계를 포함할 수 있다. 안정된 SDSF 라인은 동일하거나 더 적은 포인트들을 산출하는 후속 반복들의 결과이다.Referring now primarily to FIG. 5G , if there is a first preselected number of points or more at 11159 ( FIG. 5F ), the method 11150 fits the curve to points within a first preselected distance of the SDSF line. It may include a step 11165 of If the number of points within the first preselected distance of the curve at 11167 exceeds the number of points within the first preselected distance of the SDSF line, and at 11171 if the curve intersects the path line, and at 11173 at 11173 If there are no gaps between points on the curve that exceed the selected distance, the method 11150 can include identifying the curve as an SDSF line 11175 . if the number of points within the first preselected distance of the curve at 11167 does not exceed the number of points within the first preselected distance of the SDSF line, or if the curve does not intersect the path line at 11171, or at 11173 If there are gaps between points on the curve that exceed 2 preselected distances, and at 11177 the SDSF line does not remain stable, and at 11169 the curve fitting is not attempted more than a second preselected number of trials. If not, the method 11150 may include returning to step 11165 . A stable SDSF line is the result of subsequent iterations yielding equal or fewer points.

이제 도 5h를 주로 참조하면, 11169(도 5g)에서 곡선 피팅이 제2 미리 선택된 수의 시도들을 시도한 경우, 또는 11177(도 5g)에서 SDSF 라인이 안정적으로 유지되거나 열화되는 경우, 방법(11150)은 점유 그리드 정보를 수신하는 단계(11179)를 포함할 수 있다. 점유 그리드는 장애물들이 특정 포인트들에서 존재할 확률을 제공할 수 있다. 점유 그리드 정보는 점유 그리드가 다각형을 갖는 공통 지리적 영역에 걸쳐 캡처 및/또는 계산된 데이터를 포함할 때 AV 경로 및 SDSF(들)를 둘러싸는 다각형에서 발견되는 SDSF 및 경로 정보를 증대시킬 수 있다. 방법(11150)은 공통 지리적 영역으로부터 포인트 및 그 연관된 확률을 선택하는 단계(11181)를 포함할 수 있다. 11183에서 장애물이 선택된 포인트에 존재할 확률이 미리 선택된 퍼센트보다 높은 경우, 및 11185에서 장애물이 AV와 목표 포인트 사이에 놓이는 경우, 및 11186에서 장애물이 SDSF 라인과 목표 포인트 사이의 SDSF 라인으로부터 제3 미리 선택된 거리보다 작은 경우, 방법(11150)은 장애물을 SDSF 라인에 투영하는 단계(11187)를 포함할 수 있다. 11183에서 위치가 장애물을 포함하는 미리 선택된 퍼센트 확률보다 작거나 같은 경우, 또는 11185에서 장애물이 AV와 목표 포인트 사이에 놓이지 않는 경우, 또는 11186에서 장애물이 SDSF와 목표 포인트 사이의 SDSF 라인으로부터 제3 미리 선택된 거리 이상의 거리에 놓이는 경우, 및 11189에서 처리할 장애물들이 더 많은 경우, 방법(11150)은 단계(11179)에서 처리를 재개하는 단계를 포함할 수 있다.Referring now primarily to FIG. 5H , method 11150 if the curve fitting attempted a second preselected number of trials at 11169 ( FIG. 5G ), or if the SDSF line remains stable or degrades at 11177 ( FIG. 5G ). may include receiving 11179 occupancy grid information. The occupancy grid can provide the probability that obstacles are present at specific points. Occupancy grid information may augment SDSF and path information found in polygons surrounding AV paths and SDSF(s) when the occupancy grid contains captured and/or computed data over a common geographic area having polygons. Method 11150 may include selecting 11181 a point and its associated probability from a common geographic area. if the probability that an obstacle is present at the selected point is greater than the preselected percentage at 11183, and if the obstacle lies between the AV and the target point at 11185, and at 11186 the obstacle is a third preselected from the SDSF line between the SDSF line and the target point If less than the distance, the method 11150 may include projecting the obstacle to the SDSF line 11187 . If at 11183 the location is less than or equal to a preselected percentage probability that includes the obstacle, or at 11185 the obstacle does not lie between the AV and the target point, or at 11186 the obstacle is a third pre-selected from the SDSF line between the SDSF and the target point. If the distance is greater than or equal to the selected distance, and if there are more obstacles to process at 11189 , the method 11150 may include resuming processing at 11179 .

이제 주로 도 5i를 참조하면, 11189(도 5h)에서 더 이상 처리할 장애물이 없는 경우, 방법(11150)은 투영들을 접속하고, SDSF 라인을 따라 접속된 투영들의 종료 포인트들을 찾는 단계(11191)를 포함할 수 있다. 방법(11150)은 투영 종료 포인트들 사이의 SDSF 라인의 부분을 횡단 불가능한 것으로서 마킹하는 단계(11193)를 포함할 수 있다. 방법(11150)은 횡단 불가능한 섹션의 외부에 있는 SDSF 라인의 부분을 횡단 가능한 것으로서 마킹하는 단계(11195)를 포함할 수 있다. 방법(11150)은 AV를 SDSF 라인의 횡단가능한 섹션에 수직의 제5 미리 선택된 양 내로 전환하는 단계(11197)를 포함할 수 있다. 11199에서 SDSF 라인의 횡단가능한 섹션에 수직인 라인에 대한 헤딩 에러가 제1 미리 선택된 양보다 큰 경우, 방법(11150)은 AV를 제9 미리 선택된 양만큼 늦추는 단계(11251)를 포함할 수 있다. 방법(11150)은 AV를 SDSF 라인을 향해 전방으로 드라이빙하고, AV와 횡단가능한 SDSF 라인 사이의 미터 거리 당 제2 미리 선택된 양만큼 늦추는 단계(11253)를 포함할 수 있다. 11255에서 횡단가능한 SDSF 라인으로부터의 AV의 거리가 제4 미리 선택된 거리보다 작은 경우, 및 11257에서 헤딩 에러가 SDSF 라인에 수직인 라인에 대한 제3 미리 선택된 양 이상인 경우, 방법(11150)은 AV를 제9 미리 선택된 양만큼 늦추는 단계(11252)를 포함할 수 있다.Referring now primarily to FIG. 5I , when there are no more obstacles to process at 11189 ( FIG. 5H ), the method 11150 connects the projections and finds the endpoints of the connected projections along the SDSF line 11191 . may include The method 11150 can include marking 11193 the portion of the SDSF line between the projection end points as non-traversal. Method 11150 can include marking 11195 a portion of the SDSF line that is outside of the non-traversable section as traversable. The method 11150 may include converting the AV into a fifth preselected amount perpendicular to the traversable section of the SDSF line 11197 . If at 11199 the heading error for the line perpendicular to the traversable section of the SDSF line is greater than the first preselected amount, the method 11150 may include slowing the AV by a ninth preselected amount 11251 . The method 11150 may include driving the AV forward towards the SDSF line and slowing it down 11253 by a second preselected amount per meter distance between the AV and the traversable SDSF line. If the distance of the AV from the traversable SDSF line at 11255 is less than a fourth preselected distance, and if the heading error is greater than or equal to a third preselected amount for a line perpendicular to the SDSF line at 11257, the method 11150 determines the AV and delaying 11252 by a ninth preselected amount.

이제 주로 도 5j를 참조하면, 11257(도 5i)에서 헤딩 에러가 SDSF 라인에 수직인 라인에 대한 제3 미리 선택된 양보다 작은 경우, 방법(11150)은 업데이트된 SDSF 정보를 무시하고 미리 선택된 속도로 AV를 드라이빙하는 단계(11260)를 포함할 수 있다. 11259에서 AV의 후방 부분에 대한 AV의 전방 부분의 상승이 제6 미리 선택된 양과 제5 미리 선택된 양 사이에 있는 경우, 방법(11150)은 AV를 전방으로 드라이빙하고 상승의 정도 당 제8 미리 선택된 양으로 AV의 속도를 증가시키는 단계(11261)를 포함할 수 있다. 11263에서 AV의 후방에 대한 전방의 상승이 제6 미리 선택된 양보다 작은 경우, 방법(11150)은 제7 미리 선택된 속도로 AV를 전방으로 드라이빙하는 단계(11265)를 포함할 수 있다. 11267에서 AV의 후방이 SDSF 라인으로부터 제5 미리 선택된 거리보다 큰 경우, 방법(11150)은 AV가 SDSF를 횡단하는 것을 완료했다는 것을 알리는 단계(11269)를 포함할 수 있다. 11267에서 AV의 후방이 SDSF 라인으로부터 제5 미리 선택된 거리보다 작거나 같다면, 방법(11150)은 단계(11260)로 복귀하는 단계를 포함할 수 있다.Referring now primarily to FIG. 5J , if the heading error at 11257 ( FIG. 5I ) is less than a third preselected amount for a line perpendicular to the SDSF line, the method 11150 ignores the updated SDSF information and proceeds at the preselected rate. It may include driving the AV ( 11260 ). If at 11259 the elevation of the front portion of the AV relative to the rear portion of the AV is between the sixth preselected amount and the fifth preselected amount, then the method 11150 drives the AV forward and an eighth preselected amount per degree of lift and increasing the speed of the AV to 11261 . If at 11263 the elevation of the forward relative to the rear of the AV is less than the sixth preselected amount, the method 11150 may include driving the AV forwardly at the seventh preselected speed 11265 . If at 11267 the back of the AV is greater than the fifth preselected distance from the SDSF line, the method 11150 may include informing 11269 that the AV has completed traversing the SDSF. If at 11267 the back of the AV is less than or equal to the fifth preselected distance from the SDSF line, the method 11150 may include returning to step 11260 .

이제 도 5k를 참조하면, 적어도 하나의 SDSF를 가로질러 목표 포인트를 향해 AV를 내비게이팅하기 위한 시스템(51100)은 경로 라인 프로세서(11103), SDSF 검출기(11109) 및 SDSF 제어기(11127)를 포함할 수 있지만 이에 제한되지 않는다. 시스템(51100)은, 예를 들어, AV(10101)(도 5l)의 주변의 이미지들을 포함할 수 있지만 이에 제한되지 않는 센서 정보를 처리할 수 있는 표면 프로세서(11601)와 동작가능하게 결합될 수 있다. 표면 프로세서(11601)는 SDSF들의 표시를 포함하는 실시간 표면 피처 업데이트들을 제공할 수 있다. 일부 구성들에서, 카메라들은 그 포인트들이 표면 타입에 따라 분류될 수 있는 RGB-D 데이터를 제공할 수 있다. 일부 구성들에서, 시스템(51100)은 SDSF들로서 분류된 포인트들 및 그 연관된 확률들을 처리할 수 있다. 시스템(51100)은 AV(10101)(도 5l)의 동작의 양태들을 관리할 수 있는 시스템 제어기(11602)와 동작가능하게 결합될 수 있다. 시스템 제어기(11602)는 AV(10101)(도 5l) 근처의 내비게이팅가능 영역에 관한 이용가능한 소스들로부터의 정보를 포함할 수 있는 점유 그리드(11138)를 유지할 수 있다. 점유 그리드(11138)는 장애물들이 존재할 확률들을 포함할 수 있다. 이 정보는 SDSF 정보와 연계하여 장애물(11681)(도 5m)과 마주치지 않고서 SDSF(10377)(도 5n)가 AV(10101)(도 5l)에 의해 횡단될 수 있는지를 결정하기 위해 이용될 수 있다. 시스템 제어기(11602)는 환경 및 다른 정보에 기초하여 AV(10101)(도 5n)가 초과하지 않아야 하는 속도 제한(11148)을 결정할 수 있다. 속도 제한(11148)은 시스템(51100)에 의해 설정된 속도들을 가이드로서 이용될 수 있거나 오버라이드될 수 있다. 시스템(51100)은 SDSF 제어기(11127)에 의해 생성된 드라이빙 명령들(11144)을 AV(10101)(도 5l)의 드라이빙 컴포넌트들로 전송할 수 있는 베이스 제어기(10114)와 동작가능하게 결합될 수 있다. 베이스 제어기(10114)는 SDSF 횡단 동안 AV(10101)(도 5l)의 배향에 관한 정보를 SDSF 제어기(11127)에 제공할 수 있다.Referring now to FIG. 5K , a system 51100 for navigating an AV towards a target point across at least one SDSF may include a path line processor 11103 , an SDSF detector 11109 and an SDSF controller 11127 . can, but is not limited to. System 51100 may be operatively coupled with a surface processor 11601 capable of processing sensor information, which may include, but is not limited to, images of the surroundings of AV 10101 (FIG. 5L), for example. there is. The surface processor 11601 may provide real-time surface feature updates including an indication of SDSFs. In some configurations, cameras can provide RGB-D data whose points can be classified according to surface type. In some configurations, system 51100 can process points classified as SDSFs and their associated probabilities. System 51100 may be operatively coupled with a system controller 11602 that may manage aspects of operation of AV 10101 ( FIG. 5L ). The system controller 11602 may maintain an occupancy grid 11138 that may contain information from available sources regarding the navigable area near the AV 10101 ( FIG. 5L ). Occupancy grid 11138 may include probabilities that obstacles are present. This information can be used in conjunction with the SDSF information to determine if the SDSF 10377 (FIG. 5N) can be traversed by the AV 10101 (FIG. 5L) without encountering an obstacle 11681 (FIG. 5M). there is. The system controller 11602 may determine a rate limit 11148 that the AV 10101 ( FIG. 5N ) must not exceed based on the environment and other information. The speed limit 11148 can be used as a guide to the speeds set by the system 51100 or can be overridden. System 51100 may be operatively coupled with a base controller 10114 that may send driving commands 11144 generated by SDSF controller 11127 to driving components of AV 10101 ( FIG. 5L ). . Base controller 10114 may provide information to SDSF controller 11127 regarding the orientation of AV 10101 ( FIG. 5L ) during SDSF traversal.

도 5k를 계속 참조하면, 경로 라인 프로세서(11103)는, 제한적인 것은 아니지만, SDSF들로서 분류된 포인트들을 포함할 수 있는 표면 분류 포인트들(10789)을 실시간으로 계속 수신할 수 있다. 경로 라인 프로세서(11103)는, 예를 들어, 제한적인 것은 아니지만, AV(10101)(도 5l)의 중심(11202)(도 5l)에 의해 표시되는 바와 같은 목표 포인트(11139)의 위치 및 AV 위치(11141)를 수신할 수 있다. 시스템(51100)은 AV 위치(11141), 목표 포인트(11139)의 위치 및 목표 포인트(11139)와 AV 위치(11141) 사이의 경로(11214)를 포함하는 다각형(11147)을 그리는 다각형 프로세서(11105)를 포함할 수 있다. 다각형(11147)은 미리 선택된 폭을 포함할 수 있다. 일부 구성들에서, 미리 선택된 폭은 대략 AV(10101)(도 5l)의 폭을 포함할 수 있다. 다각형(11147) 내에 속하는 SDSF 포인트들(10789)이 식별될 수 있다.With continued reference to FIG. 5K , the path line processor 11103 may continue to receive in real time surface classification points 10789 , which may include, but are not limited to, points classified as SDSFs. The path line processor 11103 may, for example, but not be limited to, the position of the target point 11139 and the AV position as indicated by the center 11202 ( FIG. 51 ) of the AV 10101 ( FIG. 5L ). (11141) may be received. The system 51100 has a polygon processor 11105 that draws a polygon 11147 that includes an AV position 11141 , a position of a target point 11139 , and a path 11214 between the target point 11139 and the AV position 11141 . may include. Polygon 11147 may include a preselected width. In some configurations, the preselected width may include approximately the width of AV 10101 ( FIG. 5L ). SDSF points 10789 that fall within polygon 11147 may be identified.

도 5k를 계속 참조하면, SDSF 검출기(11109)는 표면 분류 포인트들(10789), 경로(11214), 다각형(11147), 및 목표 포인트(11139)를 수신할 수 있고, 들어오는 데이터 내에서 이용가능한, 본 명세서에 제시된 기준들에 따라, 가장 적합한 SDSF 라인(10377)을 결정할 수 있다. SDSF 검출기(11109)는 포인트 프로세서(11111) 및 SDSF 라인 프로세서(11113)를 포함할 수 있지만, 이에 제한되지 않는다. 포인트 프로세서(11111)는 다각형(11147) 내에 위치된 SDSF 포인트들(10789) 중 2개를 선택하고, 2개의 포인트들 사이에 SDSF(10377) 라인을 그리는 것을 포함할 수 있다. SDSF 라인(10377)의 제1 미리 선택된 거리 내에 제1 미리 선택된 수의 포인트들보다 더 적은 수의 포인트들이 있는 경우, 및 SDSF 포인트들(10789)을 선택하고, 2개의 포인트들 사이에 라인을 그리고, SDSF 라인 주위의 제1 미리 선택된 수의 포인트들보다 더 적은 수의 포인트들을 갖는데 있어서 제2 미리 선택된 수의 시도들보다 더 적은 수의 시도들이 존재하는 경우, 포인트 프로세서(11111)는 본 명세서에 언급된 바와 같이 선택-그림-테스팅 루프를 통해 다시 루핑하는 것을 포함할 수 있다. SDSF 포인트들을 선택하고, 그들 사이에 라인을 그리고, SDSF 라인 주위의 제1 미리 선택된 수의 포인트들보다 더 적은 수의 포인트들을 갖는데 있어서 제2 미리 선택된 수의 시도들이 존재하는 경우, 포인트 프로세서(11111)는 어떠한 SDSF 라인도 검출되지 않았다는 것을 알리는 것을 포함할 수 있다.With continued reference to FIG. 5K , SDSF detector 11109 may receive surface classification points 10789 , path 11214 , polygon 11147 , and target point 11139 , available within incoming data. According to the criteria presented herein, the most suitable SDSF line 10377 may be determined. The SDSF detector 11109 may include, but is not limited to, a point processor 11111 and an SDSF line processor 11113 . The point processor 11111 may include selecting two of the SDSF points 10789 located within the polygon 11147 and drawing the SDSF 10377 line between the two points. If there are fewer than a first preselected number of points within a first preselected distance of SDSF line 10377, select SDSF points 10789, draw a line between the two points, , if there are fewer attempts than the second preselected number of attempts in having fewer than the first preselected number of points around the SDSF line, then the point processor 11111 is As mentioned, this may involve looping again through a select-picture-testing loop. If there are a second preselected number of attempts in selecting SDSF points, drawing a line between them, and having fewer than the first preselected number of points around the SDSF line, point processor 11111 ) may include indicating that no SDSF lines were detected.

도 5k를 계속 참조하면, SDSF 라인 프로세서(11113)는 제1 미리 선택된 수 이상의 포인트(10789)가 존재하는 경우, 곡선(11609-11611)(도 5l)을 SDSF 라인(10377)의 제1 미리 선택된 거리 내에 있는 포인트들(10789)에 피팅하는 것을 포함할 수 있다. 곡선(11609-11611)(도 5l)의 제1 미리 선택된 거리 내에 있는 포인트들(10789)의 수가 SDSF 라인(10377)의 제1 미리 선택된 거리 내에 있는 포인트들(10789)의 수를 초과하는 경우, 및 곡선(11609-11611)(도 5l)이 경로 라인(11214)과 교차하는 경우, 및 제2 미리 선택된 거리를 초과하는 곡선(11609-11611)(도 5l) 상의 포인트들(10789) 사이의 갭들이 없는 경우, SDSF 라인 프로세서(11113)는 (예를 들어) 곡선(11609-11611)(도 5l)을 SDSF 라인(10377)으로서 식별하는 것을 포함할 수 있다. 곡선(11609-11611)(도 5l)의 미리 선택된 거리 내에 있는 포인트들(10789)의 수가 SDSF 라인(10377)의 제1 미리 선택된 거리 내에 있는 포인트들(10789)의 수를 초과하지 않는 경우, 또는 곡선(11609-11611)(도 5l)이 경로 라인(11214)과 교차하지 않는 경우, 또는 제2 미리 선택된 거리를 초과하는 곡선(11609-11611)(도 5l) 상의 포인트들(10789) 사이의 갭들이 존재하는 경우, 및 SDSF 라인(10377)이 안정적으로 유지되지 않는 경우, 및 곡선 피팅이 제2 미리 선택된 수의 시도들보다 더 많이 시도되지 않은 경우, SDSF 라인 프로세서(11113)는 곡선 피팅 루프를 다시 실행할 수 있다.With continued reference to FIG. 5K , SDSF line processor 11113 generates curves 11609 - 11611 ( FIG. 5L ) of first preselected line 10377 of SDSF line 10377 when there are more than a first preselected number of points 10789 . fitting to points 10789 that are within a distance. If the number of points 10789 within the first preselected distance of the curve 11609-11611 (FIG. 51) exceeds the number of points 10789 within the first preselected distance of the SDSF line 10377, and a gap between points 10789 on curves 11609-11611 ( FIG. 5L ) when curves 11609-11611 ( FIG. 5L ) intersect path line 11214 , and exceeding a second preselected distance. In the absence of , SDSF line processor 11113 may (eg) identify curves 11609 - 11611 ( FIG. 5L ) as SDSF line 10377 . the number of points 10789 that are within the preselected distance of the curves 11609 - 11611 ( FIG. 5L ) does not exceed the number of points 10789 that are within the first preselected distance of the SDSF line 10377 , or The gap between the points 10789 on the curve 11609-11611 ( FIG. 5L ) where the curve 11609-11611 ( FIG. 5L ) does not intersect the path line 11214 , or exceeds a second preselected distance. are present, and if the SDSF line 10377 does not remain stable, and if the curve fitting has not been attempted more than a second preselected number of attempts, the SDSF line processor 11113 executes the curve fitting loop. You can run it again.

도 5k를 계속 참조하면, SDSF 제어기(11127)는 SDSF 라인(10377), 점유 그리드(11138), AV 배향 변경들(11142) 및 속도 제한(11148)을 수신할 수 있고, SDSF(10377)(도 5n)를 정확하게 횡단하도록 AV(10101)(도 5l)를 드라이빙하기 위한 SDSF 명령들(11144)을 생성할 수 있다. SDSF 제어기(11127)는 장애물 프로세서(11115), SDSF 접근(11131) 및 SDSF 횡단(11133)을 포함하지만 이에 한정되지 않는 것을 포함할 수 있다. 장애물 프로세서(11115)는 SDSF 라인(10377), 목표 포인트(11139) 및 점유 그리드(11138)를 수신할 수 있고, 점유 그리드(11138)에서 식별된 장애물들 중에서, 이들 중 임의의 것이 SDSF(10377)(도 5n)를 횡단할 때 AV(10101)(도 5n)를 방해할 수 있는지를 결정할 수 있다. 장애물 프로세서(11115)는 장애물 선택기(11117), 장애물 테스터(11119) 및 횡단 로케이터(11121)를 포함하지만 이에 제한되지 않는 것을 포함할 수 있다. 장애물 선택기(11117)는 본 명세서에 설명된 바와 같이 점유 그리드(11138)를 수신하는 것을 포함할 수 있지만 이에 제한되지 않는다. 장애물 선택기(11117)는 점유 그리드(11138) 및 다각형(11147) 모두에 공통인 지리적 영역으로부터 점유 그리드 포인트 및 그의 연관된 확률을 선택하는 것을 포함할 수 있다. 장애물 테스터(11119)는 선택된 그리드 포인트에 장애물이 존재하는 확률이 미리 선택된 퍼센트보다 높은 경우, 및 장애물이 AV(10101)(도 5l)와 목표 포인트(11139) 사이에 있는 경우, 및 장애물이 SDSF 라인(10377)과 목표 포인트(11139) 사이의 SDSF 라인(10377)으로부터 제3 미리 선택된 거리보다 작은 경우를 포함할 수 있고, 장애물 테스터(11119)는 장애물을 SDSF 라인(10377)에 투영하여, SDSF 라인(10377)과 교차하는 투영들(11621)을 형성하는 것을 포함할 수 있다. 위치가 장애물을 포함하는 미리 선택된 퍼센트 확률보다 작거나 같은 경우, 또는 장애물이 AV(10101)(도 5l)와 목표 포인트(11139) 사이에 있지 않은 경우, 또는 장애물이 SDSF 라인(10377)과 목표 포인트(11139) 사이의 SDSF 라인(10377)으로부터 제3 미리 선택된 거리 이상의 거리에 있는 경우, 장애물 테스터(11119)는 처리할 장애물들이 더 많은 경우, 점유 그리드(11138)를 수신할 때 실행을 재개하는 것을 포함할 수 있다.With continued reference to FIG. 5K , SDSF controller 11127 may receive SDSF line 10377 , occupancy grid 11138 , AV orientation changes 11142 and rate limit 11148 , and SDSF 10377 ( FIG. SDSF instructions 11144 to drive AV 10101 (FIG. 5L) to precisely traverse 5n). The SDSF controller 11127 may include, but is not limited to, an obstacle processor 11115 , an SDSF approach 11131 , and an SDSF traversal 11133 . Obstacle processor 11115 may receive SDSF line 10377 , target point 11139 and occupancy grid 11138 , any of the obstacles identified in occupancy grid 11138 , any of which are SDSF 10377 . It can be determined whether the AV 10101 (FIG. 5N) can be obstructed when traversing (FIG. 5N). The obstacle processor 11115 may include, but is not limited to, an obstacle selector 11117 , an obstacle tester 11119 , and a traversing locator 11121 . The obstacle selector 11117 may include, but is not limited to, receiving an occupancy grid 11138 as described herein. The obstacle selector 11117 may include selecting the occupancy grid points and their associated probabilities from a geographic area common to both the occupancy grid 11138 and the polygon 11147 . Obstacle tester 11119 determines if the probability that an obstacle exists at the selected grid point is higher than a preselected percentage, and if the obstacle is between AV 10101 ( FIG. 5L ) and target point 11139 , and if the obstacle is an SDSF line less than a third preselected distance from the SDSF line 10377 between the 10377 and the target point 11139 , wherein the obstacle tester 11119 projects the obstacle onto the SDSF line 10377 , the SDSF line forming projections 11621 that intersect with 10377 . If the location is less than or equal to a preselected percentage probability that contains the obstacle, or if the obstacle is not between the AV 10101 ( FIG. 5L ) and the target point 11139 , or if the obstacle is between the SDSF line 10377 and the target point If at a distance greater than or equal to a third preselected distance from SDSF line 10377 between may include

도 5k를 계속 참조하면, 횡단 로케이터(11121)는 SDSF 라인(10377)을 따라 접속된 투영들(11621)(도 5m)의 접속 투영 포인트들 및 위치결정 종료 포인트들(11622/11623)(도 5m)을 포함할 수 있다. 횡단 로케이터(11121)는 횡단 불가능한 것으로서 투영 종료 포인트들(11622/11623)(도 5m) 사이의 SDSF 라인(10377)의 마킹 부분(11624)(도 5m)을 포함할 수 있다. 횡단 로케이터(11121)는 횡단가능한 것으로서 횡단 불가능한 부분(11624)(도 5m)의 외부에 있는 SDSF 라인(10377)의 마킹 부분들(11626)(도 5m)을 포함할 수 있다.With continued reference to FIG. 5K , the traversal locator 11121 is located along the SDSF line 10377 with the connecting projection points of the connected projections 11621 ( FIG. 5M ) and the positioning end points 11622/11623 ( FIG. 5M ). ) may be included. The traversing locator 11121 may include a marking portion 11624 ( FIG. 5M ) of the SDSF line 10377 between the projection end points 11622/11623 ( FIG. 5M ) as non-traversable. The traversing locator 11121 may include marking portions 11626 ( FIG. 5M ) of the SDSF line 10377 that are external to the non-traversable portion 11624 ( FIG. 5M ) as being traversable.

도 5k를 계속 참조하면, SDSF 접근(11131)은 SDSF 라인(10377)의 횡단가능 부분(11626)(도 5n)에 수직인 제5 미리 선택된 양 내로 AV(10101)(도 5n)를 전환하기 위해 SDSF 명령들(11144)을 전송하는 것을 포함할 수 있다. SDSF 라인(10377)의 횡단가능 섹션(11626)(도 5n)에 수직인 수직 라인(11627)(도 5n)에 대한 헤딩 에러가 제1 미리 선택된 양보다 큰 경우, SDSF 접근(11131)은 제9 미리 선택된 양만큼 AV(10101)(도 5n)를 느리게 하기 위해 SDSF 명령들(11144)을 전송하는 것을 포함할 수 있다. 일부 구성들에서, 제9 미리 선택된 양은 매우 느리게부터 완전히 정지된 것까지의 범위일 수 있다. SDSF 접근(11131)은 SDSF 라인(10377)을 향해 AV(10101)(도 5n)를 전방으로 드라이빙하기 위해 SDSF 명령들(11144)을 전송하는 것, 이동된 미터 당 제2 미리 선택된 양만큼 AV(10101)(도 5n)를 느리게 하기 위해 SDSF 명령들(11144)을 전송하는 것을 포함할 수 있다. AV(10101)(도 5n)와 횡단가능 SDSF 라인(11626)(도 5n) 사이의 거리가 제4 미리 선택된 거리보다 작은 경우, 및 헤딩 에러가 SDSF 라인(10377)에 수직인 라인에 대해 제3 미리 선택된 양보다 크거나 같은 경우, SDSF 접근(11131)은 제9 미리 선택된 양만큼 AV(10101)(도 5n)를 느리게 하기 위해 SDSF 명령들(11144)을 전송하는 것을 포함할 수 있다.With continued reference to FIG. 5K , SDSF approach 11131 is to divert AV 10101 ( FIG. 5N ) into a fifth preselected amount perpendicular to traversable portion 11626 ( FIG. 5N ) of SDSF line 10377 . sending SDSF commands 11144 . If the heading error for the vertical line 11627 ( FIG. 5N ) perpendicular to the traversable section 11626 ( FIG. 5N ) of the SDSF line 10377 is greater than the first preselected amount, then the SDSF access 11131 is a ninth sending SDSF commands 11144 to slow AV 10101 (FIG. 5N) by a preselected amount. In some configurations, the ninth preselected amount may range from very slow to completely stationary. SDSF approach 11131 sends SDSF commands 11144 to drive AV 10101 (FIG. 5N) forward towards SDSF line 10377, a second preselected amount of AV ( sending SDSF commands 11144 to slow 10101 ( FIG. 5N ). If the distance between AV 10101 ( FIG. 5N ) and traversable SDSF line 11626 ( FIG. 5N ) is less than a fourth preselected distance, and the heading error is a third for a line perpendicular to SDSF line 10377 ) If greater than or equal to the preselected amount, SDSF access 11131 may include sending SDSF commands 11144 to slow AV 10101 ( FIG. 5N ) by a ninth preselected amount.

도 5k를 계속 참조하면, 헤딩 에러가 SDSF 라인(10377)에 수직인 라인에 대해 제3 미리 선택된 양보다 작은 경우, SDSF 횡단(11133)은 업데이트된 SDSF 정보를 무시하고 미리 선택된 레이트로 AV(10101)(도 5n)를 드라이빙하도록 SDSF 명령들(11144)을 전송하는 것을 포함할 수 있다. AV 배향 변경들(11142)이 AV(10101)(도 5n)의 후미 에지(11703)(도 5n)에 대한 AV(10101)(도 5n)의 선두 에지(11701)(도 5n)의 상승이 제6 미리 선택된 양과 제5 미리 선택된 양 사이에 있는 것을 나타내는 경우, SDSF 횡단(11133)은 AV(10101)(도 5n)를 전방으로 드라이빙하도록 SDSF 명령들(11144)을 전송하고, 상승의 정도 당 미리 선택된 레이트로 AV(10101)(도 5n)의 속도를 증가시키도록 SDSF 명령들(11144)을 전송하는 것을 포함할 수 있다. AV 배향 변경들(11142)이, AV(10101)(도 5n)의 후미 에지(11703)(도 5n)에 대한 선두 에지(11701)(도 5n)의 상승이 제6 미리 선택된 양보다 작은 것을 나타내는 경우, SDSF 횡단(11133)은 제7 미리 선택된 속도로 전방으로 AV(10101)(도 5n)를 드라이빙하도록 SDSF 명령들(11144)을 전송하는 것을 포함할 수 있다. AV 위치(11141)가 후미 에지(11703)(도 5n)가 SDSF 라인(10377)으로부터 제5 미리 선택된 거리보다 큰 것을 나타내는 경우, SDSF 횡단(11133)은 AV(10101)(도 5n)가 SDSF(10377)를 횡단하는 것을 완료한 것을 알리는 것을 포함할 수 있다. AV 위치(11141)가 후미 에지(11703)(도 5n)가 SDSF 라인(10377)으로부터 제5 미리 선택된 거리보다 작거나 같은 것을 나타내는 경우, SDSF 횡단(11133)은 업데이트된 SDSF 정보를 무시하면서 시작하는 루프를 다시 실행하는 것을 포함할 수 있다.With continued reference to FIG. 5K , if the heading error is less than a third preselected amount for a line perpendicular to SDSF line 10377 , SDSF traversal 11133 ignores the updated SDSF information and AV 10101 at the preselected rate. ) ( FIG. 5N ), sending SDSF commands 11144 . AV orientation changes 11142 result in the rise of leading edge 11701 (FIG. 5N) of AV 10101 (FIG. 5N) relative to trailing edge 11703 (FIG. 5N) of AV 10101 (FIG. 5N). If it indicates that it is between the 6 preselected amount and the fifth preselected amount, SDSF traversal 11133 sends SDSF commands 11144 to drive AV 10101 (FIG. 5N) forward, per degree of ascent. sending SDSF commands 11144 to increase the speed of AV 10101 (FIG. 5N) at a selected rate. AV orientation changes 11142 indicate that the rise of leading edge 11701 (FIG. 5N) relative to trailing edge 11703 (FIG. 5N) of AV 10101 (FIG. 5N) is less than a sixth preselected amount. In that case, SDSF traversal 11133 may include sending SDSF commands 11144 to drive AV 10101 ( FIG. 5N ) forward at a seventh preselected speed. If AV position 11141 indicates that trailing edge 11703 (FIG. 5N) is greater than the fifth preselected distance from SDSF line 10377, SDSF traversal 11133 indicates that AV 10101 (FIG. 5N) 10377), indicating that traversing has been completed. If the AV position 11141 indicates that the trailing edge 11703 (FIG. 5N) is less than or equal to the fifth preselected distance from the SDSF line 10377, then the SDSF traversal 11133 begins ignoring the updated SDSF information. This may involve re-executing the loop.

본 명세서에 기술된 미리 선택된 값들에 대한 일부 예시적인 범위들은, 제한적인 것은 아니지만, 표 II에 열거된 것들을 포함할 수 있다.Some exemplary ranges for preselected values described herein may include, but are not limited to, those listed in Table II.

Figure pct00008
Figure pct00008

표 II.Table II.

이제, 도 5o를 참조하면, 실시간 데이터 수집을 지원하기 위해, 일부 구성들에서, 본 교시들의 시스템은, 예를 들어, RGD-D 카메라 이미지 데이터와 같은, 그러나 이에 제한되지 않는, 데이터를 수신할 시에 다양한 표면 타입들의 3차원 공간에서 위치들을 생성할 수 있다. 시스템은 이미지들(12155)을 회전시키고 이들을 카메라 좌표계(12157)로부터 UTM 좌표계(12159)로 변환할 수 있다. 시스템은 변환된 이미지들로부터 다각형 파일들을 생성할 수 있고, 다각형 파일들은 표면 타입(12161)과 연관된 3차원 위치들을 나타낼 수 있다. AV(10101)―AV(10101)는 포즈(12163)를 가짐―에 의해 수신된 카메라 이미지들(12155)로부터 피처들(12151)을 위치결정하기 위한 방법(12150)은, 제한적인 것은 아니지만, AV(10101)에 의해 카메라 이미지들(12155)을 수신하는 단계를 포함할 수 있다. 카메라 이미지들(12155) 각각은 이미지 타임스탬프(12171)를 포함할 수 있고, 이미지들(12155) 각각은 이미지 컬러 픽셀들(12167) 및 이미지 심도 픽셀들(12169)을 포함할 수 있다. 방법(12150)은 AV(10101)의 포즈(12163), 포즈 타임스탬프(12171)를 갖는 포즈(12163)를 수신하는 단계, 및 포즈 타임스탬프(12171)에 가장 가까운 이미지 타임스탬프(12165)를 갖는 카메라 이미지들(12155)로부터 이미지를 식별함으로써 선택된 이미지(12173)를 결정하는 단계를 포함할 수 있다. 방법(12150)은 선택된 이미지(12173)에서 이미지 심도 픽셀들(12169)로부터 이미지 컬러 픽셀들(12167)을 분리하는 단계, 및 이미지 컬러 픽셀들(12167)을 제1 머신 학습 모델(12177)에 그리고 이미지 심도 픽셀들(12169)을 제2 머신 학습 모델(12179)에 제공함으로써 선택된 이미지(12173)에 대한 이미지 표면 분류들(12161)을 결정하는 단계를 포함할 수 있다. 방법(12150)은 카메라 이미지(12173)에서 피처들의 주변 포인트들(12181)을 결정하는 단계를 포함할 수 있고, 여기서 피처들은 주변 내에 피처 픽셀들(12151)을 포함할 수 있고, 피처 픽셀들(12151) 각각은 동일한 표면 분류(12161)를 갖고, 주변 포인트들(12181) 각각은 좌표들(12157)의 세트를 갖는다. 방법(12150)은 좌표들(12157)의 세트들 각각을 UTM 좌표들(12159)로 변환하는 단계를 포함할 수 있다.Referring now to FIG. 5O , to support real-time data collection, in some configurations, a system of the present teachings may receive data, such as, but not limited to, RGD-D camera image data, for example. It is possible to create positions in three-dimensional space of various surface types in a city. The system can rotate the images 12155 and transform them from the camera coordinate system 12157 to the UTM coordinate system 12159 . The system may generate polygon files from the transformed images, which may represent three-dimensional locations associated with the surface type 12161 . Method 12150 for locating features 12151 from camera images 12155 received by AV 10101 - AV 10101 having pose 12163 - includes, but is not limited to, AV receiving camera images 12155 by 10101 . Each of the camera images 12155 may include an image timestamp 12171 , and each of the images 12155 may include image color pixels 12167 and image depth pixels 12169 . The method 12150 includes receiving a pose 12163 of the AV 10101 , a pose 12163 having a pose timestamp 12171 , and an image timestamp 12165 closest to the pose timestamp 12171 . determining the selected image 12173 by identifying the image from the camera images 12155 . The method 12150 includes separating image color pixels 12167 from image depth pixels 12169 in a selected image 12173 , and adding the image color pixels 12167 to a first machine learning model 12177 and determining image surface classifications 12161 for the selected image 12173 by providing the image depth pixels 12169 to the second machine learning model 12179 . The method 12150 may include determining peripheral points 12181 of features in the camera image 12173, wherein the features may include feature pixels 12151 within the perimeter, and the feature pixels ( 12151 ) each have the same surface classification 12161 , and each of the surrounding points 12181 has a set of coordinates 12157 . Method 12150 may include transforming each of the sets of coordinates 12157 to UTM coordinates 12159 .

본 교시의 구성들은 본 명세서에서의 설명에서 논의된 방법들을 달성하기 위한 컴퓨터 시스템들, 및 이러한 방법들을 달성하기 위한 프로그램들을 포함하는 컴퓨터 판독가능 매체들에 관한 것이다. 미가공 데이터 및 결과들은 미래의 검색 및 처리를 위해 저장되고, 인쇄되고, 디스플레이되고, 다른 컴퓨터에 전송되고, 및/또는 다른 곳에 전송될 수 있다. 통신 링크들은, 예를 들어, 셀룰러 통신 시스템들, 군사 통신 시스템들, 및 위성 통신 시스템들을 이용하는, 유선 또는 무선일 수 있다. 시스템의 부분들은 가변 수의 CPU들을 갖는 컴퓨터 상에서 동작할 수 있다. 다른 대안적인 컴퓨터 플랫폼들이 이용될 수 있다.Compositions of the present teachings relate to computer systems for accomplishing the methods discussed in the description herein, and computer readable media containing programs for performing these methods. The raw data and results may be stored, printed, displayed, transmitted to another computer, and/or transmitted elsewhere for future retrieval and processing. Communication links may be wired or wireless, using, for example, cellular communication systems, military communication systems, and satellite communication systems. Portions of the system may run on a computer with a variable number of CPUs. Other alternative computer platforms may be used.

본 구성은 또한 본 명세서에서 논의된 방법들을 달성하기 위한 소프트웨어, 및 이러한 방법들을 달성하기 위한 소프트웨어를 저장하는 컴퓨터 판독가능 매체들에 관한 것이다. 본 명세서에서 설명되는 다양한 모듈들은 동일한 CPU 상에서 달성될 수 있거나, 상이한 컴퓨터 상에서 달성될 수 있다. 진술에 따라, 본 구성은 구조적 및 방법적 특징들에 대해 다소 특정적인 언어로 설명되었다. 그러나, 본 명세서에서 개시되는 수단은 본 구성을 실시하는 바람직한 형태들을 포함하기 때문에, 본 구성은 도시되고 설명되는 특정 특징들로 한정되지 않는다는 것을 이해해야 한다.The present configuration also relates to software for accomplishing the methods discussed herein, and computer-readable media storing the software for achieving these methods. The various modules described herein may be implemented on the same CPU, or may be implemented on different computers. As per the statement, the present composition has been described in language that is rather specific for its structural and methodological features. However, it is to be understood that the present arrangement is not limited to the specific features shown and described, since the means disclosed herein include preferred forms of carrying out the present arrangement.

방법들은, 전체적으로 또는 부분적으로, 전자적으로 구현될 수 있다. 시스템의 요소들 및 다른 개시된 구성들에 의해 취해진 액션들을 나타내는 신호들은 적어도 하나의 라이브 통신 네트워크를 통해 이동할 수 있다. 제어 및 데이터 정보는 적어도 하나의 컴퓨터 판독가능 매체 상에 전자적으로 실행 및 저장될 수 있다. 시스템은 적어도 하나의 라이브 통신 네트워크 내의 적어도 하나의 컴퓨터 노드 상에서 실행되도록 구현될 수 있다. 적어도 하나의 컴퓨터 판독가능 매체의 공통 형태들은, 예를 들어, 제한적인 것은 아니지만, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, 콤팩트 디스크 판독 전용 메모리 또는 임의의 다른 광학 매체, 펀칭된 카드들, 페이퍼 테이프, 또는 구멍들의 패턴들을 갖는 임의의 다른 물리적 매체, 랜덤 액세스 메모리, 프로그램가능 판독 전용 메모리, 및 소거가능 프로그램가능 판독 전용 메모리(EPROM), 플래시 EPROM, 또는 임의의 다른 메모리 칩 또는 카트리지, 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 적어도 하나의 컴퓨터 판독가능 매체는, 제한적인 것은 아니지만, GIF(Graphic Interchange Format), JPEG(Joint Photographic Experts Group), PNG(Portable Network Graphics), SVG(Scalable Vector Graphics), 및 TIFF(Tagged Image File Format)를 포함하는, 필요한 경우 적절한 라이센스들에 따르는, 임의의 형태로 그래프들을 포함할 수 있다.The methods may be implemented, in whole or in part, electronically. Signals indicative of actions taken by elements of the system and other disclosed configurations may travel through the at least one live communication network. The control and data information may be executed and stored electronically on at least one computer readable medium. The system may be implemented to run on at least one computer node in at least one live communication network. Common forms of at least one computer readable medium include, for example, but not limited to, a floppy disk, a flexible disk, a hard disk, magnetic tape, or any other magnetic medium, compact disk read only memory, or any other optical medium. media, punched cards, paper tape, or any other physical medium having patterns of holes, random access memory, programmable read only memory, and erasable programmable read only memory (EPROM), flash EPROM, or any may include other memory chips or cartridges, or any other computer readable medium. Also, at least one computer-readable medium may include, but is not limited to, Graphic Interchange Format (GIF), Joint Photographic Experts Group (JPEG), Portable Network Graphics (PNG), Scalable Vector Graphics (SVG), and Tagged Image (TIFF). File Format), if necessary, in accordance with the appropriate licenses, and may include the graphs in any form.

본 교시는 특정 구성들의 관점에서 위에서 설명되었지만, 이들은 이들 개시된 구성들로 제한되지 않는다는 것이 이해되어야 한다. 많은 수정들 및 다른 구성들은 본 출원이 속하는 기술분야의 통상의 기술자들에게 떠오를 것이고, 본 개시내용 및 첨부된 청구항들 둘다인 것으로 의도되고 이에 의해 커버된다. 본 교시의 범위는 본 명세서 및 첨부된 도면들에서의 개시내용에 의존하는 기술분야의 통상의 기술자들에 의해 이해되는 바와 같이, 첨부된 청구항들 및 이들의 법적 등가물들의 적절한 해석 및 구성에 의해 결정되어야 한다는 것이 의도된다.Although the present teachings have been described above in terms of specific configurations, it should be understood that they are not limited to these disclosed configurations. Many modifications and other constructions will occur to those skilled in the art to which this application pertains, and are intended and covered by both the present disclosure and the appended claims. The scope of the present teachings is determined by appropriate interpretation and construction of the appended claims and their legal equivalents, as understood by those skilled in the art to rely on the disclosure in this specification and the appended drawings. It is intended to be

Claims (93)

자율 배송 차량으로서,
2개의 전동 전방 휠들, 2개의 전동 후방 휠들 및 에너지 저장소를 포함하는 파워 베이스―상기 파워 베이스는 적어도 하나의 물체의 수송을 수행하기 위해 명령된 속도로 및 명령된 방향으로 이동하도록 구성됨―;
복수의 단거리 센서들을 포함하는 화물 플랫폼―상기 화물 플랫폼은 상기 파워 베이스에 기계적으로 부착됨―;
상기 적어도 하나의 물체를 수용하기 위한 볼륨을 갖는 화물 컨테이너―상기 화물 컨테이너는 상기 화물 플랫폼의 최상부 상에 장착됨―;
LIDAR 및 하나 이상의 카메라를 포함하는 장거리 센서 슈트―상기 장거리 센서 슈트는 상기 화물 컨테이너의 최상부 상에 장착됨―; 및
상기 장거리 센서 슈트 및 상기 복수의 단거리 센서들로부터 데이터를 수신하기 위한 제어기―상기 제어기는 상기 데이터에 적어도 기초하여 상기 명령된 속도 및 상기 명령된 방향을 결정하고, 상기 제어기는 상기 수송을 완료하기 위해 상기 파워 베이스에 상기 명령된 속도 및 상기 명령된 방향을 제공함―를 포함하는,
자율 배송 차량.
An autonomous delivery vehicle comprising:
a power base comprising two powered front wheels, two powered rear wheels and an energy store, wherein the power base is configured to move at a commanded speed and in a commanded direction to effect transport of at least one object;
a cargo platform comprising a plurality of short-range sensors, the cargo platform mechanically attached to the power base;
a cargo container having a volume for receiving the at least one object, the cargo container mounted on top of the cargo platform;
a long-range sensor chute comprising a LIDAR and one or more cameras, the long-range sensor chute mounted on top of the cargo container; and
a controller for receiving data from the long-range sensor suite and the plurality of short-range sensors, wherein the controller determines the commanded speed and the commanded direction based at least on the data, and the controller is configured to: providing the commanded speed and the commanded direction to the power base;
Autonomous delivery vehicle.
제1항에 있어서,
상기 복수의 단거리 센서들로부터의 상기 데이터는 상기 파워 베이스가 이동하는 표면의 적어도 하나의 특성을 포함하는, 자율 배송 차량.
According to claim 1,
and the data from the plurality of short-range sensors include at least one characteristic of a surface on which the power base moves.
제1항에 있어서,
상기 복수의 단거리 센서들은 적어도 하나의 스테레오 카메라를 포함하는, 자율 배송 차량.
According to claim 1,
wherein the plurality of short-range sensors include at least one stereo camera.
제1항에 있어서,
상기 복수의 단거리 센서들은 적어도 하나의 IR 프로젝터, 적어도 하나의 이미지 센서, 및 적어도 하나의 RGB 센서를 포함하는, 자율 배송 차량.
According to claim 1,
wherein the plurality of short-range sensors include at least one IR projector, at least one image sensor, and at least one RGB sensor.
제1항에 있어서,
상기 복수의 단거리 센서들은 적어도 하나의 레이더 센서를 포함하는, 자율 배송 차량.
According to claim 1,
wherein the plurality of short-range sensors include at least one radar sensor.
제1항에 있어서,
상기 복수의 단거리 센서들로부터의 상기 데이터는 RGB-D 데이터를 포함하는, 자율 배송 차량.
According to claim 1,
and the data from the plurality of short-range sensors comprises RGB-D data.
제1항에 있어서,
상기 제어기는 상기 복수의 단거리 센서들로부터 수신된 RGB-D 데이터에 기초하여 노면의 기하구조를 결정하는, 자율 배송 차량.
According to claim 1,
and the controller determines the geometry of the road surface based on RGB-D data received from the plurality of short-range sensors.
제1항에 있어서,
상기 복수의 단거리 센서들은 상기 AV의 4미터 이내의 물체들을 검출하고, 상기 장거리 센서 슈트는 상기 자율 배송 차량으로부터 4미터보다 더 떨어져 있는 물체들을 검출하는, 자율 배송 차량.
According to claim 1,
wherein the plurality of short-range sensors detect objects within 4 meters of the AV and the long-range sensor suite detects objects more than 4 meters away from the autonomous delivery vehicle.
제1항에 있어서,
상기 복수의 단거리 센서들은 냉각 회로를 포함하는, 자율 배송 차량.
According to claim 1,
wherein the plurality of short-range sensors include a cooling circuit.
제1항에 있어서,
상기 복수의 단거리 센서들은 초음파 센서를 포함하는, 자율 배송 차량.
According to claim 1,
wherein the plurality of short-range sensors include an ultrasonic sensor.
제2항에 있어서,
상기 제어기는 실행가능 코드를 포함하고,
이 실행가능 코드는 맵 프로세서에 의해 형성된 맵에 액세스하는 것을 포함하고,
상기 맵 프로세서는,
상기 장거리 센서 슈트로부터의 포인트 클라우드 데이터에 액세스하는 제1 프로세서―상기 포인트 클라우드 데이터는 상기 표면을 나타냄―;
상기 포인트 클라우드 데이터를 필터링하는 필터;
상기 필터링된 포인트 클라우드 데이터로부터 처리가능 부분들을 형성하는 제2 프로세서;
상기 처리가능 부분들을 적어도 하나의 다각형에 병합하는 제3 프로세서;
상기 적어도 하나의 다각형에 적어도 하나의 실질적으로 불연속적인 표면 피처(SDSF)를 위치결정 및 라벨링하는 제4 프로세서―존재하는 경우, 상기 위치결정 및 라벨링은 라벨링된 포인트 클라우드 데이터를 형성함―;
상기 라벨링된 포인트 클라우드 데이터로부터 그래핑 다각형들을 생성하는 제5 프로세서; 및
상기 그래핑 다각형들에 적어도 기초하여 시작 포인트로부터 종료 포인트까지의 경로를 선택하는 제6 프로세서―상기 AV는 상기 경로를 따라 상기 적어도 하나의 SDSF를 횡단함―를 포함하는, 자율 배송 차량.
3. The method of claim 2,
the controller comprises executable code;
the executable code comprising accessing a map formed by a map processor;
The map processor,
a first processor accessing point cloud data from the long range sensor suite, the point cloud data representing the surface;
a filter for filtering the point cloud data;
a second processor forming processable portions from the filtered point cloud data;
a third processor for merging the processable portions into at least one polygon;
a fourth processor for locating and labeling at least one substantially discontinuous surface feature (SDSF) in the at least one polygon, wherein the locating and labeling, if present, forms labeled point cloud data;
a fifth processor for generating graphing polygons from the labeled point cloud data; and
and a sixth processor selecting a path from a starting point to an ending point based at least on the graphing polygons, wherein the AV traverses the at least one SDSF along the path.
제11항에 있어서,
상기 필터는 코드를 실행하는 제7 프로세서를 포함하고,
상기 코드는,
상기 포인트 클라우드 데이터로부터 과도 물체들을 나타내는 포인트들 및 이상치들을 나타내는 포인트들을 조건부로 제거하는 것; 및
미리 선택된 높이를 갖는 상기 제거된 포인트들을 대체하는 것을 포함하는, 자율 배송 차량.
12. The method of claim 11,
the filter comprises a seventh processor executing code;
The code is
conditionally removing from the point cloud data points indicative of transient objects and points indicative of outliers; and
and replacing the removed points with a preselected height.
제11항에 있어서,
상기 제2 프로세서는 상기 실행가능 코드를 포함하고,
이 실행가능 코드는,
상기 포인트 클라우드 데이터를 상기 처리가능 부분들로 세그먼트화하는 것; 및
미리 선택된 높이의 포인트들을 상기 처리가능 부분들로부터 제거하는 것을 포함하는, 자율 배송 차량.
12. The method of claim 11,
wherein the second processor comprises the executable code;
This executable code is
segmenting the point cloud data into the processable portions; and
and removing points of a preselected height from the processable portions.
제11항에 있어서,
상기 제3 프로세서는 상기 실행가능 코드를 포함하고,
이 실행가능 코드는,
이상치들, 복셀들, 및 법선들을 분석함으로써 상기 처리가능 부분들의 크기를 감소시키는 것;
상기 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 것;
상기 성장된 영역들로부터 초기 드라이빙가능 표면들을 결정하는 것;
상기 초기 드라이빙가능 표면들을 세그먼트화 및 메싱하는 것;
상기 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 것; 및
상기 다각형들에 적어도 기초하여 적어도 하나의 드라이빙가능 표면을 설정하는 것을 포함하는, 자율 배송 차량.
12. The method of claim 11,
wherein the third processor comprises the executable code;
This executable code is
reducing the size of the processable portions by analyzing outliers, voxels, and normals;
growing regions from the reduced size processable portions;
determining initial drivable surfaces from the grown regions;
segmenting and meshing the initial drivable surfaces;
positioning polygons within the segmented and meshed initial drivable surfaces; and
and setting at least one drivable surface based at least on the polygons.
제14항에 있어서,
상기 제4 프로세서는 상기 실행가능 코드를 포함하고,
이 실행가능 코드는,
SDSF 필터에 따라 상기 초기 드라이빙가능 표면들의 상기 포인트 클라우드 데이터를 정렬하는 것―상기 SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―; 및
상기 포인트들의 적어도 3개의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 것을 포함하는, 자율 배송 차량.
15. The method of claim 14,
the fourth processor comprises the executable code;
This executable code is
sorting the point cloud data of the initial drivable surfaces according to an SDSF filter, wherein the SDSF filter includes at least three categories of points; and
and locating at least one SDSF point based at least on whether the at least three categories of points, in combination, satisfy at least one first preselected criterion.
제15항에 있어서,
상기 제4 프로세서는 상기 실행가능 코드를 포함하고,
이 실행가능 코드는,
복수의 상기 적어도 하나의 SDSF 포인트가, 조합하여, 적어도 하나의 제2 미리 선택된 기준을 충족시키는지에 적어도 기초하여 적어도 하나의 SDSF 궤적을 생성하는 것을 포함하는, 자율 배송 차량.
16. The method of claim 15,
the fourth processor comprises the executable code;
This executable code is
and generating at least one SDSF trajectory based at least on whether a plurality of the at least one SDSF point, in combination, satisfies at least one second preselected criterion.
제14항에 있어서,
상기 그래핑 다각형들을 생성하는 것은 상기 실행가능 코드를 포함하는 제8 프로세서를 포함하고,
이 실행가능 코드는,
상기 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 것―상기 적어도 하나의 다각형은 외부 에지들을 포함함―;
상기 외부 에지들을 평활화하는 것;
상기 평활화된 외부 에지들에 기초하여 드라이빙 마진을 형성하는 것;
상기 적어도 하나의 SDSF 궤적을 상기 적어도 하나의 드라이빙가능 표면에 추가하는 것; 및
적어도 하나의 제3 미리 선택된 기준에 따라 상기 적어도 하나의 드라이빙가능 표면으로부터 내부 에지들을 제거하는 것을 포함하는, 자율 배송 차량.
15. The method of claim 14,
generating the graphing polygons comprises an eighth processor comprising the executable code;
This executable code is
generating at least one polygon from the at least one drivable surface, the at least one polygon comprising outer edges;
smoothing the outer edges;
forming a driving margin based on the smoothed outer edges;
adding the at least one SDSF trajectory to the at least one drivable surface; and
and removing inner edges from the at least one drivable surface according to at least one third preselected criterion.
제17항에 있어서,
상기 외부 에지들을 평활화하는 것은 상기 실행가능 코드를 포함하는 제9 프로세서를 포함하고,
이 실행가능 코드는,
상기 외부 에지들을 바깥쪽으로 트리밍하여 바깥쪽 에지들을 형성하는 것을 포함하는, 자율 배송 차량.
18. The method of claim 17,
smoothing the outer edges comprises a ninth processor comprising the executable code;
This executable code is
and trimming the outer edges outward to form outer edges.
제18항에 있어서,
상기 평활화된 외부 에지들의 드라이빙 마진을 형성하는 것은 상기 실행가능 코드를 포함하는 제10 프로세서를 포함하고,
이 실행가능 코드는,
상기 바깥쪽 에지들을 안쪽으로 트리밍하는 것을 포함하는, 자율 배송 차량.
19. The method of claim 18,
forming a driving margin of the smoothed outer edges comprises a tenth processor comprising the executable code;
This executable code is
and trimming the outer edges inward.
제1항에 있어서,
제어기는,
상기 자율 배송 차량(AV)이 마주치는 적어도 하나의 실질적으로 불연속적인 표면 피처(SDSF)를 내비게이팅하기 위한 서브시스템―상기 AV는 표면 위의 경로를 이동하고, 상기 표면은 상기 적어도 하나의 SDSF를 포함하고, 상기 경로는 시작 포인트 및 종료 포인트를 포함함―을 포함하고,
상기 서브시스템은,
루트 토폴로지에 액세스하는 제1 프로세서-상기 루트 토폴로지는 필터링된 포인트 클라우드 데이터를 포함하는 적어도 하나의 그래핑 다각형을 포함하고, 상기 필터링된 포인트 클라우드 데이터는 라벨링된 피처들을 포함하고, 상기 포인트 클라우드 데이터는 드라이빙가능 마진을 포함함―;
상기 포인트 클라우드 데이터를 전역 좌표계로 변환하는 제2 프로세서;
상기 적어도 하나의 SDSF의 경계들을 결정하는 제3 프로세서―상기 제3 프로세서는 상기 경계들 주위의 미리 선택된 크기의 SDSF 버퍼들을 생성함―;
적어도 하나의 SDSF 횡단 기준에 적어도 기초하여 상기 적어도 하나의 SDSF 중 어느 것이 횡단될 수 있는지를 결정하는 제4 프로세서;
상기 적어도 하나의 SDSF 횡단 기준, 상기 변환된 포인트 클라우드 데이터, 및 상기 루트 토폴로지에 적어도 기초하여 에지/가중치 그래프를 생성하는 제5 프로세서; 및
상기 에지/가중치 그래프에 적어도 기초하여 상기 시작 포인트로부터 상기 종료 포인트까지의 경로를 선택하는 베이스 제어기를 포함하는, 자율 배송 차량.
According to claim 1,
The controller is
a subsystem for navigating at least one substantially discontinuous surface feature (SDSF) encountered by the autonomous delivery vehicle (AV), wherein the AV travels a path over a surface, the surface passing through the at least one SDSF wherein the path includes a start point and an end point;
The subsystem is
A first processor accessing a route topology, the route topology comprising at least one graphing polygon comprising filtered point cloud data, the filtered point cloud data comprising labeled features, wherein the point cloud data comprises: including drivable margin-;
a second processor for converting the point cloud data into a global coordinate system;
a third processor that determines boundaries of the at least one SDSF, wherein the third processor creates SDSF buffers of a preselected size around the boundaries;
a fourth processor to determine which of the at least one SDSF may be traversed based at least on at least one SDSF traversal criterion;
a fifth processor configured to generate an edge/weight graph based at least on the at least one SDSF traversal criterion, the transformed point cloud data, and the route topology; and
and a base controller to select a path from the start point to the end point based at least on the edge/weight graph.
제20항에 있어서,
상기 적어도 하나의 SDSF 횡단 기준은,
상기 적어도 하나의 SDSF의 미리 선택된 폭 및 상기 적어도 하나의 SDSF의 미리 선택된 평활도;
드라이빙가능 표면을 포함하는, 상기 적어도 하나의 SDSF와 상기 AV 사이의 최소 진입 거리 및 최소 진출 거리, 및
상기 AV에 의한 상기 적어도 하나의 SDSF로의 대략 90° 접근을 수용하는, 상기 적어도 하나의 SDSF와 상기 AV 사이의 상기 최소 진입 거리를 포함하는, 자율 배송 차량.
21. The method of claim 20,
The at least one SDSF traversal criterion comprises:
a preselected width of the at least one SDSF and a preselected smoothness of the at least one SDSF;
a minimum entry distance and a minimum exit distance between the at least one SDSF and the AV, including a drivable surface, and
and the minimum entry distance between the AV and the at least one SDSF that accommodates approximately 90° access to the at least one SDSF by the AV.
자율 디바이스에 대한 전역 점유 그리드를 관리하기 위한 방법으로서,
상기 전역 점유 그리드는 전역 점유 그리드 셀들을 포함하고, 상기 전역 점유 그리드 셀들은 점유 확률과 연관되고, 상기 방법은,
상기 자율 디바이스와 연관된 센서들로부터 센서 데이터를 수신하는 단계;
상기 센서 데이터에 적어도 기초하여 로컬 점유 그리드를 생성하는 단계―상기 로컬 점유 그리드는 로컬 점유 그리드 셀들을 가짐-;
상기 자율 디바이스가 제1 영역으로부터 제2 영역으로 이동한 경우,
상기 제2 영역과 연관된 이력 데이터에 액세스하는 단계;
상기 이력 데이터에 적어도 기초하여 정적 그리드를 생성하는 단계;
상기 자율 디바이스를 상기 전역 점유 그리드의 중심 위치에 유지하기 위해 상기 전역 점유 그리드를 이동시키는 단계;
상기 정적 그리드에 기초하여 상기 이동된 전역 점유 그리드를 업데이트하는 단계;
상기 전역 점유 그리드 셀들 중 적어도 하나가 상기 자율 디바이스의 위치와 일치하면, 상기 전역 점유 그리드 셀들 중 적어도 하나를 비점유된 것으로서 마킹하는 단계;
상기 로컬 점유 그리드 셀들 각각에 대해,
상기 전역 점유 그리드 상의 상기 로컬 점유 그리드 셀의 위치를 계산하는 단계;
상기 위치에서의 상기 전역 점유 그리드 셀로부터의 제1 점유 확률에 액세스하는 단계;
상기 위치에서의 상기 로컬 점유 그리드 셀로부터의 제2 점유 확률에 액세스하는 단계; 및
상기 제1 점유 확률 및 상기 제2 점유 확률에 적어도 기초하여 상기 전역 점유 그리드 상의 상기 위치에서의 새로운 점유 확률을 계산하는 단계를 포함하는,
방법.
A method for managing a global occupancy grid for autonomous devices, comprising:
The global occupancy grid includes global occupancy grid cells, wherein the global occupancy grid cells are associated with an occupancy probability, the method comprising:
receiving sensor data from sensors associated with the autonomous device;
generating a local occupancy grid based at least on the sensor data, the locally occupied grid having locally occupied grid cells;
When the autonomous device moves from the first area to the second area,
accessing historical data associated with the second area;
generating a static grid based at least on the historical data;
moving the global occupancy grid to maintain the autonomous device in a central position of the global occupancy grid;
updating the moved global occupancy grid based on the static grid;
if at least one of the globally occupied grid cells matches the location of the autonomous device, then marking at least one of the globally occupied grid cells as unoccupied;
For each of the locally occupied grid cells,
calculating a position of the locally occupied grid cell on the global occupied grid;
accessing a first occupancy probability from the global occupancy grid cell at the location;
accessing a second occupancy probability from the locally occupied grid cell at the location; and
calculating a new occupancy probability at the location on the global occupancy grid based at least on the first occupancy probability and the second occupancy probability;
method.
제22항에 있어서,
상기 새로운 점유 확률을 범위-체크하는 단계를 더 포함하는, 방법.
23. The method of claim 22,
range-checking the new occupancy probability.
제23항에 있어서,
상기 범위-체크는,
상기 새로운 점유 확률 < 0 이면 상기 새로운 점유 확률을 0으로 설정하는 단계; 및
상기 새로운 점유 확률 > 1 이면 상기 새로운 점유 확률을 1로 설정하는 단계를 포함하는, 방법.
24. The method of claim 23,
The range-check is,
setting the new occupation probability to 0 if the new occupation probability <0; and
setting the new occupancy probability to 1 if the new occupancy probability>1.
제22항에 있어서,
상기 전역 점유 그리드 셀을 상기 새로운 점유 확률로 설정하는 단계를 더 포함하는, 방법.
23. The method of claim 22,
and setting the global occupancy grid cell to the new occupancy probability.
제23항에 있어서,
상기 전역 점유 그리드 셀을 상기 범위-체크된 새로운 점유 확률로 설정하는 단계를 더 포함하는, 방법.
24. The method of claim 23,
and setting the global occupancy grid cell to the range-checked new occupancy probability.
점유 그리드들을 생성 및 관리하기 위한 방법으로서,
로컬 점유 그리드 생성 노드에 의해, 센서 측정치들을 디바이스와 연관된 기준의 프레임으로 변환하는 단계;
타임-스탬프된 측정 점유 그리드를 생성하는 단계;
상기 타임-스탬프된 측정 점유 그리드를 로컬 점유 그리드로서 게시하는 단계;
복수의 로컬 점유 그리드들을 생성하는 단계;
저장소에서의 표면 특성들에 기초하여 정적 점유 그리드를 생성하는 단계―상기 표면 특성들은 상기 디바이스의 위치와 연관됨―;
상기 디바이스 및 상기 로컬 점유 그리드를 상기 전역 점유 그리드에 대해 대략 중심에 유지하도록 상기 디바이스의 상기 위치와 연관된 전역 점유 그리드를 이동시키는 단계;
상기 정적 점유 그리드로부터의 정보를 상기 전역 점유 그리드에 추가하는 단계;
상기 디바이스에 의해 현재 점유된 상기 전역 점유 그리드에서의 영역을 비점유된 것으로서 마킹하는 단계;
각각의 로컬 점유 그리드에서의 적어도 하나의 셀 각각에 대해,
상기 전역 점유 그리드에서의 상기 적어도 하나의 셀의 위치를 결정하는 단계;
상기 위치에서의 제1 값에 액세스하는 단계;
상기 로컬 점유 그리드에서의 상기 적어도 하나의 셀에서의 셀 값과 상기 제1 값 사이의 관계에 기초하여 상기 위치에서의 제2 값을 결정하는 단계;
상기 제2 값을 미리 선택된 확률 범위와 비교하는 단계; 및
확률 값이 상기 미리 선택된 확률 범위 내에 있다면 상기 전역 점유 그리드를 상기 새로운 값으로 설정하는 단계를 포함하는,
방법.
A method for creating and managing occupancy grids, comprising:
converting, by the local occupancy grid generating node, the sensor measurements into a frame of reference associated with the device;
generating a time-stamped measurement occupancy grid;
publishing the time-stamped measurement occupancy grid as a local occupancy grid;
creating a plurality of local occupancy grids;
generating a static occupancy grid based on surface properties in a repository, wherein the surface properties are associated with a location of the device;
moving a global occupancy grid associated with the location of the device to maintain the device and the local occupancy grid approximately centered relative to the global occupancy grid;
adding information from the static occupancy grid to the global occupancy grid;
marking an area in the global occupancy grid currently occupied by the device as unoccupied;
for each of the at least one cell in each local occupancy grid,
determining a location of the at least one cell in the global occupancy grid;
accessing a first value at the location;
determining a second value at the location based on a relationship between the first value and a cell value in the at least one cell in the local occupancy grid;
comparing the second value to a preselected range of probability; and
setting the global occupancy grid to the new value if a probability value is within the preselected probability range;
method.
제27항에 있어서,
상기 전역 점유 그리드를 게시하는 단계를 더 포함하는, 방법.
28. The method of claim 27,
and posting the global occupancy grid.
제27항에 있어서,
상기 표면 특성들은 표면 타입 및 표면 불연속성들을 포함하는, 방법.
28. The method of claim 27,
wherein the surface properties include a surface type and surface discontinuities.
제27항에 있어서,
상기 관계는 합산을 포함하는, 방법.
28. The method of claim 27,
wherein the relationship comprises a summation.
점유 그리드들을 생성 및 관리하기 위한 시스템으로서,
적어도 하나의 로컬 점유 그리드를 생성하는 복수의 로컬 그리드 생성 노드들―상기 적어도 하나의 로컬 점유 그리드는 디바이스의 위치와 연관되고, 상기 적어도 하나의 로컬 점유 그리드는 적어도 하나의 셀을 포함함―;
상기 적어도 하나의 로컬 점유 그리드에 액세스하는 전역 점유 그리드 관리자를 포함하고,
상기 전역 점유 그리드 관리자는,
저장소에서의 표면 특성들에 기초하여 정적 점유 그리드를 생성하고―상기 표면 특성들은 상기 디바이스의 상기 위치와 연관됨―;
상기 디바이스 및 적어도 하나의 로컬 점유 그리드를 상기 전역 점유 그리드에 대해 대략 중심에 유지하도록 상기 디바이스의 상기 위치와 연관된 전역 점유 그리드를 이동시키고;
상기 정적 점유 그리드로부터의 정보를 적어도 하나의 전역 점유 그리드에 추가하고;
상기 디바이스에 의해 현재 점유된 상기 전역 점유 그리드에서의 영역을 비점유된 것으로서 마킹하고;
각각의 로컬 점유 그리드에서의 상기 적어도 하나의 셀 각각에 대해,
상기 전역 점유 그리드에서의 상기 적어도 하나의 셀의 위치를 결정하고;
상기 위치에서의 제1 값에 액세스하고;
상기 로컬 점유 그리드에서의 상기 적어도 하나의 셀에서의 셀 값과 상기 제1 값 사이의 관계에 기초하여 상기 위치에서의 제2 값을 결정하고;
상기 제2 값을 미리 선택된 확률 범위와 비교하고;
확률 값이 상기 미리 선택된 확률 범위 내에 있다면 상기 전역 점유 그리드를 상기 새로운 값으로 설정하는,
시스템.
A system for creating and managing occupancy grids, comprising:
a plurality of local grid generating nodes generating at least one local occupancy grid, wherein the at least one local occupancy grid is associated with a location of a device, the at least one local occupancy grid comprising at least one cell;
a global occupancy grid manager accessing the at least one local occupancy grid;
The global occupancy grid manager,
create a static occupancy grid based on surface properties in the repository, wherein the surface properties are associated with the location of the device;
move a global occupancy grid associated with the location of the device to maintain the device and at least one local occupancy grid approximately centered relative to the global occupancy grid;
add information from the static occupancy grid to at least one global occupancy grid;
mark an area in the global occupancy grid currently occupied by the device as unoccupied;
for each of said at least one cell in each local occupancy grid,
determine a location of the at least one cell in the global occupancy grid;
access a first value at the location;
determine a second value at the location based on a relationship between the first value and a cell value in the at least one cell in the local occupancy grid;
compare the second value to a preselected range of probability;
setting the global occupancy grid to the new value if a probability value is within the preselected probability range;
system.
전역 점유 그리드를 업데이트하기 위한 방법으로서,
자율 디바이스가 새로운 위치로 이동한 경우, 상기 새로운 위치와 연관된 정적 그리드로부터의 정보로 상기 전역 점유 그리드를 업데이트하는 단계;
상기 새로운 위치에서의 표면들을 분석하는 단계;
상기 표면들이 드라이빙가능한 경우, 상기 표면들을 업데이트하고 상기 업데이트된 표면들로 상기 전역 점유 그리드를 업데이트하는 단계; 및
정적 값들의 저장소로부터의 값들로 상기 전역 점유 그리드를 업데이트하는 단계―상기 정적 값들은 상기 새로운 위치와 연관됨―를 포함하는,
방법.
A method for updating a global occupancy grid, comprising:
when an autonomous device has moved to a new location, updating the global occupancy grid with information from a static grid associated with the new location;
analyzing the surfaces at the new location;
if the surfaces are drivable, updating the surfaces and updating the global occupancy grid with the updated surfaces; and
updating the global occupancy grid with values from a repository of static values, wherein the static values are associated with the new location.
method.
제32항에 있어서,
상기 표면들을 업데이트하는 단계는,
상기 새로운 위치와 연관된 로컬 점유 그리드에 액세스하는 단계;
상기 로컬 점유 그리드에서의 각각의 셀에 대해,
로컬 점유 그리드 표면 분류 신뢰도 값 및 로컬 점유 그리드 표면 분류에 액세스하는 단계;
상기 로컬 점유 그리드 표면 분류가 상기 셀에서의 상기 전역 점유 그리드에서의 전역 표면 분류와 동일한 경우, 상기 전역 점유 그리드에서의 전역 표면 분류 신뢰도 값을 상기 로컬 점유 그리드 표면 분류 신뢰도 값에 추가하여 합계를 형성하고, 상기 합계로 상기 셀에서의 상기 전역 점유 그리드를 업데이트하는 단계;
상기 로컬 점유 그리드 표면 분류가 상기 셀에서의 상기 전역 점유 그리드에서의 상기 전역 표면 분류와 동일하지 않은 경우, 상기 전역 점유 그리드에서의 상기 전역 표면 분류 신뢰도 값으로부터 상기 로컬 점유 그리드 표면 분류 신뢰도 값을 감산하여 차이를 형성하고, 상기 차이로 상기 전역 점유 그리드를 업데이트하는 단계;
상기 차이가 0보다 작은 경우, 상기 로컬 점유 그리드 표면 분류로 상기 전역 점유 그리드를 업데이트하는 단계를 포함하는, 방법.
33. The method of claim 32,
Updating the surfaces comprises:
accessing a local occupancy grid associated with the new location;
For each cell in the local occupancy grid,
accessing the locally occupied grid surface classification confidence value and the locally occupied grid surface classification;
If the local occupancy grid surface classification is the same as the global surface classification in the global occupancy grid in the cell, a global surface classification confidence value in the global occupancy grid is added to the locally occupied grid surface classification confidence value to form a sum and updating the global occupancy grid in the cell with the sum;
If the local occupancy grid surface classification is not the same as the global surface classification in the global occupancy grid in the cell, subtract the local occupancy grid surface classification confidence value from the global surface classification confidence value in the global occupancy grid forming a difference and updating the global occupancy grid with the difference;
if the difference is less than zero, updating the global occupancy grid with the local occupancy grid surface classification.
제32항에 있어서,
정적 값들의 상기 저장소로부터의 값들로 상기 전역 점유 그리드를 업데이트하는 단계는,
로컬 점유 그리드에서의 각각의 셀에 대해,
상기 로컬 점유 그리드로부터, 상기 셀이 점유되어 있는 로컬 점유 그리드 확률 값, 로그오즈 값에 액세스하는 단계;
상기 셀에서의 상기 로컬 점유 그리드 로그오즈 값으로 상기 전역 점유 그리드에서의 상기 로그오즈 값을 업데이트하는 단계;
상기 셀이 점유되어 있지 않다는 미리 선택된 확실성이 충족되는 경우, 및 상기 자율 디바이스가 차선 장벽들 내에서 이동하고 있는 경우, 및 로컬 점유 그리드 표면 분류가 드라이빙가능 표면을 표시하는 경우, 상기 셀이 상기 로컬 점유 그리드에서 점유되어 있는 상기 로그오즈를 감소시키는 단계;
상기 자율 디바이스가 비교적 균일한 표면들을 만날 것으로 예상하는 경우, 및 상기 로컬 점유 그리드 표면 분류가 비교적 불균일한 표면을 표시하는 경우, 상기 로컬 점유 그리드에서의 상기 로그오즈를 증가시키는 단계; 및
상기 자율 디바이스가 비교적 균일한 표면들을 만날 것으로 예상하는 경우, 및 상기 로컬 점유 그리드 표면 분류가 비교적 균일한 표면을 표시하는 경우, 상기 로컬 점유 그리드에서의 상기 로그오즈를 감소시키는 단계를 포함하는, 방법.
33. The method of claim 32,
Updating the global occupancy grid with values from the repository of static values comprises:
For each cell in the local occupancy grid,
accessing, from the local occupancy grid, a local occupancy grid probability value, a log odds value, in which the cell is occupied;
updating the log odds value in the global occupancy grid with the local occupancy grid log odds value in the cell;
If the preselected certainty that the cell is not occupied is met, and if the autonomous device is moving within lane barriers, and if a locally occupied grid surface classification indicates a drivable surface, the cell is reducing the log odds occupied in an occupancy grid;
increasing the log odds in the locally occupied grid if the autonomous device expects to encounter relatively uniform surfaces, and if the locally occupied grid surface classification indicates a relatively non-uniform surface; and
reducing the log odds in the locally occupied grid if the autonomous device expects to encounter relatively uniform surfaces, and if the locally occupied grid surface classification indicates a relatively uniform surface. .
디바이스의 구성의 실시간 제어를 위한 방법으로서,
상기 디바이스는 섀시, 적어도 4개의 휠들, 상기 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 상기 섀시의 제1 측, 및 상기 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 상기 섀시의 대향하는 제2 측을 포함하고, 상기 방법은,
이전의 표면 피처들 및 점유 그리드에 적어도 기초하여 맵을 생성하는 단계―상기 맵은 비실시간으로 생성되고, 상기 맵은 적어도 하나의 위치를 포함하며, 상기 적어도 하나의 위치는 적어도 하나의 표면 피처와 연관되고, 상기 적어도 하나의 표면 피처는 적어도 하나의 표면 분류 및 적어도 하나의 모드와 연관됨―;
상기 디바이스가 이동함에 따라 현재 표면 피처들을 결정하는 단계;
상기 현재 표면 피처들로 상기 점유 그리드를 실시간으로 업데이트하는 단계;
상기 점유 그리드 및 상기 맵으로부터, 상기 디바이스가 상기 적어도 하나의 표면 피처를 횡단하기 위해 이동할 수 있는 경로를 결정하는 단계를 포함하는,
방법.
A method for real-time control of a configuration of a device, comprising:
The device includes a chassis, at least four wheels, a first side of the chassis operatively coupled with at least one of the at least four wheels, and an opposite side of the chassis operatively coupled with at least one of the at least four wheels. A second side comprising:
generating a map based at least on previous surface features and an occupancy grid, wherein the map is generated in non-real time, the map includes at least one location, the at least one location includes at least one surface feature and associated, wherein the at least one surface feature is associated with at least one surface classification and at least one mode;
determining current surface features as the device moves;
updating the occupancy grid with the current surface features in real time;
determining, from the occupancy grid and the map, a path the device can travel to traverse the at least one surface feature;
method.
디바이스의 구성의 실시간 제어를 위한 방법으로서,
상기 디바이스는 섀시, 적어도 4개의 휠들, 상기 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 상기 섀시의 제1 측, 및 상기 적어도 4개의 휠들 중 적어도 하나와 동작가능하게 결합된 상기 섀시의 대향하는 제2 측을 포함하고, 상기 방법은,
환경 데이터를 수신하는 단계;
상기 환경 데이터에 적어도 기초하여 표면 타입을 결정하는 단계;
상기 표면 타입 및 제1 구성에 적어도 기초하여 모드를 결정하는 단계;
상기 모드 및 상기 표면 타입에 적어도 기초하여 제2 구성을 결정하는 단계;
상기 제2 구성에 적어도 기초하여 이동 명령들을 결정하는 단계; 및
상기 디바이스를 상기 제1 구성으로부터 상기 제2 구성으로 변경하기 위해 상기 이동 명령들을 이용하여 상기 디바이스의 상기 구성을 제어하는 단계를 포함하는,
방법.
A method for real-time control of a configuration of a device, comprising:
The device includes a chassis, at least four wheels, a first side of the chassis operatively coupled with at least one of the at least four wheels, and an opposite side of the chassis operatively coupled with at least one of the at least four wheels. A second side comprising:
receiving environmental data;
determining a surface type based at least on the environmental data;
determining a mode based at least on the surface type and the first configuration;
determining a second configuration based at least on the mode and the surface type;
determining movement instructions based at least on the second configuration; and
controlling the configuration of the device using the move commands to change the device from the first configuration to the second configuration;
method.
제36항에 있어서,
상기 환경 데이터는 RGB-D 이미지 데이터를 포함하는, 방법.
37. The method of claim 36,
wherein the environmental data comprises RGB-D image data.
제36항에 있어서,
상기 표면 타입 및 상기 모드에 적어도 기초하여 점유 그리드를 채우는 단계; 및
상기 점유 그리드에 적어도 기초하여 상기 이동 명령들을 결정하는 단계를 더 포함하는, 방법.
37. The method of claim 36,
populating the occupancy grid based at least on the surface type and the mode; and
and determining the movement instructions based at least on the occupancy grid.
제38항에 있어서,
상기 점유 그리드는 적어도 하나의 이미지 센서로부터의 데이터에 적어도 기초한 정보를 포함하는, 방법.
39. The method of claim 38,
wherein the occupancy grid includes information based at least on data from at least one image sensor.
제36항에 있어서,
상기 환경 데이터는 노면의 토폴로지를 포함하는, 방법.
37. The method of claim 36,
wherein the environmental data includes a topology of the road surface.
제36항에 있어서,
상기 구성은 상기 적어도 4개의 휠들의 클러스터링된 2개의 쌍들을 포함하고, 상기 2개의 쌍들 중 제1 쌍은 상기 제1 측 상에 위치되고, 상기 2개의 쌍들 중 제2 쌍은 상기 제2 측 상에 위치되고, 상기 제1 쌍은 제1 전방 휠 및 제1 후방 휠을 포함하고, 상기 제2 쌍은 제2 전방 휠 및 제2 후방 휠을 포함하는, 방법.
37. The method of claim 36,
The configuration includes clustered two pairs of the at least four wheels, a first one of the two pairs positioned on the first side, a second one of the two pairs on the second side wherein the first pair comprises a first front wheel and a first rear wheel, and the second pair comprises a second front wheel and a second rear wheel.
제41항에 있어서,
상기 구성을 제어하는 단계는,
상기 환경 데이터에 적어도 기초하여 상기 제1 쌍 및 상기 제2 쌍에 조정된 전력을 공급하는 단계를 포함하는, 방법.
42. The method of claim 41,
The step of controlling the configuration comprises:
and supplying adjusted power to the first pair and the second pair based at least on the environmental data.
제41항에 있어서,
상기 구성을 제어하는 단계는,
상기 적어도 4개의 휠들 및 수축된 캐스터들의 쌍을 구동하는 것―상기 캐스터들의 쌍은 상기 섀시에 동작가능하게 결합됨―으로부터, 상기 제1 전방 휠 및 상기 제2 전방 휠을 들어올리기 위해 상기 클러스터링된 제1 쌍 및 상기 클러스터링된 제2 쌍이 회전된 2개의 휠들을 구동하는 것으로 전환하는 단계―상기 디바이스는 상기 제1 후방 휠, 상기 제2 후방 휠, 및 상기 캐스터들의 쌍 상에 놓임―를 포함하는, 방법.
42. The method of claim 41,
The step of controlling the configuration comprises:
the clustered front wheel to lift the first front wheel and the second front wheel from driving the at least four wheels and a pair of retracted casters, the pair of casters being operatively coupled to the chassis. converting the first pair and the clustered second pair to driving two wheels rotated, the device resting on the pair of the first rear wheel, the second rear wheel, and the casters; , method.
제41항에 있어서,
상기 구성을 제어하는 단계는,
상기 환경 데이터에 적어도 기초하여 상기 제1 측 상의 제1의 2개의 전동 휠들 및 상기 제2 측 상의 제2의 2개의 전동 휠들과 동작가능하게 결합된 클러스터들의 쌍을 회전시키는 단계를 포함하는, 방법.
42. The method of claim 41,
The step of controlling the configuration comprises:
rotating a pair of clusters operatively coupled with first two powered wheels on the first side and second two powered wheels on the second side based at least on the environmental data; .
제36항에 있어서,
상기 디바이스는 화물 컨테이너를 더 포함하고, 상기 화물 컨테이너는 상기 섀시 상에 장착되고, 상기 섀시는 상기 화물 컨테이너의 높이를 제어하는, 방법.
37. The method of claim 36,
The device further comprises a cargo container, wherein the cargo container is mounted on the chassis, the chassis controlling a height of the cargo container.
제45항에 있어서,
상기 화물 컨테이너의 상기 높이는 상기 환경 데이터에 적어도 기초하는, 방법.
46. The method of claim 45,
and the height of the freight container is based at least on the environmental data.
디바이스의 구성의 실시간 제어를 위한 시스템으로서,
상기 디바이스는 섀시, 적어도 4개의 휠들, 상기 섀시의 제1 측, 및 상기 섀시의 대향하는 제2 측을 포함하고, 상기 시스템은,
상기 디바이스를 둘러싸는 실시간 환경 데이터를 수신하는 디바이스 프로세서―상기 디바이스 프로세서는 상기 환경 데이터에 적어도 기초하여 표면 타입을 결정하고, 상기 디바이스 프로세서는 상기 표면 타입 및 제1 구성에 적어도 기초하여 모드를 결정하고, 상기 디바이스 프로세서는 상기 모드 및 상기 표면 타입에 적어도 기초하여 제2 구성을 결정함―; 및
상기 제2 구성에 적어도 기초하여 이동 명령들을 결정하는 파워 베이스 프로세서―상기 파워 베이스 프로세서는 상기 디바이스를 상기 제1 구성으로부터 상기 제2 구성으로 변경하기 위해 상기 이동 명령들을 이용함으로써 상기 디바이스의 상기 구성을 제어함―를 포함하는,
시스템.
A system for real-time control of the configuration of a device, comprising:
The device comprises a chassis, at least four wheels, a first side of the chassis, and an opposite second side of the chassis, the system comprising:
a device processor receiving real-time environmental data surrounding the device, wherein the device processor determines a surface type based at least on the environmental data, the device processor determines a mode based at least on the surface type and a first configuration; , the device processor determines a second configuration based at least on the mode and the surface type; and
a power base processor that determines move instructions based at least on the second configuration, wherein the power base processor configures the configuration of the device by using the move instructions to change the device from the first configuration to the second configuration. control, including
system.
제47항에 있어서,
상기 환경 데이터는 RGB-D 이미지 데이터를 포함하는, 시스템.
48. The method of claim 47,
wherein the environment data comprises RGB-D image data.
제47항에 있어서,
상기 디바이스 프로세서는 상기 표면 타입 및 상기 모드에 적어도 기초하여 점유 그리드를 채우는 것을 포함하는, 시스템.
48. The method of claim 47,
and the device processor populates the occupancy grid based at least on the surface type and the mode.
제49항에 있어서,
상기 파워 베이스 프로세서는 상기 점유 그리드에 적어도 기초하여 상기 이동 명령들을 결정하는 것을 포함하는, 시스템.
50. The method of claim 49,
and the power base processor determines the movement instructions based at least on the occupancy grid.
제49항에 있어서,
상기 점유 그리드는 적어도 하나의 이미지 센서로부터의 데이터에 적어도 기초한 정보를 포함하는, 시스템.
50. The method of claim 49,
wherein the occupancy grid includes information based at least on data from at least one image sensor.
제47항에 있어서,
상기 환경 데이터는 노면의 토폴로지를 포함하는, 시스템.
48. The method of claim 47,
wherein the environmental data includes a topology of the road surface.
제47항에 있어서,
상기 구성은 상기 적어도 4개의 휠들의 클러스터링된 2개의 쌍들을 포함하고, 상기 2개의 쌍들 중 제1 쌍은 상기 제1 측 상에 위치되고, 상기 2개의 쌍들 중 제2 쌍은 상기 제2 측 상에 위치되고, 상기 제1 쌍은 제1 전방 휠 및 제1 후방 휠을 갖고, 상기 제2 쌍은 제2 전방 휠 및 제2 후방 휠을 갖는, 시스템.
48. The method of claim 47,
The configuration includes clustered two pairs of the at least four wheels, a first one of the two pairs positioned on the first side, a second one of the two pairs on the second side wherein the first pair has a first front wheel and a first rear wheel and the second pair has a second front wheel and a second rear wheel.
제53항에 있어서,
상기 구성의 제어는,
상기 환경 데이터에 적어도 기초하여 상기 제1 쌍 및 상기 제2 쌍에 조정된 전력을 공급하는 것을 포함하는, 시스템.
54. The method of claim 53,
The control of the configuration is,
and supplying adjusted power to the first pair and the second pair based at least on the environmental data.
제53항에 있어서,
상기 구성의 제어는, 상기 적어도 4개의 휠들 및 수축된 캐스터들의 쌍을 구동하는 것―상기 캐스터들의 쌍은 상기 섀시에 동작가능하게 결합됨―으로부터, 상기 제1 전방 휠 및 상기 제2 전방 휠을 들어올리기 위해 상기 클러스터링된 제1 쌍 및 상기 클러스터링된 제2 쌍이 회전된 2개의 휠들을 구동하는 것으로 전환하는 것―상기 디바이스는 상기 제1 후방 휠, 상기 제2 후방 휠, 및 상기 캐스터들의 쌍 상에 놓임―을 포함하는, 시스템.
54. The method of claim 53,
Control of the configuration may include controlling the first front wheel and the second front wheel from driving the at least four wheels and a pair of retracted casters, the pair of casters operatively coupled to the chassis. converting the clustered first pair and the clustered second pair to driving two wheels rotated for lifting, wherein the device is disposed on the first rear wheel, the second rear wheel, and the pair of casters. A system comprising — placed on.
전역 점유 그리드를 유지하기 위한 방법으로서,
자율 디바이스의 제1 위치를 위치결정하는 단계;
상기 자율 디바이스가 상기 전역 점유 그리드 및 로컬 점유 그리드와 연관되는 제2 위치로 이동할 때,
상기 제1 위치와 연관된 적어도 하나의 점유 확률 값으로 상기 전역 점유 그리드를 업데이트하는 단계;
상기 로컬 점유 그리드와 연관된 적어도 하나의 드라이빙가능 표면으로 상기 전역 점유 그리드를 업데이트하는 단계;
상기 적어도 하나의 드라이빙가능 표면과 연관된 표면 신뢰도들로 상기 전역 점유 그리드를 업데이트하는 단계;
제1 베이지안 함수를 이용하여 상기 적어도 하나의 점유 확률 값의 로그오즈로 상기 전역 점유 그리드를 업데이트하는 단계; 및
상기 제2 위치와 연관된 특성들에 적어도 기초하여 상기 로그오즈를 조정하는 단계; 및
상기 자율 디바이스가 상기 제1 위치에서 유지되고, 상기 전역 점유 그리드 및 상기 로컬 점유 그리드가 함께 위치될 때,
상기 로컬 점유 그리드와 연관된 상기 적어도 하나의 드라이빙가능 표면으로 상기 전역 점유 그리드를 업데이트하는 단계;
상기 적어도 하나의 드라이빙가능 표면과 연관된 상기 표면 신뢰도들로 상기 전역 점유 그리드를 업데이트하는 단계;
제2 베이지안 함수를 이용하여 상기 적어도 하나의 점유 확률 값의 상기 로그오즈로 상기 전역 점유 그리드를 업데이트하는 단계; 및
상기 제2 위치와 연관된 특성들에 적어도 기초하여 상기 로그오즈를 조정하는 단계를 포함하는,
방법.
A method for maintaining a global occupancy grid comprising:
locating a first location of the autonomous device;
when the autonomous device moves to a second location associated with the global occupancy grid and the local occupancy grid;
updating the global occupancy grid with at least one occupancy probability value associated with the first location;
updating the global occupancy grid with at least one drivable surface associated with the local occupancy grid;
updating the global occupancy grid with surface confidences associated with the at least one drivable surface;
updating the global occupancy grid with the log odds of the at least one occupancy probability value using a first Bayesian function; and
adjusting the log odds based at least on characteristics associated with the second location; and
when the autonomous device is maintained in the first position and the global occupancy grid and the local occupancy grid are co-located;
updating the global occupancy grid with the at least one drivable surface associated with the local occupancy grid;
updating the global occupancy grid with the surface confidence levels associated with the at least one drivable surface;
updating the global occupancy grid with the log odds of the at least one occupancy probability value using a second Bayesian function; and
adjusting the log odds based at least on characteristics associated with the second location;
method.
제35항에 있어서,
상기 맵을 생성하는 단계는,
상기 표면을 나타내는 포인트 클라우드 데이터에 액세스하는 단계;
상기 포인트 클라우드 데이터를 필터링하는 단계;
상기 필터링된 포인트 클라우드 데이터를 처리가능 부분들로 형성하는 단계;
상기 처리가능 부분들을 적어도 하나의 오목 다각형으로 병합하는 단계;
상기 적어도 하나의 오목 다각형에서 상기 적어도 하나의 SDSF를 위치결정 및 라벨링하는 단계―상기 위치결정 및 라벨링하는 단계는 라벨링된 포인트 클라우드 데이터를 형성함―;
상기 적어도 하나의 오목 다각형에 적어도 기초하여 그래핑 다각형들을 생성하는 단계; 및
상기 그래핑 다각형들에 적어도 기초하여 시작 포인트로부터 종료 포인트까지의 상기 경로를 선택하는 단계―상기 AV는 상기 경로를 따라 상기 적어도 하나의 SDSF를 횡단함―를 포함하는, 방법.
36. The method of claim 35,
Creating the map includes:
accessing point cloud data representing the surface;
filtering the point cloud data;
forming the filtered point cloud data into processable portions;
merging the processable portions into at least one concave polygon;
locating and labeling the at least one SDSF in the at least one concave polygon, wherein the locating and labeling forms labeled point cloud data;
generating graphing polygons based at least on the at least one concave polygon; and
selecting the path from a start point to an end point based at least on the graphing polygons, wherein the AV traverses the at least one SDSF along the path.
제57항에 있어서,
상기 포인트 클라우드 데이터를 필터링하는 단계는,
상기 포인트 클라우드 데이터로부터 과도 물체들을 나타내는 포인트들 및 이상치들을 나타내는 포인트들을 조건부로 제거하는 단계; 및
미리 선택된 높이를 갖는 상기 제거된 포인트들을 대체하는 단계를 포함하는, 방법.
58. The method of claim 57,
The step of filtering the point cloud data,
conditionally removing points representing transient objects and points representing outliers from the point cloud data; and
replacing the removed points with a preselected height.
제57항에 있어서,
상기 처리가능 부분들을 형성하는 단계는,
상기 포인트 클라우드 데이터를 상기 처리가능 부분들로 세그먼트화하는 단계; 및
미리 선택된 높이의 포인트들을 상기 처리가능 부분들로부터 제거하는 단계를 포함하는, 방법.
58. The method of claim 57,
Forming the processable portions comprises:
segmenting the point cloud data into the processable portions; and
and removing points of a preselected height from the processable portions.
제57항에 있어서,
상기 처리가능 부분들을 병합하는 단계는,
이상치들, 복셀들, 및 법선들을 분석함으로써 상기 처리가능 부분들의 크기를 감소시키는 단계;
상기 감소된 크기의 처리가능 부분들로부터 영역들을 성장시키는 단계;
상기 성장된 영역들로부터 초기 드라이빙가능 표면들을 결정하는 단계;
상기 초기 드라이빙가능 표면들을 세그먼트화 및 메싱하는 단계;
상기 세그먼트화 및 메싱된 초기 드라이빙가능 표면들 내에 다각형들을 위치결정하는 단계; 및
상기 다각형들에 적어도 기초하여 적어도 하나의 드라이빙가능 표면을 설정하는 단계를 포함하는, 방법.
58. The method of claim 57,
The step of merging the processable parts comprises:
reducing the size of the processable portions by analyzing outliers, voxels, and normals;
growing regions from the reduced size processable portions;
determining initial drivable surfaces from the grown regions;
segmenting and meshing the initially drivable surfaces;
positioning polygons within the segmented and meshed initial drivable surfaces; and
and setting at least one drivable surface based at least on the polygons.
제60항에 있어서,
상기 적어도 하나의 SDSF를 위치결정 및 라벨링하는 단계는,
SDSF 필터에 따라 상기 초기 드라이빙가능 표면들의 상기 포인트 클라우드 데이터를 정렬하는 단계―상기 SDSF 필터는 포인트들의 적어도 3개의 카테고리들을 포함함―; 및
상기 포인트들의 적어도 3개의 카테고리들이, 조합하여, 적어도 하나의 제1 미리 선택된 기준을 충족하는지에 적어도 기초하여 적어도 하나의 SDSF 포인트를 위치결정하는 단계를 포함하는, 방법.
61. The method of claim 60,
Positioning and labeling the at least one SDSF comprises:
sorting the point cloud data of the initial drivable surfaces according to an SDSF filter, the SDSF filter comprising at least three categories of points; and
locating at least one SDSF point based at least on whether the at least three categories of points, in combination, satisfy at least one first preselected criterion.
제61항에 있어서,
복수의 상기 적어도 하나의 SDSF 포인트가, 조합하여, 적어도 하나의 제2 미리 선택된 기준을 충족하는지에 적어도 기초하여 적어도 하나의 SDSF 궤적을 생성하는 단계를 더 포함하는, 방법.
62. The method of claim 61,
generating at least one SDSF trajectory based at least on whether a plurality of the at least one SDSF points, in combination, satisfy at least one second preselected criterion.
제62항에 있어서,
상기 그래핑 다각형들을 생성하는 단계는,
상기 적어도 하나의 드라이빙가능 표면으로부터 적어도 하나의 다각형을 생성하는 단계―상기 적어도 하나의 다각형은 외부 에지들을 포함함―;
상기 외부 에지들을 평활화하는 단계;
상기 평활화된 외부 에지들에 기초하여 드라이빙 마진을 형성하는 단계;
상기 적어도 하나의 SDSF 궤적을 상기 적어도 하나의 드라이빙가능 표면에 추가하는 단계; 및
적어도 하나의 제3 미리 선택된 기준에 따라 상기 적어도 하나의 드라이빙가능 표면으로부터 내부 에지들을 제거하는 단계를 더 포함하는, 방법.
63. The method of claim 62,
The step of generating the graphing polygons,
generating at least one polygon from the at least one drivable surface, the at least one polygon comprising outer edges;
smoothing the outer edges;
forming a driving margin based on the smoothed outer edges;
adding the at least one SDSF trajectory to the at least one drivable surface; and
and removing inner edges from the at least one drivable surface according to at least one third preselected criterion.
제63항에 있어서,
상기 외부 에지들을 평활화하는 단계는,
상기 외부 에지들을 바깥쪽으로 트리밍하여 바깥쪽 에지들을 형성하는 단계를 포함하는, 방법.
64. The method of claim 63,
The smoothing of the outer edges comprises:
and trimming the outer edges outward to form outer edges.
제63항에 있어서,
상기 평활화된 외부 에지들의 드라이빙 마진을 형성하는 단계는,
상기 바깥쪽 에지들을 안쪽으로 트리밍하는 단계를 포함하는, 방법.
64. The method of claim 63,
The step of forming a driving margin of the smoothed outer edges comprises:
and trimming the outer edges inward.
자율 배송 차량으로서,
2개의 전동 전방 휠들, 2개의 전동 후방 휠들 및 에너지 저장소를 포함하는 파워 베이스―상기 파워 베이스는 명령된 속도로 이동하도록 구성됨―;
복수의 단거리 센서들을 포함하는 화물 플랫폼―상기 화물 플랫폼은 상기 파워 베이스에 기계적으로 부착됨―;
배송할 하나 이상의 물체를 수용하기 위한 볼륨을 갖는 화물 컨테이너―상기 화물 컨테이너는 상기 화물 플랫폼의 최상부 상에 장착됨―;
LIDAR 및 하나 이상의 카메라를 포함하는 장거리 센서 슈트―상기 장거리 센서 슈트는 상기 화물 컨테이너의 최상부 상에 장착됨―; 및
상기 장거리 센서 슈트 및 상기 복수의 단거리 센서들로부터 데이터를 수신하는 제어기를 포함하는,
자율 배송 차량.
An autonomous delivery vehicle comprising:
a power base comprising two powered front wheels, two powered rear wheels and an energy storage, wherein the power base is configured to move at a commanded speed;
a cargo platform comprising a plurality of short-range sensors, the cargo platform mechanically attached to the power base;
a cargo container having a volume for receiving one or more objects to be shipped, the cargo container mounted on top of the cargo platform;
a long-range sensor chute comprising a LIDAR and one or more cameras, the long-range sensor chute mounted on top of the cargo container; and
a controller receiving data from the long range sensor suite and the plurality of short range sensors;
Autonomous delivery vehicle.
제66항에 있어서,
상기 복수의 단거리 센서들은 드라이빙가능 표면의 적어도 하나의 특성을 검출하는, 자율 배송 차량.
67. The method of claim 66,
wherein the plurality of short-range sensors detect at least one characteristic of a drivable surface.
제66항에 있어서,
상기 복수의 단거리 센서들은 스테레오 카메라들인, 자율 배송 차량.
67. The method of claim 66,
wherein the plurality of short-range sensors are stereo cameras.
제66항에 있어서,
상기 복수의 단거리 센서들은 IR 프로젝터, 2개의 이미지 센서들 및 RGB 센서를 포함하는, 자율 배송 차량.
67. The method of claim 66,
wherein the plurality of short-range sensors comprises an IR projector, two image sensors and an RGB sensor.
제66항에 있어서,
상기 복수의 단거리 센서들은 레이더 센서들인, 자율 배송 차량.
67. The method of claim 66,
wherein the plurality of short-range sensors are radar sensors.
제66항에 있어서,
상기 단거리 센서들은 RGB-D 데이터를 상기 제어기에 공급하는, 자율 배송 차량.
67. The method of claim 66,
and the short-range sensors supply RGB-D data to the controller.
제66항에 있어서,
상기 제어기는 상기 복수의 단거리 센서들로부터 수신된 RGB-D 데이터에 기초하여 노면의 기하구조를 결정하는, 자율 배송 차량.
67. The method of claim 66,
and the controller determines the geometry of the road surface based on RGB-D data received from the plurality of short-range sensors.
제66항에 있어서,
상기 복수의 단거리 센서들은 상기 자율 배송 차량의 4미터 이내의 물체들을 검출하고, 상기 장거리 센서 슈트는 상기 자율 배송 차량으로부터 4미터보다 더 떨어져 있는 물체들을 검출하는, 자율 배송 차량.
67. The method of claim 66,
wherein the plurality of short-range sensors detect objects within 4 meters of the autonomous delivery vehicle and the long-range sensor suite detects objects that are more than 4 meters away from the autonomous delivery vehicle.
자율 배송 차량으로서,
적어도 2개의 전동 후방 휠들, 캐스터 전방 휠들 및 에너지 저장소를 포함하는 파워 베이스―상기 파워 베이스는 명령된 속도로 이동하도록 구성됨―;
복수의 단거리 센서들을 포함하는 화물 플랫폼―상기 화물 플랫폼은 상기 파워 베이스에 기계적으로 부착됨―;
배송할 하나 이상의 물체를 수용하기 위한 볼륨을 갖는 화물 컨테이너―상기 화물 컨테이너는 상기 화물 플랫폼의 최상부 상에 장착됨―;
LIDAR 및 하나 이상의 카메라를 포함하는 장거리 센서 슈트―상기 장거리 센서 슈트는 상기 화물 컨테이너의 최상부 상에 장착됨―; 및
상기 장거리 센서 슈트 및 상기 복수의 단거리 센서들로부터 데이터를 수신하는 제어기를 포함하는,
자율 배송 차량.
An autonomous delivery vehicle comprising:
a power base comprising at least two powered rear wheels, caster front wheels and an energy store, wherein the power base is configured to move at a commanded speed;
a cargo platform comprising a plurality of short-range sensors, the cargo platform mechanically attached to the power base;
a cargo container having a volume for receiving one or more objects to be shipped, the cargo container mounted on top of the cargo platform;
a long-range sensor chute comprising a LIDAR and one or more cameras, the long-range sensor chute mounted on top of the cargo container; and
a controller receiving data from the long range sensor suite and the plurality of short range sensors;
Autonomous delivery vehicle.
제74항에 있어서,
상기 복수의 단거리 센서들은 드라이빙가능 표면의 적어도 하나의 특성을 검출하는, 자율 배송 차량.
75. The method of claim 74,
wherein the plurality of short-range sensors detect at least one characteristic of a drivable surface.
제74항에 있어서,
상기 복수의 단거리 센서들은 스테레오 카메라들인, 자율 배송 차량.
75. The method of claim 74,
wherein the plurality of short-range sensors are stereo cameras.
제74항에 있어서,
상기 복수의 단거리 센서들은 IR 프로젝터, 2개의 이미지 센서들 및 RGB 센서를 포함하는, 자율 배송 차량.
75. The method of claim 74,
wherein the plurality of short-range sensors comprises an IR projector, two image sensors and an RGB sensor.
제74항에 있어서,
상기 복수의 단거리 센서들은 레이더 센서들인, 자율 배송 차량.
75. The method of claim 74,
wherein the plurality of short-range sensors are radar sensors.
제74항에 있어서,
상기 단거리 센서들은 RGB-D 데이터를 상기 제어기에 공급하는, 자율 배송 차량.
75. The method of claim 74,
and the short-range sensors supply RGB-D data to the controller.
제74항에 있어서,
상기 제어기는 상기 복수의 단거리 센서들로부터 수신된 RGB-D 데이터에 기초하여 노면의 기하구조를 결정하는, 자율 배송 차량.
75. The method of claim 74,
and the controller determines the geometry of the road surface based on RGB-D data received from the plurality of short-range sensors.
제74항에 있어서,
상기 복수의 단거리 센서들은 상기 자율 배송 차량의 4미터 이내의 물체들을 검출하고, 상기 장거리 센서 슈트는 상기 자율 배송 차량으로부터 4미터보다 더 떨어져 있는 물체들을 검출하는, 자율 배송 차량.
75. The method of claim 74,
wherein the plurality of short-range sensors detect objects within 4 meters of the autonomous delivery vehicle and the long-range sensor suite detects objects that are more than 4 meters away from the autonomous delivery vehicle.
제74항에 있어서,
상기 캐스터 휠들이 지면으로부터 들어올려지는 동안, 지면과 맞물릴 수 있는 제2 세트의 전동 휠들을 더 포함하는, 자율 배송 차량.
75. The method of claim 74,
and a second set of powered wheels capable of engaging the ground while the caster wheels are lifted from the ground.
자율 배송 차량으로서,
적어도 2개의 전동 후방 휠들, 캐스터 전방 휠들 및 에너지 저장소를 포함하는 파워 베이스―상기 파워 베이스는 명령된 속도로 이동하도록 구성됨―;
상기 파워 베이스에 기계적으로 부착된 화물 플랫폼; 및
상기 화물 플랫폼에 장착되어 드라이빙가능 표면의 적어도 하나의 특성을 검출하는 단거리 카메라 조립체를 포함하고, 상기 단거리 카메라 조립체는,
카메라;
제1 라이트; 및
제1 액체 냉각 히트 싱크를 포함하고,
상기 제1 액체 냉각 히트 싱크는 상기 제1 라이트 및 상기 카메라를 냉각시키는,
자율 배송 차량.
An autonomous delivery vehicle comprising:
a power base comprising at least two powered rear wheels, caster front wheels and an energy store, wherein the power base is configured to move at a commanded speed;
a cargo platform mechanically attached to the power base; and
a short-range camera assembly mounted to the cargo platform to detect at least one characteristic of a drivable surface, the short-range camera assembly comprising:
camera;
a first light; and
a first liquid cooling heat sink;
wherein the first liquid cooling heat sink cools the first light and the camera;
Autonomous delivery vehicle.
제83항에 있어서,
상기 단거리 카메라 조립체는 상기 카메라와 상기 액체 냉각 히트 싱크 사이에 열 전기 냉각기를 더 포함하는, 자율 배송 차량.
84. The method of claim 83,
wherein the short-range camera assembly further comprises a thermoelectric cooler between the camera and the liquid cooled heat sink.
제83항에 있어서,
상기 제1 라이트 및 상기 카메라는 상기 제1 라이트로부터의 조명을 상기 카메라로부터 멀리 편향시키는 개구들을 갖는 커버에 리세스되는, 자율 배송 차량.
84. The method of claim 83,
wherein the first light and the camera are recessed in a cover having openings that deflect illumination from the first light away from the camera.
제83항에 있어서,
상기 라이트들은 적어도 15°만큼 하방으로 각을 이루고, 보행자를 산만하게 하는 조명을 최소화하기 위해 커버에서 적어도 4mm 리세스되는, 자율 배송 차량.
84. The method of claim 83,
wherein the lights are angled downwards by at least 15° and are recessed at least 4 mm in the cover to minimize lighting distracting pedestrians.
제83항에 있어서,
상기 카메라는 시야를 갖고, 상기 제1 라이트는 상기 카메라의 상기 시야를 조명하도록 확산되는 2개의 광 빔들을 생성하기 위한 렌즈들을 갖는 2개의 LED들을 포함하는, 자율 배송 차량.
84. The method of claim 83,
wherein the camera has a field of view and the first light comprises two LEDs with lenses for generating two beams of light that are diffused to illuminate the field of view of the camera.
제87항에 있어서,
상기 라이트들은 대략 50° 이격하여 각을 이루고, 상기 렌즈들은 60° 빔을 생성하는, 자율 배송 차량.
88. The method of claim 87,
wherein the lights are angled approximately 50° apart and the lenses produce a 60° beam.
제83항에 있어서,
상기 단거리 카메라 조립체는 상기 카메라 위에 장착된 초음파 센서를 포함하는, 자율 배송 차량.
84. The method of claim 83,
and the short-range camera assembly includes an ultrasonic sensor mounted above the camera.
제83항에 있어서,
상기 단거리 카메라 조립체는 상기 화물 플랫폼의 전면 상의 중심 위치에 장착되는, 자율 배송 차량.
84. The method of claim 83,
and the short-range camera assembly is mounted in a central location on the front of the cargo platform.
제83항에 있어서,
상기 화물 플랫폼의 전면의 적어도 하나의 코너 상에 장착된 적어도 하나의 코너 카메라 조립체를 더 포함하고, 상기 적어도 하나의 코너 카메라 조립체는,
초음파 센서;
코너 카메라;
제2 라이트; 및
제2 액체 냉각 히트 싱크를 포함하고,
상기 제2 액체 냉각 히트 싱크는 상기 제2 라이트 및 상기 코너 카메라를 냉각시키는, 자율 배송 차량.
84. The method of claim 83,
at least one corner camera assembly mounted on at least one corner of the front side of the cargo platform, the at least one corner camera assembly comprising:
ultrasonic sensor;
corner camera;
a second light; and
a second liquid cooling heat sink;
and the second liquid cooling heat sink cools the second light and the corner camera.
제22항에 있어서,
상기 이력 데이터는 표면 데이터를 포함하는, 방법.
23. The method of claim 22,
wherein the historical data comprises surface data.
제22항에 있어서,
상기 이력 데이터는 불연속성 데이터를 포함하는, 방법.
23. The method of claim 22,
wherein the historical data comprises discontinuous data.
KR1020227004537A 2019-07-10 2020-07-10 Systems and methods for real-time control of autonomous devices KR20220034843A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962872396P 2019-07-10 2019-07-10
US201962872320P 2019-07-10 2019-07-10
US62/872,396 2019-07-10
US62/872,320 2019-07-10
US202062990485P 2020-03-17 2020-03-17
US62/990,485 2020-03-17
PCT/US2020/041711 WO2021007561A1 (en) 2019-07-10 2020-07-10 System and method for real time control of an autonomous device

Publications (1)

Publication Number Publication Date
KR20220034843A true KR20220034843A (en) 2022-03-18

Family

ID=71944349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227004537A KR20220034843A (en) 2019-07-10 2020-07-10 Systems and methods for real-time control of autonomous devices

Country Status (11)

Country Link
EP (1) EP3997484A1 (en)
JP (2) JP2022540640A (en)
KR (1) KR20220034843A (en)
CN (1) CN114270140A (en)
AU (1) AU2020310932A1 (en)
BR (1) BR112022000356A2 (en)
CA (1) CA3146648A1 (en)
GB (1) GB2600638A (en)
IL (1) IL289689A (en)
MX (1) MX2022000458A (en)
WO (1) WO2021007561A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023001762A1 (en) 2022-05-24 2023-11-30 Sew-Eurodrive Gmbh & Co Kg Mobile system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1161216B1 (en) 1999-03-15 2005-08-03 Deka Products Limited Partnership Control system and method for wheelchair

Also Published As

Publication number Publication date
JP2022540640A (en) 2022-09-16
MX2022000458A (en) 2022-04-25
EP3997484A1 (en) 2022-05-18
GB2600638A8 (en) 2022-11-23
AU2020310932A1 (en) 2022-01-27
BR112022000356A2 (en) 2022-05-10
CN114270140A (en) 2022-04-01
IL289689A (en) 2022-03-01
GB2600638A (en) 2022-05-04
WO2021007561A1 (en) 2021-01-14
CA3146648A1 (en) 2021-01-14
JP2023112104A (en) 2023-08-10
GB202201700D0 (en) 2022-03-30

Similar Documents

Publication Publication Date Title
US11927457B2 (en) System and method for real time control of an autonomous device
US11162788B2 (en) Classification of surfaces as hard/soft for combining data captured by autonomous vehicles for generating high definition maps
US11288521B2 (en) Automated road edge boundary detection
CN111542860A (en) Sign and lane creation for high definition maps for autonomous vehicles
EP3931657B1 (en) System and method for surface feature detection and traversal
CN112819943B (en) Active vision SLAM system based on panoramic camera
CN112800524A (en) Pavement disease three-dimensional reconstruction method based on deep learning
JP2023112104A (en) System and method for real time control of autonomous device
CN116338729A (en) Three-dimensional laser radar navigation method based on multilayer map
Zhao Recognizing features in mobile laser scanning point clouds towards 3D high-definition road maps for autonomous vehicles
Yang et al. An optimization-based selection approach of landing sites for swarm unmanned aerial vehicles in unknown environments
Li et al. Intelligent vehicle localization and navigation based on intersection fingerprint roadmap (IRM) in underground parking lots
IBRAHIM Detection of Road Furniture from Mobile Terrestrial Laser Scanning Point Clouds