KR20230106475A - 차량 제어 및 자율 주행 운전을 위한 센서 데이터를 보강하는 차량 상태 추정 - Google Patents

차량 제어 및 자율 주행 운전을 위한 센서 데이터를 보강하는 차량 상태 추정 Download PDF

Info

Publication number
KR20230106475A
KR20230106475A KR1020220022493A KR20220022493A KR20230106475A KR 20230106475 A KR20230106475 A KR 20230106475A KR 1020220022493 A KR1020220022493 A KR 1020220022493A KR 20220022493 A KR20220022493 A KR 20220022493A KR 20230106475 A KR20230106475 A KR 20230106475A
Authority
KR
South Korea
Prior art keywords
vehicle
sensor data
cornering stiffness
value
processor
Prior art date
Application number
KR1020220022493A
Other languages
English (en)
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 KR20230106475A publication Critical patent/KR20230106475A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/02Control of vehicle driving stability
    • B60W30/045Improving turning performance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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/18145Cornering
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • 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/101Side slip angle of tyre
    • 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/112Roll movement
    • 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/114Yaw movement
    • 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
    • B60W50/0097Predicting future conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • 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
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • B60W2050/0031Mathematical model of the vehicle
    • B60W2050/0033Single-track, 2D vehicle model, i.e. two-wheel bicycle model
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0052Filtering, filters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • 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/20Steering systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/12Lateral speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/12Lateral speed
    • B60W2520/125Lateral acceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/18Roll
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/20Sideslip angle
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/18Steering angle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • 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/109Lateral acceleration

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

센서 데이터에 기초한 차량 상태 추정을 위한 방법들이 제공되며, 이 방법들은 하나 이상의 센서에 의해 생성되는 센서 데이터를 수신하는 단계, 차량과 연관된 코너링 강성 값을 계산하는 단계, 코너링 강성 값에 기초하여 차량과 연관된 횡방향 속도 값을 예측하는 단계, 및 적어도 횡방향 속도 값을 재귀 필터에 입력하는 것에 의해 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 출력하는 단계를 포함할 수 있다. 설명된 일부 방법들은 차량 상태 변수 세트에 기초하여 코너링 강성 값을 업데이트하는 단계, 업데이트된 코너링 강성 값에 기초하여 횡방향 속도 값을 업데이트하는 단계, 및 업데이트된 횡방향 속도 값에 기초하여 차량 상태 변수 세트를 업데이트하는 단계를 또한 포함한다. 시스템들 및 컴퓨터 프로그램 제품들이 또한 제공된다.

Description

