KR102639022B1 - 운전 가능 영역 검출을 사용한 운행 - Google Patents

운전 가능 영역 검출을 사용한 운행 Download PDF

Info

Publication number
KR102639022B1
KR102639022B1 KR1020210174757A KR20210174757A KR102639022B1 KR 102639022 B1 KR102639022 B1 KR 102639022B1 KR 1020210174757 A KR1020210174757 A KR 1020210174757A KR 20210174757 A KR20210174757 A KR 20210174757A KR 102639022 B1 KR102639022 B1 KR 102639022B1
Authority
KR
South Korea
Prior art keywords
vehicle
point cloud
drivable area
processor
real
Prior art date
Application number
KR1020210174757A
Other languages
English (en)
Other versions
KR20230033551A (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 KR20230033551A publication Critical patent/KR20230033551A/ko
Application granted granted Critical
Publication of KR102639022B1 publication Critical patent/KR102639022B1/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • 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
    • 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/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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
    • B60W30/10Path keeping
    • 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
    • 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/10Estimation 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 vehicle motion
    • 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/0013Planning or execution of driving tasks specially adapted for occupant comfort
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/586Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of parking space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • 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/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • B60W2050/0031Mathematical model of the vehicle
    • B60W2050/0033Single-track, 2D vehicle model, i.e. two-wheel bicycle model
    • 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, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/28Wheel speed
    • 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
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/18Distance travelled
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type
    • B60W2554/4026Cycles
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type
    • B60W2554/4029Pedestrians
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/801Lateral distance
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/802Longitudinal distance
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/803Relative lateral speed
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/804Relative longitudinal speed
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors
    • B60Y2400/303Speed sensors
    • B60Y2400/3032Wheel speed sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Traffic Control Systems (AREA)

Abstract

운전 가능 영역 검출을 사용한 운행을 위한 실시예들이 포함된다. 일 실시예에서, 방법은: 깊이 센서로부터 포인트 클라우드를 수신하는 단계; 카메라로부터 이미지 데이터를 수신하는 단계; 이미지 데이터에 머신 러닝을 적용하는 것에 의해 운전 가능 영역을 나타내는 적어도 하나의 라벨을 예측하는 단계; 적어도 하나의 라벨을 사용하여 포인트 클라우드를 라벨링하는 단계; 주행 거리 측정 정보를 획득하는 단계; 라벨링된 포인트 클라우드 및 주행 거리 측정 정보를 기준 좌표계에 정합시키는 것에 의해 운전 가능 영역을 생성하는 단계; 및 차량을 운전 가능 영역 내에서 운전하도록 제어하는 단계를 포함한다.

Description

운전 가능 영역 검출을 사용한 운행{NAVIGATION WITH DRIVABLE AREA DETECTION}
이하의 설명은 자율 주행 차량(autonomous vehicle) 시스템들에 관한 것이다.
자율 주행 차량들은 차량의 작동 환경에 관한 데이터를 수집하는 데 사용되는 다수의 센서들(예를 들면, 카메라들, RADAR, LiDAR)을 포함한다. 이 데이터는 작동 환경에 있는 에이전트들의 상태들을 예측하기 위해 그리고, 맵 제약(예를 들면, 운전 가능 영역), 안전 제약(예를 들면, 다른 대상체들과의 충돌을 피하는 것) 및 승객 편의 제약(예를 들면, 급회전, 급제동 및 급가속/급감속을 최소화하는 것)과 같은, 다양한 규칙들 및 제약들을 고려하는 작동 환경에 있는 차량을 위한 궤적을 계획 및 실행하기 위해 차량에 의해 사용된다.
차량 궤적의 계획 및 실행은 기준 좌표계에서 차량의 지리적 위치를 추정하는 것을 포함한다. 맵 상에서의 차량의 정확한 위치를 결정하는 것은 "로컬화(localization)"라고 불린다. 차량이 로컬화될 때, 맵 상의 다른 대상체들 또는 구조물들 및 환경에서 작동하는 에이전트들에 대한 그의 위치 관계가 결정될 수 있다. 모션 플래너와 같은, 자율 주행 차량 기술 스택의 다양한 서브시스템들은 로컬화 정보에 기초하여 결정을 내릴 것이다.
기존의 접근법들은 차량의 현재 위치와 속도가 기술 스택에 공급되는, 맵 기반 로컬화와 같은, 단일 위치결정 시스템을 사용한다. 이러한 접근들은 안전에 중요한 서브시스템들에 대한 잠재적인 단일 고장점을 생성한다.
운전 가능 영역 검출을 사용한 운행을 위한 기술들이 제공된다.
일 실시예에서, 방법은: 적어도 하나의 프로세서로, 깊이 센서로부터 포인트 클라우드를 수신하는 단계; 적어도 하나의 프로세서로, 카메라로부터 이미지 데이터를 수신하는 단계; 적어도 하나의 프로세서로, 이미지 데이터에 머신 러닝을 적용하는 것에 의해 운전 가능 영역을 나타내는 적어도 하나의 라벨을 예측하는 단계; 적어도 하나의 프로세서로, 적어도 하나의 라벨을 사용하여 포인트 클라우드를 라벨링하는 단계; 적어도 하나의 프로세서로, 주행 거리 측정(odometry) 정보를 획득하는 단계; 적어도 하나의 프로세서로, 라벨링된 포인트 클라우드 및 주행 거리 측정 정보를 기준 좌표계에 정합시키는 것에 의해 운전 가능 영역을 생성하는 단계; 및 적어도 하나의 프로세서로, 차량을 운전 가능 영역 내에서 운전하도록 제어하는 단계를 포함한다.
일 실시예에서, 머신 러닝은 픽셀 기반 이미지 분할을 포함한다.
일 실시예에서, 포인트 클라우드를 라벨링하는 단계는 핀홀 투영을 사용하여 포인트 클라우드 내의 포인트들을 이미지 데이터 상으로 투영하는 단계를 포함한다.
일 실시예에서, 주행 거리 측정 정보는 적어도 하나의 관성 센서에 의해 제공되는 모션 데이터 및 휠 속력 센서에 의해 제공되는 휠 속력으로부터 획득된다.
일 실시예에서, 차량을 운전 가능 영역 내에서 운전하도록 제어하는 단계는: 제1 차량 제어 모델로, 제1 공간적 제약 및 속도 제약에 기초하여 차량에 대한 제1 궤적을 생성하는 단계; 제2 차량 제어 모델로, 제2 공간적 제약에 기초하여 차량에 대한 제2 궤적을 생성하는 단계 - 제2 공간적 제약은 운전 가능 영역임 -; 및 차량 제어기에 의해, 운전 가능 영역 내에서 차량에 대한 제1 궤적 또는 제2 궤적 중 하나를 선택하는 단계를 포함한다.
일 실시예에서, 제1 공간적 제약 및 속도 제약은 계획된 루트, 맵 데이터 및 인지 데이터에 기초하여 생성되는 기동 정의에 기초하여 생성된다.
일 실시예에서, 인지 데이터는 적어도 하나의 대상체 검출을 포함한다.
일 실시예에서, 제1 제어 모델 또는 제2 제어 모델 중 적어도 하나는 모델 예측 제어(model predictive control, MPC) 모델이다.
일 실시예에서, 제2 궤적은 추적 제약 및 편의 제약의 비용 함수를 최소화하는 것에 의해 생성된다.
일 실시예에서, 제2 차량 제어 모델은 운동학적 자전거 모델(kinematic bicycle model)이다.
일 실시예에서, 적어도 하나의 라벨 중 제1 라벨은 예측된 운전 가능 영역이고, 적어도 하나의 라벨 중 제2 라벨은 적어도 하나의 대상체이다.
일 실시예에서, 적어도 하나의 대상체는 다른 차량 또는 보행자이다.
개시된 실시예들 중 하나 이상은 다음과 같은 장점들 중 하나 이상을 제공한다. 자율 주행 차량에 대한 궤적 제안은 검출된 운전 가능 영역으로부터의 여유 공간 정보를 사용하여 실시간으로 생성된다. 검출된 운전 가능 영역은, 예를 들어, 하나 이상의 카메라 및/또는 LiDAR에 의해 제공되는 센서 정보를 사용하여 생성된다. 궤적 제안은 맵과 무관하며, 따라서, 로컬화, 인지 또는 계획 서브시스템들의 고장들과 같은, 기술 스택의 서브시스템에서 고장이 발생할 때 차량에 대한 대안 제어 경로로서 사용될 수 있다.
개시된 실시예들은, 안전을 개선시키기 위해 대안 DBW(drive by wire) 제어 경로를 제공하고, 머신 러닝 분류를 활용하며, 기존의 로컬화, 인지, 계획 및 제어 파이프라인들에 대한 대안의 접근법을 제공하고 기존의 서브시스템들에 최소한의 추가적인 계산 요구사항들을 추가하는, 중복적인 시스템을 제공한다.
개시된 실시예들로부터 이득을 볼 수 있는 응용 분야들의 일부 예들은: 주차장 또는 승하차(pick up/drop off) 구역에서의 저속 운행 및, 좁은 공간, 공사 구역, 비포장 도로 등과 같은, 도전적인 환경들을 운행하는 것을 포함하지만, 이에 제한되지 않는다.
이들 및 다른 양태들, 특징들, 및 구현들은 기능을 수행하기 위한 방법들, 장치들, 시스템들, 컴포넌트들, 프로그램 제품들, 수단들 또는 단계들로서, 그리고 다른 방식들로 표현될 수 있다. 이들 및 다른 양태들, 특징들, 및 구현들은, 청구항들을 포함하여, 이하의 설명으로부터 명백해질 것이다.
도 1은 하나 이상의 실시예에 따른, 자율 주행 능력(autonomous capability)을 갖는 자율 주행 차량(AV)의 예를 도시한다.
도 2는 하나 이상의 실시예에 따른, 예시적인 "클라우드" 컴퓨팅 환경을 예시한다.
도 3은 하나 이상의 실시예에 따른, 컴퓨터 시스템을 예시한다.
도 4는 하나 이상의 실시예에 따른, AV에 대한 예시적인 아키텍처를 예시한다.
도 5는 하나 이상의 실시예에 따른, 운전 가능 영역을 보여주는 실시간으로 축적된 예시적인 포인트 클라우드 데이터를 예시한다.
도 6은 하나 이상의 실시예에 따른, 라벨링된 운전 가능 영역 및 라벨링된 차량들을 보여주는 카메라 이미지에 투영된 포인트 클라우드 데이터를 예시한다.
도 7은 하나 이상의 실시예에 따른, 궤적 제안들을 생성하기 위해 운전 가능 영역 검출을 사용하는 운행 시스템의 블록 다이어그램이다.
도 8은 하나 이상의 실시예에 따른, 운전 가능 영역 검출을 사용한 대안 제어 경로를 포함하는 자율 주행 차량 시스템/스택의 블록 다이어그램이다.
도 9는 하나 이상의 실시예에 따른, 이미지 시맨틱스 네트워크(ISN)의 블록 다이어그램이다.
도 10은 하나 이상의 실시예에 따른, 시뮬레이션 실행에서의 단일 실행 궤적을 예시한다.
도 11은 하나 이상의 실시예에 따른, 주행 가능 영역 검출을 사용한 운행의 흐름 다이어그램이다.
이하의 설명에서는, 설명 목적으로, 본 발명에 대한 완전한 이해를 제공하기 위해 다수의 특정 세부 사항들이 제시된다. 그렇지만, 본 발명이 이러한 특정 세부 사항들이 없더라도 실시될 수 있음이 명백할 것이다. 다른 경우에, 잘 알려진 구조들 및 디바이스들은 본 발명을 불필요하게 모호하게 하는 것을 피하기 위하여 블록 다이어그램 형태로 도시되어 있다.
도면들에, 설명의 용이성을 위해, 디바이스들, 서브시스템들, 명령어 블록들 및 데이터 요소들을 나타내는 것들과 같은, 개략적인 요소들의 특정 배열들 또는 순서들이 도시되어 있다. 그렇지만, 본 기술 분야의 통상의 기술자라면, 도면들에서의 개략적인 요소들의 특정 순서 또는 배열이 프로세싱의 특정 순서 또는 시퀀스, 또는 프로세스들의 분리가 요구됨을 암시하는 것으로 의미되지 않는다는 점을 이해할 것이다. 게다가, 도면에 개략적인 요소를 포함시키는 것은, 그러한 요소가 모든 실시예들에서 요구됨을 암시하는 것으로 의미되지 않거나, 또는 그러한 요소에 의해 표현되는 특징들이 일부 실시예들에서 포함되지 않을 수 있거나 다른 요소들과 조합되지 않을 수 있음을 암시하는 것으로 의미되지 않는다.
게다가, 도면들에서, 2 개 이상의 다른 개략적인 요소 사이의 연결, 관계 또는 연관을 예시하기 위해 실선 또는 파선 또는 화살표와 같은 연결 요소들이 사용되는 경우에, 임의의 그러한 연결 요소들의 부재는 연결, 관계 또는 연관이 존재하지 않을 수 있음을 암시하는 것으로 의미되지 않는다. 환언하면, 요소들 사이의 일부 연결들, 관계들 또는 연관들은 본 개시를 모호하게 하지 않기 위해 도면들에 도시되어 있지 않다. 추가적으로, 예시의 용이성을 위해, 요소들 사이의 다수의 연결들, 관계들 또는 연관들을 나타내기 위해 단일의 연결 요소가 사용된다. 예를 들어, 연결 요소가 신호들, 데이터 또는 명령어들의 통신을 나타내는 경우에, 본 기술 분야의 통상의 기술자라면 그러한 요소가, 통신을 수행하기 위해 필요로 할 수 있는, 하나 또는 다수의 신호 경로(예를 들면, 버스)를 나타낸다는 것을 이해할 것이다.
그 예가 첨부 도면들에 예시되어 있는 실시예들이 이제 상세하게 언급될 것이다. 이하의 상세한 설명에서, 다양한 기술된 실시예들에 대한 완전한 이해를 제공하기 위해 수많은 특정 세부 사항들이 기재된다. 그렇지만, 다양한 기술된 실시예들이 이러한 특정 세부 사항들이 없더라도 실시될 수 있다는 것이 본 기술 분야의 통상의 기술자에게 명백할 것이다. 다른 경우에, 실시예들의 양태들을 불필요하게 모호하게 하지 않기 위해 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은 상세히 기술되지 않았다.
각각이 서로 독립적으로 또는 다른 특징들의 임의의 조합과 함께 사용될 수 있는 여러 특징들이 이하에서 기술된다. 그렇지만, 임의의 개별 특징은 위에서 논의된 문제들 중 어떤 것도 해결할 수 없거나 또는 위에서 논의된 문제들 중 하나만을 해결할 수 있다. 위에서 논의된 문제들 중 일부가 본원에 기술된 특징들 중 임의의 것에 의해 완전히 해결되지는 않을 수 있다. 비록 여러 표제들이 제공되어 있더라도, 특정 표제에 관련되지만 해당 표제를 갖는 섹션에서 발견되지는 않는 정보가 본 설명의 다른 곳에서 발견될 수도 있다. 실시예들은 이하의 개요에 따라 본원에 기술된다:
1. 일반적 개관
2. 시스템 개관
3. 자율 주행 차량 아키텍처
4. 운전 가능 영역 검출을 사용한 운행
일반적 개관
운전 가능 영역 검출을 사용한 운행을 위한 기술들이 제공된다.
일 실시예에서, 적어도 하나의 카메라 센서 및 3차원(3D) 센서로부터의 라벨링된 포인트 클라우드 데이터(예를 들면, LiDAR 포인트 클라우드)는 머신 러닝 모델을 사용하는 카메라 이미지에 대한 픽셀 기반 분할을 사용하여 생성된다. 일 실시예에서, 머신 러닝 모델은, 카메라 이미지를 입력으로서 취하고 운전 가능 영역을 나타내는 적어도 하나의 픽셀별 라벨을 갖는 픽셀 단위의 운전 가능 영역 마스크를 출력하는, 이미지 분할 네트워크(image segmentation network, ISN)이다. 일 실시예에서, 적어도 하나의 픽셀별 라벨은 포인트 클라우드에서 캡처되는 적어도 하나의 대상체(예를 들면, 다른 차량)에 대해 ISN에 의해 출력된다. 각각의 LiDAR 포인트는 카메라 이미지 상으로 (예를 들면, 핀홀 투영을 사용하여) 투영되고 적어도 하나의 라벨이 이미지 상의 대응하는 포인트에 적용된다. 예를 들어, 운전 가능 영역의 일부인 카메라 이미지 내의 픽셀들은 운전 가능 영역으로서 라벨링되고, 운전 가능 영역 외부의 픽셀들은 운전 불가능 영역으로서 라벨링된다. 일 실시예에서, ISN은 딥 콘볼루션 신경 네트워크를 사용하여 구현된다.
단일 포인트 클라우드는 안정적인 도로 상 운행을 위한 데이터 쿼리를 가능하게 하기에 충분하지 않은 희소 데이터만을 포함할 수 있기 때문에, 일 실시예에서, 차량의 모션 상태를 사용하여 포인트 클라우드 정합을 수행하는 것에 의해 운전 가능 영역들에 대한 조밀한 정보를 생성하기 위해 주행 거리 측정 정보가 사용된다. 예를 들어, 관성 측정 유닛(inertial measurement unit, IMU)으로부터의 가속도 및 각도 변화율(angular rate) 데이터와 휠 속력 센서로부터의 휠 속력은 스택의 다양한 서브시스템들(예를 들면, 인지 시스템, 계획 서브시스템, 제어 서브시스템)에 의해 실시간으로 쿼리되는 운전 가능 영역을 결정하기 위해 포인트 클라우드 정합에 사용될 수 있는 위치 정보를 생성하기 위해 주행 거리 측정 서브시스템에 의해 사용될 수 있다.
시스템 개관
도 1은 자율 주행 능력을 갖는 자율 주행 차량(100)의 예를 도시한다.
본원에서 사용되는 바와 같이, "자율 주행 능력"이라는 용어는, 완전 자율 주행 차량, 고도 자율 주행 차량, 및 조건부 자율 주행 차량을 제한 없이 포함하는, 실시간 인간 개입 없이 차량이 부분적으로 또는 완전하게 작동할 수 있게 하는 기능, 특징, 또는 설비를 지칭한다.
본원에서 사용되는 바와 같이, 자율 주행 차량(AV)은 자율 주행 능력을 갖는 차량이다.
본원에서 사용되는 바와 같이, "차량"은 상품 또는 사람의 운송 수단을 포함한다. 예를 들어, 자동차, 버스, 기차, 비행기, 드론, 트럭, 보트, 선박, 잠수함, 비행선, 모터사이클, 자전거 등. 무인 자동차는 차량의 일 예이다.
본원에서 사용되는 바와 같이, "궤적"은 제1 시공간적 위치로부터 제2 시공간적 위치로 AV를 작동시키는 경로 또는 루트를 지칭한다. 일 실시예에서, 제1 시공간적 위치는 초기 또는 시작 위치라고 지칭되고 제2 시공간적 위치는 목적지, 최종 위치, 목표, 목표 위치, 또는 목표 장소라고 지칭된다. 일부 예들에서, 궤적은 하나 이상의 세그먼트(예를 들면, 도로 섹션)로 구성되고, 각각의 세그먼트는 하나 이상의 블록(예를 들면, 차선 또는 교차로의 부분)으로 구성된다. 일 실시예에서, 시공간적 위치들은 현실 세계 위치들에 대응한다. 예를 들어, 시공간적 위치들은 사람을 태우거나 내려주고 또는 상품을 싣거나 내리는 픽업(pick up) 위치 또는 하차(drop-off) 위치이다.
본원에서 사용되는 바와 같이, "실현"은 궤적이, 본원에 기술된, 샘플 기반 기동 실현기(sample-based maneuver realizer)에 의해 생성되는 것을 지칭한다.
"기동"은 AV의 위치, 속력 또는 조향각(헤딩)의 변화이다. 모든 기동들은 궤적들이지만 모든 궤적들이 기동들인 것은 아니다. 예를 들면, AV가 일정한 속력으로 직선 경로를 주행하고 있는 AV 궤적은 기동이 아니다.
본원에서 사용되는 바와 같이, "센서(들)"는 센서를 둘러싸는 환경에 관한 정보를 검출하는 하나 이상의 하드웨어 컴포넌트를 포함한다. 하드웨어 컴포넌트들 중 일부는 감지 컴포넌트들(예를 들면, 이미지 센서들, 생체 측정 센서들), 송신 및/또는 수신 컴포넌트들(예를 들면, 레이저 또는 무선 주파수 파 송신기들 및 수신기들), 아날로그 대 디지털 변환기들과 같은 전자 컴포넌트들, 데이터 저장 디바이스(예컨대, RAM 및/또는 비휘발성 스토리지), 소프트웨어 또는 펌웨어 컴포넌트들, 및 ASIC(application-specific integrated circuit), 마이크로프로세서 및/또는 마이크로컨트롤러와 같은 데이터 프로세싱 컴포넌트들을 포함할 수 있다.
본원에서 사용되는 바와 같이, "도로"는 차량에 의해 횡단될 수 있는 물리적 영역이고, 명명된 주요 도로(예를 들면, 도시 거리, 주간 프리웨이(interstate freeway) 등)에 대응할 수 있거나, 또는 명명되지 않은 주요 도로(예를 들면, 주택 또는 사무실 건물에서의 사유 도로(driveway), 주차장의 섹션, 공터의 섹션, 시골 지역에의 비포장 경로 등)에 대응할 수 있다. 일부 차량들(예를 들면, 4륜 구동 픽업 트럭들, 스포츠 유틸리티 차량들 등)은 차량 주행에 특히 적합하지 않은 다양한 물리적 영역들을 횡단할 수 있기 때문에, "도로"는 임의의 지자체 또는 다른 정부 또는 행정처에 의해 주요 도로로서 공식적으로 규정되지 않은 물리적 영역일 수 있다.
본원에서 사용되는 바와 같이, "차선"은 차량에 의해 횡단될 수 있는 도로의 한 부분이고, 차선 마킹들 사이의 공간의 대부분 또는 전부에 대응할 수 있거나, 또는 차선 마킹들 사이의 공간의 단지 일부(예를 들면, 50% 미만)에 대응할 수 있다. 예를 들어, 멀리 이격된 차선 마킹들을 갖는 도로는 차선 마킹들 사이에 둘 이상의 차량을 수용할 수 있어서, 하나의 차량이 차선 마킹들을 횡단하지 않으면서 다른 차량을 추월할 수 있고, 따라서 차선 마킹들 사이의 공간보다 더 좁은 차선을 갖거나 차선 마킹들 사이에 2 개의 차선을 갖는 것으로 해석될 수 있다. 차선은 차선 마킹들의 부재 시에도 해석될 수 있다. 예를 들어, 차선은 환경의 물리적 특징들, 예를 들면, 시골 지역에서의 주요 도로를 따라 있는 바위들 및 나무들에 기초하여 규정될 수 있다.
본원에서 사용되는 바와 같이, "규칙서(rulebook)"는 규칙들의 상대적 중요도에 기초하여 배열되는 규칙 세트에 관한 우선순위 구조를 구현하는 데이터 구조이며, 여기서 우선순위 구조에서의 임의의 특정 규칙에 대해, 우선순위 구조에서의 특정 규칙보다 더 낮은 우선순위를 갖는 구조에서의 규칙(들)은 특정 규칙보다 더 낮은 중요도를 갖는다. 가능한 우선순위 구조들은 계층적 구조(예를 들면, 규칙들에 대한 전체 순서(total order) 또는 부분 순서(partial-order)), 비계층적 구조(예를 들면, 규칙들에 대한 가중 시스템), 또는 규칙 서브세트들은 계층적이지만 각각의 서브세트 내의 규칙들은 비계층적인 하이브리드 우선순위 구조를 포함하지만, 이에 제한되지 않는다. 규칙들은 교통 법규들, 안전 규칙들, 윤리 규칙들, 지역 문화 규칙들, 승객 편의 규칙들 및 임의의 소스(예를 들면, 사람, 텍스트, 규정, 웹사이트)에 의해 제공되는 차량의 궤적을 평가하는 데 사용될 수 있는 임의의 다른 규칙들을 포함할 수 있다.
본원에서 사용되는 바와 같이, "에고 차량(ego vehicle)" 또는 "에고(ego)"는, 예를 들어, 가상 환경에서 가상 AV의 루트를 계획하기 위해 플래너에 의해 활용되는 가상 환경을 감지하기 위한 가상 센서들을 갖는 가상 차량 또는 AV를 지칭한다.
"하나 이상"은 하나의 요소에 의해 수행되는 기능, 둘 이상의 요소에 의해, 예를 들어, 분산 방식으로, 수행되는 기능, 하나의 요소에 의해 수행되는 여러 기능들, 여러 요소들에 의해 수행되는 여러 기능들, 또는 이들의 임의의 조합을 포함한다.
제1, 제2 등의 용어들이, 일부 경우에, 다양한 요소들을 기술하기 위해 본원에서 사용되고 있지만, 이러한 요소들이 이러한 용어들에 의해 제한되지 않아야 한다는 것이 또한 이해될 것이다. 이러한 용어들은 하나의 요소를 다른 요소와 구별하는 데만 사용된다. 예를 들어, 다양한 기술된 실시예들의 범위를 벗어나지 않으면서, 제1 접촉은 제2 접촉이라고 지칭될 수 있고, 유사하게 제2 접촉은 제1 접촉이라고 지칭될 수 있다. 제1 접촉과 제2 접촉은 둘 모두 접촉이지만, 동일한 접촉은 아니다.
본원에 기술된 다양한 실시예들에 대한 설명에서 사용되는 전문용어는 단지 특정한 실시예들을 기술하기 위한 것이며, 제한하는 것으로 의도되지 않는다. 다양한 기술된 실시예들에 대한 설명 및 첨부된 청구항들에서 사용되는 바와 같이, 단수 형태들(“a,” “an” 및 “the”)은, 문맥이 달리 명확히 나타내지 않는 한, 복수 형태들도 포함하는 것으로 의도된다. "및/또는"이라는 용어가, 본원에서 사용되는 바와 같이, 연관된 열거된 항목들 중 하나 이상의 항목의 임의의 및 모든 가능한 조합들을 지칭하고 포괄한다는 것이 또한 이해될 것이다. 게다가, "포함한다" 및/또는 "포함하는"이라는 용어들은, 본 설명에서 사용될 때, 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 명시하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 그 그룹의 존재 또는 추가를 배제하지 않는다는 것이 이해될 것이다.
본원에서 사용되는 바와 같이, "~ 경우"라는 용어는, 선택적으로, 문맥에 따라 "~할 때", 또는 "~시에" 또는 "~라고 결정하는 것에 응답하여" 또는 "~을 검출하는 것에 응답하여"를 의미하는 것으로 해석된다. 마찬가지로, 문구 "~라고 결정되는 경우" 또는 "[언급된 조건 또는 이벤트]가 검출되는 경우"는, 선택적으로, 문맥에 따라, "~라고 결정할 시에" 또는 "~라고 결정하는 것에 응답하여" 또는 "[언급된 조건 또는 이벤트]를 검출할 시에" 또는 "[언급된 조건 또는 이벤트]를 검출하는 것에 응답하여"를 의미하는 것으로 해석된다.
본원에서 사용되는 바와 같이, AV 시스템은 AV의 작동을 지원하는 하드웨어, 소프트웨어, 저장된 데이터 및 실시간으로 생성되는 데이터의 어레이와 함께 AV를 지칭한다. 일 실시예에서, AV 시스템은 AV 내에 포함된다. 일 실시예에서, AV 시스템은 여러 위치들에 걸쳐 확산되어 있다. 예를 들어, AV 시스템의 소프트웨어 중 일부는 도 3과 관련하여 아래에서 기술되는 클라우드 컴퓨팅 환경(300)과 유사한 클라우드 컴퓨팅 환경에 구현된다.
일반적으로, 본원은 완전 자율 주행 차량, 고도 자율 주행 차량, 및 조건부 자율 주행 차량, 예컨대, 제각기, 소위 레벨 5 차량, 레벨 4 차량 및 레벨 3 차량을 포함하는 하나 이상의 자율 주행 능력을 갖는 임의의 차량에 적용 가능한 기술들을 개시한다(차량의 자율성의 레벨 분류에 대한 세부 사항은 그 전체가 참고로 포함된, SAE 국제 표준 J3016: 온로드 자동차 자동 운전 시스템에 관한 용어의 분류 및 정의(Taxonomy and Definitions for Terms Related to On-128-172020-02-28 Road Motor Vehicle Automated Driving Systems) 참조). 본 문서에서 설명된 기술들은 또한 부분적 자율 주행 차량 및 운전자 보조 차량, 예컨대, 소위 레벨 2 차량 및 레벨 1 차량에도 적용 가능하다(SAE 국제 표준 J3016: 온로드 자동차 자동 운전 시스템에 관한 용어의 분류 및 정의 참조). 일 실시예에서, 레벨 1, 레벨 2, 레벨 3, 레벨 4 및 레벨 5 차량 시스템들 중 하나 이상은 센서 입력들의 프로세싱에 기초하여 특정 작동 조건들 하에서 특정 차량 작동들(예를 들면, 조향, 제동, 및 맵 사용)을 자동화할 수 있다. 본 문서에서 설명된 기술들은, 완전 자율 주행 차량으로부터 인간 운전 차량에 이르는, 임의의 레벨들에 있는 차량들에 혜택을 줄 수 있다.
도 1을 참조하면, AV 시스템(120)은, 대상체들(예를 들면, 자연 장애물들(191), 차량들(193), 보행자들(192), 자전거 타는 사람들, 및 다른 장애물들)을 피하고 도로 규칙들(예를 들면, 운영 규칙들 또는 운전 선호사항들)을 준수하면서, AV(100)를 궤적(198)을 따라 환경(190)을 통해 목적지(199)(때때로 최종 위치라고 지칭됨)로 작동시킨다.
일 실시예에서, AV 시스템(120)은 컴퓨터 프로세서들(146)로부터 작동 커맨드들을 수신하고 이에 따라 작동하도록 설비된 디바이스들(101)을 포함한다. 일 실시예에서, 컴퓨팅 프로세서들(146)은 도 3을 참조하여 아래에서 기술되는 프로세서(304)와 유사하다. 디바이스들(101)의 예들은 조향 컨트롤(102), 브레이크(103), 기어, 액셀러레이터 페달 또는 다른 가속 제어 메커니즘, 윈드실드 와이퍼, 사이드 도어 록, 윈도 컨트롤, 및 방향 지시등을 포함한다.
일 실시예에서, AV 시스템(120)은, AV의 위치, 선속도 및 선가속도, 각속도 및 각가속도, 및 헤딩(예를 들면, AV(100)의 선단의 배향)과 같은, AV(100)의 상태 또는 조건의 속성들을 측정 또는 추론하기 위한 센서들(121)을 포함한다. 센서들(121)의 예는 GNSS(Global Navigation Satellite System) 수신기, 차량 선가속도 및 각도 변화율(angular rate) 둘 모두를 측정하는 IMU(inertial measurement unit), 휠 슬립률(wheel slip ratio)을 측정 또는 추정하기 위한 휠 속력 센서, 휠 브레이크 압력 또는 제동 토크 센서, 엔진 토크 또는 휠 토크 센서, 그리고 조향각 및 각도 변화율 센서이다.
일 실시예에서, 센서들(121)은 AV의 환경의 속성들을 감지 또는 측정하기 위한 센서들을 또한 포함한다. 예를 들어, 가시 광, 적외선 또는 열(또는 둘 모두) 스펙트럼의 단안 또는 스테레오 비디오 카메라들(122), LiDAR(123), RADAR, 초음파 센서들, 비행 시간(time-of-flight, TOF) 깊이 센서들, 속력 센서들, 온도 센서들, 습도 센서들, 및 강수 센서들.
일 실시예에서, AV 시스템(120)은 컴퓨터 프로세서들(146)과 연관된 머신 명령어들 또는 센서들(121)에 의해 수집되는 데이터를 저장하기 위한 데이터 저장 유닛(142) 및 메모리(144)를 포함한다. 일 실시예에서, 데이터 저장 유닛(142)은 도 3과 관련하여 아래에서 기술되는 ROM(308) 또는 저장 디바이스(310)와 유사하다. 일 실시예에서, 메모리(144)는 아래에서 기술되는 메인 메모리(306)와 유사하다. 일 실시예에서, 데이터 저장 유닛(142) 및 메모리(144)는 환경(190)에 관한 과거 정보, 실시간 정보, 및/또는 예측 정보를 저장한다. 일 실시예에서, 저장된 정보는 맵들, 운전 수행, 교통 혼잡 업데이트들 또는 기상 조건들을 포함한다. 일 실시예에서, 환경(190)에 관련된 데이터는 원격에 위치하는 데이터베이스(134)로부터 통신 채널을 통해 AV(100)로 송신된다.
일 실시예에서, AV 시스템(120)은 다른 차량의 상태들 및 조건들, 예컨대, 위치, 선속도와 각속도, 선가속도와 각가속도, 및 AV(100)를 향한 선형 헤딩(linear heading)과 각도 헤딩(angular heading)의 측정된 또는 추론된 속성들을 통신하기 위한 통신 디바이스들(140)을 포함한다. 이러한 디바이스들은 V2V(Vehicle-to-Vehicle) 및 V2I(Vehicle-to-Infrastructure) 통신 디바이스들 및 포인트 투 포인트(point-to-point) 또는 애드혹(ad hoc) 네트워크들 또는 둘 모두를 통한 무선 통신을 위한 디바이스들을 포함한다. 일 실시예에서, 통신 디바이스들(140)은 (무선 및 광학 통신을 포함하는) 전자기 스펙트럼 또는 다른 매체(예를 들면, 공기 및 음향 매체)를 통해 통신한다. V2V(Vehicle-to-Vehicle), V2I(Vehicle-to-Infrastructure) 통신(및 일부 실시예들에서, 하나 이상의 다른 유형의 통신)의 조합이 때때로 V2X(Vehicle-to-Everything) 통신이라고 지칭된다. V2X 통신은 전형적으로, 자율 주행 차량들과의 통신 및 자율 주행 차량들 간의 통신을 위한 하나 이상의 통신 표준을 준수한다.
일 실시예에서, 통신 디바이스들(140)은 통신 인터페이스들을 포함한다. 예를 들어, 유선, 무선, WiMAX, Wi-Fi, 블루투스, 위성, 셀룰러, 광학, 근거리(near field), 적외선, 또는 무선(radio) 인터페이스들. 통신 인터페이스들은 원격에 위치하는 데이터베이스(134)로부터 AV 시스템(120)으로 데이터를 송신한다. 일 실시예에서, 원격에 위치하는 데이터베이스(134)는 도 2에 기술된 바와 같은 클라우드 컴퓨팅 환경(200)에 내장된다. 통신 인터페이스들(140)은 센서들(121)로부터 수집되는 데이터 또는 AV(100)의 작동에 관련된 다른 데이터를 원격에 위치하는 데이터베이스(134)로 송신한다. 일 실시예에서, 통신 인터페이스들(140)은 원격 작동(teleoperation)에 관련되는 정보를 AV(100)로 송신한다. 일부 실시예들에서, AV(100)는 다른 원격(예를 들면, "클라우드") 서버들(136)과 통신한다.
일 실시예에서, 원격에 위치하는 데이터베이스(134)는 또한 디지털 데이터를 저장 및 송신한다(예를 들면, 도로 및 거리 위치들과 같은 데이터를 저장함). 그러한 데이터는 AV(100) 상의 메모리(144)에 저장되거나, 원격에 위치하는 데이터베이스(134)로부터 통신 채널을 통해 AV(100)로 송신된다.
일 실시예에서, 원격에 위치하는 데이터베이스(134)는 유사한 하루 중 시간(time of day)에 궤적(198)을 따라 이전에 주행했던 차량들의 운전 속성들(예를 들면, 속력 프로파일 및 가속도 프로파일)에 관한 과거 정보를 저장 및 송신한다. 일 구현예에서, 그러한 데이터는 AV(100) 상의 메모리(144)에 저장될 수 있거나, 또는 원격에 위치하는 데이터베이스(134)로부터 통신 채널을 통해 AV(100)로 송신될 수 있다.
AV(100) 상에 위치하는 컴퓨팅 디바이스들(146)은 실시간 센서 데이터 및 사전 정보(prior information) 둘 모두에 기초하여 제어 액션들을 알고리즘적으로 생성하여, AV 시스템(120)이 그의 자율 주행 운전 능력을 실행할 수 있게 한다.
일 실시예에서, AV 시스템(120)은 AV(100)의 사용자(예를 들면, 탑승자 또는 원격 사용자)에게 정보 및 경고들을 제공하고 그로부터 입력을 수신하기 위한, 컴퓨팅 디바이스들(146)에 결합된 컴퓨터 주변기기들(132)을 포함한다. 일 실시예에서, 주변기기들(132)은 도 3을 참조하여 아래에서 논의되는 디스플레이(312), 입력 디바이스(314), 및 커서 컨트롤러(316)와 유사하다. 결합은 무선 또는 유선이다. 인터페이스 디바이스들 중 임의의 둘 이상이 단일 디바이스에 통합될 수 있다.
예시적인 클라우드 컴퓨팅 환경
도 2는 예시적인 "클라우드" 컴퓨팅 환경을 예시한다. 클라우드 컴퓨팅은 구성 가능한 컴퓨팅 리소스들(예를 들면, 네트워크들, 네트워크 대역폭, 서버들, 프로세싱, 메모리, 스토리지, 애플리케이션들, 가상 머신들, 및 서비스들)의 공유 풀에 대한 편리한 온 디맨드 네트워크 액세스를 가능하게 하기 위한 서비스 전달(service delivery)의 일 모델이다. 전형적인 클라우드 컴퓨팅 시스템들에서는, 하나 이상의 대규모 클라우드 데이터 센터가 클라우드에 의해 제공되는 서비스들을 전달하는 데 사용되는 머신들을 수용한다. 이제 도 2를 참조하면, 클라우드 컴퓨팅 환경(200)은 클라우드(202)를 통해 상호연결되는 클라우드 데이터 센터들(204a, 204b 및 204c)을 포함한다. 데이터 센터들(204a, 204b 및 204c)은 클라우드 컴퓨팅 서비스들을 클라우드(202)에 연결된 컴퓨터 시스템들(206a, 206b, 206c, 206d, 206e 및 206f)에 제공한다.
클라우드 컴퓨팅 환경(200)은 하나 이상의 클라우드 데이터 센터를 포함한다. 일반적으로, 클라우드 데이터 센터, 예를 들어, 도 2에 도시된 클라우드 데이터 센터(204a)는 클라우드, 예를 들어, 도 2에 도시된 클라우드(202) 또는 클라우드의 특정 부분을 구성하는 서버들의 물리적 배열을 지칭한다. 예를 들어, 서버들은 클라우드 데이터 센터 내에 룸, 그룹, 로우(row), 및 랙(rack)으로 물리적으로 배열된다. 클라우드 데이터 센터는 하나 이상의 서버 룸을 포함하는 하나 이상의 구역(zone)을 갖는다. 각각의 룸은 하나 이상의 서버 로우를 가지며, 각각의 로우는 하나 이상의 랙을 포함한다. 각각의 랙은 하나 이상의 개별 서버 노드를 포함한다. 어떤 구현예에서, 구역, 룸, 랙, 및/또는 로우 내의 서버들은, 전력 요구사항, 에너지 요구사항, 열적 요구사항, 가열 요구사항, 및/또는 다른 요구사항들을 포함하는, 데이터 센터 설비의 물리적 인프라스트럭처 요구사항들에 기초하여 그룹들로 배열된다. 일 실시예에서, 서버 노드들은 도 3에서 기술된 컴퓨터 시스템과 유사하다. 데이터 센터(204a)는 많은 랙들을 통해 분산된 많은 컴퓨팅 시스템들을 갖는다.
클라우드(202)는 클라우드 데이터 센터들(204a, 204b, 및 204c)을 상호연결시키고 클라우드 컴퓨팅 서비스들에 대한 컴퓨팅 시스템들(206a 내지 206f)의 액세스를 용이하게 하는 것을 돕는 네트워크 및 네트워킹 리소스들(예를 들어, 네트워킹 장비, 노드들, 라우터들, 스위치들, 및 네트워킹 케이블들)과 함께 클라우드 데이터 센터들(204a, 204b 및 204c)을 포함한다. 일 실시예에서, 네트워크는 지상 또는 위성 연결들을 사용하여 배포된 유선 또는 무선 링크들을 사용하여 결합되는 하나 이상의 로컬 네트워크, 광역 네트워크, 또는 인터네트워크의 임의의 조합을 나타낸다. 네트워크를 통해 교환되는 데이터는, IP(Internet Protocol), MPLS(Multiprotocol Label Switching), ATM(Asynchronous Transfer Mode), 및 프레임 릴레이 등과 같은, 임의의 수의 네트워크 계층 프로토콜들을 사용하여 전송된다. 게다가, 네트워크가 다수의 서브 네트워크들의 조합을 나타내는 실시예들에서, 기저 서브 네트워크들(underlying sub-networks) 각각에서 상이한 네트워크 계층 프로토콜들이 사용된다. 일부 실시예들에서, 네트워크는, 공중 인터넷과 같은, 하나 이상의 상호연결된 인터네트워크를 나타낸다.
컴퓨팅 시스템들(206a 내지 206f) 또는 클라우드 컴퓨팅 서비스 소비자들은 네트워크 링크들 및 네트워크 어댑터들을 통해 클라우드(202)에 연결된다. 일 실시예에서, 컴퓨팅 시스템들(206a 내지 206f)은 다양한 컴퓨팅 디바이스들, 예를 들어, 서버, 데스크톱, 랩톱, 태블릿, 스마트폰, IoT(Internet of Things) 디바이스, 자율 주행 차량(자동차, 드론, 셔틀, 기차, 버스 등을 포함함) 및 소비자 전자기기로서 구현된다. 일 실시예에서, 컴퓨팅 시스템들(206a 내지 206f)은 다른 시스템들 내에 또는 그 일부로서 구현된다.
컴퓨터 시스템
도 3은 컴퓨터 시스템(300)을 예시한다. 일 구현예에서, 컴퓨터 시스템(300)은 특수 목적 컴퓨팅 디바이스이다. 특수 목적 컴퓨팅 디바이스는 기술들을 수행하도록 고정 배선(hard-wired)되거나, 또는 기술들을 수행하도록 영속적으로 프로그래밍되어 있는 하나 이상의 ASIC(application-specific integrated circuit) 또는 FPGA(field programmable gate array)와 같은 디지털 전자 디바이스들을 포함하거나, 또는 펌웨어, 메모리, 다른 스토리지 또는 그 조합 내의 프로그램 명령어들에 따라 기술들을 수행하도록 프로그래밍되어 있는 하나 이상의 범용 하드웨어 프로세서를 포함할 수 있다. 그러한 특수 목적 컴퓨팅 디바이스들은 또한 커스텀 고정 배선 로직, ASIC들, 또는 FPGA들을 커스텀 프로그래밍과 조합하여 기술들을 달성할 수 있다. 다양한 실시예들에서, 특수 목적 컴퓨팅 디바이스들은 기술들을 구현하기 위한 고정 배선 및/또는 프로그램 로직을 포함하는 데스크톱 컴퓨터 시스템들, 휴대용 컴퓨터 시스템들, 핸드헬드 디바이스들, 네트워크 디바이스들, 또는 임의의 다른 디바이스이다.
일 실시예에서, 컴퓨터 시스템(300)은 정보를 통신하기 위한 버스(302) 또는 다른 통신 메커니즘, 및 정보를 프로세싱하기 위한, 버스(302)와 결합된 하드웨어 프로세서(304)를 포함한다. 하드웨어 프로세서(304)는, 예를 들어, 범용 마이크로프로세서이다. 컴퓨터 시스템(300)은 프로세서(304)에 의해 실행될 명령어들 및 정보를 저장하기 위한, 버스(302)에 결합된 메인 메모리(306), 예컨대, RAM(random access memory) 또는 다른 동적 저장 디바이스를 또한 포함한다. 일 구현예에서, 메인 메모리(306)는 프로세서(304)에 의해 실행될 명령어들의 실행 동안 임시 변수들 또는 다른 중간 정보를 저장하는 데 사용된다. 그러한 명령어들은, 프로세서(304)에 의해 액세스 가능한 비일시적 저장 매체에 저장되어 있을 때, 컴퓨터 시스템(300)을 명령어들에 명시된 동작들을 수행하도록 커스터마이징되는 특수 목적 머신으로 만든다.
일 실시예에서, 컴퓨터 시스템(300)은, 프로세서(304)에 대한 명령어들 및 정적 정보를 저장하기 위한, 버스(302)에 결합된 ROM(read only memory)(308) 또는 다른 정적 저장 디바이스를 더 포함한다. 정보 및 명령어들을 저장하기 위한, 자기 디스크, 광학 디스크, 솔리드 스테이트 드라이브, 또는 3차원 크로스 포인트 메모리와 같은, 저장 디바이스(310)가 제공되고 버스(302)에 결합된다.
일 실시예에서, 컴퓨터 시스템(300)은 정보를 컴퓨터 사용자에게 디스플레이하기 위한 CRT(cathode ray tube), LCD(liquid crystal display), 플라스마 디스플레이, LED(light emitting diode) 디스플레이, 또는 OLED(organic light emitting diode) 디스플레이와 같은 디스플레이(312)에 버스(302)를 통해 결합된다. 정보 및 커맨드 선택들을 프로세서(304)로 전달하기 위한 문자 숫자식 키 및 다른 키를 포함하는 입력 디바이스(314)가 버스(302)에 결합된다. 다른 유형의 사용자 입력 디바이스는 방향 정보 및 커맨드 선택들을 프로세서(304)에 전달하고 디스플레이(312) 상에서의 커서 움직임을 제어하기 위한, 마우스, 트랙볼, 터치식 디스플레이, 또는 커서 방향 키들과 같은, 커서 컨트롤러(316)이다. 이러한 입력 디바이스는 전형적으로, 디바이스가 평면에서의 위치들을 명시할 수 있게 하는 2 개의 축, 즉 제1 축(예를 들면, x 축) 및 제2 축(예를 들면, y 축)에서의 2 자유도를 갖는다.
일 실시예에 따르면, 본원에서의 기술들은 프로세서(304)가 메인 메모리(306)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하는 것에 대한 응답으로 컴퓨터 시스템(300)에 의해 수행된다. 그러한 명령어들은, 저장 디바이스(310)와 같은, 다른 저장 매체로부터 메인 메모리(306) 내로 판독된다. 메인 메모리(306)에 포함된 명령어 시퀀스들의 실행은 프로세서(304)로 하여금 본원에 기술된 프로세스 단계들을 수행하게 한다. 대안적인 실시예들에서, 소프트웨어 명령어들 대신에 또는 소프트웨어 명령어들과 조합하여 고정 배선 회로가 사용된다.
"저장 매체"라는 용어는, 본원에서 사용되는 바와 같이, 머신으로 하여금 특정 방식으로 작동하게 하는 명령어들 및/또는 데이터를 저장하는 임의의 비일시적 매체를 지칭한다. 그러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함한다. 비휘발성 매체는, 예를 들어, 광학 디스크, 자기 디스크, 솔리드 스테이트 드라이브, 또는 3차원 크로스 포인트 메모리, 예컨대, 저장 디바이스(310)를 포함한다. 휘발성 매체는 동적 메모리, 예컨대, 메인 메모리(306)를 포함한다. 통상적인 형태의 저장 매체는, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 홀 패턴들을 갖는 임의의 물리적 매체, RAM, PROM, 및 EPROM, FLASH-EPROM, NV-RAM, 또는 임의의 다른 메모리 칩, 또는 카트리지를 포함한다.
저장 매체는 송신 매체와 별개이지만 송신 매체와 함께 사용될 수 있다. 송신 매체는 저장 매체들 사이에서 정보를 전달하는 데 참여한다. 예를 들어, 송신 매체는 버스(302)를 포함하는 와이어들을 포함하여, 동축 케이블, 구리선 및 광섬유를 포함한다. 송신 매체는 또한, 전파(radio-wave) 및 적외선 데이터 통신 동안 생성되는 것과 같은, 광파 또는 음향파의 형태를 취할 수 있다.
일 실시예에서, 실행을 위해 하나 이상의 명령어의 하나 이상의 시퀀스를 프로세서(304)로 반송하는 데 다양한 형태의 매체가 관여된다. 예를 들어, 명령어들은 초기에 원격 컴퓨터의 자기 디스크 또는 솔리드 스테이트 드라이브에 보유된다. 원격 컴퓨터는 자신의 동적 메모리에 명령어들을 로딩하고 모뎀을 사용하여 전화선을 통해 명령어들을 전송한다. 컴퓨터 시스템(300)에 로컬인 모뎀은 전화선을 통해 데이터를 수신하고 적외선 송신기를 사용하여 데이터를 적외선 신호로 변환한다. 적외선 검출기는 적외선 신호로 반송되는 데이터를 수신하고 적절한 회로는 데이터를 버스(302)에 배치한다. 버스(302)는 데이터를 메인 메모리(306)로 반송하고, 프로세서(304)는 메인 메모리로부터 명령어들을 검색하여 실행한다. 메인 메모리(306)에 의해 수신되는 명령어들은 프로세서(304)에 의해 실행되기 전이나 실행된 후에 선택적으로 저장 디바이스(310)에 저장될 수 있다.
컴퓨터 시스템(300)은 버스(302)에 결합된 통신 인터페이스(318)를 또한 포함한다. 통신 인터페이스(318)는 로컬 네트워크(322)에 연결되는 네트워크 링크(320)에 대한 양방향 데이터 통신(two-way data communication) 결합을 제공한다. 예를 들어, 통신 인터페이스(318)는 ISDN(integrated service digital network) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 유형의 전화선에 대한 데이터 통신 연결을 제공하는 모뎀이다. 다른 예로서, 통신 인터페이스(318)는 호환 가능한 LAN(local area network)에 대한 데이터 통신 연결을 제공하기 위한 LAN 카드이다. 일부 구현예들에서, 무선 링크들이 또한 구현된다. 임의의 그러한 구현예에서, 통신 인터페이스(318)는 다양한 유형의 정보를 나타내는 디지털 데이터 스트림을 반송하는 전기 신호, 전자기 신호, 또는 광학 신호를 전송 및 수신한다.
네트워크 링크(320)는 전형적으로 하나 이상의 네트워크를 통한 다른 데이터 디바이스들로의 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(320)는 로컬 네트워크(322)를 통해 호스트 컴퓨터(324)에 대한 연결 또는 ISP(Internet Service Provider)(326)에 의해 운영되는 클라우드 데이터 센터 또는 장비에 대한 연결을 제공한다. ISP(326)는 차례로 지금은 "인터넷(328)"이라고 통상적으로 지칭되는 월드 와이드 패킷 데이터 통신 네트워크(world-wide packet data communication network)를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(322) 및 인터넷(328)는 둘 모두 디지털 데이터 스트림들을 반송하는 전기 신호, 전자기 신호, 또는 광학 신호를 사용한다. 컴퓨터 시스템(300)으로 그리고 컴퓨터 시스템(300)으로부터 디지털 데이터를 반송하는, 다양한 네트워크들을 통한 신호들 및 통신 인터페이스(318)를 통한 네트워크 링크(320) 상의 신호들은 송신 매체의 예시적인 형태들이다. 일 실시예에서, 네트워크(320)는 위에서 기술된 클라우드(202) 또는 클라우드(202)의 일부를 포함한다.
컴퓨터 시스템(300)은 네트워크(들), 네트워크 링크(320), 및 통신 인터페이스(318)를 통해 메시지들을 전송하고, 프로그램 코드를 포함한, 데이터를 수신한다. 일 실시예에서, 컴퓨터 시스템(300)은 프로세싱하기 위한 코드를 수신한다. 수신된 코드는 수신될 때 프로세서(304)에 의해 실행되고/되거나 추후 실행을 위해 저장 디바이스(310) 또는 다른 비휘발성 스토리지에 저장된다.
자율 주행 차량 아키텍처
도 4는 자율 주행 차량(예를 들면, 도 1에 도시된 AV(100))에 대한 예시적인 아키텍처(400)를 도시한다. 아키텍처(400)는 인지 서브시스템(402)(때때로 인지 회로라고 지칭됨), 계획 서브시스템(404)(때때로 계획 회로라고 지칭됨), 제어 서브시스템(406)(때때로 제어 회로라고 지칭됨), 로컬화 서브시스템(408)(때때로 로컬화 회로라고 지칭됨), 및 데이터베이스 서브시스템(410)(때때로 데이터베이스 회로라고 지칭됨)을 포함한다. 각각의 서브시스템은 AV(100)의 작동에서 소정의 역할을 한다. 다함께, 서브시스템들(402, 404, 406, 408 및 410)은 도 1에 도시된 AV 시스템(120)의 일부일 수 있다. 일부 실시예들에서, 서브시스템들(402, 404, 406, 408, 및 410) 중 임의의 것은 컴퓨터 소프트웨어(예를 들면, 컴퓨터 판독 가능 매체에 저장된 실행 가능 코드) 및 컴퓨터 하드웨어(예를 들면, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, ASIC(application-specific integrated circuit), 하드웨어 메모리 디바이스, 다른 유형의 집적 회로, 다른 유형의 컴퓨터 하드웨어, 또는 이러한 것들 중 임의의 것 또는 전부의 조합)의 조합이다.
사용 중에, 계획 서브시스템(404)은 목적지(412)를 나타내는 데이터를 수신하고 목적지(412)에 도달(예를 들면, 도착)하기 위해 AV(100)에 의해 주행될 수 있는 궤적(414)(때때로 루트라고 지칭됨)을 나타내는 데이터를 결정한다. 계획 서브시스템(404)이 궤적(414)을 나타내는 데이터를 결정하기 위해, 계획 서브시스템(404)은 인지 서브시스템(402), 로컬화 서브시스템(408), 및 데이터베이스 서브시스템(410)으로부터 데이터를 수신한다.
인지 서브시스템(402)은, 예를 들면, 도 1에도 도시된 바와 같이, 하나 이상의 센서(121)를 사용하여 인근의 물리적 대상체들을 식별한다. 대상체들은 분류되고(예를 들면, 보행자, 자전거, 자동차, 교통 표지판 등과 같은 유형들로 그룹화되고), 분류된 대상체들(416)을 포함하는 장면 묘사가 계획 서브시스템(404)에 제공된다.
계획 서브시스템(404)은 또한 AV 위치(418)를 나타내는 데이터를 로컬화 서브시스템(408)로부터 수신한다. 로컬화 서브시스템(408)은 위치를 계산하기 위해 센서들(121)로부터의 데이터 및 데이터베이스 서브시스템(410)로부터의 데이터(예를 들면, 지리적 데이터)를 사용하여 AV 위치를 결정한다. 예를 들어, 로컬화 서브시스템(408)은 GNSS 수신기로부터의 데이터 및 지리적 데이터를 사용하여 AV의 경도 및 위도를 계산한다. 일 실시예에서, 로컬화 서브시스템(408)에 의해 사용되는 데이터는 도로 기하학적 속성들의 고정밀 맵, 도로망 연결 속성들을 기술하는 맵, 도로 물리적 속성들(예컨대, 교통 속력, 교통량, 차량 교통 차선과 자전거 타는 사람 교통 차선의 수, 차선 폭, 차선 교통 방향, 또는 차선 마커 유형 및 위치, 또는 이들의 조합)을 기술하는 맵, 및 도로 특징부, 예컨대, 횡단보도, 교통 표지판 또는 다양한 유형의 다른 주행 신호들의 공간적 위치들을 기술하는 맵을 포함한다.
제어 서브시스템(406)은 궤적(414)을 나타내는 데이터 및 AV 위치(418)를 나타내는 데이터를 수신하고, AV(100)로 하여금 목적지(412)로 궤적(414)을 주행하게 할 방식으로 AV의 제어 기능들(420a 내지 420c)(예를 들면, 조향, 스로틀링, 제동, 점화)을 작동시킨다. 예를 들어, 궤적(414)이 좌회전을 포함하는 경우, 제어 서브시스템(406)은, 조향 기능의 조향각이 AV(100)로 하여금 좌회전하게 하고 스로틀링 및 제동이 AV(100)로 하여금 이러한 회전이 이루어지기 전에 지나가는 보행자들 또는 차량들을 위해 일시정지 및 대기하게 하는 방식으로, 제어 기능들(420a 내지 420c)을 작동시킬 것이다.
운전 가능 영역 검출을 사용한 운행
도 5는 하나 이상의 실시예에 따른, 운전 가능 영역(500)을 보여주는 실시간으로 축적된 예시적인 포인트 클라우드 데이터를 예시한다. 또한 다수의 차량들(501a...501f)이 도시되어 있다. 아래에서 기술될 것인 바와 같이, 운전 가능 영역(500)은, 계획, 인지 및 제어 서브시스템들과 같은, AV 기술 스택의 다양한 서브시스템들에 대한 대안 궤적 제안으로서 사용될 수 있다. 운전 가능 영역(500)이 실시간으로 생성되기 때문에, 도 8을 참조하여 기술되는 바와 같이, 기본 맵 기반 로컬화 서브시스템이 고장나는 경우에 대안 궤적 제안이 차량을 운행시키기 위한 대안 제어 경로로서 사용될 수 있다.
도 6은 하나 이상의 실시예에 따른, 라벨링된 운전 가능 영역 및 라벨링된 차량들을 보여주는 카메라 이미지에 투영된 포인트 클라우드 데이터를 예시하는 다이어그램(600)이다. 일 실시예에서, 적어도 하나의 LiDAR 및 적어도 하나의 카메라는, 예를 들어, ISN을 사용하여 카메라 이미지에 대해 수행되는 픽셀 기반 분할을 사용하여 라벨링된 포인트 클라우드 데이터를 생성하는 데 사용될 수 있으며, 여기서 각각의 픽셀은 연관된 라벨을 갖는다. 예시적인 ISN은 도 9를 참조하여 기술된다.
도시된 ISN의 예시적인 출력은 2 개의 라벨, 즉 운전 가능 영역(601) 및 차량들(602)을 포함한다. LiDAR 포인트들은, 예를 들어, 핀홀 투영을 사용하여 라벨링된 이미지 상으로 투영되며, 각각의 포인트는 적어도 하나의 라벨과 연관된다. 예를 들어, 투영된 포인트가 운전 가능 영역이라고 라벨링된 이미지 내의 픽셀에 해당하는 경우, 해당 포인트가 또한 "운전 가능 영역"이라는 라벨과 연관될 것이다.
일 실시예에서, 각각의 LiDAR 복귀 포인트 pL 및 각각의 비전 파이프라인 CAM에 대한(즉, 다중 카메라 시스템에서의 각각의 카메라에 대한) 핀홀 투영은 다음과 같으며:
여기서 π는 핀홀 투영을 나타내고(각각의 포인트를 카메라 행렬과 곱하고 z 좌표로 나눔), TL은 (교정 파일에 기초한) 특정 카메라 프레임에서의 LiDAR의 포즈이며, D는 (카메라와 LiDAR 데이터의 동기화를 돕기 위한) 측정들의 상대 추측 항법(relative dead-reckoning)이고, pL은 LiDAR 복귀 포인트이며, coords는 라벨이 선택된 이미지의 행 및 열 좌표를 나타낸다.
일부 경우에, 동일한 LiDAR 포인트가 둘 이상의 비전 파이프라인(예를 들면, 중첩하는 카메라 FOV들)에 투영될 수 있다. ISN에 의해 출력되는 비전 파이프라인의 분할된 이미지들은 각각의 픽셀에 대한 4 개의 값(제1 라벨, 제1 라벨의 신뢰도, 제2 라벨, 제2 라벨의 신뢰도)을 제공한다. LiDAR 라벨링된 포인트가 다른 분할된 이미지에 투영되는 경우에, 신뢰도 값들이 비교되고 가장 높은 신뢰도 값을 갖는(가장 가능성이 높은) 라벨이 포인트에 대한 라벨로서 선택된다.
LiDAR 포인트 클라우드가 (구면 또는 원통 투영을 통해) 행렬로서 구성되는 경우, 카메라 시야(FOV) 최적화를 사용하여 라벨 프로세싱 속도가 증가될 수 있다. 예를 들어, 각각의 카메라 FOV 내의 한 세트의 LiDAR 열들이 선택된다. 각각의 카메라에 대해, 카메라 이미지의 첫 번째 열과 마지막 열을 통과하는 깊이=100m인 허점(imaginary point)은 투영되지 않는다. LiDAR 프레임 내의 포인트들은 이어서 변환되고 각각의 카메라에 대한 각각의 포인트 쌍에 대해 방위각 값이 계산된다. 방위각 값들은 이어서 구성된 구면 투영에서의 열들로 변환된다. 이 프로세싱이 완료된 후에, 각각의 카메라 FOV에 감소된 포인트 세트가 있으며, 따라서 핀홀 투영들의 수를 감소시키는 것에 의해 계산 시간을 절감한다. 일 실시예에서, 투영된 포인트들에 대한 적어도 하나의 기하학적 검사는 이상치 포인트들을 검출한다. 예를 들어, 차량이라고 라벨링된 포인트가 지상에 있는 경우, 이는 추가 프로세싱으로부터 제외될 수 있다.
도 7은 하나 이상의 실시예에 따른, 궤적 제안들을 생성하기 위해 운전 가능 영역 검출을 사용하는 운행 시스템(700)의 블록 다이어그램이다. 시스템(700)은 IMU(701), 휠 속력 센서들(702), 카메라(703), LiDAR(704), 주행 거리 측정 서브시스템(705), ISN(706), 포인트 클라우드 라벨러(707), 포인트 클라우드 정합(708) 및 실시간 운전 가능 영역(709)을 포함한다.
IMU(701)는 관성 좌표계에서 차량의 가속도 및 배향(예를 들면, 요각)을 측정하기 위한 가속도계들 및 각도 변화율 센서들(예를 들면, 자이로 센서들)을 포함한다. 각각의 휠의 속력은 휠 속력 센서들(702)(예를 들면, 로터리 인코더들)을 사용하여 측정된다. 배향 및 휠 속력들은 주행 거리 측정 서브시스템(705)에 입력되고, 주행 거리 측정 서브시스템(705)은 글로벌 좌표들에서 차량의 위치 및 헤딩을 계산한다. 예를 들어, 일 실시예에서 주행 거리 측정 서브시스템(705)은 다음과 같이 차량의 위치 X t 를 계산하며:
여기서 은 좌측 바퀴가 시간 t 동안 주행한 거리이고, 는 우측 바퀴가 시간 t 동안 주행한 거리이며, 는 시간 t에서의 요각(yaw angle)이고, L은 좌측 바퀴와 우측 바퀴 사이의 거리의 절반이다. 수학식 2가 센서 오류, 항력(drag force) 등으로 인한 모션의 불확실성을 모델링하지 않는다는 점에 유의한다. 본 기술 분야의 통상의 기술자는 그러한 오류를 어떻게 모델링할지를 이해할 것이다.
차량의 주행 거리 측정 위치 Xt 및 라벨링된 LiDAR 포인트 클라우드가 포인트 클라우드 정합(708)에 입력된다. 포인트 클라우드 정합(708)은 글로벌 좌표들에서 주행 거리 측정 위치 Xt와 라벨링된 포인트 클라우드 데이터를 병합하고 실시간 운전 가능 영역을 출력하며 여기서 주행 거리 측정 데이터는 희소 포인트 클라우드 데이터를 갖는 영역들에 추가적인 위치 정보를 추가한다.
별도의 프로세싱 경로에서, 카메라(702)는 이미지들을 캡처하고 이미지들을 ISN(706)에 입력한다. ISN(706)은 각각의 픽셀이 운전 가능 영역, 운전 불가능 영역 또는 검출된 대상체(예를 들면, 다른 차량, 보행자, 자전거 타는 사람 등)로서 라벨링되어 있는 이미지를 출력한다. 라벨링된 이미지는 LiDAR(704)에 의해 생성되는 포인트 클라우드와 함께 포인트 클라우드 라벨러(707)에 입력된다. 포인트 클라우드 라벨러(707)는 포인트들을 카메라 이미지 상으로 투영하고 각각의 포인트를 대응하는 픽셀 라벨과 연관시킨다. 라벨링된 포인트 클라우드는 이어서 포인트 클라우드 정합(708)에 입력되고 여기서 라벨링된 포인트 클라우드는 글로벌 좌표들에서 주행 거리 측정 차량 위치들과 병합된다.
도 8은 하나 이상의 실시예에 따른, 운전 가능 영역 검출을 사용한 대안 제어 경로를 포함하는 자율 주행 차량 시스템/스택의 블록 다이어그램이다. 도시된 예에서, 운행 시스템(700)은 모델 예측 제어(MPC)와 통합된다. 실시간 운전 가능 영역은 구조화되지 않은 MPC 제약들을 직접 생성하기 위해 여유 공간을 쿼리하고 통보하는 데 사용된다. 이러한 통합은 최대 속력 제약을 도출하기 위해 센서 커버리지 내의 여유 공간을 직접 계산하는 것을 가능하게 하고, 차량이 도로에 "갇히지(stuck)" 않고 검출된 운전 가능 영역에서 저속으로 주행할 수 있게 한다. 일 실시예에서, MPC와의 통합은 검출된 운전 가능 영역을 사용하여 직접 운행을 수행하는 대안 DBW(drive by wire) 제어 경로로서 역할할 수 있다.
제1 제어 경로에서, 루트 플래너(802)는: 1) 차량에 대한 초기 및 종료 상태를 수신하고; 2) 차선 라우터(lane router)를 사용하여 차선들을 형성하는 도로 데이터의 기하학적 블록들("도로 블록들")의 원하는 시퀀스를 계획하며; 3) 세그먼트가 차선 변경을 포함하지 않도록, 차선 변경에 기초하여 루트를 도로 세그먼트들로 나누고; 4) 도로 블록들에 투영되는 (동적 월드 모델(dynamic world model)(508)로부터 획득되는) 차량의 물리적 상태에 기초하여 차량이 위치하는 도로 세그먼트들을 선택하며; 5) (차선 변경이 요망되는 경우에 앵커 "요망됨"으로 마킹될 수 있는) 선택된 도로 세그먼트들에 대한 앵커 경로들을 추출하고; 6) 최대/최소 길이에 기초하여 앵커 경로들을 트리밍한다. 차선 변경이 필요하지 않은 경우에, 인접한 앵커 경로가 추출되고 "선택적(optional)"으로만 라벨링되며, 이는 차량이 충돌 회피를 위해 필요한 경우 차선을 사용할 수 있음을 의미한다.
루트는 인지 데이터(예를 들면, 대상체 검출들)와 함께 경계 생성기(805)에 입력된다. 경계 생성기(805)는 루트 및 인지 데이터에 기초하여 차량에 대한 공간적 제약 및 속도 제약을 생성한다. 공칭 MPC 모델(806)은 공간적 제약 및 속도 제약, 맵 데이터 및 인지 데이터에 기초하여 차량에 대한 공칭 궤적(예를 들면, 조향각, 속력)을 생성한다. 다른 차량들, 보행자들, 자전거 타는 사람들 또는 환경 내의 임의의 다른 대상체 또는 구조물과의 충돌을 피하기 위해 공간적 제약 및 속도 제약에 따라 차량을 제어하는 데 사용되는 차량 제어기(808)에 공칭 궤적이 입력된다.
제2 제어 경로에서, 시스템(700)의 출력은 비구조화된 MPC 모델(807)에 대한 공간적 제약 입력으로서 사용된다. 비구조화된 MPC 모델(807)의 출력은 최대 속력 미만의 운전 가능 영역을 따르는 궤적이다. 궤적은 차량 제어기(808)에 입력된다.
일 실시예에서, 모션 모델, 공간적 제약 및 속도 제약 및 비용 함수가 주어지면, 궤적 최적화 문제는 다음과 같이 공칭 MPC 모델(806)에 의해 해결된다:
<수학식 2>
최적화 문제는 곡선 좌표계에서 정의되는 상태 공간에서 수식화되며, 여기서 상태들은 차량의 무게 중심(center of gravity, CoG)에 대해 정의된다. 차량 제어기(808)는 차량의 정확한 원하는 위치를 쿼리할 수 있고, 임의의 시간 ti에서 이며, 여기서 s는 진행이고, n은 횡방향 오차이며, μ는 로컬 헤딩 이고, v는 속도이며, 는 예상 운전 방향에서의 가속도이고, 는 조향각이며, 는 조향비(steering rate)이고, u는 저크 및 조향비를 포함한 입력 변수들의 벡터이고, , 및 는 여유 변수(slack variable)이며, 여기서 은 궤적을 포함하는 횡방향 튜브(lateral tube)에 대한 여유이고, 는 가속도에 대한 여유이며, 는 진행에 대한 여유이고, 는 소프트 횡방향 튜브에 대한 여유이며, 는 소프트 속도에 대한 여유이고, 는 소프트 가속도에 대한 여유이며, J stage () 및J terminal ()는 비용 함수이다. 수학식 2는 임의의 적합한 솔버를 사용하여 풀 수 있다. 다른 실시예들은, 학습 기반 방법들 또는 제어 장벽 함수들을 사용하는 방법들을 포함하지만 이에 제한되지 않는, 상이한 궤적 최적화 방법들을 사용할 수 있다.
일 실시예에서, 수학식 3에 나타낸 바와 같이, 차량의 속도(v x , v y ) 및 차량의 요 레이트 의 관점에서 표현될 수 있도록, 모션 모델은 차량의 사이드 슬립각(side slip angle) 가 기하학적으로 정의될 수 있게 하는 운동학적 자전거 모델이며:
여기서
여기서 은 AV 전면으로부터 차량의 CoG까지의 길이이고, 는 차량의 후면으로부터 차량의 CoG까지의 길이이다.
일 실시예에서, 비용 함수들 J stage J terminal 은 다음과 같이 주어진다:
일 실시예에서, 추적 성능은 처음 3 개의 상태에 대해서만 요구되고, 편의 요구사항은 가속도 및 양쪽 입력들에 적용 가능하다. 추적 목표 및 편의 목표 둘 모두는 2차 비용(quadratic cost)으로서 구현된다. 여유 위반(slack violation)은 2차 비용 또는 선형 비용에 의해 페널티를 받으며:
여기서 는 각각의 비용 항의 개별 가중치 인자들을 나타낸다.
MPC가 바이어싱 결정을 근사화하고 공칭 MPC 모델(806)로부터의 예측된 시간으로 공간적 제약들을 샘플링하기 위해 동적 전방 탐색(dynamic lookahead)을 사용하기 때문에 수학식 2 내지 수학식 9의 수식화가 종래의 MPC와 상이하다는 점에 유의한다. 대조적으로, 수학식 2에서의 위의 MPC 유사 수식화는 기동 설명(호모토피)에 공간적 제약 및 속도 제약을 재인코딩하며, 따라서 차량 제어기(808)에 의해 추가적인 결정 또는 근사화가 이루어질 필요가 없다.
일 실시예에서, 규칙서는 차량의 거동 기대치들을 제공하는 상위 레벨 제약들을 정의한다. 위에서 기술된 바와 같이 코스 모션 계획이 루트 플래너(802)로부터 수신되며, 이에 따라 위에서 기술된 모션 모델 및 비용 함수를 고려하는 보다 개선된 실현이 생성된다. 규칙서에서의 하나 이상의 규칙은 위에서 기술된 MPC 유사 최적화에서 고려된다. 하나 이상의 규칙은, 코스 모션 계획에 의해 정의되는, 궤적 최적화를 위한 솔루션 공간을 지정한다. 일부 실시예들에서, 근접성 규칙과 같은, 하나 이상의 규칙이 공칭 MPC 수식화 내에서 재평가될 수 있다. 아래의 표 I은 채택된 규칙들의 예이다.
[표 1] - 예시적인 규칙서 제약들
Figure 112021142357672-pat00038
선형 부등식 제약들
위에서 명시된 예시적인 규칙서 제약들은 상태 제약들로 변환된다. 상태들의 가능 집합(feasible set) , 입력들 , 및 여유 변수들 은 선형 부등식 제약들에 의해 표현된다. 여유 변수들이 정의상 반양부호(semipositive)임에 유의한다. 선형 부등식 제약들은 강하고(hard) 여유를 허용하지 않으며, 따라서 제약들의 위반을 제어할 수 없다. 일 실시예에서, 상태 제약들의 경계들에 가까이에서는 차량이 작동하지 않는다.
비선형 부등식 제약들
일반 부등식 제약들의 사용을 통해, 보다 복잡한 제약들이 부과될 수 있다. 이러한 보다 복잡한 제약들은 상이한 상태들, 입력들 및 온라인 지정 가능한 변수들의 비선형 조합들일 수 있다. 일반적으로, 루트 플래너(802)에 의해 주어지는 앵커 경로 주위에 튜브를 생성하기 위해 횡방향 위치 및 속력에 대해 제약들이 사용된다. 위반들을 명시적으로 제어하고 페널티를 주기 위해 이러한 제약 수식화들에서 여유 변수들이 사용된다. 일 실시예에서, 이하의 비선형 부등식 제약들이 정의된다:
위의 공칭 MPC 모델(806) 수식화는 검출된 운전 가능 영역을 강한 공간적 제약(hard spatial constraint)으로서 사용하는 것에 의해 비구조화된 MPC 모델(807)에 대해 수정될 수 있다. 예를 들어, 차선 경계들보다는 실제 운전 가능 영역 경계들에 대한 차량 풋프린트의 보정에 의해 실시간 운전 가능 영역으로부터의 편차에 대해 비선형 제약이 부과될 수 있다. 또한, 실시간 운전 가능 영역 내에서 운전할 때 차량이 최대 속력 미만으로 작동하도록 보장하기 위해 최대 속력에 대한 상태 제약이 부과될 수 있다. 수학식 7에서의 비용 함수는 추적 비용 항만을 포함할 수 있으며, 수학식 2에서의 상태들은, 진행, 횡방향 오차 및 로컬 헤딩의 변화들을 포함한, 처음 3 개의 상태로 감소될 수 있다.
그에 따라, 시스템(800)은 차량이, 예를 들어, 원격 차량 지원(remote vehicle assistance, RVA)과 같은, 개입을 요청하는 것 또는 안전 정지 기동을 수행하는 것 대신에, 센서들에 의해 검출되는 실시간 운전 가능 영역을, 보다 느린 속도라 해도, 계속 운행할 수 있게 하는 것에 의해 기존 차량 제어 시스템들에 비해 장점을 제공한다.
도 9는 하나 이상의 실시예에 따른, 도 7 및 도 8을 참조하여 기술된 ISN(900)의 블록 다이어그램이다. 도시된 예시적인 ISN(900)은 단일 샷 검출(single shot detection, SSD)에 기초하는 단일 스테이지, 단일 이미지 대상체 검출 네트워크이다. ISN(900)은 입력 이미지(901)를 받고, 이미지(901)에서의 각각의 픽셀의 클래스를 예측하며, 이미지(901)에서의 각각의 픽셀에 대한 시맨틱 분할 데이터(예를 들면, 클래스 라벨들 및 분류 점수들)를 출력한다. 일 실시예에서, ISN(900)은 이미지들을 포함하는 이미지 데이터 세트를 사용하여 트레이닝되며 여기서 각각의 이미지는 이미지 데이터 세트에서의 클래스들에 대한 분할 라벨들 및 2D 경계 상자들로 주석이 달린다. 예시적인 분류 점수는 픽셀의 클래스가 올바르게 예측되었을 확률을 나타내는 확률 값이다. 일 실시예에서, ISN(900)은 백본 및 검출 헤드를 포함한다. 일 실시예에서, 백본은 완전 콘볼루션 신경 네트워크(fully convolutional neural network, FCNN)이고, 검출 헤드는, W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg. SSD: Single shot multibox detector. In ECCV, 2016에 기술된 것과 같은, SSD이다. 분류 손실(classification loss), 로컬화 손실(localization loss) 및 속성 손실(attribute loss)을 포함하지만 이에 제한되지 않는 다양한 손실 함수들이 ISN(900)에 의해 이용될 수 있다.
일 실시예에서, ISN(900)은 2 개의 서브네트워크, 즉 점점 더 작은 공간 분해능으로 특징들을 생성하는 하향식 네트워크(top-down network) 및 하향식 특징들의 업샘플링(upsampling) 및 연결(concatenation)을 수행하는 제2 네트워크를 포함한다. 하향식 네트워크는 일련의 블록들에 의해 특성화될 수 있다. 각각의 블록은 스트라이드(stride) S(원래 입력 이미지(901)를 기준으로 측정됨)로 동작한다. 블록은 F 개의 출력 채널을 갖는 L 개의 3x3 2D 콘볼루션 계층을 가지며, 각각에 후속하여 BatchNorm 및 ReLU가 뒤따른다. 스트라이드 의 입력 블롭(input blob)을 수신한 후에 블록이 스트라이드 S에 대해 동작하도록 보장하기 위해 계층 내부의 첫 번째 콘볼루션은 스트라이드 를 갖는다. 블록에서의 모든 후속 콘볼루션들은 스트라이드 1을 갖는다.
각각의 하향식 블록으로부터의 최종 특징들은 다음과 같이 업샘플링과 연결을 통해 조합된다. 첫째, F 개의 최종 특징들을 갖는 전치 2D 콘볼루션(transposed 2D convolution)을 사용하여 초기 스트라이드 Sin으로부터 최종 스트라이드 Sout(둘 모두 다시 말하지만 원래 이미지(901)를 기준으로 측정됨)까지 특징들이 업샘플링된다. 다음으로, 업샘플링된 특징들에 BatchNorm 및 ReLU가 적용된다. 최종 출력 특징들은 상이한 스트라이드들로부터 유래되는 모든 특징들의 연결이다.
일 실시예에서, 2D 경계 박스 및 분류 점수들과 함께 대상체의 인코딩된 3D 속성들을 제공하기 위해 SSD 출력들이 증강된다. 인코딩된 3D 속성들은, 그의 사전 박스(priorbox) 및 카메라 고유 파라미터들과 함께, 글로벌 좌표계로 된 3D 경계 박스로 디코딩될 수 있는 포맷으로 된 대상체에 대한 3D 경계 박스의 치수, 배향 및 위치에 관한 정보를 포함한다. 각각의 사전 박스에 대해, 사전 박스의 치수 및 위치, 인코딩된 3D 속성들 및 카메라 고유 파라미터들이 대상체에 대한 3D 경계 박스를 생성하는 3D 경계 박스 생성기(902)에 입력된다.
예시적인 ISN(900)은 개시된 실시예들에 대해 사용될 수 있는 이미지 시맨틱스 네트워크의 일 예에 불과하다. 분할, 이미지 분류 그리고 2D 및 3D 검출을 추정하기 위해 단일 이미지에 대해 동작하는 임의의 네트워크 또는 네트워크 세트가 개시된 실시예들에 대해 사용될 수 있다.
도 10은 하나 이상의 실시예에 따른, 시뮬레이션 실행에서의 단일 실행 궤적(1004)의 다이어그램(1000)을 예시한다. 수직축은 y 위치(m)이고 수평축은 x 위치(m)이다. 실시간 운전 가능 영역(1001)은 백색 영역이다. 운전 불가능 영역은 흑색 영역이다. 경계 상자(1002)는 차량 풋프린트를 나타내고 경계 상자(1003)는 차량의 앞차축 및 뒷차축을 나타낸다. 시뮬레이션은 도 8을 참조하여 위에서 기술된 운동학적 자전거 모델 및 비용 함수들을 사용하고, 실시간 운전 가능 영역(1001)을 공간적 제약으로서 사용한다.
예시적인 프로세스들
도 11은 하나 이상의 실시예에 따른, 운전 가능 영역 검출을 사용한 운행 프로세스(1100)의 흐름 다이어그램이다. 프로세스(1100)는, 예를 들어, 도 3을 참조하여 기술된 바와 같은, 컴퓨터 시스템(300)을 사용하여 구현될 수 있다.
프로세스(1100)는: 깊이 센서로부터 포인트 클라우드를 수신하는 단계(1101); 카메라로부터 이미지 데이터를 수신하는 단계(1102); 이미지 데이터에 머신 러닝을 적용하는 것에 의해 운전 가능 영역을 나타내는 적어도 하나의 라벨을 예측하는 단계(1103); 적어도 하나의 라벨을 사용하여 포인트 클라우드를 라벨링하는 단계(1104); 주행 거리 측정 정보를 획득하는 단계(1105); 라벨링된 포인트 클라우드 및 주행 거리 측정 정보를 기준 좌표계에 정합시키는 것에 의해 운전 가능 영역을 생성하는 단계(1106); 및 차량을 운전 가능 영역 내에서 운전하도록 제어하는 단계(107)를 포함한다. 이러한 단계들 각각은 도 1 내지 도 10과 관련하여 상세히 기술되었다.
전술한 설명에서, 본 발명의 실시예들은 구현마다 달라질 수 있는 다수의 특정 세부 사항들을 참조하여 기술되었다. 따라서, 상세한 설명 및 도면들은 제한적인 의미보다는 예시적인 의미로 간주되어야 한다. 본 발명의 범위의 유일한 독점적인 지표, 및 출원인이 본 발명의 범위이도록 의도한 것은, 본 출원에서 특정 형태로 나오는 일련의 청구항의 문언적 등가 범위이며, 그러한 청구항이 나오는 특정 형태는 임의의 후속 보정을 포함한다. 그러한 청구항들에 포함된 용어들에 대한 본원에서 명시적으로 기재된 임의의 정의들은 청구항들에서 사용되는 그러한 용어들의 의미를 결정한다. 추가적으로, 전술한 설명 및 이하의 청구항들에서 "더 포함하는"이라는 용어가 사용될 때, 이 문구에 뒤따르는 것은 추가적인 단계 또는 엔티티, 또는 이전에 언급된 단계 또는 엔티티의 서브단계/서브엔티티일 수 있다.

