[go: up one dir, main page]

KR102826565B1 - 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램 - Google Patents

차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR102826565B1
KR102826565B1 KR1020240102261A KR20240102261A KR102826565B1 KR 102826565 B1 KR102826565 B1 KR 102826565B1 KR 1020240102261 A KR1020240102261 A KR 1020240102261A KR 20240102261 A KR20240102261 A KR 20240102261A KR 102826565 B1 KR102826565 B1 KR 102826565B1
Authority
KR
South Korea
Prior art keywords
vehicle
model
data
logging data
representing
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.)
Active
Application number
KR1020240102261A
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 주식회사 라이드플럭스
Priority to KR1020240102261A priority Critical patent/KR102826565B1/ko
Application granted granted Critical
Publication of KR102826565B1 publication Critical patent/KR102826565B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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/14Yaw

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 차량의 주행에 관한 로깅 데이터를 획득하는 단계 및 상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계를 포함한다.

Description

차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램{METHOD, COMPUTING DEVICE AND COMPUTER PROGRAM FOR ESTIMATING VEHICLE MODEL REPRESENTING VEHICLE DYNAMICS CHARACTERISTICS BASED ON VEHICLE LOGGING DATA}
본 발명은 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램에 관한 것이다.
차량을 운전하는 사용자들의 편의를 위하여, 각종 센서와 전자 장치 등(예: 차량 운전자 보조 시스템(ADAS: Advanced Driver Assistance System)이 구비되고 있는 추세이며, 특히, 운전자의 개입 없이 주변 환경을 인식하고, 인식된 주변 환경에 따라 스스로 주어진 목적지까지 자동으로 주행하는 차량의 자율주행 시스템(Autonomous driving System)에 대한 기술 개발이 활발하게 이루어지고 있다.
자율주행 차량은 운전자의 개입 없이 주변 환경을 인식하고, 인식된 주변 환경에 따라 스스로 주어진 목적지까지 자동으로 주행하는 자율주행 시스템 기능을 탑재한 차량을 말하며, 자율주행 시스템 기능은 자율주행을 위해 측위, 인지, 예측, 계획 및 제어를 수행하는 것을 의미한다.
자율주행 시스템은 인지 프로세스를 통해, 센서(예컨대, 라이다 센서)를 통해 획득된 포인트 클라우드 데이터를 처리하여 자율주행 차량 주변에 위치하는 객체를 탐지하고, 계획 프로세스를 통해, 인지 프로세스를 수행함에 따라 도출되는 인지 결과(예: 객체의 위치, 자세, 속도 등의 정보)를 전달받아 자율주행 차량의 경로 및 속도 등의 주행 계획을 수립한다.
전술한 배경기술은 발명자가 본 발명의 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
통상적으로, 자율주행 차량을 보다 정밀하게 제어하기 위해서는 차량 모델(또는 동역학적 모델)이 필요하다.
여기서, 차량 모델은 차량의 동역학적 특성 즉, 차량의 거동을 설명하는 수학적 모델로, 차량에 인가되는 다양한 힘과 토크가 차량의 가속, 제동, 선회 등의 거동에 어떠한 영향을 미치는지 표현하는 모델이다. 예컨대, 차량 모델은 차량의 속도와 관련된 종방향 특성을 표현하는 모델과 차량의 방향과 관련된 횡방향 특성을 표현하는 모델을 포함할 수 있다.
한편, 차량의 질량, 관성 모멘트, 차체, 샤시(Chassis), 서스펜션(Suspension), 파워트레인, 타이어 특성 등 차량 모델에 영향을 끼치는 요소는 매우 다양하고, 동일한 종류의 차량이라도 차량의 부품이 노후화된 정도에 따라 차이가 발생될 수 있으며, 동일한 차량이라도 주행 환경(우천, 노면의 젖은 정도 등)에 따라 동역학적 특성이 달라질 수 있는데, 이상적인 환경에 대한 가정을 적용하고 차량 모델을 모델링할 경우, 상기와 같은 다양한 요소들을 모두 고려하는 것이 사실상 불가능에 가깝다는 한계가 있다.
또한, 여러 상황에서 반복적인 테스트를 수행하고 획득한 데이터에 기반하여 모델링을 하는 접근 방법도 존재하나, 이는 시간적, 비용적, 공간적 한계가 존재한다.
이에, 본 발명은 'Logging Data를 활용한 차량 모델 자동 생성'의 연구결과로 고안된 것으로서, 본 발명이 해결하고자 하는 과제는 차량이 다양한 주행 환경을 주행하는 과정에서 획득되는 로깅 데이터(logging data)를 기반으로 해당 차량에 대한 동역학적 특성을 나타내는 차량 모델을 추정함으로써, 다양한 조건에서 차량의 동역학적 특성을 효과적으로 반영할 수 있는 모델을 효율적으로 추정할 수 있는 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 차량의 주행에 관한 로깅 데이터를 획득하는 단계 및 상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 로깅 데이터를 획득하는 단계는, 상기 차량에 포함된 센서를 통해 수집되는 복수의 주행 데이터를 획득하되, 상기 획득된 복수의 주행 데이터는, 상기 차량이 소정 기간 동안 서로 다른 복수의 주행 환경을 주행하는 과정에서 수집되는 데이터인, 단계를 포함할 수 있다.
다양한 실시예에서, 상기 차량 모델을 추정하는 단계는, 상기 복수의 주행 환경에 따라 상기 획득된 복수의 주행 데이터를 분류하는 단계 및 상기 분류된 복수의 주행 데이터를 개별적으로 이용하여 상기 복수의 주행 환경 각각에 대응하는 복수의 차량 모델을 추정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 차량 모델을 추정하는 단계는, 상기 획득된 로깅 데이터를 시계열적으로 정렬함에 따라 데이터 행렬을 생성하는 단계, 특이값 분해(Singular Value Decomposition, SVD)를 통해, 상기 생성된 데이터 행렬로부터 상기 차량의 동역학적 특성을 가리키는 특징을 추출하는 단계, 동적 모드 분해(Dynamic Mode Decomposition, DMD)를 통해, 상기 추출된 특징 간의 시계열적 연관 관계를 나타내는 동적 행렬을 생성하는 단계 및 상기 생성된 동적 행렬을 이용하여 상기 차량의 차량 모델을 추정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 차량 모델을 추정하는 단계는, 상기 획득된 로깅 데이터를 이용하여 상기 차량의 속도와 관련된 종방향 특성을 나타내는 제1 차량 모델을 추정하는 단계 및 상기 획득된 로깅 데이터를 이용하여 상기 차량의 방향과 관련된 횡방향 특성을 나타내는 제2 차량 모델을 추정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 추정된 제1 차량 모델은, 하기의 수학식 1을 기반으로, 상기 차량의 속도와 관련된 특성을 나타내는 모델일 수 있다.
<수학식 1>
여기서, 상기 는 상기 추정된 제1 차량 모델, 상기 는 시간 상수, 상기 는 라플라스 변환의 변수 및 상기 목표 가속도일 수 있다.
다양한 실시예에서, 상기 추정된 제2 차량 모델은, 하기의 수학식 2를 기반으로, 상기 차량의 방향과 관련된 특성을 나타내는 모델일 수 있다.
<수학식 2>
여기서, 상기 는 상기 추정된 제2 차량 모델, 상기 는 상기 차량의 측면 변위, 상기 는 상기 차량의 측면 속도, 상기 는 상기 차량의 요(yaw) 각도, 상기 는 상기 차량의 각속도, 상기 는 상기 차량의 속도, 상기 은 상기 차량의 질량, 상기 는 상기 차량의 관성 모먼트, 상기 는 상기 차량의 전륜 타이어의 코너링 강성, 상기 는 상기 차량의 후륜 타이어의 코너링 강성, 상기 는 상기 차량의 전륜 조향 각도일 수 있다.
다양한 실시예에서, 상기 추정된 제2 차량 모델은, 하기의 수학식 3을 기반으로, 상기 차량의 방향과 관련된 특성을 나타내는 모델일 수 있다.
<수학식 3>
여기서, 상기 는 상기 추정된 제2 차량 모델, 상기 는 상기 차량의 측면 슬립 각, 상기 는 상기 차량의 요율, 상기 는 상기 차량의 속도, 상기 은 상기 차량의 질량, 상기 는 상기 차량의 관성 모먼트, 상기 는 상기 차량의 전륜 타이어의 코너링 강성, 상기 는 상기 차량의 후륜 타이어의 코너링 강성, 상기 는 상기 차량의 전륜 조향 각도, 상기 는 중력 가속도 및 상기 는 상기 차량이 도로를 주행할 때의 경사각일 수 있다.
다양한 실시예에서, 상기 차량 모델을 추정하는 단계는, 기 학습된 인공지능 모델을 이용하여 상기 획득된 로깅 데이터에 대한 차량 모델을 추정하되, 상기 기 학습된 인공지능 모델은, 복수의 차량이 서로 다른 주행 환경들을 주행하는 과정에서 수집되는 주행 데이터들과 상기 복수의 차량 각각에 대한 복수의 차량 모델을 학습 데이터로 하여 학습된 모델인, 단계를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 차량의 주행에 관한 로깅 데이터를 획득하는 단계, 상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계, 상기 차량으로부터 실시간 주행 데이터가 획득되는 경우, 상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 특성을 추출하고, 상기 추출된 특성을 기반으로 상기 차량의 상태를 판단하는 단계 및 상기 판단된 상태에 기초하여 상기 차량에 대한 제어를 수행하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 상기 추정된 차량 모델은, 복수의 차량 모델을 포함하며, 상기 차량의 상태를 판단하는 단계는, 상기 복수의 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 상기 차량의 상태에 관한 복수의 추정치를 산출하는 단계 및 상기 추출된 복수의 추정치를 기반으로 상기 차량의 상태를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 추출된 복수의 추정치를 기반으로 상기 차량의 상태를 판단하는 단계는, 상기 차량의 센서를 통해 수집되는 상기 차량의 상태에 관한 실측치를 이용하여, 상기 산출된 복수의 추정치 각각의 정확도를 산출하는 단계, 상기 복수의 차량 모델 중 상기 산출된 정확도가 가장 높은 추정치를 산출한 차량 모델 또는 상기 산출된 정확도가 기준 값 이상인 추정치를 산출한 차량 모델을 선택하는 단계 및 상기 선택된 차량 모델로부터 산출되는 추정치만을 이용하여 상기 차량의 상태를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 추출된 복수의 추정치를 기반으로 상기 차량의 상태를 판단하는 단계는, 상기 차량의 센서를 통해 수집되는 상기 차량의 상태에 관한 실측치를 이용하여, 상기 산출된 복수의 추정치 각각의 정확도를 산출하는 단계, 상기 산출된 정확도에 기초하여 상기 복수의 차량 모델 각각에 대한 가중치를 설정하는 단계 및 상기 복수의 차량 모델로부터 산출되는 복수의 추정치 각각에 상기 복수의 차량 모델 각각에 설정된 가중치를 부여하고, 상기 가중치가 부여된 복수의 추정치를 이용하여 상기 차량의 상태를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 차량의 상태를 판단하는 단계는, 상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 상기 차량의 상태에 관한 제1 특성을 추출하는 단계, 상기 차량에 대하여 기 생성된 기준 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 상기 차량의 상태에 관한 제2 특성을 추출하는 단계 및 상기 추출된 제1 특성과 상기 추출된 제2 특성을 이용하여 상기 차량의 상태를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 추정된 차량 모델은, 복수의 차량 모델을 포함하며, 상기 차량의 상태를 판단하는 단계는, 상기 차량의 현재 주행 환경에 기초하여 상기 복수의 차량 모델 중 어느 하나의 차량 모델을 선택하는 단계, 상기 선택된 어느 하나의 차량 모델을 이용하여 상기 획득된 실시간 주행 데이터로부터 상기 차량에 대한 특성을 추출하는 단계 및 상기 추출된 특성을 기반으로 상기 차량의 상태를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 어느 하나의 차량 모델을 선택하는 단계는, 상기 복수의 차량 모델이 동적 모드 분해(Dynamic Mode Decomposition, DMD)를 기반으로 추정된 차량 모델인 경우, 상기 복수의 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 산출되는 복수의 추정치와 상기 차량의 센서를 통해 수집되는 실측치를 비교하여 상기 복수의 차량 모델 각각의 정확도를 산출하는 단계 및 상기 산출된 정확도에 기초하여 상기 복수의 차량 모델 중 어느 하나의 차량 모델을 선택하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 어느 하나의 차량 모델을 선택하는 단계는, 상기 복수의 차량 모델이 기 학습된 딥러닝 모델을 기반으로 추정된 차량 모델인 경우, 상기 복수의 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 산출되는 복수의 추정치와 상기 차량의 센서를 통해 수집되는 실측치 간의 오차를 산출하는 단계 및 상기 산출된 오차의 표준편차에 기초하여 상기 복수의 차량 모델 중 어느 하나의 차량 모델을 선택하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 차량에 대한 제어를 수행하는 단계는, 상기 차량이 위치하는 소정의 공간을 스캔함에 따라 수집되는 센서 데이터를 기반으로 상기 차량에 대한 측위 데이터와 상기 차량의 주변에 위치하는 객체들에 대한 인지 데이터를 생성하는 단계, 상기 판단된 차량의 상태에 기초하여 상기 생성된 측위 데이터와 상기 생성된 인지 데이터를 보정하는 단계 및 상기 보정된 측위 데이터와 상기 보정된 인지 데이터를 기반으로 상기 차량의 동작을 제어하는 단계를 포함할 수 있다.
다양한 실시예에서, 상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 이상 판단방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 차량의 주행에 관한 로깅 데이터를 획득하는 단계, 상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계 및 상기 차량으로부터 실시간 주행 데이터가 획득되는 경우, 상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 특성을 추출하고, 상기 추출된 특성을 이용하여 상기 차량의 이상을 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 차량의 이상을 판단하는 단계는, 상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터를 분석하여 상기 차량의 상태에 관한 추정치를 산출하는 단계, 상기 산출된 추정치와 기준 값 - 상기 기준 값은 상기 차량의 센서를 통해 수집되는 상기 차량의 상태에 관한 실측치 및 상기 차량에 대하여 기 생성된 기준 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 산출되는 추정치 중 어느 하나를 포함함 - 간의 오차를 산출하는 단계 및 상기 산출된 오차가 임계값을 초과하는 경우, 상기 차량에 이상이 발생된 것으로 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 차량으로부터 실시간 주행 데이터가 획득되는 경우, 상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 상기 차량의 상태에 관한 추정치를 산출하는 단계, 상기 차량의 센서를 통해 수집되는 상기 차량의 상태에 관한 실측치와 상기 산출된 추정치를 기반으로 상기 추정된 차량 모델에 대한 확률 분포 및 오차 분산을 산출하는 단계 및 상기 산출된 확률 분포 및 오차 분산을 기반으로 상기 추정된 차량 모델의 성능을 평가하는 단계를 더 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법을 수행하는 컴퓨팅 장치는 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 차량의 주행에 관한 로깅 데이터를 획득하는 인스트럭션(instruction) 및 상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 인스트럭션을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은 컴퓨팅 장치와 결합되어, 차량의 주행에 관한 로깅 데이터를 획득하는 단계 및 상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계를 포함하는 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 다양한 주행 환경을 주행하는 과정에서 획득되는 로깅 데이터를 기반으로 차량에 대한 동역학적 특성을 나타내는 차량 모델을 추정함으로써, 다양한 조건에서 차량의 동역학적 특성을 나타내는 모델을 효율적으로 추정할 수 있고, 이상적인 가정과 전통적인 선형 모델이나 수학적 모델링만으로 명확히 획득하기 어려운 차량의 복잡한 동역학적 특성을 잘 반영한 차량 모델을 획득할 수 있으며, 이를 통해, 자율주행 차량의 제어 및 거동 예측의 정확도를 향상시킬 수 있다는 이점이 있다.
또한, 데이터에 기반하여 다수/다종의 차량에 대한 차량 모델의 생성이 가능하기 때문에 개발 효율 향상을 도모할 수 있다는 이점이 있다
또한, 로깅 데이터를 활용하여 차량 모델에 대한 평가를 자동화함으로써, 차량 모델의 성능 파악을 용이하게 수행할 수 있으며, 차량 모델의 변화를 판단하여 차량 이상상태 진단이 효율적으로 가능하다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 자율주행 시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법의 순서도이다.
도 4는 다양한 실시예에서, 차량 모델을 추정하는 과정을 도시한 도면이다.
도 5는 다양한 실시예에서, 동적 모드 분해(Dynamic Mode Decomposition, DMD) 기반의 차량 모델 추정 방법의 순서도이다.
도 6은 다양한 실시예에서, 인공지능 기반의 차량 모델 추정 방법의 순서도이다.
도 7은 다양한 실시예에 적용 가능한 인공지능 기반의 차량 모델 추정 모델을 예시적으로 도시한 도면이다.
도 8은 다양한 실시예에서, 차량 모델의 성능을 평가하는 방법의 순서도이다.
도 9는 다양한 실시예에서, 차량 모델을 이용하여 차량의 제어를 수행하는 방법의 순서도이다.
도 10은 다양한 실시예에서, 다수의 차량 모델을 이용하여 차량의 제어를 수행하는 과정을 도시한 도면이다.
도 11은 다양한 실시예에 적용 가능한 IMM(Interacting Multiple Model) 필터 및 Observer 모듈의 구조를 예시적으로 도시한 도면이다.
도 12는 다양한 실시예에서, 추정된 차량 모델과 기준 차량 모델을 이용하여 차량의 상태 및 이상을 판단하는 과정을 도시한 도면이다.
도 13은 다양한 실시예에서, 현재 주행 환경에 적합한 차량 모델을 선택하는 과정을 도시한 도면이다.
도 14는 다양한 실시예에서, IMM 필터를 통해 도출되는 동적 모드 분해(DMD) 기반의 차량 모델들의 시간-확률 값 그래프를 예시적으로 도시한 도면이다.
도 15는 다양한 실시예에서, 오류(error) 분석을 통해 도출되는 딥러닝(DL) 기반의 차량 모델들의 오류-확률 밀도 그래프를 예시적으로 도시한 도면이다.
도 16은 다양한 실시예에서, 차량 모델을 기반으로 차량의 이상을 판단하는 방법의 순서도이다.
도 17은 다양한 실시예에서, 차량 모델을 기반으로 차량의 이상을 판단하는 과정을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
본 명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서 사용되는 "제1", "제2", 또는 "첫째", "둘째" 등의 표현은, 문맥상 다르게 뜻하지 않는 한, 복수의 동종 대상들을 지칭함에 있어 한 대상을 다른 대상과 구분하기 위해 사용되며, 해당 대상들간의 순서 또는 중요도를 한정하는 것은 아니다.
본 명세서에서 사용되는 "A, B, 및 C," "A, B, 또는 C," "A, B, 및/또는 C" 또는 "A, B, 및 C 중 적어도 하나," "A, B, 또는 C 중 적어도 하나," "A, B, 및/또는 C 중 적어도 하나," "A, B, 및 C 중에서 선택된 적어도 하나," "A, B, 또는 C 중에서 선택된 적어도 하나," "A, B, 및/또는 C 중에서 선택된 적어도 하나" 등의 표현은, 각각의 나열된 항목 또는 나열된 항목들의 가능한 모든 조합들을 의미할 수 있다. 예를 들어, "A 및 B 중에서 선택된 적어도 하나"는, (1) A, (2) A 중 적어도 하나, (3) B, (4) B 중 적어도 하나, (5) A 중 적어도 하나 및 B 중 적어도 하나, (6) A 중 적어도 하나 및 B, (7) B 중 적어도 하나 및 A, (8) A 및 B를 모두 지칭할 수 있다.
본 명세서에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되고, 이 표현은 해당 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.
본 명세서에서 사용되는, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "연결되어" 있다거나 "접속되어" 있다는 표현은, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결 또는 접속되는 것뿐 아니라, 새로운 다른 구성요소(예: 제3 구성요소)를 매개로 하여 연결 또는 접속되는 것을 의미할 수 있다.
본 명세서에서 사용된 표현 "~하도록 구성된(configured to)"은 문맥에 따라, "~하도록 설정된", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는" 등의 의미를 가질 수 있다. 해당 표현은, "하드웨어적으로 특별히 설계된"의 의미로 제한되지 않으며, 예를 들어 특정 동작을 수행하도록 구성된 프로세서란, 소프트웨어를 실행함으로써 그 특정 동작을 수행할 수 있는 범용 프로세서(generic-purpose processor)를 의미할 수 있다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 자율주행 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 자율주행 시스템은 컴퓨팅 장치(100), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.
여기서, 도 1에 도시된 자율주행 시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 차량(10)에 대한 자율주행 제어를 수행할 수 있다. 이를 위해, 컴퓨팅 장치(100)는 측위 동작, 인지 동작, 계획 동작 및 제어 동작을 수행할 수 있다.
여기서, 도 1에 도시된 자율주행 시스템에 따르면, 컴퓨팅 장치(100)는 차량(10)의 외부에 별도로 구비될 수 있으며, 차량(10)의 외부에서 자율주행과 관련된 제어명령을 결정하고, 자율주행과 관련된 제어명령을 차량(10)으로 전송함으로써 차량(10)이 자율주행 동작을 수행하도록 할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 차량(10)의 내부에 구비되는 구성 요소 중 하나에 해당할 수 있으며, 차량(10)의 내부에서 자율주행과 관련된 제어명령을 결정하고, 자율주행과 관련된 제어명령에 따라 차량(10)의 구성 요소들을 직접 제어함으로써 차량(10)에 대한 자율주행 제어를 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 차량(10) 내에서 차량(10)에 포함된 구성 요소들의 동작을 제어하는 제어 모듈일 수 있다.
보다 구체적으로, 컴퓨팅 장치(100)에 의해 수행되는 측위 동작은 차량(10)의 위치 및 자세를 측정하는 동작을 의미할 수 있다. 예컨대, 컴퓨팅 장치(100)는 차량(10) 내에 구비되는 센서(예: LiDAR, RADAR, Camera, GNSS/INS, IMU 등)를 이용하여 차량(10)의 주변 환경을 스캔함에 따라 센서 데이터(예: 포인트 클라우드 데이터, 이미지 데이터 등)를 수집할 수 있고, 수집된 센서 데이터를 활용하여 차량(10)의 위치와 자세에 대응하는 측위 값을 포함하는 측위 정보를 도출할 수 있다.
다음으로, 컴퓨팅 장치(100)에 의해 수행되는 인지 동작은 차량(10)의 주변에 위치하는 객체를 탐지(detection) 및 추적(tracking)하는 동작을 의미할 수 있다. 예컨대, 컴퓨팅 장치(100)는 차량(10) 주변을 스캔함에 따라 수집되는 센서 데이터(예: 포인트 클라우드 데이터)를 분석함에 따라 차량(10) 주변에 존재하는 객체를 인지할 수 있으며, 인지된 객체에 관한 정보를 포함하는 인지 정보를 도출할 수 있다.
다음으로, 컴퓨팅 장치(100)에 의해 수행되는 계획 동작은 측위 모듈을 통해 도출되는 측위 정보와 인지 모듈을 통해 도출되는 인지 정보를 기반으로, 차량(10)의 제어를 위한 경로(path)와 속력 프로파일(speed profile)을 포함하는 주행 궤적을 생성하는 동작을 의미할 수 있다.
마지막으로, 컴퓨팅 장치(100)에 의해 수행되는 제어 동작은 계획 동작에 의해 도출된 주행 궤적에 관한 정보를 기반으로 차량(10)에 대한 횡방향 제어(방향 제어)와 종방향 제어(속력 제어)를 위한 제어명령을 결정 및 생성할 수 있고, 결정 및 생성된 제어명령에 따라 차량(10)의 동작을 제어하는 동작을 의미할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량(10)의 주행에 관한 로깅 데이터를 분석하여 차량(10)에 대응하는 차량 모델을 추정할 수 있고, 추정된 차량 모델을 통해 추출되는 차량(10)의 동역학적 특성에 기초하여 차량(10)의 상태를 판단할 수 있으며, 차량(10)의 상태를 고려하여 차량(10)의 동작을 제어하는 제어 명령을 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자 단말(200)로 자율주행과 관련된 각종 정보(예: 소정의 지역에 대한 정밀/고정밀 지도, 차량(10) 주변의 객체 인지 결과, 자율주행 제어를 위한 제어명령 및 제어명령에 따른 차량(10)의 동작 정보 등)를 제공할 수 있다.
여기서, 사용자 단말(200)은 컴퓨팅 장치(100)와 통신을 위한 메커니즘을 갖는 시스템에서의 임의의 형태의 엔티티(들)를 의미할 수 있다. 예를 들어, 이러한 사용자 단말(200)은 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 및 웨어러블 디바이스(wearable device) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다. 또한, 사용자 단말(200)은 에이전트, API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 컴퓨팅 장치를 포함할 수도 있다. 또한, 사용자 단말(200)은 애플리케이션 소스 및/또는 클라이언트 애플리케이션을 포함할 수 있다.
또한, 여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망, CAN(Controller Area Network) 및 이더넷(Ethernet) 등을 포함할 수 있다.
무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등을 포함할 수 있으나, 이에 한정되지는 않는다.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 컴퓨팅 장치(100)가 차량(10)의 로깅 데이터 기반 차량(10)의 동역학적 특성을 나타내는 차량 모델 추정방법을 수행하기 위해 필요한 각종 정보 및 데이터를 저장 및 관리하거나, 컴퓨팅 장치(100)가 차량(10)의 로깅 데이터 기반 차량(10)의 동역학적 특성을 나타내는 차량 모델 추정방법을 수행함에 따라 도출되는 각종 정보 및 데이터를 수집하여 저장 및 관리할 수 있다. 예컨대, 외부 서버(300)는 컴퓨팅 장치(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여, 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법을 수행하는 컴퓨팅 장치(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 2를 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(Random Access Memory, RAM)(미도시) 및 롬(Read-Only Memory, ROM)(미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(System on Chip, SoC) 형태로 구현될 수 있다.
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 발명의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(140)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 컴퓨팅 장치(100)를 통해 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정 프로세스를 수행하는 경우, 스토리지(150)는 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 차량의 주행에 관한 로깅 데이터를 획득하는 단계 및 획득된 로깅 데이터를 이용하여, 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계를 포함하는 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
도 3은 본 발명의 또 다른 실시예에 따른 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법의 순서도이고, 도 4는 다양한 실시예에서, 차량 모델을 추정하는 과정을 도시한 도면이다.
도 3 및 도 4를 참조하면, S110 단계에서, 컴퓨팅 장치(100)는 차량(10)의 주행에 관한 로깅 데이터를 획득할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 차량(10)과 연결될 수 있고, 차량(10)으로부터 소정의 기간 동안의 로깅 데이터를 획득할 수 있다.
여기서, 로깅 데이터는 차량(10)이 주행하는 과정에서 차량(10)에 포함된 각종 센서를 통해 수집되는 주행 데이터로, 예컨대, 로깅 데이터는 차량(10)이 주행 중인 환경에 관한 정보(예컨대, 날씨, 고속/저속 구간, 시내, 경사, 곡률 등), 차량(10)의 속도에 관한 정보(예컨대, 속도, 가속 등) 및 차량(10)의 방향에 관한 정보(예컨대, 각속도, 각가속도 등)를 포함할 수 있으나, 이에 한정되지 않은다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량(10)에 관한 로깅 데이터로서, 차량(10)이 소정의 기간 동안 서로 다른 복수의 주행 환경을 주행하는 과정에서 수집되는 복수의 주행 데이터를 획득할 수 있다.
S120 단계에서, 컴퓨팅 장치(100)는 S110 단계를 거쳐 획득된 로깅 데이터를 이용하여, 차량(10)의 동역학적 특성을 나타내는 차량 모델을 추정할 수 있다.
여기서, 차량(10)의 동역학적 특성은 차량(10)의 움직임 및 작용하는 힘과 관련된 물리적/역학적인 특성을 의미하는 것으로, 예컨대, 차량(10)의 동역학적 특성은 차량(10)의 속력, 가속도 등과 관련된 종방향 특성과 차량(10)의 방향과 관련된 횡방향 특성을 포함하는 것일 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 로깅 데이터로서, 차량(10)으로부터 수집된 복수의 주행 데이터를 전처리(Pre-processing)할 수 있고, 전처리된 복수의 주행 데이터를 이용하여 차량 모델을 추정할 수 있다.
일례로, 컴퓨팅 장치(100)는 복수의 주행 데이터 중 특정 주행 환경에서 수집되는 주행 데이터만을 추출하고, 추출된 주행 데이터만을 이용하여 차량(10)의 차량 모델을 추정할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 복수의 주행 데이터 중 특정 주행 환경에서 수집되는 주행 데이터들을 필터링한 후, 나머지 주행 데이터만을 이용하여 차량(10)의 차량 모델을 추정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 주행 데이터를 주행 환경(예: 날씨, 고속/저속 구간, 시내, 경사, 곡률 등)별로 분류할 수 있고, 분류된 복수의 주행 데이터를 개별적으로 이용함에 따라 복수의 주행 환경 각각에 대응하는 복수의 차량 모델을 추정할 수 있다.
또 다른 예로, 컴퓨팅 장치(100)는 복수의 주행 데이터를 주행 환경별로 분류 및 그룹화할 수 있고, 주행 환경별로 분류 및 그룹화된 복수의 주행 데이터를 각각 이용하여 주행 환경별 차량 모델을 생성할 수 있다. 그러나, 이에 한정되지 않는다. 이하, 도 5 및 도 6을 참조하여, 차량 모델을 추정하는 방법에 대해 구체적으로 설명하도록 한다.
도 5는 다양한 실시예에서, 동적 모드 분해(Dynamic Mode Decomposition, DMD) 기반의 차량 모델 추정 방법의 순서도이다.
도 5를 참조하면, S210 단계에서, 컴퓨팅 장치(100)는 로깅 데이터를 시계열적으로 정렬함에 따라 데이터 행렬을 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 차량(10)으로부터 소정의 기간 동안 수집된 복수의 주행 데이터를 시간 순서대로 정렬함에 따라 데이터 행렬을 생성할 수 있다.
상술된 방법에 따라 생성된 데이터 행렬의 각 열은 시간 순서에 따라 각 시점에서 측정된 차량(10)의 상태 값(예: 속도, 가속도, 조향 각도 등)을 나타내며, 데이터 행렬의 각 행은 속도, 가속도 및 조향 각도 등과 같은 차량(10)의 동역학적 변수를 나타낼 수 있다.
S220 단계에서, 컴퓨팅 장치(100)는 S210 단계를 거쳐 생성된 데이터 행렬로부터 차량(10)의 동역학적 특성을 가리키는 특징을 추출할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 특이값 분해(Singular Value Decomposition, SVD)를 통해, 데이터 행렬로부터 특징을 추출할 수 있다.
특이값 분해(SVD)는 하나의 행렬()을 세가지 행렬의 곱()으로 분해하는 과정을 의미한다.
여기서, 는 m×m 크기의 직교행렬(orthogonal matrix)이며, 이 행렬의 열벡터들은 '왼쪽 특이벡터'로 표현된다.
또한, 여기서, 는 m×n 크기의 대각행렬(diagonal matrix)이다. 대각행렬의 대각선 상의 요소들은 '특이값'이라고 하며, 이 값들은 행렬의 데이터가 가장 많이 분포하는 방향의 크기를 나타낸다. 이러한 특이값은 일반적으로 크기 순으로 배열된다.
또한, 여기서, 는 n×n 크기의 직교행렬의 전치행렬(transpose)이며, 이 행렬의 열벡터들은 '오른쪽 특이벡터'로 표현된다.
즉, 컴퓨팅 장치(100)는 복수의 주행 데이터를 기반으로 생성된 데이터 행렬을 특이값 분해함에 따라, 데이터 행렬로부터 차량(10)의 동역학적 특성을 나타내는 주요한 특징을 추출할 수 있다. 여기서, 특징은 차량(10)의 동역학적 특성을 대표하는 주요 패턴이나 구조를 나타낼 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 동적 모드 분해(Dynamic Mode Decomposition, DMD)를 기반으로, 특이값 분해(SVD)를 통해 추출된 특징 간의 시계열적 연관 관계를 나타내는 동적 행렬을 생성할 수 있다.
여기서, 동적 행렬은 시간에 따른 데이터의 변화를 설명하는 선형 연산자 즉, 각 시간 단계에서 다음 시간 단계로 상태가 어떻게 전이되는지를 설명하는 연산자를 의미하는 것일 수 있으나, 이에 한정되지 않는다.
S240 단계에서, 컴퓨팅 장치(100)는 S230 단계를 거쳐 생성된 동적 행렬을 이용하여 차량(10)의 차량 모델을 추정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 동적 행렬을 사용하여 차량(10)의 동적 거동을 수학적으로 표현하는 모델을 추정할 수 있으나, 이에 한정되지 않는다.
도 6은 다양한 실시예에서, 인공지능 기반의 차량 모델 추정 방법의 순서도이다.
도 6을 참조하면, S310 단계에서, 컴퓨팅 장치(100)는 차량 모델 추정을 위한 인공지능 모델을 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 차량(10)이 서로 다른 주행 환경들을 주행하는 과정에서 수집되는 주행 데이터들과 복수의 차량(10) 각각에 대한 복수의 차량 모델을 이용하여 학습 데이터를 생성할 수 있고, 이러한 학습 데이터를 이용하여 모델을 학습시킴에 따라 특정 로깅 데이터(주행 데이터)를 입력받아 차량 모델을 추출하는 인공지능 모델을 생성할 수 있다.
이때, 컴퓨팅 장치(100)는 미니배치 형식으로 학습 데이터를 모델을 학습시킬 수 있으나, 이에 한정되지 않는다.
여기서, 인공지능 모델(예: 신경망)은 하나 이상의 네트워크 함수로 구성되며, 하나 이상의 네트워크 함수는 일반적으로 ‘노드’라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 ‘노드’들은 ‘뉴런(neuron)’들로 지칭될 수도 있다. 하나 이상의 네트워크 함수는 적어도 하나 이상의 노드들을 포함하여 구성된다. 하나 이상의 네트워크 함수를 구성하는 노드(또는 뉴런)들은 하나 이상의 ‘링크’에 의해 상호 연결될 수 있다.
인공지능 모델 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 인공지능 모델이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 인공지능 모델은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 인공지능 모델 내에서 입력 노드 및 출력 노드 관계를 형성한다. 인공지능 모델 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 인공지능 모델의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 인공지능 모델이 존재하는 경우, 두 개의 인공지능 모델들은 서로 상이한 것으로 인식될 수 있다.
인공지능 모델을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 인공지능 모델 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 인공지능 모델 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 인공지능 모델 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 인공지능 모델 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 인공지능 모델을 구성하는 노드들을 의미할 수 있다. 본 발명의 일 실시예에 따른 인공지능 모델은 입력 레이어의 노드가 출력 레이어에 가까운 히든 레이어의 노드보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 인공지능 모델일 수 있다.
인공지능 모델은 하나 이상의 히든 레이어를 포함할 수 있다. 히든 레이어의 히든 노드는 이전의 레이어의 출력과 주변 히든 노드의 출력을 입력으로 할 수 있다. 각 히든 레이어 별 히든 노드의 수는 동일할 수도 있고 상이할 수도 있다. 입력 레이어의 노드의 수는 입력 데이터의 데이터 필드의 수에 기초하여 결정될 수 있으며 히든 노드의 수와 동일할 수도 있고 상이할 수도 있다. 입력 레이어에 입력된 입력 데이터는 히든 레이어의 히든 노드에 의하여 연산될 수 있고 출력 레이어인 완전 연결 레이어(FCL: fully connected layer)에 의해 출력될 수 있다.
일 실시예에서, 인공지능 모델은 딥러닝(Deep learning) 모델일 수 있다.
딥러닝 모델(예: 딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)은 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 인공지능 모델을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다.
딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있으나, 이에 한정되지 않는다.
본 개시의 일 실시예에서 네트워크 함수는 오토 인코더를 포함할 수도 있다. 오토 인코더는 입력 데이터와 유사한 출력 데이터를 출력하기 위한 인공 신경망의 일종일 수 있다. 오토 인코더는 적어도 하나의 히든 레이어를 포함할 수 있으며, 홀수 개의 히든 레이어가 입출력 레이어 사이에 배치될 수 있다. 각각의 레이어의 노드의 수는 입력 레이어의 노드의 수에서 병목 레이어(인코딩)라는 중간 레이어로 축소되었다가, 병목 레이어에서 출력 레이어(입력 레이어와 대칭)로 축소와 대칭되어 확장될 수도 있다. 차원 감소 레이어와 차원 복원 레이어의 노드는 대칭일 수도 있고 아닐 수도 있다. 오토 인코더는 비선형 차원 감소를 수행할 수 있다. 오토 인코더 구조에서 인코더에 포함된 히든 레이어의 노드의 수는 입력 레이어에서 멀어질수록 감소하는 구조를 가질 수 있다. 병목 레이어(인코더와 디코더 사이에 위치하는 가장 적은 노드를 가진 레이어)의 노드의 수는 너무 작은 경우 충분한 양의 정보가 전달되지 않을 수 있으므로, 특정 수 이상(예를 들어, 입력 레이어의 절반 이상 등)으로 유지될 수도 있다.
다양한 실시예에서, 인공지능 모델은 도 7에 도시된 바와 같이, 입력층 및 출력층과 32, 16, 8개의 노드를 각각 포함하는 3개의 히든 레이어를 포함하는 Multi-Layer Perceptron(MLP) Network일 수 있으나, 이에 한정되지 않는다.
S320 단계에서, 컴퓨팅 장치(100)는 S310 단계를 거쳐 생성된 인공지능 모델을 이용하여, 차량(10)의 로깅 데이터를 분석함에 따라 차량(10)에 대응하는 차량 모델을 도출할 수 있다.
다시, 도 3을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 차량(10)의 로깅 데이터를 이용하여, 차량(10)의 속도와 관련된 종방향 특성을 나타내는 제1 차량 모델과 차량(10)의 방향과 관련된 횡방향 특성을 나타내는 제2 차량 모델을 추정할 수 있다.
일례로, 컴퓨팅 장치(100)는 하기의 수학식 1을 기반으로 차량(10)의 속도와 관련된 특성을 나타내는 제1 차량 모델을 추정할 수 있다.
<수학식 1>
여기서, 는 제1 차량 모델, 는 시간 상수, 는 라플라스 변환의 변수 및 목표 가속도일 수 있다.
다른 예로, 컴퓨팅 장치(100)는 컴퓨팅 장치(100)는 하기의 수학식 2를 기반으로 차량(10)의 방향과 관련된 특성을 나타내는 제2 차량 모델을 추정할 수 있다.
<수학식 2>
여기서, 는 제2 차량 모델, 차량(10)의 측면 변위, 는 차량(10)의 측면 속도, 는 차량(10)의 요(yaw) 각도, 는 차량(10)의 각속도, 는 차량(10)의 속도, 은 상기 차량(10)의 질량, 는 차량(10)의 관성 모먼트, 는 차량(10)의 전륜 타이어의 코너링 강성, 는 차량(10)의 후륜 타이어의 코너링 강성, 는 상기 차량(10)의 전륜 조향 각도일 수 있다.
또 다른 예로, 컴퓨팅 장치(100)는 컴퓨팅 장치(100)는 하기의 수학식 3을 기반으로 차량(10)의 방향과 관련된 특성을 나타내는 제2 차량 모델을 추정할 수 있다.
<수학식 3>
여기서, 는 제2 차량 모델, 는 차량(10)의 측면 슬립 각, 는 상기 차량(10)의 요율, 는 차량(10)의 전륜 조향 각도, 는 중력 가속도 및 는 상기 차량(10)이 도로를 주행할 때의 경사각일 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량(10)의 로깅 데이터를 기반으로 추정된 차량 모델에 대한 성능을 평가할 수 있다. 이하, 도 8을 참조하여 설명하도록 한다.
도 8은 다양한 실시예에서, 차량 모델의 성능을 평가하는 방법의 순서도이다.
도 8을 참조하면, S410 단계에서, 컴퓨팅 장치(100)는 실시간 주행 중인 차량(10)의 센서로부터 실시간 주행 데이터가 획득되는 경우, 차량(10)의 로깅 데이터를 기반으로 추정된 차량 모델을 통해 실시간 주행 데이터를 분석함에 따라 차량(10)의 상태(예: 차량(10)의 속도 및 방향)에 관한 추정치를 산출할 수 있다.
S420 단계에서, 컴퓨팅 장치(100)는 실제 차량(10)의 상태(ground truth)로서, 차량(10)의 센서를 통해 측정되는 차량(10)의 속도 및 방향에 관한 실측치를 수집할 수 있다.
S430 단계에서, 컴퓨팅 장치(100)는 S410 단계를 거쳐 산출된 추정치와 S420 단계를 거쳐 수집된 실측치를 기반으로, 차량 모델에 대한 확률 분포와 오차 분산을 산출할 수 있다.
여기서, 차량 모델에 대한 확률 분포는 차량 모델의 정확도(또는 적합도)를 의미하는 것으로, 차량 모델이 얼마나 정확한 결과를 도출하는지를 나타내는 기준을 의미할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 하기의 수학식 4를 기반으로 차량 모델에 대한 확률 분포를 산출할 수 있다.
<수학식 4>
여기서, 는 차량 모델 j의 정확도(적합도, 확률 분포), 는 k시점에 차량 모델 j의 가능도 및 는 차량 모델 j의 정규화 상수일 수 있다.
여기서, k시점에 차량 모델 j의 가능도는 하기의 수학식 5를 기반으로 산출될 수 있다.
<수학식 5>
요기서, 는 k시점에 차량 모델 j의 가능도, 는 k시점에 차량 모델 j의 잔차, 는 k시점에 차량 모델 j의 오차 공분산일 수 있다.
여기서, k시점에 차량 모델 j의 잔차는 하기의 수학식 6을 기반으로 산출될 수 있다.
<수학식 6>
여기서, 는 k시점에 차량 모델 j의 잔차, 는 k시점에서의 실측치, 는 측정 행렬, 는 k시점에서의 추정치일 수 있다.
또한, k시점에 차량 모델 j의 오차 공분산은 하기의 수학식 7을 기반으로 산출될 수 있다.
<수학식 7>
여기서, 는 k시점에 차량 모델 j의 오차 공분산, 는 k시점에서 차량 모델 j의 예측 오차 공분산, 는 k시점에서 차량 모델 j의 측정 노이즈 공분산일 수 있다.
즉, 컴퓨팅 장치(100)는 상기의 수학식 4를 이용하여 차량 모델에 대한 확률 분포를 산출할 수 있고, 상기의 수학식 7을 이용하여 차량 모델에 대한 오차 분산을 산출할 수 있다.
S440 단계에서, 컴퓨팅 장치(100)는 S430 단계를 거쳐 산출된 확률 분포 및 오차 분산을 기반으로 차량 모델에 대한 성능을 평가할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량(10)의 센서로부터 정확한 정보 수집이 어려울 것으로 예측되는 센서 음영 상황(예컨대, 터널 또는 복잡한 도심 환경(빌딩숲) 등)에서의 차량(10) 제어 안정성에 기초하여, 차량 모델의 성능을 평가할 수 있다.
보다 구체적으로, 컴퓨팅 장치(100)는 센서 음영 상황(예컨대, 센서가 장애물에 의해 가려지거나, 기술적 결함으로 인해 일시적으로 작동하지 않는 상황)에서, 차량 모델을 통해 차량(10)의 상태를 판단할 수 있고, 판단된 상태를 기반으로 차량(10)의 제어를 수행했을 때의 제어 안정성을 평가할 수 있다.
여기서, 제어 안정성은 차량(10)의 승차감 및 주행 안정성에 기초하여 결정될 수 있으나, 이에 한정되지 않는다.
이후, 컴퓨팅 장치(100)는 정상적으로 센서 데이터 수집이 가능한 상황에서의 제어 안전성과 차량 모델로부터 산출된 추정치만을 이용하여 차량(10)의 제어를 수행하였을 때의 제어 안정성을 비교하여, 차량 모델의 성능을 평가할 수 있다. 그러나, 이에 한정되지 않는다.
다시, 도 3을 참조하면, S130 단계에서, 컴퓨팅 장치(100)는 S120 단계를 거쳐 추정된 차량 모델을 이용하여 차량(10)에 대한 제어를 수행할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량 모델을 통해 판단된 차량(10)의 상태에 기초하여, 차량(10)의 주행을 제어하는 제어명령을 결정할 수 있고, 결정된 제어명령을 이용하여 차량(10)의 동작을 제어할 수 있다. 이하, 도 9을 참조하여 보다 구체적으로 설명하도록 한다.
도 9는 다양한 실시예에서, 차량 모델을 이용하여 차량의 제어를 수행하는 방법의 순서도이다.
도 9를 참조하면, S510 단계에서, 컴퓨팅 장치(100)는 실시간 주행 중인 차량(10)으로부터 실시간 주행 데이터가 획득되는 경우, 차량 모델을 통해 실시간 주행 데이터로부터 차량(10)의 동역학적 특성을 추출할 수 있다. 예컨대, 컴퓨팅 장치(100)는 차량 모델을 통해 실시간 주행 데이터를 분석함에 따라 차량(10)의 상태(예: 차량(10)의 속도 및 방향)에 관한 추정치를 산출할 수 있다.
S520 단계에서, 컴퓨팅 장치(100)는 S510 단계를 거쳐 추출된 특성을 기반으로 차량(10)의 상태를 판단할 수 있다.
여기서, 차량(10)의 상태를 판단한다는 것은 실시간 주행 데이터로부터 산출된 속도 및 가속도, 각속도 및 각가속도, 조향 각도 등의 추정치를 기반으로, 차량(10)의 속도 및 가속도, 각속도 및 각가속도, 조향 각도 등을 확정하는 것을 의미하는 것일 수 있으나, 이에 한정되지 않고, 실시간 주행 데이터로부터 산출되는 추정치를 기반으로 차량(10)의 타이어 상태를 판단하거나, 엔진 및 기타 기계적 요소들의 상태를 판단하는 것을 의미할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 차량 모델을 통해 도출되는 복수의 추정치를 이용하여 차량(10)의 상태를 판단할 수 있다. 예컨대, 컴퓨팅 장치(100)는 IMM(Interacting Multiple Model) 필터를 이용하여 복수의 차량 모델을 통해 도출되는 복수의 추정치를 취합하고, 취합된 결과를 기반으로 차량(10)의 상태를 판단할 수 있다.
여기서, IMM 필터는 도 11에 도시된 바와 같이, 모델 혼합(Mixing), 모델 필터링(Filtering) 및 모델 병합(Merging)의 단계를 거쳐 다수의 차량 모델의 추정치를 취합함으로써, 최종적으로 차량(10)의 상태를 추정하는 기법을 수행하는 필터를 의미한다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 IMM 필터를 통해 모델 혼합 단계를 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 이전 시점에서의 각 차량 모델의 추정치()를 현재 시점의 초기 추정치()로 결합할 수 있다.
이후, 컴퓨팅 장치(100)는 IMM 필터를 통해 모델 필터링 단계를 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 각 모델에 대해 칼만 필터를 적용함에 따라 현재 시점에서의 상태 추정치()를 산출할 수 있다.
이후, 컴퓨팅 장치(100)는 IMM 필터를 통해 모델 확률 및 추정치 업데이트(Model Probability Update and Combination) 단계를 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 각 차량 모델에 대한 가능도()와 정확도()를 산출하고, 가능도()와 정확도())를 이용하여 차량 모델의 가중치를 조정할 수 있다.
이후, 컴퓨팅 장치(100)는 IMM 필터를 통해 모델 병합 단계를 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 모든 차량 모델의 추정치와 차량 모델들의 정확도(적합도, 확률)를 기반으로 최종 상태 추정치()를 결합할 수 있다.
일례로, 컴퓨팅 장치(100)는 차량(10)의 상태에 관한 실측치를 이용하여 산출된 복수의 추정치 각각의 정확도에 기초하여, 복수의 차량 모델 중 정확도가 가장 높은 추정치를 산출한 차량 모델 또는 정확도가 기준 값 이상인 추정치를 산출한 차량 모델을 선택할 수 있으며, 선택된 차량 모델로부터 산출되는 추정치만을 이용하여 차량(10)의 상태를 판단할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 차량(10)의 상태에 관한 실측치를 이용하여 산출된 복수의 추정치 각각의 정확도에 기초하여 복수의 차량 모델 각각에 대한 가중치를 설정할 수 있고, 복수의 차량 모델로부터 산출되는 복수의 추정치 각각에 복수의 차량 모델 각각에 설정된 가중치를 부여하며, 가중치가 부여된 복수의 추정치를 이용하여 차량(10)의 상태를 판단할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량(10)의 로깅 데이터를 기반으로 추정된 차량 모델과 기준 차량 모델을 이용하여 산출된 추정치를 기반으로 차량(10)의 상태를 판단할 수 있다.
보다 구체적으로, 도 12를 참조하면, 먼저, 컴퓨팅 장치(100)는 차량(10)의 로깅 데이터를 기반으로 추정된 차량 모델을 기반으로 차량(10)의 실시간 주행 데이터로부터 제1 특성을 추출할 수 있다.
또한, 컴퓨팅 장치(100)는 차량(10)에 대응하는 기준 차량 모델(Nominal Model)를 기반으로 차량(10)의 실시간 주행 데이터로부터 제2 특성을 추출할 수 있다.
여기서, 기준 차량 모델(Nominal Model)은 차량(10)에 대하여 기 생성된 차량 모델로, 예컨대, 차량(10)의 이상적인 상황을 가정하여 물리적 및 동역학적 특성을 고려해 사전 설계한 차량 모델일 수 있으나, 이에 한정되지 않는다.
이후, 컴퓨팅 장치(100)는 제1 특성과 제2 특성을 취합하여 차량(10)의 상태를 판단할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제1 특성과 제2 특성의 평균 값을 기반으로 차량(10)의 상태를 판단할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량(10)의 현재 주행 환경에 기초하여 복수의 차량 모델 중 어느 하나의 차량 모델을 선택할 수 있고, 선택된 차량 모델을 통해 추출되는 특성을 이용하여 차량(10)의 상태를 판단할 수 있다.
보다 구체적으로, 도 13을 참조하면, 먼저, 컴퓨팅 장치(100)는 복수의 차량 모델이 동적 모드 분해(DMD)를 기반으로 추정된 차량 모델인 경우, 복수의 차량 모델을 통해 산출되는 복수의 추정치와 차량(10)의 센서를 통해 수집되는 실측치를 비교하여 복수의 차량 모델 각각의 정확도를 산출할 수 있고, 산출된 정확도에 기초하여 복수의 차량 모델 중 어느 하나의 차량 모델을 선택할 수 있다. 예컨대, 도 14에 도시된 바와 같이, 컴퓨팅 장치(100)는 복수의 차량 모델 중 정확도로서 산출되는 확률 값이 가장 큰 차량 모델을 선택할 수 있으나, 이에 한정되지 않는다.
다음으로, 컴퓨팅 장치(100)는 복수의 차량 모델이 기 학습된 딥러닝 모델을 기반으로 추정된 차량 모델인 경우, 복수의 차량 모델을 통해 산출되는 복수의 추정치와 차량(10)의 센서를 통해 수집되는 실측치 간의 오차를 산출할 수 있고, 산출된 오차의 표준편차에 기초하여 복수의 차량 모델 중 어느 하나의 차량 모델을 선택할 수 있다. 예컨대, 도 15에 도시된 바와 같이, 컴퓨팅 장치(100)는 복수의 차량 모델 중 표준편차가 가장 작은 차량 모델을 선택할 수 있으나, 이에 한정되지 않는다.
S530 단계에서, 컴퓨팅 장치(100)는 S520 단계를 거쳐 판단된 차량(10)의 상태를 기반으로, 차량(10)의 자율주행 제어를 수행할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량(10)이 위치하는 소정의 공간을 스캔함에 따라 수집되는 센서 데이터를 기반으로 차량(10)에 대한 측위 데이터와 차량(10)의 주변에 위치하는 객체들에 대한 인지 데이터를 생성되는 경우, 차량(10)의 상태에 기초하여 측위 데이터와 인지 데이터를 보정할 수 있고, 보정된 측위 데이터와 인지 데이터를 기반으로 차량(10)의 동작을 제어할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 차량 모델을 이용하여 차량(10)의 이상을 판단할 수 있다. 이하, 도 16 및 도 17을 참조하여 설명하도록 한다.
도 16은 다양한 실시예에서, 차량 모델을 기반으로 차량의 이상을 판단하는 방법의 순서도이며, 도 17은 다양한 실시예에서, 차량 모델을 기반으로 차량의 이상을 판단하는 과정을 도시한 도면이다.
도 16 및 도 17을 참조하면, S610 단계에서, 컴퓨팅 장치(100)는 실시간 주행 중인 차량(10)의 센서로부터 실시간 주행 데이터가 획득되는 경우, 차량(10)의 로깅 데이터를 기반으로 추정된 차량 모델을 통해 실시간 주행 데이터를 분석함에 따라 차량(10)의 물리적, 동역학적 특성에 관한 추정치를 산출할 수 있다.
S620 단계에서, 컴퓨팅 장치(100)는 S610 단계를 거쳐 산출된 추정치를 기반으로 차량(10)의 이상을 판단할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)은 차량(10)의 로깅 데이터로부터 추정된 차량 모델을 통해 산출된 추정치와 기준 값 간의 오차를 산출할 수 있고, Observer 모듈을 통해 오차와 임계값을 비교하여 차량(10)의 이상을 판단할 수 있다.
여기서, Observer 모듈은 도 11에 도시된 IMM 필터와 동일 또는 유사한 구조를 가질 수 있으나, 이에 한정되지 않는다.
일례로, 컴퓨팅 장치(100)는 Observer 모듈을 통해 오차와 임계값을 비교한 결과, 오차가 임계값을 초과하는 경우, 차량(10)에 이상이 발생된 것으로 판단할 수 있다.
여기서, 기준 값은 차량(10)의 센서를 통해 수집되는 차량(10)의 상태에 관한 실측치일 수 있으나, 이에 한정되지 않고, 차량(10)에 대하여 기 생성된 기준 차량 모델을 통해 실시간 주행 데이터로부터 산출되는 추정치일 수 있다.
전술한 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 서술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 컴퓨팅 장치
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크

Claims (23)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    차량의 주행에 관한 로깅 데이터를 획득하는 단계; 및
    상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계를 포함하며,
    상기 차량 모델을 추정하는 단계는,
    상기 획득된 로깅 데이터를 시계열적으로 정렬함에 따라 데이터 행렬을 생성하는 단계;
    특이값 분해(Singular Value Decomposition, SVD)를 통해, 상기 생성된 데이터 행렬로부터 상기 차량의 동역학적 특성을 가리키는 특징을 추출하는 단계;
    동적 모드 분해(Dynamic Mode Decomposition, DMD)를 통해, 상기 추출된 특징 간의 시계열적 연관 관계를 나타내는 동적 행렬을 생성하는 단계; 및
    상기 생성된 동적 행렬을 이용하여 상기 차량의 차량 모델을 추정하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
  2. 제1항에 있어서,
    상기 로깅 데이터를 획득하는 단계는,
    상기 차량에 포함된 센서를 통해 수집되는 복수의 주행 데이터를 획득하되, 상기 획득된 복수의 주행 데이터는, 상기 차량이 소정 기간 동안 서로 다른 복수의 주행 환경을 주행하는 과정에서 수집되는 데이터인, 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
  3. 제2항에 있어서,
    상기 차량 모델을 추정하는 단계는,
    상기 복수의 주행 환경에 따라 상기 획득된 복수의 주행 데이터를 분류하는 단계; 및
    상기 분류된 복수의 주행 데이터를 개별적으로 이용하여 상기 복수의 주행 환경 각각에 대응하는 복수의 차량 모델을 추정하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 차량 모델을 추정하는 단계는,
    상기 획득된 로깅 데이터를 이용하여 상기 차량의 속도와 관련된 종방향 특성을 나타내는 제1 차량 모델을 추정하는 단계; 및
    상기 획득된 로깅 데이터를 이용하여 상기 차량의 방향과 관련된 횡방향 특성을 나타내는 제2 차량 모델을 추정하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
  6. 제5항에 있어서,
    상기 추정된 제1 차량 모델은,
    하기의 수학식 1을 기반으로, 상기 차량의 속도와 관련된 특성을 나타내는 모델인,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
    <수학식 1>

    여기서, 상기 는 상기 추정된 제1 차량 모델, 상기 는 시간 상수, 상기 는 라플라스 변환의 변수 및 상기 목표 가속도임
  7. 제5항에 있어서,
    상기 추정된 제2 차량 모델은,
    하기의 수학식 2를 기반으로, 상기 차량의 방향과 관련된 특성을 나타내는 모델인,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
    <수학식 2>

    여기서, 상기 는 상기 추정된 제2 차량 모델, 상기 는 상기 차량의 측면 변위, 상기 는 상기 차량의 측면 속도, 상기 는 상기 차량의 요(yaw) 각도, 상기 는 상기 차량의 각속도, 상기 는 상기 차량의 속도, 상기 은 상기 차량의 질량, 상기 는 상기 차량의 관성 모먼트, 상기 는 상기 차량의 전륜 타이어의 코너링 강성, 상기 는 상기 차량의 후륜 타이어의 코너링 강성, 상기 는 상기 차량의 전륜 조향 각도임
  8. 제5항에 있어서,
    상기 추정된 제2 차량 모델은,
    하기의 수학식 3을 기반으로, 상기 차량의 방향과 관련된 특성을 나타내는 모델인,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
    <수학식 3>

    여기서, 상기 는 상기 추정된 제2 차량 모델, 상기 는 상기 차량의 측면 슬립 각, 상기 는 상기 차량의 요율, 상기 는 상기 차량의 속도, 상기 은 상기 차량의 질량, 상기 는 상기 차량의 관성 모먼트, 상기 는 상기 차량의 전륜 타이어의 코너링 강성, 상기 는 상기 차량의 후륜 타이어의 코너링 강성, 상기 는 상기 차량의 전륜 조향 각도, 상기 는 중력 가속도 및 상기 는 상기 차량이 도로를 주행할 때의 경사각임
  9. 제1항에 있어서,
    상기 차량 모델을 추정하는 단계는,
    기 학습된 인공지능 모델을 이용하여 상기 획득된 로깅 데이터에 대한 차량 모델을 추정하되, 상기 기 학습된 인공지능 모델은, 복수의 차량이 서로 다른 주행 환경들을 주행하는 과정에서 수집되는 주행 데이터들과 상기 복수의 차량 각각에 대한 복수의 차량 모델을 학습 데이터로 하여 학습된 모델인, 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
  10. 제1항에 있어서,
    상기 차량으로부터 실시간 주행 데이터가 획득되는 경우, 상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 상기 차량의 상태에 관한 추정치를 산출하는 단계;
    상기 차량의 센서를 통해 수집되는 상기 차량의 상태에 관한 실측치와 상기 산출된 추정치를 기반으로 상기 추정된 차량 모델에 대한 확률 분포 및 오차 분산을 산출하는 단계; 및
    상기 산출된 확률 분포 및 오차 분산을 기반으로 상기 추정된 차량 모델의 성능을 평가하는 단계를 더 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법.
  11. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    차량의 주행에 관한 로깅 데이터를 획득하는 단계;
    상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계;
    상기 차량으로부터 실시간 주행 데이터가 획득되는 경우, 상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 특성을 추출하고, 상기 추출된 특성을 기반으로 상기 차량의 상태를 판단하는 단계; 및
    상기 판단된 상태에 기초하여 상기 차량에 대한 제어를 수행하는 단계를 포함하며,
    상기 추정된 차량 모델은,
    복수의 차량 모델을 포함하고,
    상기 차량의 상태를 판단하는 단계는,
    상기 복수의 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 상기 차량의 상태에 관한 복수의 추정치를 산출하는 단계; 및
    상기 추출된 복수의 추정치를 기반으로 상기 차량의 상태를 판단하는 단계를 포함하며,
    상기 추출된 복수의 추정치를 기반으로 상기 차량의 상태를 판단하는 단계는,
    상기 차량의 센서를 통해 수집되는 상기 차량의 상태에 관한 실측치를 이용하여, 상기 산출된 복수의 추정치 각각의 정확도를 산출하는 단계;
    상기 산출된 정확도에 기초하여 상기 차량의 상태를 판단하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 산출된 정확도에 기초하여 상기 차량의 상태를 판단하는 단계는,
    상기 복수의 차량 모델 중 상기 산출된 정확도가 가장 높은 추정치를 산출한 차량 모델 또는 상기 산출된 정확도가 기준 값 이상인 추정치를 산출한 차량 모델을 선택하는 단계; 및
    상기 선택된 차량 모델로부터 산출되는 추정치만을 이용하여 상기 차량의 상태를 판단하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법.
  14. 제11항에 있어서,
    상기 산출된 정확도에 기초하여 상기 차량의 상태를 판단하는 단계는,
    상기 산출된 정확도에 기초하여 상기 복수의 차량 모델 각각에 대한 가중치를 설정하는 단계; 및
    상기 복수의 차량 모델로부터 산출되는 복수의 추정치 각각에 상기 복수의 차량 모델 각각에 설정된 가중치를 부여하고, 상기 가중치가 부여된 복수의 추정치를 이용하여 상기 차량의 상태를 판단하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법.
  15. 제11항에 있어서,
    상기 차량의 상태를 판단하는 단계는,
    상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 상기 차량의 상태에 관한 제1 특성을 추출하는 단계;
    상기 차량에 대하여 기 생성된 기준 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 상기 차량의 상태에 관한 제2 특성을 추출하는 단계; 및
    상기 추출된 제1 특성과 상기 추출된 제2 특성을 이용하여 상기 차량의 상태를 판단하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법.
  16. 제11항에 있어서,
    상기 차량의 상태를 판단하는 단계는,
    상기 차량의 현재 주행 환경에 기초하여 상기 복수의 차량 모델 중 어느 하나의 차량 모델을 선택하는 단계;
    상기 선택된 어느 하나의 차량 모델을 이용하여 상기 획득된 실시간 주행 데이터로부터 상기 차량에 대한 특성을 추출하는 단계; 및
    상기 추출된 특성을 기반으로 상기 차량의 상태를 판단하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법.
  17. 제16항에 있어서,
    상기 어느 하나의 차량 모델을 선택하는 단계는,
    상기 복수의 차량 모델이 동적 모드 분해(Dynamic Mode Decomposition, DMD)를 기반으로 추정된 차량 모델인 경우, 상기 복수의 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 산출되는 복수의 추정치와 상기 차량의 센서를 통해 수집되는 실측치를 비교하여 상기 복수의 차량 모델 각각의 정확도를 산출하는 단계; 및
    상기 산출된 정확도에 기초하여 상기 복수의 차량 모델 중 어느 하나의 차량 모델을 선택하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법.
  18. 제16항에 있어서,
    상기 어느 하나의 차량 모델을 선택하는 단계는,
    상기 복수의 차량 모델이 기 학습된 딥러닝 모델을 기반으로 추정된 차량 모델인 경우, 상기 복수의 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 산출되는 복수의 추정치와 상기 차량의 센서를 통해 수집되는 실측치 간의 오차를 산출하는 단계; 및
    상기 산출된 오차의 표준편차에 기초하여 상기 복수의 차량 모델 중 어느 하나의 차량 모델을 선택하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법.
  19. 제11항에 있어서,
    상기 차량에 대한 제어를 수행하는 단계는,
    상기 차량이 위치하는 소정의 공간을 스캔함에 따라 수집되는 센서 데이터를 기반으로 상기 차량에 대한 측위 데이터와 상기 차량의 주변에 위치하는 객체들에 대한 인지 데이터를 생성하는 단계;
    상기 판단된 차량의 상태에 기초하여 상기 생성된 측위 데이터와 상기 생성된 인지 데이터를 보정하는 단계; 및
    상기 보정된 측위 데이터와 상기 보정된 인지 데이터를 기반으로 상기 차량의 동작을 제어하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 제어방법.
  20. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    차량의 주행에 관한 로깅 데이터를 획득하는 단계;
    상기 획득된 로깅 데이터를 이용하여, 상기 차량의 동역학적 특성을 나타내는 차량 모델을 추정하는 단계; 및
    상기 차량으로부터 실시간 주행 데이터가 획득되는 경우, 상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 특성을 추출하고, 상기 추출된 특성을 이용하여 상기 차량의 이상을 판단하는 단계를 포함하며,
    상기 차량 모델을 추정하는 단계는,
    상기 획득된 로깅 데이터를 시계열적으로 정렬함에 따라 데이터 행렬을 생성하는 단계;
    특이값 분해(Singular Value Decomposition, SVD)를 통해, 상기 생성된 데이터 행렬로부터 상기 차량의 동역학적 특성을 가리키는 특징을 추출하는 단계;
    동적 모드 분해(Dynamic Mode Decomposition, DMD)를 통해, 상기 추출된 특징 간의 시계열적 연관 관계를 나타내는 동적 행렬을 생성하는 단계; 및
    상기 생성된 동적 행렬을 이용하여 상기 차량의 차량 모델을 추정하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 이상 판단방법.
  21. 제20항에 있어서,
    상기 차량의 이상을 판단하는 단계는,
    상기 추정된 차량 모델을 통해 상기 획득된 실시간 주행 데이터를 분석하여 상기 차량의 상태에 관한 추정치를 산출하는 단계;
    상기 산출된 추정치와 기준 값 - 상기 기준 값은 상기 차량의 센서를 통해 수집되는 상기 차량의 상태에 관한 실측치 및 상기 차량에 대하여 기 생성된 기준 차량 모델을 통해 상기 획득된 실시간 주행 데이터로부터 산출되는 추정치 중 어느 하나를 포함함 - 간의 오차를 산출하는 단계; 및
    상기 산출된 오차가 임계값을 초과하는 경우, 상기 차량에 이상이 발생된 것으로 판단하는 단계를 포함하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델을 이용한 차량 이상 판단방법.
  22. 프로세서;
    네트워크 인터페이스;
    메모리; 및
    상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
    상기 프로세서는,
    상기 컴퓨터 프로그램에 포함된 하나 이상의 인스트럭션(instruction)을 실행함에 따라 제1항, 제11항 또는 제20항의 방법을 수행하는,
    차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법을 수행하는 컴퓨팅 장치.
  23. 컴퓨팅 장치와 결합되어,
    제1항, 제11항 또는 제20항의 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장된, 컴퓨터프로그램.
KR1020240102261A 2024-08-01 2024-08-01 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램 Active KR102826565B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240102261A KR102826565B1 (ko) 2024-08-01 2024-08-01 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020240102261A KR102826565B1 (ko) 2024-08-01 2024-08-01 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102826565B1 true KR102826565B1 (ko) 2025-06-27

Family

ID=96225447

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240102261A Active KR102826565B1 (ko) 2024-08-01 2024-08-01 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램

Country Status (1)

Country Link
KR (1) KR102826565B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200095636A (ko) * 2019-01-31 2020-08-11 현대자동차주식회사 대화 시스템이 구비된 차량 및 그 제어 방법
KR20210089116A (ko) * 2020-06-29 2021-07-15 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 종방향 동역학 모델의 트레이닝 방법, 장치 및 기기
CN114442509A (zh) * 2017-08-08 2022-05-06 北京图森未来科技有限公司 一种车辆动态模拟的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114442509A (zh) * 2017-08-08 2022-05-06 北京图森未来科技有限公司 一种车辆动态模拟的方法和装置
KR20200095636A (ko) * 2019-01-31 2020-08-11 현대자동차주식회사 대화 시스템이 구비된 차량 및 그 제어 방법
KR20210089116A (ko) * 2020-06-29 2021-07-15 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 종방향 동역학 모델의 트레이닝 방법, 장치 및 기기

Similar Documents

Publication Publication Date Title
CN112805198B (zh) 用于自主驾驶的个人驾驶风格学习
Kuefler et al. Imitating driver behavior with generative adversarial networks
US20210276547A1 (en) Multi-agent trajectory prediction
CN107697070B (zh) 驾驶行为预测方法和装置、无人车
JP2021515724A (ja) 自動運転車において3dcnnネットワークを用いてソリューション推断を行うlidar測位
CN110850854A (zh) 自动驾驶员代理和为自动驾驶员代理提供策略的策略服务器
JP2021514885A (ja) 自動運転車のlidar測位に用いられるディープラーニングに基づく特徴抽出方法
JP7426744B2 (ja) ライダー基盤客体探知のための人工知能モデルの入力特徴マップ生成方法、装置およびコンピュータプログラム
JP2021515178A (ja) 自動運転車両においてrnnとlstmを用いて時間平滑化を行うlidar測位
KR102573671B1 (ko) 비정상 데이터의 탐지가 가능한 분류 모델 생성방법, 장치 및 컴퓨터프로그램
Selvaraj et al. An ML-aided reinforcement learning approach for challenging vehicle maneuvers
KR102875370B1 (ko) 인공지능 기반 생성적 설계 방법, 장치 및 컴퓨터프로그램
CN117882116A (zh) 车辆识别模型的参数调整及数据处理方法和装置、车辆
JP6986503B2 (ja) 電子制御装置、ニューラルネットワーク更新システム
US20230196749A1 (en) Training Neural Networks for Object Detection
CN118171723A (zh) 智能驾驶策略的部署方法、装置、设备、存储介质和程序产品
KR102606630B1 (ko) 차량 인근의 장애물 예측 및 주행계획 수립을 위한 인공지능 모델을 이용한 점유 격자 지도 생성 방법, 장치 및 컴퓨터프로그램
KR102246418B1 (ko) 차선 유지 제어 방법 및 그 장치
KR102481367B1 (ko) 포인트 클라우드 데이터로부터 지표면 데이터를 생성하기 위한 인공지능 모델의 학습 방법, 장치 및 컴퓨터프로그램
KR102826565B1 (ko) 차량의 로깅 데이터 기반 차량의 동역학적 특성을 나타내는 차량 모델 추정방법, 장치 및 컴퓨터프로그램
KR20230071719A (ko) 이미지 처리용 신경망 훈련 방법 및 전자 장치
KR102857995B1 (ko) 동기화된 센서 데이터와 비동기화된 센서 데이터를 이용한 자기 지도 학습 방법, 장치 및 컴퓨터프로그램
KR20190103017A (ko) 주행 로봇의 제어 방법 및 그 장치
KR102581969B1 (ko) 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램
US20240144663A1 (en) Fair neural networks

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20240801

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20240801

Comment text: Patent Application

PA0302 Request for accelerated examination

Patent event date: 20240801

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20240801

Patent event code: PA03021R01I

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241031

Patent event code: PE09021S01D

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250529

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250624

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250624

End annual number: 3

Start annual number: 1

PG1601 Publication of registration