차량 제어 및 자율 주행 운전을 위한 센서 데이터를 보강하는 차량 상태 추정{VEHICLE STATE ESTIMATION AUGMENTING SENSOR DATA FOR VEHICLE CONTROL AND AUTONOMOUS DRIVING}
자가 운전 차량(self-driving vehicle)은, 스스로를 적절하게 제어할 수 있도록, 가속도 및 속도와 같은, 현재 차량 상태를 결정하거나 추정할 수 있어야 한다. 그렇지만, 그러한 차량은 비용, 복잡도, 중량 등을 포함한 다양한 이유들로 제한된 수의 센서들만을 포함할 수 있다. 따라서, 이러한 자가 운전 차량의 현재 차량 상태를 정확하게 결정하거나 추정하는 것이 어려울 수 있다.
도 1은 자율 주행 시스템(autonomous system)의 하나 이상의 컴포넌트를 포함하는 차량이 구현될 수 있는 예시적인 환경이다.
도 2는 자율 주행 시스템을 포함하는 차량의 하나 이상의 시스템의 다이어그램이다.
도 3은 도 1 및 도 2의 하나 이상의 디바이스 및/또는 하나 이상의 시스템의 컴포넌트들의 다이어그램이다.
도 4는 자율 주행 시스템의 특정 컴포넌트들의 다이어그램이다.
도 5a는 신호 프로세싱 시스템의 예를 예시하는 블록 다이어그램이다.
도 5b는 도 5a의 신호 프로세싱 시스템을 예시하는 보다 상세한 블록 다이어그램이다.
도 6a는 차량 상태 추정에 사용되는 신호 규약(signal convention)의 예의 예시이다.
도 6b는 종방향 속도 예측에 사용되는 신호 규약의 예의 예시이다.
도 6c는 코너링 강성(cornering stiffness) 추정에 사용되는 신호 규약의 예의 예시이다.
도 7은 신호 프로세싱 동작의 예를 예시하는 데이터 흐름 다이어그램이다.
도 8은 센서 데이터에 기초한 차량 상태 추정을 위한 프로세스의 플로차트이다.
이하의 설명에서는, 설명 목적으로 본 개시에 대한 완전한 이해를 제공하기 위해 다수의 특정 세부 사항들이 제시된다. 그렇지만, 본 개시에 의해 기술되는 실시예들이 이러한 특정 세부 사항들이 없더라도 실시될 수 있음이 명백할 것이다. 일부 경우에, 본 개시의 양태들을 불필요하게 모호하게 하는 것을 피하기 위해 잘 알려진 구조들 및 디바이스들은 블록 다이어그램 형태로 예시되어 있다.
시스템들, 디바이스들, 모듈들, 명령어 블록들, 데이터 요소들 등을 나타내는 것들과 같은, 개략적인 요소들의 특정 배열들 또는 순서들이 설명의 편의를 위해 도면들에 예시되어 있다. 그렇지만, 본 기술 분야의 통상의 기술자라면 도면들에서의 개략적인 요소들의 특정 순서 또는 배열이, 그러한 것으로 명시적으로 기술되지 않는 한, 프로세스들의 특정 프로세싱 순서 또는 시퀀스, 또는 프로세스들의 분리가 필요하다는 것을 암시하는 것으로 의미되지 않음을 이해할 것이다. 게다가, 도면에 개략적인 요소를 포함시키는 것은, 그러한 것으로 명시적으로 기술되지 않는 한 일부 실시예들에서, 그러한 요소가 모든 실시예들에서 필요하다는 것 또는 그러한 요소에 의해 표현되는 특징들이 다른 요소들에 포함되지 않을 수 있거나 다른 요소들과 결합되지 않을 수 있다는 것을 암시하는 것으로 의미되지 않는다.
게다가, 2 개 이상의 다른 개략적인 요소 사이의 연결, 관계 또는 연관을 예시하기 위해 실선 또는 파선 또는 화살표와 같은 연결 요소들이 도면들에서 사용되는 경우에, 임의의 그러한 연결 요소들의 부재는 연결, 관계 또는 연관이 존재할 수 없음을 암시하는 것으로 의미되지 않는다. 환언하면, 본 개시를 모호하게 하지 않기 위해 요소들 사이의 일부 연결들, 관계들 또는 연관들이 도면들에 예시되어 있지 않다. 추가적으로, 예시의 편의를 위해, 요소들 사이의 다수의 연결들, 관계들 또는 연관들을 나타내기 위해 단일의 연결 요소가 사용될 수 있다. 예를 들어, 연결 요소가 신호들, 데이터 또는 명령어들(예를 들면, "소프트웨어 명령어들")의 통신을 나타내는 경우에, 본 기술 분야의 통상의 기술자라면 그러한 요소가, 통신을 수행하기 위해 필요하게 될 수 있는, 하나 또는 다수의 신호 경로(예를 들면, 버스)를 나타낼 수 있다는 것을 이해할 것이다.
제1, 제2, 제3 등의 용어들이 다양한 컴포넌트들을 기술하는 데 사용되지만, 이러한 요소들이 이러한 용어들에 의해 제한되어서는 안된다. 제1, 제2, 제3 등의 용어들은 하나의 요소를 다른 요소와 구별하는 데만 사용된다. 예를 들어, 기술된 실시예들의 범위를 벗어나지 않으면서, 제1 접촉은 제2 접촉이라고 지칭될 수 있고, 유사하게 제2 접촉은 제1 접촉이라고 지칭될 수 있다. 제1 접촉과 제2 접촉은 양쪽 모두 접촉이지만, 동일한 접촉은 아니다.
본원에서의 다양한 기술된 실시예들에 대한 설명에서 사용되는 전문용어는 특정 실시예들을 기술하기 위해서만 포함되어 있으며, 제한하는 것으로 의도되지 않는다. 다양한 기술된 실시예들에 대한 설명 및 첨부된 청구항들에서 사용되는 바와 같이, 단수 형태들("a", "an" 및 "the")은 복수 형태들도 포함하는 것으로 의도되고, 문맥이 달리 명확히 나타내지 않는 한, "하나 이상" 또는 "적어도 하나"와 상호 교환 가능하게 사용될 수 있다. "및/또는"이라는 용어가, 본원에서 사용되는 바와 같이, 연관된 열거된 항목들 중 하나 이상의 항목의 임의의 및 모든 가능한 조합들을 지칭하고 포괄한다는 것이 또한 이해될 것이다. "포함한다(includes)", 포함하는(including), 포함한다(comprises)" 및/또는 "포함하는(comprising)"이라는 용어들이, 본 설명에서 사용될 때, 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 명시하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해될 것이다.
본원에서 사용되는 바와 같이, "통신" 및 "통신하다"라는 용어들은 정보(또는, 예를 들어, 데이터, 신호들, 메시지들, 명령어들, 커맨드들 등에 의해 표현되는 정보)의 수신, 접수, 송신, 전달, 제공 등 중 적어도 하나를 지칭한다. 하나의 유닛(예를 들면, 디바이스, 시스템, 디바이스 또는 시스템의 컴포넌트, 이들의 조합들 등)이 다른 유닛과 통신한다는 것은 하나의 유닛이 직접 또는 간접적으로 다른 유닛으로부터 정보를 수신하고/하거나 다른 유닛으로 정보를 전송(예를 들면, 송신)할 수 있음을 의미한다. 이것은 본질적으로 유선 및/또는 무선인 직접 또는 간접 연결을 지칭할 수 있다. 추가적으로, 송신되는 정보가 제1 유닛과 제2 유닛 사이에서 수정, 프로세싱, 중계 및/또는 라우팅될 수 있을지라도 2 개의 유닛은 서로 통신하고 있을 수 있다. 예를 들어, 제1 유닛이 정보를 수동적으로 수신하고 정보를 제2 유닛으로 능동적으로 송신하지 않을지라도 제1 유닛은 제2 유닛과 통신하고 있을 수 있다. 다른 예로서, 적어도 하나의 중간 유닛(예를 들면, 제1 유닛과 제2 유닛 사이에 위치하는 제3 유닛)이 제1 유닛으로부터 수신되는 정보를 프로세싱하고 프로세싱된 정보를 제2 유닛으로 송신하는 경우 제1 유닛은 제2 유닛과 통신하고 있을 수 있다. 일부 실시예들에서, 메시지는 데이터를 포함하는 네트워크 패킷(예를 들면, 데이터 패킷 등)을 지칭할 수 있다.
본원에서 사용되는 바와 같이, "~ 경우"라는 용어는, 선택적으로, 문맥에 따라 "~할 때", 또는 "~시에" 또는 "~라고 결정하는 것에 응답하여", "~을 검출하는 것에 응답하여" 등을 의미하는 것으로 해석된다. 유사하게, 문구 "~라고 결정되는 경우" 또는 "[언급된 조건 또는 이벤트]가 검출되는 경우"는, 선택적으로, 문맥에 따라, "~라고 결정할 시에", "~라고 결정하는 것에 응답하여", "[언급된 조건 또는 이벤트]를 검출할 시에", "[언급된 조건 또는 이벤트]를 검출하는 것에 응답하여" 등을 의미하는 것으로 해석된다. 또한, 본원에서 사용되는 바와 같이, "갖는다"(has, have), "갖는(having)" 등의 용어들은 개방형(open-ended) 용어들인 것으로 의도된다. 게다가, 문구 "~에 기초하여"는, 달리 명시적으로 언급되지 않는 한, "~에 적어도 부분적으로 기초하여"를 의미하는 것으로 의도된다.
그 예가 첨부 도면들에 예시되어 있는 실시예들에 대해 이제 상세하게 언급될 것이다. 이하의 상세한 설명에서, 다양한 기술된 실시예들에 대한 완전한 이해를 제공하기 위해 수많은 특정 세부 사항들이 기재된다. 그렇지만, 다양한 기술된 실시예들이 이러한 특정 세부 사항들이 없더라도 실시될 수 있다는 것이 본 기술 분야의 통상의 기술자에게 명백할 것이다. 다른 경우에, 실시예들의 양태들을 불필요하게 모호하게 하지 않기 위해 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은 상세하게 기술되지 않았다.
일반적 개관
일부 양태들 및/또는 실시예들에서, 본원에 기술된 시스템들, 방법들, 및 컴퓨터 프로그램 제품들은 차량 상에 제공되는 하나 이상의 센서에 의해 생성되는 센서 데이터를 수신하는 신호 프로세싱 시스템을 포함하고/하거나 구현한다. 센서 데이터는 차량의 횡방향 속도를 예측하는 데 사용될 수 있는 코너링 강성 값들(예를 들면, 아래에서 보다 상세히 기술되는 바와 같이, 차량이 코너링할 때 타이어의 형상의 변형에 저항하는 타이어의 능력, 또는 보다 구체적으로, 횡력(lateral force) 대 타이어 사이드 슬립각(tire side-slip angle)에 대한 곡선의 기울기)과 같은 특정 파라미터들을 계산하기 위해 신호 프로세싱 시스템에 의해 사용될 수 있다. 계산된 파라미터들을 사용하여, 신호 프로세싱 시스템은 차량의 횡방향 속도를 예측할 수 있고 예측된 횡방향 속도 값을 재귀 필터(recursive filter)(예를 들면, 차량의 운동학적 모델을 표현하는 칼만 필터)에 입력하는 것에 의해 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 출력할 수 있다.
본원에 기술된 시스템들, 방법들 및 컴퓨터 프로그램 제품들의 구현에 의해, 본 개시의 실시예들에 따른 센서 데이터에 기초한 차량 상태 추정을 위한 기술들은 자율 주행 차량들 또는 다른 소비자 차량들에 대해 엄청난 비용이 들 수 있는 고정밀 GPS 센서들 또는 다른 센서들을 사용하지 않고 정확한 차량 상태 추정이 수행될 수 있게 한다. 이러한 기술들은 고가의 GPS 센서들을 사용할 필요가 없는 것으로 인해 제조 비용을 낮추면서 다양한 차량 동역학 상태 변수들의 예측 및 추정의 정확도를 개선시킬 수 있다. 그렇게 하는 것에 의해, 본 개시에서 기술되는 시스템은 예측 시스템(예를 들면, 차량과 연관된 예측을 결정하도록 구성됨), 계획 시스템(예를 들면, 차량과 연관된 루트를 생성하도록 구성됨), 제어 시스템(예를 들면, 차량과 연관된 이동 또는 다른 동작들을 제어함) 등과 같은 AV 스택 내의 다른 계층들의 성능의 개선을 달성할 수 있다.
본 개시를 바탕으로 본 기술 분야의 통상의 기술자에 의해 이해될 것인 바와 같이, 본 명세서에 개시된 실시예들은 고가의 GPS 센서들을 사용할 필요 없이 다양한 차량 동역학 상태 변수들을 보다 정확하게 예측 및 추정하기 위한 메커니즘들을 제공하는 자동차 시스템들 및 다른 비자동차 시스템들의 능력을 개선시킨다. 횡방향 속도와 같은 차량 동역학 상태 변수들을 정확하게 결정하기 위한 종래의 기술들은 고가이고 복잡한 GPS 센서들을 활용하는 것을 수반하였다. 그렇지만, 위에서 논의된 바와 같이, 그러한 접근법들은 자동차들 또는 다른 소비자 차량들에 대해 엄청나게 고가이고 복잡할 수 있다.
대조적으로, 본 개시의 실시예들은, 고가의 GPS 센서들을 사용하지 않고, 차량 상태 변수들의 정확한 예측 및 추정을 수행하기 위해 차량 시스템들에 전형적으로 포함되는 IMU 및 다른 센서들을 활용한다. 그렇게 하는 것에 의해, 본원에 기술된 차량 상태 추정 기술들은, 제조 비용과 복잡도를 낮추면서, 자율 주행 차량 시스템들 및 일반 차량 시스템들의 성능을 개선시킬 수 있다.
따라서 현재 개시된 실시예들은, 제조 비용을 증가시키지 않으면서 보다 정확한 차량 상태 변수들을 예측 및 추정하는 것과 같은, 자율 주행 차량 시스템들 내에 내재된 기술적 과제들을 해결한다. 이러한 기술적 문제들은, 타이어 코너링 강성 값들을 사용하여 횡방향 속도들을 예측하는 것, 타이어 코너링 강성 값들을 업데이트하는 것, 및 업데이트된 타이어 코너링 강성 값들을 횡방향 속도 예측 프로세스에 다시 공급하여 업데이트된 횡방향 속도 예측들을 계산하는 것을 포함하여, 본원에 기술된 다양한 기술적 해결책들에 의해 해결된다. 따라서, 본 개시는 기존의 자율 주행 차량 시스템들 및 일반 차량 시스템들에 대한 개선을 나타낸다.
자율 주행 시스템들을 갖는 차량들에 대한 예시적인 환경
이제 도 1을 참조하면, 자율 주행 시스템들을 포함하는 차량들은 물론 그렇지 않은 차량들이 작동되는 예시적인 환경(100)이 예시되어 있다. 예시된 바와 같이, 환경(100)은 차량들(102a 내지 102n), 대상체들(104a 내지 104n), 루트들(106a 내지 106n), 구역(108), 차량 대 인프라스트럭처(vehicle-to-infrastructure, V2I) 디바이스(110), 네트워크(112), 원격 자율 주행 차량(AV) 시스템(114), 플릿 관리 시스템(fleet management system)(116), 및 V2I 시스템(118)을 포함한다. 차량들(102a 내지 102n), 차량 대 인프라스트럭처(V2I) 디바이스(110), 네트워크(112), 자율 주행 차량(AV) 시스템(114), 플릿 관리 시스템(116), 및 V2I 시스템(118)은 유선 연결들, 무선 연결들, 또는 유선 또는 무선 연결들의 조합을 통해 상호연결한다(예를 들면, 통신 등을 위해 연결을 확립한다). 일부 실시예들에서, 대상체들(104a 내지 104n)은 유선 연결들, 무선 연결들 또는 유선 또는 무선 연결들의 조합을 통해 차량들(102a 내지 102n), 차량 대 인프라스트럭처(V2I) 디바이스(110), 네트워크(112), 자율 주행 차량(AV) 시스템(114), 플릿 관리 시스템(116), 및 V2I 시스템(118) 중 적어도 하나와 상호연결한다.
차량들(102a 내지 102n)(개별적으로 차량(102)이라고 지칭되고 집합적으로 차량들(102)이라고 지칭됨)은 상품 및/또는 사람을 운송하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 실시예들에서, 차량들(102)은 네트워크(112)를 통해 V2I 디바이스(110), 원격 AV 시스템(114), 플릿 관리 시스템(116), 및/또는 V2I 시스템(118)과 통신하도록 구성된다. 일부 실시예들에서, 차량들(102)은 자동차들, 버스들, 트럭들, 기차들 등을 포함한다. 일부 실시예들에서, 차량들(102)은 본원에 기술된 차량들(200)(도 2 참조)과 동일하거나 유사하다. 일부 실시예들에서, 일단의 차량들(200) 중의 한 차량(200)은 자율 주행 플릿 관리자와 연관된다. 일부 실시예들에서, 차량들(102)은, 본원에 기술된 바와 같이, 각자의 루트들(106a 내지 106n)(개별적으로 루트(106)라고 지칭되고 집합적으로 루트들(106)이라고 지칭됨)을 따라 주행한다. 일부 실시예들에서, 하나 이상의 차량(102)은 자율 주행 시스템(예를 들면, 자율 주행 시스템(202)과 동일하거나 유사한 자율 주행 시스템)을 포함한다.
대상체들(104a 내지 104n)(개별적으로 대상체(104)라고 지칭되고 집합적으로 대상체들(104)이라고 지칭됨)은, 예를 들어, 적어도 하나의 차량, 적어도 하나의 보행자, 적어도 하나의 자전거 타는 사람, 적어도 하나의 구조물(예를 들면, 건물, 표지판, 소화전(fire hydrant) 등) 등을 포함한다. 각각의 대상체(104)는 정지해(예를 들면, 일정 시간 기간 동안 고정 위치에 위치함) 있거나 움직이고(예를 들면, 속도를 가지며 적어도 하나의 궤적과 연관되어 있음) 있다. 일부 실시예들에서, 대상체들(104)은 구역(108) 내의 대응하는 위치들과 연관되어 있다.
루트들(106a 내지 106n)(개별적으로 루트(106)라고 지칭되고 집합적으로 루트들(106)이라고 지칭됨)은 각각 AV가 운행할 수 있는 상태들을 연결하는 행동들의 시퀀스(궤적이라고도 함)와 연관된다(예를 들면, 이를 규정한다). 각각의 루트(106)는 초기 상태(예를 들면, 제1 시공간적 위치, 속도 등에 대응하는 상태) 및 최종 목표 상태(예를 들면, 제1 시공간적 위치와 상이한 제2 시공간적 위치에 대응하는 상태) 또는 목표 영역(예를 들면, 허용 가능한 상태들(예를 들면, 종료 상태들(terminal states))의 부분 공간(subspace))에서 시작된다. 일부 실시예들에서, 제1 상태 또는 영역(예컨대, 초기 상태)은 개인 또는 개인들이 AV에 의해 픽업(pick-up)되어야 하는 위치를 포함하고 제2 상태 또는 영역(예를 들면, 최종 목표 상태)은 AV에 의해 픽업된 개인 또는 개인들이 하차(drop-off)해야 하는 위치 또는 위치들을 포함한다. 일부 실시예들에서, 루트들(106)은 복수의 허용 가능한 상태 시퀀스들(예를 들면, 복수의 시공간적 위치 시퀀스들)을 포함하며, 복수의 상태 시퀀스들은 복수의 궤적들과 연관된다(예를 들면, 이를 정의한다). 일 예에서, 루트들(106)은, 도로 교차로들에서의 회전 방향들을 지시하는 일련의 연결된 도로들과 같은, 상위 레벨 행동들 또는 부정확한 상태 위치들만을 포함한다. 추가적으로 또는 대안적으로, 루트들(106)은, 예를 들어, 특정 목표 차선들 또는 차선 구역들 내에서의 정확한 위치들 및 해당 위치들에서의 목표 속력과 같은, 보다 정확한 행동들 또는 상태들을 포함할 수 있다. 일 예에서, 루트들(106)은 중간 목표들에 도달하기 위해 제한된 룩어헤드 구간(lookahead horizon)을 갖는 적어도 하나의 상위 레벨 행동 시퀀스를 따른 복수의 정확한 상태 시퀀스들을 포함하며, 여기서 제한된 구간 상태 시퀀스들의 연속적인 반복들의 조합은 누적되어 복수의 궤적들에 대응하며 이 복수의 궤적들은 집합적으로 최종 목표 상태 또는 영역에서 종료하는 상위 레벨 루트를 형성한다.
구역(108)은 차량들(102)이 운행할 수 있는 물리적 구역(예를 들면, 지리적 영역)을 포함한다. 일 예에서, 구역(108)은 적어도 하나의 주(state)(예를 들면, 국가, 지방, 국가에 포함된 복수의 주들의 개개의 주 등), 주의 적어도 하나의 부분, 적어도 하나의 도시, 도시의 적어도 하나의 부분 등을 포함한다. 일부 실시예들에서, 구역(108)은 간선 도로, 주간 간선 도로, 공원 도로, 도시 거리 등과 같은 적어도 하나의 명명된 주요 도로(thoroughfare)(본원에서 "도로"라고 지칭됨)를 포함한다. 추가적으로 또는 대안적으로, 일부 예들에서, 구역(108)은 진입로(driveway), 주차장의 섹션, 공터 및/또는 미개발 부지의 섹션, 비포장 경로 등과 같은 적어도 하나의 명명되지 않은 도로를 포함한다. 일부 실시예들에서, 도로는 적어도 하나의 차선(예를 들면, 차량들(102)에 의해 횡단될 수 있는 도로의 일 부분)을 포함한다. 일 예에서, 도로는 적어도 하나의 차선 마킹과 연관된(예를 들면, 이에 기초하여 식별되는) 적어도 하나의 차선을 포함한다.
차량 대 인프라스트럭처(V2I) 디바이스(110)(때때로 차량 대 사물(Vehicle-to-Everything, V2X) 디바이스라고 지칭됨)는 차량들(102) 및/또는 V2I 인프라스트럭처 시스템(118)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 실시예들에서, V2I 디바이스(110)는 네트워크(112)를 통해 차량들(102), 원격 AV 시스템(114), 플릿 관리 시스템(116), 및/또는 V2I 시스템(118)과 통신하도록 구성된다. 일부 실시예들에서, V2I 디바이스(110)는 RFID(radio frequency identification) 디바이스, 사이니지(signage), 카메라(예를 들면, 2차원(2D) 및/또는 3차원(3D) 카메라), 차선 마커, 가로등, 주차 미터기 등을 포함한다. 일부 실시예들에서, V2I 디바이스(110)는 차량들(102)과 직접 통신하도록 구성된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, V2I 디바이스(110)는 V2I 시스템(118)을 통해 차량들(102), 원격 AV 시스템(114), 및/또는 플릿 관리 시스템(116)과 통신하도록 구성된다. 일부 실시예들에서, V2I 디바이스(110)는 네트워크(112)를 통해 V2I 시스템(118)과 통신하도록 구성된다.
네트워크(112)는 하나 이상의 유선 및/또는 무선 네트워크를 포함한다. 일 예에서, 네트워크(112)는 셀룰러 네트워크(예를 들면, LTE(long term evolution) 네트워크, 3G(third generation) 네트워크, 4G(fourth generation) 네트워크, 5G(fifth generation) 네트워크, CDMA(code division multiple access) 네트워크 등), PLMN(public land mobile network), LAN(local area network), WAN(wide area network), MAN(metropolitan area network), 전화 네트워크(예를 들면, PSTN(public switched telephone network)), 사설 네트워크, 애드혹 네트워크, 인트라넷, 인터넷, 광섬유 기반 네트워크, 클라우드 컴퓨팅 네트워크 등, 이러한 네트워크들의 일부 또는 전부의 조합 등을 포함한다.
원격 AV 시스템(114)은 네트워크(112)를 통해 차량들(102), V2I 디바이스(110), 네트워크(112), 원격 AV 시스템(114), 플릿 관리 시스템(116), 및/또는 V2I 시스템(118)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일 예에서, 원격 AV 시스템(114)은 서버, 서버들의 그룹, 및/또는 다른 유사한 디바이스들을 포함한다. 일부 실시예들에서, 원격 AV 시스템(114)은 플릿 관리 시스템(116)과 동일 위치에 배치된다(co-located). 일부 실시예들에서, 원격 AV 시스템(114)은 자율 주행 시스템, 자율 주행 차량 컴퓨터, 자율 주행 차량 컴퓨터에 의해 구현되는 소프트웨어 등을 포함한, 차량의 컴포넌트들의 일부 또는 전부의 설치에 관여된다. 일부 실시예들에서, 원격 AV 시스템(114)은 차량의 수명 동안 그러한 컴포넌트들 및/또는 소프트웨어를 유지 관리(예를 들면, 업데이트 및/또는 교체)한다.
플릿 관리 시스템(116)은 차량들(102), V2I 디바이스(110), 원격 AV 시스템(114), 및/또는 V2I 인프라스트럭처 시스템(118)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일 예에서, 플릿 관리 시스템(116)은 서버, 서버들의 그룹, 및/또는 다른 유사한 디바이스들을 포함한다. 일부 실시예들에서, 플릿 관리 시스템(116)은 라이드 셰어링(ridesharing) 회사(예를 들면, 다수의 차량들(예를 들면, 자율 주행 시스템들을 포함하는 차량들 및/또는 자율 주행 시스템들을 포함하지 않는 차량들)의 작동을 제어하는 조직 등)와 연관된다.
일부 실시예들에서, V2I 시스템(118)은 네트워크(112)를 통해 차량들(102), V2I 디바이스(110), 원격 AV 시스템(114), 및/또는 플릿 관리 시스템(116)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, V2I 시스템(118)은 네트워크(112)와 상이한 연결을 통해 V2I 디바이스(110)와 통신하도록 구성된다. 일부 실시예들에서, V2I 시스템(118)은 서버, 서버들의 그룹, 및/또는 다른 유사한 디바이스들을 포함한다. 일부 실시예들에서, V2I 시스템(118)은 지자체 또는 사설 기관(예를 들면, V2I 디바이스(110) 등을 유지 관리하는 사설 기관)과 연관된다.
도 1에 예시된 요소들의 수 및 배열은 예로서 제공된다. 도 1에 예시된 것보다, 추가적인 요소들, 더 적은 요소들, 상이한 요소들 및/또는 상이하게 배열된 요소들이 있을 수 있다. 추가적으로 또는 대안적으로, 환경(100)의 적어도 하나의 요소는 도 1의 적어도 하나의 상이한 요소에 의해 수행되는 것으로 기술된 하나 이상의 기능을 수행할 수 있다. 추가적으로 또는 대안적으로, 환경(100)의 적어도 하나의 요소 세트는 환경(100)의 적어도 하나의 상이한 요소 세트에 의해 수행되는 것으로 기술된 하나 이상의 기능을 수행할 수 있다.
이제 도 2를 참조하면, 차량(200)은 자율 주행 시스템(202), 파워트레인 제어 시스템(204), 조향 제어 시스템(206), 및 브레이크 시스템(208)을 포함한다. 일부 실시예들에서, 차량(200)은 차량(102)(도 1 참조)과 동일하거나 유사하다. 일부 실시예들에서, 차량(102)은 자율 주행 능력을 갖는다(예를 들면, 완전 자율 주행 차량들(예를 들면, 인간 개입에 의존하지 않는 차량들), 고도 자율 주행 차량들(예를 들면, 특정 상황들에서 인간 개입에 의존하지 않는 차량들) 등을, 제한 없이, 포함한, 차량(200)이 인간 개입 없이 부분적으로 또는 완전히 작동될 수 있게 하는 적어도 하나의 기능, 특징, 디바이스 등을 구현한다). 완전 자율 주행 차량들 및 고도 자율 주행 차량들에 대한 상세한 설명에 대해서는, 그 전체가 참고로 포함되는, SAE 국제 표준 J3016: 온로드 자동차 자동 운전 시스템에 관한 용어의 분류 및 정의(SAE International's standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems)가 참조될 수 있다. 일부 실시예들에서, 차량(200)은 자율 주행 플릿 관리자 및/또는 라이드 셰어링 회사와 연관된다.
자율 주행 시스템(202)은 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 및 마이크로폰들(202d)과 같은 하나 이상의 디바이스를 포함하는 센서 스위트(sensor suite)를 포함한다. 일부 실시예들에서, 자율 주행 시스템(202)은 보다 많거나 보다 적은 디바이스들 및/또는 상이한 디바이스들(예를 들면, 초음파 센서들, 관성 센서들, GPS 수신기들(아래에서 논의됨), 차량(200)이 주행한 거리의 표시와 연관된 데이터를 생성하는 주행 거리 측정 센서들 등)을 포함할 수 있다. 일부 실시예들에서, 자율 주행 시스템(202)은 자율 주행 시스템(202)에 포함된 하나 이상의 디바이스를 사용하여 본원에서 기술되는 환경(100)과 연관된 데이터를 생성한다. 자율 주행 시스템(202)의 하나 이상의 디바이스에 의해 생성되는 데이터는 차량(200)이 위치하는 환경(예를 들면, 환경(100))을 관측하기 위해 본원에 기술된 하나 이상의 시스템에 의해 사용될 수 있다. 일부 실시예들에서, 자율 주행 시스템(202)은 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f), 및 드라이브 바이 와이어(drive-by-wire, DBW) 시스템(202h)을 포함한다.
카메라들(202a)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f) 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 카메라들(202a)은 물리적 대상체들(예를 들면, 자동차들, 버스들, 연석들, 사람들 등)을 포함하는 이미지들을 캡처하기 위한 적어도 하나의 카메라(예를 들면, CCD(charge-coupled device)와 같은 광 센서를 사용하는 디지털 카메라, 열 카메라, 적외선(IR) 카메라, 이벤트 카메라 등)를 포함한다. 일부 실시예들에서, 카메라(202a)는 카메라 데이터를 출력으로서 생성한다. 일부 예들에서, 카메라(202a)는 이미지와 연관된 이미지 데이터를 포함하는 카메라 데이터를 생성한다. 이 예에서, 이미지 데이터는 이미지에 대응하는 적어도 하나의 파라미터(예를 들면, 노출, 밝기 등과 같은 이미지 특성들, 이미지 타임스탬프 등)를 명시할 수 있다. 그러한 예에서, 이미지는 한 포맷(예를 들면, RAW, JPEG, PNG 등)으로 되어 있을 수 있다. 일부 실시예들에서, 카메라(202a)는 입체시(stereopsis)(스테레오 비전(stereo vision))를 위해 이미지들을 캡처하도록 차량 상에 구성된(예를 들면, 차량 상에 위치된) 복수의 독립적인 카메라들을 포함한다. 일부 예들에서, 카메라(202a)는 복수의 카메라들을 포함하고, 이 복수의 카메라들은 이미지 데이터를 생성하고 이미지 데이터를 자율 주행 차량 컴퓨터(202f) 및/또는 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템)으로 송신한다. 그러한 예에서, 자율 주행 차량 컴퓨터(202f)는 적어도 2 개의 카메라로부터의 이미지 데이터에 기초하여 복수의 카메라들 중 적어도 2 개의 카메라의 시야 내의 하나 이상의 대상체까지의 깊이를 결정한다. 일부 실시예들에서, 카메라들(202a)은 카메라들(202a)로부터 일정 거리(예를 들면, 최대 100 미터, 최대 1 킬로미터 등) 내의 대상체들의 이미지들을 캡처하도록 구성된다. 그에 따라, 카메라들(202a)은 카메라들(202a)로부터 하나 이상의 거리에 있는 대상체들을 인지하도록 최적화된 센서들 및 렌즈들과 같은 특징부들을 포함한다.
일 실시예에서, 카메라(202a)는 시각적 운행 정보를 제공하는 하나 이상의 교통 신호등, 거리 표지판 및/또는 다른 물리적 대상체와 연관된 하나 이상의 이미지를 캡처하도록 구성된 적어도 하나의 카메라를 포함한다. 일부 실시예들에서, 카메라(202a)는 하나 이상의 이미지와 연관된 교통 신호등 데이터를 생성한다. 일부 예들에서, 카메라(202a)는 한 포맷(예를 들면, RAW, JPEG, PNG 등)을 포함하는 하나 이상의 이미지와 연관된 TLD 데이터를 생성한다. 일부 실시예들에서, TLD 데이터를 생성하는 카메라(202a)는, 카메라(202a)가 가능한 한 많은 물리적 대상체들에 관한 이미지들을 생성하기 위해 넓은 시야를 갖는 하나 이상의 카메라(예를 들면, 광각 렌즈, 어안 렌즈, 대략 120도 이상의 시야각을 갖는 렌즈 등)를 포함할 수 있다는 점에서, 카메라들을 포함하는 본원에 기술된 다른 시스템들과 상이하다.
LiDAR(Laser Detection and Ranging) 센서들(202b)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f), 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. LiDAR 센서들(202b)은 광 방출기(예를 들면, 레이저 송신기)로부터 광을 송신하도록 구성된 시스템을 포함한다. LiDAR 센서들(202b)에 의해 방출되는 광은 가시 스펙트럼 밖에 있는 광(예를 들면, 적외선 광 등)을 포함한다. 일부 실시예들에서, 작동 동안, LiDAR 센서들(202b)에 의해 방출되는 광은 물리적 대상체(예를 들면, 차량)와 조우하고 LiDAR 센서들(202b)로 다시 반사된다. 일부 실시예들에서, LiDAR 센서들(202b)에 의해 방출되는 광은 광이 조우하는 물리적 대상체들을 투과하지 않는다. LiDAR 센서들(202b)은 광 방출기로부터 방출된 광이 물리적 대상체와 조우한 후에 그 광을 검출하는 적어도 하나의 광 검출기를 또한 포함한다. 일부 실시예들에서, LiDAR 센서들(202b)과 연관된 적어도 하나의 데이터 프로세싱 시스템은 LiDAR 센서들(202b)의 시야에 포함된 대상체들을 나타내는 이미지(예를 들면, 포인트 클라우드, 결합된 포인트 클라우드(combined point cloud) 등)를 생성한다. 일부 예들에서, LiDAR 센서(202b)와 연관된 적어도 하나의 데이터 프로세싱 시스템은 물리적 대상체의 경계들, 물리적 대상체의 표면들(예를 들면, 표면들의 토폴로지) 등을 나타내는 이미지를 생성한다. 그러한 예에서, 이미지는 LiDAR 센서들(202b)의 시야 내의 물리적 대상체들의 경계들을 결정하는 데 사용된다.
레이더(radar, Radio Detection and Ranging) 센서들(202c)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f) 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 레이더 센서들(202c)은 전파들을 (펄스형으로 또는 연속적으로) 송신하도록 구성된 시스템을 포함한다. 레이더 센서들(202c)에 의해 송신되는 전파들은 미리 결정된 스펙트럼 내에 있는 전파들을 포함한다. 일부 실시예들에서, 작동 동안, 레이더 센서들(202c)에 의해 송신되는 전파들은 물리적 대상체와 조우하고 레이더 센서들(202c)로 다시 반사된다. 일부 실시예들에서, 레이더 센서들(202c)에 의해 송신되는 전파들이 일부 대상체들에 의해 반사되지 않는다. 일부 실시예들에서, 레이더 센서들(202c)과 연관된 적어도 하나의 데이터 프로세싱 시스템은 레이더 센서들(202c)의 시야에 포함된 대상체들을 나타내는 신호들을 생성한다. 예를 들어, 레이더 센서(202c)와 연관된 적어도 하나의 데이터 프로세싱 시스템은 물리적 대상체의 경계들, 물리적 대상체의 표면들(예를 들면, 표면들의 토폴로지) 등을 나타내는 이미지를 생성한다. 일부 예들에서, 이미지는 레이더 센서들(202c)의 시야 내의 물리적 대상체들의 경계들을 결정하는 데 사용된다.
마이크로폰들(202d)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f) 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 마이크로폰들(202d)은 오디오 신호들을 캡처하고 오디오 신호들과 연관된(예를 들면, 이를 나타내는) 데이터를 생성하는 하나 이상의 마이크로폰(예를 들면, 어레이 마이크로폰, 외부 마이크로폰 등)을 포함한다. 일부 예들에서, 마이크로폰들(202d)은 트랜스듀서 디바이스들 및/또는 유사 디바이스들을 포함한다. 일부 실시예들에서, 본원에 기술된 하나 이상의 시스템은 마이크로폰들(202d)에 의해 생성되는 데이터를 수신하고 데이터와 연관된 오디오 신호들에 기초하여 차량(200)을 기준으로 대상체의 위치(예를 들면, 거리 등)를 결정할 수 있다.
통신 디바이스(202e)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), 자율 주행 차량 컴퓨터(202f), 안전 제어기(202g), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 예를 들어, 통신 디바이스(202e)는 도 3의 통신 인터페이스(314)와 동일하거나 유사한 디바이스를 포함할 수 있다. 일부 실시예들에서, 통신 디바이스(202e)는 차량 대 차량(vehicle-to-vehicle, V2V) 통신 디바이스(예를 들면, 차량들 간의 데이터의 무선 통신을 가능하게 하는 디바이스)를 포함한다.
자율 주행 차량 컴퓨터(202f)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), 통신 디바이스(202e), 안전 제어기(202g), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 자율 주행 차량 컴퓨터(202f)는 클라이언트 디바이스, 모바일 디바이스(예를 들면, 셀룰러 전화, 태블릿 등), 서버(예를 들면, 하나 이상의 중앙 프로세싱 유닛, 그래픽 프로세싱 유닛 등을 포함하는 컴퓨팅 디바이스) 등과 같은 디바이스를 포함한다. 일부 실시예들에서, 자율 주행 차량 컴퓨터(202f)는 본원에 기술된 자율 주행 차량 컴퓨터(400)와 동일하거나 유사하다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 자율 주행 차량 컴퓨터(202f)는 자율 주행 차량 시스템(예를 들면, 도 1의 원격 AV 시스템(114)과 동일하거나 유사한 자율 주행 차량 시스템), 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템), V2I 디바이스(예를 들면, 도 1의 V2I 디바이스(110)와 동일하거나 유사한 V2I 디바이스), 및/또는 V2I 시스템(예를 들면, 도 1의 V2I 시스템(118)과 동일하거나 유사한 V2I 시스템)과 통신하도록 구성된다.
안전 제어기(202g)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 안전 제어기(202g)는 차량(200)의 하나 이상의 디바이스(예를 들면, 파워트레인 제어 시스템(204), 조향 제어 시스템(206), 브레이크 시스템(208) 등)를 작동시키기 위한 제어 신호들을 생성 및/또는 송신하도록 구성된 하나 이상의 제어기(전기 제어기, 전기기계 제어기 등)를 포함한다. 일부 실시예들에서, 안전 제어기(202g)는 자율 주행 차량 컴퓨터(202f)에 의해 생성 및/또는 송신되는 제어 신호들보다 우선하는(예를 들면, 이를 오버라이드하는) 제어 신호들을 생성하도록 구성된다.
DBW 시스템(202h)은 통신 디바이스(202e) 및/또는 자율 주행 차량 컴퓨터(202f)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, DBW 시스템(202h)은 차량(200)의 하나 이상의 디바이스(예를 들면, 파워트레인 제어 시스템(204), 조향 제어 시스템(206), 브레이크 시스템(208) 등)를 작동시키기 위한 제어 신호들을 생성 및/또는 송신하도록 구성된 하나 이상의 제어기(예를 들면, 전기 제어기, 전기기계 제어기 등)를 포함한다. 추가적으로 또는 대안적으로, DBW 시스템(202h)의 하나 이상의 제어기는 차량(200)의 적어도 하나의 상이한 디바이스(예를 들면, 방향 지시등, 헤드라이트, 도어록, 윈도실드 와이퍼 등)를 작동시키기 위한 제어 신호들을 생성 및/또는 송신하도록 구성된다.
파워트레인 제어 시스템(204)은 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 파워트레인 제어 시스템(204)은 적어도 하나의 제어기, 액추에이터 등을 포함한다. 일부 실시예들에서, 파워트레인 제어 시스템(204)은 DBW 시스템(202h)으로부터 제어 신호들을 수신하고, 파워트레인 제어 시스템(204)은 차량(200)이 전진하는 것을 시작하게 하고, 전진하는 것을 중지하게 하며, 후진하는 것을 시작하게 하고, 후진하는 것을 중지하게 하며, 한 방향으로 가속하게 하고, 한 방향으로 감속하게 하며, 좌회전을 수행하게 하고, 우회전을 수행하게 하는 등을 한다. 일 예에서, 파워트레인 제어 시스템(204)은 차량의 모터에 제공되는 에너지(예를 들면, 연료, 전기 등)가 증가하게 하거나, 동일하게 유지되게 하거나, 또는 감소하게 하여, 이에 의해 차량(200)의 적어도 하나의 바퀴가 회전하거나 회전하지 않게 한다.
조향 제어 시스템(206)은 차량(200)의 하나 이상의 바퀴를 회전시키도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 조향 제어 시스템(206)은 적어도 하나의 제어기, 액추에이터 등을 포함한다. 일부 실시예들에서, 조향 제어 시스템(206)은 차량(200)이 좌측 또는 우측으로 방향 전환하게 하기 위해 차량(200)의 2 개의 앞바퀴 및/또는 2 개의 뒷바퀴가 좌측 또는 우측으로 회전하게 한다.
브레이크 시스템(208)은 차량(200)이 속력을 감소시키게 하고/하거나 정지해 있는 채로 유지하게 하기 위해 하나 이상의 브레이크를 작동시키도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 브레이크 시스템(208)은 차량(200)의 대응하는 로터(rotor)에서 차량(200)의 하나 이상의 바퀴와 연관된 하나 이상의 캘리퍼(caliper)가 닫히게 하도록 구성된 적어도 하나의 제어기 및/또는 액추에이터를 포함한다. 추가적으로 또는 대안적으로, 일부 예들에서, 브레이크 시스템(208)은 자동 긴급 제동(automatic emergency braking, AEB) 시스템, 회생 제동 시스템 등을 포함한다.
일부 실시예들에서, 차량(200)은 차량(200)의 상태 또는 조건의 속성들을 측정 또는 추론하는 적어도 하나의 플랫폼 센서(명시적으로 예시되지 않음)를 포함한다. 일부 예들에서, 차량(200)은 GPS(global positioning system) 수신기, IMU(inertial measurement unit), 바퀴 속력 센서, 바퀴 브레이크 압력 센서, 바퀴 토크 센서, 엔진 토크 센서, 조향각 센서 등과 같은 플랫폼 센서들을 포함한다.
이제 도 3을 참조하면, 디바이스(300)의 개략 다이어그램이 예시되어 있다. 예시된 바와 같이, 디바이스(300)는 프로세서(304), 메모리(306), 저장 컴포넌트(308), 입력 인터페이스(310), 출력 인터페이스(312), 통신 인터페이스(314), 및 버스(302)를 포함한다. 일부 실시예들에서, 디바이스(300)는 차량들(102)의 적어도 하나의 디바이스(예를 들면, 차량들(102)의 시스템의 적어도 하나의 디바이스), 및/또는 네트워크(112)의 하나 이상의 디바이스(예를 들면, 네트워크(112)의 시스템의 하나 이상의 디바이스)에 대응한다. 일부 실시예들에서, 차량들(102)의 하나 이상의 디바이스(예를 들면, 차량들(102)의 시스템의 하나 이상의 디바이스), 및/또는 네트워크(112)의 하나 이상의 디바이스(예를 들면, 네트워크(112)의 시스템의 하나 이상의 디바이스)는 적어도 하나의 디바이스(300) 및/또는 디바이스(300)의 적어도 하나의 컴포넌트를 포함한다. 도 3에 도시된 바와 같이, 디바이스(300)는 버스(302), 프로세서(304), 메모리(306), 저장 컴포넌트(308), 입력 인터페이스(310), 출력 인터페이스(312), 및 통신 인터페이스(314)를 포함한다.
버스(302)는 디바이스(300)의 컴포넌트들 간의 통신을 가능하게 하는 컴포넌트를 포함한다. 일부 실시예들에서, 프로세서(304)는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 일부 예들에서, 프로세서(304)는 적어도 하나의 기능을 수행하도록 프로그래밍될 수 있는, 프로세서(예를 들면, 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 가속 프로세싱 유닛(APU) 등), 마이크로폰, 디지털 신호 프로세서(DSP), 및/또는 임의의 프로세싱 컴포넌트(예를 들면, FPGA(field-programmable gate array), ASIC(application specific integrated circuit) 등)를 포함한다. 메모리(306)는 프로세서(304)가 사용할 데이터 및/또는 명령어들을 저장하는, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 및/또는 다른 유형의 동적 및/또는 정적 저장 디바이스(예를 들면, 플래시 메모리, 자기 메모리, 광학 메모리 등)를 포함한다.
저장 컴포넌트(308)는 디바이스(300)의 작동 및 사용에 관련된 데이터 및/또는 소프트웨어를 저장한다. 일부 예들에서, 저장 컴포넌트(308)는 하드 디스크(예를 들면, 자기 디스크, 광학 디스크, 광자기 디스크, 솔리드 스테이트 디스크 등), CD(compact disc), DVD(digital versatile disc), 플로피 디스크, 카트리지, 자기 테이프, CD-ROM, RAM, PROM, EPROM, FLASH-EPROM, NV-RAM 및/또는 다른 유형의 컴퓨터 판독 가능 매체를, 대응하는 드라이브와 함께, 포함한다.
입력 인터페이스(310)는 디바이스(300)가, 예컨대, 사용자 입력(예를 들면, 터치스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치, 마이크로폰, 카메라 등)을 통해, 정보를 수신할 수 있게 하는 컴포넌트를 포함한다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 입력 인터페이스(310)는 정보를 감지하는 센서(예를 들면, GPS(global positioning system) 수신기, 가속도계, 자이로스코프, 액추에이터 등)를 포함한다. 출력 인터페이스(312)는 디바이스(300)로부터의 출력 정보를 제공하는 컴포넌트(예를 들면, 디스플레이, 스피커, 하나 이상의 발광 다이오드(LED) 등)를 포함한다.
일부 실시예들에서, 통신 인터페이스(314)는 디바이스(300)가 유선 연결, 무선 연결, 또는 유선 연결과 무선 연결의 조합을 통해 다른 디바이스들과 통신할 수 있게 하는 트랜시버 유사 컴포넌트(예를 들면, 트랜시버, 개별 수신기 및 송신기 등)를 포함한다. 일부 예들에서, 통신 인터페이스(314)는 디바이스(300)가 다른 디바이스로부터 정보를 수신하고/하거나 다른 디바이스에 정보를 제공할 수 있게 한다. 일부 예들에서, 통신 인터페이스(314)는 이더넷 인터페이스, 광학 인터페이스, 동축 인터페이스, 적외선 인터페이스, RF(radio frequency) 인터페이스, USB(universal serial bus) 인터페이스, Wi-Fi® 인터페이스, 셀룰러 네트워크 인터페이스 등을 포함한다.
일부 실시예들에서, 디바이스(300)는 본원에 기술된 하나 이상의 프로세스를 수행한다. 디바이스(300)는 프로세서(304)가, 메모리(305) 및/또는 저장 컴포넌트(308)와 같은, 컴퓨터 판독 가능 매체에 의해 저장된 소프트웨어 명령어들을 실행하는 것에 기초하여 이러한 프로세스들을 수행한다. 컴퓨터 판독 가능 매체(예를 들면, 비일시적 컴퓨터 판독 가능 매체)는 본원에서 비일시적 메모리 디바이스로서 정의된다. 비일시적 메모리 디바이스는 단일의 물리 저장 디바이스 내부에 위치한 메모리 공간 또는 다수의 물리 저장 디바이스들에 걸쳐 분산된 메모리 공간을 포함한다.
일부 실시예들에서, 소프트웨어 명령어들은 통신 인터페이스(314)를 통해 다른 컴퓨터 판독 가능 매체로부터 또는 다른 디바이스로부터 메모리(306) 및/또는 저장 컴포넌트(308)로 판독된다. 실행될 때, 메모리(306) 및/또는 저장 컴포넌트(308)에 저장된 소프트웨어 명령어들은 프로세서(304)로 하여금 본원에 기술된 하나 이상의 프로세스를 수행하게 한다. 추가적으로 또는 대안적으로, 고정 배선(hardwired) 회로는 본원에 기술된 하나 이상의 프로세스를 수행하기 위해 소프트웨어 명령어들 대신에 또는 소프트웨어 명령어들과 결합하여 사용된다. 따라서, 본원에 기술된 실시예들은, 달리 명시적으로 언급되지 않는 한, 하드웨어 회로와 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
메모리(306) 및/또는 저장 컴포넌트(308)는 데이터 스토리지 또는 적어도 하나의 데이터 구조(예를 들면, 데이터베이스 등)를 포함한다. 디바이스(300)는 데이터 스토리지 또는 메모리(306) 또는 저장 컴포넌트(308) 내의 적어도 하나의 데이터 구조로부터 정보를 수신하는 것, 그에 정보를 저장하는 것, 그에게로 정보를 통신하는 것, 또는 그에 저장된 정보를 검색하는 것을 할 수 있다. 일부 예들에서, 정보는 네트워크 데이터, 입력 데이터, 출력 데이터, 또는 이들의 임의의 조합을 포함한다.
일부 실시예들에서, 디바이스(300)는 메모리(306)에 그리고/또는 다른 디바이스(예를 들면, 디바이스(300)와 동일하거나 유사한 다른 디바이스)의 메모리에 저장된 소프트웨어 명령어들을 실행하도록 구성된다. 본원에서 사용되는 바와 같이, "모듈"이라는 용어는, 프로세서(304)에 의해 그리고/또는 다른 디바이스(예를 들면, 디바이스(300)와 동일하거나 유사한 다른 디바이스)의 프로세서에 의해 실행될 때, 디바이스(300)(예를 들면, 디바이스(300)의 적어도 하나의 컴포넌트)로 하여금 본원에 기술된 하나 이상의 프로세스를 수행하게 하는 메모리(306)에 그리고/또는 다른 디바이스의 메모리에 저장된 적어도 하나의 명령어를 지칭한다. 일부 실시예들에서, 모듈은 소프트웨어, 펌웨어, 하드웨어 등으로 구현된다.
도 3에 예시된 컴포넌트들의 수 및 배열은 예로서 제공된다. 일부 실시예들에서, 디바이스(300)는 도 3에 예시된 것보다, 추가적인 컴포넌트들, 더 적은 컴포넌트들, 상이한 컴포넌트들, 또는 상이하게 배열된 컴포넌트들을 포함할 수 있다. 추가적으로 또는 대안적으로, 디바이스(300)의 컴포넌트 세트(예를 들면, 하나 이상의 컴포넌트)는 디바이스(300)의 다른 컴포넌트 또는 다른 컴포넌트 세트에 의해 수행되는 것으로 기술된 하나 이상의 기능을 수행할 수 있다.
이제 도 4를 참조하면, 자율 주행 차량 컴퓨터(400)(때때로 "AV 스택"이라고 지칭됨)의 예시적인 블록 다이어그램이 예시되어 있다. 예시된 바와 같이, 자율 주행 차량 컴퓨터(400)는 인지 시스템(402)(때때로 인지 모듈이라고 지칭됨), 계획 시스템(404)(때때로 계획 모듈이라고 지칭됨), 로컬화 시스템(406)(때때로 로컬화 모듈이라고 지칭됨), 제어 시스템(408)(때때로 제어 모듈이라고 지칭됨) 및 데이터베이스(410)를 포함한다. 일부 실시예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408) 및 데이터베이스(410)는 차량의 자율 주행 운행 시스템(예를 들면, 차량(200)의 자율 주행 차량 컴퓨터(202f))에 포함되고/되거나 구현된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408), 및 데이터베이스(410)는 하나 이상의 독립형 시스템(예를 들면, 자율 주행 차량 컴퓨터(400) 등과 동일하거나 유사한 하나 이상의 시스템)에 포함된다. 일부 예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408), 및 데이터베이스(410)는 본원에 기술된 바와 같이 차량 및/또는 적어도 하나의 원격 시스템에 위치하는 하나 이상의 독립형 시스템에 포함된다. 일부 실시예들에서, 자율 주행 차량 컴퓨터(400)에 포함된 시스템들 중 일부 및/또는 전부는 소프트웨어(예를 들면, 메모리에 저장된 소프트웨어 명령어들), 컴퓨터 하드웨어(예를 들면, 마이크로프로세서, 마이크로컨트롤러, ASIC(application-specific integrated circuit), FPGA(Field Programmable Gate Array) 등), 또는 컴퓨터 소프트웨어와 컴퓨터 하드웨어의 조합으로 구현된다. 일부 실시예들에서, 자율 주행 차량 컴퓨터(400)가 원격 시스템(예를 들면, 원격 AV 시스템(114)과 동일하거나 유사한 자율 주행 차량 시스템, 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템, V2I 시스템(118)과 동일하거나 유사한 V2I 시스템 등)과 통신하도록 구성된다는 것이 또한 이해될 것이다.
일부 실시예들에서, 인지 시스템(402)은 환경에서의 적어도 하나의 물리적 대상체와 연관된 데이터(예를 들면, 적어도 하나의 물리적 대상체를 검출하기 위해 인지 시스템(402)에 의해 사용되는 데이터)를 수신하고 적어도 하나의 물리적 대상체를 분류한다. 일부 예들에서, 인지 시스템(402)은 적어도 하나의 카메라(예를 들면, 카메라들(202a))에 의해 캡처되는 이미지 데이터를 수신하고, 이미지는 적어도 하나의 카메라의 시야 내의 하나 이상의 물리적 대상체와 연관되어 있다(예를 들면, 이를 표현한다). 그러한 예에서, 인지 시스템(402)은 물리적 대상체들(예를 들면, 자전거들, 차량들, 교통 표지판들, 보행자들 등)의 하나 이상의 그룹화에 기초하여 적어도 하나의 물리적 대상체를 분류한다. 일부 실시예들에서, 인지 시스템(402)이 물리적 대상체들을 분류하는 것에 기초하여 인지 시스템(402)은 물리적 대상체들의 분류와 연관된 데이터를 계획 시스템(404)으로 송신한다.
일부 실시예들에서, 계획 시스템(404)은 목적지와 연관된 데이터를 수신하고 차량(예를 들면, 차량들(102))이 목적지를 향해 주행할 수 있는 적어도 하나의 루트(예를 들면, 루트들(106))와 연관된 데이터를 생성한다. 일부 실시예들에서, 계획 시스템(404)은 인지 시스템(402)으로부터의 데이터(예를 들면, 위에서 기술된, 물리적 대상체들의 분류와 연관된 데이터)를 주기적으로 또는 연속적으로 수신하고, 계획 시스템(404)은 인지 시스템(402)에 의해 생성되는 데이터에 기초하여 적어도 하나의 궤적을 업데이트하거나 적어도 하나의 상이한 궤적을 생성한다. 일부 실시예들에서, 계획 시스템(404)은 로컬화 시스템(406)으로부터 차량(예를 들면, 차량들(102))의 업데이트된 위치와 연관된 데이터를 수신하고, 계획 시스템(404)은 로컬화 시스템(406)에 의해 생성되는 데이터에 기초하여 적어도 하나의 궤적을 업데이트하거나 적어도 하나의 상이한 궤적을 생성한다.
일부 실시예들에서, 로컬화 시스템(406)은 한 구역에서의 차량(예를 들면, 차량들(102))의 한 위치와 연관된(예를 들면, 이를 나타내는) 데이터를 수신한다. 일부 예들에서, 로컬화 시스템(406)은 적어도 하나의 LiDAR 센서(예를 들면, LiDAR 센서들(202b))에 의해 생성되는 적어도 하나의 포인트 클라우드와 연관된 LiDAR 데이터를 수신한다. 특정 예들에서, 로컬화 시스템(406)은 다수의 LiDAR 센서들로부터의 적어도 하나의 포인트 클라우드와 연관된 데이터를 수신하고 로컬화 시스템(406)은 포인트 클라우드들 각각에 기초하여 결합된 포인트 클라우드를 생성한다. 이러한 예들에서, 로컬화 시스템(406)은 적어도 하나의 포인트 클라우드 또는 결합된 포인트 클라우드를 데이터베이스(410)에 저장되어 있는 해당 구역의 2차원(2D) 및/또는 3차원(3D) 맵과 비교한다. 로컬화 시스템(406)이 적어도 하나의 포인트 클라우드 또는 결합된 포인트 클라우드를 맵과 비교하는 것에 기초하여 로컬화 시스템(406)은 이어서 해당 구역에서의 차량의 위치를 결정한다. 일부 실시예들에서, 맵은 차량의 운행 이전에 생성되는 해당 구역의 결합된 포인트 클라우드를 포함한다. 일부 실시예들에서, 맵은, 제한 없이, 도로 기하학적 특성들의 고정밀 맵, 도로 네트워크 연결 특성들을 기술하는 맵, 도로 물리적 특성들(예컨대, 교통 속력, 교통량, 차량 교통 차선과 자전거 타는 사람 교통 차선의 수, 차선 폭, 차선 교통 방향, 또는 차선 마커 유형 및 위치, 또는 이들의 조합)을 기술하는 맵, 및 도로 특징물, 예컨대, 횡단보도, 교통 표지판 또는 다양한 유형의 다른 주행 신호들의 공간적 위치들을 기술하는 맵을 포함한다. 일부 실시예들에서, 맵은 인지 시스템에 의해 수신되는 데이터에 기초하여 실시간으로 생성된다.
다른 예에서, 로컬화 시스템(406)은 GPS(global positioning system) 수신기에 의해 생성되는 GNSS(Global Navigation Satellite System) 데이터를 수신한다. 일부 예들에서, 로컬화 시스템(406)은 해당 구역 내에서의 차량의 위치와 연관된 GNSS 데이터를 수신하고 로컬화 시스템(406)은 해당 구역 내에서의 차량의 위도 및 경도를 결정한다. 그러한 예에서, 로컬화 시스템(406)은 차량의 위도 및 경도에 기초하여 해당 구역에서의 차량의 위치를 결정한다. 일부 실시예들에서, 로컬화 시스템(406)은 차량의 위치와 연관된 데이터를 생성한다. 일부 예들에서, 로컬화 시스템(406)이 차량의 위치를 결정하는 것에 기초하여 로컬화 시스템(406)은 차량의 위치와 연관된 데이터를 생성한다. 그러한 예에서, 차량의 위치와 연관된 데이터는 차량의 위치에 대응하는 하나 이상의 시맨틱 속성과 연관된 데이터를 포함한다.
일부 실시예들에서, 제어 시스템(408)은 계획 시스템(404)으로부터 적어도 하나의 궤적과 연관된 데이터를 수신하고 제어 시스템(408)은 차량의 작동을 제어한다. 일부 예들에서, 제어 시스템(408)은 계획 시스템(404)으로부터 적어도 하나의 궤적과 연관된 데이터를 수신하고, 제어 시스템(408)은 파워트레인 제어 시스템(예를 들면, DBW 시스템(202h), 파워트레인 제어 시스템(204) 등), 조향 제어 시스템(예를 들면, 조향 제어 시스템(206)) 및/또는 브레이크 시스템(예를 들면, 브레이크 시스템(208))이 작동하게 하는 제어 신호들을 생성하여 송신하는 것에 의해 차량의 작동을 제어한다. 궤적이 좌회전을 포함하는 예에서, 제어 시스템(408)은 조향 제어 시스템(206)으로 하여금 차량(200)의 조향각을 조정하게 함으로써 차량(200)이 좌회전하게 하는 제어 신호를 송신한다. 추가적으로 또는 대안적으로, 제어 시스템(408)은 차량(200)의 다른 디바이스들(예를 들면, 헤드라이트, 방향 지시등, 도어록, 윈도실드 와이퍼 등)로 하여금 상태들을 변경하게 하는 제어 신호들을 생성하여 송신한다.
일부 실시예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 및/또는 제어 시스템(408)은 적어도 하나의 머신 러닝 모델(예를 들면, 적어도 하나의 다층 퍼셉트론(MLP), 적어도 하나의 콘볼루션 신경 네트워크(CNN), 적어도 하나의 순환 신경 네트워크(RNN), 적어도 하나의 오토인코더, 적어도 하나의 트랜스포머(transformer) 등)을 구현한다. 일부 예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 및/또는 제어 시스템(408)은 단독으로 또는 위에서 언급된 시스템들 중 하나 이상과 함께 적어도 하나의 머신 러닝 모델을 구현한다. 일부 예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 및/또는 제어 시스템(408)은 파이프라인(예를 들면, 환경에 위치한 하나 이상의 대상체를 식별하기 위한 파이프라인 등)의 일부로서 적어도 하나의 머신 러닝 모델을 구현한다.
데이터베이스(410)는 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406) 및/또는 제어 시스템(408)으로 송신되며, 이들로부터 수신되고/되거나 이들에 의해 업데이트되는 데이터를 저장한다. 일부 예들에서, 데이터베이스(410)는 작동에 관련된 데이터 및/또는 소프트웨어를 저장하고 자율 주행 차량 컴퓨터(400)의 적어도 하나의 시스템을 사용하는 저장 컴포넌트(예를 들면, 도 3의 저장 컴포넌트(308)와 동일하거나 유사한 저장 컴포넌트)를 포함한다. 일부 실시예들에서, 데이터베이스(410)는 적어도 하나의 구역의 2D 및/또는 3D 맵과 연관된 데이터를 저장한다. 일부 예들에서, 데이터베이스(410)는 도시의 일 부분, 다수의 도시들의 다수의 부분들, 다수의 도시들, 카운티, 주, 국가(State)(예를 들면, 나라(country)) 등의 2D 및/또는 3D 맵과 연관된 데이터를 저장한다. 그러한 예에서, 차량(예를 들면, 차량들(102) 및/또는 차량(200)과 동일하거나 유사한 차량)은 하나 이상의 운전 가능한 영역(예를 들면, 단일 차선 도로, 다중 차선 도로, 간선도로, 시골 길(back road), 오프로드 트레일 등)을 따라 운전할 수 있고, 적어도 하나의 LiDAR 센서(예를 들면, LiDAR 센서들(202b)과 동일하거나 유사한 LiDAR 센서)로 하여금 적어도 하나의 LiDAR 센서의 시야에 포함된 대상체들을 나타내는 이미지와 연관된 데이터를 생성하게 할 수 있다.
일부 실시예들에서, 데이터베이스(410)는 복수의 디바이스들에 걸쳐 구현될 수 있다. 일부 예들에서, 데이터베이스(410)는 차량(예를 들면, 차량들(102) 및/또는 차량(200)과 동일하거나 유사한 차량), 자율 주행 차량 시스템(예를 들면, 원격 AV 시스템(114)과 동일하거나 유사한 자율 주행 차량 시스템), 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템), V2I 시스템(예를 들면, 도 1의 V2I 시스템(118)과 동일하거나 유사한 V2I 시스템) 등에 포함된다.
센서 데이터에 기초한 차량 상태 변수들의 추정
자율 주행 차량 시스템은 전형적으로 차량의 현재 상태를 기술하기 위해 그리고 자율 주행 차량 스택 내의 다른 계층들이 그 각자의 작업들을 수행할 수 있게 하기 위해 다양한 차량 상태 변수들을 사용한다. 그러한 차량 상태 변수들을 결정하는 데 사용될 수 있는 하나의 메커니즘은 고정밀 GPS 센서이다. 그러한 GPS 센서는 횡방향 속도들과 같은 차량 상태 변수들을 높은 정도의 정확도로 생성할 수 있다. 그렇지만, 그러한 GPS 센서는 수만 달러의 비용이 들 수 있어, 일상적인 차량들에 사용하기에는 비실용적이다.
이 문제를 해결하기 위해, 신호 프로세싱 시스템은 그러한 GPS 센서들을 사용하지 않고 차량 상태 변수들을 추정하기 위해 IMU 및 차량 상의 다른 센서들에 의해 생성되는 센서 데이터를 사용할 수 있다. 보다 구체적으로, 신호 프로세싱 시스템은 횡방향 속도를 계산하기 위해 횡방향 속도 예측기에 의해 사용되는 코너링 강성 값들을 주기적으로 업데이트하는 코너링 강성 추정기와 통신하는 횡방향 속도 예측기를 포함한다. 횡방향 속도는 이어서 칼만 필터에 공급되고, 칼만 필터는 차량 상태 변수들을 출력한다.
이러한 기술들의 장점들 중 일부는 보다 고가의 GPS 센서들에 의존할 필요 없이 IMU 센서 데이터를 사용하여 다양한 상태 변수들의 예측 및 추정의 개선된 정확도를 포함한다. 보다 정확한 차량 상태 변수 예측 및 추정은 예측 시스템 및 계획 시스템과 같은 AV 스택 내의 다른 계층들의 성능의 개선으로 이어질 수 있다. 이러한 기술들은 도 5a, 도 5b, 도 6a 내지 도 6c, 도 7 및 도 8을 참조하여 아래에서 보다 상세히 설명된다.
신호 프로세싱 환경
도 5a는 신호 프로세싱 환경(500)의 예를 예시하는 블록 다이어그램이다. 예시된 예에서, 신호 프로세싱 환경(500)은 센서(504)와 통신 가능하게 결합된 신호 프로세싱 시스템(502)을 포함한다. 일부 실시예들에서, 센서(504)는 도 2에서의 센서들(202a 내지 202d) 및/또는 도 3에서의 입력 인터페이스들(310)과 동일하거나 유사할 수 있다. 일부 경우에, 신호 프로세싱 환경(500) 및/또는 신호 프로세싱 시스템(502)은, 적어도 도 4를 참조하여 본원에 기술된, 인지 시스템(402)의 적어도 일부를 형성할 수 있다.
센서(504)는 센서 데이터(506)를 생성하고 센서 데이터(506)를 신호 프로세싱 시스템(502)으로 통신한다. 센서(504)는 관성 측정 유닛(IMU), 바퀴 속력 센서, 조향각 센서 등 중 임의의 것 또는 이들의 임의의 조합을 포함할 수 있다. 유사하게, 센서 데이터(506)는, 전진 가속도(forward acceleration) 및 횡방향 가속도(lateral acceleration), 요 레이트(yaw rate) 등과 같은, 상이한 유형들의 센서 데이터를 포함할 수 있다. 일부 실시예들에서, 센서 데이터(506)는 x축을 따른 가속도(본원에서 전진 가속도라고도 지칭됨), y축을 따른 가속도(본원에서 횡방향 가속도라고도 지칭됨), z축을 따른 가속도, 롤 레이트(roll rate), 피치 레이트(pitch rate), 및 요 레이트 중 임의의 것 또는 이들의 임의의 조합을 포함한다.
일부 실시예들에서, 신호 프로세싱 시스템(502)은 센서(504) 이외의 상이한 컴포넌트로부터 센서 데이터(506)를 획득할 수 있다. 게다가, 하나 이상의 센서(504) 및/또는 상이한 컴포넌트는 신호 프로세싱 시스템(502)이 센서 데이터(506)를 획득하기 전에 센서 데이터(506)를 수정하기 위해 예비 신호 프로세싱을 수행할 수 있다.
신호 프로세싱 시스템(502)은 센서 데이터(506)를 프로세싱하도록 구성된 신호 프로세서(508)를 포함한다. 신호 프로세서(508)는 센서 데이터(506)에 대해 다양한 신호 프로세싱 작업들을 수행할 수 있다. 일부 실시예들에서, 신호 프로세서(508)는 하나 이상의 업데이트된 파라미터(512), 하나 이상의 기본 파라미터, 또는 신호 프로세서(508)에 이용가능한 다른 파라미터들에 기초하여 또는 이를 사용하여 그렇게 할 수 있다. 예를 들어, 신호 프로세서(508)는 센서 데이터(506), 다른 파라미터들, 및/또는 임의의 방정식들 또는 필터들에 기초하여 또는 이를 사용하여 하나 이상의 차량 상태 변수를 예측하거나 추정할 수 있고, 예측되거나 추정된 변수들을 프로세싱된 센서 데이터(510)로서 출력할 수 있다.
신호 프로세싱 시스템(502)이 보다 적은, 보다 많은, 또는 상이한 컴포넌트들을 포함할 수 있다는 것이 이해될 것이다. 예를 들어, 신호 프로세싱 시스템(502)은 센서 데이터(506)에 대해 상이한 프로세싱 기능을 수행하고/하거나 상이한 센서들(504)로부터의 센서 데이터(506)를 프로세싱하는 다수의 신호 프로세서들(508)을 포함할 수 있다.
신호 프로세서(508)는 또한 프로세싱된 센서 데이터(510)에 포함되는 데이터를 생성하기 위해 신호 프로세서(508)에 의해 사용되는 하나 이상의 파라미터, 변수, 또는 값의 업데이트된 버전들을 포함할 수 있는 업데이트된 파라미터들(512)을 생성할 수 있다. 신호 프로세서(508)는 이어서 업데이트된 파라미터들(512)을 사용하여 업데이트된 프로세싱된 센서 데이터(510)를 생성할 수 있다. 예를 들어, 업데이트된 파라미터들(512)은 차량의 횡방향 속도를 예측하거나 추정하는 데 사용될 수 있는 코너링 강성 값들을 포함할 수 있다. 그러한 예에서, 코너링 강성 값들을 업데이트한 후에, 신호 프로세서(508)는 업데이트된 코너링 강성 값들에 기초하여 횡방향 속도를 더 업데이트할 수 있다.
일부 실시예들에서, 신호 프로세서(508)는 업데이트된 파라미터들(512)을 주기적으로(예를 들면, 매분, 매시간, 매일, 매주, 매월, 또는 어떤 다른 미리 정의된 기간마다) 생성한다. 다른 실시예들에서, 신호 프로세서(508)는 업데이트된 파라미터들(512)의 현재 버전을 생성하는 데 사용되는 정보에 대한 변경을 검출할 시에 업데이트된 파라미터들(512)을 생성한다. 일 예로서, 신호 프로세서(508)는 횡력 및/또는 수직 항력(normal force)의 업데이트된 값들이 신호 프로세서(508)에 이용 가능할 때 코너링 강성에 대한 업데이트된 값들을 생성할 수 있다(도 5b 참조). 차량 상태 변수들의 예측 및/또는 추정에 사용되는 파라미터들을 지속적으로 업데이트하는 것에 의해, 신호 프로세서(508)는 환경(예를 들면, 환경(100)) 내의 하나 이상의 다른 시스템에 프로세싱된 센서 데이터(510)로서 출력되는 차량 상태 변수들의 정확도를 개선시킬 수 있다. 신호 프로세서(508)(및 신호 프로세싱 시스템(502))의 동작들은 도 5b를 참조하여 아래에서 보다 상세히 기술된다.
신호 프로세싱 시스템에 대한 상세한 설명
도 5b는 일부 실시예에 따른 도 5a의 신호 프로세싱 시스템을 예시하는 보다 상세한 블록 다이어그램이다. 예시된 예에서, 신호 프로세싱 시스템(502)은 CAN(controller area network) 신호들(520)(본원에서 CAN 버스 신호들이라고도 지칭됨)를 수신하고, 데이터 프리프로세싱 블록(502A), 전진 속도 예측 블록(502B), 횡방향 속도 예측 블록(502C), 횡력 예측 블록(502D), 수직 항력 예측 블록(502E), 코너링 강성 추정 블록(502F) 및 운동학적 필터 블록(502G)(집합적으로 블록들(502)이라고도 지칭됨)을 포함한다. 도 5b에 도시되어 있지 않지만, 신호 프로세싱 시스템(502)은 추정되거나 예측된 차량 상태 변수들 중 하나 이상(예를 들면, 블록들(502F 및 502G)에 의해 출력되는 것으로 표시된 변수들의 임의의 조합)을 차량의 하나 이상의 다른 시스템(예를 들면, 도 4에 도시된 것들)으로 출력할 수 있다.
CAN 버스 신호들
CAN 신호들(520)은 전진 가속도 및 횡방향 가속도, 요레이트 등을 나타내는 관성 측정 유닛(IMU) 센서 데이터, 바퀴/타이어 속력(들)을 나타내는 바퀴/타이어 속력 센서 데이터, 조향각을 나타내는 조향각 센서 데이터 등(본원에 기술된 임의의 다른 신호 또는 값을 포함함)을 포함할 수 있다.
데이터 프리프로세싱
데이터 프리프로세싱 블록(502A)에서, 신호 프로세싱 시스템(502)은 도 5b에 예시된 블록들(502)에 의해 사용될 CAN 신호들(520)을 프리프로세싱한다.
신호 프로세싱 시스템(502)에 의해 수행될 수 있는 하나의 프리프로세싱은 바이어스 제거(또는 바이어스 감소)이다. 예를 들어, IMU가 항상 차량의 무게 중심("CG")에 위치하는 것은 아닐 수 있으며, 그의 정확한 위치는 승객(들) 및/또는 화물의 중량의 분포에 따라 변할 수 있다. 이것은 일부 경우에 신뢰할 수 없는 IMU 센서 데이터를 바로 사용할 수 있다. 추가적으로, IMU는 정정될 필요가 있을 수 있는 (예를 들면, IMU에 사용되는 컴포넌트들에서의 불완전성으로 인한) 내재된 바이어스(built-in bias)(예를 들면, 차량이 움직이지 않을 때 0이 아닌 가속도 값)가 있을 수 있다. 바이어스 제거 외에도, 신호 프로세싱 시스템(502)은 또한 다양한 신호 융합(예를 들면, 차량 종방향 속도를 예측하기 위해 바퀴 속력들을 융합하는 것), 신호 변환(예를 들면, 아래의 수학식 1) 등을 수행할 수 있다.
바이어스 결정 및 제거에 대한 하나의 접근법은 테스트 차량에서 높은 가속도, 중간 내지 높은 차량 전진 속도 및 상대적으로 급격한 조향 입력 하에서 수집되는 "실측 자료(ground truth)" 데이터를 사용하는 것 및 실측 자료 데이터와 관련하여 차량의 내재된 IMU 바이어스를 검증하는 것을 포함한다. 예시적인 실험 환경(experimental setup)은 IMU 및 GPS 센서(예를 들면, Oxford Technical Solutions Ltd.에 의해 제조된 RT3000 모델 GNSS(Global navigation satellite system) 및 INS(Inertial Navigation System))을 장착한 테스트 차량, 테스트 차량을 운전하기 위한 고 마찰 계수("하이 뮤(high-mu)") 도로 표면(예를 들면, 자동차 경주 트랙), 및 도로 표면에서 테스트 차량을 운전하는 것으로부터 수집되는 다수의 운전 사이클 데이터 세트들(예를 들면, 5 개의 세트)를 포함할 수 있다.
예시적인 실험 환경에서, (도 6a 내지 도 6c에 예시되고 아래의 표 1에 정의된 규약에 따라) GPS 센서 데이터 세트들을 수집하기 위해 다음 관계들이 사용된다:
[수학식 1]
Figure pat00001
여기서 vy(CG), ax(CG), 및 ay(CG)는 테스트 차량의 무게 중심(CG) 상으로 반영되는 GPS 측정치들 vy(GPS), ax(GPS), 및 ay(GPS)를 나타내고, dx는 차량의 CG와 종축(x축)을 따라 있는 GPS 센서의 위치 사이의 오프셋 거리를 나타낸다.
도 6a는 차량 상태 추정에 사용되는 신호 규약의 예의 예시이다. 도 6a에 도시된 바와 같이, 신호 규약의 x축은 차량의 전진 방향을 따라 제공되고, 신호 규약의 y축은 차량의 측방 방향을 따라 제공되며, 신호 규약의 z축은 차량의 전진 방향 및 측방 방향 양쪽 모두에 수직인 방향을 따라 제공된다. 도 6a는 또한 x축을 중심으로 한 각속도 ωx, y축을 중심으로 한 각속도 ωy, 및 z축을 중심으로 한 각속도 ωz를 도시한다.
추가적으로, 본원에서 사용되는 변수들과 이들의 정의들의 리스트는 아래의 표 1에서 제공된다:
Figure pat00002
일부 실시예들에서, GPS 측정치들과 IMU 측정치들 간의 차이를 결정하는 것에 의해, 신호 프로세싱 시스템(502)은 데이터 프리프로세싱 블록(502A)에서 IMU에서의 바이어스를 계산하고 제거한다(또는 감소시킨다). 예를 들어, 횡방향 가속도 또는 전진 가속도에서의 바이어스는 다음 방정식을 사용하여 계산될 수 있다:
[수학식 2]
Figure pat00003
노이즈의 영향을 감소시키거나 최소화하기 위해, 계산된 바이어스 값에 대해 다음과 같이 저역 통과 필터가 사용될 수 있다:
[수학식 3]
Figure pat00004
수학식 3에서, k는 현재 샘플 시각(time instant)을 나타내고, k-1은 이전 샘플 시각을 나타내며, bias()는 노이즈를 포함하는 원시 바이어스(raw bias) 계산 함수를 나타내고, bias_filt()는 bias()에서 포함되는 노이즈의 적어도 일부를 포함하지 않는(이에 의해 바이어스 계산을 평활화하는) 필터링된 바이어스(filtered bias) 계산 함수를 나타낸다.
다른 실시예들에서, 신호 프로세싱 시스템(502)은 GPS 센서에 의존하지 않고 (예를 들면, 차량이 정지해 있거나 느리게 움직이고 있을 때 IMU에서의 0이 아닌 동향 또는 0이 아닌 상수 값을 제로 아웃(zero out)하는 것에 의해) 미리 결정된 조건들을 사용하여 바이어스를 결정한다. 그러한 실시예들에서, 바이어스 감소 또는 제거는 라이브 데이터(live data)를 사용하여 수행된다.
전진 속도 예측
전진 속도 예측 블록(502B)에서, 신호 프로세싱 시스템(502)은 차량 동역학 상태 추정(예를 들면, 운동학적 필터 블록(502G)에 의해 수행되는 속도 추정)으로 피드포워드할 차량 전진 속도(종방향 속도라고도 지칭됨)의 예측된 값을 계산한다. 바퀴들의 회전 속도들이 차량 종방향 속도에 관한 주요 정보 소스이다. 따라서, 일부 실시예들에서, 신호 프로세싱 시스템(502)은 (예를 들면, 도 5b에 도시된 바와 같은 데이터 프리프로세싱 블록(502A)에서) 인코더들을 사용하여 측정되는 바퀴 각도 변화율들을 일정한 롤링 반경(rolling radius)을 곱하는 것에 의해 등가 선형 바퀴 속도들(도 5b에서 vw(1:4)로서 예시되는 VFL,VFR,VRL,VRR)을 계산한다.
그렇지만, 바퀴들은 가속과 제동 동안 종방향으로 슬립하는 경향이 있다. 더욱이, 앞바퀴들이 조향될 때, 이들의 종방향이 차량과 정렬되지 않고 요 레이트가 추가적인 항을 추가한다. 따라서, 일부 실시예들에서, 수정된 속도 값들이 다음과 같이 계산될 수 있다:
[수학식 4.1]
Figure pat00005
여기서 V_meas_FL, V_meas_FR, V_meas_RL 및 V_meas_RR은 바퀴들의 측정된 등가 선형 속도들이고 L은 2 개의 뒷바퀴(또는 2 개의 앞바퀴) 사이의 거리이다.
도 6b는 종방향 속도 예측에 사용되는 신호 규약의 예의 예시이다. 이 신호 규약에 따르면, 4 개의 바퀴 속력(VFL,VFR,VRL,VRR)은 다음과 같이 차량 전진 속도를 표현하는 데 사용될 수 있다:
[수학식 4.2a]
Figure pat00006
[수학식 4.2b]
Figure pat00007
[수학식 4.2c]
Figure pat00008
[수학식 4.2d]
Figure pat00009
이러한 표현식들은 아래에 나와 있는 바와 같이 CG에서의 전진 속도에 대한 예측을 획득하기 위해 방사형 기저 함수들을 사용하여 가중합으로서 융합될 수 있다:
[수학식 4.3]
Figure pat00010
여기서
[수학식 4.4]
Figure pat00011
식 (4.3)에서,
Figure pat00012
는 예측된 전진 속도의 이전 샘플 값이고,
Figure pat00013
이다. 추가적으로, 파라미터들
Figure pat00014
Figure pat00015
(4 개의 값)은 튜닝 가능하며 상이한 바퀴 속력들 및 전진 가속도 ax의 불확도/신뢰도 레벨을 반영한다.
추가적으로 또는 대안적으로, 종방향 슬립의 영향을 고려하기 위해, 신호 프로세싱 시스템(502)은 (i) 전진 가속도가 양의 가속도 임계 값 이상인 경우 바퀴 속도들(VFL,VFR,VRL,VRR) 중 최대 값을 식별하고 사용하는 것, (ii) 전진 가속도가 음의 가속도 임계 값(즉, 감속도 임계 값) 이하인 경우 바퀴 속도들(VFL,VFR,VRL,VRR) 중 최소 값을 식별하고 사용하는 것, 및 (iii) 전진 가속도가 양의 가속도 임계 값과 음의 가속도 임계 값 사이에 있는 경우 바퀴 속도들의 가중 평균을 계산하는 것 - 각각의 바퀴 속도에 할당되는 가중치는 각각의 바퀴 속도 측정치의 신뢰도 및 추정된 속도에 대한 그의 영향(예를 들면, 각각의 바퀴의 슬립하는 경향)에 따라 의존함 - 에 의해 (도 5b에서 vx,pred로서 예시된) 전진 속도의 예측을 계산할 수 있다.
일부 실시예들에서, 바퀴 속도들의 서브세트만이 전진 속도의 예측에서 사용된다(예를 들면, 뒷바퀴들만, 앞바퀴들만 등). 도 5b에 도시된 바와 같이, 예측된 전진 속도는 횡방향 속도 예측 블록(502C) 및 운동학적 필터 블록(502G)에 제공된다.
횡방향 속도 예측
횡방향 속도 예측 블록(502C)에서, 신호 프로세싱 시스템(502)은 차량 동역학 상태 추정(예를 들면, 운동학적 필터 블록(502G)에 의해 수행되는 속도 추정)으로 피드포워드할 차량 횡방향 속도의 예측된 값을 계산한다.
횡방향 속도 예측에 대한 하나의 접근법은 아래의 방정식에 의해 정의되는 운동학적 접근법이다:
[수학식 5]
Figure pat00016
여기서 lf 및 lr은, 제각기, 차량의 CG로부터 앞 차축 및 뒤 차축까지의 거리들이다. 일부 경우에, 이러한 근사화는 vx 및 vy의 작은 값들에 대해 사용된다.
횡방향 속도 예측에 대한 다른 접근법은 자전거 모델을 사용하는 동적 접근법이다:
[수학식 6]
Figure pat00017
여기서 m 및 Iz는, 제각기, 차량의 질량 및 요 관성 모멘트(yaw-moment of inertia)이다. 이 모델은 선형 타이어 힘 작동 범위에서의 횡방향 동역학에 대한 양호한 근사화를 제공한다.
횡방향 속도 예측에 대한 또 다른 접근법은 타이어 횡력을 사용하여 다음이 획득되는 운동학적 접근법이다:
[수학식 7]
Figure pat00018
여기서 Fyf 및 Fyr은, 제각기, 앞바퀴 횡력(front lateral force)/뒷바퀴 횡력(rear lateral force)을 나타낸다. 여기서,
횡방향 속도 예측에 대한 또 다른 접근법은 위에 제시된 접근법에 밀접하게 관련된 운동학적 접근법이다:
[수학식 8]
Figure pat00019
여기서
Figure pat00020
는 요각의 가속도이다.
횡방향 속도 예측에 대한 또 다른 접근법은 다음과 같은 힘 및 모멘트 평형 방정식들(바람 항력(wind drag)은 무시됨)을 포함한다:
[수학식 9]
Figure pat00021
여기서 m은 차량 질량이고, Fyf 및 Fyr은, 제각기, 앞 차축 및 뒤 차축에서의 횡력이며, Jz는 z축에 대한 차량 관성 모멘트이다.
첫 번째 방정식에 lf를 곱하고, 두 번째 방정식을 빼며, Fyr을 대입하는 것에 의해, 신호 프로세싱 시스템(502)은 다음을 획득할 수 있다:
[수학식 10]
Figure pat00022
vy에 대해 푸는 것에 의해, 신호 프로세싱 시스템(502)은 횡방향 속도를 예측하기 위한 다음 표현식을 획득할 수 있다:
[수학식 11]
Figure pat00023
여기서 여기서 l = lf + lr이고 car은 뒤 타이어 코너링 강성(본원에서 Cr이라고도 지칭됨)이다.
일부 경우에, 위의 방식으로 예측되는 횡방향 속도를 사용하는 블록(502G)으로부터의 추정된 횡방향 속도가 더 정확할 수 있는데 왜냐하면 위의 접근법이 (예를 들면, Cf가 Cr만큼 정확하지 않는 경우에) Cr(또는 위의 방정식들에서의 Car)에만 의존하고 Cf에는 의존하지 않기 때문이다.
일부 실시예에 따른 횡방향 속도 예측에 대한 여러 접근법들이 본원에 기술되어 있지만, 다른 실시예들에서, 횡방향 속도 예측에 대한 상이한 접근법이 사용된다.
횡력 및 수직 항력의 예측
횡력 예측 블록(502D) 및 수직 항력 예측 블록(502E)에서, 신호 프로세싱 시스템(502)은, 제각기, 횡력 및 수직 항력의 예측된 값들을 계산한다. 횡력 및 수직 항력은 센서 데이터(예를 들면, 전진 가속도, 횡방향 가속도, 조향각 및 요 레이트) 및 블록(502B)으로부터의 다른 예측된 값들(예를 들면, 전진 속도 예측)을 사용하여 계산될 수 있다.
예를 들어, 앞 차축에 대한 횡력(Fyf), 뒤 차축에 대한 횡력(Fyr), 앞 차축에 대한 수직 항력(Fzf), 및 뒤 차축에 대한의 수직 항력(Fzr)는 (도 6c에 예시된 규약을 사용하여) 다음 방정식들을 사용하여 계산될 수 있다:
[수학식 12.1]
Figure pat00024
[수학식 12.2]
Figure pat00025
[수학식 12.3]
Figure pat00026
[수학식 12.4]
Figure pat00027
여기서 hcg는 차량의 CG의 높이를 나타내고, m 및 mtot는 차량의 총 질량을 나타낸다.
다른 실시예들에서, 횡력 및 수직 항력을 계산하는 다른 공지된 방법들이 사용될 수 있다.
코너링 강성 추정
코너링 강성 추정 블록(502F)에서, 신호 프로세싱 시스템(502)은 앞 타이어 및 뒤 타이어의 코너링 강성을 추정한다. 본원에 언급된 코너링 강성 값들을 추정하는 예시적인 프로세스는 도 6c에 예시된 규약에 따라 아래에서 기술된다.
추정 접근법
GNSS(global navigation satellite system) 및/또는 INS(inertial navigation system)(예를 들면, RT3000)를 사용하는 테스트 디바이스에서 수집되는 데이터에 기초하여, 앞 타이어들에 대한 예측된 횡력(Fyf) 및 뒤 타이어들에 대한 예측된 횡력(Fyr)은 차량 자전거 모델에 관한 모멘트 평형 및 힘 평형 방정식에 기초하여 계산될 수 있다:
[수학식 13]
Figure pat00028
여기서 ay는 무게 중심(CG)(예를 들면, 실제 CG 또는 추정되거나 미리 결정된 CG) 상으로 변환되는 횡방향 가속도의 테스트 디바이스 측정치이다.
작은 RWA 영역에서, 타이어 횡력은 타이어 슬립각 alpha_f 및 alpha_r과의 선형 관계로 표현될 수 있다:
[수학식 14]
Figure pat00029
여기서 델타는 RWA(road wheel angle)(여기서 조향각라고도 지칭됨)이고, 작은 RWA 영역에서, 전방 속도 각도 및 후방 속도 각도(앞 타이어 사이드 슬립각 및 뒤 타이어 사이드 슬립각)은 다음과 같이 근사화될 수 있다:
[수학식 15]
Figure pat00030
수집된 데이터를 사용하여, 신호 프로세싱 시스템(502)은 Fyf 대 alpha_f 및 Fyr 대 alpha_r을 플로팅(plotting)할 수 있고, 선형 피팅(linear fitting)을 사용하여 파라미터들 Cf 및 Cr(코너링 강성 값들)을 식별할 수 있다. 일부 실시예들에서, 신호 프로세싱 시스템(502)은 선형 영역 외부의 데이터를 트리밍하고 Fyf 대 alpha_f 및 Fyr 대 alpha_r의 플롯에 대한 작은 RWA 영역에 초점을 맞춘다. 이어서, 신호 프로세싱 시스템(502)은 파라미터들 Cf 및 Cr을 결정하기 위해 Fyf 대 alpha_f 및 Fyr 대 alpha_r의 플롯에 대해 선형 피팅(y = a*x)을 행한다.
Cf 및 Cr의 결정된 값들을 검증하기 위해, 신호 프로세싱 시스템(502)은 Cf 및 Cr 값들을 차량 상태 추정기에 입력하고, 동적 자전거 모델을 적분하는 것에 의해 예측되는 vy의 값을 결정된 Cf 및 Cr 값들을 사용하여 예측되는 vy의 값과 비교한다. 일부 실시예들에서, 신호 프로세싱 시스템(502)은 2 개의 값 사이의 차이가 임계 레벨 미만인지 여부를 결정하고, 그러한 경우에, 결정된 Cf 및 Cr 값들은 검증된다. 다른 실시예들에서, 신호 프로세싱 시스템(502)은 2 개의 값 사이의 차이가 결정된 Cf 및 Cr 값들과 상이한 디폴트 Cf 및 Cr 값들이 사용되는 경우의 2 개의 값 사이의 차이보다 작은지 여부를 결정하고, 그러한 경우에, 결정된 Cf 및 Cr 값들은 검증된다. 본원에 기술된 바와 같이, 신호 프로세싱 시스템(502)은 (예를 들면, 신호 프로세싱 시스템(502)의 다른 블록들 또는 다른 시스템들에 의한 사용을 위해) Cf 및 Cr 값들을 연속적으로 또는 주기적으로 업데이트할 수 있다.
차량 상태 추정
운동학적 필터 블록(502G)에서, 신호 프로세싱 시스템(502)은 블록(502G)에 입력되는 센서 데이터 및 임의의 예측되거나 추정된 변수들을 사용하여 차량 상태 추정을 수행한다. 차량 동역학(VD) 상태 추정은 차량의 전진 및 횡방향 움직임을 제어하는 데 필요한 다수의 중요한 신호들을 추정하는 것과 관련이 있다. 블록(502G)에서의 차량 상태 추정 이전에 수행되었을 수 있는 다수의 알고리즘들은 다음 중 하나 이상을 포함한다:
Figure pat00031
IMU(원시) 데이터 프리프로세싱 및 바이어스 제거
Figure pat00032
차량의 횡력 계산(앞 차축/뒤차축)
Figure pat00033
차량의 전진 속도/타이어 속력 융합
Figure pat00034
차량의 횡방향 속도 예측
Figure pat00035
타이어 코너링 강성 계산 및 업데이트
운동학적 필터 블록(502G)은 다음 작업들을 수행하는 데 사용될 수 있는 재귀 필터(예를 들면, 운동학적 칼만 필터(KF))를 포함할 수 있다:
Figure pat00036
vx를 바퀴 속력들을 융합하는 것으로부터 획득되는 그의 예측된 값으로부터 추정하는 것
Figure pat00037
vy, 피치각 및 롤각을 추정하는 것
블록(502G)에서 사용되는 필터를 구현하는 데 사용될 수 있는 하나의 예시적인 모델은 이하의 운동학적 모델이다:
[수학식 16]
Figure pat00038
첫 번째 방정식의 좌변에는 차량 상태 변수들의 변화율들(예를 들면, 전진 속도 vx의 변화율, 횡방향 속도 vy의 변화율, 위의 세 번째 방정식에서 정의되고 피치각 및 롤각을 포함하는 gx 및 gy의 변화율)을 포함하는 행렬이 제공된다. 첫 번째 방정식의 우변에는 칼만 필터의 동역학을 나타내는 4x4 행렬과 칼만 필터에 의해 추정되는(예를 들면, 그리고 신호 프로세싱 시스템(502)과 통신하는 다른 시스템들에 출력되는) 차량 상태 변수들을 포함하는 목표 행렬(예를 들면, 상태 벡터)을 곱한 것 및 또한 입력 값들(예를 들면, 전진 가속도 ax 및 횡방향 가속도 ay)을 포함하는 입력 행렬이 제공된다. 출력 신호 y(두 번째 방정식)에 의해 표시되는 바와 같이, 칼만 필터는 추정된 전진 속도 vx 및 추정된 횡방향 속도 vy를 포함하는 출력 벡터를 출력할 수 있다. 일부 실시예들에서, 칼만 필터의 오차율은 예측된 값들에서 추정된 값들을 뺀 것(예를 들면, (vx,pred - vx_hat, vy,pred - vy_hat))으로서 계산되고, 신호 프로세싱 시스템(502)은 오차율이 임계 값 미만인 것에 기초하여 칼만 필터가 추정된 값들을 성공적으로 추정하고 있다고 결정할 수 있다.
이 방정식의 일부는 아니지만, 운동학적 필터 블록(502G)은 타이어 사이드 슬립각 alpha_front 및 alpha_rear의 계산을 또한 포함할 수 있다. 일 예로서, 앞 타이어 사이드 슬립각 alpha_front 및 alpha_rear는 (도 6c에 예시된 규약을 사용하여) 다음 방정식들을 사용하여 계산될 수 있다:
[수학식 17]
Figure pat00039
일부 실시예들에서, 필터는 오일러 이산 시간 등가물(Euler discrete-time equivalent)을 사용하여 구현된다. 위의 운동학적 모델에 나와 있는 바와 같이, 칼만 필터는 vy의 예측된 값을 수신한다(이는 차량이 직선 운동을 하고 있을 때(즉, 요 레이트가 0이거나 0에 가까울 때) 노이즈를 감소시킬 수 있다). 그렇게 하는 것은 칼만 필터의 성능을 개선시킬 수 있다. 횡방향 속도 예측에 대한 수많은 상이한 접근법들이 본원에서 기술되고, 횡방향 속도 추정을 포함한, 차량 상태 추정을 수행하기 위해 횡방향 속도의 예측된 값들 중 임의의 것이 칼만 필터에 공급될 수 있다.
차량 상태 변수들을 다른 시스템들에 출력하기
도 5b에 도시된 블록들 중 임의의 것에서 결정되거나 추정되는 변수들의 임의의 조합을 사용하여, 신호 프로세싱 시스템(502)은 차량 상태 변수들을 차량의 하나 이상의 다른 시스템(예를 들면, 도 4에 도시된 것들)에 연속적으로 또는 주기적으로 출력할 수 있음으로써 그러한 시스템들이 차량 상태 변수들을 활용하여 그 각자의 동작들(예를 들면, 차량 이동을 제어하는 것, 다른 예측들 또는 추정들을 수행하는 것 등)을 수행할 수 있도록 한다. 예를 들어, 그러한 차량 상태 변수들은 차량으로 하여금 주어진 궤적을 따라가게 하고 궤적의 곡률을 예측하거나 추정하게 하기 위해 횡방향 속도 및 전진 속도 제어에서 사용될 수 있다.
그러한 구현의 일 예가 도 7에 도시되어 있다. 도 7은 센서 데이터에 기초한 차량 상태 추정을 위한 프로세스의 구현(700)의 다이어그램을 도시한다. 일부 실시예들에서, 구현(700)은 신호 프로세싱 시스템(702a), 계획 시스템(702b), 및 제어 시스템(702c)을 포함한다. 일부 실시예들에서, 신호 프로세싱 시스템(702a)은 신호 프로세싱 시스템(502)과 동일하거나 유사하다. 일부 실시예들에서, 계획 시스템(702b)은 계획 시스템(404)과 동일하거나 유사하다. 일부 실시예들에서, 제어 시스템(702c)은 제어 시스템(408)과 동일하거나 유사하다.
도 7에 도시된 바와 같이, 704에서, 센서 데이터가 신호 프로세싱 시스템(702)에 의해 (예를 들면, 도 5a 및 도 5b를 참조하여 기술된 것과 유사한 방식으로) 프로세싱되고, 706에서, (도 5a 및 도 5b를 참조하여 기술된 차량 상태 변수들 중 하나 이상을 포함할 수 있는) 프로세싱된 센서 데이터가 신호 프로세싱 시스템(702a)에 의해 (예를 들면, 도 5a 및 도 5b에서의 신호 프로세싱 시스템(502)에 의해 행해지는 바와 같이) 계획 시스템(702b) 및 제어 시스템(702c)으로 송신된다. 예를 들어, 계획 시스템(702b)은 프로세싱된 센서 데이터를 사용하여 차량과 연관된 루트를 생성할 수 있고, 제어 시스템(702c)은 프로세싱된 센서 데이터를 사용하여 차량과 연관된 작동을 제어할 수 있다. 시스템들(702b 및 702c)이 예들로서 예시되어 있지만, 보다 적은 또는 보다 많은 시스템들이 신호 프로세싱 시스템(702a)과 통신할 수 있고 그 각자의 작업들에서 사용하기 위해 프로세싱된 센서 데이터를 수신(706)하도록 구성될 수 있다.
예시적인 플로차트
이제 도 8을 참조하면, 센서 데이터에 기초한 차량 상태 추정을 위한 프로세스(800)의 플로차트가 예시되어 있다. 일부 실시예들에서, 프로세스(800)와 관련하여 기술된 단계들 중 하나 이상은 자율 주행 시스템(202)에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(800)와 관련하여 기술된 하나 이상의 단계는, 자율 주행 시스템(202)과 별개이거나 이를 포함하는 다른 디바이스 또는 디바이스 그룹에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 도 8에 예시된 흐름 다이어그램은 예시 목적으로만 제공된다. 도 8에 예시된 루틴의 단계들 중 하나 이상이 제거될 수 있거나 단계들의 순서가 변경될 수 있음이 이해될 것이다. 게다가, 명확한 예를 예시하기 위해, 하나 이상의 특정 시스템 컴포넌트가 데이터 흐름 스테이지들 각각 동안 다양한 동작들을 수행하는 맥락에서 기술된다. 그렇지만, 시스템 컴포넌트들에 걸친 프로세싱 단계들의 다른 시스템 배열들 및 분배들이 사용될 수 있다.
블록(802)에서, 신호 프로세싱 시스템(502)은 차량 상에 제공되는 하나 이상의 센서에 의해 생성되는 센서 데이터를 수신한다. 센서들은 IMU(예를 들면, 6-DoF IMU), 바퀴 속력 센서, 조향각 센서 등을 포함할 수 있다. 예를 들어, IMU는 차량의 무게 중심에 또는 차량 상의 인근 위치에 위치할 수 있다. 일부 실시예들에서, 센서들은 GPS 센서, 또는 전전 속도 또는 횡방향 속도를 검출하도록 구성된 다른 센서를 포함하지 않는다.
하나 이상의 센서에 의해 생성되는 센서 데이터는 차량의 전진 가속도 값, 차량의 횡방향 가속도 값, 차량의 조향각, 각각의 바퀴(예를 들면, 좌측 앞바퀴, 우측 앞바퀴, 좌측 뒷바퀴 및 우측 뒷바퀴)의 바퀴 회전 속력 등의 하나 이상의 조합을 포함할 수 있다. 일부 실시예들에서, 신호 프로세싱 시스템(502)은 블록(804)으로 진행하기 전에 센서 데이터에 대해 하나 이상의 프리프로세싱 동작(예를 들면, 바이어스 제거, 신호 융합, 신호 변환 등)을 수행한다.
블록(804)에서, 신호 프로세싱 시스템(502)은, 센서 데이터에 의해 표시되는 조향각 및 횡방향 가속도에 적어도 부분적으로 기초하여, 차량과 연관된 코너링 강성 값을 계산한다. 예를 들어, 신호 프로세싱 시스템(502)은 블록(502F)과 관련하여 위에서 설명된 기술들에 따라 코너링 강성 값을 계산할 수 있다.
블록(806)에서, 신호 프로세싱 시스템(502)은, 코너링 강성 값에 적어도 부분적으로 기초하여, 차량과 연관된 횡방향 속도 값을 예측한다. 예를 들어, 신호 프로세싱 시스템(502)은 블록(502C)과 관련하여 위에서 설명된 기술들에 따라 횡방향 속도 값을 예측할 수 있다.
블록(808)에서, 신호 프로세싱 시스템(502)은 적어도 횡방향 속도 값을 재귀 필터에 입력하는 것에 의해 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 출력한다. 예를 들어, 차량 상태 변수 세트는, 도 5b에 도시된 다른 변수들과 함께, 예측된 횡방향 속도를 재귀 필터(예를 들면, 칼만 필터)에 입력하는 것에 의해 결정되는 횡방향 속도의 추정된 값을 포함할 수 있다. 추가적으로, 신호 프로세싱 시스템(502)은 또한, 도 5b에 도시된 바와 같이, 추정된 코너링 강성 값들을 출력할 수 있다.
일부 실시예들에서, 신호 프로세싱 시스템(502)에 의해 출력되는 차량 상태 변수들 중 하나 이상은 차량의 이동을 제어하는 데 사용된다. 그러한 실시예들 중 일부에서, 그러한 제어는 차량으로 하여금 인간 운전자의 도움 없이 자율적으로 제어되게 하는 것을 포함한다.
도 8에 예시되어 있지 않지만, 신호 프로세싱 시스템(502)은 계속해서 업데이트된 코너링 강성 값들을 반복적으로 계산하고, 업데이트된 예측된 횡방향 속도 값들을 계산하며, 업데이트된 예측된 횡방향 속도 값들을 재귀 필터에 입력하고, 재귀 필터에 의해 출력되는 업데이트된 추정된 차량 동역학 상태 변수들을, 신호 프로세싱 시스템(502)과 통신하는 하나 이상의 외부 시스템에, 출력할 수 있다. 예를 들어, 업데이트된 코너링 강성 값들은 블록(806)에서 결정되는 예측된 횡방향 속도 또는 블록(808)에서 결정되는 추정된 횡방향 속도 중 어느 하나를 사용하여 계산될 수 있다. 일부 경우에, 센서 데이터의 일부로서 수신되는 업데이트된 요 레이트가 또한 업데이트된 코너링 강성 값들을 계산하는 데 사용된다. 추가적으로, 또는 대안적으로, 다른 예측되거나 추정된 변수들의 업데이트된 버전들이 업데이트된 코너링 강성 값들(예를 들면, 도 5b의 블록(502G)에 의해 출력되는 사이드 슬립각들)을 계산하는 데 사용될 수 있다.
일부 실시예들에서, 신호 프로세싱 시스템(502)은 업데이트된 코너링 강성 값들을 주기적으로 또는 미리 결정된 스케줄에 따라(예를 들면, 매분, 매 10분, 매시간 등) 계산한다. 다른 실시예들에서, 신호 프로세싱 시스템(502)은 코너링 강성 값들을 계산하는 데 사용되는 하나 이상의 변수(예를 들면, 횡력, 사이드 슬립각 등)의 변화에 응답하여 또는 그러한 변수(들)에 대한 임계 양의 변화가 검출되는 것에 응답하여 업데이트된 코너링 강성 값들을 계산한다.
루틴(800)이 상이한 센서 데이터(506) 및/또는 상이한 업데이트된 파라미터들(512)을 사용하여 여러 번 반복될 수 있다는 것이 이해될 것이다. 일부 경우에, 신호 프로세싱 시스템(502)은 차량이 주행하고 센서 데이터(506)를 캡처할 때 루틴(800)을 반복적으로 반복할 수 있다. 게다가, 신호 프로세싱 시스템(502)은 상이한 센서들 및/또는 센서들의 상이한 파라미터들에 대해 루틴(800)을 반복할 수 있다.
이 섹션에서는 일부 열거된 예시적인 구현들(EI들)이, 제한 없이, 제공된다.
EI 1: 시스템으로서, 적어도 하나의 프로세서, 및 명령어들을 저장하는 메모리를 포함하며, 명령어들은, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금: 하나 이상의 센서에 의해 생성되는 센서 데이터를 수신하게 하고 - 센서 데이터는 적어도 차량과 연관된 횡방향 가속도 값 및 차량과 연관된 조향각을 표시함 -; 센서 데이터에 의해 표시되는 조향각 및 횡방향 가속도에 기초하여, 차량과 연관된 코너링 강성 값을 계산하게 하며; 코너링 강성 값에 기초하여, 차량과 연관된 횡방향 속도 값을 예측하게 하고; 적어도 횡방향 속도 값을 재귀 필터에 입력하는 것에 의해 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 제공하게 하는, 시스템.
EI 2: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 차량의 이동이 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 사용하여 제어되게 하도록 더 구성되는, 시스템.
EI 3: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는, 인간 운전자의 도움에 대한 의존을 보류하면서, 차량의 이동이 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 사용하여 자율적으로 제어되게 하도록 더 구성되는, 시스템.
EI 4: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는, 센서 데이터에 기초하여, 차량과 연관된 전진 속도 값을 예측하고 전진 속도 값을 재귀 필터에 입력하도록 더 구성되는, 시스템.
EI 5: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는, 센서 데이터에 기초하여, 차량과 연관된 횡력 값 및 수직 항력 값을 예측하고, 횡력 값 및 수직 항력 값에 적어도 부분적으로 기초하여 코너링 강성 값을 계산하도록 더 구성되는, 시스템.
EI 6: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 센서 데이터에 대해 바이어스 제거 프로세스가 수행되어야 한다고 결정하고, 코너링 강성 값을 계산하는 데 센서 데이터를 사용하기 전에 센서 데이터에 대해 바이어스 제거 프로세스를 수행하도록 더 구성되는, 시스템.
EI 7: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 차량 상태 변수 세트에 기초하여 코너링 강성 값을 업데이트하도록 더 구성되는, 시스템.
EI 8: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 업데이트된 코너링 강성 값에 기초하여 횡방향 속도 값을 업데이트하도록 더 구성되는, 시스템.
EI 9: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 업데이트된 횡방향 속도 값에 기초하여 차량 상태 변수 세트를 업데이트하도록 더 구성되는, 시스템.
EI 10: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 코너링 강성 값을 주기적으로 업데이트하고 업데이트된 코너링 강성 값에 기초하여 횡방향 속도 값을 더 업데이트하도록 더 구성되는, 시스템.
EI 11: 임의의 선행하는 EI에 있어서, 코너링 강성 값은 앞바퀴 코너링 강성 값(front cornering stiffness value) 및 뒷바퀴 코너링 강성 값(rear cornering stiffness value)을 포함하는, 시스템.
EI 12: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 (i) 계획 시스템 - 계획 시스템에 출력되는 차량 상태 변수 세트는 계획 시스템으로 하여금 차량 상태 변수 세트에 기초하여 차량과 연관된 루트를 생성하게 하도록 구성됨 -, (ii) 제어 시스템 - 제어 시스템에 출력되는 차량 상태 변수 세트는 제어 시스템으로 하여금 차량 상태 변수 세트에 기초하여 차량과 연관된 작동을 제어하게 하도록 구성됨 -, (iii) 로컬화 시스템 - 로컬화 시스템에 출력되는 차량 상태 변수 세트는 로컬화 시스템으로 하여금 차량 상태 변수 세트에 기초하여 차량과 연관된 위치를 결정하게 하도록 구성됨 -, 또는 (iv) 예측 시스템 - 예측 시스템에 출력되는 차량 상태 변수 세트는 예측 시스템으로 하여금 차량 상태 변수 세트에 기초하여 차량과 연관된 예측을 결정하게 하도록 구성됨 - 중 적어도 하나에 차량 상태 변수 세트를 출력하도록 더 구성되는, 시스템.
EI 13: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 운동학적 자전거 모델을 사용하여 차량과 연관된 횡방향 속도 값을 예측하도록 더 구성되는, 시스템.
EI 14: 임의의 선행하는 EI에 있어서, 적어도 하나의 프로세서는 GPS(Global Positioning System) 센서와 각각 상이한 하나 이상의 센서에 의해 생성되는 센서 데이터에 기초하여 횡방향 속도 값을 예측하도록 더 구성되는, 시스템.
EI 15: 임의의 선행하는 EI에 있어서, 센서 데이터를 생성하도록 구성된 적어도 하나의 센서를 더 포함하는, 시스템.
EI 16: 방법으로서, 하나 이상의 센서에 의해 생성되는 센서 데이터를 수신하는 단계 - 센서 데이터는 적어도 차량과 연관된 횡방향 가속도 값 및 차량과 연관된 조향각을 표시함 -; 센서 데이터에 의해 표시되는 조향각 및 횡방향 가속도에 기초하여, 차량과 연관된 코너링 강성 값을 계산하는 단계; 코너링 강성 값에 기초하여, 차량과 연관된 횡방향 속도 값을 예측하는 단계; 및 적어도 횡방향 속도 값을 재귀 필터에 입력하는 것에 의해 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 출력하는 단계를 포함하는, 방법.
EI 17: 임의의 선행하는 EI에 있어서, 차량 상태 변수 세트에 기초하여 코너링 강성 값을 업데이트하는 단계; 및 업데이트된 코너링 강성 값에 기초하여 횡방향 속도 값을 업데이트하는 단계를 더 포함하는, 방법.
EI 18: 임의의 선행하는 EI에 있어서, 업데이트된 횡방향 속도 값에 기초하여 차량 상태 변수 세트를 업데이트하는 단계를 더 포함하는, 방법.
EI 19: 명령어들을 저장하는 적어도 하나의 비일시적 저장 매체로서, 명령어들은, 프로세서를 포함하는 컴퓨팅 시스템에 의해 실행될 때, 컴퓨팅 시스템으로 하여금: 하나 이상의 센서에 의해 생성되는 센서 데이터를 수신하게 하고 - 센서 데이터는 적어도 차량과 연관된 횡방향 가속도 값 및 차량과 연관된 조향각을 표시함 -; 센서 데이터에 의해 표시되는 조향각 및 횡방향 가속도에 기초하여, 차량과 연관된 코너링 강성 값을 계산하게 하며; 코너링 강성 값에 기초하여, 차량과 연관된 횡방향 속도 값을 예측하게 하고; 적어도 횡방향 속도 값을 재귀 필터에 입력하는 것에 의해 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 출력하게 하는, 적어도 하나의 비일시적 저장 매체.
EI 20: 임의의 선행하는 EI에 있어서, 명령어들은, 컴퓨팅 시스템에 의해 실행될 때, 추가로 컴퓨팅 시스템으로 하여금: 차량 상태 변수 세트에 기초하여 코너링 강성 값을 업데이트하게 하고; 업데이트된 코너링 강성 값에 기초하여 횡방향 속도 값을 업데이트하게 하며; 업데이트된 횡방향 속도 값에 기초하여 차량 상태 변수 세트를 업데이트하게 하는, 적어도 하나의 비일시적 저장 매체.
전술한 설명에서, 본 개시의 양태들 및 실시예들은 구현마다 달라질 수 있는 다수의 특정 세부 사항들을 참조하여 기술되었다. 그에 따라, 설명 및 도면들은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다. 본 발명의 범위의 유일한 독점적인 지표, 및 출원인들이 본 발명의 범위이도록 의도한 것은, 본 출원에서 특정 형태로 나오는 일련의 청구항들의 문언적 등가 범위이며, 임의의 후속 보정을 포함한다. 그러한 청구항들에 포함된 용어들에 대한 본원에서 명시적으로 기재된 임의의 정의들은 청구항들에서 사용되는 그러한 용어들의 의미를 결정한다. 추가적으로, 전술한 설명 및 이하의 청구항들에서 "더 포함하는"이라는 용어가 사용될 때, 이 문구에 뒤따르는 것은 추가적인 단계 또는 엔티티, 또는 이전에 언급된 단계 또는 엔티티의 서브단계/서브엔티티일 수 있다.

