KR102501489B1 - 자율 주행 차량의 장애물 회피 궤적 계획 - Google Patents

자율 주행 차량의 장애물 회피 궤적 계획 Download PDF

Info

Publication number
KR102501489B1
KR102501489B1 KR1020207029809A KR20207029809A KR102501489B1 KR 102501489 B1 KR102501489 B1 KR 102501489B1 KR 1020207029809 A KR1020207029809 A KR 1020207029809A KR 20207029809 A KR20207029809 A KR 20207029809A KR 102501489 B1 KR102501489 B1 KR 102501489B1
Authority
KR
South Korea
Prior art keywords
trajectory
adv
obstacle
time
stay
Prior art date
Application number
KR1020207029809A
Other languages
English (en)
Other versions
KR20210110773A (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 KR20210110773A publication Critical patent/KR20210110773A/ko
Application granted granted Critical
Publication of KR102501489B1 publication Critical patent/KR102501489B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • 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
    • 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/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • 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
    • 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/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
    • B60W40/105Speed
    • 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
    • B60W60/00274Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
    • 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/005Handover processes
    • B60W60/0059Estimation of the risk associated with autonomous or manual driving, e.g. situation too complex, sensor failure or driver incapacity
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • 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

Landscapes

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

Abstract

ADV를 작동하기 위한 컴퓨터 구현 방법을 개시한다. ADV가 주행할 제1 궤적을 계획한다. ADV는 제1 궤적을 따라 자율 주행할 것이다. ADV에 장착된 복수의 센서로부터 획득한 센서 데이터에 기반하여 ADV의 영향 영역의 장애물을 감지한다. 영향 영역에서 장애물의 예상 체류 시간을 결정한다. 영향 영역에서 장애물의 예상 체류 시간에 기반하여 제2 궤적을 계획할 것인지 아니면 장애물이 영향 영역에서 벗어날 때까지 대기할 것인지를 결정한다. ADV가 주행할 제2 궤적을 계획하고, ADV는 제2 궤적을 따라 자율 주행하거나, 또는 장애물이 영향 영역을 벗어날 때까지 대기하다가 제1 궤적을 따라 자율 주행한다.

Description

자율 주행 차량의 장애물 회피 궤적 계획
본원의 실시예는 전체적으로 자율 주행 차량 동작에 관한 것이다. 보다 상세하게, 본원의 실시예는 자율 주행 차량(ADV)을 위한 궤적 계획 방법에 관한 것이다.
자율 주행 모드로 운행되는 차량(예컨대, 무인 운전)은 탑승자, 특히 운전자를 운전과 관련된 일부 역할로부터 해방시킬 수 있다. 자율 주행 모드로 운행 시, 차량은 차량용 센서를 이용하여 다양한 지점으로 내비게이션할 수 있음으로써, 최소한의 인간-기계 상호 작용이 가능한 경우 또는 어떠한 탑승자도 없는 일부 경우에서도 운행이 가능하다.
동작 계획 및 제어는 자율 주행의 핵심 동작이다. ADV는 도로 경계를 구비한 도로 주행 시나리오 및 도로 경계를 구비하지 않는 자유 공간 주행 시나리오에서 주행을 해야 할 수도 있다. 도로 주행 시나리오를 위한 일반적인 동작 계획 방법에는 토폴로지와 특정 도로 경계가 필요할 수 있다. 따라서 도로 주행 시나리오를 위한 일반적인 동작 계획 방법으로는 전진 및 후진 궤적의 조합으로 구성된 주차, 3점 회전 및 장애물 회피 등과 같은 복잡한 시나리오를 처리하기 어렵다. 일반적인 자유 공간 경로 계획 방법은 실시간으로 궤적을 생성하는 것이 느리고, 장애물 회피 성능이 떨어지는 문제가 있다.
일 양태에서, 본원은 자율 주행 차량(ADV)을 작동하기 위한 컴퓨터 구현 방법을 제공하고, 상기 방법은, ADV에 장착된 복수의 센서로부터 획득한 센서 데이터에 기반하여 상기 ADV 주위의 주행 환경을 감지하되, 이는 상기 ADV의 영향 영역을 결정하는 것을 포함하는 단계; 상기 주행 환경에 기반하여 상기 ADV가 상기 영향 영역의 적어도 일부분을 자동으로 주행할 수 있도록 제1 궤적을 계획하는 단계; 상기 영향 영역 내에 있는 장애물을 감지한 것에 응답하여, 상기 장애물이 상기 영향 영역 내에 체류할 것으로 예상되는 시간량을 나타내는 상기 장애물의 예상 체류 시간을 결정하는 단계; 및 상기 예상 체류 시간에 기반하여, 상기 영향 영역 내에 체류하는 상기 장애물에 따라 제2 궤적을 계획할지 아니면 상기 장애물이 상기 영향 영역을 벗어날 수 있도록 일정한 시간 동안 대기할 것인지를 결정하여, 상기 제1 궤적에 따라 상기 ADV를 제어하는 단계;를 포함한다.
다른 일 양태에 있어서, 본원은, 명령어가 저장된 비 일시적 기계 판독 가능한 저장 매체를 제공하고, 상기 명령어가 프로세서에 의해 실행될 경우, 상기 프로세서서가 상기 일 양태에 따른 컴퓨터 구현 방법을 수행하도록 한다.
또 다른 일 양태에 있어서, 본원은 데이터 처리 시스템을 제공하고, 상기 시스템은 프로세서 및 명령어를 저장하며 상기 프로세서에 연결된 저장 장치를 포함하고, 상기 명령어가 상기 프로세서에 의해 실행될 경우, 상기 프로세서가 상기 일 양태에 따른 컴퓨터 구현 방법을 수행하도록 한다.
본원의 실시예는 첨부된 도면들 각각에서 제한적인 방식이 아닌 예시로써 제시되어 있으며, 도면 내의 동일한 참조 부호는 유사한 요소를 나타낸다.
도 1은 일 실시예에 따른 네트워크화 시스템의 블록도를 나타낸다.
도 2는 일 실시예에 따른 자율 주행 차량의 일 예의 블록도를 나타낸다.
도 3A 내지 도 3B는 일 실시예에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템의 일 예의 블록도를 나타낸다.
도 4는 일 실시예에 따른 노선 배정 모듈 및 계획 모듈 일 예의 블록도를 나타낸다.
도 5A는 일 실시예에 따른 도로 위 모드에서의 동작 일 예의 처리 순서도를 나타낸다.
도 5B는 일 실시예에 따른 개방 공간 모드에서의 동작 일 예의 처리 순서도를 나타낸다.
도 6은 일 실시예에 따른 노선 배정 모듈 및 장애물 회피 모듈을 포함한 계획 모듈의 일 예의 블록도를 나타낸다.
도 7은 일 실시예에 따른 장애물 회피 일 예의 처리 순서도를 나타낸다.
도 8A 내지 도 8D는 ADV가 도로 경계를 구비한 제1 주행 영역에서 주행하는 및/또는 도로 경계를 구비하지 않는 개방 공간인 제2 주행 영역에서 주행하는 예시를 나타낸다.
도 9A 내지 도 9B는 일 실시예에 따른 개방 공간 모드에서 동작하는 세부 동작을 나타낸다.
도 10은 ADV가 이동을 방해하는 장애물을 만난 일 예를 나타낸다.
도 11은 영향 영역에서 동적 장애물 체류 시간의 확률 밀도 함수를 나타낸다.
도 12는 일 실시예에 따른 ADV를 위한 도로 위 모드 또는 개방 공간 모드 중 어느 한 모드 동작의 프로세스 일 예의 순서도를 나타낸다.
도 13는 일 실시예에 따른 ADV를 위한 개방 공간 모드로 동작하는 프로세스 일 예의 순서도를 나타낸다.
도 14는 일 실시예에 따른 ADV를 위한 장애물을 회피하는 프로세스 일 예의 순서도를 나타낸다.
이하 설명되는 세부내용을 참고하여 본원의 다양한 실시예 및 측면에 대해 설명할 것이며, 상기 다양한 실시예는 도면에 도시된다. 이하 설명 및 도면은 본원에 대한 설명을 위한 것일 뿐, 본원을 제한하는 것으로 해석되어서는 안된다. 본원의 다양한 실시예에 대한 전반적인 이해를 돕기 위해 많은 특정 세부 사항에 대해 설명하였다. 그러나 일부 경우에 본원의 실시예에 대한 간결한 설명을 위해 잘 알려진 세부 사항이나 일반적인 세부 사항에 대한 설명은 생략하였다.
본 명세서에서 언급한 "일 실시예" 또는 "실시예"는 해당 실시예와 결합하여 설명한 특정 특징, 구조 또는 특성이 본원의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 본 명세서의 다양한 위치에서 언급되는 "일 실시예에서"와 같은 표현들은 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
일부 실시예에 따라 장애물을 회피하기 위한 새로운 방법을 제공한다. 상기 방법에는 ADV의 영향 영역(영향을 받는 영역, affected region)에서 장애물(예컨대, 차량, 보행자, 동물 등)의 체류 시간 확률을 결정하고, 영향 영역에서 상기 장애물의 예상 체류 시간(Tw)을 계산하며, ADV가 ADV의 이동을 방해하는 장애물을 만났을 경우 ADV가 기다려야 할지 아니면 다시 계획해야 할지에 대한 결정을 내리는 등 단계가 포함된다.
일 실시예에 따라, ADV를 작동하기 위한 컴퓨터 구현 방법을 제공한다. ADV에 장착된 복수의 센서로부터 획득한 센서 데이터에 기반하여 ADV의 영향 영역의 장애물을 감지하는 동시에 제1 궤적을 따라 자동으로 주행하도록 ADV를 제어한다. 영향 영역에서 장애물의 예상 체류 시간을 결정한다. 영향 영역에서 장애물의 예상 체류 시간에 기반하여 제2 궤적을 계획할지 아니면 장애물이 영향 영역에서 벗어날 때까지 대기할지 여부를 결정한다. 제2 궤적을 계획할 것인지 장애물이 영향 영역을 벗어날 때까지 대기할 것인지에 대한 결정에 기반하여, ADV가 주행할 제2 궤적을 계획하고, ADV가 제2 궤적을 따라 자동으로 주행하도록 제어하거나, 장애물이 영향 영역을 벗어날 때까지 대기하다가 제1 궤적을 따라 자동 주행하도록 ADV를 제어한다.
일 실시예에서, 상기 방법은 도로 경계를 구비하지 않는 개방 공간인 주행 영역 유형에서 개방 공간 모드로 동작하는 것을 더 포함한다. 일 실시예에서, 영향 영역에서 장애물의 예상 체류 시간을 결정하는 단계에는 확률 밀도 함수를 사용하여 영향 영역에서 장애물의 체류 시간 확률을 결정하는 단계가 포함되고, 여기서 체류 시간 확률에 기반하여 영향 영역에서 장애물의 예상 체류 시간을 결정한다.
일 실시예에서, 상기 방법은, 영향 영역에서 장애물의 예상 체류 시간에 기반하여, ADV가 장애물이 영향 영역을 벗어날 때까지 대기하다가 제1 궤적을 따라 자동으로 주행할 수 있는 제1 예상 도착 시간을 결정하는 단계; ADV가 제2 궤적을 따라 자동 주행하는 제2 예상 도착 시간을 결정하는 단계; 및 제1 예상 도착 시간과 제2 예상 도착 시간의 비율을 결정하는 단계를 더 포함하고, 여기서 제2 궤적을 계획할 것인지 영향 영역에서 장애물이 벗어날 때까지 대기할 것인지는 제1 예상 도착 시간과 제2 예상 도착 시간의 비율에 기반하여 결정될 수도 있다.
일 실시예에서, 상기 방법은 제1 예상 도착 시간과 제2 예상 도착 시간의 비율이 1보다 큰 것에 응답하여 제2 궤적을 계획할 것을 결정하는 단계를 더 포함한다.
일 실시예에서, ADV의 제1 궤적 또는 제2 궤적을 계획하는 단계는, 검색 알고리즘에 기반하여 제1 노선 또는 제2 노선을 검색하는 단계; 제1 노선 또는 제2 노선에 기반하여 제1 기준선 또는 제2 기준선을 생성하는 단계; 제1 기준선 또는 제2 기준선에 기반하여 제1 후보 궤적 세트 또는 제2 후보 궤적 세트를 결정하는 단계; 및 제1 후보 궤적 세트 또는 제2 후보 궤적 세트에서 제1 궤적 또는 제2 궤적을 선택하여 제1 궤적 또는 제2 궤적을 계획하는 단계를 포함한다.
일 실시예에서, 검색 알고리즘은 개선된 A-star 검색 알고리즘을 포함한다. 일 실시예에서, 해당 방법은 ADV의 폭과 제1 기준선 또는 제2 기준선에 기반하여 제1 가상 도로 경계 또는 제2 가상 도로 경계를 생성하는 단계; 및 제1 가상 도로 경계 또는 제2 가상 도로 경계 내에서 제1 그리드 또는 제2 그리드를 생성하는 단계를 포함하되, 제1 그리드 또는 제2 그리드에 기반하여 제1 후보 궤적 세트 또는 제2 후보 궤적 세트를 결정한다.
도 1은 본원의 일 실시예에 따른 자율 주행 차량의 네트워크 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 네트워크 구성(100)은 네트워크(102)를 통해 하나 또는 복수의 서버(103 내지 104))와 통신하도록 연결된 자율 주행 차량(101)을 포함한다. 비록 하나의 자율 주행 차량을 표시하였으나, 네트워크(102)를 통해 복수의 자율 주행 차량들이 서로 연결되거나 및/또는 서버(103 내지 104))에 연결될 수 있다. 네트워크(102)는 유선 또는 무선 근거리 통신망(LAN), 인터넷 광역통신망(WAN), 셀룰러 네트워크, 위성 네트워크 또는 이들의 조합과 같은 모든 종류의 네트워크일 수 있다. 서버(103 내지 104)는 네트워크 또는 클라우드 서버, 애플리케이션 서버, 백엔드 서버 또는 이들의 조합과 같은 모든 유형의 서버 또는 서버 클러스터일 수 있다. 서버(103 내지 104)는 데이터 분석 서버, 콘텐츠 서버, 교통 정보 서버, 지도 및 관심 지점(MPOI) 서버 또는 위치 서버 등 일 수 있다.
자율 주행 차량은 운전자의 입력이 극히 적거나 없는 상태에서 주행하는 자율 주행 모드로 구성될 수 있는 차량을 의미한다. 이러한 자율 주행 차량에는 차량 운행 환경과 관련된 정보를 감지하도록 구성된 하나 또는 복수의 센서들을 구비한 센서 시스템이 포함될 수 있다. 상기 차량과 그에 연관된 컨트롤러는 감지된 정보를 사용하여 상기 환경에서 내비게이션한다. 자율 주행 차량(101)은 수동 모드, 완전 자율 주행 모드 또는 부분 자율 주행 모드에서 운행될 수 있다.
일 실시예에서, 자율 주행 차량(101)은 감지 및 계획 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113) 및 센서 시스템(115)을 포함하나 이에 제한되지 않는다. 자율 주행 차량(101)에 엔진, 바퀴, 스티어링 휠, 변속기 등과 같은 일반 차량에 포함되는 일부 상용 부재들도 더 포함될 수 있으며, 상기 부재들은 차량 제어 시스템(111) 및/또는 감지 및 계획 시스템(110)에 의해 다양한 통신 신호 및/또는 명령어로 제어될 수 있고, 상기 다양한 통신 신호 및/또는 명령어에는 예를 들어 가속 신호 또는 명령어, 감속 신호 또는 명령어, 조향 신호 또는 명령어, 제동 신호 또는 명령어 등이 있다.
부재들(110 내지 115)은 상호 연결 부재, 버스, 네트워크 또는 그 조합을 통해 서로 통신하도록 연결된다. 예를 들어, 부재들(110 내지 115)은 컨트롤러 영역 네트워크(CAN) 버스를 통해 서로 통신하도록 연결될 수 있다. CAN 버스는 마이크로 컨트롤러와 장치가 호스트가 없는 응용에서 서로 통신할 수 있도록 설계된 차량 버스 표준이다. 이는 원래 자동차 내의 전기 배선 재사용을 위해 설계된 메시지 기반 프로토콜이었으나 기타 다양한 환경에서도 사용된다.
도 2를 참조하면, 일 실시예에서 센서 시스템(115)은 하나 또는 복수의 카메라(211), 위성항법장치(GPS) 유닛(212), 관성측정장치(IMU) 유닛(213), 레이더 유닛(214) 및 광 검출 및 거리측정장치(LIDAR)(215)를 포함하나 이에 제한되지 않는다. GPS 시스템 유닛(212)은 자율 주행 차량의 위치에 대한 정보를 제공하도록 작동되는 트랜시버를 포함할 수 있다. IMU 유닛(213)은 관성 가속도에 기반하여 자율 주행 차량의 위치 및 방향 변화를 감지할 수 있다. 레이더 유닛(214)은 무선 신호를 이용하여 자율 주행 차량의 현지 환경 내 물체를 감지하는 시스템을 나타낼 수 있다. 일부 실시예에서, 레이더 유닛(214)은 감지 물체 외에 물체의 속도 및/또는 진행 방향을 별도로 감지할 수 있다. LIDAR 유닛(215)은 레이저를 사용하여 자율 주행 차량이 위치한 환경 내의 물체를 감지할 수 있다. 다른 시스템 부재들 외에, LIDAR 유닛(215)은 하나 또는 복수의 레이저원, 레이저 스캐너 및 하나 또는 복수의 디텍터를 더 포함할 수 있다. 카메라(211)는 자율 주행 차량 주변 환경의 이미지를 수집하는 하나 또는 복수의 장치를 포함할 수 있다. 카메라(211)는 정물 카메라 및/또는 비디오 카메라일 수 있다. 예를 들어 카메라를 회전 및/또는 기울어진 플랫폼에 장착하여 카메라를 기계적으로 움직일 수 있다.
센서 시스템(115)은 소나 센서, 적외선 센서, 스티어링 센서, 스로틀 센서, 브레이크 센서 및 오디오 센서(예컨대, 마이크)와 같은 다양한 센서를 더 포함할 수 있다. 오디오 센서는 자율 주행 차량 주변 환경으로부터 소리를 수집하도록 구성될 수 있다. 스티어링 센서는 핸들, 차량 바퀴 또는 이들의 조합의 스티어링 각도를 감지하도록 구성될 수 있다. 스로틀 센서와 브레이크 센서는 각각 차량의 스로틀 위치와 브레이크 위치를 감지한다. 일부 경우에 스로틀 센서와 브레이크 센서가 통합형 스로틀/브레이크 센서로 통합될 수 있다.
일 실시예에서, 차량 제어 시스템(111)은 스티어링 유닛(201), 스로틀 유닛(202)(가속 유닛이라고도 지칭함) 및 브레이크 유닛(203)을 포함하나 이에 제한되지 않는다. 스티어링 유닛(201)은 차량의 방향이나 진행 방향을 조정한다. 스로틀 유닛(202)은 전기모터 또는 엔진의 속도를 제어하며, 전기모터 또는 엔진의 속도는 나아가 차량의 속도와 가속도를 제어한다. 브레이크 유닛(203)은 마찰을 제공하여 차량 바퀴 또는 타이어의 속도를 줄임으로써 차량의 속도를 줄인다. 도 2에 나타낸 부재는 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있음을 이해할 것이다.
다시 도 1을 참조하면, 무선 통신 시스템(112)은 자율 주행 차량(101)과 장치, 센서, 기타 차량 등과 같은 외부 시스템 간의 통신을 허용한다. 예를 들어, 무선 통신 시스템(112)은 하나 또는 복수의 장치와 직접적으로 무선 통신을 하거나, 네트워크(102)를 통해 서버(103 내지 104)와 통신하는 등, 통신 네트워크를 통해 무선 통신을 할 수 있다. 무선 통신 시스템(112)은 다양한 부재 또는 시스템과 통신하기 위해 WiFi를 사용하는 등, 셀룰러 네트워크 또는 무선 로컬 영역 네트워크(WLAN)를 사용할 수 있다. 무선 통신 시스템(112)은 예를 들어 적외선 링크, 블루투스 등을 이용하여 장치(예컨대, 승객의 이동 장치, 디스플레이 장치, 차량(101) 내 스피커)와 직접 통신할 수 있다. 사용자 인터페이스 시스템(113)은 예를 들어 키보드, 터치 스크린 디스플레이 장치, 마이크 및 스피커 등이 포함된 차량(101) 내에 구현된 주변 장치의 일부분일 수 있다.
자율 주행 차량(101)의 기능 중 일부 또는 전부는, 특히 자율 주행 모드에서 작동될 때, 감지 및 계획 시스템(110)에 의해 제어되거나 관리될 수 있다. 감지 및 계획 시스템(110)에는 필요한 하드웨어(예컨대, 프로세서, 메모리, 스토리지)와 소프트웨어(예컨대, 운영 체제, 계획 및 경로 배정 프로그램)가 포함되어 있으며, 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112) 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고, 수신된 정보를 처리하며, 출발지부터 목적지까지의 노선이나 경로를 계획하고, 계획 및 제어 정보를 기반으로 차량(101)을 운전한다. 선택적으로, 감지 및 계획 시스템(110)은 차량 제어 시스템(111)과 통합될 수 있다.
예를 들어, 승객으로서 사용자는 사용자 인터페이스를 통해 여정의 출발지와 목적지를 지정할 수 있다. 감지 및 계획 시스템(110)은 여정에 관한 데이터를 획득한다. 예를 들어, 감지 및 계획 시스템(110)은 서버(103 내지 104)의 일부가 될 수 있는 MPOI 서버로부터 위치 및 경로 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고, MPOI 서버는 지도 서비스와 일부 위치에 대한 POI를 제공한다. 선택적으로, 이러한 위치 및 MPOI 정보는 감지 및 계획 시스템(110)의 영구 스토리지에 로컬로 캐시될 수 있다.
자율 주행 차량(101)이 경로를 따라 이동할 때 감지 및 계획 시스템(110) 또한 교통 정보 시스템 또는 서버(TIS)로부터 실시간 교통 정보를 획득할 수 있다. 서버(103 내지 104)가 제3자 엔티티에 의해 작동될 수 있음을 이해할 것이다. 선택적으로 서버(103 내지 104)의 기능은 감지 및 계획 시스템(110)과 통합될 수 있다. 실시간 교통정보, MPOI 정보, 위치 정보 및 센서 시스템(115)에 의해 탐지되거나 감지된 실시간 현지 환경 데이터(예컨대, 장애물, 물체, 근처 차량)에 기반하여, 감지 및 계획 시스템(110)은 최적의 경로를 계획하고, 계획된 경로를 따라 예를 들어, 제어 시스템(111)을 통해 차량(101)을 운전함으로써 목적지에 안전하고 효율적으로 도달할 수 있다.
서버(103)는 데이터 분석 시스템일 수 있고, 이를 통해 다양한 고객에게 데이터 분석 서비스를 제공할 수 있다. 일 실시예에서, 데이터 분석 시스템(103)은 데이터 수집 장치(121)와 머신러닝 엔진(122)을 포함한다. 데이터 수집 장치(121)는 다양한 차량(자율 주행 차량 또는 인간 운전자가 운전하는 일반 차량)으로부터 주행 통계 데이터(123)를 수집한다. 주행 통계 데이터(123)는 주행 명령어(예컨대, 스로틀, 브레이크, 스티어링 명령어) 및 차량의 센서에 의해 각기 다른 시점에서 포착된 차량의 반응(예컨대, 속도, 가속, 감속, 방향)에 대한 정보를 포함한다. 또한 주행 통계 데이터(123)에는 노선(출발지 및 목적지 위치 포함), MPOI, 도로 상태, 기상 상태 등과 같은 다양한 시점의 주행 환경에 대한 정보가 더 포함될 수 있다.
주행 통계 데이터(123)에 기반하여, 머신러닝 엔진(122)은 다양한 목적을 위해 일 세트의 규칙, 알고리즘 및/또는 예측 모델(124)을 생성하거나 훈련시킨다. 일 실시예에서, 알고리즘(124)은 ADV가 주행하는 노선의 출발지 및 종착지를 결정하기 위한 알고리즘 또는 모델; 각각의 출발지 및 종착지가 도로 경계를 구비한 제1 주행 영역 내에 위치하는지 또는 도로 경계를 구비하지 않는 개방 공간인 제2 주행 영역 내에 위치하는지를 결정하기 위한 알고리즘; 각각의 출발지 및 종착지가 제1 주행 영역 내에 위치하는지 또는 제2 주행 영역 내에 위치하는지에 기반하여, 노선을 제1 노선 구간 및 제2 노선 구간으로 분할하기 위한 알고리즘; 및 출발지 또는 종착지가 제1 주행 영역 내에 위치하는지 또는 제2 주행 영역 내에 위치하는지에 따라, 도로 위 모드 또는 개방 공간 모드 중 어느 하나의 모드로 작동하여 제1 노선 구간에 대한 제1 궤적을 계획하고, 도로 위 모드 또는 개방 공간 모드 중 어느 하나의 모드로 작동하여 제2 노선 구간에 대한 제2 궤적을 계획하기 위한 알고리즘을 포함한다. 그런 다음 알고리즘(124)은 ADV(예컨대, 도 3A의 모델(313))에 업로드되어 자율 주행 중에 실시간으로 사용될 수 있다.
도 3A 및 도 3B는 일 실시예에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템의 일 예의 블록도를 나타낸다. 시스템(300)은 도 1의 자율 주행 차량(101)의 일부로써 실행될 수 있으며, 감지 및 계획 시스템(110), 제어 시스템(111) 및 센서 시스템(115)을 포함하나 이에 제한되지 않는다. 도 3A 내지 도 3B를 참조하면, 감지 및 계획 시스템(110)은 위치 결정 모듈(301), 감지 모듈(302), 예측 모듈(303), 결정 모듈(304), 계획 모듈(305), 제어 모듈(306), 노선 배정 모듈(307)을 포함하나 이에 제한되지 않는다. 노선 배정 모듈(307)에는 도로 위 모드 모듈(I 308a) 및 개방 공간 모드 모듈(I 309a)이 포함될 수 있다. 계획 모듈(305)에는 도로 위 모드 모듈(II 308b) 및 개방 공간 모드 모듈(II 309b)이 포함될 수 있다.
모듈(301 내지 308) 중 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이러한 모듈은 영구 스토리지(352)에 장착될 수 있고, 저장 장치(351)에 로딩될 수 있으며, 하나 또는 복수의 프로세서(미도시)에 의해 실행될 수 있다. 이러한 모듈 중 일부 또는 전부는 도 2의 차량 제어 시스템(111)의 일부 또는 모든 모듈에 통신하도록 연결되거나 이들과 함께 통합될 수 있음을 이해할 것이다. 모듈(301 내지 309b) 중 일부는 통합 모듈로 함께 통합될 수 있다.
위치 결정 모듈(301)은 자율 주행 차량(300)의 현재 위치를 결정하고(예컨대, GPS 유닛(212)을 이용함) 사용자의 여정 또는 경로와 관련된 모든 데이터를 관리한다. 위치 결정 모듈(301)(지도 및 경로 모듈이라고도 지칭함)은 사용자의 여정 또는 경로와 관련된 모든 데이터를 관리한다. 예를 들어, 사용자는 사용자 인터페이스를 통해 로그인하여 여정의 출발지와 목적지를 지정할 수 있다. 위치 결정 모듈(301)은 여정 관련 정보를 획득하기 위해 자율 주행 차량(300)의 지도 및 경로 정보(311)와 같은 다양한 부재들과 통신한다. 예를 들어, 위치 결정 모듈(301)은 위치 서버, 지도 및 POI(MPOI) 서버로부터 위치 및 경로 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하며 MPOI 서버는 지도 서비스와 일부 위치에서의 POI를 제공함으로써, 지도 및 경로 정보(311)의 일부로써 캐시될 수 있다. 자율 주행 차량(300)이 경로를 따라 이동할 때 위치 결정 모듈(301)은 교통 정보 시스템 또는 서버로부터 실시간 교통 정보를 획득할 수도 있다.
센서 시스템(115)으로부터 제공되는 센서 데이터와 위치 결정 모듈(301)로부터 획득한 위치 결정 정보를 바탕으로, 감지 모듈(302)은 주변 환경에 대한 감지를 결정한다. 감지 정보는 일반 운전자가 운전하고 있는 차량 주변에서 감지하는 물체들을 나타낼 수 있다. 감지에 있어서, 물체 형태로 된 차도 구성, 신호등 신호, 또 다른 차량의 상대적 위치, 보행자, 건물, 횡단보도 또는 기타 교통 관련 표지(예컨대, 정지 표지, 양보 표지) 등이 포함될 수 있다. 차선 구성에는 차도 형상(예컨대, 직선 또는 곡선), 차도 폭, 도로의 차도 개수, 일방 또는 양방향 차도, 병합 또는 분리된 차도, 출구 차도 등과 같이 하나 또는 복수의 차도를 설명하는 정보가 포함될 수 있다.
감지 모듈(302)은 하나 또는 복수의 카메라에 의해 수집된 이미지를 처리하고 분석하여, 자율 주행 차량 환경에서의 물체 및/또는 특징을 식별하기 위해 컴퓨터 비전 시스템이나 컴퓨터 비전 시스템의 기능을 포함할 수 있다. 상기 물체에는 교통 신호, 도로 경계, 기타 차량, 보행자 및/또는 장애물 등이 포함될 수 있다. 컴퓨터 비전 시스템은 사물 인식 알고리즘, 영상 추적 및 기타 컴퓨터 비전 기술을 사용할 수 있다. 일부 실시예에서, 컴퓨터 비전 시스템은 환경 지도를 제작하고, 물체를 추적하고, 물체의 속도를 예측하는 등의 작업을 할 수 있다. 감지 모듈(302)은 레이더 및/또는 LIDAR와 같은 기타 센서에 의해 제공받은 기타 센서 데이터에 기반하여 물체를 감지할 수도 있다.
각각의 물체에 대해 예측 모듈(303)은 해당 경우에서 물체가 어떻게 움직일 것인 가를 예측한다. 예측은 일 세트의 지도/노선 정보(311)와 교통 규칙(312)을 고려하여, 일 시점에서 주행 환경을 감지하는 감지 데이터에 기반하여 수행된다. 예를 들어, 물체가 반대 방향의 차량이고 현재 주행 환경에 교차로가 포함되어 있는 경우, 예측 모듈(303)은 차량이 직진하거나 회전할 가능성이 있는지 여부를 예측한다. 만약 감지 데이터에서 교차로에 신호등이 없다고 나타날 경우, 예측 모듈(303)은 차량이 교차로에 진입하기 전에 완전히 정차해야 할 수도 있다고 예측할 수 있다. 만약 감지 데이터에서 차량이 현재 좌회전 전용 차선 또는 우회전 전용 차선에 있다고 나타날 경우, 예측 모듈(303)은 차량이 각각 좌회전하거나 우회전할 가능성이 더 높다고 예측할 수 있다.
결정 모듈(304)은 각각의 물체에 대해 그 물체를 어떻게 처리할 것인지에 대한 결정을 내린다. 예를 들어, 결정 모듈(304)은 특정 물체(예컨대, 교차로의 다른 차량)와 물체를 설명하는 메타데이터(예컨대, 속도, 방향, 회전 각도)에 대해, 상기 물체와 만나는 방법(예컨대, 추월, 양보, 정지, 지나가기)을 결정한다. 결정 모듈(304)은 영구 스토리지(352)에 저장될 수 있는 교통 규칙 또는 운전 규칙(312)과 같은 규칙 집합에 따라 이러한 결정을 내릴 수 있다.
노선 배정 모듈(307)은 출발지부터 목적지까지 하나 또는 복수의 노선 또는 경로를 제공하도록 구성된다. 사용자로부터 수신된 여정과 같이 출발지부터 목적지까지 주어진 여정에 대해, 노선 배정 모듈(307)은 노선 및 지도 정보(311)를 획득하고, 출발지부터 목적지에 이를 수 있는 모든 노선 또는 경로를 결정한다. 일 실시예에서, 노선 배정 모듈(307)은 출발지에서 목적지에 이르는 각각의 노선을 결정하는 지형도 형태의 기준선을 생성할 수 있다. 기준선은 다른 차량, 장애물 또는 교통 상황 등의 영향을 받지 않는 이상적인 노선이나 경로를 가리킨다. 즉 도로에 다른 차량, 보행자 또는 장애물이 없을 경우, ADV는 정확하게 또는 밀접하게 기준선을 따라가야 한다. 다음, 지형도를 결정 모듈(304) 및/또는 계획 모듈(305)에 제공한다. 결정 모듈(304) 및/또는 계획 모듈(305)은가능한 모든 노선을 검토하여, 다른 모듈에서 제공하는 다른 데이터를 기반으로 최적의 노선 중 하나를 선택하고 변경하며, 여기서 다른 데이터는 위치 결정 모듈(301)의 교통 상황, 감지 모듈(302)에 의해 감지된 주행 환경, 예측 모듈(303)에 의해 예측된 교통 상황 등과 같다. 시점에서의 특정 주행 환경에 따라, ADV를 제어하기 위한 실제 경로나 노선은 노선 배정 모듈(307)에 의해 제공된 기준선과 근접하거나 상이할 수 있다.
계획 모듈(305)은 감지된 물체에 대한 각각의 결정에 기반하여, 자율 주행 차량의 경로 또는 노선 및 운전 파라미터(예컨대, 거리, 속도 및/또는 회전 각도)를 계획한다. 일 실시예에서, 계획 모듈(305)은 노선 배정 모듈(307)에 의해 제공된 기준선을 기초로 사용할 수 있다. 즉, 주어진 물체에 대해, 결정 모듈(304)은 해당 물체에 대해 어떤 동작을 할 것인지를 결정하고, 계획 모듈(305)은 어떻게 할 것인지를 결정한다. 예를 들어, 결정 모듈(304)은 주어진 물체에 대해 상기 물체를 추월할 것인지를 결정하고, 계획 모듈(305)은 상기 물체의 왼쪽으로 추월할 것인지 또는 오른쪽으로 추월할 것인지를 결정한다. 계획 및 제어 데이터는 계획 모듈(305)에 의해 생성되고, 여기에 차량(300)이 다음 이동 사이클(예컨대, 다음 노선/경로 구간)에서 어떻게 이동할 것인지를 설명하는 정보를 포함한다. 예를 들어, 계획 및 제어 데이터는 차량(300)에 시속 30마일(mph)의 속도로 10m를 이동한 후, 25mph의 속도로 우측 차선으로 이동하도록 지시할 수 있다.일 실시예에서, 계획 모듈(305)은 노선 배정 모듈(307)에 의해 제공되는 노선에 기반하여 기준선을 생성할 수 있다.
계획 및 제어 데이터에 기반하여 제어 모듈(306)은 계획 및 제어 데이터에 의해 한정된 노선 또는 경로에 따라 적절한 명령어나 신호를 차량 제어 시스템(111)에 전송하여 자율 주행 차량을 제어하고 운전한다. 상기 계획 및 제어 데이터에는 경로 또는 노선을 따라 상이한 시점에서 적절한 차량 설정이나 운전 파라미터(예컨대, 스로틀, 브레이크, 스티어링 명령)를 사용하여, 차량이 노선 또는 경로의 제1 지점부터 제2 지점으로 주행하기 위한 충분한 정보가 포함되어 있다.
일 실시예에서, 계획 단계는 예를 들어 100 밀리초(ms)의 매시간 간격과 같은 복수의 계획 주기(주행 주기라고도 지칭함)로 수행된다. 계획 또는 주행 주기 중 각각에 대해, 계획 및 제어 데이터에 기반한 하나 또는 복수의 제어 명령어가 발송된다. 즉, 계획 모듈(305)은 100ms마다 다음 노선 또는 경로 구간을 계획하는데, 예를 들어, 목표 위치와 ADV가 목표 위치에 도달하는 데 걸리는 시간을 포함한다. 선택적으로 계획 모듈(305)은 구체적인 속도, 방향 및/또는 스티어링 각도 등을 정할 수도 있다. 일 실시예에서, 계획 모듈(305)은 다음 기정 구간(예컨대, 5초)에 대해 노선 또는 경로 구간을 계획한다. 각각의 계획 주기에 대해, 계획 모듈(305)은 이전의 일 주기에서 계획한 목표 위치에 기반하여 현재 주기(예컨대, 다음 5초)에 대한 목표 위치를 계획한다. 다음, 제어 모듈(306)은 현재 주기의 계획 및 제어 데이터에 기반하여 하나 또는 복수의 제어 명령어(예컨대, 스로틀, 브레이크, 스티어링 제어 명령어)를 생성한다.
결정 모듈(304)과 계획 모듈(305)은 통합 모듈로 통합될 수 있음을 주의하여야 한다. 결정 모듈(304)/계획 모듈(305)에는 자율 주행 차량의 주행 경로를 정하기 위한 내비게이션 시스템 또는 내비게이션 시스템의 기능이 포함될 수 있다. 예를 들어, 내비게이션 시스템은 자율 주행 차량이 최종 목적지로 가는 차도 기반의 경로를 따라 앞으로 이동하면서, 기본적으로 감지된 장애물을 피하도록 하는 경로를 따라 이동함에 있어서 영향을 주는 일련의 속도와 진행 방향을 결정할 수 있다. 목적지는 사용자 인터페이스 시스템(113)에 의해 진행되는 사용자 입력으로 설정될 수 있다. 내비게이션 시스템은 자율 주행 차량이 운행하는 동안 동적으로 운전 경로를 업데이트할 수 있다. 내비게이션 시스템은 자율 주행 차량의 운전 경로를 정하기 위해, GPS 시스템과 하나 또는 복수의 지도로부터 전달받은 데이터를 결합할 수 있다.
도 4는 일 실시예에 따른 노선 배정 모듈(307) 및 계획 모듈(305)의 일 예를 나타내는 블록도이다. 도 5A는 일 실시예에 따른 도로 위 모드 작동의 일 예를 나타내는 처리 순서도이다. 도 5B는 일 실시예에 따른 개방 공간 모드 작동의 일 예를 나타내는 처리 순서도이다. 도 4, 도 5A 및 도 5B를 참조하면, 일 실시예에 따라 노선 배정 모듈(307)은 결정 모듈(401), 제1 검색 모듈(402)을 포함한 도로 위 모드 모듈(I 308a) 및 제2 검색 모듈(403)을 포함한 개방 공간 모드 모듈(I 309a)을 포함하되 이에 제한되지 않는다. 결정 모듈(401)은 ADV가 주행할 노선의 출발지 및 종착지를 결정하도록 구성된다. 결정 모듈(401)은 각각의 출발지 및 종착지가 도로 경계를 구비한 제1 유형의 제1 주행 영역 내에 있는지 도로 경계를 구비하지 않는 개방 공간인 제2 유형의 제2 주행 영역 내에 있는지를 결정하도록 더 구성된다. 결정 모듈(401)은 각각의 출발지 및 종착지가 제1 주행 영역 내에 있는지 아니면 제2 주행 영역 내에 있는지에 기반하여, 노선을 제1 노선 구간과 제2 노선 구간으로 나누도록 더 구성된다. 노선 배정 모듈(307) 및/또는 계획 모듈(305)은 출발지 또는 종착지가 제1 주행 영역 내에 있는지 아니면 제2 주행 영역 내에 있는지에 따라, 제1 노선 구간의 제1 궤적을 계획하도록 도로 위 모드 또는 개방 공간 모드 중 하나의 모드로 작동하고, 제2 노선 구간의 제2 궤적을 계획하도록 도로 위 모드 또는 개방 공간 모드 중 하나의 모드로 작동한다.
도 4와 도 5A를 참조하면, 일 실시예에서, 제1 검색 모듈(402)은 A-star 검색 알고리즘에 기반하여 제1 노선 구간 또는 제2 노선 구간을 검색하도록 구성된다. 기준선 모듈(405)은 제1 노선 구간 또는 제2 노선 구간에 기반하여 기준선을 생성하도록 구성된다. 그리드 모듈(406)은 기준선에 기반하여 그리드를 생성하도록 구성된다. 궤적 모듈(407)은 그리드에 기반하여 일 세트의 후보 궤적을 결정하고, 해당 세트의 후보 궤적에서 궤적을 선택하여 ADV가 해당 궤적을 따라 자율 주행할 수 있게 제어하도록 구성된다.
도 4와 도 5B를 참조하면, 일 실시예에서 제2 검색 모듈(403)은 개선된 A-star 검색 알고리즘에 기반하여 제1 노선 구간 또는 제2 노선 구간을 검색하도록 구성된다. 기준선 모듈(408)은 제1 노선 구간 또는 제2 노선 구간에 기반하여 기준선을 생성하도록 구성된다. 가상 경계선 모듈(409)은 ADV의 폭 및 기준선에 기반하여 가상 도로 경계를 생성하도록 구성된다. 그리드 모듈(410)은 가상 도로 경계 내의 기준선에 기반하여 그리드를 생성하도록 구성된다. 궤적 모듈(411)은 그리드에 기반하여 일 세트의 후보 궤적을 결정하고, 해당 후보 궤적 세트에서 궤적을 선택하여 ADV가 해당 궤적을 따라 자율 주행할 수 있게 제어하도록 구성된다.
도 6은 일 실시예에 따른 장애물 회피 모듈이 포함된 계획 모듈(305)의 일 예를 나타내는 블록도(600)이다. 도 7은 일 실시예에 따른 장애물 회피 일 예를 나타내는 프로세스 순서도이다. 도 6 및 도 7을 참조하면, 일 실시예에 따라 계획 모듈(305)은 장애물 회피 모듈(601)을 포함할 수 있다. 장애물 회피 모듈(601)에는 체류 시간 모듈(602), 예상 도착 시간(ETA) 모듈(603) 및 결정 모듈(604)이 포함될 수 있다.
감지 모듈(302)은 ADV에 설치된 복수의 센서로부터 획득한 센서 데이터에 기반하여 ADV가 영향 영역(또는 영향을 받는 구역)의 장애물을 감지하도록 구성할 수 있다. 체류 시간 모듈(602)은 영향 영역의 장애물에 대한 예상 체류 시간을 결정하도록 구성된다. ETA 모듈(603)은 ADV가 영향 영역에서 장애물이 벗어날 때까지 대기하다가 제1 궤적을 따라 자율 주행하는 제1 예상 도착 시간과 제2 궤적을 따라 ADV가 자율 주행하는 제2 예상 도착 시간을 결정하도록 구성된다. 결정 모듈(604)은 영향 영역에서 장애물의 예상 체류 시간에 기반하여 제2 궤적을 계획할 것인지 아니면 장애물이 영향 영역에서 벗어날 때까지 대기할 것인지 결정하도록 구성된다. 결정 모듈(604)은 제2 궤적을 계획할 것인지 아니면 장애물이 영향 영역에서 벗어날 때까지 대기할 것인지에 대한 결정에 기반하여, ADV의 주행을 위한 제2 궤적을 계획하고 제2 궤적을 따라 자율 주행을 할 수 있도록 ADV를 제어하거나 장애물이 영향 영역을 벗어날 때까지 대기하다가 제1 궤적을 따라 자율 주행할 수 있게 ADV를 제어하도록 더 구성된다.
일 실시예에서, ADV는 도로 경계를 구비하지 않는 개방 공간인 주행 영역에서 개방 공간 모드로 작동하도록 구성된다. 일 실시예에서, 제1 영역에서 장애물의 체류 시간 확률을 결정하고, 여기서 체류 시간 확률에 기반하여 영향 영역에서 장애물의 예상 체류 시간을 결정한다. 일 실시예에서, 제1 예상 도착 시간과 제2 예상 도착 시간의 비율을 결정하고, 여기서 제2 궤적을 계획할 것인지 장애물이 영향 영역에서 벗어날 때까지 대기할 것인지에 대한 결정은 제1 예상 도착 시간과 제2 예상 도착 시간의 비율에 기반한다.
일 실시예에서, 제1 예상 도착 시간과 제2 예상 도착 시간의 비율이 1보다 큰 경우, 결정 모듈(604)은 제2 궤적 계획을 결정하도록 구성된다. 일 실시예에서, 제2 궤적을 계획하기 위해, 제2 검색 모듈(403)은 개선된 A-star 검색 알고리즘에 기반하여 다른 제1 노선 구간 또는 다른 제2 노선 구간을 검색하도록 구성된다. 기준선 모듈(408)은 다른 제1 노선 구간 또는 다른 제2 노선 구간에 기반하여 다른 한 기준선을 생성하도록 구성된다. 가상 경계선 모듈(409)은 ADV의 폭과 다른 한 기준선에 기반하여 다른 가상 도로 경계를 생성하도록 구성된다. 그리드 모듈(410)은 다른 가상 도로 경계 내의 다른 한 기준선에 기반하여 다른 한 그리드를 생성하도록 구성된다. 궤적 모듈(411)은 다른 한 그리드에 기반하여 다른 일 세트의 궤적 후보를 결정하고, 다른 일 세트의 궤적 후보에서 제2 궤적을 선택하여 ADV가 해당 제2 궤적을 따라 자율 주행할 수 있게 제어하도록 구성된다.
도 8A 내지 도 8D는 ADV(810)가 도로 경계를 구비한 제1 주행 영역(801)에서 주행하는 및/또는 도로 경계를 구비하지 않는 개방 공간인 제2 주행 영역(802)에서 주행하는 예시를 나타낸다. ADV(810)는 도로 경계를 구비한 도로 주행 시나리오 및 도로 경계를 구비하지 않는 자유 공간 주행 시나리오 2가지 시나리오에서 주행해야 할 수 있다. ADV(810)에 대해 중요한 것은, 도로 주행 시나리오에서의 자율 주행(예컨대, 지정된 도로 경계를 구비한 주행 영역에서 주행) 및 자유 공간 시나리오에서의 자율 주행(예컨대, 도로 경계를 구비하지 않는 개방 자유 공간에서 주행) 성능, 및 2가지 상이한 주행 영역 사이에서 지능적으로 전환할 수 있는 성능을 구비하는 것이다. 도로 주행 시나리오를 위한 일반적인 모션 계획 방법에는 토폴로지 및 특정 도로 경계가 필요할 수 있다. 따라서 도로 주행 시나리오를 위한 일반적인 모션 계획 방법으로는 전진 및 후진 궤적의 조합으로 구성된 주차, 3점 회전 및 장애물 회피와 같은 복잡한 시나리오를 다루기 어렵다. 일반적인 자유 공간 경로 계획 방법은 실시간으로 궤적을 생성하는 것이 느리고 장애물 회피 성능이 떨어지는 문제를 야기할 수 있다. 도로 주행 시나리오에서, 궤적 계획을 위해 DP와 QP가 이미 사용되었다. 그러나 가끔 자율 주행 차량이 도로 경계를 구비하지 않는 지정된 자유 공간 구역에서만 출발지부터 종착지까지 주행해야 하는 경우도 있다. 자유 공간 시나리오의 경우, 예상 궤적을 생성하기 위해 Reeds-Shepp 경로와 하이브리드 A-star 검색 알고리즘과 결합하여 사용함으로써 경로를 계획하였다. 하지만 안타깝게도, 이와 같은 자유 공간 경로 계획 방법은 실시간으로 궤적을 생성하기에는 너무 느리고 장애물 회피 성능이 저하되는 문제를 야기할 수 있다.
기존 A-star 검색 알고리즘을 사용하여 출발지부터 종착지까지의 경로를 찾은 후, 해당 경로에 기반하여 기준선을 생성한 다음 DP 및/또는 QP를 이용하여 실시간 경로 계획을 수행한다. 그러나 이와 같은 검색 알고리즘은 토폴로지 및 특정 도로 경계를 구비한 도로 시나리오에만 꽤 적합하다. 이와 같은 검색 알고리즘은 전진과 후진 궤적이 결합된 주차, 3점 회전 및 장애물 회피 등 복잡한 시나리오를 처리하기 어렵다. 경로 검색에 소요되는 시간을 줄이기 위해서 이러한 검색 알고리즘의 노드 크기를 늘리기 위해 노력해 왔다. 그러나 이와 같은 방법은 경우에 따라 좋지 않은 결과를 초래할 수 있는데, 예를 들어, 모든 노드를 검색한다 하여도 예상 경로를 찾지 못할 수 있다. 기존 경로 계획에서는 궤적을 원할하게 생성하지 못하고 대략적인 궤적을 바로 사용하기 때문에 차량이 따라가기 어려울 수 있다.
지정된 출발지 및 종착지에 대해 기존 방법에서는 궤적의 경로 계획이 각각의 주기가 아니라 단 한번만 수행되므로, 실시간 경로 계획에 많은 시간이 소요되지 않는다. 그러나 ADV가 장애물과의 충돌을 피하기 위해 궤적을 변경하지 않기 때문에 기존 방법으로 장애물을 회피하기에는 부족함이 있다.
일부 실시예에 따라, 본원에서는 궤적 계획을 위한 새로운 방법을 제공하고, 해당 궤적 계획은 지정 도로 경계를 구비한 도시 도로와 자유 공간 구역 양자 모두에 적용된다. 해당 방법은 A-star 검색 알고리즘과 하이브리드 A-star 검색 알고리즘을 결합하여 서로 다른 유형의 주행 시나리오에 따라 경로를 검색하는 것이다. 도시 도로의 경우, A-star 검색 알고리즘을 사용하여 경로를 획득할 수 있고, 개방 자유 공간의 경우에도, 하이브리드 A-star 검색 알고리즘을 사용할 수 있다. A-star 검색 알고리즘 및/또는 하이브리드 A-star 검색 알고리즘이 구비한 경로를 사용하여 DP 또는 QP 알고리즘을 사용하는 실시간 궤적 계획을 위한 기준선을 생성할 수 있다. 해당 궤적 계획 방법은 도시 도로에서 자유 공간 구역으로 또는 자유 공간 구역에서 도시 도로로 주행하는 것과 같은 복잡한 주행 임무를 처리하는데 사용 가능하다. 해당 방법은 또한 장애물 회피에서도 좋은 성능을 구현할 수 있다.
도 8A 내지 도 8D와 같이, ADV(810)의 각각의 출발지 Ps와 종착지 Pe가 도로 경계를 구비한 제1 주행 영역(801) 내에 있는지 아니면 도로 경계를 구비하지 않는 개방 공간인 제2 주행 영역(802) 내에 있는지에 따라 네 가지 상황이 존재한다. 도 8A는 출발지 Ps(803a)가 제1 주행 영역(801) 내에 있고 종착지 Pe(804a)가 제2 주행 영역(802) 내에 있는 제1 상황(800a)을 나타낸다. 도 8B는 출발지 Ps(803b)가 제2 주행 영역(802) 내에 있고 종착지 Pe(804b)가 제1 주행 영역(801) 내에 있는 제2 상황(800b)을 나타낸다. 도 8C는 출발지 Ps(803c)가 제1 주행 영역(801) 내에 있고 종착지 Pe(804c)가 제1 주행 영역(801) 내에 있는 제3 상황(800c)을 나타낸다. 도 8D는 출발지 Ps(803d)가 제2 주행 영역(802) 내에 있고 종착지 Pe(804d)가 제2 주행 영역(802) 내에 있는 제4 상황(800d)을 나타낸다.
궤적 계획 방법은 상기 네 가지 상황을 해결하기 위해 제공된다. 해당 방법에는 두 가지 프로세스, 즉 제1 프로세스와 제2 프로세스가 포함된다. 제1 프로세스에서 ADV(810)는 도로 위 모드로 작동하도록 구성된다. 제2 프로세스에서 ADV(810)는 개방 공간 모드에서 작동하도록 구성된다.
도 8A와 같이 제1 상황에서, 출발지 Ps(803a)는 도로 시나리오(예컨대, 제1 주행 영역(801))에 있고 종착지 Pe(804a)는 자유 공간(예컨대, 제2 주행 영역(802))에 있다. 출발지 Ps(803a)와 종착지 Pe(804a)를 구비한 노선은 중간지점에 의해 제1 노선과 제2 노선으로 나뉠 수 있다. 일 실시예에서 도로 시나리오(예컨대, 제1 주행 영역(801))에서 종착지 Pe의 가장 가까운 지점 Pe'805a(Xe', Ye', Phie')을 결정한다. 가장 가까운 지점 Pe'(805a)는 노선을 두 구간으로 나누는 중간 지점일 수 있다. 프로세스 1을 사용하여 출발지 Ps(803a)로부터 가장 가까운 지점 Pe'(805a)까지의 제1 노선 구간 및 프로세스 2를 사용하여 가장 가까운 지점 Pe'(Ps')(805a)로부터 가장 가까운 지점 Pe(804a)까지의 제2 노선 구간에 대한 궤적 계획을 수행할 수 있다. 제1 상황에서, ADV(810)는 제1 노선 구간의 제1 궤적을 계획하기 위해 도로 위 모드에서 작동하고, 제2 노선 구간의 제2 궤적을 계획하기 위해 개방 공간 모드에서 작동하도록 구성된다.
도 8B와 같이, 제2 상황에서 출발지 Ps(803b)는 개방 공간(예컨대, 제2 주행 영역(802))에 있고 종착지 Pe(804b)는 도로 시나리오(예컨대, 제1 주행 영역(801))에 있다. 출발지 Ps(803b)와 종착지 Pe(804b)를 구비한 노선은 중간지점에 의해 제1 노선 구간과 제2 노선 구간으로 나뉠 수 있다. 일 실시예에서 도로 시나리오(예컨대, 제1 주행 영역(801))에서 출발지 Ps의 가장 가까운 지점 Ps'(805b)(Xe', Ye', Phie')를 결정한다. 가장 가까운 지점 Ps'(805b)는 노선을 두 구간으로 나누는 중간 지점일 수 있다. 프로세스 2를 사용하여 출발지 Ps(803b)로부터 가장 가까운 지점 Ps'(Pe')(805b)까지의 제1 노선 구간 및 프로세스 1을 사용하여 가장 가까운 지점 Ps'(805b)로부터 가장 가까운 지점 Pe(804b)까지의 제2 노선 구간에 대한 궤적 계획을 수행할 수 있다. 제2 상황에서, ADV(810)는 제1 노선 구간의 제1 궤적을 계획하기 위해 개방 공간 모드에서 작동하고, 제2 노선 구간의 제2 궤적을 계획하기 위해 도로 위 모드에서 작동하도록 구성된다.
도 8C와 같이 제3 상황에서 출발지 Ps(803c)가 도로 시나리오(예컨대, 제1 주행 영역(801))에 있고 종착지 Pe(804c)도 도로 시나리오(예컨대, 제1 주행 영역(801))에 있다. 이 경우 출발지 Ps(803c)부터 종착지 Pe(804c)까지의 노선을 분할할 필요가 없다. 일 실시예에서, 프로세스 1을 사용하여 출발지 Ps(803c)부터 종착지 Pe(804c)까지의 궤적 계획을 수행할 수 있다. 일 실시예에서, 출발지 Ps(803c)와 종착지 Pe(804c)를 구비한 노선은 임의의 중간점에 의해 제1 노선 구간과 제2 노선 구간으로 구분될 수 있다. ADV(810)는 제1 노선 구간의 제1 궤적을 계획하기 위해 도로 위 모드로 작동하고 제2 노선 구간의 제2 궤적을 계획하기 위해 도로 위 모드로 작동하도록 구성된다.
도 8D와 같이, 제4 상황에서 출발지 Ps(803d)가 개방 공간(예컨대, 제2 주행 영역(802))에 있고, 종착지 Pe(804d)도 개방 공간(예컨대, 제2 주행 영역(802))에 있다. 이 경우 출발지 Ps(803d)부터 종착지 Pe(804d)까지의 노선을 분할항 필요가 없다. 일 실시예에서, 프로세스 2를 사용하여 출발지 Ps(803d) 부터 종착지 Pe(804c)까지의 궤적 계획을 수행할 수 있다. 일 실시예에서, 출발지 Ps(803d)와 종착지 Pe(804d)를 구비한 노선은 임의의 중간 지점에 의해 제1 노선 구간과 제2 노선 구간으로 구분될 수 있다. ADV(810)는 제1 노선 구간의 제1 궤적을 계획하기 위해 개방 공간 모드에서 작동하고 제2 노선 구간의 제2 궤적을 계획하기 위해 개방 공간 모드에서 작동하도록 구성된다.
도 5A 및 도 8A 내지 도 8D를 참조하면, 제1 프로세스에서 ADV(810)는 도로 위 모드로 작동하도록 구성된다. 일 실시예에서, 제1 검색 모듈(402)은 A-star 검색 알고리즘에 기반하여 제1 노선 구간 또는 제2 노선 구간의 노선을 검색하도록 구성된다. 해당 노선은 출발지부터 종착지까지의 네비게이션 경로이다. A-star(A*) 검색 알고리즘은 정보 검색 알고리즘이다. A-star은 도면의 출발 노드부터 목적지 노드까지 최소 코스트(최소 이동 거리, 최단 시간 등)를 구비한 노선 또는 경로를 찾는 것을 목표로 한다. A-star 검색은 시작 노드에서 시작하는 경로의 트리를 유지하면서 종료 기준이 충족될 때까지 경로를 한 번에 한개 변씩 확장함으로써 상기 목적을 달성한다. 메인 루프의 각각의 반복에 있어서, A-star은 경로의 코스트와 경로를 목표 노드까지 확장하는데 필요한 코스트 추정치에 기반하여 그 경로 중 어떠한 것을 확장할 것인지를 결정한다. 구체적으로 A-star은 이하 값을 최소화하는 경로를 선택한다.
Figure 112020109543749-pct00001
여기서 n은 경로상의 다음 노드이고, g(n)은 출발 노드에서 n 노드까지의 경로 코스트이며, h(n)은 n부터 목표 노드까지의 최단 경로의 코스트를 추정하는 휴리스틱 함수이다. A-star 검색은 확장하기로 선택한 경로가 출발 노드에서 목표 노드까지의 경로일 때 또는 확장에 적합한 경로가 없을 때 종료된다. 휴리스틱 함수는 특정 문제에 대한 것이다.
제1 프로세스에서, 예를 들어 제1 검색 모듈(402)을 통해 A-star 검색 알고리즘을 사용하여 제1 노선 구간 또는 제2 노선 구간의 노선을 검색한다. 해당 노선은 노선 1이라고 불릴 수 있다. 예를 들어 기준선 모듈(405)에 의해 노선 1에 기반하여 기준선을 생성할 수 있으며, 해당 기준선을 기준선 1이라고 지칭할 수 있다. 다음, 그리드 모듈(406)에 의해 기준선 1을 따라 그리드를 생성할 수 있다. 궤적 모듈(407)에 의해 다항 곡선에 기반한 일련의 후보 궤적을 생성할 수 있다. 다음, 트랙 모듈(407)은 동적 계획 알고리즘을 사용하여 후보 궤적에서 예상 궤적을 획득하도록 더 구성될 수 있다. 이어서, 제어 모듈(306)은 생성된 궤적을 따르고 종착지 Pe(예컨대, 804a, 804b, 804c, 804d)로 이동할 수 있게 ADV(810)를 제어하도록 구성될 수 있다.
도 5B 및 도 8A 내지 도 8D를 참조하면, 제2 프로세스에서 ADV(810)는 개방 공간 모드에서 작동하도록 구성된다. 일 실시예에서, 제2 검색 모듈(403)은 개선된 A-star 또는 하이브리드 A-star 검색 알고리즘에 기반하여 제1 노선 구간 또는 제2 노선 구간을 위한 노선을 검색하도록 구성된다. 개선된 A-star 또는 하이브리드 A-star 검색 알고리즘은 ADV의 3D 운동 상태 공간에 적용되는 A-star 검색 알고리즘의 변형이지만, A-star의 개별 검색 노드에서 연속적인 상태 데이터를 캡처하는 개선된 상태 업데이트 규칙을 구비한다. A-star 검색 알고리즘과 같이 검색 공간(x, y, θ)은 이산화되지만, 셀의 중심에만 접근을 허용하는 종래의 A-star과 달리, 개선된 또는 하이브리드 A-star 검색 알고리즘은 각각의 그리드 셀을 차량의 연속적인 3D 상태와 연관시킨다. 개선된 또는 하이브리드 A-star 검색 알고리즘은 ADV의 운동학적 모델을 사용한다. 예를 들어, 개선된 또는 하이브리드 A-star 검색 알고리즘에서 최대 좌회전, 최대 우회전 및 전진을 포함한 3가지 각도를 시뮬레이션할 수 있다. 또 다른 예로, 개선된 또는 하이브리드 A-star 검색 알고리즘에서 ADV의 크기(길이, 너비 또는 높이)를 고려할 수 있다. 개선된 또는 하이브리드 A-star 검색 알고리즘으로부터 획득된 노선 또는 경로는 A-star 검색 알고리즘의 경우처럼 부분적으로 선형인 것이 아니라 주행 가능한 것이다.
제2 프로세스에서, ADV(810)는 개방 공간 모드에서 작동한다. 제2 프로세스에서는 6개의 주요 동작(동작 1 내지 동작 6)이 있으며 동작 7은 선택 사항이다. 각각의 동작은 아래에서 설명하고자 한다.
동작 1: 개선된 A-star 또는 하이브리드 A-star 검색 알고리즘은 예를 들어, 제2 검색 모듈(403)에 의해 제1 노선 구간 또는 제2 노선 구간의 노선을 검색하는 데 사용된다. 도 9A와 같이, 하이브리드 A-star 또는 개선된 A-star은 관심 있는 자유 공간 구역이라고 할 수 있는 지정된 자유 공간 구역(802)(예컨대, 제2 주행 영역)에서 Ps'(903)부터 Pe(904)까지의 노선 경로를 검색하는 데 사용될 수 있다. 해당 노선을 노선 2로 지칭할 수 있다. 노선 2는 Ps'(903)부터 P1(806a)까지의 전진 운동과 P1(806a)부터 Pe(904)까지의 후진 운동을 포함할 수 있다. 자유 공간 구역(802)에는 두 개의 장애물(예컨대, 807, 808)이 있을 수 있다.
동작 2: 노선 2(예컨대, 기준선 모듈(408)에 의해)에 기반하여 기준선을 생성하고, 노선 2에 기반하여 기준선을 기준선 2로 지칭할 수 있다.
동작 3: ADV의 폭과 동작 2에서 생성된 기준선 2에 따라 가상 도로 경계(관심 있는 샘플 구역 또는 ROI)를 생성할 수 있다. 일 실시예에서, 가상 경계선 모듈(409)은 ADV의 폭 및 기준선 2에 기반하여 가상 도로 경계를 생성하도록 구성된다. 예를 들어,
관심 있는 샘플 구역은
Figure 112020109543749-pct00002
이다.
W는 ADV의 폭이고, C는 0보다 큰 실수인 가로방향 확장비이다.
도 9A와 같이, 가상 경계선 모듈(409)에 의해 개방 공간(802) 내의 ADV(810)를 위해 가상 도로 경계(901)를 생성할 수 있다.
동작 4: 그리드 모듈(410)에 의해 관심 있는 샘플 구역의 기준선 2를 따라 그리드를 생성할 수 있다. 도 9A와 같이, 그리드(902)는 그리드 모듈(410)에 의해 개방 공간(802)에서 생성될 수 있다. ADV에 상대적인 위치 및/또는 상응하는 ROI 내에서 식별된 하나 또는 복수의 장애물에 기반하여 기설정된 코스트 함수를 사용하여 각각의 그리드 셀을 코스트와 연결하거나 코스트을 할당한다.
동작 5: 궤적 모듈(411)에 의해 이차 다항식 곡선에 기반하여 일련의 후보 궤적을 생성할 수 있다. 궤적 모듈(411)은 동적 계획 알고리즘을 사용하여 후보 궤적으로부터 예상 궤적을 획득하도록 더 구성된다. 도 9B와 같이, 출발지(903)부터 종착지(904)까지의 전진 및 후진 모션을 포함하는 궤적(908)은 개방 공간(802)에서 궤적 모듈(411)에 의해 생성될 수 있다.
동작 6: 제어 모듈(306)은 ADV(810)가 생성된 궤적(908)을 따르고 종착지 Pe(예컨대, 804a, 804b, 804c, 804d, 904)로 이동하도록 ADV(810)를 제어하도록 구성된다.
동작 7: 결정 모듈(604)(도 6 및 도 7과 같이)은 ADV(810)가 현재 위치에서 대기하여야 하는지 또는 동작 1 내지 동작 6으로 되돌아 가서 궤적을 다시 계획해야 하는지를 결정하도록 구성된다. 아래에서는 장애물을 회피하는 이러한 동작의 세부 사항을 상세히 설명한다.
도 10은 ADV(810)가 ADV의 움직임을 저해하는 장애물(807)을 만난 일 예(도면 중 1000)를 나타낸다. 개방 공간 주행 영역(예컨대, 802)에서 지정된 출발지(예컨대, Ps'(903))와 종착지(예컨대, Pe(904))에 대해, 궤적의 현재 경로 계획이 각각의 주기 마다 수행되는 것이 아닌 한 번만 수행되므로 실시간 경로 계획에 많은 시간이 소요되는 문제를 방지할 수 있다. 그러나 ADV(810)는 장애물(예컨대, 차량, 자전거, 보행자 또는 동물)과의 충돌을 피하기 위해 궤적을 변경하지 않기 때문에, 기존 경로 계획으로는 장애물을 피할 수 없다. 여기에서 장애물 회피를 위한 새로운 방법을 제공한다. 일 실시예에 따라, 해당 프로세스에는 ADV의 영향 영역에서 장애물(예컨대, 차량, 자전거, 보행자 또는 동물)의 체류 시간 확률을 결정하는 단계; 영향 영역에서 동적 장애물의 예상 체류 시간을 계산하는 단계; 및 ADV가 ADV의 움직임을 방해하는 장애물을 만났을 경우 ADV가 대기하여야 할지 아니면 다시 궤적을 계획하여야 할지에 대한 결정을 내리는 단계가 포함된다. 해당 방법을 통해 장애물 회피 문제를 해결할 수 있다. ADV는 장애물을 피하고 시간상 효율적으로 종착지에 도달하기 위한 최적의 경로를 계획할 수 있다.
도 10을 참조하면, 위에서 설명한 동작 1 내지 동작 5의 수행을 통해 ADV(810)가 주행할 제1 궤적(908)을 계획할 수 있다. ADV(810)는 생성된 궤적(908)을 따라 종착지 Pe(904)로 이동할 수 있다. 해당 노선에서 ADV(810)는 ADV에 장착된 복수의 센서로부터 획득한 센서 데이터에 기반하여 ADV(810)의 영향 영역(1001)에서의 장애물(807)을 감지할 수 있다. 예를 들어, ADV(810)의 영향 영역(1001)은 ADV(810)에 장착된 복수의 센서가 감지할 수 있는 영역일 수 있다. 예를 들어, ADV(810)의 영향 영역(1001)은 ADV가 현재 주행하고 있는 궤적(908)을 따라 ADV(810)의 움직임에 영향을 주는 영역일 수 있다. 영향 영역(1001)은 직사각형, 사다리꼴, 삼각형, 원형 등 다양한 형태일 수 있다. 예를 들어, 영향 영역(1001)은 5m×10m, 10m×20m 등의 크기를 가질 수 있다.
ADV(810)가 제1 노선을 계획하도록 구성된 경우, 장애물(807)은 ADV(810)의 궤적(908)에 따른 움직임을 저해하지 않을 수도 있다. 그러나 장애물(807)은 차량, 보행자 또는 동물과 같은 동적인 장애물일 수 있다. 장애물(807)은 도 10과 같이 궤적(908)을 향하여 움직일 수 있으며, 궤적(908)에 따른 ADV(810)의 움직임을 저행할 수 있다.
도 11은 영향 영역의 동적 장애물이 체류하는 시간의 확률 밀도 함수(도 1100)를 나타낸다. 표시된 확률 밀도 함수(확률 밀도 그래프 또는 곡선이라고도 지칭함)는 하나 또는 복수의 파라미터 집합에 기반하여 구체적으로 구성되며, 상기 하나 또는 복수의 파라미터의 집합은 특정 주행 시나리오(예컨대, 주차장, 교차로 및 영역의 형태 및/또는 크기) 및 장애물(예컨대, 차량, 자전거, 보행자)의 유형과 동작 등을 표시하거나 나타낸다. 도 11에서와 같이, X축은 장애물이 영향 영역(1001)(예컨대, 관심 영역 또는 ROI)에 체류하는 시간 또는 예상 시간을 나타내고, Y축은 장애물이 영향 영역(1001)에 체류할 확률 밀도를 나타낸다. 도 11은 장애물이 영향 영역에 체류하는 시간에 따른 장애물의 확률 밀도를 나타낸다. 확률이론에서, 확률 밀도 함수(PDF) 또는 연속 랜덤 변수의 밀도는 샘플 공간(랜덤 변수에 의해 얻어지는 일 세트의 가능한 값)의 어떤 주어진 샘플(또는 점)에서의 값이 랜덤 변수의 값이 해당 샘플과 같을 상대적 가능성을 제공하는 것으로 해석될 수 있는 함수이다. 보다 정확한 의미에서, PDF는 랜덤 변수가 특정 값 범위 내에 들어갈 확률을 지정하기 위해 사용된다. 해당 확률은 해당 변수의 PDF가 X축에 있는 그 범위의 적분에 의해 주어진다. 즉, 이는 밀도 함수에 기반하되 수평 축의 위쪽과 해당 범위내의 최소값과 최대값 사이의 면적(예컨대, 한 시간 구간 동안(예컨대, 0부터 특정 시간까지), 해당 곡선과 X축 및 Y축 사이의 면적)에 따라 결정된다. 확률 밀도 함수는 어느 곳에서도 음이 아니며 전체 공간에서의 적분은 1과 같다.
도 7, 도 10 및 도 11을 참조하면, 일 실시예에서, 영향 영역(1001)에서 장애물(807)의 예상 체류 시간을 결정할 수 있다. ADV의 영향 영역에서 동적 장애물의 체류 시간이 다음과 같은 확률 밀도 함수를 따른다고 가정할 수 있다.
Figure 112020109543749-pct00003
여기서 λ는 동적 장애물(예컨대, 움직이는 장애물)과 연관된 체류 시간 확률 밀도 함수의 파라미터이다. λ의 값은 실제 세계에서 시점의 특정 주행 시나리오에 따라 결정되거나 사전에 구성된 일 세트의 λ 파라미터에서 선택될 수 있는 과거 주행 데이터를 통해 예측될 수 있다. 동일하거나 유사한 주행 시나리오에서의 평균 또는 평균 체류 시간은 1/λ로 나타낼 수 있다. 동일하거나 유사한 환경에서 주행하는 다양한 차량으로부터 수집된 방대한 과거 주행 통계에 기반하여 λ의 파라미터를 결정할 수 있다. λ의 파라미터는 확률 밀도 곡선의 형태와 크기를 결정하는데, 여기서 도 11은 특정 λ의 확률 밀도를 나타낸다.
일 실시예에 따라, 출발 시간 = 0 부터 예상 체류 시간까지의 시간 범위 내에서 위에서 설명한 확률 밀도 함수를 적분하여 0 내지 Tw 범위내에 있는 체류 시간의 확률을 계산할 수 있다. 체류 시간의 확률은 다음 식에 의해 결정된다.
Figure 112020109543749-pct00004
여기에서, Tw는 동적 장애물의 예상 체류 시간이다.
일 실시예에서, P = 0.8 또는 80%와 같이 수용 가능한 체류 시간은 설정 확률 임계값 보다 크다. 영향 영역(1001)에서 동적 장애물(807)의 예상 체류 시간은 체류 시간의 확률에 기반하여 계산될 수 있다. 일 실시예에서, 체류 시간 모듈(602)은 장애물(807)이 영향 영역(1001)에서의 예상 체류 시간을 결정하도록 구성된다. 일 실시예에서, 만약 예정된 또는 수용 가능한 확률(예컨대, 80%)을 사용하고, 시점에서 결정되거나 선택된 λ의 파라미터가 주어진다면, 위에서 설명한 확률 밀도 함수 또는 확률 밀도 곡선을 사용하여 예상 체류 시간 Tw를 계산할 수 있다. 일 실시예에서, 특정 주행 시나리오에 기반하여 과거 ADV에 의해 구성 및 유지되었던 일 세트의 λ 파라미터 검색 동작을 통해 λ 파라미터를 동적으로 계산하거나 결정할 수 있다. 예를 들어, λ 파라미터는 영향 영역이나 ROI(예컨대, 주차장, 교차로 등)에 기반하여 결정될 수 있다. 또한, 관심있는 장애물의 유형에 기반하여 λ 파라미터를 결정할 수 있다. 장애물이 차량, 자전거, 보행자 또는 애완동물일 경우, λ 파라미터는 상이할 수 있다. λ 파라미터는 장애물의 움직임에 기반하여 변경될 수 있다. 예를 들어 장애물이 빠르게 이동하거나 느리게 이동하고, 진행 방향, 과거 이동 궤적이나 예측된 궤적일 경우 λ 파라미터는 상이할 수 있다.
장애물(807)이 차량, 자전거, 보행자, 고양이 또는 개와 같이 스스로 이동할 수 있는 동적 장애물일 경우, 영향 영역(1001)에서 동적 장애물(807)의 예상 체류 시간은 다음과 같이 계산할 수 있다.
Figure 112020109543749-pct00005
장애물(807)이 스스로 이동할 수 없는 정적 장애물일 경우, 예상 체류 시간은 다음과 같다.
Figure 112020109543749-pct00006
일 실시예에서, 예를 들어 ETA 모듈(603)에 의해 ADV(810)가 장애물(807)이 영향 영역(1001)을 벗어날 때까지 대기하다가 제1 궤적(908)을 따라 자동 주행하는 제1 예상 도착 시간 T1을 결정할 수 있다. ETA 모듈(603)에 의해 ADV(810)가 다시 계획하고 제2 궤적(1002)을 따라 자동 주행하는 제2 예상 도착 시간 T2를 결정할 수 있다.
Figure 112020109543749-pct00007
Figure 112020109543749-pct00008
여기서 T1과 T2는 각각 현재 궤적(908)의 종착지에 도달하거나 도착하는 제1 예상 도착 시간과 제2 궤적(1002)을 다시 계획하는 제2 예상 도착 시간이다. T1m은 ADV(810)가 대기하지 않는 상황에서 현재 궤적(908)의 종착지에 도달하는데 소요되는 시간을 나타낸다. 현재 궤적(908)이 장애물(807)에 의해 차단될 경우 ADV(810)가 현재 궤적(908)을 따라 이동하는 것으로 결정하면, T1W는 ADV(810)가 반드시 대기해야 하는 대기 시간을 나타낸다. T2m은 ADV(810)가 제2 궤적(1002)의 종착지에 도달하는데 소요되는 시간을 나타낸다. Ve는 ADV(810)가 각각의 궤적을 따라 이동할 때 계획한 평균 속도이다. L1과 L2는 각각 궤적(908)과 궤적(1002)의 궤적 길이를 나타낸다.
일 실시예에서, 제1 예상 도착 시간 T1과 제2 예상 도착 시간 T2의 비율은 예를 들어 결정 모듈(604)에 의해 결정될 수 있다. 결정 모듈(604)은 제1 예상 도착 시간 T1과 제2 예상 도착 시간 T2의 비율에 기반하여, 제2 궤적(1002)을 따라 이동할지 아니면 장애물(807)이 영향 영역(1001)을 벗어날 때까지 대기하다가 제1 궤적(908)을 따라 이동할지를 결정할 수 있다.
Figure 112020109543749-pct00009
일 실시예에 따라, 예를 들어 R > 1(예컨대, 제2 예상 도착 시간 T2가 제1 예상 도착 시간 T1보다 짧음)과 같이, 비율 R이 설정 임계값 보다 클 경우, 결정 모듈(604)은 다시 계획을 시작하고 동작 1 내지 동작 7로 되돌아 갈 것을 결정할 수 있다. 결정 모듈(604)은 ADV(810)가 주행할 제2 궤적(1002)을 계획하고, ADV(810)가 제2 궤적(1002)을 따라 자율 주행을 할 수 있게 제어하도록 구성될 수 있다.
예를 들어 R < = 1(예컨대, 제1 예상 도착 시간이 제2 예상 도착 시간 T2보다 짧음)과 같이, R이 예정 임계값 보다 크지 않을 경우, 결정 모듈(604)은 장애물(807)이 영향 영역(1001)을 벗어날 때까지 계속 대기하다가 제1 궤적(908)을 따라 자율 주행할 것을 결정할 수 있다.
일 실시예에서, 제1 주행 영역(예컨대, 801)에서 도로 위 모드로 동작하는 ADV는 ADV가 제2 주행 영역(예컨대, 802)에서 주행할 것을 감지한 것에 응답하여 자동으로 개방 공간 모드로 전환되도록 구성될 수 있다. 예를 들어, 다시 도 8A를 참조하면, ADV(810)가 지점(805a)에 도달했을 때, 감지 모듈(302)은 ADV(810)가 제2 주행 영역(예컨대, 802)에서 주행할 것을 감지할 수 있다. 이에 응답하여, 노선 배정 모듈(307) 및 계획 모듈(305)은 제1 프로세스 이후의 도로 위 모드 동작에서 제2 프로세스 이후의 개방 공간 모드 동작으로 자동 전환되도록 구성될 수 있다.
도 12는 일 실시예에 따른 ADV가 도로 위 모드 또는 개방 공간 모드 중 하나의 모드로 작동하기 위한 프로세스 일 예의 순서도를 나타낸다. 프로세스(1200)는 소프트웨어, 하드웨어 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 실행될 수 있다. 예를 들어, 프로세스(1200)는 노선 배정 모듈(307)과 계획 모듈(305)에 의해 수행될 수 있다. 도 12를 참조하면, 동작(1201)에서 프로세싱 로직은 ADV가 주행할 경로의 출발지 및 종착지를 결정한다. 동작(1202)에서, 프로세싱 로직은 각각의 출발지 및 종착지가 도로 경계를 구비한 제1 유형의 제1 주행 영역 내에 있는지 아니면 도로 경계를 구비하지 않는 개방 공간인 제2 유형의 제2 주행 영역 내에 있는지를 결정한다. 동작(1203)에서, 프로세싱 로직은 각각의 출발지 및 종착지가 제1 주행 영역 내에 있는지 제2 주행 영역 내에 있는지에 대한 결정에 기반하여 노선을 제1 노선 구간과 제2 노선 구간으로 나눈다. 동작(1204)에서, 프로세싱 로직은 출발지 및 종착지가 제1 주행 영역 또는 제2 주행 영역 내에 있는지 여부에 따라 제1 노선 구간에 대한 제1 궤적을 계획하도록 도로 위 모드 또는 개방 공간 모드 중 하나의 모드로 작동하고, 제2 노선 구간에 대한 제2 궤적을 계획하도록 도로 위 모드 또는 개방 공간 모드 중 하나의 모드로 작동한다.
도 13은 일 실시예에 따른 ADV가 개방 공간 모드에서 작동하기 위한 프로세스 일 예의 순서도를 나타낸다. 프로세스(1300)는 소프트웨어, 하드웨어 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(1300)는 노선 배정 모듈(307)과 계획 모듈(305)에 의해 수행될 수 있다. 도 13을 참조하면, 동작(1301)에서, 프로세싱 로직은 개선된 A-star 검색 알고리즘에 기반하여 제1 노선 구간 또는 제2 노선 구간을 검색한다. 동작(1302)에서, 프로세싱 로직은 제1 노선 구간 또는 제2 노선 구간에 기반하여 기준선을 생성한다. 동작(1303)에서, 프로세싱 로직은 ADV의 폭과 기준선에 기반하여 가상 도로 경계를 생성한다. 동작(1304)에서, 프로세싱 로직은 가상 도로 경계 내에서 그리드를 생성한다. 동작(1305)에서, 프로세싱 로직은 그리드에 기반하여 일 세트의 후보 궤적을 결정한다. 동작(1306)에서, 해당 후보 궤적 세트에서 궤적을 선택하여 해당 궤적을 따라 주율 주행할 수 있도록 ADV를 제어한다.
도 14는 일 실시예에 따른 ADV가 장애물을 회피하는 프로세스 일 예의 순서도를 나타낸다. 프로세스(1400)는 소프트웨어, 하드웨어 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 실행될 수 있다. 예를 들어, 프로세스(1400)는 감지 모듈(302), 노선 배정 모듈(307), 계획 모듈(305) 및 제어 모듈(306)에 의해 수행될 수 있다. 도 14를 참조하면, 동작(1401)에서, 프로세싱 로직은 ADV가 주행할 제1 궤적을 계획한다. 동작(1402)에서, 프로세싱 로직은 ADV가 제1 궤적을 따라 자율 주행하도록 제어한다. 동작(1403)에서, 프로세싱 로직은 ADV에 장착된 복수의 센서로부터 획득한 센서 데이터에 기반하여 ADV의 영향 영역의 장애물을 감지하는 동시에 ADV가 제1 궤적을 따라 자율 주행하도록 제어한다. 동작(1404)에서, 프로세싱 로직은 영향 영역에서 장애물의 예상 체류 시간을 결정한다. 동작(1405)에서, 프로세싱 로직은 영향 영역에서 장애물의 예상 체류 시간에 기반하여 장애물이 영향 영역에서 벗어날 때까지 대기할 것인지 아니면 제2 궤적을 계획할 것인지를 결정한다. 동작(1406)에서, 프로세싱 로직은 제2 궤적을 계획할 것인지 아니면 장애물이 영향 영역을 벗어날 때까지 대기할 것인지에 대한 결정에 기반하여, ADV가 주행할 제2 궤적을 계획하고 제2 궤적을 따라 자율 주행하도록 ADV를 제어하거나, 장애물이 영향 영역을 벗어날 때까지 대기하다가 제1 궤적을 따라 자율 주행하도록 ADV를 제어한다.
상기 도시하여 설명한 부재 중 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있음을 이해할 것이다. 예를 들어, 이러한 부재는 영구 스토리지에 설치되고 저장되는 소프트웨어로 구현될 수 있고, 상기 소프트웨어는 본원에서 설명한 프로세스나 동작을 수행하기 위해 프로세서(미 도시)를 통해 저장 장치에 로딩되고 저장 장치로부터 실행될 수 있다. 선택적으로 이러한 부재는 전용 하드웨어(예컨대, 집적 회로(예를 들어, 전용 집적 회로 또는 ASIC), 디지털 신호 처리기(DSP) 또는 필드 프로그래머블 게이트 어레이(FPGA))의 실행 가능한 코드로 프로그래밍되거나 내장된 실행 가능한 코드로 구현될 수 있으며, 상기 실행 가능한 코드는 애플리케이션의 해당 드라이버 및/또는 운영 체제를 통해 액세스될 수 있다. 또한 이러한 부재는 하나 또는 복수의 특정 명령어를 통해 소프트웨어 부재에 의해 액세스될 수 있는 명령어 집합의 일부로써, 프로세서 또는 프로세서 코어의 특정 하드웨어 로직으로 구현될 수 있다.
상기 상세한 설명 중 일부는 이미 컴퓨터 저장 장치 내에서 데이터 비트에 대한 연산의 알고리즘과 부호로 제시하였다. 이러한 알고리즘의 설명과 표시는 데이터 처리 분야의 기술자들이 자신의 작업 본질을 해당 분야의 다른 기술자들에게 가장 효과적으로 전달하기 위해 사용하는 방식이다. 여기에서 알고리즘은 일반적으로 기대되는 결과로 이어지는 일관된 작업 시퀀스로 간주된다. 이러한 작업은 물리적 양에 대해 물리적 조작을 해야 하는 작업을 가리킨다.
그러나 이러한 모든 용어 및 이와 유사한 용어들은 모두 적절한 물리적 양과 관련되며, 단지 이러한 양에 적용되는 편리한 표시에 불과하다는 것을 명심해야 한다. 위의 설명에서 명백히 다르게 언급하지 않는 한, 전체 명세서에서, 용어(청구범위에 기재된 용어 등)를 사용한 설명은 컴퓨터 시스템 또는 이와 유사한 전자 컴퓨팅 장치의 동작 및 처리를 지칭하며, 상기 컴퓨터 시스템 또는 전자 컴퓨팅 장치는 컴퓨터 시스템의 레지스터와 저장 장치 내의 물리적(전자) 양으로 표시된 데이터를 조작하고, 상기 데이터를 컴퓨터 시스템 저장 장치 또는 레지스터 또는 이러한 스토리지, 전송 또는 디스플레이 장치 내에서 유사한 물리적 양으로 표시되는 기타 데이터로 변환한다.
본원의 실시예는 본 명세서의 동작을 수행하기 위한 기기에 관한 것이기도 하다. 이러한 컴퓨터 프로그램은 비 일시적 컴퓨터 판독 가능한 매체에 저장되어 있다. 컴퓨터 판독 가능한 매체에는 기계(예컨대, 컴퓨터) 판독 가능한 형태로 정보를 저장하기 위한 모든 구조물이 포함된다. 예를 들어, 기계 판독 가능한(예컨대, 컴퓨터가 판독 가능한) 매체에는 기계(예컨대, 컴퓨터)에 의해 판독 가능한 매체(예컨대, 읽기 전용 기억장치("ROM"), 랜덤 액세스 메모리("RAM"), 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치)등이 포함된다.
상기 도면에서 설명한 프로세스 또는 방법은 하드웨어(예컨대, 회로, 전용 로직 등), 소프트웨어(예컨대, 비 일시적 컴퓨터 판독 가능한 매체에 구현된) 또는 이들의 조합을 포함하는 처리 로직에 의해 수행될 수 있다. 비록 상기 프로세스 또는 방법은 상기 설명에서 순차적인 동작에 따라 설명되었으나, 상기 동작 중의 일부는 이와 다른 순서로 수행될 수 있음을 마땅히 이해하여야 한다. 또한 일부 동작들은 순차적으로 수행되지 않고 병행으로 수행될 수도 있다.
본원의 실시예는 어느 특정 프로그래밍 언어를 참조하여 설명된 것이 아니다. 본 명세서에 설명된 바와 같이 본원의 실시예의 사시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있음을 이해할 것이다.
상기한 바와 같이 본원의 구체적인 예시적 실시예를 참조하여 본원의 실시예를 설명하였다. 첨부된 청구범위에 기재된 본원의 더 넓은 사상 및 범위를 벗어나지 않는 한, 본원에 대해 다양한 변경을 진행할 수 있음은 명백할 것이다. 따라서 명세서 및 도면은 제한적인 의미가 아닌 예시적인 의미로 이해하여야 한다.

Claims (20)

  1. 자율 주행 차량(ADV)을 작동하기 위한 컴퓨터 구현 방법에 있어서,
    상기 방법은,
    ADV에 장착된 복수의 센서로부터 획득한 센서 데이터에 기반하여 상기 ADV 주위의 주행 환경을 감지하되, 이는 상기 ADV의 영향 영역을 결정하는 것을 포함하는 단계;
    상기 주행 환경에 기반하여 상기 ADV가 상기 영향 영역의 적어도 일부분을 자동으로 주행할 수 있도록 제1 궤적을 계획하는 단계;
    상기 영향 영역 내에 있는 장애물을 감지한 것에 응답하여, 상기 장애물이 상기 영향 영역 내에 체류할 것으로 예상되는 시간량을 나타내는 상기 장애물의 예상 체류 시간을 결정하는 단계; 및
    상기 예상 체류 시간에 기반하여, 상기 영향 영역 내에 체류하는 상기 장애물에 따라 제2 궤적을 계획할지 아니면 상기 장애물이 상기 영향 영역을 벗어날 수 있도록 일정한 시간 동안 대기할 것인지를 결정하여, 상기 제1 궤적에 따라 상기 ADV를 제어하는 단계;를 포함하고,
    상기 장애물의 예상 체류 시간을 결정하는 단계는,
    확률 밀도 함수를 사용하여 상기 장애물이 상기 영향 영역에서의 체류 시간의 확률을 계산하는 것을 포함하고, 상기 영향 영역에서의 상기 장애물의 상기 예상 체류 시간은 상기 체류 시간의 확률에 기반하여 결정되는 컴퓨터 구현 방법.
  2. 제1 항에 있어서,
    상기 장애물이 상기 제1 궤적의 적어도 일부분을 차단함을 결정하는 단계를 더 포함하되, 상기 장애물이 상기 영향 영역 내의 상기 제1 궤적의 적어도 일부분을 차단할 경우, 상기 예상 체류 시간을 결정하는 컴퓨터 구현 방법.
  3. 제1 항에 있어서,
    상기 예상 체류 시간이 예정 임계값 보다 크다고 결정된 것에 응답하여, 상기 제1 궤적을 대체하기 위해 상기 제2 궤적을 계획하는 단계를 더 포함하는 컴퓨터 구현 방법.
  4. 삭제
  5. 제1 항에 있어서,
    상기 확률 밀도 함수는 다음과 같이 한정되고,
    Figure 112022067499856-pct00010

    여기서 x는 영향 영역 내에서 장애물의 예상 체류 시간량이고, λ는 주행 환경에 기반하여 결정되는 컴퓨터 구현 방법.
  6. 제5 항에 있어서,
    상기 체류 시간의 확률은 특정 체류 시간 후보가 주어졌을 때 상기 확률 밀도 함수의 적분을 계산하여 결정되는 컴퓨터 구현 방법.
  7. 제1 항에 있어서,
    상기 예상 체류 시간에 따라, 상기 제1 궤적의 제1 궤적 길이 및 상기 제1 궤적과 연관된 상기 ADV의 평균 속도에 기반하여 제1 예상 도착 시간(ETA)을 결정하는 단계; 및
    상기 제2 궤적의 제2 궤적 길이 및 상기 제2 궤적과 연관된 상기 ADV의 평균 속도에 기반하여 제2 ETA를 결정하는 단계;를 더 포함하되,
    상기 제1 궤적을 따라 상기 ADV를 주행하도록 할 것인지 또는 상기 제2 궤적을 따라 상기 ADV를 주행하도록 할 것인지는 상기 제1 ETA 및 상기 제2 ETA에 기반하여 결정되는 컴퓨터 구현 방법.
  8. 제7 항에 있어서,
    상기 제2 ETA가 상기 제1 ETA보다 작을 경우, 상기 제2 궤적을 사용하여 상기 ADV를 주행하도록 하고; 그렇지 않을 경우에는 상기 ADV가 대기하다가 상기 제1 궤적을 따라 주행하는 컴퓨터 구현 방법.
  9. 명령어가 저장된 비 일시적 기계 판독 가능한 저장 매체에 있어서,
    상기 명령어가 프로세서에 의해 실행될 경우, 상기 프로세서가,
    ADV에 장착된 복수의 센서로부터 획득한 센서 데이터에 기반하여 상기 ADV 주위의 주행 환경을 감지하되, 이는 상기 ADV의 영향 영역을 결정하는 것을 포함하는 동작;
    상기 주행 환경에 기반하여 상기 ADV가 상기 영향 영역의 적어도 일부분을 자동으로 주행할 수 있도록 제1 궤적을 계획하는 동작;
    상기 영향 영역 내에 있는 장애물을 감지한 것에 응답하여, 상기 장애물이 상기 영향 영역 내에 체류할 것으로 예상되는 시간량을 나타내는 상기 장애물의 예상 체류 시간을 결정하는 동작; 및
    상기 예상 체류 시간에 기반하여, 상기 영향 영역 내에 체류하는 상기 장애물에 따라 제2 궤적을 계획할지 아니면 상기 장애물이 상기 영향 영역을 벗어날 수 있도록 일정한 시간 동안 대기할 것인지를 결정하여, 상기 제1 궤적에 따라 상기 ADV를 제어하는 동작을;을 포함하는 자율 주행 차량(ADV)을 작동하기 위한 동작을 수행하도록 하고,
    상기 장애물의 예상 체류 시간을 결정하는 동작은,
    확률 밀도 함수를 사용하여 상기 장애물이 상기 영향 영역에서의 체류 시간의 확률을 계산하는 것을 포함하고, 상기 영향 영역에서의 상기 장애물의 상기 예상 체류 시간은 상기 체류 시간의 확률에 기반하여 결정되는 비 일시적 기계 판독 가능한 저장 매체.
  10. 제9 항에 있어서,
    상기 동작은,
    상기 장애물이 상기 제1 궤적의 적어도 일부분을 차단함을 결정하는 동작을 더 수행하고, 상기 장애물이 상기 영향 영역 내의 상기 제1 궤적의 적어도 일부분을 차단할 경우, 상기 예상 체류 시간을 결정하는 비 일시적 기계 판독 가능한 저장 매체.
  11. 제9 항에 있어서,
    상기 동작은,
    상기 예상 체류 시간이 예정 임계값 보다 크다고 결정된 것에 응답하여, 상기 제1 궤적을 대체하기 위해 상기 제2 궤적을 계획하는 동작을 더 수행하는 비 일시적 기계 판독 가능한 저장 매체.
  12. 삭제
  13. 제9 항에 있어서,
    상기 확률 밀도 함수는 다음과 같이 한정되고,
    Figure 112022067499856-pct00011

    여기서 x는 영향 영역 내에서 장애물의 예상 체류 시간량이고, λ는 주행 환경에 기반하여 결정되는 비 일시적 기계 판독 가능한 저장 매체.
  14. 제13 항에 있어서,
    상기 체류 시간의 확률은 특정 체류 시간 후보가 주어졌을 때 상기 확률 밀도 함수의 적분을 계산하여 결정되는 비 일시적 기계 판독 가능한 저장 매체.
  15. 제9 항에 있어서,
    상기 동작은,
    상기 예상 체류 시간에 따라, 상기 제1 궤적의 제1 궤적 길이 및 상기 제1 궤적과 연관된 상기 ADV의 평균 속도에 기반하여 제1 예상 도착 시간(ETA)을 결정하는 동작; 및
    상기 제2 궤적의 제2 궤적 길이 및 상기 제2 궤적과 연관된 상기 ADV의 평균 속도에 기반하여 제2 ETA를 결정하는 동작을 더 수행하되,
    상기 제1 궤적을 따라 상기 ADV를 주행하도록 할 것인지 또는 상기 제2 궤적을 따라 상기 ADV를 주행하도록 할 것인지는 상기 제1 ETA 및 상기 제2 ETA에 기반하여 결정되는 비 일시적 기계 판독 가능한 저장 매체.
  16. 제15 항에 있어서,
    상기 제2 ETA가 상기 제1 ETA보다 작을 경우, 상기 제2 궤적을 사용하여 상기 ADV를 주행하도록 하고; 그렇지 않을 경우에는 상기 ADV가 대기하다가 상기 제1 궤적을 따라 주행하는 비 일시적 기계 판독 가능한 저장 매체.
  17. 데이터 처리 시스템에 있어서,
    프로세서; 및
    명령어를 저장하며 상기 프로세서에 연결된 저장 장치를 포함하고, 상기 명령어가 상기 프로세서에 의해 실행될 경우, 상기 프로세서가,
    ADV에 장착된 복수의 센서로부터 획득한 센서 데이터에 기반하여 상기 ADV 주위의 주행 환경을 감지하되, 이는 상기 ADV의 영향 영역을 결정하는 것을 포함하는 동작;
    상기 주행 환경에 기반하여 상기 ADV가 상기 영향 영역의 적어도 일부분을 자동으로 주행할 수 있도록 제1 궤적을 계획하는 동작;
    상기 영향 영역 내에 있는 장애물을 감지한 것에 응답하여, 상기 장애물이 상기 영향 영역 내에 체류할 것으로 예상되는 시간량을 나타내는 상기 장애물의 예상 체류 시간을 결정하는 동작; 및
    상기 예상 체류 시간에 기반하여, 상기 영향 영역 내에 체류하는 상기 장애물에 따라 제2 궤적을 계획할지 아니면 상기 장애물이 상기 영향 영역을 벗어날 수 있도록 일정한 시간 동안 대기할 것인지를 결정하여, 상기 제1 궤적에 따라 상기 ADV를 제어하는 동작을 포함한 자율 주행 차량(ADV)을 작동하기 위한 동작을 수행하도록 하고,
    상기 장애물의 예상 체류 시간을 결정하는 동작은,
    확률 밀도 함수를 사용하여 상기 장애물이 상기 영향 영역에서의 체류 시간의 확률을 계산하는 것을 포함하고, 상기 영향 영역에서의 상기 장애물의 상기 예상 체류 시간은 상기 체류 시간의 확률에 기반하여 결정되는 데이터 처리 시스템.
  18. 제17 항에 있어서,
    상기 프로세서는,
    상기 장애물이 상기 제1 궤적의 적어도 일부분을 차단함을 결정하는 동작을 더 수행하고, 상기 장애물이 상기 영향 영역 내의 상기 제1 궤적의 적어도 일부분을 차단할 경우, 상기 예상 체류 시간을 결정하는 데이터 처리 시스템.
  19. 제17 항에 있어서,
    상기 프로세서는,
    상기 예상 체류 시간이 예정 임계값 보다 크다고 결정된 것에 응답하여, 상기 제1 궤적을 대체하기 위해 상기 제2 궤적을 계획하는 동작을 더 수행하는 데이터 처리 시스템.
  20. 삭제
KR1020207029809A 2020-02-26 2020-02-26 자율 주행 차량의 장애물 회피 궤적 계획 KR102501489B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/076818 WO2021168699A1 (en) 2020-02-26 2020-02-26 Trajectory planning with obstacle avoidance for autonomous driving vehicles

Publications (2)

Publication Number Publication Date
KR20210110773A KR20210110773A (ko) 2021-09-09
KR102501489B1 true KR102501489B1 (ko) 2023-02-17

Family

ID=77489807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207029809A KR102501489B1 (ko) 2020-02-26 2020-02-26 자율 주행 차량의 장애물 회피 궤적 계획

Country Status (6)

Country Link
US (1) US11878712B2 (ko)
EP (1) EP3891571A4 (ko)
JP (1) JP7225262B2 (ko)
KR (1) KR102501489B1 (ko)
CN (1) CN113795801A (ko)
WO (1) WO2021168699A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11816914B2 (en) * 2019-09-05 2023-11-14 Humanising Autonomy Limited Modular predictions for complex human behaviors
CN116300973B (zh) * 2023-05-18 2023-08-04 上海伯镭智能科技有限公司 一种复杂天气下无人驾驶矿车自主避障方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011156955A (ja) * 2010-01-29 2011-08-18 Equos Research Co Ltd 走行制御装置および走行制御方法
KR101660162B1 (ko) * 2015-03-05 2016-10-04 고려대학교 산학협력단 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법
JP2018112461A (ja) * 2017-01-11 2018-07-19 いすゞ自動車株式会社 確率算出装置及び確率算出方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3367363B2 (ja) 1996-08-23 2003-01-14 住友電装株式会社 シート状導電路用コネクタ
US20100292916A1 (en) 2009-05-13 2010-11-18 Honda Motor Co., Ltd. Navigation System For a Motor Vehicle
US8392117B2 (en) 2009-05-22 2013-03-05 Toyota Motor Engineering & Manufacturing North America, Inc. Using topological structure for path planning in semi-structured environments
CN101719316B (zh) * 2009-12-25 2012-01-11 中国科学院武汉岩土力学研究所 道路安全高速无线实时影像自动监控警示装置及其方法
US8374792B2 (en) 2010-07-30 2013-02-12 Primordial Inc. System and method for multi-resolution routing
US9997077B2 (en) 2014-09-04 2018-06-12 Honda Motor Co., Ltd. Vehicle operation assistance
US10198950B2 (en) 2015-10-22 2019-02-05 Nissan Motor Co., Ltd. Parking support method and parking support device
CN105844716A (zh) 2016-01-06 2016-08-10 乐卡汽车智能科技(北京)有限公司 信息处理方法、系统以及终端设备
JP6692209B2 (ja) 2016-05-11 2020-05-13 株式会社日立製作所 駐車管理システム及びその制御方法
DE102016219341B4 (de) 2016-10-06 2023-02-02 Audi Ag Verfahren zum Betrieb wenigstens einer Vorrichtung eines Egofahrzeugs und zugehöriges Kraftfahrzeug
WO2018083778A1 (ja) 2016-11-04 2018-05-11 本田技研工業株式会社 車両制御システム、車両制御方法、および車両制御プログラム
KR102662949B1 (ko) * 2016-11-24 2024-05-02 엘지전자 주식회사 인공지능 이동 로봇 및 그 제어방법
US10317907B2 (en) 2017-04-28 2019-06-11 GM Global Technology Operations LLC Systems and methods for obstacle avoidance and path planning in autonomous vehicles
JP6636218B2 (ja) * 2017-06-20 2020-01-29 三菱電機株式会社 経路予測装置および経路予測方法
CN111201497A (zh) 2017-07-10 2020-05-26 旅伴机器人股份有限公司 自主机器人系统
CN107633694A (zh) 2017-09-04 2018-01-26 浙江省邮电工程建设有限公司 一种无人驾驶汽车的停车管理系统
US10515321B2 (en) * 2017-09-11 2019-12-24 Baidu Usa Llc Cost based path planning for autonomous driving vehicles
US10816990B2 (en) * 2017-12-21 2020-10-27 Baidu Usa Llc Non-blocking boundary for autonomous vehicle planning
GB201804195D0 (en) * 2018-03-15 2018-05-02 Blue Vision Labs Uk Ltd Visual vehicle tracking through noise and occlusions using crowd-sourced maps
US10884422B2 (en) * 2018-04-16 2021-01-05 Baidu Usa Llc Method for generating trajectories for autonomous driving vehicles (ADVS)
US11378961B2 (en) * 2018-04-17 2022-07-05 Baidu Usa Llc Method for generating prediction trajectories of obstacles for autonomous driving vehicles
DE102018207421A1 (de) * 2018-05-14 2019-11-14 Robert Bosch Gmbh Verfahren und System zum Ermitteln einer erwarteten Vorrichtungskontur
CN110487289B (zh) 2018-05-15 2021-06-11 易图通科技(北京)有限公司 无固定车道区域导航方法及导航设备
CN108716201B (zh) * 2018-06-05 2020-08-07 北京智行者科技有限公司 一种协同清扫方法
JP7024619B2 (ja) 2018-06-12 2022-02-24 株式会社デンソー 移動体用表示制御装置、移動体用表示制御方法、及び制御プログラム
US10551840B2 (en) * 2018-07-02 2020-02-04 Baidu Usa Llc Planning driven perception system for autonomous driving vehicles
CN108960468A (zh) 2018-07-10 2018-12-07 重庆邮电大学 基于智能终端实现小区停车场车位预约方法
CN109101022A (zh) * 2018-08-09 2018-12-28 北京智行者科技有限公司 一种作业路径更新方法
US11001256B2 (en) * 2018-09-19 2021-05-11 Zoox, Inc. Collision prediction and avoidance for vehicles
US20200124435A1 (en) * 2018-10-17 2020-04-23 Toyota Motor North America, Inc. Distributed route determination system
CN109131318B (zh) 2018-10-19 2020-03-27 清华大学 一种基于拓扑地图的自主泊车路径协调方法
CN109407673A (zh) 2018-12-19 2019-03-01 清华大学苏州汽车研究院(吴江) 一种适用于结构化道路的自主换道控制方法及系统
CN110096059B (zh) * 2019-04-25 2022-03-01 杭州飞步科技有限公司 自动驾驶方法、装置、设备及存储介质
US11360480B2 (en) * 2019-08-21 2022-06-14 Zoox, Inc. Collision zone detection for vehicles
US11276179B2 (en) 2019-12-18 2022-03-15 Zoox, Inc. Prediction on top-down scenes based on object motion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011156955A (ja) * 2010-01-29 2011-08-18 Equos Research Co Ltd 走行制御装置および走行制御方法
KR101660162B1 (ko) * 2015-03-05 2016-10-04 고려대학교 산학협력단 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법
JP2018112461A (ja) * 2017-01-11 2018-07-19 いすゞ自動車株式会社 確率算出装置及び確率算出方法

Also Published As

Publication number Publication date
KR20210110773A (ko) 2021-09-09
EP3891571A1 (en) 2021-10-13
EP3891571A4 (en) 2021-12-22
JP7225262B2 (ja) 2023-02-20
US11878712B2 (en) 2024-01-23
US20220153296A1 (en) 2022-05-19
CN113795801A (zh) 2021-12-14
WO2021168699A1 (en) 2021-09-02
JP2022525486A (ja) 2022-05-17

Similar Documents

Publication Publication Date Title
US10928820B1 (en) Confidence levels along the same predicted trajectory of an obstacle
US11560159B2 (en) Group and combine obstacles for autonomous driving vehicles
CN112149487A (zh) 一种用于自动驾驶的用于训练神经网络对象检测模型的用于确定锚框的方法
US11586209B2 (en) Differential dynamic programming (DDP) based planning architecture for autonomous driving vehicles
CN113313933B (zh) 用于自动驾驶车辆的基于车道的路线选择系统
US11467584B2 (en) Multi-layer grid based open space planner
CN113728212B (zh) 用于自动驾驶车辆的导航路线规划方法
US20210200222A1 (en) Fastest lane determination algorithm under traffic jam
CN113525406A (zh) 用于车辆运动控制器的基于贝叶斯全局优化的参数调谐
KR102501489B1 (ko) 자율 주행 차량의 장애물 회피 궤적 계획
EP3914492B1 (en) A parking-trajectory generation method combined with offline and online solutions
US11300955B2 (en) Method for determining ride stability of an autonomous driving system controlling an autonomous driving vehicle
CN112985435A (zh) 用于操作自主驾驶车辆的方法及系统
CN113815640A (zh) 用于具有不同速度限制的车道的车道变更系统
WO2021168698A1 (en) A mixed regular and open-space trajectory planning method for autonomous driving vehicle
CN112598914B (zh) 基于历史的预计到达时间
CN113728324A (zh) 基于点云的低高度障碍物检测系统
CN113366400A (zh) 自动驾驶车辆的动态成本函数的实现方法
JP7459817B2 (ja) 管制装置及び管制システム
US20240005066A1 (en) Decoupled prediction evaluation
CN113525510A (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