Claims (26)

  1. 방법으로서,
    적어도 하나의 프로세서로, 차량을 위한 깊이 센서로부터 포인트 클라우드를 수신하는 단계;
    상기 적어도 하나의 프로세서로, 카메라로부터 이미지 데이터를 수신하는 단계;
    상기 적어도 하나의 프로세서로, 상기 이미지 데이터에 머신 러닝을 적용하는 것에 의해 운전 가능 영역을 나타내는 적어도 하나의 라벨을 예측하는 단계;
    상기 적어도 하나의 프로세서로, 상기 적어도 하나의 라벨을 사용하여 상기 포인트 클라우드를 라벨링하는 단계;
    상기 적어도 하나의 프로세서로, 상기 차량의 주행 거리 측정(odometry) 정보를 획득하는 단계 - 상기 주행 거리 측정 정보는 기준 좌표계에서의 상기 차량의 위치 및 헤딩(heading)을 포함함 - ;
    상기 적어도 하나의 프로세서로, 상기 라벨링된 포인트 클라우드와 상기 차량의 주행 거리 측정 정보를 기준 좌표계에서 병합하는 것에 의해 도로 상(on road) 운행을 위한 데이터 쿼리에 대한 실시간 운전 가능 영역을 생성하여, 상기 차량의 주행 거리 측정 정보가 상기 라벨링된 포인트 클라우드를 가진 영역들에 추가적인 위치 정보를 추가하는 상기 실시간 운전 가능 영역을 생성하는 단계; 및
    상기 적어도 하나의 프로세서로, 상기 차량을 상기 실시간 운전 가능 영역 내에서 운전하도록 제어하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 머신 러닝은 픽셀 기반 이미지 분할을 포함하는 것인, 방법.
  3. 제1항에 있어서,
    상기 포인트 클라우드를 라벨링하는 단계는 핀홀 투영을 사용하여 상기 포인트 클라우드 내의 포인트들을 상기 이미지 데이터 상으로 투영하는 단계를 포함하는 것인, 방법.
  4. 제1항에 있어서,
    상기 주행 거리 측정 정보는 적어도 하나의 관성 센서에 의해 제공되는 모션 데이터 및 휠 속력 센서에 의해 제공되는 휠 속력으로부터 획득되는 것인, 방법.
  5. 제1항에 있어서,
    상기 차량을 상기 실시간 운전 가능 영역 내에서 운전하도록 제어하는 단계는,
    제1 차량 제어 모델로, 제1 공간적 제약 및 속도 제약에 기초하여 상기 차량에 대한 제1 궤적을 생성하는 단계;
    제2 차량 제어 모델로, 제2 공간적 제약에 기초하여 상기 차량에 대한 제2 궤적을 생성하는 단계 - 상기 제2 공간적 제약은 상기 실시간 운전 가능 영역임 -; 및
    차량 제어기에 의해, 상기 실시간 운전 가능 영역 내에서 상기 차량에 대한 상기 제1 궤적 또는 상기 제2 궤적 중 하나를 선택하는 단계
    를 포함하는 것인, 방법.
  6. 제5항에 있어서,
    상기 제1 공간적 제약 및 상기 속도 제약은 계획된 루트, 맵 데이터 및 인지 데이터에 기초하여 생성되는 기동 정의에 기초하여 생성되는 것인, 방법.
  7. 제6항에 있어서,
    상기 인지 데이터는 적어도 하나의 대상체 검출을 포함하는 것인, 방법.
  8. 제5항에 있어서,
    상기 제1 차량 제어 모델 또는 상기 제2 차량 제어 모델 중 적어도 하나는 모델 예측 제어(MPC) 모델인 것인, 방법.
  9. 제5항에 있어서,
    상기 제2 궤적은 추적 제약 및 편의 제약의 비용 함수를 최소화하는 것에 의해 생성되는 것인, 방법.
  10. 제5항에 있어서,
    상기 제2 차량 제어 모델은 운동학적 자전거 모델인 것인, 방법.
  11. 제1항에 있어서,
    상기 적어도 하나의 라벨 중 제1 라벨은 예측된 운전 가능 영역이고, 상기 적어도 하나의 라벨 중 제2 라벨은 적어도 하나의 대상체인 것인, 방법.
  12. 제11항에 있어서,
    상기 적어도 하나의 대상체는 다른 차량 또는 보행자인 것인, 방법.
  13. 시스템으로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 하나 이상의 메모리
    를 포함하며, 상기 동작들은,
    차량을 위한 깊이 센서로부터 포인트 클라우드를 수신하는 동작;
    카메라로부터 이미지 데이터를 수신하는 동작;
    상기 이미지 데이터에 머신 러닝을 적용하는 것에 의해 운전 가능 영역을 나타내는 적어도 하나의 라벨을 예측하는 동작;
    상기 적어도 하나의 라벨을 사용하여 상기 포인트 클라우드를 라벨링하는 동작;
    상기 차량의 주행 거리 측정(odometry) 정보를 획득하는 동작 - 상기 주행 거리 측정 정보는 기준 좌표계에서의 상기 차량의 위치 및 헤딩(heading)을 포함함 - ;
    상기 라벨링된 포인트 클라우드와 상기 차량의 주행 거리 측정 정보를 기준 좌표계에서 병합하는 것에 의해 도로 상(on road) 운행을 위한 데이터 쿼리에 대한 실시간 운전 가능 영역을 생성하여, 상기 차량의 주행 거리 측정 정보가 상기 라벨링된 포인트 클라우드를 가진 영역들에 추가적인 위치 정보를 추가하는 상기 실시간 운전 가능 영역을 생성하는 동작; 및
    상기 차량을 상기 실시간 운전 가능 영역 내에서 운전하도록 제어하는 동작
    을 포함하는 것인, 시스템.
  14. 제13항에 있어서,
    상기 머신 러닝은 픽셀 기반 이미지 분할을 포함하는 것인, 시스템.
  15. 제13항에 있어서,
    상기 포인트 클라우드를 라벨링하는 동작은 핀홀 투영을 사용하여 상기 포인트 클라우드 내의 포인트들을 상기 이미지 데이터 상으로 투영하는 동작을 포함하는 것인, 시스템.
  16. 제13항에 있어서,
    상기 주행 거리 측정 정보는 적어도 하나의 관성 센서에 의해 제공되는 모션 데이터 및 휠 속력 센서에 의해 제공되는 휠 속력으로부터 획득되는 것인, 시스템.
  17. 제13항에 있어서,
    상기 차량을 상기 실시간 운전 가능 영역 내에서 운전하도록 제어하는 동작은,
    제1 차량 제어 모델로, 제1 공간적 제약 및 속도 제약에 기초하여 상기 차량에 대한 제1 궤적을 생성하는 동작;
    제2 차량 제어 모델로, 제2 공간적 제약에 기초하여 상기 차량에 대한 제2 궤적을 생성하는 동작 - 상기 제2 공간적 제약은 상기 실시간 운전 가능 영역임 -; 및
    차량 제어기에 의해, 상기 실시간 운전 가능 영역 내에서 상기 차량에 대한 상기 제1 궤적 또는 상기 제2 궤적 중 하나를 선택하는 동작
    을 포함하는 것인, 시스템.
  18. 제17항에 있어서,
    상기 제1 공간적 제약 및 상기 속도 제약은 계획된 루트, 맵 데이터 및 인지 데이터에 기초하여 생성되는 기동 정의에 기초하여 생성되는 것인, 시스템.
  19. 제17항에 있어서,
    상기 제1 차량 제어 모델 또는 상기 제2 차량 제어 모델 중 적어도 하나는 모델 예측 제어(MPC) 모델인 것인, 시스템.
  20. 제17항에 있어서,
    상기 제2 궤적은 추적 제약 및 편의 제약의 비용 함수를 최소화하는 것에 의해 생성되는 것인, 시스템.
  21. 제17항에 있어서,
    상기 제2 차량 제어 모델은 운동학적 자전거 모델인 것인, 시스템.
  22. 제13항에 있어서,
    상기 적어도 하나의 라벨 중 제1 라벨은 예측된 운전 가능 영역이고, 상기 적어도 하나의 라벨 중 제2 라벨은 적어도 하나의 대상체인 것인, 시스템.
  23. 제22항에 있어서,
    상기 적어도 하나의 대상체는 다른 차량 또는 보행자인 것인, 시스템.
  24. 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하는 명령어들을 저장하고 있는 컴퓨터 판독 가능 비일시적 저장 매체로서, 상기 동작들은,
    차량을 위한 깊이 센서로부터 포인트 클라우드를 수신하는 동작;
    카메라로부터 이미지 데이터를 수신하는 동작;
    상기 이미지 데이터에 머신 러닝을 적용하는 것에 의해 운전 가능 영역을 나타내는 적어도 하나의 라벨을 예측하는 동작;
    상기 적어도 하나의 라벨을 사용하여 상기 포인트 클라우드를 라벨링하는 동작;
    상기 차량의 주행 거리 측정(odometry) 정보를 획득하는 동작 - 상기 주행 거리 측정 정보는 기준 좌표계에서의 상기 차량의 위치 및 헤딩(heading)을 포함함 - ;
    상기 라벨링된 포인트 클라우드와 상기 차량의 주행 거리 측정 정보를 기준 좌표계에서 병합하는 것에 의해 도로 상(on road) 운행을 위한 데이터 쿼리에 대한 실시간 운전 가능 영역을 생성하여, 상기 차량의 주행 거리 측정 정보가 상기 라벨링된 포인트 클라우드를 가진 영역들에 추가적인 위치 정보를 추가하는 상기 실시간 운전 가능 영역을 생성하는 동작; 및
    상기 차량을 상기 실시간 운전 가능 영역 내에서 운전하도록 제어하는 동작
    을 포함하는 것인, 컴퓨터 판독 가능 비일시적 저장 매체.
  25. 제1항에 있어서,
    상기 적어도 하나의 프로세서로, 상기 실시간 운전 가능 영역의 여유 공간에 기초하여 최대 속력을 획득하는 단계;
    상기 적어도 하나의 프로세서로, 비구조화된 모델 예측 제어(MPC) 모델로부터, 상기 실시간 운전 가능 영역 내의 궤적을 생성하는 단계; 및
    상기 적어도 하나의 프로세서로, 상기 차량을 상기 궤적에 따라 상기 최대 속력 미만으로 운전하도록 제어하는 단계
    를 더 포함하는, 방법.
  26. 제1항에 있어서,
    상기 적어도 하나의 프로세서로, 상기 이미지 데이터에 이미지 분할(image segmentation) 네트워크를 적용하는 단계 - 상기 운전 가능 영역의 일부인 상기 이미지 데이터 내의 하나 이상의 제1 픽셀은 상기 운전 가능 영역으로서 라벨링되고, 상기 운전 가능 영역 외부에 있는 상기 이미지 데이터 내의 하나 이상의 제2 픽셀은 운전 불가능 영역으로서 라벨링됨 - ; 및
    상기 적어도 하나의 프로세서로, 상기 포인트 클라우드의 각 포인트를 상기 이미지 데이터의 상이한 픽셀과 연관시키는 단계
    를 더 포함하는, 방법.