Claims (20)

  1. 시스템에 있어서,
    적어도 하나의 프로세서, 및
    명령어들을 저장하는 메모리
    를 포함하며, 상기 명령어들은, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금:
    하나 이상의 센서에 의해 생성되는 센서 데이터를 수신하게 하고 ― 상기 센서 데이터는 적어도 차량과 연관된 횡방향 가속도 값 및 상기 차량과 연관된 조향각을 표시함 ―;
    상기 센서 데이터에 의해 표시되는 상기 조향각 및 상기 횡방향 가속도에 기초하여, 상기 차량과 연관된 코너링 강성 값을 계산하게 하며;
    상기 코너링 강성 값에 기초하여, 상기 차량과 연관된 횡방향 속도 값을 예측하게 하고;
    적어도 상기 횡방향 속도 값을 재귀 필터에 입력하는 것에 의해 상기 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 제공하게 하는 것인, 시스템.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 차량의 이동이 상기 차량의 현재 상태를 나타내는 상기 차량 상태 변수 세트를 사용하여 제어되게 하도록 구성되는 것인, 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 인간 운전자의 도움에 대한 의존을 보류하면서, 상기 차량의 이동이 상기 차량의 현재 상태를 나타내는 상기 차량 상태 변수 세트를 사용하여 자율적으로 제어되게 하도록 구성되는 것인, 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 센서 데이터에 기초하여, 상기 차량과 연관된 전진 속도 값을 예측하고 상기 전진 속도 값을 상기 재귀 필터에 입력하도록 구성되는 것인, 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 센서 데이터에 기초하여, 상기 차량과 연관된 횡력(lateral force) 값 및 수직 항력(normal force) 값을 예측하고, 상기 횡력 값 및 상기 수직 항력 값에 적어도 부분적으로 기초하여 상기 코너링 강성 값을 계산하도록 구성되는 것인, 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 센서 데이터에 대해 바이어스 제거 프로세스가 수행되어야 한다고 결정하고, 상기 코너링 강성 값을 계산하는 데 상기 센서 데이터를 사용하기 전에 상기 센서 데이터에 대해 상기 바이어스 제거 프로세스를 수행하도록 구성되는 것인, 시스템.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 차량 상태 변수 세트에 기초하여 상기 코너링 강성 값을 업데이트하도록 구성되는 것인, 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 업데이트된 코너링 강성 값에 기초하여 상기 횡방향 속도 값을 업데이트하도록 구성되는 것인, 시스템.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 업데이트된 횡방향 속도 값에 기초하여 상기 차량 상태 변수 세트를 업데이트하도록 구성되는 것인, 시스템.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 코너링 강성 값을 주기적으로 업데이트하고, 상기 업데이트된 코너링 강성 값에 기초하여 상기 횡방향 속도 값을 더 업데이트하도록 구성되는 것인, 시스템.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 코너링 강성 값은 앞바퀴 코너링 강성 값(front cornering stiffness value) 및 뒷바퀴 코너링 강성 값(rear cornering stiffness value)을 포함하는 것인, 시스템.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, (i) 계획 시스템 ― 상기 계획 시스템에 출력되는 상기 차량 상태 변수 세트는 상기 계획 시스템으로 하여금 상기 차량 상태 변수 세트에 기초하여 상기 차량과 연관된 루트를 생성하게 하도록 구성됨 ―, (ii) 제어 시스템 ― 상기 제어 시스템에 출력되는 상기 차량 상태 변수 세트는 상기 제어 시스템으로 하여금 상기 차량 상태 변수 세트에 기초하여 상기 차량과 연관된 작동을 제어하게 하도록 구성됨 ―, (iii) 로컬화 시스템 ― 상기 로컬화 시스템에 출력되는 상기 차량 상태 변수 세트는 상기 로컬화 시스템으로 하여금 상기 차량 상태 변수 세트에 기초하여 상기 차량과 연관된 위치를 결정하게 하도록 구성됨 ―, 또는 (iv) 예측 시스템 ― 상기 예측 시스템에 출력되는 상기 차량 상태 변수 세트는 상기 예측 시스템으로 하여금 상기 차량 상태 변수 세트에 기초하여 상기 차량과 연관된 예측을 결정하게 하도록 구성됨 ― 중 적어도 하나에 상기 차량 상태 변수 세트를 출력하도록 구성되는 것인, 시스템.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 운동학적 자전거 모델을 사용하여 상기 차량과 연관된 상기 횡방향 속도 값을 예측하도록 구성되는 것인, 시스템.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, GPS(Global Positioning System) 센서와 각각 상이한 상기 하나 이상의 센서에 의해 생성되는 상기 센서 데이터에 기초하여 상기 횡방향 속도 값을 예측하도록 구성되는 것인, 시스템.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 센서 데이터를 생성하도록 구성되는 적어도 하나의 센서를 더 포함하는, 시스템.
  16. 방법에 있어서,
    하나 이상의 센서에 의해 생성되는 센서 데이터를 수신하는 단계 ― 상기 센서 데이터는 적어도 차량과 연관된 횡방향 가속도 값 및 상기 차량과 연관된 조향각을 표시함 ―;
    상기 센서 데이터에 의해 표시되는 상기 조향각 및 상기 횡방향 가속도에 기초하여, 상기 차량과 연관된 코너링 강성 값을 계산하는 단계;
    상기 코너링 강성 값에 기초하여, 상기 차량과 연관된 횡방향 속도 값을 예측하는 단계; 및
    적어도 상기 횡방향 속도 값을 재귀 필터에 입력하는 것에 의해 상기 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 출력하는 단계
    를 포함하는, 방법.
  17. 제16항에 있어서,
    상기 차량 상태 변수 세트에 기초하여 상기 코너링 강성 값을 업데이트하는 단계; 및
    상기 업데이트된 코너링 강성 값에 기초하여 상기 횡방향 속도 값을 업데이트하는 단계
    를 더 포함하는, 방법.
  18. 제16항 또는 제17항에 있어서,
    상기 업데이트된 횡방향 속도 값에 기초하여 상기 차량 상태 변수 세트를 업데이트하는 단계를 더 포함하는, 방법.
  19. 명령어들을 저장하는 적어도 하나의 비일시적 저장 매체에 있어서,
    상기 명령어들은, 프로세서를 포함하는 컴퓨팅 시스템에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금:
    하나 이상의 센서에 의해 생성되는 센서 데이터를 수신하게 하고 ― 상기 센서 데이터는 적어도 차량과 연관된 횡방향 가속도 값 및 상기 차량과 연관된 조향각을 표시함 ―;
    상기 센서 데이터에 의해 표시되는 상기 조향각 및 상기 횡방향 가속도에 기초하여, 상기 차량과 연관된 코너링 강성 값을 계산하게 하며;
    상기 코너링 강성 값에 기초하여, 상기 차량과 연관된 횡방향 속도 값을 예측하게 하고;
    적어도 상기 횡방향 속도 값을 재귀 필터에 입력하는 것에 의해 상기 차량의 현재 상태를 나타내는 차량 상태 변수 세트를 출력하게 하는, 적어도 하나의 비일시적 저장 매체.
  20. 제19항에 있어서,
    상기 명령어들은, 상기 컴퓨팅 시스템에 의해 실행될 때, 추가로 상기 컴퓨팅 시스템으로 하여금:
    상기 차량 상태 변수 세트에 기초하여 상기 코너링 강성 값을 업데이트하게 하고;
    상기 업데이트된 코너링 강성 값에 기초하여 상기 횡방향 속도 값을 업데이트하게 하며;
    상기 업데이트된 횡방향 속도 값에 기초하여 상기 차량 상태 변수 세트를 업데이트하게 하는, 적어도 하나의 비일시적 저장 매체.
