KR20220028163A - 자율 차량들을 위한 폴리라인 컨투어 표현들 - Google Patents

자율 차량들을 위한 폴리라인 컨투어 표현들 Download PDF

Info

Publication number
KR20220028163A
KR20220028163A KR1020227005809A KR20227005809A KR20220028163A KR 20220028163 A KR20220028163 A KR 20220028163A KR 1020227005809 A KR1020227005809 A KR 1020227005809A KR 20227005809 A KR20227005809 A KR 20227005809A KR 20220028163 A KR20220028163 A KR 20220028163A
Authority
KR
South Korea
Prior art keywords
autonomous vehicle
polyline
representation
contour representation
polyline contour
Prior art date
Application number
KR1020227005809A
Other languages
English (en)
Other versions
KR102433273B1 (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 KR20220028163A publication Critical patent/KR20220028163A/ko
Application granted granted Critical
Publication of KR102433273B1 publication Critical patent/KR102433273B1/ko

Links

Images

Classifications

    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R1/00Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/02Rear-view mirror arrangements
    • B60R1/06Rear-view mirror arrangements mounted on vehicle exterior
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0953Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • 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/12Estimation 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 parameters of the vehicle itself, e.g. tyre models
    • 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/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0016Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
    • 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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/20Control system inputs
    • G05D1/22Command input arrangements
    • G05D1/221Remote-control arrangements
    • G05D1/227Handing over between remote control and on-board control; Handing over between remote control arrangements
    • 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/60Intended control result
    • G05D1/646Following a predefined trajectory, e.g. a line marked on the floor or a flight path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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
    • 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
    • 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/408Radar; Laser, e.g. lidar
    • 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
    • B60W2422/00Indexing codes relating to the special location or mounting of sensors
    • B60W2422/90Indexing codes relating to the special location or mounting of sensors on bumper, e.g. collision sensor
    • 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/201Dimensions of 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
    • B60W2554/00Input parameters relating to objects
    • 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/20Static objects
    • 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
    • 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/404Characteristics
    • B60W2554/4041Position
    • 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/404Characteristics
    • B60W2554/4044Direction of movement, e.g. backwards
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

본 개시내용의 양태들은 자율 주행 모드를 갖는 차량(100) 또는 자율 차량을 제어하는 것에 관한 것이다. 예를 들어, 제1 객체의 형상 및 위치를 나타내는 폴리곤(600)이 수신될 수 있다. 제2 객체의 형상 및 위치를 나타내는 폴리곤(400)의 일부의 폴리라인 컨투어 표현(300)이 수신될 수 있다. 폴리라인 컨투어 표현은 반-평면 좌표들에 있을 수 있으며, 복수의 정점들 및 선분들을 포함할 수 있다. 제1 객체를 나타내는 폴리곤의 좌표들이 반-평면 좌표 시스템으로 변환될 수 있다. 변환된 좌표들을 사용하여 폴리라인 컨투어 표현과 제1 객체를 나타내는 폴리곤 사이의 충돌 위치가 결정될 수 있다. 자율 차량은 충돌 위치에 기초하여 충돌을 회피하도록 자율 주행 모드에서 제어될 수 있다.

Description

자율 차량들을 위한 폴리라인 컨투어 표현들
관련 출원에 대한 상호 참조
본 출원은 2019년 11월 19일에 출원된 미국 특허 출원 번호 제16/687,974호의 계속 출원으로서, 이는 2019년 8월 21일에 출원된 미국 가출원 번호 제62/889,698호의 이익을 주장하고, 2019년 11월 19일에 출원된 미국 출원 번호 제16/688,017호와 관련되며, 이들 모두는 본 명세서에서 참조로 포함된다.
자율 주행 모드(autonomous driving mode)에서 동작할 때, 인간 운전자를 필요로 하지 않는 차량들과 같은 자율 차량(autonomous vehicle)들은 승객들 또는 물품들을 하나의 위치로부터 다른 위치로 운송하는 것을 돕는 데 사용될 수 있다. 자율 차량의 중요한 컴포넌트는 카메라들, 레이더들, 레이저들 및 기타 유사한 디바이스들과 같은 다양한 센서들을 사용하여 자율 차량이 그 주변들을 인식하고 해석할 수 있도록 하는 인식 시스템(perception system)이다. 예를 들어, 자율 차량들은 센서들을 사용하여 그 주변 환경, 예를 들어, 주차된 자동차들, 나무들, 건물들 등에 관한 이미지들 및 센서 데이터를 수집하고 해석할 수 있다. 인식 시스템으로부터의 정보가 이러한 차량들에 의해 사용되어, 자율 차량이 움직이는 동안 가속, 감속, 정지, 선회 등과 같은 수많은 결정들을 내림으로써 그 주변들에 반응하도록 할 수 있다.
통상적으로, 그 주변들에 어떻게 반응할지 결정할 때, 자율 차량의 센서들 및 미러들 모두를 포함하는 자율 차량의 모든 물리적 양태들의 경계를 이루는 직사각형(하향식으로 볼 때) 또는 3차원 직사각형에 의해 자율 차량의 컨투어가 종종 모델링된다. 자율 차량의 스웹 볼륨(swept volume)은 자율 차량의 계획된 경로 또는 계획된 궤적을 서로 연결되는 상이한 시간에서의 자율 차량의 위치를 각각 나타내는 일련의 연결된 상자들로서 근사화함으로써 결정될 수 있다. 그러나, 자율 차량 자체가 완벽한 직사각형이 아니기 때문에, 이 접근 방식은 특히 자율 차량의 모서리들에서 거짓 긍정 충돌(false positive collision)들을 도입할 수 있다. 이와 동시에, 더 복잡한 폴리곤(polygon)이 사용되는 경우, 자율 차량의 계획된 궤적에서 다른 객체들과의 잠재적인 충돌들을 분석할 때, 이러한 표현은 계산 비용이 많이 들 수 있다.
본 개시내용의 일 양태는 자율 주행 모드(autonomous driving mode)를 갖는 차량을 제어하는 방법을 제공한다. 방법은 자율 차량(autonomous vehicle)의 환경에서 검출된 객체의 형상 및 위치를 나타내는 폴리곤(polygon)을 수신하는 단계; 반-평면 좌표 시스템(half-plane coordinate system)에서 자율 차량의 컨투어(contour)의 절반 이하를 나타내는 자율 차량의 폴리라인 컨투어 표현(polyline contour representation)에 액세스하는 단계 - 폴리라인 컨투어 표현은 복수의 정점들 및 선분들을 포함함 -; 객체를 나타내는 폴리곤의 좌표들을 반-평면 좌표 시스템으로 변환하는 단계; 변환된 좌표들을 사용하여 폴리라인 컨투어 표현과 객체를 나타내는 폴리곤 사이의 충돌 위치를 결정하는 단계; 및 충돌 위치에 기초하여 객체와의 충돌을 회피하도록 자율 주행 모드에서 자율 차량을 제어하는 단계를 포함한다.
일 예에서, 폴리라인 컨투어 표현은 자율 차량의 전면 범퍼로부터 자율 차량의 후면 범퍼까지 그려진 차량 폭 프로파일로서 정의된다. 이 예에서, 폴리라인 컨투어 표현은 자율 차량의 최대 절반 폭인 최대 y 좌표를 갖는 최대 2개의 연속적인 점을 갖는다. 또한, 자율 차량의 최대 절반 폭은 자율 차량의 미러들 또는 측면 센서(lateral sensor)들 사이에서 측정된 자율 차량의 폭의 절반에 대응한다. 추가적으로 또는 대안적으로, 폴리라인 컨투어 표현 상의 y 좌표 값은 최대 y 좌표를 갖는 점까지 단조 증가한 다음, 폴리라인 컨투어 표현이 최대 하나의 피크를 갖도록 단조 감소한다. 이 예에서, 폴리라인 컨투어 표현과 객체의 표현 사이의 충돌 위치를 결정하는 단계는, 자율 차량이 앞으로 이동하고 있을 때, 전면 펜딩 폴리라인 컨투어 표현(front fending polyline contour representation)을 사용하는 단계를 포함하고, 전면 펜딩 폴리라인 컨투어 표현은 최대 y 좌표 앞의 폴리라인 컨투어 표현의 부분에 대응한다. 대안적으로, 폴리라인 컨투어 표현과 객체의 표현 사이의 충돌 위치를 결정하는 단계는, 자율 차량이 뒤로 이동하고 있을 때, 후면 펜딩 폴리라인 컨투어 표현(rear fending polyline contour representation)을 사용하는 단계를 포함하고, 후면 펜딩 폴리라인 컨투어 표현은 최대 y 좌표 뒤의 폴리라인 컨투어 표현의 부분에 대응한다.
다른 예에서, 충돌 위치를 결정하는 단계는, 객체를 나타내는 폴리곤의 선분에 대해, 반-평면 좌표 시스템으로의 침투점(penetration point)(D)을 결정하는 단계를 포함한다. 이 예에서, 방법은 또한 D와 폴리라인 컨투어 표현의 선분 사이의 거리를 결정하는 단계를 포함한다. 추가적으로 또는 대안적으로, 방법은 또한 D와 동일한 침투 깊이를 갖는 폴리라인 컨투어 표현 상의 선분들 중 하나의 선분을 찾는 단계를 포함한다. 다른 예에서, 동일한 y 좌표를 갖는 객체의 표현과 폴리라인 컨투어 표현 사이에 다수의 충돌 위치들이 있을 때, 충돌 위치를 결정하는 단계는 제1 충돌 위치에 대한 x 좌표를 제2 충돌 위치에 대한 x 좌표와 비교하는 단계를 더 포함한다. 다른 예에서, 폴리라인 컨투어 표현은 자율 차량의 중심선을 따른 자율 차량의 폭 프로파일에 대응한다. 다른 예에서, 반-평면 좌표 시스템의 원점은 자율 차량의 전면 범퍼 상의 가장 먼 x 좌표 및 자율 차량의 폭 치수의 절반을 나타내는 최대 y 좌표에 대응하는 점에 위치된다. 다른 예에서, 충돌 위치는 복수의 정점들 또는 선분들 중 하나에 대응한다. 다른 예에서, 방법은 또한 폴리라인 컨투어 표현과 객체의 표현 사이의 충돌 퇴장 위치(collision exit location)를 결정하는 단계를 포함하고, 자율 차량을 제어하는 단계는 충돌 퇴장 위치에 추가로 기초한다.
본 개시내용의 다른 양태는 자율 주행 모드를 갖는 차량을 제어하기 위한 시스템을 제공한다. 시스템은 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는, 자율 차량의 환경에서 검출된 객체의 형상 및 위치를 나타내는 폴리곤을 수신하고, 반-평면 좌표 시스템에서 자율 차량의 컨투어의 절반 이하를 나타내는 자율 차량의 폴리라인 컨투어 표현에 액세스하고 - 폴리라인 컨투어 표현은 복수의 정점들 및 선분들을 포함함 -, 객체를 나타내는 폴리곤의 좌표들을 반-평면 좌표 시스템으로 변환하고, 변환된 좌표들을 사용하여 폴리라인 컨투어 표현과 객체를 나타내는 폴리곤 사이의 충돌 위치를 결정하고, 충돌 위치에 기초하여 객체와의 충돌을 회피하도록 자율 주행 모드에서 자율 차량을 제어하도록 구성된다.
일 예에서, 충돌 위치를 결정하는 것은, 객체를 나타내는 폴리곤의 선분에 대해, 반-평면 좌표 시스템으로의 침투점(D)을 결정하는 것을 포함한다. 이 예에서, 자율 차량의 최대 절반 폭은 자율 차량의 미러들 또는 측면 센서들 사이에서 측정된 자율 차량의 폭의 절반에 대응한다. 또한, 폴리라인 컨투어 표현은 자율 차량의 전면 범퍼로부터 자율 차량의 후면 범퍼까지 그려진 차량 폭 프로파일로서 정의된다. 또한, 폴리라인 컨투어 표현은 자율 차량의 최대 절반 폭인 최대 y 좌표를 갖는 최대 2개의 연속적인 점을 갖는다. 또한, 폴리라인 컨투어 표현 상의 y 좌표 값은 최대 y 좌표를 갖는 점까지 단조 증가한 다음, 폴리라인 컨투어 표현이 최대 하나의 피크를 갖도록 단조 감소한다. 추가적으로 또는 대안적으로, 시스템은 또한 자율 차량을 포함한다.
본 개시내용의 다른 양태는 자율 주행 모드를 갖는 차량을 제어하는 방법을 제공한다. 방법은, 하나 이상의 프로세서에 의해, 자율 차량의 환경에서 검출된 객체의 형상 및 위치를 나타내는 폴리곤을 수신하는 단계; 하나 이상의 프로세서에 의해, 객체의 방향(heading) 및 미래 시점에서의 객체의 예상 위치에 기초하여 객체를 나타내는 폴리곤에 대한 전면 폴리라인(front polyline)을 결정하는 단계; 하나 이상의 프로세서에 의해, 전면 폴리라인의 좌표들을 반-평면 좌표 시스템으로 변환하는 단계; 하나 이상의 프로세서에 의해, 자율 차량의 계획된 미래 위치에 기초하여 그리고 변환된 좌표들을 사용하여 전면 폴리라인과 객체를 나타내는 폴리곤 사이의 진입 위치(entry location) 및 퇴장 위치(exit location)를 결정하는 단계; 및 하나 이상의 프로세서에 의해, 진입 위치 및 퇴장 위치에 기초하여 객체와의 충돌을 회피하도록 자율 주행 모드에서 자율 차량을 제어하는 단계를 포함한다.
일 예에서, 객체를 나타내는 폴리곤에 대한 후면 폴리라인(rear polyline)을 결정하는 단계는 객체의 방향 및 미래 시점에서의 객체의 계획된 미래 위치에 기초하고, 후면 폴리라인의 좌표들을 반-평면 좌표 시스템으로 변환하고; 후면 폴리라인과 객체를 나타내는 폴리곤 사이의 제2 진입 위치 및 제2 퇴장 위치를 결정하는 단계는 미래의 자율 차량의 계획된 미래 위치 및 변환된 좌표들에 기초하고, 자율 차량을 제어하는 단계는 제2 진입 위치 및 제2 퇴장 위치에 추가로 기초한다. 이 예에서, 방법은 또한 진입 위치 및 제2 진입 위치의 x-좌표 값의 최소값을 취함으로써 제1 거리를 결정하는 단계를 포함하고, 자율 차량을 제어하는 단계는 제1 거리에 추가로 기초한다. 또한, 방법은 또한 퇴장 위치 및 제2 퇴장 위치의 x-좌표 값의 최대값을 취함으로써 제2 거리를 결정하는 단계를 포함하고, 자율 차량을 제어하는 단계는 제1 거리에 추가로 기초한다. 또한, 방법은 또한 제1 거리 및 제2 거리를 사용하여 미래 시점에서 객체와 중첩될 확률을 결정하는 단계를 포함하고, 자율 차량을 제어하는 단계는 제1 거리에 추가로 기초한다. 추가적으로, 방법은 또한 객체의 예상된 미래 위치와 연관된 불확실성 값을 수신하는 단계를 포함하고, 중첩될 확률을 결정하는 단계는 불확실성 값에 추가로 기초한다. 추가적으로 또는 대안적으로, 방법은 또한 객체의 예상된 미래 위치와 연관된 불확실성 값에 대한 표준 편차를 수신하는 단계, 및 표준 편차를 사용하여 중첩될 확률을 누적 분포 함수(cumulative distribution function)로서 결정하는 단계를 포함한다. 추가적으로 또는 대안적으로, 방법은 또한 객체의 예상된 미래 위치와 연관된 불확실성 값에 대한 표준 편차를 수신하는 단계, 및 중첩될 확률을 표준 편차에 의해 나눠진 제1 거리와 표준 편차에 의해 나눠진 제2 거리 사이의 누적 분포 함수로서 결정하는 단계를 포함한다. 다른 예에서, 방법은 또한 자율 차량의 플래닝 시스템에 의해 생성된 궤적으로부터 미래 시점에서의 자율 차량의 계획된 미래 위치를 결정하는 단계를 포함한다. 다른 예에서, 방법은 또한 자율 차량의 행동 모델링 시스템으로부터 미래 시점에서의 객체의 예상 위치를 결정하는 단계를 포함한다.
본 개시내용의 다른 양태는 자율 주행 모드를 갖는 차량을 제어하기 위한 시스템을 제공한다. 시스템은 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는, 자율 차량의 환경에서 검출된 객체의 형상 및 위치를 나타내는 폴리곤을 수신하고, 자율 차량을 나타내는 폴리곤에 액세스하고, 객체의 방향 및 미래 시점에서의 객체의 예상 위치에 기초하여 객체를 나타내는 폴리곤에 대한 전면 폴리라인을 결정하고, 전면 폴리라인의 좌표들을 반-평면 좌표 시스템으로 변환하고, 자율 차량의 계획된 미래 위치에 기초하여 전면 폴리라인과 객체를 나타내는 폴리곤 사이의 진입 위치 및 퇴장 위치를 결정하고, 진입 위치 및 퇴장 위치에 기초하여 객체와의 충돌을 회피하도록 자율 주행 모드에서 자율 차량을 제어하도록 구성된다.
일 예에서, 하나 이상의 프로세서는 객체의 방향 및 미래 시점에서의 객체의 계획된 미래 위치에 기초하여 객체를 나타내는 폴리곤에 대한 후면 폴리라인을 결정하고, 후면 폴리라인의 좌표들을 반-평면 좌표 시스템으로 변환하고, 미래의 자율 차량의 계획된 미래 위치에 기초하여 후면 폴리라인과 객체를 나타내는 폴리곤 사이의 제2 진입 위치 및 제2 퇴장 위치를 결정하고, 제2 진입 위치 및 제2 퇴장 위치에 추가로 기초하여 자율 차량을 제어하도록 추가로 구성된다. 또한, 하나 이상의 프로세서는 진입 위치 및 제2 진입 위치의 x-좌표 값의 최소값을 취함으로써 제1 거리를 결정하고, 제1 거리에 추가로 기초하여 자율 차량을 제어하도록 추가로 구성된다. 또한, 하나 이상의 프로세서는 퇴장 위치 및 제2 퇴장 위치의 x-좌표 값의 최대값을 취함으로써 제2 거리를 결정하고, 제1 거리에 추가로 기초하여 자율 차량을 제어하도록 추가로 구성된다. 또한, 하나 이상의 프로세서는 제1 거리 및 제2 거리를 사용하여 미래 시점에서 객체와 중첩될 확률을 결정하고, 제1 거리에 추가로 기초하여 자율 차량을 제어하도록 추가로 구성된다. 또한, 하나 이상의 프로세서는 객체의 예상된 미래 위치와 연관된 불확실성 값을 수신하고, 불확실성 값에 추가로 기초하여 중첩될 확률을 결정하도록 추가로 구성된다. 추가적으로 또는 대안적으로, 하나 이상의 프로세서는 객체의 예상된 미래 위치와 연관된 불확실성 값에 대한 표준 편차를 수신하고, 표준 편차를 사용하여 중첩될 확률을 누적 분포 함수로서 결정하도록 추가로 구성된다. 추가적으로 또는 대안적으로, 하나 이상의 프로세서는 객체의 예상된 미래 위치와 연관된 불확실성 값에 대한 표준 편차를 수신하고, 중첩될 확률을 표준 편차에 의해 나눠진 제1 거리와 표준 편차에 의해 나눠진 제2 거리 사이의 누적 분포 함수로서 결정하도록 추가로 구성된다. 다른 예에서, 하나 이상의 프로세서는 자율 차량의 플래닝 시스템에 의해 생성된 궤적으로부터 미래 시점에서의 자율 차량의 계획된 미래 위치를 결정하고, 자율 차량의 행동 모델링 시스템으로부터 미래 시점에서의 객체의 예상 위치를 결정하도록 추가로 구성된다. 다른 예에서, 시스템은 또한 자율 차량을 포함한다.
본 개시내용의 다른 양태는 자율 주행 모드를 갖는 차량을 제어하는 방법을 제공한다. 방법은, 하나 이상의 프로세서에 의해, 제1 객체의 형상 및 위치를 나타내는 폴리곤을 수신하는 단계; 하나 이상의 프로세서에 의해, 제2 객체의 형상 및 위치를 나타내는 폴리곤의 부분의 폴리라인 컨투어 표현을 수신하는 단계 - 폴리라인 컨투어 표현은 반-평면 좌표들에 있고 복수의 정점들 및 선분들을 포함함 -; 하나 이상의 프로세서에 의해, 제1 객체를 나타내는 폴리곤의 좌표들을 반-평면 좌표 시스템으로 변환하는 단계; 하나 이상의 프로세서에 의해, 변환된 좌표들을 사용하여 폴리라인 컨투어 표현과 제1 객체를 나타내는 폴리곤 사이의 충돌 위치를 결정하는 단계; 및 하나 이상의 프로세서에 의해, 충돌 위치에 기초하여 충돌을 회피하도록 자율 주행 모드에서 자율 차량을 제어하는 단계를 포함한다.
일 예에서, 제1 객체는 자율 차량이고, 제2 객체는 자율 차량의 환경 내의 객체이다. 다른 예에서, 제2 객체는 자율 차량이고, 제1 객체는 자율 차량의 환경 내의 객체이다. 다른 예에서, 충돌 위치는 충돌에 대한 진입 위치를 포함한다. 다른 예에서, 충돌 위치는 충돌에 대한 퇴장 위치를 포함한다.
본 개시내용의 다른 양태는 자율 주행 모드를 갖는 차량을 제어하기 위한 시스템을 제공한다. 시스템은 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는, 제1 객체의 형상 및 위치를 나타내는 폴리곤을 수신하고, 제2 객체의 형상 및 위치를 나타내는 폴리곤의 부분의 폴리라인 컨투어 표현을 수신하고 - 폴리라인 컨투어 표현은 반-평면 좌표들에 있고 복수의 정점들 및 선분들을 포함함 -, 제1 객체를 나타내는 폴리곤의 좌표들을 반-평면 좌표 시스템으로 변환하고, 변환된 좌표들을 사용하여 폴리라인 컨투어 표현과 제1 객체를 나타내는 폴리곤 사이의 충돌 위치를 결정하고, 충돌 위치에 기초하여 충돌을 회피하도록 자율 주행 모드에서 자율 차량을 제어하도록 구성된다.
일 예에서, 제1 객체는 자율 차량이고, 제2 객체는 자율 차량의 환경 내의 객체이다. 다른 예에서, 제2 객체는 자율 차량이고, 제1 객체는 자율 차량의 환경 내의 객체이다. 다른 예에서, 충돌 위치는 충돌에 대한 진입 위치를 포함한다. 다른 예에서, 충돌 위치는 충돌에 대한 퇴장 위치를 포함한다. 다른 예에서, 시스템은 또한 자율 차량을 포함한다.
본 개시내용의 다른 양태는 명령어들이 저장되는 비-일시적 기록 매체를 제공하며, 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, 자율 주행 모드를 갖는 차량을 제어하는 방법을 수행하게 한다. 방법은 제1 객체의 형상 및 위치를 나타내는 폴리곤을 수신하는 단계; 제2 객체의 형상 및 위치를 나타내는 폴리곤의 부분의 폴리라인 컨투어 표현을 수신하는 단계 - 폴리라인 컨투어 표현은 반-평면 좌표들에 있고 복수의 정점들 및 선분들을 포함함 -; 제1 객체를 나타내는 폴리곤의 좌표들을 반-평면 좌표 시스템으로 변환하는 단계; 변환된 좌표들을 사용하여 폴리라인 컨투어 표현과 제1 객체를 나타내는 폴리곤 사이의 충돌 위치를 결정하는 단계; 및 충돌 위치에 기초하여 충돌을 회피하도록 자율 주행 모드에서 자율 차량을 제어하는 단계를 포함한다.
일 예에서, 제1 객체는 자율 차량이고, 제2 객체는 자율 차량의 환경 내의 객체이다. 다른 예에서, 제2 객체는 자율 차량이고, 제1 객체는 자율 차량의 환경 내의 객체이다. 다른 예에서, 충돌 위치는 충돌에 대한 진입 위치를 포함한다. 다른 예에서, 충돌 위치는 충돌에 대한 퇴장 위치를 포함한다.
도 1은 예시적인 실시예에 따른 예시적인 차량의 기능도이다.
도 2는 본 개시내용의 양태들에 따른 차량의 예시적인 외부도이다.
도 3은 본 개시내용의 양태들에 따른 차량의 폴리라인 컨투어 표현이다.
도 4는 본 개시내용의 양태들에 따른 차량의 폴리곤 표현이다.
도 5a 및 도 5b는 본 개시내용의 양태들에 따른 전면 펜딩 폴리라인 컨투어 표현들 및 후면 펜딩 폴리라인 컨투어 표현들을 위한 반-평면 좌표들로의 차량의 폴리라인 컨투어 표현의 변환의 예시적인 표현들이다.
도 6은 본 개시내용의 양태들에 따른 세계 좌표들에서의 객체를 나타내는 예시적인 폴리곤이다.
도 7은 본 개시내용의 양태들에 따른 반-평면 좌표들에서의 객체를 나타내는 예시적인 폴리곤이다.
도 8은 본 개시내용의 양태들에 따른 반-평면 좌표들에서의 객체를 나타내는 폴리곤 및 차량의 예시적인 표현이다.
도 9는 본 개시내용의 양태들에 따른 반-평면 좌표들에서의 객체를 나타내는 폴리곤을 향해 좌측 전면 펜딩 폴리라인 컨투어 표현을 이동시키는 예시적인 표현이다.
도 10은 본 개시내용의 양태들에 따른 좌측 전면 펜딩 폴리라인 컨투어 표현 및 반-평면 좌표들에서의 객체를 나타내는 폴리곤의 예시적인 표현이다.
도 11은 본 개시내용의 양태들에 따른 좌측 후면 펜딩 폴리라인 컨투어 표현 및 반-평면 좌표들에서의 객체를 나타내는 폴리곤의 예시적인 표현이다.
도 12는 본 개시내용의 양태들에 따른 우측 전면 펜딩 폴리라인 컨투어 표현 및 반-평면 좌표들에서의 객체를 나타내는 폴리곤의 예시적인 표현이다.
도 13은 본 개시내용의 양태들에 따른 우측 후면 펜딩 폴리라인 컨투어 표현 및 반-평면 좌표들에서의 객체를 나타내는 폴리곤의 예시적인 표현이다.
도 14는 본 개시내용의 양태들에 따른 반-평면 좌표들에서의 객체를 나타내는 폴리곤을 향해 좌측 전면 펜딩 폴리라인 컨투어 표현을 이동시키는 예시적인 표현이다.
도 15는 본 개시내용의 양태들에 따른 상이한 시점들에서의 좌측 전면 및 후면 펜딩 폴리라인 컨투어 표현들 및 객체를 나타내는 폴리곤의 예시적인 표현이다.
도 16a 및 16b는 본 개시내용의 양태들에 따른 폴리라인 컨투어 표현들 및 객체를 나타내는 폴리곤들의 예시적인 표현이다.
도 17은 본 개시내용의 양태들에 따른 예시적인 흐름도이다.
도 18은 본 개시내용의 양태들에 따른 차량을 나타내는 폴리곤 및 자율 차량에 대한 계획된 궤적에 대한 객체를 나타내는 폴리곤에 대한 측면 불확실성(lateral uncertainty)의 예이다.
도 19는 본 개시내용의 양태들에 따른 객체를 나타내는 폴리곤에 대한 측면 불확실성의 다른 예이다.
도 20은 본 개시내용의 양태들에 따른 객체를 나타내는 예시적인 폴리곤이다.
도 21은 본 개시내용의 양태들에 따른 객체의 예시적인 전면 폴리라인 표현이다.
도 22는 본 개시내용의 양태들에 따른 객체의 예시적인 후면 폴리라인 표현이다.
도 23a는 본 개시내용의 양태들에 따른 반-평면 좌표들에서의 객체의 전면 폴리라인 표현의 예이다.
도 23b는 본 개시내용의 양태들에 따른 반-평면 좌표들에서의 객체의 후면 폴리라인 표현의 예이다.
도 24는 본 개시내용의 양태들에 따른 진입 및 퇴장 위치들을 포함하는 충돌 위치들을 결정하기 위한 예이다.
도 25는 본 개시내용의 양태들에 따른 예시적인 흐름도이다.
도 26은 본 개시내용의 양태들에 따른 예시적인 흐름도이다.
개요
기술은 충돌 분석을 위한 객체들의 표현에 관한 것이다. 다른 객체들과의 잠재적인 충돌을 추정할 때, 목표는 통상적으로 안전성을 증진하기 위해 그렇게 하는 동안 보수적(conservative)이도록 하는 것이다. 자율 차량의 센서들 및 미러들 모두를 포함하는 자율 차량의 모든 물리적 양태들의 경계를 이루는 직사각형(하향식으로 볼 때) 또는 3차원 직사각형에 의해 자율 차량의 컨투어가 종종 모델링된다. 자율 차량의 스웹 볼륨은 자율 차량의 계획된 경로 또는 계획된 궤적을 서로 연결되는 상이한 시간에서의 자율 차량의 위치를 각각 나타내는 일련의 연결된 상자들로서 근사화함으로써 결정될 수 있다. 그러나, 자율 차량 자체가 완벽한 직사각형이 아니기 때문에, 이 접근 방식은 특히 자율 차량의 모서리들에서 거짓 긍정 충돌들을 도입할 수 있다. 이와 동시에, 더 복잡한 폴리곤이 사용되는 경우, 자율 차량의 계획된 궤적 상에서 또는 그 내부에서 다른 객체들과의 잠재적인 충돌들을 분석할 때, 이러한 표현은 계산 비용이 많이 들 수 있다.
자율 차량의 컨투어들의 폴리라인 컨투어 표현은, 직사각형 또는 폴리곤을 사용하는 대신, 차량의 폭 프로파일에 기초하여 결정될 수 있다. 폴리라인 컨투어 표현은 자율 차량의 중심선에 의해 분할된 자율 차량의 각각의 측면에 대해 정의될 수 있다. 대부분의 차량들은 중심선을 따라 좌우 대칭이기 때문에, 폴리라인 컨투어 표현은 실제로 자율 차량의 한쪽 측면 또는 절반만, 예를 들어, 좌측 또는 우측 측면만 정의할 필요가 있다. 이와 관련하여, 충돌 분석을 위해 자율 차량의 나머지 절반이 필요한 경우, 폴리라인 컨투어 표현은 간단히 반전될 수 있다.
예시적인 폴리라인 컨투어 표현은 자율 차량의 전면 범퍼로부터 자율 차량의 후면 범퍼까지 그려진 차량 폭 프로파일로서 정의될 수 있다. 폴리라인 컨투어 표현은 자율 차량의 최대 절반 폭인 최대 y를 갖는 하나 또는 최대 2개의 연속적인 점을 갖는다. 폴리라인 컨투어 표현의 y 좌표는 최대 y를 갖는 점까지 단조 증가한 다음, 폴리라인 컨투어 표현이 최대 하나의 피크를 갖도록 단조 감소한다. 폴리라인 컨투어 표현을 사용할 때, 충돌 분석의 정확도를 증가시키거나 감소시키기 위해 폴리라인 컨투어 표현을 위해 선택된 점들의 수가 증가되거나 감소될 수 있다.
자율 차량이 앞으로 이동할 때, 객체들은 피크 앞의 절반에만 충돌할 수 있고, 자율 차량이 뒤로 주행할 때, 객체들은 피크 뒤의 절반에만 충돌할 수 있다. 이와 같이, 충돌 분석을 수행할 때, 자율 차량이 객체를 향해 앞으로 이동하고 있을 때에는 피크 앞의 폴리라인 컨투어 표현의 부분만이 필요하고, 자율 차량이 객체로부터 멀리 이동하고 있을 때에는 피크 뒤의 폴리라인 컨투어 표현의 부분만이 필요하다. 즉, 차량이 객체와 충돌하기 시작하고 자율 차량이 앞으로 주행하고 있을 때를 결정할 때에는, 피크 뒤에 있는 폴리라인 컨투어 표현 상의 점들이 무시될 수 있고, 자율 차량이 뒤로 주행하고 있을 때에는, 피크 앞에 있는 폴리라인 컨투어 표현 상의 점들이 무시될 수 있다.
폴리라인 컨투어 표현은 피크 앞 및 뒤에 있는 폴리라인 컨투어 표현의 부분들 각각에 대한 반-평면 좌표들로 변환될 수 있다. 예를 들어, 자율 차량은 반-평면의 우측면에 배치될 수 있다. 자율 차량과 객체 사이의 중첩들을 추론할 때, 전면 및 후면 범퍼들 또는 펜딩 폴리라인 컨투어 표현들은 반-평면을 따라 앞뒤로 슬라이딩될 수 있다.
자율 차량이 주행할 때, 그것의 인식 시스템은 자율 차량의 환경에서 객체의 형상 및 위치를 검출 및 식별할 수 있다. 예를 들어, 인식 시스템은 위치 정보, 및 객체의 형상 및 위치를 나타내는 폴리곤을 제공할 수 있다. 객체를 나타내는 폴리곤은 임의의 좌표 시스템, 예를 들어, 위도 및 경도 또는 자율 차량의 좌표 시스템 또는 인식 시스템의 센서에 있을 수 있다.
충돌 분석을 수행할 때, 객체를 나타내는 폴리곤은 위치 정보를 사용하여 반-평면 좌표 시스템으로 변환될 수 있다. 이것은, 예를 들어, 반-평면의 정방향(forward direction) 및 수직 방향에서 폴리곤의 극점(extreme point)들을 찾음으로써 수행될 수 있다. 그런 다음, 폴리곤의 1/4이 추출될 수 있고, 해당 1/4의 폴리곤 점들이 반-평면 좌표로 변환될 수 있다.
그 후, 객체의 표현에 대한 충돌 위치가 결정될 수 있다. 충돌 위치는 진입 위치 및 퇴장 위치를 포함할 수 있다. 자율 차량의 현재 계획된 궤적을 고려할 때, 진입 위치는 자율 차량과 초기에 충돌할 폴리라인 컨투어 표현의 특정 선분에 대응할 수 있다. 진입 위치를 결정하는 것 외에도, 충돌 퇴장 위치도 결정될 수 있다. 진입 위치는 자율 차량이 객체와 충돌할 곳을 식별할 수 있는 반면, 퇴장 위치는 자율 차량이 충돌에서 벗어날 수 있는 방법을 식별할 수 있다. 이것은 차량의 컴퓨팅 디바이스들이 객체의 경로를 추월하기로 결정할 때 유용할 수 있다. 진입 위치 및 충돌 퇴장 위치가 결정되면, 자율 차량의 컴퓨팅 디바이스들은 이 정보를 사용하여 객체를 회피하도록 자율 주행 모드에서 자율 차량의 속도를 더 잘 제어(예를 들어, 더 빠르게 주행하거나 또는 더 느리게 주행)하는 방법을 결정할 수 있다.
위의 예에서와 같이, 자율 차량의 인식 시스템에 의해 검출된 객체에 대한 모든 점들의 경계를 이루는 2차원(2D) 또는 3차원(3D) 폴리곤 또는 객체를 나타내는 폴리곤에 의해 객체의 컨투어가 종종 모델링된다. 객체에 대한 예측된 궤적이 또한, 예를 들어, 다양한 행동 모델링 기술들뿐만 아니라, 객체, 다른 객체들 및 일반적으로 자율 차량의 환경에 대한 인식 시스템으로부터의 센서 데이터를 사용하여 자율 차량의 행동 모델링 시스템에 의해 결정될 수 있다. 객체에 대한 2D 또는 3D 경로 또는 계획된 궤적이 예측된 궤적을 따라 객체를 나타내는 폴리곤을 이동시킴으로써 결정될 수 있다. 충돌들에 대한 모델링은 통상적으로 자율 차량의 미래 궤적을 사용하여 자율 차량에 대한 2D 또는 3D 경로를 결정하고 이것이 객체에 대한 2D 또는 3D 경로와 교차할지 여부를 결정함으로써 수행된다.
그러나, 행동 모델링 시스템뿐만 아니라 인식 시스템으로부터의 객체의 특성들에서의 불확실성으로 인해, 객체의 이동 방향과 관련된 상당한 측면 불확실성이 있을 수 있다. 따라서, 객체에 대한 예측된 궤적이 상당히 부정확할 수 있어, 자율 차량의 계획된 궤적과 비교할 때 충돌 결정들이 부정확할 수 있다.
이러한 단점들을 해결하기 위해, 객체의 측면 불확실성은 행동 모델링 시스템에 의해 출력된 불확실성으로부터 평균 및 표준 편차(standard deviation)(sd)를 갖는 정규 분포로서 모델링될 수 있다. 자율 차량의 계획된 궤적과 중첩될 확률이 결정될 수 있다. 예를 들어, 객체와 자율 차량의 계획된 궤적 사이의 거리들은 객체와 자율 차량의 계획된 궤적 사이의 진입 및 퇴장 거리들을 계산함으로써 결정될 수 있다. 중첩될 확률은 진입 및 퇴장 거리들 및 표준 편차를 채택하는 누적 분포 함수를 이용하여 결정될 수 있다.
객체가 잠재적으로 자율 차량의 계획된 궤적에 진입하고 퇴장할 때, 진입 및 퇴장 거리들, 또는 오히려, 객체를 나타내는 폴리곤의 포지션을 결정하기 위해, 객체의 폴리곤은 전면 및 후면 폴리라인들로 분해될 수 있다. 그렇게 하기 위해, 객체의 궤적에 대한 최-좌측 및 최-우측 점들이 식별될 수 있다. 이것은 객체의 좌표 시스템을 식별들을 단순화하는 것으로 변환하는 것을 포함할 수도 또는 포함하지 않을 수도 있는 공지된 기술들을 사용하여 달성될 수 있다. 이러한 최-좌측 및 최-우측 점들로부터, 폴리곤은 실제로 객체에 대한 전면 및 후면 폭 프로파일들을 나타낼 수 있는 전면 및 후면 폴리라인들로 분할될 수 있다. 그런 다음, 전면 및 후면 폴리라인들 각각은 반-평면 좌표들로 변환될 수 있다.
충돌 위치들, 또는 오히려, 전면 및 후면 폴리라인들 각각에 대한 진입 위치 및 퇴장 위치가 결정될 수 있다. 자율 차량의 현재 궤적을 고려할 때, 각각의 진입 또는 퇴장 위치는 자율 차량과 충돌할 전면 또는 후면 폴리라인의 특정 선분에 대응할 수 있다. 진입 위치는 자율 차량이 객체와 충돌할 곳을 식별할 수 있는 반면, 퇴장 위치는 자율 차량이 객체의 궤적과의 충돌에서 벗어날 수 있는 방법을 식별할 수 있다. 자율 차량의 현재 또는 미래 궤적을 고려할 때, 진입 및/또는 퇴장 위치는 자율 차량과 충돌할 폴리라인의 특정 선분 또는 점에 대응할 수 있다. 그런 다음, 전면 및 후면 반-평면들에 대한 진입 및 퇴장 위치들로부터 진입 및 퇴장 거리들이 결정될 수 있다. 그런 다음, 이러한 값들을 사용하여 자율 차량의 계획된 궤적을 따른 일부 위치에서 중첩될(예를 들어, 충돌할) 확률을 결정할 수 있다.
전술한 접근 방식은 또한 자율 차량에 대한 폴리곤이 객체의 측면 영역의 일부와 중첩되는 경우들에 유용할 수 있다. 이것은 차량의 컴퓨팅 디바이스들이 객체를 회피하거나 또는 심지어 추월하기로 결정할 때 유용할 수 있다. 중첩될 확률이 결정되면, 자율 차량의 컴퓨팅 디바이스들은 이 정보를 사용하여 객체를 회피하도록 자율 주행 모드에서 자율 차량의 속도를 더 잘 제어하는 방법을 결정할 수 있다. 일부 인스턴스들에서, 자율 차량은 심지어 새로운 궤적을 생성할 수도 있다. 본 명세서에서 설명되는 피처들은 충돌 분석을 위한 객체의 효율적이지만 현실적인 표현을 제공할 수 있다. 예를 들어, 본 명세서에서 설명되는 피처들은 객체와 자율 차량의 궤적 사이의 중첩될 확률을 계산하는 효율적이고 정확한 방법을 허용할 수 있다. 또한, 자율 차량의 폴리라인 표현의 경우, 자율 차량의 표현이 자율 차량의 실제 치수들보다 큰 거친 2차원 직사각형으로 일반화되지 않기 때문에, 이것은 자율 차량의 스웹 볼륨을 상당히 감소시킬 수 있고, 차례로, 자율 차량이 더 좁은 통로들을 그리고 다른 객체들에 더 가까이 통과할 수 있도록 한다. 위에서 언급된 바와 같이, 충돌 검출의 목표는 궁극적으로 보수적이도록 하는 것이며 임의의 가능한 충돌을 검출하는 것이다. 그러나, 폴리라인 표현을 사용하면, 보수적인 추정의 특성을 손상시키지 않으면서, 자율 차량과 기타 객체들 사이의 더 큰 거리들을 계산할 수 있다.
또한, 폴리라인 컨투어 표현은 차량의 절반에만 대응할 필요가 있고, 충돌 분석을 수행할 때 (피크 앞 또는 뒤의) 해당 부분만이 필요하기 때문에, 이것은 메모리 및 프로세싱 리소스들도 상당히 감소시킬 수 있다. 본 명세서에서 설명되는 바와 같이, 폴리라인 컨투어 표현은 또한 단순히 자율 차량 상의 물리적인 점에 실제로 대응할 수도 있고 또는 대응하지 않을 수도 있는 직사각형 상의 점보다는 자율 차량의 어느 부분이 충돌에 관여될 것인지(예를 들어, 미러 또는 범퍼와 충돌할지)를 결정할 수 있다. 또한, 폴리라인 컨투어 표현의 y 좌표의 단조성 때문에, 객체가 자율 차량의 궤적과 얼마나 깊이 중첩되는지가 알려지면, 충돌 분석을 위해 어느 선분을 사용할지가 빠르게 결정될 수 있다.
차량들 및 실시간 의사 결정에 더하여, 본 명세서에서 설명되는 피처들은 또한 비디오 게임들뿐만 아니라 테스트 환경들을 포함하는 시뮬레이션들과 같은 객체들의 가상 표현들을 포함하여 차량들 이외의 객체들에도 유용할 수 있다. 예를 들어, 본 명세서에서 설명되는 피처들은 시뮬레이션들 자체들을 더 효율적으로 만드는 해당 가상 객체들에 대해 진입 위치들 및 퇴장 위치들을 포함하여 충돌 위치들을 결정하는 데 사용될 수 있다.
폴리라인 컨투어 표현은, 실제 차량들과 함께 사용될 때, 차량 또는 차량의 환경 내의 객체를 나타내는 직사각형 폴리곤보다 더 미세하기 때문에, 본 명세서에서 설명되는 피처들은 자율 차량과 기타 객체들 사이의 계산된 거리들을 효과적으로 증가시킬 수 있어, 기타 객체들과의 거짓 긍정 충돌들의 우도(likelihood)를 감소시킬 수 있고, 차량이 다른 객체에 의해 거짓으로 차단되어 좌초될(진행하지 못할) 우도를 감소시킬 수 있으며, 자율 차량이 객체에 더 가까이 다가가거나 또는 그 주위를 돌(nudge) 수 있기 때문에, 기타 객체들에 의해 유발되는 가려짐(occlusion)들을 감소시킬 수 있다. 차례로, 모든 이러한 이점들은 자율 차량이 객체들 주위를 더 잘 조종할 수 있게 하고, 일부 경우들에서는, 더 빠르게 주행할 수 있게 하고, 또한 회피적인(또는 다르게는 불편한) 조종들에 대한 필요성을 감소시킬 수 있어, 승객들에 대한 전반적인 주행 편의성을 개선시킬 수 있다.
예시적인 시스템들
도 1에 도시된 바와 같이, 본 개시내용의 일 양태에 따른 차량(100)은 다양한 컴포넌트들을 포함한다. 본 개시내용의 특정 양태들은 특정 타입들의 차량들과 관련하여 특히 유용하지만, 자율 차량은 자동차들, 트럭들, 오토바이들, 버스들, 레저용 차량들 등을 포함하되, 이에 제한되지 않는 임의의 타입의 차량일 수 있다. 자율 차량은 하나 이상의 프로세서(120), 메모리(130), 및 범용 컴퓨팅 디바이스들에 통상적으로 존재하는 기타 컴포넌트들을 포함하는 컴퓨팅 디바이스(110)와 같은 하나 이상의 컴퓨팅 디바이스를 가질 수 있다.
메모리(130)는 프로세서(120)에 의해 실행되거나 또는 다른 방식으로 사용될 수 있는 명령어들(132) 및 데이터(134)를 포함하여, 하나 이상의 프로세서(120)에 의해 액세스 가능한 정보를 저장한다. 메모리(130)는 하드 드라이브, 메모리 카드, ROM, RAM, DVD 또는 기타 광 디스크들뿐만 아니라 기타 기입 가능 및 판독 전용 메모리들과 같이, 컴퓨팅 디바이스 판독 가능 매체 또는 전자 디바이스의 도움으로 판독될 수 있는 데이터를 저장하는 기타 매체를 포함하여, 프로세서에 의해 액세스 가능한 정보를 저장할 수 있는 임의의 타입일 수 있다. 시스템들 및 방법들은 전술한 것들의 상이한 조합들을 포함할 수 있으며, 이에 의해 명령어들 및 데이터의 상이한 부분들이 상이한 타입들의 매체들에 저장된다.
명령어들(132)은 프로세서에 의해 직접적으로(예를 들어, 머신 코드) 또는 간접적으로(예를 들어, 스크립트들) 실행될 임의의 세트의 명령어들일 수 있다. 예를 들어, 명령어들은 컴퓨팅 디바이스 판독 가능 매체에 컴퓨팅 디바이스 코드로서 저장될 수 있다. 이와 관련하여, "명령어들" 및 "프로그램들"이라는 용어들은 본 명세서에서 상호 교환적으로 사용될 수 있다. 명령어들은 프로세서에 의한 직접 프로세싱을 위한 객체 코드 포맷으로, 또는 온디맨드로 해석되거나 또는 사전에 컴파일되는 독립 소스 코드 모듈들의 모음들 또는 스크립트들을 포함하는 임의의 다른 컴퓨팅 디바이스 언어로 저장될 수 있다. 명령어들의 기능들, 방법들 및 루틴들은 아래에 더 상세하게 설명되어 있다.
데이터(134)는 명령어들(132)에 따라 프로세서(120)에 의해 리트리브, 저장 또는 수정될 수 있다. 예를 들어, 청구되는 대상이 임의의 특정 데이터 구조에 의해 제한되지는 않지만, 데이터는 컴퓨팅 디바이스 레지스터들에, 복수의 상이한 필드들 및 레코드들, XML 문서들 또는 플랫 파일들을 갖는 테이블로서 관계형 데이터베이스에 저장될 수 있다. 데이터는 또한 임의의 컴퓨팅 디바이스 판독 가능 포맷으로 포맷될 수 있다.
하나 이상의 프로세서(120)는 상업적으로 이용 가능한 CPU들 또는 GPU들과 같은 임의의 종래의 프로세서들일 수 있다. 대안적으로, 하나 이상의 프로세서는 ASIC 또는 기타 하드웨어 기반 프로세서와 같은 전용 디바이스일 수 있다. 도 1은 프로세서, 메모리, 및 컴퓨팅 디바이스(110)의 기타 요소들을 동일한 블록 내에 있는 것으로 기능적으로 예시하지만, 프로세서, 컴퓨팅 디바이스 또는 메모리는 동일한 물리적 하우징 내에 수용될 수도 또는 수용되지 않을 수도 있는 다수의 프로세서들, 컴퓨팅 디바이스들 또는 메모리들을 실제로 포함할 수 있다는 것이 본 기술분야의 통상의 기술자에 의해 이해될 것이다. 예를 들어, 메모리는 컴퓨팅 디바이스(110)의 것과 상이한 하우징에 위치되는 하드 드라이브 또는 기타 저장 매체일 수 있다. 따라서, 프로세서 또는 컴퓨팅 디바이스에 대한 참조들은 병렬로 동작할 수도 있고 또는 동작하지 않을 수도 있는 프로세서들 또는 컴퓨팅 디바이스들 또는 메모리들의 집합에 대한 참조들을 포함하는 것으로 이해될 것이다.
일 양태에서, 컴퓨팅 디바이스들(110)은 자율 주행 모드에서 자율 차량을 제어하기 위해 자율 차량의 다양한 컴포넌트들과 통신할 수 있는 자율 제어 시스템의 일부일 수 있다. 예를 들어, 도 1로 돌아가서, 컴퓨팅 디바이스들(110)은 자율 주행 모드에서 메모리(130)의 명령어들(132)에 따라 차량(100)의 이동, 속도 등을 제어하기 위해 감속 시스템(160), 가속 시스템(162), 스티어링 시스템(164), 라우팅 시스템(166), 플래닝 시스템(planning system)(168), 포지셔닝 시스템(170), 인식 시스템(172), 행동 모델링 시스템(174) 및 전력 시스템(176)과 같은 차량(100)의 다양한 시스템들과 통신할 수 있다.
예로서, 컴퓨팅 디바이스들(110)은 자율 차량의 속도를 제어하기 위해 감속 시스템(160) 및 가속 시스템(162)과 상호 작용할 수 있다. 유사하게, 스티어링 시스템(164)은 차량(100)의 방향을 제어하기 위해 컴퓨팅 디바이스들(110)에 의해 사용될 수 있다. 예를 들어, 자동차 또는 트럭과 같은 차량(100)이 도로에서 사용되도록 구성되는 경우, 스티어링 시스템은 자율 차량의 방향을 전환하기 위해 휠들의 각도를 제어하기 위한 컴포넌트들을 포함할 수 있다.
플래닝 시스템(168)은 위치에 대해 라우팅 시스템(166)에 의해 생성된 루트를 결정하고 이를 따르기 위해 컴퓨팅 디바이스들(110)에 의해 사용될 수 있다. 예를 들어, 라우팅 시스템(166)은 맵 정보를 사용하여 자율 차량의 현재 위치로부터 하차 위치까지의 루트를 결정할 수 있다. 플래닝 시스템(168)은 목적지까지의 루트(자율 차량의 현재 루트)를 따르기 위해 미래의 일부 기간 동안 자율 차량을 제어하기 위한 궤적들 또는 단기 계획들을 주기적으로 생성할 수 있다. 이와 관련하여, 플래닝 시스템(168), 라우팅 시스템(166), 및/또는 데이터(134)는 상세한 맵 정보, 예를 들어, 도로들, 차선들, 교차로들, 횡단 보도들, 속도 제한들, 교통 신호들, 건물들, 표지판들, 실시간 교통 정보, 초목 또는 기타 이러한 객체들 및 정보의 형상 및 고도를 식별하는 매우 상세한 맵들을 저장할 수 있다.
맵 정보는 도로들, 레인들, 교차로들, 및 도로 세그먼트들에 의해 표현될 수 있는 이러한 피처(feature)들 사이의 연결부들과 같은 정보의 하나 이상의 로드그래프 또는 그래프 네트워크를 포함할 수 있다. 각각의 피처는 그래프 데이터로서 저장될 수 있고, 지리적 위치, 및 이것이 기타 관련된 피처들에 링크되는지 여부, 예를 들어, 정지 표지판이 도로 및 교차로 등에 링크될 수 있는지 여부와 같은 정보와 연관될 수 있다. 일부 예들에서, 연관된 데이터는 특정 로드그래프 피처들의 효율적인 룩업을 허용하기 위해 로드그래프의 그리드-기반 인덱스들을 포함할 수 있다.
포지셔닝 시스템(170)은 맵 또는 지구 상의 자율 차량의 상대적인 또는 절대적인 포지션을 결정하기 위해 컴퓨팅 디바이스들(110)에 의해 사용될 수 있다. 예를 들어, 포지셔닝 시스템(170)은 디바이스의 위도, 경도 및/또는 고도 포지션을 결정하기 위해 GPS 수신기를 포함할 수 있다. 레이저-기반 로컬라이제이션 시스템들, 관성-지원 GPS 또는 카메라-기반 로컬라이제이션과 같은 기타 위치 시스템들도 자율 차량의 위치를 식별하는 데 사용될 수 있다. 자율 차량의 위치는 위도, 경도 및 고도와 같은 절대적인 지리적 위치뿐만 아니라, 절대적인 지리적 위치보다 노이즈가 덜한 상태로 종종 결정될 수 있는 그 바로 주위의 다른 자동차들에 대한 위치와 같은 상대적인 위치 정보도 포함할 수 있다.
포지셔닝 시스템(170)은 또한 가속도계, 자이로스코프, 또는 자율 차량의 방향 및 속도 또는 그에 대한 변경들을 결정하기 위한 다른 방향/속도 검출 디바이스와 같은 컴퓨팅 디바이스들(110)의 컴퓨팅 디바이스들과 통신하는 다른 디바이스들을 포함할 수 있다. 단지 예로서, 가속 디바이스는 중력 방향 또는 그것에 수직인 평면에 대해 그것의 피치, 요 또는 롤(또는 그에 대한 변화들)을 결정할 수 있다. 디바이스는 또한 속도의 증가들 또는 감소들 및 이러한 변화들의 방향을 추적할 수 있다. 본 명세서에서 설명되는 디바이스의 위치 및 방위 데이터의 프로비전이 컴퓨팅 디바이스(110), 기타 컴퓨팅 디바이스들 및 전술한 것들의 조합들에 자동으로 제공될 수 있다.
인식 시스템(172)은 또한 다른 차량들, 도로의 장애물들, 교통 신호들, 표지판들, 나무들 등과 같은 자율 차량 외부의 객체들을 검출하기 위한 하나 이상의 컴포넌트를 포함한다. 예를 들어, 인식 시스템(172)은 레이저들, 소나들, 레이더, 카메라들, 및/또는 컴퓨팅 디바이스들(110)의 컴퓨팅 디바이스들에 의해 프로세싱될 수 있는 데이터를 기록하는 임의의 기타 검출 디바이스들을 포함할 수 있다. 자율 차량이 미니밴과 같은 승용차인 경우, 미니밴은 레이저, 또는 루프(roof) 또는 기타 편리한 위치에 장착된 기타 센서들을 포함할 수 있다. 예를 들어, 도 2는 차량(100)의 예시적인 외부도이다. 이 예에서, 루프-탑 하우징(210) 및 돔 하우징(212)은 LIDAR 센서뿐만 아니라, 다양한 카메라들 및 레이더 유닛들을 포함할 수 있다. 또한, 차량(100)의 전방 단부에 위치되는 하우징(220) 및 자율 차량의 운전석 및 승객석 측들에 있는 하우징들(230, 232)은 각각 LIDAR 센서를 수용할 수 있다. 예를 들어, 하우징(230)은 운전석 도어(260) 앞에 위치된다. 차량(100)은 또한 차량(100)의 루프에 위치되는 레이더 유닛들 및/또는 카메라들을 위한 하우징들(240, 242)을 또한 포함한다. 추가적인 레이더 유닛들 및 카메라들(도시 생략)이 차량(100)의 전방 및 후방 단부들에 및/또는 루프 또는 루프-탑 하우징(210)을 따른 기타 포지션들에 위치될 수 있다.
컴퓨팅 디바이스들(110)은 컴퓨팅 디바이스들(110)의 메모리의 1차 차량 제어 코드에 따라 차량(100)의 이동을 제어하기 위해 자율 차량의 다양한 컴포넌트들과 통신할 수 있다. 예를 들어, 도 1로 돌아가서, 컴퓨팅 디바이스들(110)은 메모리(130)의 명령어들(132)에 따라 차량(100)의 이동, 속도 등을 제어하기 위해 감속 시스템(160), 가속 시스템(162), 스티어링 시스템(164), 라우팅 시스템(166), 플래닝 시스템(168), 포지셔닝 시스템(170), 인식 시스템(172) 및 전력 시스템(176)(즉, 자율 차량의 엔진 또는 모터)과 같은 차량(100)의 다양한 시스템들과 통신하는 다양한 컴퓨팅 디바이스들을 포함할 수 있다.
자율 차량의 다양한 시스템들은 자율 차량을 제어하기 위한 방법을 결정하기 위해 자율 차량 제어 소프트웨어를 사용하여 기능할 수 있다. 예로서, 인식 시스템(172)의 인식 시스템 소프트웨어 모듈은 카메라들, LIDAR 센서들, 레이더 유닛들, 소나 유닛들 등과 같은 자율 차량의 하나 이상의 센서에 의해 생성된 센서 데이터를 사용하여 객체들 및 그들의 특성들을 검출 및 식별할 수 있다. 이러한 특성들은 위치, 타입, 방향(heading), 방위, 속도, 가속도, 가속도의 변화, 사이즈, 형상 등을 포함할 수 있다. 예를 들어, 인식 시스템(172)은 객체의 형상 및 치수들을 나타내는 2D 또는 3D 경계 상자와 같은 폴리곤을 제공할 수 있다. 인식 시스템(172)은 또한 위치, 타입, 방향, 방위, 속도, 가속도, 가속도의 변화, 사이즈, 형상 등을 포함하는 객체의 특성들 각각에 대한 불확실성을 제공할 수 있다.
일부 인스턴스들에서는, 특성들뿐만 아니라 불확실성들이 행동 모델링 시스템(174)에 입력될 수 있다. 예를 들어, 객체를 나타내는 폴리곤뿐만 아니라 객체의 특성들에 대한 불확실성이 행동 모델링 시스템(174)에 입력될 수 있다. 행동 모델링 시스템(174)은 객체를 나타내는 폴리곤뿐만 아니라 객체의 특성들에 대한 불확실성뿐을 고려할 때 검출된 객체에 대한 예측된 미래 행동을 출력하기 위해 객체 타입에 기초한 다양한 행동 모델들을 사용하는 소프트웨어 모듈들을 포함할 수 있다. 객체의 예측된 미래 행동은 복수의 미래 위치들을 나타내는 예측된 궤적 및 객체의 특성들을 포함할 수 있다. 특성들에 대한 불확실성들 및 행동 예측들에 내재된 불확실성들로 인해, 행동 예측 모델은 시간이 지남에 따라 증가하는 궤적에 대한 불확실성을 제공할 수 있다. 즉, 객체의 예측된 위치 및 이동 방향과 관련된 불확실성은 시간이 지남에 따라 증가할 수 있다.
다른 인스턴스들에서, 특성들은 알려진 교통 신호들의 상태들을 검출하도록 구성되는 신호등 검출 시스템 소프트웨어 모듈, 자율 차량의 하나 이상의 센서에 의해 생성된 센서 데이터로부터 건설 구역들을 검출하도록 구성되는 건설 구역 검출 시스템 소프트웨어 모듈뿐만 아니라, 자율 차량의 센서들에 의해 생성된 센서 데이터로부터 긴급 차량(emergency vehicle)들을 검출하도록 구성되는 긴급 차량 검출 시스템과 같은 하나 이상의 검출 시스템 소프트웨어 모듈에 입력될 수 있다. 이러한 검출 시스템 소프트웨어 모듈들 각각은 다양한 모델들을 사용하여 건설 구역 또는 객체가 긴급 차량일 우도를 출력할 수 있다.
검출된 객체들, 예측된 미래 행동들, 검출 시스템 소프트웨어 모듈들로부터의 다양한 우도들, 자율 차량의 환경을 식별하는 맵 정보, 자율 차량의 위치 및 방위를 식별하는 포지셔닝 시스템(170)으로부터의 포지션 정보, 자율 차량에 대한 목적지뿐만 아니라, 자율 차량의 다양한 기타 시스템들로부터의 피드백이 플래닝 시스템(168)의 플래닝 시스템 소프트웨어 모듈에 입력될 수 있다. 플래닝 시스템은 이 입력을 사용하여 자율 차량이 라우팅 시스템(166)의 라우팅 모듈에 의해 생성된 자율 차량의 현재 루트에 기초하여 미래의 일부 짧은 기간 동안 따를 궤적들을 생성할 수 있다. 컴퓨팅 디바이스들(110)의 제어 시스템 소프트웨어 모듈은 궤적을 따르기 위해, 예를 들어, 자율 차량의 제동, 가속 및 스티어링을 제어함으로써 자율 차량의 이동을 제어하도록 구성될 수 있다.
컴퓨팅 디바이스들(110)은 다양한 컴포넌트들을 제어함으로써 자율 주행 모드에서 자율 차량을 제어할 수 있다. 예를 들어, 예로서, 컴퓨팅 디바이스들(110)은 상세한 맵 정보 및 플래닝 시스템(168)으로부터의 데이터를 사용하여 완전히 자율적으로 자율 차량을 목적지 위치로 내비게이션할 수 있다. 컴퓨팅 디바이스들(110)은, 위치에 안전하게 도착할 필요가 있을 때, 포지셔닝 시스템(170)을 사용하여 자율 차량의 위치를 결정하고, 인식 시스템(172)을 사용하여 객체들을 검출하고 이에 응답할 수 있다. 다시 말해서, 그렇게 하기 위해, 컴퓨팅 디바이스(110)는 궤적들을 생성하고, 예를 들어, 자율 차량이 (예를 들어, 가속 시스템(162)에 의해 엔진 또는 전력 시스템(176)에 연료 또는 기타 에너지를 공급함으로써) 가속되게 하고, (예를 들어, 엔진 또는 전력 시스템(176)에 공급되는 연료를 감소시킴으로써, 기어들을 변경함으로써, 및/또는 감속 시스템(160)에 의해 브레이크들을 적용함으로써) 감속되게 하고, (예를 들어, 스티어링 시스템(164)에 의해 차량(100)의 전방 또는 후방 휠들의 방향을 전환함으로써) 방향을 변경하게 하고, (예를 들어, 자율 차량의 방향 지시등들을 조명함으로써) 이러한 변경들을 시그널링하게 함으로써, 자율 차량이 이러한 궤적들을 따르게 할 수 있다. 따라서, 가속 시스템(162) 및 감속 시스템(160)은 자율 차량의 엔진과 자율 차량의 휠들 사이의 다양한 컴포넌트들을 포함하는 구동계(drivetrain)의 일부일 수 있다. 다시 말해서, 이러한 시스템들을 제어함으로써, 컴퓨팅 디바이스들(110)은 또한 자율 차량을 자율적으로 조종하기 위해 자율 차량의 구동계를 제어할 수 있다.
예시적인 방법들
위에서 설명되고 도면들에 예시된 동작들에 더하여, 이제 다양한 동작들이 설명될 것이다. 다음 동작들이 아래에 설명된 정확한 순서로 수행될 필요는 없다는 것이 이해되어야 한다. 오히려, 다양한 단계들이 상이한 순서로 또는 동시에 핸들링될 수 있고, 단계들이 또한 추가되거나 생략될 수도 있다.
위에서 언급된 바와 같이, 통상적으로, 자율 차량의 센서들 및 미러들 모두를 포함하는 자율 차량의 모든 물리적 양태들의 경계를 이루는 직사각형(하향식으로 볼 때) 또는 3차원 직사각형에 의해 자율 차량의 컨투어가 종종 모델링된다. 자율 차량의 스웹 볼륨은 경로 또는 궤적을 서로 연결되는 상이한 시간에서의 자율 차량의 위치를 각각 나타내는 일련의 연결된 상자들로서 근사화함으로써 결정될 수 있다. 그러나, 자율 차량 자체가 완벽한 직사각형이 아니기 때문에, 이 접근 방식은 특히 자율 차량의 모서리들에서 거짓 긍정 충돌들을 도입할 수 있다. 이와 동시에, 더 복잡한 폴리곤이 사용되는 경우, 자율 차량의 계획된 궤적에서 다른 객체들과의 잠재적인 충돌들을 분석할 때, 이러한 표현은 계산 비용이 많이 들 수 있다.
직사각형 또는 폴리곤을 사용하는 대신, 차량의 컨투어들의 폴리라인 컨투어 표현(또는 폴리라인 컨투어 표현)은 차량의 폭 프로파일 또는 폭 치수들에 기초하여 결정될 수 있다. 폴리라인 컨투어 표현은 자율 차량의 중심선에 의해 분할된 자율 차량의 각각의 측면(좌측/우측, 운전자/승객 등)에 대해 정의될 수 있다. 대부분의 차량들은 중심선을 따라 좌우 대칭이기 때문에, 폴리라인 컨투어 표현은 실제로 자율 차량의 한쪽 측면 또는 절반만, 예를 들어, 좌측 또는 우측 측면만 정의할 필요가 있다. 이와 관련하여, 충돌 분석을 위해 자율 차량의 나머지 절반이 필요한 경우, 폴리라인 컨투어 표현은 간단히 반전될 수 있다. 도 3은 자율 차량(100)의 윤곽(outline)(310)에 오버레이된 예시적인 폴리라인 컨투어 표현(300)이다. 이 폴리라인 컨투어 표현 또는 플래닝 시스템(168)에 의해 생성된 궤적을 따른 자율 차량을 나타내는 폴리곤(예를 들어, 직사각형)을 이동시키면 자율 차량(100)에 대한 스웹 볼륨을 식별할 수 있고, 자율 차량의 환경 내의 어느 객체들이 이 스웹 볼륨과 교차할 가능성이 있는지를 식별하는 데 사용될 수 있다. 그런 다음, 컴퓨팅 디바이스들은 폴리라인 컨투어 표현을 사용하여 잠재적인 충돌 위치들을 식별할 수 있다.
충돌 분석에 필요한 계산을 단순화하기 위해, 자율 차량 상의 원점 (0,0) 위치는 상이한 목적들을 위해 다양한 위치들에 포지셔닝될 수 있다. 예를 들어, 자율 차량 폭 프로파일의 좌표들이 자율 차량의 후면 차축 또는 일부 다른 위치를 원점으로서 사용하고, 자율 차량의 방향(heading)을 X 축으로서 사용한다고 결정할 때. Y 축은 차량의 좌측(예를 들어, 운전석) 측을 가리킬 수 있다. 예를 들어, 원점(320)은 자율 차량의 길이를 따른 중심선(350) 상의 대칭점에서 자율 차량의 후면 차축에 위치된다. 충돌 분석을 위해 폴리라인 컨투어 표현을 사용할 때, 원점은 아래에서 더 논의되는 바와 같이 계산들을 단순화하기 위해 필요에 따라 포지셔닝될 수 있다.
예시적인 폴리라인 컨투어 표현은 자율 차량의 전면 범퍼로부터 자율 차량의 후면 범퍼까지 그려진 차량 폭 프로파일로서 정의될 수 있다. 폴리라인 컨투어 표현(300)은 자율 차량의 최대 절반 폭 또는 최대값의 절반인 최대 y 좌표를 갖는 하나 또는 최대 2개의 연속적인 점을 갖는다. 즉, 폴리라인 컨투어 표현은 최대 y 좌표를 갖는 최소 개수의 필요한 점들을 사용하여 생성될 수 있다(즉, 2개 이하). 통상적인 경우, 최대 y 좌표는 자율 차량의 미러들(322, 324)(또는 측면 센서들) 사이에서 측정된 자율 차량의 폭 또는 그 사이의 거리의 절반, 또는 오히려, 자율 차량의 중심선(350)을 따른 자율 차량의 최대 폭 치수의 절반에 대응할 수 있다. 폴리라인 컨투어 표현 상의 y 좌표들은 최대 y 좌표를 갖는 점까지 단조 증가한 다음, 폴리라인 컨투어 표현이 최대 하나의 피크(다시 말해서, 자율 차량의 미러들 또는 측면 센서들의 폭에 대응)를 갖도록 단조 감소한다. 도 3에 도시된 바와 같이, 폴리라인은 각각이 원에 의해 표현되는 8개의 점을 갖는다. 폴리라인에서 앞 또는 최-전면 점 및 최-후면 점은 0의 y 좌표를 갖는 것으로 도시되어 있지만(즉, 이들은 x-축 상에 위치됨), 최-전면 점 및 최-후면 점의 y 좌표는 0보다 클 수 있다. 폴리라인 컨투어 표현을 사용할 때, 충돌 분석의 정확도를 증가시키거나 감소시키기 위해 폴리라인 컨투어 표현을 위해 선택된 점들의 수가 증가되거나 감소될 수 있다. 예를 들어, 이 예에서, 자율 차량의 윤곽(310)과 폴리라인 컨투어 표현(300)의 폐쇄 부분 사이의 최대 거리 또는 거리 R1은 15cm 이하이다. 물론, 사용되는 점들의 수가 많을수록, 충돌 분석을 수행할 때 필요한 프로세싱 전력 및 리소스들의 양이 많아진다.
일부 인스턴스들에서, 자율 차량이 직사각형 폭 프로파일을 갖는 경우, 자율 차량의 폴리라인 표현은 최대 y 좌표를 갖는 2개의 연속적인 점을 가질 수 있다. 예를 들어, 자율 차량이 트럭의 트레일러와 같이 실제로 직사각형 형상인 경우, 폴리라인 컨투어 표현은 폴리라인 표현에서 직사각형의 2개의 모서리를 나타내는 점들을 포함할 수 있다. 즉, 폴리라인 컨투어 표현은 직사각형으로 일반화될 수 있다.
도 4는 차량(100)의 윤곽(310) 상에 오버레이된 차량(100)을 나타내는 예시적인 폴리곤(400)이다. 이 예에서, 폴리곤(400)은 직사각형이다. 자율 차량의 윤곽(310)과 자율 차량을 나타내는 폴리곤(400)의 가장 가까운 부분 사이의 최대 거리 또는 거리 R2는 자율 차량(100) 앞쪽에서 43cm 정도이다. 자율 차량의 후면에서의 거리 R3은 36.8cm 정도일 수 있다. 자율 차량을 나타내는 폴리곤(400)의 최대 스웹 볼륨 반경은 6.961m인 것에 비해, 폴리라인 컨투어 표현의 것은 6.534m에 불과하다. 따라서, 폴리라인 컨투어 표현(300)과 자율 차량을 나타내는 폴리곤(400) 사이에, 42.7cm의 총 스웹 볼륨 측면 감소가 있다. 이 차이는 폴리라인 컨투어 표현과 비교할 때 객체를 나타내는 폴리곤(400)의 스웹 볼륨 사이에 다소 큰 차이를 제공할 수 있다. 따라서, 객체 주위 주행 및 충돌 회피에 대한 폴리라인 컨투어 표현의 사용은 자율 차량을 나타내는 직사각형 폴리곤보다 상당히 더 정확할 수 있다.
폴리라인 컨투어 표현을 참조하면, 자율 차량이 앞으로 이동할 때, 객체들은 피크 앞의 절반에만 충돌할 수 있고, 자율 차량이 뒤로 주행할 때, 객체들은 피크 뒤의 절반에만 충돌할 수 있다. 이와 같이, 충돌 분석을 수행할 때, 자율 차량이 객체를 향해 앞으로 이동하고 있을 때에는 피크 앞의 폴리라인 컨투어 표현의 부분만이 필요하고, 자율 차량이 객체로부터 멀리 이동하고 있을 때에는 피크 뒤의 폴리라인 컨투어 표현의 부분만이 필요하다. 즉, 자율 차량이 앞으로 주행하고 있을 때 자율 차량이 객체와 충돌할 때를 결정할 때에는, 피크 뒤에 있는 폴리라인 컨투어 표현 상의 점들이 무시될 수 있고, 자율 차량이 뒤로 주행하고 있을 때에는, 폴리라인 컨투어 표현 앞에 있는 폴리라인 컨투어 표현 상의 점들이 무시될 수 있다.
이와 관련하여, 폴리라인 컨투어 표현은 자율 차량의 좌측면 상에 그리고 피크 또는 최대 y 좌표 앞에(즉, 자율 차량의 전면 범퍼에 더 가까이) 있거나(이하, 전면 펜딩 폴리라인 컨투어 표현(510)) 또는 자율 차량의 좌측면 상에 그리고 피크 또는 최대 y 좌표 뒤에 또는 다음에 (즉, 자율 차량의 후면 범퍼에 더 가까이) 있는(이하, 후면 펜딩 폴리라인 컨투어 표현(520)) 폴리라인 컨투어 표현의 부분들 각각에 대한 반-평면 좌표들로 변환될 수 있다. 반-평면은 본질적으로 무한 직선의 하나의 측 상에 모든 점들이 있고 다른 측 상에는 아무 점도 없는 평면 또는 평면 영역의 "절반(half)"이다. 이 선은, 예를 들어, 좌표 시스템의 축에 대응할 수 있다. 도 5a는 좌측 전면 및 후면 좌측 펜딩 폴리라인 컨투어 참조들에 대한 이 변환을 나타낸다. 예를 들어, 자율 차량(100)은 폴리라인 컨투어 표현(300)의 최대 y 좌표의 x 좌표에 대응하는 반-평면(530)의 우측면에 배치될 수 있다. 변환 후, y 좌표는 폭으로서, 이는 반-평면의 우측면이 변환에 의해 항상 음이 되기 때문에 반-평면 좌표에서 음이 된다. 이와 관련하여, 피크의 높이는 y=0이 된다. 자율 차량(100)과 객체 사이의 중첩들을 추론할 때, 좌측 전면 및 후면 펜딩 폴리라인 컨투어 표현들(510, 520)은 반-평면을 따라 앞뒤로 "이동(move)"될 수 있다. 따라서, 자율 차량 범퍼 폴리라인 컨투어 표현들의 x 좌표들은 상대적인 숫자들일 수 있다. 계산의 편의를 위해, 우측 전면 펜딩 폴리라인 컨투어 표현(510)에서는, 자율 차량의 전면 범퍼 상의 가장 먼 또는 최-우측 점이 x=0.0에 할당될 수 있고, 후면 펜딩 폴리라인 컨투어 표현(520)에서는, 후면 범퍼 상의 가장 먼 또는 최-좌측 점이 x=0.0에 할당될 수 있다. 좌측 전면 펜딩 폴리라인 컨투어 표현(510)에 대한 반-평면 상의 나머지 x 좌표들은 모두 최-우측 점에 대해 음수들이다. 좌측 후면 펜딩 폴리라인 컨투어 표현(520)에 대한 반-평면 상의 나머지 x 좌표들은 모두 최-좌측 점에 대해 양수들이다.
유사하게, 폴리라인 컨투어 표현의 반전된 버전이 자율 차량의 우측면 상에 있거나 또는 최소 y 좌표 앞에(이하, 우측 전면 펜딩 폴리라인 컨투어 표현(510))뿐만 아니라 최소값 뒤에(이하, 우측 후면 펜딩 폴리라인 컨투어 표현(520)) 있는 폴리라인 컨투어 표현의 부분들 각각에 대한 반-평면 좌표들로 결정될 수 있다. 도 5b는 우측 전면 및 후면 좌측 펜딩 폴리라인 컨투어 참조들에 대한 이 변환을 나타낸다. 예를 들어, 자율 차량(100)은 폴리라인 컨투어 표현(300)의 최소 좌표의 X-좌표에 대응하는 반-평면(532)의 우측면에 배치될 수 있다. 변환 후, y 좌표는 폭으로서, 이는 반-평면의 우측면이 변환에 의해 항상 음이 되기 때문에 반-평면 좌표에서 양이 된다. 이와 관련하여, 최소값의 높이는 y=0이 된다. 자율 차량(100)과 객체 사이의 중첩들을 추론할 때, 좌측 전면 및 후면 펜딩 폴리라인 컨투어 표현들(550, 540)은 반-평면을 따라 앞뒤로 "이동"될 수 있다. 따라서, 자율 차량 범퍼 폴리라인 컨투어 표현들의 x 좌표들은 상대적인 숫자들일 수 있다. 계산의 편의를 위해, 우측 전면 펜딩 폴리라인 컨투어 표현(510)에서는, 자율 차량의 전면 범퍼 상의 가장 먼 또는 최-우측 점이 x=0.0에 할당될 수 있고, 우측 후면 펜딩 폴리라인 컨투어 표현(540)에서는, 후면 범퍼 상의 가장 먼 또는 최-좌측 점이 x=0.0에 할당될 수 있다. 우측 전면 펜딩 폴리라인 컨투어 표현(510)에 대한 반-평면 상의 나머지 x 좌표들은 모두 최-우측 점에 대해 음수들이다. 우측 후면 펜딩 폴리라인 컨투어 표현(520)에 대한 반-평면 상의 나머지 x 좌표들은 모두 최-좌측 점에 대해 양수들이다.
도 17은 자율 주행 모드를 갖는 차량을 조종하기 위해 컴퓨팅 디바이스들(110)의 프로세서들(120)과 같은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 수행될 수 있는 본 개시내용의 양태들에 따른 예시적인 흐름도(1700)이다. 예를 들어, 블록(1710)에서, 자율 차량의 환경에서 검출된 객체의 형상 및 위치를 나타내는 폴리곤이 수신된다. 예를 들어, 자율 차량(100)이 주행할 때, 인식 시스템(172)은 자율 차량의 환경에서 객체들의 형상 및 위치를 검출 및 식별할 수 있다. 예를 들어, 인식 시스템은 위치 정보뿐만 아니라 각각의 검출된 객체의 형상 및 위치를 나타내는 폴리곤을 제공할 수 있다. 객체를 나타내는 폴리곤은 임의의 좌표 시스템, 예를 들어, 위도 및 경도 또는 자율 차량(100)의 좌표 시스템 또는 인식 시스템(172)의 센서에 있을 수 있다.
블록(1720)에서, 반-평면 좌표 시스템에서 자율 차량의 컨투어의 절반 이하를 나타내는 자율 차량의 폴리라인 컨투어 표현이 액세스된다. 폴리라인 컨투어 표현은 액세스, 리트리브, 수신 또는 다른 방식으로 식별될 수 있다. 예를 들어, 펜딩 폴리라인 컨투어 표현들(510, 520, 540, 550)은, 예를 들어, 네트워크를 통해 원격 컴퓨팅 디바이스로부터 수신된 후에 및/또는 컴퓨팅 디바이스들(110)에 직접 다운로드된 후에 메모리(130)에 미리 저장될 수 있다. 이와 관련하여, 폴리라인 컨투어 표현들은 필요에 따라 메모리로부터 액세스되거나 리트리브될 수 있다. 위에서 논의된 바와 같이, 폴리라인 컨투어 표현, 또는 펜딩 폴리라인 컨투어 표현들(510, 520, 540, 550) 각각은 복수의 정점들 및 선분들을 포함한다.
블록(1730)에서, 객체를 나타내는 폴리곤의 좌표들이 반-평면 좌표 시스템으로 변환된다. 예를 들어, 충돌 분석을 수행할 때, 객체를 나타내는 폴리곤은 위치 정보를 사용하여 반-평면 좌표 시스템으로 변환될 수 있다. 이것은, 예를 들어, 반-평면의 정방향 및 수직 방향에서 폴리곤의 극점들을 찾음으로써 수행될 수 있다. 예를 들어, 도 6은 인식 시스템(172)의 센서들에 의해 검출된 객체를 나타내는 폴리곤(600)의 뷰를 제공한다. 이 예에서, 반-평면(530)은 실제-세계 좌표 시스템(예를 들어, 위도 및 경도)에 대해 도시된다. 반-평면(530)에 대한 법선 및 접선 방향들(화살표에 의해 표현됨)도 도시되어 있다. 극점들(610, 620)은 반-평면(530)에 대한 폴리곤(600)의 최-반-접선점(most anti-tangent point) 및 최-반-법선점(most anti-normal point)을 나타낸다.
그런 다음, 폴리곤(600)의 전부 또는 일부가 객체를 나타내는 폴리곤으로부터 결정되거나 추출될 수 있다. 예를 들어, 볼록형 폴리곤의 경우, 주어진 방향에서 폴리곤의 극점들은
Figure pct00001
시간 복잡도(time complexity)를 사용하여 결정될 수 있으며, 여기서 n은 폴리곤의 정점들의 수이다. 예에서, 자율 차량이 반-평면 방향을 따라(즉, 그 궤적을 따라) 주행할 때 충돌들을 체크할 때, 점들(610, 620, 630 및 640)은 변환될 필요가 있는데, 왜냐하면 반-평면에 대한 이러한 점들의 이러한 y 좌표들이 폴리라인의 최대 y-좌표 값보다 작거나 이와 동일하기 때문이다. 즉, 도 6에서 640과 610(반시계 방향) 사이의 점들은 (반-평면 방향에서 최-후면점인) 점(610)보다 먼저 자율 차량(또는 오히려, 폴리라인(600))과 충돌할 가능성이 없을 것이다. 이것은 (반-평면 좌표들에 있을 때) 폴리곤의 모든 y 좌표들이 최대 y-좌표보다 작을 때에도 마찬가지일 것이다. 해당 부분의 폴리곤 점들은 반-평면 좌표들로 변환될 수 있다. 예를 들어, 도 7 및 도 8(도 8은 자율 차량(100)의 상대적인 위치를 도시함)에 도시된 바와 같이, 폴리곤(600)은 반-평면 좌표들로 변환되었다. 이 예에서, 점(610)은 극점 X 좌표를 나타내고, 점(620)은 극점(매우 낮은 점) y 좌표를 나타낸다. 점들을 회전하고 병진이동(translating)시키는 것을 포함하는 것들과 같은 임의의 좌표 변환 알고리즘이 사용될 수 있다.
도 17로 돌아가서, 블록(1740)에서, 변환된 좌표들을 사용하여 폴리라인 컨투어 표현과 객체를 나타내는 폴리곤 사이의 충돌 위치가 결정된다. 이것은 자율 차량에 대한 스웹 볼륨을 정의하고 폴리라인 컨투어 표현이 객체의 표현과 교차할 곳을 결정하기 위해 (반-평면 방향을 따라) 1차원으로 폴리라인 컨투어 표현을 수학적으로 "슬라이딩(sliding)" 또는 "이동"시키는 것을 포함할 수 있다. 실제로, 이것은 폴리라인 컨투어 표현(및/또는 객체의 표현)이 충돌하기 위해 얼마나 멀리 이동해야 하는지(또는 반-평면을 따라 슬라이딩해야 하는지)를 결정하기 위해 2개의 점(하나는 폴리라인 컨투어 표현에 있고 하나는 폴리곤에 있음) 사이의 x 좌표들 또는 포지션을 빼는 것을 포함할 수 있다. 충돌 위치는 (예를 들어, 플래닝 시스템(168)에 의해 생성된) 자율 차량의 현재 또는 미래 궤적을 고려할 때 자율 차량과 충돌할 객체의 폴리라인 컨투어 표현의 특정 선분 또는 점에 대응하는 진입 위치를 포함할 수 있다.
예를 들어, 도 9를 참조하면, 폴리라인 컨투어 표현이 객체를 향해 자율 차량의 계획된 궤적을 따라 (앞으로 또는 뒤로) 슬라이딩되거나 이동될 수 있다(또는 오히려, x-좌표들이 서로 빼질 수 있다). 도 9의 예에서는, 전면 펜딩 폴리라인 컨투어 표현(510)이 사용되고, 자율 차량(100)의 계획된 궤적의 방향으로 이동된다. 자율 차량이 뒤로 이동한 경우, 후면 펜딩 폴리라인 컨투어 표현이 진입 위치를 결정하는 데 사용될 것이다. 객체를 나타내는 폴리곤의 각각의 세그먼트에 대한 진입 위치(예를 들어, 한 쌍의 정점들 및 이들 사이의 선분)가 결정될 수 있다. 여기서, 점들(620 및 630) 사이의 선분(910)이 진입 위치로서 식별될 수 있다.
예를 들어, 각각의 선분에 대해, 해당 선분의 반-평면 좌표 시스템으로의 가장 깊은 침투점(D)이 결정될 수 있다. 도 10을 참조하여, 그리고 단순함을 위해 선분(910)만을 참조하면, 선분(910)의 가장 깊은 부분과 전면 펜딩 폴리라인 컨투어 표현(510) 사이의 이 거리 D가 결정될 수 있다. 유사하게, 도 11을 참조하여, 그리고 단순함을 위해 선분(910)만을 참조하면, 선분(910)의 가장 깊은 부분과 전면 펜딩 폴리라인 컨투어 표현(510) 사이의 이 거리 D가 결정될 수 있다. 이 프로세스는 객체의 표현의 부분의 다른 선분들에 대해 반복될 수 있다.
반-평면의 반-접선 방향에서의 폴리곤의 극점의 깊이가 전면 펜딩 폴리라인 컨투어 표현(510)의 가장 낮은 y-좌표 아래로 내려가는 경우, 우측 전면 펜딩 폴리라인 컨투어 표현이 사용될 수 있다. 예를 들어, 도 12는 객체를 나타내는 폴리곤(1200)의 선분(1210)의 가장 깊은 침투점으로부터의 거리를 나타낸다. 이 예에서는, 우측 전면 펜딩 폴리라인 컨투어 표현(550)의 반전된 버전(1220)이 사용된다.
유사하게, 반-평면의 접선 방향에서의 폴리곤의 극점의 깊이가 후면 펜딩 폴리라인 컨투어 표현(520)의 가장 낮은 y-좌표 아래로 내려가는 경우, 좌측 후면 펜딩 폴리라인 컨투어 표현(또는 오히려, 우측면)이 사용될 수 있다. 도 13은 객체를 나타내는 폴리곤(1200)의 (우측 후면 반-평면 좌표 시스템 내에 있는) 선분(1320)의 가장 깊은 침투점으로부터의 거리를 나타낸다. 이 예에서는, 우측 후면 펜딩 폴리라인 컨투어 표현(540)이 사용된다.
D와 동일한 침투 깊이를 갖는 전면 펜딩 및 후면 펜딩 폴리라인 컨투어 표현들(또는 반전된 폴리라인 컨투어 표현들) 각각의 폴리라인 컨투어 표현 선분이 식별될 수 있다. 도 10, 도 11, 도 12 및 도 13의 예들 각각에서, 파선 화살표들은 대응하는 폴리라인 컨투어 표현들의 개개의 선분들(1040, 1140, 1240, 1340)을 가리킨다. 거리들 D를 찾으면 컴퓨팅 디바이스들이 폴리곤의 어느 부분이 진입 위치를 결정하는 것과 관련이 있는지를 결정하게 할 수 있다. 선분 상의 각각의 정점에 대해, 해당 정점은 진입 위치를 결정하기 위해 동일한 깊이에서 자율 차량 폴리라인 컨투어 표현에 투영될 수 있다. 예를 들어, 도 9의 선분(910)의 예로 돌아가서, 점들(620 및 630)은 진입 위치를 결정하기 위해 대응하는 깊이들에서 자율 차량 폴리라인 컨투어 표현에 투영될 수 있다. 대안적으로, 차량 폴리라인 컨투어 표현 상의 각각의 정점의 경우, 해당 정점은 대응하는 폴리곤 세그먼트들에 투영되어 진입 위치를 결정할 수 있다. 깊이가 개개의 정점의 y 좌표, 또는 오히려, 점들(620 및 630)의 y 좌표들에 불과할 수 있기 때문에, 이러한 투영들은 반-평면 좌표에서 쉽게 수행될 수 있다. 투영 후, (폴리라인 컨투어 표현이 폴리곤과 충돌하도록 슬라이딩될 수 있는) 최-우측 포지션 또는 오히려, 진입 위치가 식별될 수 있다. 예를 들어, 이 프로세스는 충돌들을 체크하기 위해 가장 낮은 깊이(가장 낮은 y 좌표)로부터 가장 높은 깊이(가장 높은 y 좌표들)를 향해 폴리라인과 폴리곤의 정점들을 분석함으로써, 예를 들어, 동일한 y 좌표들을 갖는 점들의 x 좌표들을 뺌으로써 시작할 수 있다. 따라서, 컴퓨팅 디바이스들(110)은 중첩되는 범위들의 y 좌표들을 갖는 폴리라인 및 폴리곤 세그먼트들만 체크할 필요가 있다.
충돌 위치에 대한 진입 위치를 결정하는 것에 더하여, 충돌 위치에 대한 퇴장 위치 또한 유사한 방식으로 결정될 수 있다. 이것은 자율 차량이 앞으로 이동하고 있을 때에는 후면 펜딩 폴리라인 컨투어 표현을 사용하여, 자율 차량이 뒤로 이동하고 있을 때에는 전면 펜딩 폴리라인 컨투어 표현을 사용하여 수행될 수 있다. 이것은 (차량이 앞으로 또는 뒤로 이동하고 있는지 여부에 따라) 좌측면 반-평면 좌표 시스템의 접선 방향에서 또는 우측면 반-평면 좌표 시스템의 반-접선 방향에서 폴리곤의 최극점(most extreme point)들을 식별하는 것, 및 퇴장 위치를 결정하기 위해 폴리라인이 이 최극점을 넘어 이동할 때를 결정하는 것을 포함할 수 있다.
예를 들어, 도 14를 참조하면(그리고 도 9로부터의 동일한 예를 사용하여), 객체를 나타내는 폴리곤(600)의 부분은 반-평면 좌표들의 깊이에 대해 동일한 포지션에, 그러나 자율 차량(100)의 앞이 아닌 자율 차량의 뒤에 배치된다. 이와 관련하여, 예를 들어, 위에서 설명된 점들(620 및 640) 사이의 선분(1410)에 대한 좌측면 반-평면 좌표 시스템의 접선 방향에서의 폴리곤(600)에 대한 최극점(여기서, 점(640))을 고려할 때, 후면 펜딩 폴리라인 컨투어 표현을 자율 차량(100)의 궤적 방향으로 "슬라이딩" 또는 "이동"시키기보다는, 후면 펜딩 폴리라인 컨투어 표현은 퇴장 위치를 결정하기 위해 객체의 폴리곤(600) 표현(또는 관련 부분 및/또는 선분)을 향해 이동된다. 실제로, 이것은 후면 펜딩 폴리라인 컨투어 표현(및/또는 객체의 표현)이 충돌하기 위해 얼마나 멀리 이동해야 하는지(또는 반-평면을 따라 슬라이딩해야 하는지)를 결정하기 위해 2개의 점(하나는 폴리라인 컨투어 표현에 있고 하나는 폴리곤에 있음) 사이의 x 좌표들 또는 포지션을 빼는 것을 포함할 수 있다. 위의 예에서와 같이, 최-후면 점 또는 최-전면 점의 거리 D에 따라, 후면 펜딩 폴리라인 컨투어 표현의 반전된 버전(또는 우측면)이 사용될 수 있다.
다수의 충돌 위치들(즉, 다수의 진입 및 퇴장 위치 쌍들)이 있을 수 있는 오목형 폴리곤들과 같은 더 복잡한 객체들을 나타내는 더 복잡한 폴리곤들의 경우, 실제 진입 위치 및 퇴장 위치들을 결정하기 위해, 자율 차량의 좌측면 및 우측면에 대한 폴리라인 컨투어 표현들 모두 또는 반-평면들 모두 사용될 수 있다. 즉, 좌측 전면 펜딩 폴리라인 표현의 반-평면 및 우측 전면 펜딩 폴리라인 표현의 반-평면에 대한 대응하는 y 좌표에 의해 경계를 이루는 "회랑(corridor)"이 사용될 수 있다. 도 16a 및 도 16b는 각각 오목형 폴리곤들(1620 및 1640)에 의해 표현되는 객체에 접근하는 차량(100)을 나타낸다. 컴퓨팅 디바이스들(110)은 볼록형 폴리곤과 회랑의 경계들 사이의 교차점들 모두를 식별할 수 있다. 예를 들어, 도 16a에서, 점들(1601-1606)이 식별되고, 도 16b에서, 점들(1631-1638)이 식별된다. 그런 다음, 컴퓨팅 디바이스들은 임의의 독립적인 중첩들을 결정하기 위해 교차점들을 분석할 수 있다. 객체 폴리곤의 에지들이 회랑의 동일한 측면에서 서로 직접적으로 인접하여 회랑에 진입한 후 이로부터 퇴장하는 2개의 이웃하거나 인접한 교차점이 있는 경우(예를 들어, 잠재적인 충돌 위치 및 잠재적인 퇴장 위치를 나타냄), 이러한 점들은 무시될 수 있다. 예를 들어, 도 16a에서는, 교차점들(1603 및 1604)이 무시될 것이고, 도 16b에서는, 어떠한 교차점들도 무시되지 않을 것이다.
나머지 점들 중에서, 컴퓨팅 디바이스들은 객체와의 중첩에 대한 충돌 위치 및 퇴장 위치를 결정하기 위해 진입 위치들뿐만 아니라 퇴장 위치들도 식별할 수 있다. 자율 차량이 폴리곤에 진입하는 진입점들의 경우, 컴퓨팅 디바이스들은 가장 작은 x 좌표 값을 갖는 진입점을 식별할 수 있다. 자율 차량이 폴리곤을 퇴장하는 퇴장 위치들의 경우, 컴퓨팅 디바이스들은 가장 큰 x 좌표 값을 갖는 퇴장 위치를 식별할 수 있다.
도 16a의 예에서, 진입 위치(1614)는 교차점들(1601 및 1602) 사이의 선분 상에 있고, 진입 위치의 x 좌표는 좌측 또는 우측 전면 펜딩 폴리라인(여기서는, 좌측)이 점들(1601 및 1602) 사이의 선분들로부터 x 방향에서 가장 작은 거리를 갖는 곳이다. 유사하게, 퇴장 위치(1612)는 교차점들(1605 및 1606) 사이의 선분 상에 있고, 퇴장 위치의 x 좌표는 좌측 또는 우측 후면 펜딩 폴리라인(여기서는, 우측)이 점들(1605 및 1606) 사이의 선분들에 의해 x 방향에서 가장 큰 거리를 갖는 곳이다.
도 16b의 예에서는, 폴리곤(1640)과의 2개의 중첩이 있다. 제1 중첩에 대한 진입 위치(1642)는 교차점들(1631 및 1632) 사이의 선분 상에 있고, 진입 위치의 x 좌표는 좌측 또는 우측 전면 펜딩 폴리라인이 점들(1631 및 1632) 사이의 선분들로부터 x 방향에서 가장 작은 거리를 갖는 곳이다. 유사하게, 제1 중첩에 대한 퇴장 위치(1644)는 교차점들(1633 및 1634) 사이의 선분 상에 있고, 퇴장 위치의 x 좌표는 좌측 또는 우측 후면 펜딩 폴리라인이 1633과 1634 사이의 선분들에 의해 x 방향에서 가장 큰 거리를 갖는 곳이다. 제2 중첩에 대한 진입 위치(1646)는 교차점들(1635 및 1636) 사이에 있고, 진입 위치의 x 좌표는 좌측 또는 우측 전면 펜딩 폴리라인이 점들(1635 및 1636) 사이의 선분들로부터 x 방향에서 가장 작은 거리를 갖는 곳이다. 유사하게, 제1 중첩에 대한 퇴장 위치(1648)는 교차점들(1637 및 1638) 사이에 있고, 퇴장 위치의 x 좌표는 좌측 또는 우측 후면 펜딩 폴리라인이 1637과 1638 사이의 선분들에 의해 x 방향에서 가장 큰 거리를 갖는 곳이다. 이러한 예들에서, 교차점(1634)과 교차점(1635) 사이의 x-방향에서의 거리가 적어도 자율 차량(100)의 길이만큼 긴 경우, 자율 차량이 도 16a의 공간(1612)에 안전하게 있을 가능성은 없지만, 자율 차량이 도 16b의 공간(1652)에 안전하게 있을 가능성은 있을 수 있다.
블록(1750)에서, 자율 차량은 충돌 위치에 기초하여 객체와의 충돌을 회피하도록 자율 주행 모드에서 제어된다. 예를 들어, 진입 위치 및 충돌 퇴장 위치가 결정되면, 자율 차량의 컴퓨팅 디바이스들은 이 정보를 사용하여 객체를 회피하도록 자율 주행 모드에서 자율 차량의 속도를 더 잘 제어(예를 들어, 더 빠르게 주행하거나 또는 더 느리게 주행)하는 방법을 결정할 수 있다. 진입 위치는 자율 차량이 객체와 충돌할 곳을 식별할 수 있는 반면, 퇴장 위치는 자율 차량이 충돌에서 벗어날 수 있는 방법을 식별할 수 있다. 이것은 차량의 컴퓨팅 디바이스들이 객체의 경로를 추월하기로(이에 양보하기보다는 앞서 진행하기로) 결정할 때 유용할 수 있다. 예를 들어, 상이한 시점들에서의 폴리곤(600)을 도시하는 도 15를 참조하도록 한다. 상이한 시점들에서의 폴리곤(600)의 이러한 도시는 실제로 시간에 따른 객체의 경로를 나타낸다. 도 15는 또한 객체의 이동 방향뿐만 아니라 차량(100)의 이동 방향을 나타낸다. (화살표에 따라 우측으로) 시간이 경과함에 따라, 객체는 이미지의 우측 하단을 향해 그리고 자율 차량의 궤적(또는 오히려, 자율 차량의 이동 방향)을 가로질러 이동할 것으로 예상된다. 자율 차량(100)이 초기에 폴리곤(600)의 음영 버전의 위치에서 객체와 충돌할 수 있다고 가정하면, 자율 차량(100)은 속도를 줄이고, 진입 위치 전에 객체의 경로에 양보할 수 있다. 대안적으로, 자율 차량(100)은, 객체가 폴리곤의 음영 버전의 위치에 도착하기 전에, 폴리곤(600)의 퇴장 위치보다 더 빠르고 더 멀리 주행할 수 있다. 따라서, 퇴장 위치는 진입 위치만큼 중요하다.
위의 예에서와 같이, 자율 차량의 인식 시스템에 의해 검출된 객체에 대한 모든 점들의 경계를 이루는 2D 또는 3D 폴리곤에 의해 객체의 컨투어가 종종 모델링된다. 도 25는, 자율 주행 모드를 갖는 차량을 조종하기 위해, 컴퓨팅 디바이스들(110)의 프로세서들(120)과 같은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 수행될 수 있는 본 개시내용의 양태들에 따른 예시적인 흐름도(2500)이다. 예를 들어, 블록(2510)에서, 자율 차량의 환경에서 검출된 객체의 형상 및 위치를 나타내는 폴리곤이 수신된다. 예를 들어, 자율 차량(100)이 주행할 때, 인식 시스템(172)은 자율 차량의 환경에서 객체들의 형상 및 위치를 검출 및 식별할 수 있다. 예를 들어, 인식 시스템은 위치 정보뿐만 아니라 각각의 검출된 객체의 형상 및 위치를 나타내는 폴리곤을 제공할 수 있다. 객체를 나타내는 폴리곤은 임의의 좌표 시스템, 예를 들어, 위도 및 경도 또는 자율 차량(100)의 좌표 시스템 또는 인식 시스템(172)의 센서에 있을 수 있다.
객체에 대한 예측된 궤적이 또한, 예를 들어, 다양한 행동 모델링 기술들뿐만 아니라, 객체, 다른 객체들 및 일반적으로 자율 차량의 환경에 대한 인식 시스템(172)으로부터의 센서 데이터를 사용하여 행동 모델링 시스템(174)에 의해 결정될 수 있다. 객체에 대한 2D 또는 3D 경로가 예측된 궤적을 따라 객체를 나타내는 폴리곤을 이동시킴으로써 결정될 수 있다. 충돌들에 대한 모델링은 통상적으로 자율 차량의 미래 궤적을 사용하여 자율 차량에 대한 2D 또는 3D 경로를 결정하고 이것이 객체에 대한 2D 또는 3D 경로와 교차할지 여부를 결정함으로써 수행된다.
그러나, 행동 모델링 시스템(174)뿐만 아니라 인식 시스템으로부터 객체를 나타내는 폴리곤의 특성들(사이즈, 형상, 위치, 속도, 가속도 등)에서의 불확실성으로 인해, 객체의 이동 방향에 대한 상당한 측면 불확실성이 있을 수 있다. 따라서, 객체에 대한 2D 또는 3D 경로가 상당히 부정확할 수 있어, 자율 차량의 2D 또는 3D 경로와 비교할 때 충돌 결정들이 부정확할 수 있다.
도 18은 측면 불확실성이 2D로 충돌 분석과 관련될 수 있는 방법의 예를 도시한다. 이 예에서, 객체 A를 나타내는 폴리곤(1820)이 3개의 상이한 시간들: 시간 t0, t1, t2에서 도시된다. 여기서, 객체 A는 시간 t0에서 객체 A를 나타내는 폴리곤(1820-t0)의 위치에 대응하는 위치에서 검출될 수 있다. 행동 모델링 시스템(174)은 객체 A가 일부 점에서 폴리곤들(1820-t1 및 1820-t2)의 위치들에 있도록 객체가 궤적(1830)을 따를 것이라고 예측할 수 있다. 폴리곤들(1840-L 및 1840-R)은 시간 t1에서 객체 A의 위치에 대한 측면 불확실성에 대한 한계들을 나타낸다. 이러한 한계들은 오퍼레이터들에 의해 설정될 수 있으며, 측면 불확실성이 불확실성에 대한 일부 미리 결정된 한계(예를 들어, 99.9% 또는 0.99 이상 또는 이하) 또는 불확실성에 대한 측면 거리에 대한 일부 미리 결정된 한계(예를 들어, 2미터 이상 또는 이하)보다 큰 어느 위치들에 대응할 수 있다. 이해의 편의를 위해, 시간 t2에서 객체의 위치에 대한 불확실성은 도시되지 않았다.
또한, 차량(100)은 계획된 궤적을 따를 수 있고, 또는 대안적으로, 플래닝 시스템(168)은 자율 차량이 따를 계획된 궤적을 생성했을 수 있다. 영역(1810)은 계획된 궤적을 따를 때 차량(100)에 대한 스웹 볼륨을 나타낼 수 있고, 차량(100)을 나타내는 폴리곤(400) 또는 추가 정점들을 갖는 더 복잡한 폴리곤을 사용하여 결정될 수 있다. 알 수 있는 바와 같이, 객체의 측면 불확실성은 자율 차량이 폴리곤(1820-t1)의 위치보다 훨씬 더 넓은 영역에서 객체와 충돌할 수 있음을 의미할 수 있다. 따라서, 이러한 불확실성은 시간 t1에서의 객체의 위치에서 폴리곤(1820)에 대한 충돌 위치(진입 및 퇴장 위치들 포함)를 결정하는 것을 상당히 부정확하게 만들 수 있다.
이러한 단점들을 해결하기 위해, 객체의 측면 불확실성은 행동 모델링 시스템(174)에 의해 출력된 불확실성으로부터 평균 및 표준 편차(sd)를 갖는 정규 분포로서 모델링될 수 있다. 예를 들어, 예측된 궤적을 따른 상이한 점들에서의 객체의 위치(또는 오히려, 객체를 나타내는 폴리곤의 위치)에 대한 불확실성이 행동 모델링 시스템(174)에 의해 제공될 수 있다. 폴리곤(1820-t1)의 위치에 대한 객체 A에 대한 측면 불확실성을 나타내는 도 19 참조를 참조하면, 측면 불확실성은 폴리곤(1820-t1)의 위치로부터 폴리곤(1840-L)의 위치를 향해 멀어질수록 증가하고, 폴리곤(1840-L)의 위치로부터 폴리곤(1820-t1)의 위치를 향해 멀어질수록 감소한다. 유사하게, 측면 불확실성은 폴리곤(1820-t1)의 위치로부터 폴리곤(1840-R)의 위치를 향해 멀어질수록 증가하고, 폴리곤(1840-R)의 위치로부터 폴리곤(1820-t1)의 위치를 향해 멀어질수록 감소한다. 1840-L과 1840-R의 바깥쪽 에지들 사이의 거리는 시간 t1에서 객체 A의 위치에 대한 측면 불확실성에 대한 한계들을 고려할 때 측면 불확실성의 "길이(length)"를 정의할 수 있다. 곡선(1920)은 시간 t2에서 객체 A에 대한 측면 포지션 확률 곡선을 나타낸다. 곡선(1920) 아래의 영역은 객체가 임의의 2개의 가능한 위치 사이에 있을 확률을 제공한다. 예를 들어, 폴리곤들(1840-L 및 1940-L)의 좌측 2개의 위치 사이에서, 확률은 0.3이다.
자율 차량(100)의 경로와 중첩될 확률이 결정될 수 있다. 자율 차량의 경로가 객체와 교차할 가능성이 있는 위치들을 식별하기 위해, 컴퓨팅 디바이스들(110)은 자율 차량의 계획된 궤적을 개별 시점들의 위치를 나타내는 일련의 상자들로 변환할 수 있다(예를 들어, 2D 또는 3D 경로). 유사하게, 컴퓨팅 디바이스들(110)은 객체에 대한 예측된 궤적을 객체에 대한 스웹 경로를 나타내는 일련의 상자들로 변환할 수 있다(예를 들어, 2D 또는 3D 경로). 그런 다음, 컴퓨팅 디바이스들(110)은 객체의 경로로부터 10미터 이상 또는 이하와 같은 미리 결정된 거리 내에 있는 객체에 대한 (예측된 위치들을 나타내는) 상자들을 식별하기 위해 자율 차량의 경로를 따라 검색할 수 있다. 이와 관련하여, 컴퓨팅 디바이스들(110)은 서로로부터 미리 결정된 거리 내에 있는 객체의 대응하는 예측된 미래 위치(즉, 식별된 상자의 위치)뿐만 아니라 자율 차량에 대한 계획된 미래 위치를 식별할 수 있다.
객체와 자율 차량(100)의 계획된 궤적 사이의 거리들은 자율 차량에 대한 식별된 계획된 미래 위치에 대한 자율 차량의 계획된 궤적 상의 자율 차량의 일부 위치와 객체 사이의 진입 및 퇴장 거리들을 계산함으로써 결정될 수 있다. 예를 들어, d1은 객체가 자율 차량의 계획된 궤적과 중첩된 지점에 진입할 때의 거리를 나타낼 수 있고, d2는 객체가 자율 차량의 계획된 궤적과 중첩된 지점에서 퇴장할 때의 거리를 나타낼 수 있다. 중첩될 확률은 d1/sd와 d2/sd 사이의 누적 분포 함수로부터 결정될 수 있다. 이와 관련하여, d1 및 d2는 객체를 나타내는 폴리곤과 자율 차량의 경로 사이의 중첩 영역의 경계들에 대응한다.
거리들 d1 및 d2, 또는 오히려, 객체가 자율 차량의 계획된 궤적에 진입하고 퇴장할 때의 객체를 나타내는 폴리곤의 포지션을 결정하기 위해, 객체의 폴리곤은 전면 및 후면 폴리라인들로 분해될 수 있다. 도 25로 돌아가서, 블록(2520)에서, 객체의 방향 및 컨투어에 기초하여 객체를 나타내는 폴리곤에 대한 전면 폴리라인이 결정된다. 객체의 컨투어에 기초하여 객체를 나타내는 폴리곤에 대한 후면 폴리라인도 결정될 수 있다. 그렇게 하기 위해, 객체의 방향에 대한 최-좌측 및 최-우측 점들이 식별될 수 있다. 이것은 객체의 좌표 시스템을 식별들을 단순화하는 것으로 변환하는 것을 포함할 수도 또는 포함하지 않을 수도 있는 공지된 기술들을 사용하여 달성될 수 있다. 예를 들어, 도 20은 차량의 환경에서 검출된 객체 B를 나타내는 예시적인 폴리곤(2000)이다. 도 20은 또한 객체 B에 대한 예측된 궤적에 따라 객체의 방향(2010)을 식별한다. 방향으로부터, 객체의 전면(2020) 및 후면(2022)을 나타내는 폴리곤뿐만 아니라, 최-좌측 점(2030) 및 최-우측 점(2032)이 식별될 수 있다.
이러한 최-좌측 및 최-우측 점들로부터, 폴리곤은 도 21 및 도 22의 예에 도시된 바와 같이 전면 및 후면 폴리라인들로 분할될 수 있다. 예를 들어, 전면 폴리라인(2110)은 최-좌측 점(2030) 및 최-우측 점(2032) 사이(이들 포함)의 객체 B를 나타내는 폴리곤(2000)의 전면(2020) 상의 모든 정점들에 대응한다. 또한, 후면 폴리라인(2210)은 최-좌측 점(2030) 및 최-우측 점(2032) 사이(이들 포함)의 객체 B를 나타내는 폴리곤(2000)의 후면(2022) 상의 모든 정점들에 대응한다. 전면 폴리라인(2110) 및 후면 폴리라인(2210) 각각은 실제로 객체를 나타내는 폴리곤에 대한 전면 및 후면 폭 프로파일들을 나타낼 수 있다.
도 25로 돌아가서, 블록(2530)에서, 전면 폴리라인의 좌표들이 반-평면 좌표 시스템으로 변환된다. 또한, 후면 폴리라인의 좌표들이 반-평면 좌표 시스템으로 변환될 수 있다. 즉, 전면 및 후면 폴리라인들 각각이 반-평면 좌표들로 변환될 수 있다. 이것은, 예를 들어, 객체의 방향에 대해 반-평면의 정방향("전면") 및 역방향("후면")에서 객체의 극점들을 나타내는 폴리곤을 찾음으로써 수행될 수 있다. 도 21의 예에서, 객체의 최-전면 점은 점(2120)이고, 도 22에서, 객체의 최-후면 점은 점(2022)이다. 도 23a를 참조하면, 전면 반-평면(2310)은 점(2120)을 통과하는 방향(2010)에 수직인 평면으로서 결정될 수 있다. 도 23b를 참조하면, 후면 반-평면(2320)은 점(2220)을 통과하는 방향(2010)에 수직인 평면으로서 결정될 수 있다. 또한, 자율 차량의 식별된 계획된 미래 위치 또한 객체에 대한 각각의 반-평면 좌표 시스템들, 예를 들어, 전면 및 후면으로 변환될 수 있다. 즉, 자율 차량의 각각의 식별된 계획된 미래 위치는 예상된 것으로 주어진 객체 폴리곤의 전면 및 후면 반-평면의 좌표 시스템들의 좌표들로 변환된다.
충돌 위치들, 또는 오히려, 전면 및 후면 폴리라인들 각각에 대한 진입 위치 및 퇴장 위치가 결정될 수 있다. 예를 들어, 도 25로 돌아가서, 블록(2540)에서, 전면 및 후면 폴리라인들에 대한 변환된 좌표들뿐만 아니라 자율 차량의 식별된 계획된 미래 위치에 대한 변환된 좌표들을 사용하여 전면 폴리라인과 객체를 나타내는 폴리곤 사이의 진입 위치 및 퇴장 위치가 결정될 수 있다. 또한, 자율 차량의 계획된 미래 위치에 대한 변환된 좌표들에 기초하여 그리고 전면 및 후면 폴리라인들에 대한 변환된 좌표들을 사용하여 후면 폴리라인과 객체를 나타내는 폴리곤 사이의 진입 위치 및 퇴장 위치가 결정된다.
자율 차량의 현재 계획된 궤적을 고려할 때, 각각의 진입 또는 퇴장 위치는 자율 차량(또는 오히려, 자율 차량의 계획된 궤적)과 충돌할 전면 또는 후면 폴리라인의 특정 선분에 대응할 수 있다. 진입 위치는 자율 차량이 객체와 충돌할 곳을 식별할 수 있는 반면, 퇴장 위치는 자율 차량이 객체의 궤적과의 충돌에서 벗어날 수 있는 방법을 식별할 수 있다. 진입 및 퇴장 위치들을 결정하는 것은 전면 또는 후면 폴리라인이 아래 이미지들에 도시된 바와 같이 자율 차량의 적어도 일부 미래 예측된 위치 또는 경로와 교차할 곳을 결정하기 위해 반-평면 방향을 따라 전면 및 후면 폴리라인들을 수학적으로 "슬라이딩" 또는 "이동"시키는 것을 포함할 수 있다. 예를 들어, 위에서 언급된 바와 같이, 자율 차량의 경로는, "스웹" 볼륨 또는 영역이 아니라, 상이한 포지션들에서의 자율 차량을 나타내는 복수의 개별 상자들 또는 폴리곤들로서 생각될 수 있다. 따라서, 일부 인스턴스들에서, 객체가 주어진 궤적에 대해 자율 차량과 교차할 가능성이 있는지 여부는 경로보다는 자율 차량을 나타내는 상자 또는 더 복잡한 폴리곤을 사용함으로써 결정될 수 있다.
실제로, 이것은 객체를 나타내는 폴리라인(또는 객체)이 자율 차량과 충돌하기 위해 얼마나 멀리 이동해야 하는지(또는 반-평면을 따라 슬라이딩해야 하는지)를 결정하기 위해 2개의 점(하나는 폴리라인 상에 있고 하나는 경로 상에 있음) 사이의 x 좌표들 또는 포지션을 빼는 것을 포함할 수 있다. 자율 차량의 현재 또는 미래 궤적을 고려할 때, 진입 위치는 자율 차량과 충돌할 폴리라인의 특정 선분 또는 점에 대응할 수 있다. 자율 차량의 현재 또는 미래 궤적을 고려할 때, 퇴장 위치는 자율 차량과 충돌할 최극점 x-값을 갖는 폴리라인의 특정 선분 또는 점에 대응할 수 있다.
도 24의 예를 참조하면, 차량(100)을 나타내는 폴리곤(400)이 변환된 좌표들을 사용하여 자율 차량의 계획된 궤적을 따라 그리고 객체 B에 대한 전면 반-평면(2310) 및 후면 반-평면(2320) 모두에 대해 자율 차량의 식별된 계획된 미래 위치에서 도시된다. 이와 관련하여, 위의 예에서 설명된 바와 같이 차량이 계획된 미래 위치에 있을 때 객체 B의 위치에 대한 측면 불확실성에 대한 한계들을 고려할 때, 전면 및 후면 반-평면들 각각에 대한 X=0 값들 사이의 거리 또는 Length(2410)가 측면 불확실성의 "길이"에 대응한다. 다시 말해서, 전면 반-평면 및 후면 반-평면을 따라 전면 폴리라인을 수학적으로 슬라이딩시킴으로써(전면 및 후면 반-평면들 각각에 대해 X=0에서 시작), 진입 위치들이 결정될 수 있다. 각각의 진입 위치는 객체를 나타내는 전면 또는 후면 폴리라인이 초기에 차량을 나타내는 폴리곤과 접촉하게 될 전면 또는 후면 반-평면 상의 선분 또는 점에 대응할 수 있다. 도 24의 예에서, 거리 Front_Entry는 전면 반-평면(2310)을 따른 X=0과 전면 폴리라인(2110)이 초기에 폴리곤(400)과 접촉하게 될 전면 폴리라인(2110) 상의 선분 또는 점 사이의 거리를 나타낸다. 거리 Rear_Entry는 후면 반-평면(2310)을 따른 X=0과 후면 폴리라인(2210)이 초기에 폴리곤(400)과 접촉하게 될 후면 폴리라인(2210) 상의 선분 또는 점 사이의 거리를 나타낸다.
퇴장 위치들을 결정할 때, 전면 또는 후면 폴리라인이 더 이상 폴리곤과 접촉하지 않게 될 점을 사용하기보다는, 전면 또는 후면 반-평면 좌표 시스템들에서 차량의 최극점들 또는 x-좌표들이 각각 사용된다. 도 24의 예에서, 거리 Front_Exit는 전면 반-평면(2310)을 따른 X=0과 전면 폴리라인(2110)이 후면 반-평면을 따라 수학적으로 슬라이딩된 후에 전면 반-평면 좌표 시스템에서 폴리곤(400)의 최극점 x-좌표와 마지막으로 교차하게 될 전면 폴리라인(2110) 상의 선분 또는 점 사이의 거리를 나타낸다. 거리 Rear Exit는 후면 반-평면(2310)을 따른 X=0과 후면 폴리라인(2210)이 후면 반-평면을 따라 수학적으로 슬라이딩된 후에 전면 반-평면 좌표 시스템에서 폴리곤(400)의 최극점 x-좌표와 마지막으로 교차하게 될 후면 폴리라인(2210) 상의 선분 또는 점 사이의 거리를 나타낸다.
그런 다음, 전면 및 후면 반-평면들에 대한 진입 및 퇴장 위치들로부터 거리들 d1 및 d2가 결정될 수 있다. 예를 들어, d1은 전면 폴리라인의 진입 위치의 최소 x-좌표 값과 전면 반-평면에 투영된 후면 폴리라인의 퇴장 위치의 x-좌표 값을 취함으로써 결정될 수 있다. d2는 전면 폴리라인의 퇴장 위치의 최대 x-좌표 값과 전면 폴리라인에 투영된 후면 폴리라인의 진입 위치의 x-좌표를 취함으로써 결정될 수 있다. 달리 말하면, 폴리곤과 폴리라인들의 좌표들이 반-평면 좌표 시스템에 있기 때문에, 거리들 d1 및 d2는 방정식:
Figure pct00002
을 사용하여 결정될 수 있으며, 여기서 Front_Entry는 전면 폴리라인에 대한 진입 위치에 대한 x-좌표 또는 거리를 나타내고, Rear_Entry는 후면 폴리라인에 대한 진입 위치에 대한 x-좌표 또는 거리를 나타내고, Front_Exit는 전면 폴리라인에 대한 퇴장 위치에 대한 x-좌표 또는 거리를 나타내고, Rear_Exit는 후면 폴리라인에 대한 퇴장 위치의 x-좌표를 나타내고, Length는 차량이 계획된 미래 위치에 있을 때 객체의 위치에 대한 측면 불확실성에 대한 한계들을 고려할 때 앞서 언급된 측면 불확실성의 "길이"를 나타낸다. 그런 다음, 이러한 값들 d1 및 d2는 위에서 설명된 바와 같이 주어진 위치에서 중첩될(예를 들어, 충돌할) 확률을 결정하는 데 사용될 수 있다.
본 명세서에서 설명되는 예들에서, 객체 B의 폴리곤(400) 표현의 특정 위치들은 자율 차량의 계획된 궤적과 객체의 예측된 궤적이 중첩되는 계획된 궤적에 따른 자율 차량(100)의 개별 위치들이다. 이와 같이, 계획된 및 투영된 궤적들이 중첩되게 될 다수의 위치들이 있는 경우, 전술한 충돌 위치들 및 중첩될 확률들에 대한 결정들은 이러한 다수의 위치들에 대해 수행될 수 있다.
도 26으로 돌아가서, 블록(2650)에서, 자율 차량은 진입 위치 및 퇴장 위치에 기초하여 객체와의 충돌을 회피하도록 자율 주행 모드에서 제어된다. 다시 한 번 말하자면, 충돌 위치들은 차량의 컴퓨팅 디바이스들이 객체를 회피하거나 또는 심지어 추월하기로 결정할 때 유용할 수 있다. 예를 들어, 거리들 d1 및 d2는 위에서 설명된 바와 같이 중첩될 확률을 결정하는 데 사용될 수 있다. 중첩될 확률이 결정되면, 자율 차량의 컴퓨팅 디바이스들은 이 정보를 사용하여 객체를 회피하도록 자율 주행 모드에서 자율 차량의 속도를 더 잘 제어(예를 들어, 더 빠르게 주행하거나 또는 더 느리게 주행)하는 방법을 결정할 수 있다. 일부 인스턴스들에서, 자율 차량은 심지어 새로운 궤적을 생성할 수도 있다.
본 명세서의 피처들 및 예들은 자율 차량들에 대한 충돌 위치들을 결정하는 것에 관한 것이지만, 이러한 피처들은 또한 비-자율 차량들, 또는 수동 또는 반자율(semiautonomous) 주행 모드들에서만 동작하는 차량들, 또는 완전 자율 주행 모드에서 동작하지 않고 있는 자율 차량들에도 활용될 수 있다. 예를 들어, 반자율 또는 수동 주행 모드에서, 이 방법은 미래 주행 궤적의 확률적 위험을 평가 또는 예측하는 데 도움을 줄 수 있어, 시스템의 안전성 또한 향상시킬 수 있다.
도 26은 자율 주행 모드를 갖는 차량을 조종하기 위해 컴퓨팅 디바이스들(110)의 프로세서들(120)과 같은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 수행될 수 있는 본 개시내용의 양태들에 따른 다른 예시적인 흐름도(2800)이다. 블록(2610)에서, 제1 객체의 형상 및 위치를 나타내는 폴리곤이 수신된다. 블록(2620)에서, 제2 객체의 형상 및 위치를 나타내는 폴리곤의 부분의 폴리라인 컨투어 표현이 수신된다. 폴리라인 컨투어 표현은 반-평면 좌표들에 있으며, 복수의 정점들 및 선분들을 포함한다. 블록(2630)에서, 제1 객체를 나타내는 폴리곤의 좌표들이 반-평면 좌표 시스템으로 변환된다. 블록(2640)에서, 변환된 좌표들을 사용하여 폴리라인 컨투어 표현과 제1 객체를 나타내는 폴리곤 사이의 충돌 위치가 결정된다. 그런 다음, 블록(2650)에서, 자율 차량은 충돌 위치에 기초하여 충돌을 회피하도록 자율 주행 모드에서 제어된다. 이 예에서, 제1 객체는 자율 차량일 수 있고, 제2 객체는 자율 차량의 환경 내의 객체일 수 있다. 대안적으로, 제2 객체는 자율 차량일 수 있고, 제1 객체는 자율 차량의 환경 내의 객체이다. 또한, 충돌 위치는 충돌에 대한 진입 위치뿐만 아니라 충돌에 대한 퇴장 위치를 포함할 수 있다.
본 명세서에서 설명되는 피처들은 충돌 분석을 위한 객체들의 효율적이지만 현실적인 표현을 제공할 수 있다. 예를 들어, 본 명세서에서 설명되는 피처들은 객체와 자율 차량의 궤적 사이의 중첩될 확률을 계산하는 효율적이고 정확한 방법을 허용할 수 있다. 또한, 자율 차량의 폴리라인 표현의 경우, 자율 차량의 표현이 자율 차량의 실제 치수들보다 큰 2차원 직사각형으로 일반화되지 않기 때문에, 이것은 자율 차량의 스웹 볼륨을 상당히 감소시킬 수 있고, 차례로, 자율 차량이 더 좁은 통로들을 그리고 다른 객체들에 더 가까이 통과할 수 있도록 한다. 위에서 언급된 바와 같이, 충돌 검출의 목표는 궁극적으로 보수적이도록 하는 것이며 임의의 가능한 충돌을 검출하는 것이다. 그러나, 폴리라인 표현을 사용하면, 보수적인 추정의 특성을 손상시키지 않으면서, 자율 차량과 기타 객체들 사이의 더 큰 거리들을 계산할 수 있다.
또한, 폴리라인 컨투어 표현은 차량의 절반에만 대응할 필요가 있고, 충돌 분석을 수행할 때 (피크 앞 또는 뒤의) 해당 부분만이 필요하기 때문에, 이것은 메모리 및 프로세싱 리소스들도 상당히 감소시킬 수 있다. 위에서 언급된 바와 같이, 폴리라인 컨투어 표현은 또한 단순히 자율 차량 상의 물리적인 점에 실제로 대응할 수도 있고 또는 대응하지 않을 수도 있는 직사각형 상의 점보다는 자율 차량의 어느 부분이 충돌에 관여될 것인지(예를 들어, 미러 또는 범퍼와 충돌할지)를 결정할 수 있다. 또한, 폴리라인 컨투어 표현의 y 좌표의 단조성 때문에, 객체가 자율 차량의 궤적과 얼마나 깊이 중첩되는지가 알려지면, 충돌 분석을 위해 어느 선분을 사용할지가 빠르게 결정될 수 있다. 차량들 및 실시간 의사 결정에 더하여, 본 명세서에서 설명되는 피처들은 또한 비디오 게임들뿐만 아니라 테스트 환경들을 포함하는 시뮬레이션들과 같은 객체들의 가상 표현들을 포함하여 차량들 이외의 객체들에도 유용할 수 있다. 예를 들어, 본 명세서에서 설명되는 피처들은 시뮬레이션들 자체들을 더 효율적으로 만드는 해당 가상 객체들에 대해 충돌 위치들 및 퇴장 위치들을 결정하는 데 사용될 수 있다.
폴리라인 컨투어 표현은, 실제 차량들과 함께 사용될 때, 차량 또는 차량의 환경 내의 객체를 나타내는 직사각형 폴리곤보다 더 미세하기 때문에, 본 명세서에서 설명되는 피처들은 자율 차량과 기타 객체들 사이의 계산된 거리들을 효과적으로 증가시킬 수 있어, 기타 객체들과의 거짓 긍정 충돌들의 우도를 감소시킬 수 있고, 차량이 다른 객체에 의해 거짓으로 차단되어 좌초될(진행하지 못할) 우도를 감소시킬 수 있으며, 자율 차량이 객체에 더 가까이 다가가거나 또는 그 주위를 돌 수 있기 때문에, 기타 객체들에 의해 유발되는 가려짐들을 감소시킬 수 있다. 차례로, 모든 이러한 이점들은 자율 차량이 객체들 주위를 더 잘 조종할 수 있게 하고, 일부 경우들에서는, 더 빠르게 주행할 수 있게 하고, 또한 회피적인(또는 다르게는 불편한) 조종들에 대한 필요성을 감소시킬 수 있어, 승객들에 대한 전반적인 주행 편의성을 개선시킬 수 있다.
달리 언급되지 않는 한, 전술한 대안적인 예들은 상호 배타적이지 않고, 고유한 이점들을 달성하기 위해 다양한 조합들로 구현될 수 있다. 위에서 논의된 피처들의 이들 및 다른 변형들 및 조합들이 청구범위에 의해 정의된 대상으로부터 벗어나지 않고 활용될 수 있기 때문에, 실시예들에 대한 전술한 설명은 청구범위에 의해 정의된 대상을 제한하는 방식이 아니라 예시의 방식으로 취해져야 한다. 또한, 본 명세서에서 설명된 예들뿐만 아니라 "와 같은(such as)", "포함하는(including)" 등으로 표현된 절들의 제공이 청구범위의 대상을 특정 예들로 제한하는 것으로 해석되어서는 안되고, 오히려, 예들은 많은 가능한 실시예들 중 하나만을 예시하는 것으로 의도된다. 또한, 상이한 도면들에서 동일한 참조 번호들은 동일하거나 유사한 요소들을 식별할 수 있다.

Claims (22)

  1. 자율 주행 모드(autonomous driving mode)를 갖는 차량을 제어하는 방법으로서,
    자율 차량(autonomous vehicle)의 환경에서 검출된 객체의 형상 및 위치를 나타내는 폴리곤(polygon)을 수신하는 단계;
    반-평면 좌표 시스템(half-plane coordinate system)에서 상기 자율 차량의 컨투어의 절반 이하를 나타내는 자율 차량의 폴리라인 컨투어 표현(polyline contour representation)에 액세스하는 단계 - 상기 폴리라인 컨투어 표현은 복수의 정점들 및 선분들을 포함함 -;
    상기 객체를 나타내는 폴리곤의 좌표들을 상기 반-평면 좌표 시스템으로 변환하는 단계;
    상기 변환된 좌표들을 사용하여 상기 폴리라인 컨투어 표현과 상기 객체를 나타내는 폴리곤 사이의 충돌 위치를 결정하는 단계; 및
    상기 충돌 위치에 기초하여 상기 객체와의 충돌을 회피하도록 상기 자율 주행 모드에서 상기 자율 차량을 제어하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 폴리라인 컨투어 표현은 상기 자율 차량의 전면 범퍼로부터 상기 자율 차량의 후면 범퍼까지 그려진 차량 폭 프로파일로서 정의되는, 방법.
  3. 제2항에 있어서, 상기 폴리라인 컨투어 표현은 상기 자율 차량의 최대 절반 폭인 최대 y 좌표를 갖는 최대 2개의 연속적인 점을 갖는, 방법.
  4. 제3항에 있어서, 상기 자율 차량의 최대 절반 폭은 상기 자율 차량의 미러들 또는 측면 센서(lateral sensor)들 사이에서 측정된 자율 차량의 폭의 절반에 대응하는, 방법.
  5. 제3항에 있어서, 상기 폴리라인 컨투어 표현 상의 y 좌표 값은 최대 y 좌표를 갖는 점까지 단조 증가한 다음, 상기 폴리라인 컨투어 표현이 최대 하나의 피크를 갖도록 단조 감소하는, 방법.
  6. 제5항에 있어서, 상기 폴리라인 컨투어 표현과 상기 객체의 표현 사이의 충돌 위치를 결정하는 단계는, 상기 자율 차량이 앞으로 이동하고 있을 때, 전면 펜딩 폴리라인 컨투어 표현(front fending polyline contour representation)을 사용하는 단계를 포함하고, 상기 전면 펜딩 폴리라인 컨투어 표현은 상기 최대 y 좌표 앞의 폴리라인 컨투어 표현의 부분에 대응하는, 방법.
  7. 제5항에 있어서, 상기 폴리라인 컨투어 표현과 상기 객체의 표현 사이의 충돌 위치를 결정하는 단계는, 상기 자율 차량이 뒤로 이동하고 있을 때, 후면 펜딩 폴리라인 컨투어 표현(rear fending polyline contour representation)을 사용하는 단계를 포함하고, 상기 후면 펜딩 폴리라인 컨투어 표현은 상기 최대 y 좌표 뒤의 폴리라인 컨투어 표현의 부분에 대응하는, 방법.
  8. 제1항에 있어서, 상기 충돌 위치를 결정하는 단계는, 상기 객체를 나타내는 폴리곤의 선분에 대해, 상기 반-평면 좌표 시스템으로의 침투점(penetration point)(D)을 결정하는 단계를 포함하는, 방법.
  9. 제8항에 있어서, D와 상기 폴리라인 컨투어 표현의 선분 사이의 거리를 결정하는 단계를 더 포함하는, 방법.
  10. 제8항에 있어서, D와 동일한 침투 깊이를 갖는 폴리라인 컨투어 표현 상의 선분들 중 하나의 선분을 찾는 단계를 더 포함하는, 방법.
  11. 제1항에 있어서, 동일한 y 좌표를 갖는 객체의 표현과 폴리라인 컨투어 표현 사이에 다수의 충돌 위치들이 있을 때, 상기 충돌 위치를 결정하는 단계는 제1 충돌 위치에 대한 x 좌표를 제2 충돌 위치에 대한 x 좌표와 비교하는 단계를 더 포함하는, 방법.
  12. 제1항에 있어서, 상기 폴리라인 컨투어 표현은 상기 자율 차량의 중심선을 따른 자율 차량의 폭 프로파일에 대응하는, 방법.
  13. 제1항에 있어서, 상기 반-평면 좌표 시스템의 원점은 상기 자율 차량의 전면 범퍼 상의 가장 먼 x 좌표 및 상기 자율 차량의 폭 치수의 절반을 나타내는 최대 y 좌표에 대응하는 점에 위치되는, 방법.
  14. 제1항에 있어서, 상기 충돌 위치는 상기 복수의 정점들 또는 선분들 중 하나에 대응하는, 방법.
  15. 제1항에 있어서, 상기 폴리라인 컨투어 표현과 상기 객체의 표현 사이의 충돌 퇴장 위치(collision exit location)를 결정하는 단계를 더 포함하고, 상기 자율 차량을 제어하는 단계는 상기 충돌 퇴장 위치에 추가로 기초하는, 방법.
  16. 자율 주행 모드를 갖는 차량을 제어하기 위한 시스템으로서,
    하나 이상의 프로세서
    를 포함하고, 상기 하나 이상의 프로세서는,
    자율 차량의 환경에서 검출된 객체의 형상 및 위치를 나타내는 폴리곤을 수신하고,
    반-평면 좌표 시스템에서 상기 자율 차량의 컨투어의 절반 이하를 나타내는 자율 차량의 폴리라인 컨투어 표현에 액세스하고 - 상기 폴리라인 컨투어 표현은 복수의 정점들 및 선분들을 포함함 -,
    상기 객체를 나타내는 폴리곤의 좌표들을 상기 반-평면 좌표 시스템으로 변환하고,
    상기 변환된 좌표들을 사용하여 상기 폴리라인 컨투어 표현과 상기 객체를 나타내는 폴리곤 사이의 충돌 위치를 결정하고,
    상기 충돌 위치에 기초하여 상기 객체와의 충돌을 회피하도록 상기 자율 주행 모드에서 상기 자율 차량을 제어하도록
    구성되는, 시스템.
  17. 제16항에 있어서, 상기 충돌 위치를 결정하는 것은, 상기 객체를 나타내는 폴리곤의 선분에 대해, 상기 반-평면 좌표 시스템으로의 침투점(D)을 결정하는 것을 포함하는, 시스템.
  18. 제17항에 있어서, 상기 자율 차량의 최대 절반 폭은 상기 자율 차량의 미러들 또는 측면 센서들 사이에서 측정된 자율 차량의 폭의 절반에 대응하는, 시스템.
  19. 제18항에 있어서, 상기 폴리라인 컨투어 표현은 상기 자율 차량의 전면 범퍼로부터 상기 자율 차량의 후면 범퍼까지 그려진 차량 폭 프로파일로서 정의되는, 시스템.
  20. 제19항에 있어서, 상기 폴리라인 컨투어 표현은 상기 자율 차량의 최대 절반 폭인 최대 y 좌표를 갖는 최대 2개의 연속적인 점을 갖는, 시스템.
  21. 제20항에 있어서, 상기 폴리라인 컨투어 표현 상의 y 좌표 값은 최대 y 좌표를 갖는 점까지 단조 증가한 다음, 상기 폴리라인 컨투어 표현이 최대 하나의 피크를 갖도록 단조 감소하는, 시스템.
  22. 제16항에 있어서, 상기 자율 차량을 더 포함하는, 시스템.
KR1020227005809A 2019-08-21 2020-08-18 자율 차량들을 위한 폴리라인 컨투어 표현들 KR102433273B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962889698P 2019-08-21 2019-08-21
US62/889,698 2019-08-21
US16/687,974 US11136025B2 (en) 2019-08-21 2019-11-19 Polyline contour representations for autonomous vehicles
US16/687,974 2019-11-19
PCT/US2020/046787 WO2021034819A1 (en) 2019-08-21 2020-08-18 Polyline contour representations for autonomous vehicles

Publications (2)

Publication Number Publication Date
KR20220028163A true KR20220028163A (ko) 2022-03-08
KR102433273B1 KR102433273B1 (ko) 2022-08-19

Family

ID=74646614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227005809A KR102433273B1 (ko) 2019-08-21 2020-08-18 자율 차량들을 위한 폴리라인 컨투어 표현들

Country Status (6)

Country Link
US (3) US11260857B2 (ko)
EP (1) EP3997538A4 (ko)
JP (1) JP7346707B2 (ko)
KR (1) KR102433273B1 (ko)
CN (1) CN114258366B (ko)
WO (1) WO2021034819A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD980854S1 (en) * 2019-08-16 2023-03-14 Lyft, Inc. Display screen or portion thereof with graphical user interface
US11260857B2 (en) 2019-08-21 2022-03-01 Waymo Llc Polyline contour representations for autonomous vehicles
US11643105B2 (en) * 2020-02-21 2023-05-09 Argo AI, LLC Systems and methods for generating simulation scenario definitions for an autonomous vehicle system
US11648959B2 (en) 2020-10-20 2023-05-16 Argo AI, LLC In-vehicle operation of simulation scenarios during autonomous vehicle runs
US20220194424A1 (en) * 2020-12-22 2022-06-23 Waymo Llc Autonomous vehicle trajectory computed using box-based probabilistic overlap model
US20220297683A1 (en) * 2021-03-19 2022-09-22 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicle guard rail system
US20230150485A1 (en) * 2021-11-16 2023-05-18 Ford Global Technologies, Llc Vehicle path adjustment
USD1014398S1 (en) 2021-12-23 2024-02-13 Waymo Llc Vehicle
USD1016636S1 (en) 2021-12-23 2024-03-05 Waymo Llc Sensor assembly

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140085466A1 (en) * 2012-09-27 2014-03-27 Fujitsu Ten Limited Image generating apparatus
US9767366B1 (en) * 2014-08-06 2017-09-19 Waymo Llc Using obstacle clearance to measure precise lateral
KR20190095622A (ko) * 2018-01-26 2019-08-16 충북대학교 산학협력단 회피경로 생성방법 및 그를 위한 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4333112A1 (de) 1993-09-29 1995-03-30 Bosch Gmbh Robert Verfahren und Vorrichtung zum Ausparken eines Fahrzeugs
JP4226663B2 (ja) * 1997-11-07 2009-02-18 株式会社セガ 画像生成装置および画像生成方法
US6144338A (en) * 1998-03-17 2000-11-07 Prc Public Sector. Inc. Predictive drop and load algorithm for an object-based geographical information system
US8762046B2 (en) 2008-10-01 2014-06-24 Navteq B.V. Creating geometry for advanced driver assistance systems
DE102009045286A1 (de) 2009-10-02 2011-04-21 Robert Bosch Gmbh Verfahren zur Abbildung des Umfelds eines Fahrzeugs
US9481287B2 (en) * 2014-01-21 2016-11-01 Harman International Industries, Inc. Roadway projection system
DE102014007565A1 (de) * 2014-05-22 2015-11-26 Connaught Electronics Ltd. Verfahren zum Ermitteln einer jeweiligen Grenze zumindest eines Objekts, Sensorvorrichtung, Fahrerassistenzeinrichtung und Kraftfahrzeug
US9168922B1 (en) 2014-06-05 2015-10-27 Jaybridge Robotics, Inc. Computer-implemented methods and systems for predicting an area to be traversed by a moving vehicle
JP6183298B2 (ja) * 2014-06-10 2017-08-23 株式会社デンソー 衝突回避装置
WO2017079349A1 (en) 2015-11-04 2017-05-11 Zoox, Inc. System for implementing an active safety system in an autonomous vehicle
BR112019003821A2 (pt) 2016-08-26 2019-05-21 Crown Equipment Corporation veículo de manejo de materiais, e, método para executar lógica de validação de trajeto com relação a um veículo de manejo de materiais.
JP6769788B2 (ja) 2016-09-07 2020-10-14 ボッシュ株式会社 移動体の周囲の障害物情報を生成するための処理装置及び処理方法
CN109844840B (zh) 2016-09-30 2022-04-08 本田技研工业株式会社 车辆控制装置
CN108445750B (zh) * 2017-02-16 2022-04-08 法拉第未来公司 用于车辆运动规划的方法和系统
JP6610585B2 (ja) * 2017-03-13 2019-11-27 トヨタ自動車株式会社 衝突回避制御装置
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
US10789487B2 (en) * 2018-04-05 2020-09-29 Here Global B.V. Method, apparatus, and system for determining polyline homogeneity
US11260857B2 (en) 2019-08-21 2022-03-01 Waymo Llc Polyline contour representations for autonomous vehicles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140085466A1 (en) * 2012-09-27 2014-03-27 Fujitsu Ten Limited Image generating apparatus
US9767366B1 (en) * 2014-08-06 2017-09-19 Waymo Llc Using obstacle clearance to measure precise lateral
KR20190095622A (ko) * 2018-01-26 2019-08-16 충북대학교 산학협력단 회피경로 생성방법 및 그를 위한 장치

Also Published As

Publication number Publication date
WO2021034819A1 (en) 2021-02-25
EP3997538A1 (en) 2022-05-18
US11260857B2 (en) 2022-03-01
CN114258366A (zh) 2022-03-29
EP3997538A4 (en) 2023-08-02
US20210053563A1 (en) 2021-02-25
KR102433273B1 (ko) 2022-08-19
JP7346707B2 (ja) 2023-09-19
CN114258366B (zh) 2023-05-16
US20210362708A1 (en) 2021-11-25
JP2022545173A (ja) 2022-10-26
US20210053562A1 (en) 2021-02-25
US11938926B2 (en) 2024-03-26
US11136025B2 (en) 2021-10-05

Similar Documents

Publication Publication Date Title
KR102433273B1 (ko) 자율 차량들을 위한 폴리라인 컨투어 표현들
US11989666B1 (en) Predicting trajectory intersection by another road user
US11731629B2 (en) Robust method for detecting traffic signals and their associated states
US11720116B1 (en) Collision mitigation static occupancy grid
US8473144B1 (en) Controlling vehicle lateral lane positioning
KR20190100407A (ko) 장래 진로를 결정하기 위한 휠 배향의 사용
US11048254B2 (en) Generating simplified object models to reduce computational resource requirements for autonomous vehicles
US20220366175A1 (en) Long-range object detection, localization, tracking and classification for autonomous vehicles
US20230150485A1 (en) Vehicle path adjustment
US20220176987A1 (en) Trajectory limiting for autonomous vehicles
CN115257728B (zh) 一种用于自动驾驶的盲区风险区检测方法
CN117916682A (zh) 使用时空凸形走廊的运动规划

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right