KR1020210174757A 2021-08-27 2021-12-08 운전 가능 영역 검출을 사용한 운행 KR102639022B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/459,096 2021-08-27
US17/459,096 US11608084B1 (en) 2021-08-27 2021-08-27 Navigation with drivable area detection

Publications (2)

Publication Number Publication Date
KR20230033551A KR20230033551A (ko) 2023-03-08
KR102639022B1 true KR102639022B1 (ko) 2024-02-21

Family

ID=85174853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210174757A KR102639022B1 (ko) 2021-08-27 2021-12-08 운전 가능 영역 검출을 사용한 운행

Country Status (5)

Country Link
US (2) US11608084B1 (ko)
KR (1) KR102639022B1 (ko)
CN (1) CN115729228A (ko)
DE (1) DE102021133351A1 (ko)
GB (1) GB2610446B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116385949B (zh) * 2023-03-23 2023-09-08 广州里工实业有限公司 一种移动机器人的区域检测方法、系统、装置及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008099915A1 (ja) 2007-02-16 2008-08-21 Mitsubishi Electric Corporation 道路地物計測装置、地物識別装置、道路地物計測方法、道路地物計測プログラム、計測装置、計測方法、計測プログラム、計測位置データ、計測端末装置、計測サーバ装置、作図装置、作図方法、作図プログラムおよび作図データ
JP2019199185A (ja) 2018-05-17 2019-11-21 株式会社デンソーアイティーラボラトリ 車両制御値決定装置、車両制御値決定方法、およびプログラム
US20200159225A1 (en) * 2018-11-16 2020-05-21 Uber Technologies, Inc. End-To-End Interpretable Motion Planner for Autonomous Vehicles
JP2021009655A (ja) 2019-07-03 2021-01-28 日産自動車株式会社 周囲物体認識方法及び周囲物体認識装置
JP2021046193A (ja) 2019-09-18 2021-03-25 本田技研工業株式会社 混雑した道路における協働認識車線変更制御を提供するためのシステム及び方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184852B (zh) * 2015-08-04 2018-01-30 百度在线网络技术(北京)有限公司 一种基于激光点云的城市道路识别方法及装置
CN105719284B (zh) 2016-01-18 2018-11-06 腾讯科技(深圳)有限公司 一种数据处理方法、装置及终端
KR20170104287A (ko) * 2016-03-07 2017-09-15 한국전자통신연구원 주행 가능 영역 인식 장치 및 그것의 주행 가능 영역 인식 방법
EP3485337B1 (en) * 2016-09-23 2020-10-21 Apple Inc. Decision making for autonomous vehicle motion control
US10007269B1 (en) * 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle
KR102399130B1 (ko) * 2017-06-28 2022-05-18 현대모비스 주식회사 차량의 주행 환경 인식 장치, 방법 및 시스템
US10620638B2 (en) * 2017-08-18 2020-04-14 Wipro Limited Method, system, and device for guiding autonomous vehicles based on dynamic extraction of road region
US10528823B2 (en) * 2017-11-27 2020-01-07 TuSimple System and method for large-scale lane marking detection using multimodal sensor data
US10657390B2 (en) * 2017-11-27 2020-05-19 Tusimple, Inc. System and method for large-scale lane marking detection using multimodal sensor data
GB2570887B (en) * 2018-02-07 2020-08-12 Jaguar Land Rover Ltd A system for a vehicle
US10657388B2 (en) 2018-03-13 2020-05-19 Honda Motor Co., Ltd. Robust simultaneous localization and mapping via removal of dynamic traffic participants
GB201809345D0 (en) * 2018-06-07 2018-07-25 Five Ai Ltd Image segmentation
CN110163904B (zh) * 2018-09-11 2022-04-22 腾讯大地通途(北京)科技有限公司 对象标注方法、移动控制方法、装置、设备及存储介质
JP7253908B2 (ja) * 2018-12-03 2023-04-07 日立Astemo株式会社 車両制御装置
US10620317B1 (en) * 2018-12-23 2020-04-14 Chongqing Jinkang New Energy Automobile Co., Ltd. Lidar-based high definition map generation
US11069085B2 (en) * 2019-02-13 2021-07-20 Toyota Research Institute, Inc. Locating a vehicle based on labeling point cloud data of a scene
US11137766B2 (en) * 2019-03-07 2021-10-05 Zoox, Inc. State machine for traversing junctions
EP3953195A1 (en) * 2019-04-12 2022-02-16 Continental Automotive Systems, Inc. Autonomous vehicle-trailer maneuvering and parking
GB2607172B (en) * 2019-04-25 2023-11-01 Motional Ad Llc Graphical user interface for display of autonomous vehicle behaviors
US20200377233A1 (en) * 2019-05-29 2020-12-03 Rizse, Inc. Uav-based aviation inspection systems and related methods
CN112069856A (zh) * 2019-06-10 2020-12-11 商汤集团有限公司 地图生成方法、驾驶控制方法、装置、电子设备及系统
WO2021007117A1 (en) * 2019-07-05 2021-01-14 DeepMap Inc. Generating training data for deep learning models for building high definition maps
US11932306B2 (en) * 2019-09-14 2024-03-19 Honda Motor Co., Ltd. Trajectory planner
US10928830B1 (en) * 2019-11-23 2021-02-23 Ha Q Tran Smart vehicle
US20210199446A1 (en) * 2019-12-31 2021-07-01 Lyft, Inc. Overhead view image generation
US11385656B2 (en) * 2020-01-22 2022-07-12 Huawei Technologies Co., Ltd. System, device and method of identifying and updating the operational design domain of an autonomous vehicle
US11814073B2 (en) * 2020-03-18 2023-11-14 Baidu Usa Llc Learning based controller for autonomous driving
US11584389B2 (en) * 2020-04-17 2023-02-21 Zoox, Inc. Teleoperations for collaborative vehicle guidance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008099915A1 (ja) 2007-02-16 2008-08-21 Mitsubishi Electric Corporation 道路地物計測装置、地物識別装置、道路地物計測方法、道路地物計測プログラム、計測装置、計測方法、計測プログラム、計測位置データ、計測端末装置、計測サーバ装置、作図装置、作図方法、作図プログラムおよび作図データ
JP2019199185A (ja) 2018-05-17 2019-11-21 株式会社デンソーアイティーラボラトリ 車両制御値決定装置、車両制御値決定方法、およびプログラム
US20200159225A1 (en) * 2018-11-16 2020-05-21 Uber Technologies, Inc. End-To-End Interpretable Motion Planner for Autonomous Vehicles
JP2021009655A (ja) 2019-07-03 2021-01-28 日産自動車株式会社 周囲物体認識方法及び周囲物体認識装置
JP2021046193A (ja) 2019-09-18 2021-03-25 本田技研工業株式会社 混雑した道路における協働認識車線変更制御を提供するためのシステム及び方法