KR1020220022493A 2022-01-05 2022-02-21 차량 제어 및 자율 주행 운전을 위한 센서 데이터를 보강하는 차량 상태 추정 KR20230106475A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/647,147 2022-01-05
US17/647,147 US20230219561A1 (en) 2022-01-05 2022-01-05 Vehicle state estimation augmenting sensor data for vehicle control and autonomous driving

Publications (1)

Publication Number Publication Date
KR20230106475A true KR20230106475A (ko) 2023-07-13

Family

ID=86766267

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220022493A KR20230106475A (ko) 2022-01-05 2022-02-21 차량 제어 및 자율 주행 운전을 위한 센서 데이터를 보강하는 차량 상태 추정

Country Status (5)

Country Link
US (1) US20230219561A1 (ko)
KR (1) KR20230106475A (ko)
CN (1) CN116443030A (ko)
DE (1) DE102022104054A1 (ko)
GB (1) GB2614578A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230347909A1 (en) * 2022-04-28 2023-11-02 Toyota Research Institute, Inc. Low speed cornering stiffness derate using a dynamic vehicle model

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6547343B1 (en) * 1997-09-08 2003-04-15 General Motors Corporation Brake system control
US6829524B2 (en) * 2001-08-20 2004-12-07 Wisys Technology Foundation, Inc. Method and apparatus for estimating yaw rate in a wheeled vehicle and stability system
US6816804B1 (en) * 2003-06-04 2004-11-09 Visteon Global Technologies, Inc. System and method for estimating velocity using reliability indexed sensor fusion
US8855848B2 (en) * 2007-06-05 2014-10-07 GM Global Technology Operations LLC Radar, lidar and camera enhanced methods for vehicle dynamics estimation
US8041491B2 (en) * 2007-10-18 2011-10-18 GM Global Technology Operations LLC Reconfigurable structure method of estimating vehicle lateral velocity
US8050838B2 (en) * 2008-11-24 2011-11-01 GM Global Technology Operations LLC Kinematic estimator for vehicle lateral velocity using force tables
US20150057877A1 (en) * 2013-08-22 2015-02-26 The Goodyear Tire & Rubber Company Tire wear state estimation system utilizing cornering stiffness and method
EP3059130A1 (en) * 2015-02-20 2016-08-24 Volvo Car Corporation Method, arrangement and system for estimating vehicle cornering stiffness
CN105151047B (zh) * 2015-09-08 2018-08-24 吉林大学 一种汽车质心侧偏角测量方法
US20200017139A1 (en) * 2018-07-12 2020-01-16 Steering Solutions Ip Holding Corporation Rack force estimation for steering systems
US11014569B2 (en) * 2018-07-31 2021-05-25 Nio Usa, Inc. Vehicle control system using nonlinear dynamic model states and steering offset estimation
JP7036080B2 (ja) * 2019-04-02 2022-03-15 株式会社豊田中央研究所 慣性航法装置
US20210139028A1 (en) * 2019-11-13 2021-05-13 Sf Motors, Inc. Fuzzy logic based and machine learning enhanced vehicle dynamics determination
US11702084B2 (en) * 2019-11-25 2023-07-18 The Goodyear Tire & Rubber Company Vehicle sideslip angle estimation system and method
US11845444B2 (en) * 2021-09-01 2023-12-19 GM Global Technology Operations LLC System and method for performing advanced driver-assistance functions including adaptively accounting for impact of different payload or trailer configurations

