KR20200037123A - 에뮬레이션 기반의 자율 주행 차량의 3점 방향 전환 계획 - Google Patents

에뮬레이션 기반의 자율 주행 차량의 3점 방향 전환 계획 Download PDF

Info

Publication number
KR20200037123A
KR20200037123A KR1020197024685A KR20197024685A KR20200037123A KR 20200037123 A KR20200037123 A KR 20200037123A KR 1020197024685 A KR1020197024685 A KR 1020197024685A KR 20197024685 A KR20197024685 A KR 20197024685A KR 20200037123 A KR20200037123 A KR 20200037123A
Authority
KR
South Korea
Prior art keywords
path
point
candidates
autonomous vehicle
forward rotation
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020197024685A
Other languages
English (en)
Other versions
KR102223347B1 (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 KR20200037123A publication Critical patent/KR20200037123A/ko
Application granted granted Critical
Publication of KR102223347B1 publication Critical patent/KR102223347B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18072Coasting
    • 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
    • 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/14Adaptive cruise control
    • 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/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18036Reversing
    • 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
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • 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
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • B62D15/02Steering position indicators ; Steering position determination; Steering aids
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • B62D15/02Steering position indicators ; Steering position determination; Steering aids
    • B62D15/021Determination of steering angle
    • 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/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2510/00Input parameters relating to a particular sub-units
    • B60W2510/06Combustion engines, Gas turbines
    • B60W2510/0638Engine speed
    • B60W2510/0647Coasting condition
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/06Combustion engines, Gas turbines
    • B60W2710/0644Engine speed
    • B60W2710/0655Coasting condition
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/18Propelling the vehicle
    • B60Y2300/18008Propelling the vehicle related to particular drive situations
    • B60Y2300/18066Coasting

Landscapes

  • Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)
  • Business, Economics & Management (AREA)
  • Navigation (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

일 실시예에 의하면, 3점 방향 전환에 대한 요청에 응답하여, ADV에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성한다. ADV에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성한다. 전방 회전 경로 및 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성한다. 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수를 이용하여 경로 코스트를 산출한다. ADV를 주행시켜 3점 방향 전환을 진행하도록, 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보 중의 하나를 최종의 3점 방향 전환 경로로 선택한다.

Description

에뮬레이션 기반의 자율 주행 차량의 3점 방향 전환 계획
본 개시의 실시예는 일반적으로 자율 주행 차량에 대한 조작에 관한 것이다. 보다 구체적으로, 본 개시의 실시예는 자율 주행 차량의 에뮬레이션 기반의 3점 방향 전환을 위한 기술에 관한 것이다.
자율 주행 모드로 운행(예컨대, 무인 주행)하는 차량은 승객, 특히 운전자를 운전 관련의 직책으로부터 해방시킬 수 있다. 자율 주행 모드로 운행할 경우, 차량은 차량용 센서를 이용하여 각 위치로 인도함으로써, 차량이 인간-컴퓨터 상호 작용이 최대한으로 적은 경우 또는 아무런 승객도 없는 일부의 경우에서 주행하는 것을 허용한다.
운동 계획 및 제어는 자율 주행 중의 핵심 조작이다. 3점 방향 전환을 진행하여야 할 경우, 예컨대 도로 내에서 U형 회전을 진행하나, 해당 도로가 정지 또는 후진이 없이 연속적인 U형 회전을 진행하기에 충분한 폭이 없을 경우, 차량은 반드시 전방 회전을 진행하여야 하고, 대다수의 나라에서, 차량은 반드시 좌전방 회전을 진행하여 차로의 경계로 향하여야 한다. 이어서, 차량은 후방 회전을 진행하여 경계를 떠난다. 최종적으로, 차량은 목표 차로에 진입하도록 전방으로 이동한다. 이러한 3점 방향 전환 경로를 계획하는 것은 아주 복잡하다. 자율 주행 차량이 3점 방향 전환을 진행하도록 계획하고 제어하는 효과적인 방식이 항상 부족하다.
제1 양태에 있어서, 본 개시는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법을 제공하며, 해당 방법은, 3점 방향 전환에 대한 요청에 응답하여, 자율 주행 차량(ADV)에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계와, ADV에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성하는 단계와, 전방 회전 경로 및 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성하는 단계와, 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수를 이용하여 경로 코스트를 산출하는 단계와, ADV를 주행시켜 3점 방향 전환을 진행하도록, 3점 방향 전환 경로 후보 중의 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보를 선택하는 단계를 포함한다.
제2 양태에 있어서, 본 개시는 명령이 저장된 비 일시적 기계 판독 가능한 매체를 제공하며, 해당 명령은 프로세서에 의해 실행될 경우 프로세서가 조작을 실행하도록 하며, 해당 조작은, 3점 방향 전환에 대한 요청에 응답하여, 자율 주행 차량(ADV)에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계와, ADV에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성하는 단계와, 전방 회전 경로 및 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성하는 단계와, 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수를 이용하여 경로 코스트를 산출하는 단계와, ADV를 주행시켜 3점 방향 전환을 진행하도록, 3점 방향 전환 경로 후보 중의 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보를 선택하는 단계를 포함한다.
제3 양태에 있어서, 본 개시는 데이터 처리 시스템을 제공하며, 해당 데이터 처리 시스템은 프로세서 및 메모리 장치를 포함하되, 메모리 장치는 프로세서에 결합되어 명령을 저장하며, 해당 명령은 프로세서에 의해 실행될 경우 프로세서가 조작을 실행하도록 하며, 해당 조작은, 3점 방향 전환에 대한 요청에 응답하여, 자율 주행 차량(ADV)에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계와, ADV에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성하는 단계와, 전방 회전 경로 및 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성하는 단계와, 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수를 이용하여 경로 코스트를 산출하는 단계와, ADV를 주행시켜 3점 방향 전환을 진행하도록, 3점 방향 전환 경로 후보 중의 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보를 선택하는 단계를 포함한다.
본 개시의 실시예는 첨부된 도면들 중의 각 도면에서 예시적이나 비 한정적인 방식으로 도시되며, 첨부된 도면들 중의 동일한 참조 부호는 유사한 구성 요소를 지시한다.
도1은 일 실시예에 따른 네트워크 시스템을 나타내는 블록도이다.
도2는 일 실시예에 따른 자율 주행 차량의 예시를 나타내는 블록도이다.
도3a 내지 도3b는 일 실시예에 따른 자율 주행 차량과 같이 이용되는 감지 및 계획 시스템의 예시를 나타내는 블록도이다.
도4는 일 실시예에 따른 3점 방향 전환 운전 정경을 나타내는 도면이다.
도5는 일 실시예에 따른 계획 모듈의 예시를 나타내는 블록도이다.
도6a 및 도6b는 일부의 실시예에 따른 전방 및 후방 회전 경로의 예시를 나타내는 도면이다.
도7은 일 실시예에 따른 3점 방향 전환 경로를 생성하기 위한 과정의 예시를 나타내는 흐름도이다.
도8은 일 실시예에 따른 경로 후보의 경로 코스트를 산출하기 위한 과정의 예시를 나타내는 흐름도이다.
도9는 일 실시예에 따른 데이터 처리 시스템을 나타내는 블록도이다.
아래에 논술하는 세부 사항들을 참조로 본 개시의 각종의 실시예 및 양태에 대한 설명을 진행하기로 하며, 첨부된 도면에서 상기 각종의 실시예들을 나타내기로 한다. 아래의 설명 및 첨부된 도면은 본 개시에 대한 설명일 뿐, 본 개시에 대한 한정으로 해석하여서는 아니된다. 본 개시의 각종의 실시예들에 대한 전면적인 이해를 제공하기 위하여 여러가지 특정된 세부 사항에 대한 설명을 진행하기로 한다. 그러나, 일부의 경우에 있어서, 본 개시의 실시예에 대한 간결한 논술을 위하여, 공지의 세부 사항 또는 전통적인 세부 사항에 대한 설명은 생략하기로 한다.
본 명세서에서 "일 실시예" 또는 "실시예"에 대한 언급은 해당 실시예를 결부하여 설명한 특정의 특징, 구조, 특성이 본 개시의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 문구 "일 실시예에 있어서"가 본 명세서의 여러 곳에서 나타나는 것은 반드시 모두 동일한 실시예를 지시하는 것이 아니다.
따라서, 본 개시의 일 양태에 의하면, 수치 기반의 3점 방향 전환 시스템은 3점 방향 전환 경로를 생성하고 차량을 제어하여 안정적이고 정확한 3점 방향 전환을 진행하도록 이용된다. 시스템은 예컨대 차량의 프로파일(예컨대, 물리적 크기, 설계 사양)을 기반으로 자율 주행 차량(ADV)의 최대 회전 각도를 확정한다. 예를 들어, 최대 회전 각도가 30도이면, 시스템은 최대 회전 각도를 균등하게 구획하여 다수의 각도 후보를 생성한다. 각도 후보 중의 각각은 하나 또는 다수의 회전 경로를 생성하도록 이용될 수 있다. 해당 과정은 전방 회전 경로 및 후방 회전 경로 양자에 적용될 수 있다. 전방 회전 경로 및 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성한다. 3점 방향 전환 경로 후보 중의 각각에 대해, 코스트 함수는 경로 코스트를 산출하도록 이용된다. 경로 코스트는 경로 후보에 따라 차량을 주행시키는 코스트를 표시하며, 여기서, 상대적으로 양호한 경로 후보는 상대적으로 낮은 경로 코스트를 구비한다. 경로 코스트는 경로 후보의 전진 방향과 목표 차로의 전진 방향 사이의 차이값 및 경로 후보의 경로 길이를 기반으로 확정된다. 최저의 경로 코스트를 구비하는 경로 후보는 3점 방향 전환의 최종의 경로로서 선택된다.
일 실시예에 의하면, 3점 방향 전환에 대한 요청에 응답하여, ADV에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성한다. ADV에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성한다. 후방 회전 경로 중의 각각은 전방 회전 경로 중의 하나의 종점으로부터 시작된다. 전방 회전 경로 및 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성한다. 전방 회전 경로 중의 각각과 전방 회전 경로의 종점으로부터 시작되는 후방 회전 경로 중의 각각을 연결시켜 3점 경로 후보 중의 각각을 형성한다. 예를 들어, N개의 전방 회전 경로 및 M개의 후방 회전 경로가 존재하는 것으로 가정한다. 또한, N개의 전방 회전 경로 중의 각각과 M개의 후방 회전 경로 중의 각각은 연결되는 것으로 가정한다. 따라서, 참조로 총 N×M개의 3점 방향 전환 경로 후보가 존재한다. 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수를 이용하여 경로 코스트를 산출한다. ADV를 주행시켜 3점 방향 전환을 진행하도록, 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보 중의 하나를 최종의 3점 방향 전환 경로로 선택한다.
일 실시예에 있어서, 일련의 전방 회전 경로를 생성할 경우, 최대 전방 회전 각도를 다수의 전방 회전 각도 후보로 구획한다. 전방 회전 각도 후보 중의 각각에 대해, 최대 조향 명령을 적용하는 가정에 따라, 전방 회전 각도 후보를 기반으로 곡선 경로를 생성한다. 해당 곡선 경로는 전방 회전 경로로 이용된다. 또한, 일 실시예에 의하면, 예컨대 해당 곡선 경로 의 길이를 균등하게 구획함으로써 다수의 경로 포인트를 인식하고 선택한다. 경로 포인트 중의 각각은 모두 곡선 경로의 시작점에 연결되어, 전방 회전 경로 중의 하나를 형성한다. 유사하게, 유사한 과정을 이용하여 일련의 후방 회전 경로를 생성한다.
일 실시예에 의하면, 일련의 3점 방향 전환 경로 후보를 생성할 경우, 각 3점 방향 전환 경로의 종점에서 경로 전진 방향을 확정한다. 각 3점 방향 전환 경로의 전진 방향과 목표 차로의 전진 방향 사이의 차이값을 산출한다. 그의 차이값이 기정의 역치보다 큰 임의의 3점 방향 전환 경로 후보는 모두 감안하지 않는다. 나머지 3점 방향 전환 경로 후보의 경로 코스트는 목표 차로의 전진 방향과 비교한 전진 방향의 차이값 및/또는 경로 후보의 경로 길이를 기반으로 산출한다. 최소의 전진 방향 차이 및/또는 최단의 경로 길이를 기반으로 최종의 3점 방향 전환 경로 후보를 선택한다.
도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)은 임의의 셀룰러 통신 네트워크 또는 무선 근거리 통신망(WLAN)을 이용하여, 예컨대 WiFi를 이용하여 다른 부재 또는 시스템과 통신을 진행할 수 있다. 무선 통신 시스템(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)은 전방 회전 경로, 후방 회전 경로, 3점 방향 전환 경로 후보를 생성하기 위한 하나 또는 다수의 알고리즘을 포함하고, 및 경로 코스트 및 선택 알고리즘을 산출한다. 이어서, 알고리즘(124)은 ADV에 업로딩되어 자율 주행 동안에 실시간으로 이용될 수 있다.
도3a 및 도3b는 일 실시예에 따른 자율 주행 차량과 함께 이용되는 감지 및 계획 시스템의 예시를 나타내는 블록도이다. 시스템(300)은 도1의 자율 주행 차량(101)의 일부분으로 실시될 수 있으며, 감지 및 계획 시스템(110), 제어 시스템(111) 및 센서 시스템(115)을 포함하나, 이에 한정되지 않는다. 도3a 내지 도3b를 참조하면, 감지 및 계획 시스템(110)은 위치 확인 모듈(301), 감지 모듈(302), 예측 모듈(303), 결책 모듈(304), 계획 모듈(305), 제어 모듈(306) 및 라우팅 모듈(307)을 포함하나, 이에 한정되지 않는다.
모듈(301 내지 307) 중의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 실시될 수 있다. 예를 들어, 이러한 모듈은 영구 저장 장치(352)에 설치되고, 메모리 장치(351)에 로딩되며, 하나 또는 다수의 프로세서(미도시)에 의해 실행될 수 있다. 이러한 모듈 중의 일부 또는 전부는 도2의 차량 제어 시스템(111)의 일부 또는 전부의 모듈과 통신 가능하게 연결되거나 이들과 통합될 수 있음을 유의하여야 한다. 모듈(301 내지 307) 중의 일부는 통합 모듈로 통합될 수 있다.
위치 확인 모듈(301)은, 예컨대, GPS 유닛(212)을 이용하여, 자율 주행 차량(300)의 현재 위치를 확정하고, 사용자의 여정 또는 노선에 관련된 임의의 데이터를 관리한다. 위치 확인 모듈(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)은 라우팅 모듈(307)로 제공한 기준선을 기초로 이용하여 자율 주행 차량을 위해 경로 또는 노선 및 주행 파라미터(예컨대, 거리, 속도 및/또는 회전 각도)를 계획한다. 다시 말해서, 주어진 대상물에 대해, 결책 모듈(304)은 해당 대상물에 대해 무엇을 진행할 지를 결정하고, 계획 모듈(305)은 이를 어떻게 진행할 지를 확정한다. 예를 들어, 주어진 대상물에 대해, 결책 모듈(304)은 상기 대상물을 통과하는 것을 결정할 수 있으며, 계획 모듈(305)은 상기 대상물의 좌측으로 아니면 우측으로 통과할 지를 확정할 수 있다. 계획 및 제어 데이터는 계획 모듈(305)로 생성되며, 차량(300)이 다음 이동 주기(예컨대, 다음 노선/경로 구간)에서 어떻게 이동하는 지를 설명하는 정보를 포함한다. 예를 들어, 계획 및 제어 데이터는 차량(300)이 30 마일 시속(mph)의 속도로 10미터 이동하고, 이어서 25 mph의 속도로 우측 차로로 변환되는 것을 지시할 수 있다.
계획 및 제어 데이터를 기반으로, 제어 모듈(306)은 계획 및 제어 데이터로 한정한 노선 또는 경로에 따라 적당한 명령 또는 신호를 차량 제어 시스템(111)에 송신하여 자율 주행 차량을 제어하고 운전한다. 상기 계획 및 제어 데이터는 경로 또는 노선을 따라 상이한 시각에서 적당한 차량 설정 또는 주행 파라미터(예컨대, 스로틀, 제동 및 조향 명령)를 이용하여 차량을 노선 또는 경로의 제1 포인트에서 제2 포인트로 운전하기 위한 충분한 정보를 포함한다.
일 실시예에 있어서, 계획 단계는 다수의 계획 주기(운전 주기로도 지칭됨)에서, 예컨대, 각 시간 간격은 100밀리 초(ms)의 각 시간 간격으로 실행된다. 계획 주기 또는 운전 주기 중의 각각에 대해, 하나 또는 다수의 제어 명령은 계획 및 제어 데이터를 기반으로 발송된다. 즉, 각 100 ms에 대해, 계획 모듈(305)은 다음 노선 구간 또는 경로 구간을 계획하며, 예컨대, 목표 위치 및 ADV가 목표 위치에 도착하기에 필요한 시간을 포함한다. 대안으로, 계획 모듈(305)은 구체적인 속도, 방향 및/또는 조향 각도 등을 진일보로 규정할 수 있다. 일 실시예에 있어서, 계획 모듈(305)은 다음의 기정 시간 구간(예컨대, 5초)을 대해 노선 구간 또는 경로 구간을 계획한다. 각 계획 주기에 대해, 계획 모듈(305)은 이전의 주기에서 계획한 목표 위치를 기반으로 현재 주기(예컨대, 다음 5초)를 위한 목표 위치를 계획한다. 제어 모듈(306)은 이어서 현재 주기의 계획 및 제어 데이터를 기반으로 하나 또는 다수의 제어 명령(예컨대, 스로틀, 제동, 조향 제어 명령)을 생성한다.
결책 모듈(304) 및 계획 모듈(305)은 통합 모듈로 통합될 수 있음을 유의하여야 한다. 결책 모듈(304)/계획 모듈(305)은 자율 주행 차량의 주행 경로를 확정하기 위한 항법 시스템 또는 항법 시스템의 기능을 포함할 수 있다. 예를 들어, 항법 시스템은 감지된 장애물을 실질적으로 피하면서 최종 목적지로 이어지는 도로 기반의 경로를 따라 자율 주행 차량을 일반적으로 전진시키는 경로를 따라 진행하는 자율 주행 차량의 이동을 실현하기 위한 일련의 속도 및 전진 방향을 확정할 수 있다. 목적지는 사용자 인터페이스 시스템(113)을 통해 진행하는 사용자 입력에 따라 설정될 수 있다. 항법 시스템은 자율 주행 차량을 주행시키면서 동적으로 운전 경로를 업데이트시킨다. 자율 주행 차량을 위한 운전 경로를 확정하도록, 항법 시스템은 GPS 시스템 및 하나 또는 다수의 지도로부터의 데이터를 병합시킬 수 있다.
일 실시예에 의하면, 3점 방향 전환에 대한 요청에 응답하여, 계획 모듈(305)은 ADV에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 확정하되, 최대 전방 회전 각도는 차량 프로파일(313)로부터 획득할 수 있다. 계획 모듈(305)은 ADV에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 확정하기도 하되, 최대 후방 회전 각도는 차량 프로파일(313)로부터 획득할 수 있다. 후방 회전 경로 중의 각각은 전방 회전 경로 중의 하나의 종점으로부터 시작된다. 이어서, 전방 회전 경로 및 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성한다. 전방 회전 경로 중의 각각과, 연결되고자 하는 전방 회전 경로의 종점으로부터 시작된 후방 회전 경로 중의 각각을 연결시킴으로써, 3점 경로 후보 중의 각각을 형성한다. 예를 들어, N개의 전방 회전 경로 및 M개의 후방 회전 경로가 존재하는 것으로 가정한다. 또한, N개의 전방 회전 경로 중의 각각과 M개의 후방 회전 경로 중의 각각이 연결되는 것으로 가정한다. 따라서, 참조로 총 N×M개의 3점 방향 전환 경로 후보가 존재한다. 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수(314)를 이용하여 경로 코스트를 산출한다. ADV를 주행시켜 3점 방향 전환을 진행하도록, 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보 중의 하나를 최종의 3점 방향 전환 경로로 선택한다.
도4는 3점 방향 전환을 진행하는 전형적인 주행 정경을 나타낸다. 도4를 참조하면, 차량(400)이 3점 방향 전환을 진행하고자 할 경우, 차량(400)은 전방 회전 경로(401)에 따라 차로(410)의 차로 경계(411)를 향해 이동하여 좌측으로 회전한다. 차량이 도로의 우측으로 주행하는 대다수의 관할 구역에서, 전방 회전 경로(401)는 좌전방 회전 경로이다. 이어서, 차량(400)은 후방 회전 경로(402)(예컨대, 우후방 회전 경로)에 따라 차로 경계(412)를 향해 뒤로 이동한다. 이후, 차량(400)은 기본적으로 직선 전방 경로(403)를 따라 이동하여 목표 차로에 진입함으로써 3점 방향 전환을 완료한다.
도5는 일 실시예에 따른 계획 모듈의 예시를 나타내는 블록도이다. 도5를 참조하면, 계획 모듈(305)은 소프트웨어, 하드웨어 또는 이들의 조합으로 실시될 수 있는 전방 회전(FT) 경로 생성 장치(501), 후방 회전(BT) 경로 생성 장치(502), 3점 방향 전환(TT) 경로 생성 장치(503)를 포함하나, 이에 한정되지 않는다. 예를 들어, 모듈(501) 내지 모듈(503)은 메모리 장치에 로딩되고 하나 또는 다수의 프로세서(미도시)에 의해 실행될 수 있다. FT 경로 생성 장치(501)는 차량에 관련된 최대 FT 회전 각도(511)를 기반으로 하나 또는 다수의 FT 경로를 생성하는 것을 책임진다. BT 경로 생성 장치(502)는 차량에 관련된 최대 BT 회전 각도(512)를 기반으로 하나 또는 다수의 BT 경로를 생성하는 것을 책임진다. TT 경로 생성 장치(503)는 FT 경로 생성 장치(501) 및 BT 경로 생성 장치(502)로 생성한 FT 경로 및 BT 경로를 기반으로 TT 경로를 생성하는 것을 책임진다. 계획 모듈(305)은 차량 주변의 주행 환경을 설명하는 감지 정보에 따라 선택된 3점 방향 전환 경로를 위한 속도 곡선을 생성하기 위한 속도 곡선 생성 장치(504)를 더 포함한다.
도6a는 일 실시예에 따른 전방 회전 경로를 생성하는 과정을 나타내는 도면이다. 도6a를 참조하면, 일련의 전방 회전 경로를 생성할 경우, 최대 전방 회전 각도(511)를 다수의 전방 회전 각도 후보로 구획한다. 예를 들어, 최대 전방 회전 각도가 30도이면, 최대 전방 회전 각도를 6(즉, 5도의 간격)으로 나누어 7개의 전방 회전 각도 후보로 구획할 수 있다. 전방 회전 각도 후보 중의 각각에 대해, 최대 조향 명령을 적용하는 가정에 따라, 전방 회전 각도 후보를 기반으로 곡선 경로를 생성한다. 해당 예시에 있어서, 곡선 경로(401A 내지 401N)를 생성한다. 각 곡선 경로는 모두 전방 회전 경로로 이용된다. 또한, 곡선 경로 중의 각각에 대해, 예컨대 곡선 경로의 길이를 균등하게 구획함으로써 다수의 경로 포인트를 인식하고 선택한다. 예를 들어, 곡선 경로(401B)는 경로 포인트(601 내지 603)로 구획된다. 경로 포인트(601 내지 603) 중의 각각은 모두 곡선 경로의 시작점에 연결되어, 전방 회전 경로 중의 하나를 형성한다. 해당 예시에 있어서, 곡선 경로(401B)에 대해, 시작점(600)에서 경로 포인트(601)로의 전방 회전 경로, 시작점(600)에서 경로 포인트(602)로의 전방 회전 경로, 시작점(600)에서 경로 포인트(603)로의 전방 회전 경로 등이 존재한다. 따라서, 주어진 최대 전방 회전 각도가 30도일 경우, 5도의 간격으로 곡선 경로(총으로 7개의 곡선 경로)를 생성하고, 각 곡선 경로를 20개의 세그먼트로 구획하는 것으로 가정한다. 이때, 총으로 7×20개의 전방 회전 경로가 생성된다.
유사하게, 현재에 도6b를 참조하면, 유사한 과정을 이용하여 전방 회전 경로 중의 각각의 종점으로부터 예컨대 후방 회전 경로(402A 내지 402N)와 같은 일련의 후방 회전 경로를 생성한다. 즉, 경로 포인트(601 내지 603) 중의 각각에 대해, 예컨대 경로 포인트 중의 각각으로부터 시작되는 후방 회전 경로(402A 내지 402N)와 같은 일련의 후방 회전 경로가 존재한다. 주어진 최대 후방 회전 각도가 40도일 경우, 5도의 간격으로 곡선 경로(총으로 9개의 곡선 경로)를 생성하고, 각 곡선 경로를 20개의 세그먼트로 구획하는 것으로 가정한다. 이때, 총으로 9×20개의 전방 회전 경로가 생성된다. 따라서, 총으로 7Х20Х9Х20 개의 3점 방향 전환 경로 후보가 생성된다.
일 실시예에 의하면, 일련의 3점 방향 전환 경로 후보를 생성할 경우, 각 3점 방향 전환 경로의 종점에서 경로 전진 방향을 확정한다. 각 3점 방향 전환 경로 후보의 전진 방향과 목표 차로의 전진 방향 사이의 차이값을 산출한다. 그의 차이값이 기정의 역치보다 큰 임의의 3점 방향 전환 경로 후보는 모두 감안하지 않는다. 목표 차로의 전진 방향과 비교한 전진 방향의 차이값 및/또는 경로 후보의 경로 길이를 기반으로 나머지 3점 방향 전환 경로 후보의 경로 코스트를 산출한다. 최소의 전진 방향 차이 및/또는 최단의 경로 길이를 기반으로 최종의 3점 방향 전환 경로 후보를 선택한다.
도7은 일 실시예에 따른 3점 방향 전환 경로를 생성하는 과정을 나타내는 흐름도이다. 과정(700)은 처리 로직으로 실행될 수 있으며, 처리 로직은 소프트웨어, 하드웨어 또는 이들의 조합을 포함할 수 있다. 예를 들어, 과정(700)은 계획 모듈(305)에 의해 실행될 수 있다. 도7을 참조하면, 조작(701)에서, 3점 방향 전환을 진행하는 요청에 응답하여, 처리 로직은 ADV에 관련된 최대 전방 회전 각도 및 최대 후방 회전 각도를 확정한다. 조작(702)에서, ADV에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성한다. 조작(703)에서, ADV에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성한다. 조작(704)에서, 처리 로직은 전방 회전 경로 및 대응되는 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성한다. 3점 방향 전환 경로 후보 중의 각각에 대해, 조작(705)에서, 기정의 코스트 함수를 이용하여 경로 코스트를 산출한다. 조작(706)에서, 3점 방향 전환 경로 후보로부터 최저의 경로 코스트를 구비하는 최종의 3점 방향 전환 경로를 선택한다. 선택된 3점 방향 전환 경로는 ADV를 주행시켜 3점 방향 전환을 진행하도록 이용된다.
도8은 일 실시예에 따른 경로 후보의 경로 코스트를 산출하는 과정을 나타내는 흐름도이다. 과정(800)은 조작(705)에 관련된 조작 중의 일부로서 실행될 수 있다. 도8을 참조하면, 조작(801)에서, 경로 후보 중의 각각에 대해, 경로 후보의 종점에서의 전진 방향 및 경로 후보의 경로 길이를 확정한다. 조작(802)에서, 처리 로직은 경로 후보의 전진 방향과 목표 차로의 차로 방향 사이의 차이값을 확정한다. 조작(803)에서, 기정의 역치보다 큰 차이값을 구비하는 임의의 경로 후보는 감안하지 않는다. 조작(804)에서, 전진 방향의 차이값 및 경로 길이를 기반으로, 하나 또는 다수의 규칙의 집합을 이용하여 경로 후보 중의 각각에 경로 코스트를 분배한다.
앞서 도시하고 나타낸 부재 중의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 실시될 수 있음을 유의하여야 한다. 예를 들어, 이러한 부재는 영구 저장 장치에 설치되고 저장된 소프트웨어로 실시될 수 있으며, 상기 소프트웨어는 본 출원의 전반에 설명된 과정 또는 조작을 실시하도록 프로세서(미도시)를 통해 메모리 장치에 로딩되고 메모리 장치에서 실행될 수 있다. 대안으로, 이러한 부재는 주문형 하드웨어(예컨대, 집적 회로(예컨대, 주문형 집적 회로 또는 ASIC), 디지털 신호 프로세서(DSP) 또는 필드 프로그래머블 게이트 어레이(FPGA))에 프로그램되거나 내장되며, 애플리케이션으로부터 상응한 구동 프로그램 및/또는 운영 체제를 통해 액세스될 수 있는 실행 가능한 코드로 실시될 수 있다. 또한, 이러한 부재는 하나 또는 다수의 특정의 명령을 통해 소프트웨어 부재로 액세스 가능한 명령 집합 중의 일부로서, 프로세서 또는 프로세서 코어 중의 특정의 하드웨어 로직으로 실시될 수 있다.
도9는 본 개시의 일 실시예와 함께 이용될 수 있는 데이터 처리 시스템의 예시를 나타내는 블록도이다. 예를 들어, 시스템(1500)은 상술한 과정 또는 방법 중의 임의의 하나를 실행하는 상술한 데이터 처리 시스템 중의 임의의 하나, 예컨대 도1의 감지 및 계획 시스템(110) 또는 서버(103 내지 104) 중의 임의의 하나를 표시할 수 있다. 시스템(1500)은 여러가지 상이한 부재를 포함할 수 있다. 이러한 부재는 집적 회로(IC), 집적 회로의 일부, 이산형 전자 장치 또는 회로 기판(예컨대, 컴퓨터 시스템의 마더 보드 또는 애드 인 카드)에 적용되는 기타의 모듈로 실시될 수 있으며, 또는 기타의 방식으로 컴퓨터 시스템의 섀시 내부에 도입되는 부재로 실시될 수 있다.
또한, 컴퓨터 시스템의 많은 부재의 고차원 도면을 나타내고자 함을 유의하여야 한다. 그러나, 일부의 구현에는 추가적인 부재가 구비될 수 있고, 기타의 구현에는 도시된 부재의 상이한 배치가 구비될 수 있음을 이해하여야 한다. 시스템(1500)은 데스크탑형 컴퓨터, 랩탑형 컴퓨터, 태블릿 PC, 서버, 모바일 폰, 미디어 플레이어, 개인 디지털 보조 장치(PDA), 스마트 워치, 개인용 통신기, 게임기, 네트워크 라우터 또는 허브, 무선 액세스 포인트(AP) 또는 중계 장치, 셋톱 박스 또는 이들의 조합을 표시할 수 있다. 또한, 단 하나의 기계 또는 시스템이 도시되었으나, 용어 "기계" 또는 "시스템"은 본 원에 토론된 임의의 하나 또는 다수의 방법을 실행하도록 독립적으로 또는 공동으로 하나(또는 다수의) 명령 집합을 실행하는 기계 또는 시스템의 임의의 집합을 포함하는 것으로 이해되어야 한다.
일 실시예에 있어서, 시스템(1500)은 버스 또는 인터커넥트(1510)를 통해 연결되는 프로세서(1501), 메모리 장치(1503) 및 장치(1505 내지 1508)를 포함한다. 프로세서(1501)는 단일 프로세서 코어 또는 다중 프로세서 코어를 포함하는 단일 프로세서 또는 다중 프로세서를 표시할 수 있다. 프로세서(1501)는 마이크로 프로세서, 중앙 처리 유닛(CPU) 등과 같은 하나 또는 다수의 범용의 프로세서를 표시할 수 있다. 보다 구체적으로, 프로세서(1501)는 복잡한 명령 집합 컴퓨팅(CISC) 마이크로 프로세서, 축소된 명령 집합 컴퓨팅(RISC) 마이크로 프로세서, 매우 긴 명령어(VLIW) 마이크로 프로세서, 또는 기타의 명령 집합을 실시하는 프로세서, 또는 명령 집합의 조합을 실시하는 프로세서일 수 있다. 프로세서(1501)는 주문형 집적 회로(ASIC), 셀룰러 또는 베이스 밴드 프로세서, 필드 프로그래머블 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서, 그래픽 프로세서, 통신 프로세서, 암호화 프로세서, 코프로세서, 내장형 프로세서, 또는 명령을 처리할 수 있는 임의의 기타 유형의 로직과 같은 하나 또는 다수의 주문형 프로세서일 수도 있다.
초 저전압 프로세서와 같은 저전력 멀티 코어 프로세서 소켓일 수 있는 프로세서(1501)는 상기 시스템의 다양한 부재와 통신하기 위한 메인 프로세스 유닛 및 중앙 허브로서 작동될 수 있다. 이러한 프로세서는 시스템 온 칩(SoC)으로 실시될 수 있다. 프로세서(1501)는 본원에 설명된 조작 및 단계를 실행하기 위한 명령을 실행하도록 구성된다. 시스템(1500)은 표시 장치 제어 장치, 그래픽 프로세서 및/또는 표시 장치를 포함할 수 있는 선택적 그래픽 서브 시스템(1504)과 통신하는 그래픽 인터페이스를 더 포함할 수 있다.
프로세서(1501)는 일 실시예에서 주어진 양의 시스템 메모리를 제공하기 위해 다수의 메모리 장치를 통해 실시될 수 있는 메모리 장치(1503)와 통신할 수 있다. 메모리 장치(1503)는 랜덤 액세스 메모리(RAM), 동적 RAM(DRAM), 동기화 DRAM(SDRAM), 정적 RAM(SRAM) 또는 기타의 유형의 저장 장치와 같은 하나 또는 다수의 휘발성 저장 장치를 포함할 수 있다. 메모리 장치(1503)는 프로세서(1501) 또는 임의의 기타의 장치로 실행되는 명령 시퀀스를 포함하는 정보를 저장할 수 있다. 예를 들어, 다양한 운영 체제, 장치 드라이버, 펌웨어(예컨대, 입출력 기본 시스템 또는 BIOS), 및/또는 애플리케이션의 실행 가능한 코드 및/또는 데이터는 메모리(1503)에 로딩되고, 프로세서(1501)에 의해 실행될 수 있다. 운영 체제는 예컨대 로봇 운영 체제(ROS), Microsoft® 사의 Windows® 운영 체제, Apple 사의 Mac OS®/iOS®, Google® 사의 Android®, LINUX, UNIX, 또는 기타의 실시간 또는 내장형 운영 체제와 같은 임의의 유형의 운영 체제일 수 있다.
시스템(1500)은 네트워크 인터페이스 장치(1505), 선택적 입력 장치(1506) 및 기타의 선택적 IO 장치(1507)를 포함하는 장치(1505 내지 1508)와 같은 IO 장치를 더 포함할 수 있다. 네트워크 인터페이스 장치(1505)는 무선 송수신 장치 및/또는 네트워크 인터페이스 카드(NIC)를 포함할 수 있다. 상기 무선 송수신 장치는 WiFi 송수신 장치, 적외선 송수신 장치, 블루투스 송수신 장치, WiMax 송수신 장치, 무선 셀룰러 폰 송수신 장치, 위성 송수신 장치(예컨대, 글로벌 위치 확인 시스템(GPS) 송수신 장치) 또는 기타의 무선 주파수(RF) 송수신 장치 또는 이들의 조합일 수 있다. NIC는 이더넷 카드일 수 있다.
입력 장치(1506)는 마우스, 터치 패드, (표시 장치(1504)와 통합될 수 있는) 터치 감지 스크린, 스타일러스와 같은 포인터 장치 및/또는 키보드(예컨대, 터치 감지 스크린의 일부로 표시되는 물리적 키보드 또는 가상 키보드)를 포함할 수 있다. 예를 들어, 입력 장치(1506)는 터치 스크린에 결합된 터치 스크린 제어 장치를 포함할 수 있다. 터치 스크린 및 터치 스크린 제어 장치는 예컨대 용량식, 저항식, 적외선 및 표면 탄성파 기술 뿐만 아니라 기타의 근접 센서 어레이 또는 터치 스크린과 접촉하는 하나 또는 다수의 포인트를 확정하기 위한 기타의 요소를 포함하나, 이에 한정되지 않는 다수의 터치 감지 기술 중 임의의 하나를 이용하여 이의 접촉 및 이동 또는 제동을 검출할 수 있다.
IO 장치(1507)는 오디오 장치를 포함할 수 있다. 오디오 장치는 음성 인식, 음성 복제, 디지털 녹음 및/또는 전화 기능과 같은 음성 작동 기능을 촉진시키기 위한 스피커 및/또는 마이크를 포함할 수 있다. 기타의 IO 장치(1507)는 범용 직렬 버스(USB) 포트, 병렬 포트, 직렬 포트, 프린터, 네트워크 인터페이스, 버스 브리지(예컨대, PCI-PCI 브리지) 센서(예컨대, 가속도계, 자이로 스코프, 자력계, 광 센서, 나침반, 근접 센서 등과 같은 모션 센서) 또는 이들의 조합을 포함할 수 있다. 장치(1507)는 사진 및 비디오 클립 녹화하는 것과 같은 카메라 기능을 촉진하도록 이용되는 고체 촬상 소자(CCD) 또는 상보성 금속산화물 반도체(CMOS) 광학 센서와 같은 광학 센서를 포함할 수 있는 이미징 프로세싱 서브 시스템(예컨대, 카메라)를 더 포함할 수 있다. 일부의 센서는 센서 허브(미도시)를 통해 인터커넥트(1510)에 연결될 수 있으나, 키보드 또는 열 센서와 같은 기타의 장치는 시스템(1500)의 특정의 구성 또는 설계에 따라 내장형 제어 장치(미도시)에 의해 제어될 수 있다.
데이터, 애플리케이션, 하나 또는 다수의 운영 체제 등과 같은 정보의 영구 저장을 제공하기 위해, 대용량 저장 장치(미도시)도 프로세서(1501)에 연결될 수 있다. 각종의 실시예에 있어서, 시스템 응답성을 향상시킬 뿐만 아니라 보다 얇고 가벼운 시스템 설계를 가능하게 하기 위해, 이러한 대용량 저장 장치는 고체 상태 장치(SSD)를 통해 실현될 수 있다. 그러나, 기타의 실시예에 있어서, 대용량 저장 장치는, 시스템 활동의 재작동에 있어서 빠른 전원 켜기를 실현할 수 있도록, 파워 다운 이벤트 동안 컨텍스트 상태 및 기타의 이러한 정보의 비 휘발성 저장을 가능하게 하기 위한 SSD 캐시로서 작용하는 보다 적은 양의 SSD 저장 장치를 구비하는 하드 디스크 드라이브(HDD)를 이용하여 주로 실현될 수 있다. 또한, 플래시 장치는 예를 들어 직렬 주변 인터페이스(serial peripheral interface; SPI)를 통해 프로세서 (1501)에 연결될 수 있다. 이러한 플래시 장치는 시스템의 기타의 펌웨어 뿐만 아니라 BIOS를 포함하여 시스템 소프트웨어의 비 휘발성 저장을 제공할 수 있다.
저장 장치(1508)는 본원에 설명된 방법론 또는 기능 중의 임의의 하나 또는 다수를 실시하는 하나 또는 다수의 명령 세트 또는 소프트웨어(예컨대, 모듈, 유닛 및/또는 로직(1528))가 저장된 컴퓨터 액세스 가능한 저장 매체(1509)(기계 판독 가능한 저장 매체 또는 컴퓨터 판독 가능한 매체로도 지칭됨)를 포함할 수 있다. 처리 모듈/유닛/로직(1528)은 예컨대 계획 모듈(305), 제어 모듈(306)과 같은 상술한 부재 중의 임의의 하나를 표시할 수 있다. 처리 모듈/유닛/로직(1528)은 그의 실행 과정에 기계 액세스 가능한 저장 매체를 구성하기도 하는 데이터 처리 시스템(1500), 메모리 장치(1503) 및 프로세서(1501)에 의해 메모리 장치(1503) 및/또는 프로세서(1501) 내에 완전히 또는 적어도 부분적으로 상주될 수 있다. 처리 모듈/유닛/로직(1528)은 네트워크 인터페이스 장치(1505)를 경유하여 네트워크를 통해 송신되거나 수신될 수도 있다.
컴퓨터 판독 가능한 저장 매체(1509)는 전술한 일부의 소프트웨어 기능을 지속적으로 저장하도록 이용될 수도 있다. 컴퓨터 판독 가능한 저장 매체(1509)가 일 예시적인 실시예에서 단일 매체로 도시되었으나, 용어 "컴퓨터 판독 가능한 저장 매체"는 하나 또는 다수의 명령 세트를 저장하는 단일 매체 또는 다중 매체(예컨대, 집중형 또는 분산형 데이터 베이스 및/또는 관련된 캐시 및 서버)를 포함하는 것으로 시인되어야 한다. 용어 "컴퓨터 판독 가능한 저장 매체"는 또한 기계에 의해 실행되고 기계로 본 개시의 방법론 중의 임의의 하나 또는 다수를 실행하도록 하는 명령 세트를 저장하거나 인코딩할 수 있는 임의의 매체를 포함하는 것으로 시인되어야 한다. 따라서, 용어 "컴퓨터 판독 가능한 저장 매체"는 고체 상태 메모리, 광학 및 자기 매체, 또는 임의의 기타 비 일시적 기계 판독 가능한 매체를 포함하나, 이에 한정되지 않는 것으로 시인되어야 한다.
본원에 설명된 처리 모듈/유닛/로직(1528), 부재 및 기타의 특징은 이산형 하드웨어 부재로 실시되거나 ASIC, FPGA, DSP 또는 유사한 장치와 같은 하드웨어 부재의 기능에 통합될 수 있다. 또한, 처리 모듈/유닛/로직(1528)은 하드웨어 장치 내의 펌웨어 또는 기능 회로로 실시될 수 있다. 또한, 처리 모듈/유닛/로직(1528)은 임의의 조합으로 하드웨어 장치 및 소프트웨어 부재로 실현될 수 있다.
시스템(1500)은 데이터 처리 시스템의 다양한 부재로 도시되었으나, 부재를 상호 연결시키는 임의의 특정된 아키텍처 또는 방식을 나타내기 위한 것이 아니며, 이러한 세부 사항들은 본 개시의 실시예에 밀접한 관계가 있는 것이 아님을 유의하여야 한다. 보다 적은 부재 또는 보다 많은 부재를 구비하는 네트워크 컴퓨터, 핸드헬드 컴퓨터, 모바일 폰, 서버 및/또는 기타의 데이터 처리 시스템은 본 개시의 실시예와 함께 이용될 수도 있다.
전술한 상세한 설명의 일부분은 이미 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 알고리즘 및 기호 표현에 관하여 제시되었다. 이러한 알고리즘 설명 및 표현은 데이터 처리 기술 분야의 숙련자가 자신의 연구 내용을 당업자에게 가장 효과적으로 전달하도록 이용되는 방식이다. 여기서, 알고리즘은 일반적으로 원하는 결과를 유도하는 조작의 일관성 있는 시퀀스로 시인된다. 해당 조작은 물리량을 물리적으로 조작하는 것이 요구되는 조작이다.
그러나, 이러한 용어와 유사한 용어 중의 전부는 적절한 물리량과 관련되며 이러한 물리량에 적용되는 편리한 라벨일 뿐임을 염두에 두어야 한다. 상술한 논술로부터 명백한 바와 같이 달리 명시하지 않는 한, 이하의 특허 청구 범위에 기재된 것과 같은 용어를 이용하는 논술은 명세서 전반에 걸쳐 컴퓨터 시스템의 레지스터 및 메모리 장치 내의 물리(전자)량으로 표현되는 데이터에 대해 조작을 진행하고 이를 컴퓨터 시스템 메모리 장치 또는 레지스터 또는 기타의 정보 저장 장치, 송신 장치 또는 표시 장치 내의 물리량으로 유사하게 표현되는 기타의 데이터로 변환시키는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 동작 및 처리를 가리키는 것을 자명할 것이다.
본 개시의 실시예는 본 원의 조작을 실행하기 위한 장치에 관한 것이기도 한다. 이러한 컴퓨터 프로그램은 비 휘발성 컴퓨터 판독 가능한 매체에 저장된다. 기계 판독 가능한 매체는 기계(예컨대, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메카니즘을 포함한다. 예를 들어, 기계 판독 가능한(예를 들어, 컴퓨터 판독 가능한) 매체는 기계(예컨대, 컴퓨터) 판독 가능한 저장 매체(예컨대, 판독 전용 저장 장치("ROM"), 랜덤 액세스 저장 장치("RAM" 저장 매체, 광학 저장 매체, 플래시 장치)를 포함한다.
앞서 도면에 도시된 과정 또는 방법은 하드웨어(예컨대, 회로, 주문형 로직 등), 소프트웨어(예컨대, 비 일시적인 컴퓨터 판독 가능한 매체 상에 구현됨), 또는 이들의 조합을 포함하는 처리 로직으로 실행될 수 있다. 과정 또는 방법은 일부의 순차적인 조작을 감안하여 앞에서 설명되었으나, 기재된 조작 중의 일부는 다른 순서로 실행될 수 있음을 이해하여야 한다. 또한, 일부의 조작은 순차적인 것이 아니라 병렬로 실행될 수 있다.
본 개시의 실시예는 임의의 특정된 프로그래밍 언어를 참조하여 설명되지 않는다. 본원에 설명된 바와 같이 본 개시의 실시예의 교시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있음을 자명할 것이다.
앞서 설명한 명세서에 있어서, 본 개시의 실시예는 특정의 실시예를 참조하여 설명하였다. 아래의 특허 청구 범위에 기재된 본 개시의 보다 넓은 사상 및 범위를 벗어나지 않고서 다양한 변형을 진행할 수 있음을 자명할 것이다. 따라서, 명세서 및 도면은 한정적인 의미가 아니라 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법에 있어서,
    3점 방향 전환에 대한 요청에 응답하여, 상기 자율 주행 차량(ADV)에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계와,
    상기 자율 주행 차량에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성하는 단계와,
    상기 전방 회전 경로 및 상기 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성하는 단계와,
    상기 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수를 이용하여 경로 코스트를 산출하는 단계와,
    상기 자율 주행 차량을 주행시켜 3점 방향 전환을 진행하도록, 상기 3점 방향 전환 경로 후보 중의 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보를 선택하는 단계를 포함하는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 후방 회전 경로 중의 각각은 상기 전방 회전 경로 중의 하나의 종점으로부터 시작되는 것을 특징으로 하는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 3점 경로 후보 중의 각각은, 상기 전방 회전 경로 중의 하나와, 상기 후방 회전 경로 중의 연결되고자 하는 상기 하나의 전방 회전 경로의 종점으로부터 시작되는 후방 회전 경로를 연결시킴으로써 형성되는 것을 특징으로 하는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계는,
    상기 최대 전방 회전 각도를 다수의 전방 회전 각도 후보로 구획하는 단계와,
    상기 전방 회전 각도 후보 중의 각각에 대해, 최대 조향 명령이 적용되는 주행 경로(driving scenario)에 따라, 상기 전방 회전 각도 후보를 기반으로 전방 회전 경로를 생성하기 위한 곡선 경로를 생성하는 단계를 포함하는 것을 특징으로 하는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 곡선 경로를 따라 다수의 포인트를 확정하는 단계와,
    상기 전방 회전 경로 중의 하나를 형성하도록, 상기 곡선 경로를 따라 상기 자율 주행 차량의 현재 위치에서 종점인 상기 포인트들 중의 각각에 연결시키는 단계를 더 포함하는 것을 특징으로 하는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 전방 회전 경로 및 상기 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성하는 단계는,
    상기 3점 방향 전환 경로 후보 중의 각각에 대해, 상기 3점 방향 전환 경로 후보의 종점의 경로 전진 방향을 확정하는 단계와,
    상기 경로 전진 방향과 상기 자율 주행 차량이 3점 방향 전환 이후 회전하여 진입한 목표 차로의 차로 방향 사이의 차이값을 확정하는 단계와,
    상기 차이값이 기정의 역치보다 크면, 상기 3점 방향 전환 경로 후보를 감안하지 않는 단계를 포함하는 것을 특징으로 하는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    기정의 코스트 함수를 이용하여 경로 코스트를 산출하는 단계는,
    상기 3점 방향 전환 경로 후보 중의 각각에 대해, 상기 3점 방향 전환 경로 후보의 종점의 경로 전진 방향을 확정하는 단계와,
    상기 경로 전진 방향과 상기 자율 주행 차량이 3점 방향 전환 이후 회전하여 진입한 목표 차로의 차로 방향 사이의 차이값을 기반으로, 상기 3점 방향 전환 경로 후보의 경로 코스트를 산출하는 단계를 포함하는 것을 특징으로 하는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법.
  8. 제7항에 있어서,
    상기 3점 방향 전환 경로 후보의 시작점에서 종점으로의 경로 길이를 기반으로, 상기 3점 방향 전환 경로 후보의 경로 코스트를 산출하는 단계를 더 포함하는 것을 특징으로 하는 자율 주행 차량을 조작하기 위한 컴퓨터 구현 방법.
  9. 명령이 저장된 비 일시적 기계 판독 가능한 매체에 있어서,
    상기 명령이 프로세서에 의해 실행될 경우 상기 프로세서가 조작을 실행하도록 하며, 상기 조작은,
    3점 방향 전환에 대한 요청에 응답하여, 자율 주행 차량(ADV)에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계와,
    상기 자율 주행 차량에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성하는 단계와,
    상기 전방 회전 경로 및 상기 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성하는 단계와,
    상기 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수를 이용하여 경로 코스트를 산출하는 단계와,
    상기 자율 주행 차량을 주행시켜 3점 방향 전환을 진행하도록, 상기 3점 방향 전환 경로 후보 중의 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보를 선택하는 단계를 포함하는 비 일시적 기계 판독 가능한 매체.
  10. 제9항에 있어서,
    상기 후방 회전 경로 중의 각각은 상기 전방 회전 경로 중의 하나의 종점으로부터 시작되는 것을 특징으로 하는 비 일시적 기계 판독 가능한 매체.
  11. 제9항에 있어서,
    상기 3점 경로 후보 중의 각각은, 상기 전방 회전 경로 중의 하나와, 상기 후방 회전 경로 중의 연결되고자 하는 상기 하나의 전방 회전 경로의 종점으로부터 시작되는 후방 회전 경로를 연결시킴으로써 형성되는 것을 특징으로 하는 비 일시적 기계 판독 가능한 매체.
  12. 제9항에 있어서,
    최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계는,
    상기 최대 전방 회전 각도를 다수의 전방 회전 각도 후보로 구획하는 단계와,
    상기 전방 회전 각도 후보 중의 각각에 대해, 최대 조향 명령이 적용되는 주행 경로에 따라, 상기 전방 회전 각도 후보를 기반으로 전방 회전 경로를 생성하기 위한 곡선 경로를 생성하는 단계를 포함하는 것을 특징으로 하는 비 일시적 기계 판독 가능한 매체.
  13. 제12항에 있어서,
    상기 조작은,
    상기 곡선 경로를 따라 다수의 포인트를 확정하는 단계와,
    상기 전방 회전 경로 중의 하나를 형성하도록, 상기 곡선 경로를 따라 상기 자율 주행 차량의 현재 위치에서 종점인 상기 포인트들 중의 각각에 연결시키는 단계를 더 포함하는 것을 특징으로 하는 비 일시적 기계 판독 가능한 매체.
  14. 제9항에 있어서,
    상기 전방 회전 경로 및 상기 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성하는 단계는,
    상기 3점 방향 전환 경로 후보 중의 각각에 대해, 상기 3점 방향 전환 경로 후보의 종점의 경로 전진 방향을 확정하는 단계와,
    상기 경로 전진 방향과 상기 자율 주행 차량이 3점 방향 전환 이후 회전하여 진입한 목표 차로의 차로 방향 사이의 차이값을 확정하는 단계와,
    상기 차이값이 기정의 역치보다 크면, 상기 3점 방향 전환 경로 후보를 감안하지 않는 단계를 포함하는 것을 특징으로 하는 비 일시적 기계 판독 가능한 매체.
  15. 제9항에 있어서,
    기정의 코스트 함수를 이용하여 경로 코스트를 산출하는 단계는,
    상기 3점 방향 전환 경로 후보 중의 각각에 대해, 상기 3점 방향 전환 경로 후보의 종점의 경로 전진 방향을 확정하는 단계와,
    상기 경로 전진 방향과 상기 자율 주행 차량이 3점 방향 전환 이후 회전하여 진입한 목표 차로의 차로 방향 사이의 차이값을 기반으로, 상기 3점 방향 전환 경로 후보의 경로 코스트를 산출하는 단계를 포함하는 것을 특징으로 하는 비 일시적 기계 판독 가능한 매체.
  16. 제15항에 있어서,
    상기 조작은,
    상기 3점 방향 전환 경로 후보의 시작점에서 종점으로의 경로 길이를 기반으로, 상기 3점 방향 전환 경로 후보의 경로 코스트를 산출하는 단계를 더 포함하는 것을 특징으로 하는 비 일시적 기계 판독 가능한 매체.
  17. 데이터 처리 시스템에 있어서,
    프로세서와,
    상기 프로세서에 결합되어 명령을 저장하기 위한 메모리 장치를 포함하되,
    상기 명령이 상기 프로세서에 의해 실행될 경우 상기 프로세서가 조작을 실행하도록 하고, 상기 조작은,
    3점 방향 전환에 대한 요청에 응답하여, 자율 주행 차량(ADV)에 관련된 최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계와,
    상기 자율 주행 차량에 관련된 최대 후방 회전 각도를 기반으로 일련의 후방 회전 경로를 생성하는 단계와,
    상기 전방 회전 경로 및 상기 후방 회전 경로를 기반으로 일련의 3점 방향 전환 경로 후보를 생성하는 단계와,
    상기 3점 방향 전환 경로 후보 중의 각각에 대해, 기정의 코스트 함수를 이용하여 경로 코스트를 산출하는 단계와,
    상기 자율 주행 차량을 주행시켜 3점 방향 전환을 진행하도록, 상기 3점 방향 전환 경로 후보 중의 최저의 경로 코스트를 구비하는 3점 방향 전환 경로 후보를 선택하는 단계를 포함하는 데이터 처리 시스템.
  18. 제17항에 있어서,
    상기 후방 회전 경로 중의 각각은 상기 전방 회전 경로 중의 하나의 종점으로부터 시작되는 것을 특징으로 하는 데이터 처리 시스템.
  19. 제17항에 있어서,
    상기 3점 경로 후보 중의 각각은, 상기 전방 회전 경로 중의 하나와 상기 후방 회전 경로 중의 연결되고자 하는 상기 하나의 전방 회전 경로의 종점으로부터 시작되는 후방 회전 경로를 연결시킴으로써 형성되는 것을 특징으로 하는 데이터 처리 시스템.
  20. 제17항에 있어서,
    최대 전방 회전 각도를 기반으로 일련의 전방 회전 경로를 생성하는 단계는,
    상기 최대 전방 회전 각도를 다수의 전방 회전 각도 후보로 구획하는 단계와,
    상기 전방 회전 각도 후보 중의 각각에 대해, 최대 조향 명령이 적용되는 주행 경로에 따라, 상기 전방 회전 각도 후보를 기반으로 전방 회전 경로를 생성하기 위한 곡선 경로를 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 시스템.
KR1020197024685A 2018-09-28 2018-09-28 에뮬레이션 기반의 자율 주행 차량의 3점 방향 전환 계획 Expired - Fee Related KR102223347B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/108354 WO2020062029A1 (en) 2018-09-28 2018-09-28 Enumeration-based three-point turn planning for autonomous driving vehicles

Publications (2)

Publication Number Publication Date
KR20200037123A true KR20200037123A (ko) 2020-04-08
KR102223347B1 KR102223347B1 (ko) 2021-03-04

Family

ID=69953251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197024685A Expired - Fee Related KR102223347B1 (ko) 2018-09-28 2018-09-28 에뮬레이션 기반의 자율 주행 차량의 3점 방향 전환 계획

Country Status (5)

Country Link
US (1) US11247700B2 (ko)
EP (1) EP3655837B1 (ko)
JP (1) JP6892516B2 (ko)
KR (1) KR102223347B1 (ko)
WO (1) WO2020062029A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11578510B2 (en) * 2019-07-26 2023-02-14 Toyota Motor Engineering & Manufacturing North America, Inc. Actuator apparatus and related methods for use with vehicle locks
KR102859893B1 (ko) * 2019-09-09 2025-09-16 현대자동차주식회사 자율 주행 제어 장치 및 그 방법
JP7610340B2 (ja) * 2020-02-19 2025-01-08 エヌビディア コーポレーション プロセッサおよび自律マシンの軌道を選択することをプロセッサによって実行する方法
US12415538B2 (en) * 2022-01-14 2025-09-16 Aurora Operations, Inc. Systems and methods for pareto domination-based learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870303A (en) * 1987-11-20 1999-02-09 Philips Electronics North America Corporation Method and apparatus for controlling maneuvers of a vehicle
JP2006190237A (ja) * 2004-12-10 2006-07-20 Toyota Motor Corp 方向転換支援システム
JP2017124660A (ja) * 2016-01-12 2017-07-20 三菱重工業株式会社 駐車支援システム、駐車支援方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3619753B2 (ja) * 2000-07-03 2005-02-16 トヨタ自動車株式会社 移動体の後方視界表示装置
US10331136B2 (en) * 2006-02-27 2019-06-25 Perrone Robotics, Inc. General purpose robotics operating system with unmanned and autonomous vehicle extensions
DE102009039691B4 (de) * 2009-05-19 2025-02-06 Volkswagen Ag Verfahren und Vorrichtung zum Einparken eines Kraftfahrzeugs
CN103335658B (zh) * 2013-06-19 2016-09-14 华南农业大学 一种基于弧线路径生成的自主车辆避障方法
AT514588B1 (de) * 2013-08-29 2015-02-15 Univ Wien Tech Verfahren zur Steuerung eines Fahrzeuges
US10139826B2 (en) * 2015-04-24 2018-11-27 Autonomous Solutions Inc. Apparatus and method for controlling a vehicle
JP6523110B2 (ja) * 2015-09-10 2019-05-29 クラリオン株式会社 駐車経路設定装置及び駐車経路設定方法
CN105573323A (zh) * 2016-01-12 2016-05-11 福州华鹰重工机械有限公司 自动驾驶轨迹生成方法及装置
US9645577B1 (en) * 2016-03-23 2017-05-09 nuTonomy Inc. Facilitating vehicle driving and self-driving

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870303A (en) * 1987-11-20 1999-02-09 Philips Electronics North America Corporation Method and apparatus for controlling maneuvers of a vehicle
JP2006190237A (ja) * 2004-12-10 2006-07-20 Toyota Motor Corp 方向転換支援システム
JP2017124660A (ja) * 2016-01-12 2017-07-20 三菱重工業株式会社 駐車支援システム、駐車支援方法及びプログラム

Also Published As

Publication number Publication date
US20210221397A1 (en) 2021-07-22
EP3655837A1 (en) 2020-05-27
JP2021502915A (ja) 2021-02-04
EP3655837B1 (en) 2021-01-13
KR102223347B1 (ko) 2021-03-04
EP3655837A4 (en) 2020-05-27
JP6892516B2 (ja) 2021-06-23
WO2020062029A1 (en) 2020-04-02
CN111801638A (zh) 2020-10-20
US11247700B2 (en) 2022-02-15

Similar Documents

Publication Publication Date Title
KR102223270B1 (ko) 여분의 초음파 radar를 구비한 자율 주행 차량
CN111076732B (zh) 基于车辆行驶的轨迹标记和生成高清地图的标记方案
JP7050025B2 (ja) 自動運転車両のための計画運転感知システム
KR102354615B1 (ko) 자율 주행 차량의 저속 정경을 위한 보행자 상호 작용 시스템
US11180160B2 (en) Spiral curve based vertical parking planner system for autonomous driving vehicles
CN110621541B (zh) 用于生成轨迹以操作自动驾驶车辆的方法和系统
CN111856923A (zh) 加速对复杂驾驶场景的规划的参数学习的神经网络方法
KR20200037737A (ko) 자율 주행 차량을 위한 보행자 확률 예측 시스템
CN111328313B (zh) 用于自动驾驶车辆的控制占主导的三点转弯规划
CN111649751B (zh) 一种用于参考线平滑的超自由缝合方法
CN111328385B (zh) 用于自动驾驶车辆的基于螺旋路径的三点转弯规划
KR102223347B1 (ko) 에뮬레이션 기반의 자율 주행 차량의 3점 방향 전환 계획
US10788839B2 (en) Planning-control collaboration design for low cost autonomous driving technology
CN111684379B (zh) 自动驾驶车辆的三点转弯的最优规划器切换方法
US11360483B2 (en) Method and system for generating reference lines for autonomous driving vehicles
CN111801638B (zh) 基于枚举的自动驾驶车辆的三点转弯规划

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20250227

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

H13 Ip right lapsed

Free format text: ST27 STATUS EVENT CODE: N-4-6-H10-H13-OTH-PC1903 (AS PROVIDED BY THE NATIONAL OFFICE); TERMINATION CATEGORY : DEFAULT_OF_REGISTRATION_FEE

Effective date: 20250227

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20250227