Also Published As

Publication number Publication date
CN115729228A (zh) 2023-03-03
US11608084B1 (en) 2023-03-21
US20230069215A1 (en) 2023-03-02
DE102021133351A1 (de) 2023-03-02
GB2610446A (en) 2023-03-08
GB2610446B (en) 2024-03-27
KR20230033551A (ko) 2023-03-08
US20230311947A1 (en) 2023-10-05

Similar Documents

Publication Publication Date Title
US11827241B2 (en) Adjusting lateral clearance for a vehicle using a multi-dimensional envelope
US11521010B2 (en) Automatically choosing data samples for annotation
US20220080999A1 (en) Sequential fusion for 3d object detection
US11940804B2 (en) Automated object annotation using fused camera/LiDAR data points
US11521394B2 (en) Ground plane estimation using LiDAR semantic network
US11803184B2 (en) Methods for generating maps using hyper-graph data structures
US11321211B1 (en) Metric back-propagation for subsystem performance evaluation
US20220101155A1 (en) Trajectory Generation Using Road Network Model
US11367289B1 (en) Machine learning-based framework for drivable surface annotation
US20220026917A1 (en) Monocular 3d object detection from image semantics network
US20220283587A1 (en) Controlling an autonomous vehicle using a proximity rule
US20210078593A1 (en) Operation of an autonomous vehicle based on availability of navigational information
US20230311947A1 (en) Navigation with Drivable Area Detection
US20220357453A1 (en) Lidar point cloud segmentation using box prediction
US11958503B2 (en) Techniques for navigating an autonomous vehicle based on perceived risk
US11926342B2 (en) Autonomous vehicle post-action explanation system
US20220258761A1 (en) Controlling an autonomous vehicle using variable time periods
US20240132112A1 (en) Path-based trajectory prediction
CN116229703A (zh) 用于检测交通信号的方法、系统和存储介质

Legal Events

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