Also Published As

Publication number Publication date
DE102022104054A1 (de) 2023-07-06
GB2614578A (en) 2023-07-12
CN116443030A (zh) 2023-07-18
US20230219561A1 (en) 2023-07-13

Similar Documents

Publication Publication Date Title
KR102628736B1 (ko) 딥 러닝 기반 카메라 교정
KR20230092673A (ko) 매핑에서의 향상된 시맨틱 라벨링을 위한 멀티 모달 분할 네트워크
KR20230120974A (ko) 레이더를 사용하여 로컬화 및 차선 검출을 위한 연석 기반의 특징 추출
US20230066635A1 (en) Controlling vehicle performance based on data associated with an atmospheric condition
KR20230051035A (ko) Radar와 lidar 융합을 사용한 대상체 검출
KR20230001498A (ko) 사전 왜곡된 타겟을 사용하는 카메라 정렬 시스템 및 방법
KR20230106475A (ko) 차량 제어 및 자율 주행 운전을 위한 센서 데이터를 보강하는 차량 상태 추정
WO2023249857A1 (en) Semi-closed loop rollouts for data augmentation
KR20230042430A (ko) 자율 주행 차량에 대한 안전이 중요한 시나리오의 식별을 위한 학습
US20230227032A1 (en) Vehicle Dynamics Classification for Collision and Loss of Control Detection
US20240123996A1 (en) Methods and systems for traffic light labelling via motion inference
KR102631148B1 (ko) 센서 데이터를 사용하여 자동으로 교통 신호 검출
US11643108B1 (en) Generating corrected future maneuver parameters in a planner
US11676399B1 (en) Object tracking
US20230322270A1 (en) Tracker Position Updates for Vehicle Trajectory Generation
US20240051568A1 (en) Discriminator network for detecting out of operational design domain scenarios
KR20230070998A (ko) 차량 제어 시간 지연 보상
WO2024081593A1 (en) Methods and systems for traffic light labelling via motion inference
KR20230074396A (ko) 가상 에이전트들의 모션 예측
KR20230140517A (ko) 차량 루트 상의 대상체 횡단의 예측 및 제어
CN115705061A (zh) 用于运载工具的装置和方法
WO2024086056A1 (en) Identifying new classes of objects in environments of vehicles
KR20230167292A (ko) 융합된 합성 및 카메라 이미지들을 사용한 자율 주행 차량에서의 움직임 예측
WO2024081214A1 (en) Graph exploration forward search
KR20230173041A (ko) Ibis 카메라의 캘리브레이션 유지

Legal Events

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