KR20230136374A - 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법 - Google Patents

가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법 Download PDF

Info

Publication number
KR20230136374A
KR20230136374A KR1020220034007A KR20220034007A KR20230136374A KR 20230136374 A KR20230136374 A KR 20230136374A KR 1020220034007 A KR1020220034007 A KR 1020220034007A KR 20220034007 A KR20220034007 A KR 20220034007A KR 20230136374 A KR20230136374 A KR 20230136374A
Authority
KR
South Korea
Prior art keywords
sampling time
vehicle
driving
input data
model predictive
Prior art date
Application number
KR1020220034007A
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 KR1020220034007A priority Critical patent/KR20230136374A/ko
Publication of KR20230136374A publication Critical patent/KR20230136374A/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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/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
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/005Sampling
    • 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/14Yaw
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Feedback Control In General (AREA)

Abstract

본 발명은 모델 예측 제어 알고리즘으로 산출된 제어입력 데이터를 기반으로 샘플링 타임을 조정하여 차량의 경로 추적 성능을 향상시킬 수 있는 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법에 관한 것이다. 본 발명의 일 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 방법은, 모델 예측 제어 장치의 프로세서에 의해 수행되는 모델 예측 제어 방법으로서, 차량의 주행조건을 감지하는 복수의 센서로부터 센서 데이터를 획득하는 단계와, 센서 데이터로부터 제1 샘플링 타임에 따라 제1 주행조건 데이터를 추출하는 단계와, 제1 주행조건 데이터에 기초하여 제1 예측 모델에 따라 제1 제어입력 데이터를 산출하는 단계와, 제1 제어입력 데이터에 기초하여 복수의 센서로부터의 센서데이터에 대한 샘플링 타임을 제2 샘플링 타임으로 조정하는 단계를 포함할 수 있다.

Description

가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법{VARIABLE-SAMPLING TIME MODEL PREDICTIVE CONTROL APPARATUS AND METHOD}
본 발명은 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법에 관한 것이다.
최근 자동차 업계에서 자율주행 차량과 차량 부품의 전장화가 화두로 떠오름에 따라 차량의 많은 부품이 전기 장치로 바뀌고 있다. 이에 따라 모델 예측 제어(model predictive control, MPC)를 자율주행 차량에 접목하여 차량의 주행 경로를 추종하거나 엔진 변속기, 배기가스, 모터 등의 효율을 최적화하는 연구가 활발히 진행되고 있다.
이러한 기존의 연구에서 예측 지평선(prediction horizon), 제어 지평선(control horizon), 샘플링 타임(sampling time)의 크기를 고정하여 MPC를 수행하였으며, 예측 지평선, 제어 지평선, 샘플링 타임의 크기는 경험적으로 설정하였다. 그러나 고정된 예측 지평선, 제어 지평선, 샘플링 타임을 사용하는 MPC는 샘플링 타임이 작거나 예측 지평선이 클 때 경로 추종 성능이 향상되지만 계산 부하가 발생할 수 있다. 반대로 샘플링 타임이 크거나 예측 지평선이 작으면 계산 시간은 빠르지만 경로 추종 성능이 부족할 수 있다. 따라서 이러한 MPC는 다양한 시나리오에서 다양한 동작을 수행해야 하는 차량에 적합하지 않다는 단점이 있다.
이러한 단점을 개선하기 위해 MPC에서 고정된 매개변수로 설정해왔던 가중치 행렬, 예측 지평선 및 샘플링 타임을 변수로 사용하고, 조건에 따라 임의로 지정된 예측 지평선과 샘플링 타임을 적용하여 예측 지평선과 샘플링 타임을 변경 및 조절하는 연구가 진행되고 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
국내 공개특허공보 제10-2018-0033869호(2018.04.04)
본 발명의 일 과제는, 모델 예측 제어 알고리즘으로 산출된 제어입력 데이터를 기반으로 샘플링 타임을 조정하여 차량의 경로 추적 오류를 줄이는데 있다.
본 발명의 일 과제는, 산출된 제어입력 데이터에 따라 경사하강법을 사용하여 샘플링 타임을 조정하는 가변된 샘플링 타임이 적용되는 모델 예측 알고리즘을 이용하여 차량의 경로 추종 성능을 향상시키는데 있다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 일 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 방법은, 모델 예측 제어 장치의 프로세서에 의해 수행되는 모델 예측 제어 방법으로서, 차량의 주행조건을 감지하는 복수의 센서로부터 센서 데이터를 획득하는 단계와, 센서 데이터로부터 제1 샘플링 타임에 따라 제1 주행조건 데이터를 추출하는 단계와, 제1 주행조건 데이터에 기초하여 제1 예측 모델에 따라 제1 제어입력 데이터를 산출하는 단계와, 제1 제어입력 데이터에 기초하여 복수의 센서로부터의 센서데이터에 대한 샘플링 타임을 제2 샘플링 타임으로 조정하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치는, 프로세서 및 프로세서와 동작 가능하게 연결되고 프로세서에서 수행되는 적어도 하나의 코드를 저장하는 메모리를 포함하고, 메모리는 프로세서를 통해 실행될 때, 프로세서가 차량의 주행조건을 감지하는 복수의 센서로부터 센서 데이터를 획득하고, 센서 데이터로부터 제1 샘플링 타임에 따라 제1 주행조건 데이터를 추출하고, 제1 주행조건 데이터에 기초하여 제1 예측 모델에 따라 제1 제어입력 데이터를 산출하고, 제1 제어입력 데이터에 기초하여 복수의 센서로부터의 센서데이터에 대한 샘플링 타임을 제2 샘플링 타임으로 조정하도록 야기하는 코드를 저장할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 의하면, 모델 예측 제어 알고리즘으로 산출된 제어입력 데이터를 기반으로 샘플링 타임을 조정하여 차량의 경로 추적 오류를 줄일 수 있다.
또한, 산출된 제어입력 데이터에 따라 경사하강법을 사용하여 샘플링 타임을 조정하는 가변된 샘플링 타임이 적용되는 모델 예측 알고리즘을 이용하여 차량의 경로 추종 성능을 향상시킬 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치가 구비된 차량의 예시도이다.
도 2는 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치의 구성을 개략적으로 설명하기 위한 블록도이다.
도 3는 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어를 설명하기 위한 차량의 동역학적 모델의 예시도이다.
도 4 및 도 5는 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어를 시뮬레이션 하는 시나리오의 예시도이다.
도 6은 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 알고리즘 의사 코드(pseudo-code)의 예시도이다.
도 7은 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 방법을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
또한, 본 출원서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치가 구비된 차량의 예시도이고, 도 2는 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치의 구성을 개략적으로 설명하기 위한 블록도이고, 도 3는 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어를 설명하기 위한 차량의 동역학적 모델의 예시도이다.
도 1 내지 도 3을 참조하면, 가변된 샘플링 타임이 적용되는 모델 예측 제어(variable-sampling time model predictive control; VST-MPC) 장치(100)는 자율 주행 차량의 내부에 구비되고, 센서부(200)가 감지한 센서 데이터를 수신할 수 있다. 이하, 설명의 편의상 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치(100)를 VSP-MPC 장치(100)로 표기하기로 한다.
VSP-MPC 장치(100)는 제어입력 데이터에 따라 경로 추적 성능을 향상시키는 새로운 모델 예측 제어 알고리즘이 저장될 수 있다. VSP-MPC 장치(100)는 각 회차에서 계산된 제어 입력 데이터(즉, 횡방향 가속도 및 전방 조향각)에 따라 다음 회차의 샘플링 타임을 업데이트하여 모델 예측 제어의 경로 추적 오류를 줄일 수 있다. 종래의 경우 샘플링 타임을 일정하게 설정하거나 조건에 따라 임의로 결정하여, 경로 추적 성능이 향상되나 계산 부하가 발생하는 문제점이 발생하거나, 계산 성능은 빠르지만 경로 추적 성능이 저하되는 문제점이 발생하였다. 그러나, 본 실시 예에 따른 VSP-MPC 장치(100)는 계산된 최적의 제어입력 데이터에 따라 경사하강법(gradient descent algorithm)을 사용하여 샘플링 타임을 다양하게 조정하여 다양한 주행 환경과 시나리오에서 활용이 가능하다.
본 실시 예에 따른 VSP-MPC 장치(100)는 프로세서(110) 및 메모리(120)를 포함할 수 있다.
프로세서(110)는 차량의 주행조건을 감지하는 센서부(200)로부터 센서 데이터를 획득할 수 있다. 본 실시 예에서, 센서부(200)는 차량의 주행조건을 감지하는 복수의 센서를 포함할 수 있다. 본 실시 예에서 복수의 센서는 예를 들어, 초음파 센서, 레이더 센서, 라이다 센서, 카메라, 레이저 스캐너 및/또는 코너 레이더, 가속도 센서, 요레이트 센서, 토크 측정 센서 및/또는 휠스피드 센서, 조향각 센서, 스티어링 휠 토크 센서 등이 감지한 데이터를 포함할 수 있다. 또한, 센서가 감지하는 센서 데이터는 차량 자체의 상태 데이터 및 외부 조건을 감지하는 데이터를 포함할 수 있다. 여기서, 외부 조건은 예를 들어, 도로 형태(직선, 또는 곡선), 주변 차량 유무 등을 포함할 수 있다.
프로세서(110)는 센서부(200)로부터 획득한 센서 데이터로부터 제1 샘플링 타임에 대응하는 제1 주행조건 데이터를 추출할 수 있다. 여기서, 주행조건 데이터는 차량의 주행을 위해 필요한 데이터로, 외부 조건 데이터 및/또는 차량 상태 데이터를 포함할 수 있다. 예를 들어, 차량 상태 데이터는 차량의 횡방향 위치(lateral position), 차량의 횡방향 속도(lateral velocity), 차량의 요각도(yaw angle) 및 차량의 요 레이트(yaw rate)을 포함할 수 있다. 또한, 주행조건 데이터는 센서부(200)로부터 획득한 센서 데이터들 중에 제어입력 데이터를 산출하기 위해 사용되는 입력값으로서의 데이터를 의미할 수 있다.
본 실시 예에서, 횡방향을 결정하는 기준은, 차량의 직진 방향을 종방향으로 하고, 직진 방향의 수직 방향을 횡방향이라고 할 수 있다. 또한, 차량의 횡방향 위치 측정의 기준은 전역 좌표계를 기준으로 할 수 있다. 도 3을 참조하면, 차량의 동역학적 모델에서 두 개의 좌표계 즉, 전역 좌표계 및 차량 좌표계가 사용될 수 있다. 전역 좌표계는 X, Y 좌표계로서 시나리오 상에서 차량의 위치, 요각도 등을 산출할 수 있다. 차량 좌표계는 x, y 좌표계로서 차량의 종방향, 횡방향, 조향각 등을 산출할 수 있다. 본 실시 예에서 차량의 횡방향 위치는 각 회차에서 차량의 횡방향에 맞는 전역 좌표계의 점으로 산출할 수 있다. 또한, 여기서 차량의 속도, 가속도 등은 차량의 무게 중심을 기준으로 산출할 수 있다.
본 실시 예에서 샘플링 타임은 외부 조건에 따라 예측한 최적의 제어입력 데이터(최적의 가속도, 최적의 조향각 등)에 따라 결정될 수 있다. 또한 제1 샘플링 타임은 미리 정해진 샘플링 타임(예를 들어, 0.2초) 또는 전체 주행조건 데이터를 기초로 하여 주행 초기에 자동으로 결정되는 샘플링 타임일 수 있다.
여기서, 도 3에 도시된 차량의 동역학적 모델을 설명하면, 차량의 모델을 구할 때, 다음과 같은 가정을 할 수 있다. 1) 차량의 종방향 속도는 일정하다. 2) 앞바퀴, 뒷바퀴는 각각 좌우 바퀴가 하나의 바퀴로 뭉쳐있다. 3) 현가장치의 움직임, 미끄러짐 현상, 공기 역학적 영향은 매우 작다. 4) 뒷바퀴의 조향각은 0이다. 이러한 가정을 통해 도 3과 같이 차량의 선형 모델을 뉴턴의 법칙을 사용하여 다음과 같이 구할 수 있다.
수학식 1에서, 는 차량의 종방향 속도(longitudinal velocity)를 나타내고, 는 차량의 횡방향 가속도(the lateral acceleration)를 나타내고, 는 요 관성 모멘트(yaw moment of inertia)를 나타내고, 전방 타이어 힘(front tire force, )과 후방 타이어 힘(rear tire force, )을 다음 수학식 2와 같이 산출할 수 있다.
수학식 2에서 는 앞 바퀴(front wheel)의 코너링 강성(conering stiffness)을 나타내고, 는 뒷 바퀴(rear wheel)의 코너링 강성(cornering stiffness)을 나타낼 수 있다. 수학식 2를 수학식 1의 세 번째 식에 대입하면, 요 레이트를 갖는 차량 모델 방식을 수학식 3과 같이 표현할 수 있다.
다음으로, 차량의 연속 시간 상태 공간 방정식을 구성할 수 있다. MPC 연속 시간 상태 공간 방정식은 다음 수학식 4와 같을 수 있다.
수학식 4에서, 는 차량 상태를 나타내고, 는 상태 공간 행렬을 나타내고, 는 각각 연속 시간 상태 공간 방정식의 입력 및 출력 행렬을 나타내고, 는 차량의 제어입력 데이터를 나타낼 수 있다. 여기서, 차량 상태는 상술한 차량 상태 데이터로서, 차량의 횡방향 위치, 횡방향 속도, 요 각도 및 요 레이트로 설명될 수 있다. 이러한 차량 상태 데이터는 또한 후술하는 청구항에서 주행조건 데이터로 표현될 수 있다. 또한, 제어입력 데이터()는 차량의 횡방향 가속도()와 전방 조향각()으로 나타낼 수 있다.
본 실시 예에서는 입력 제약 조건과 상태의 제약 조건을 체계적으로 처리할 수 있는 기능 때문에 다중 제약 조건에 있는 MPC를 계획된 궤적을 추적하기 위해 사용하였으며, 수학식 4에 개시된 MPC 연속 시간 상태 공간 방정식을 재귀 방정식의 형태로 바꾸기 위해 의 주기로 이산 시간 상태 방정식 즉, MPC용 이산 상태 공간 차량 모델을 구하면 다음과 같을 수 있다.
,
또한, MPC 알고리즘의 출력은 다음과 같을 수 있다.
도 2로 돌아와서, 프로세서(110)는 추출한 제1 주행조건 데이터에 기초하여 제1 예측 모델에 따라 제1 제어입력 데이터를 산출할 수 있다. 본 실시 예에서 모델 예측 제어는 수학식 1 내지 수학식 3에 개시된 차량의 동역학적 모델을 나타내는 수학식을, 수학식 4와 같은 연속 시간 상태 공간 방정식으로 변환하고, 다시 수학식 4를 이산(discrete) 상태 공간 방정식을 나타내는 수학식 5 및 수학식 6으로 변환한 후에 이용할 수 있다. 이는 수학식 4와 같은 연속 시간 상태 공간 방정식으로는 다음 상태를 예측할 수 없기 때문에 이산 상태 공간 방정식으로 변형해야 한다.
프로세서(110)는 제1 샘플링 타임(예를 들어, 0.2초)에서 추출한 제1 주행조건 데이터(예를 들어, 차량의 횡방향 위치, 차량의 횡방향 속도, 차량의 요각도 및 차량의 요 레이트)를 상술한 수학식 5의 이산 상태 공간 방정식에 적용하여 제1 제어 입력 데이터(제1 )로서의 차량의 제1 횡방향 가속도(제1 )와 제1 조향각(제1 )을 산출할 수 있다.
이후, 프로세서(110)는 제1 제어입력 데이터에 기초하여 복수의 센서로부터의 센서데이터에 대한 샘플링 타임을 제2 샘플링 타임으로 조정할 수 있다.
선택적 실시 예로, 프로세서(110)는 샘플링 타임을 제2 샘플링 타임으로 조정하는 것을 제1 제어입력 데이터가 미리 결정된 조건을 만족하는 경우에만 수행하도록 할 수 있다. 여기서 미리 결정된 조건이라 함은, 횡방향 가속도()가 일정치 이상이거나, 조향각()이 일정각 이상인 경우, 또는 이들의 특정한 조합 등을 의미할 수 있다.
프로세서(110)는 제1 제어입력 데이터를 이용하여 차량의 예측 경로가 곡선 주행구간인지 직선 주행구간인지 판단할 수 있다. 프로세서(110)는 횡방향 가속도() 및 조향각()이 기준값(예를 들어, 0)으로부터 일정 범위 이내 임에 따라 차량의 예측 경로를 직선 주행구간으로 판단할 수 있다. 또한, 프로세서(110)는 횡방향 가속도() 및 조향각()이 기준값으로부터 일정 범위를 초과함에 따라 차량의 예측 경로를 곡선 주행구간으로 판단할 수 있다.
프로세서(110)는 차량의 예측 경로가 곡선 주행구간임에 따라 제1 샘플링 타임(예를 들어, 0.2초)보다 더 작은 샘플링 타임을 제2 샘플링 타임으로 산출하고, 차량의 예측 경로가 직선 주행구간임에 따라 제1 샘플링 타임보다 더 큰 샘플링 타임을 제2 샘플링 타임으로 산출할 수 있다. 직선 주행구간에서는 횡방향 가속도() 및 조향각()이 거의 0이기 때문에 샘플링 타임은 추적 성능과 외란의 영향에 큰 영향을 미치지 않을 수 있다. 따라서 직선 주행구간에서는 더 빠른 계산을 위해 다음(제2) 샘플링 타임을 최대로 설정할 수 있다. 또한, 곡선 주행구간에서는 횡방향 가속도() 및 조향각()이 지속적으로 변화하기 때문에 샘플링 타임이 추적 성능과 외란에 대한 반응성에 영향을 미칠 수 있다. 따라서 곡선 주행구간에서는 트래킹 성능을 향상시키기 위해 다음(제2) 샘플링 타임을 점차적으로 감소시킬 수 있다.
프로세서(110)는 샘플링 타임을 제2 샘플링 타임으로 조정 시에 제1 주행조건 데이터와 제1 제어입력 데이터를 수학식 5의 이산 상태 공간 방정식에 적용하여 제2 주행조건 데이터를 출력할 수 있다. 프로세서(110)는 제1 샘플링 타임과 제1 제어입력 데이터를 경사하강 알고리즘에 적용하여 제2 샘플링 타임을 산출할 수 있다.
프로세서(110)는 경사하강 알고리즘을 기반으로 하여 샘플링 타임을 산출하는 방정식을 로딩할 수 있으며, 다음과 같이 나타낼 수 있다.
수학식 7에서 는 다음 회차(제2)의 샘플링 타임을 나타낼 수 있다. 는 현재 회차(제1)의 샘플링 타임을 나타낼 수 있다. 는 부호를 결정하는 제1 항목을 나타낼 수 있다. 는 샘플링 타임의 조정값을 나타내는 제2항목을 나타낼 수 있다. 는 곡선 주행구간에서 샘플링 타임을 주행 경로의 곡률에 따라 감소시키기 위해 제1 제어입력 데이터를 바탕으로 산출되는 샘플링 타임의 감소값을 나타낼 수 있고, 는 수동으로 즉, 경험적으로 결정된 상수를 나타낼 수 있다. 선택적 실시 예로, 는 계산된 입력과 정해진 샘플링 타임의 변경값을 활용하여 와 같이 구할수도 있다. 예를 들어, 샘플링 타임을 전 과정에서 0.01씩 변경하고자 하는 경우에 을 활용하여 를 변경해 가며 주행하도록 설정할 수 있이다. 는 직선 주행구간에서 샘플링 타임을 증가시키기 위해 사용하는 상수를 나타낼 수 있다.
프로세서(110)는 차량의 예측 경로가 직선 주행구간임에 따라, 제1 항목으로부터 양수가 결정되고, 제2 항목으로부터 가 선택됨에 따라, 제1 샘플링 타임으로부터 가 선택된 제2 항목만큼 가산된 샘플링 타임을 제2 샘플링 타임으로 산출할 수 있다.
프로세서(110)는 차량의 예측 경로가 곡선 주행구간임에 따라, 제1 항목으로부터 음수가 결정되고, 제2 항목으로부터 가 선택됨에 따라, 제1 샘플링 타임으로부터 가 선택된 제2 항목만큼 감소된 샘플링 타임을 제2 샘플링 타임으로 산출할 수 있다.
본 실시 예에서, 프로세서(110)는 제2 샘플링 타임이 미리 결정된 최대값(예를 들어, 0.2초)을 초과하는 경우, 제2 샘플링 타임을 최대값으로 설정하고, 제2 샘플링 타임이 미리 결정된 최소값(예를 들어, 0.05초) 미만인 경우, 제2 샘플링 타임을 최소값으로 설정할 수 있다. 이는 샘플링 타임이 지속적으로 증가하거나 지속적으로 감소하는 것을 방지하기 위함일 수 있다.
수학식 7에서 는 비용함수를 풀어서 계산한 입력값일 수 있다. 이 수학식은 제어입력 데이터에 따라 샘플링 타임을 변경하도록 설계될 수 있다. 주행 시나리오에서 제어입력 데이터 횡방향 가속도() 및 조향각()은 직선 주행구간에서 0으로 수렴될 수 있다. 그러나 곡선 주행구간에서 제어입력 데이터 횡방향 가속도() 및 조향각()은 0이 아닌 값을 가질 수 있다. 수학식 7에서 첫 번째 수학식은 이러한 구동 특성으로 인해 직선 주행구간에서 긴 샘플링 타임을 유지하여 연산 시간을 단축시킬 수 있다. 곡선 주행구간에서는 계산된 제어입력 데이터 횡방향 가속도() 및 조향각()에 따라 샘플링 타임을 점차적으로 줄여 트래킹 성능을 향상시키고 갑작스러운 외란에 대한 안정적인 반응성을 제공할 수 있다.
제1 샘플링 타임 즉, 초기 샘플링 타임이 0.2로 설정되어 시작되는 주행 시나리오에서는 직선 주행구간에서 제어입력 데이터 횡방향 가속도() 및 조향각()이 0에 가깝기 때문에 Z가 0이 될 수 있다. . 다음(제2) 샘플링 타임은 기존 샘플링 타임 0.2에 선택한 C 값을 더하여 산출할 수 있다. 그러나 후술하는 도 6에 도시된 의사코드의 스텝 7에서 샘플링 타임의 최대값 조건으로 인해 0.2가 유지될 수 있다. 곡선 주행구간에서는 제어입력 데이터 횡방향 가속도() 및 조향각()이 점차 증가할 수 있다. 따라서 새로운 샘플링 타임은 기존 샘플링 타임 0.2에서 방정식에서 Z를 빼서 결정될 수 있다.
일반적으로 모델 예측 제어의 경로 추적 오차는 곡선 주행구간에서 증가할 수 있다. 따라서 경로 추적 오류를 줄이려면 모델 예측 제어를 통해 계산된 제어입력 데이터가 클 때 샘플링 타임을 크게 줄여야 한다. 즉, 계산된 제어입력 데이터가 증가하는 곡선 주행구간에서 샘플링 타임이 크게 변해야 한다. 그러나 샘플링 타임을 빠르게 변경하면 제어입력 데이터도 빠르게 변경되어 승차감이 저하될 수 있다. 한편, 모델 예측 제어가 제어입력 데이터를 계산할 수 없는 상황이 있을 수 있다. 이러한 현상을 방지하기 위해서는 직선 주행구간에서 곡선 주행구간으로의 첫 번째 변화점에서 샘플링 타임을 조금씩 변경하고, 제어입력 데이터에 따라 샘플링 타임을 점진적으로 변경하여야 한다. 이러한 이유로 샘플링 타임이 변경되는 첫 번째 지점에서 는 가능한 가장 작은 증분인 샘플링 타임이 0.01로 변경되도록 설정될 수 있다. 같은 이유로 를 가장 작은 증분으로 설정하여 샘플링 타임을 회차별로 조정할 수 있다. 의 값은 제어입력 데이터가 0일 때, 즉 직선 주행구간에서 샘플링 타임을 늘리기 위해 0.01로 설정될 수 있다. 따라서 는 -0.01로 설정되어 기존 샘플링 타임에 추가될 수 있다.
수학식 7에서 는 계산된 식의 부호를 결정할 수 있다. 수학식 7의 첫 번째 수학식에서 값 중 작은 값을 선택하는 이유는 곡선 주행구간에서 0.05로 수렴하던 샘플링 타임을 직선 주행구간에서 다시 0.2로 수렴하게 하기 위함일 수 있다. 따라서 를 선택한 경우 기존 샘플링 타임에 계산된 수학식을 추가해야 한다. 반대로 를 선택하지 않을 경우 곡선 주행구간을 나타내므로 기존 샘플링 타임에서 계산된 방정식을 빼도록 설정될 수 있다. 경사하강법은 주행 경로의 곡률이 변경됨에 따라 샘플링 타임이 최소값 0.05 또는 최대값 0.2로 점차 수렴하도록 사용될 수 있다. 곡선 주행간에서는 샘플링 타임이 0.05로 감소할 수 있다. 직선 주행구간에서는 샘플링 타임이 0.2로 증가할 수 있다.
본 실시 예에서 프로세서(110)는 차량이 주행을 정지할 때까지, 주행조건 데이터를 추출하고, 제어입력 데이터를 산출하고, 샘플링 타임으로 조정하는 동작을 반복 수행할 수 있다.
프로세서(110)는 샘플링 타임을 제2 샘플링 타임으로 조정한 후에, 센서부(200)로부터 획득한 센서 데이터로부터 제2 샘플링 타임에 따라 제2 주행조건 데이터를 추출하고, 제2 주행조건 데이터에 기초하여 제2 예측 모델에 따라 제2 제어입력 데이터를 산출할 수 있다. 여기서, 제1 예측 모델은 제1 샘플링 타임에 따라 설정된 주행 예측 모델이고, 제2 예측 모델은 제2 샘플링 타임에 따라 설정된 주행 예측 모델일 수 있다.
본 실시 예에서, 프로세서(110)는 VSP-MPC 장치(100) 전체의 동작을 제어할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령어로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(120)는 프로세서(110)와 동작 가능하게 연결되고, 프로세서(110)에서 수행되는 동작과 연관하여 적어도 하나의 코드를 저장할 수 있다.
또한, 메모리(120)는 프로세서(110)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 여기서, 메모리(120)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 이러한 메모리(120)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.
도 4는 일 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어를 시뮬레이션 하는 시나리오의 예시도이다. 이하의 설명에서 도 1 내지 도 3에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 4a는 두 개의 곡선 도로를 연속적으로 주행하는 제1 주행 시나리오를 도시하고 있다. 도 4a를 참조하면, 제1 주행 시나리오는 처음에 차량이 40m 길이의 직선 도로를 달리다가(Section A) 회전 반경 20m의 곡선 주행 구간으로 좌회전(Section B)한다. 이어 40m 직선구간을 달리다가(Section A) 회전반경 20m의 우회전 곡선구간으로 진입(Section B)한다. 40m 직진 구간(Section A)을 지나면 시나리오가 종료된다.
제1 주행 시나리오에서 차량의 초기 속도는 20m/s, 예측 지평선은 10, 제어 지평선은 2이다. 예측 지평선은 모델 예측 제어가 다음 예측을 계산하기 위해 참조하는 데이터의 양을 나타낼 수 있다. 예측 범위는 추적 성능과 계산 시간에 영향을 줄 수 있다. 그러나 본 실시 예에서는 고정상수로 설정하였다. 상술한 수학식 7에서 상수인 의 값은 0.0045이고, 는 -0.001이다.
도 4b는 각 구간에서 제1 주행 시나리오의 샘플링 타임(401)을 도시하고 있다. 도 4b를 참조하면, 차량이 곡선 주행구간(Section B)으로 진입할 때 계산된 제어입력 데이터로서의 횡방향 가속도 및 조향각을 기반으로 샘플링 타임이 변화함을 나타낸다. 제안한 모델 예측 제어의 영향으로 곡선 주행구간(Section B)에서는 낮은 샘플링 타임이 선택되고, 직선 주행구간(Section A)에서는 높은 샘플링 타임을 선택된 예를 도시하고 있다.
도 5는 일 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어를 시뮬레이션 하는 시나리오의 예시도이다. 이하의 설명에서 도 1 내지 도 4에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 5a는 두 개의 주행 차선으로 구성된 제2 주행 시나리오를 도시하고 있다. 도 5a를 참조하면, 제2 주행 시나리오에서 시작 시 차량은 2차선 도로의 두 번째 차선을 주행한다. 시작 지점에서 약 50m 거리에서 장애물을 감지한 후 첫 번째 차선으로 전환(Section A에서 Section B로 전환)하고 장애물을 지나면 두 번째 차선으로 복귀(Section B에서 Section A로 복귀)한다. 차량의 초기 속도는 20m/s, 예측 지평선은 10, 제어 지평선은 2이다. 제2 주행 시나리오에서는 경험적으로 설정한 가 0.02라는 점을 제외하고는 대부분의 파라미터가 제1 주행 시나리오와 동일하다.
도 5b는 각 구간에서 제2 주행 시나리오의 샘플링 타임(501)을 도시하고 있다. 차량이 곡선 주행구간(Section B)으로 진입할 때 계산된 제어입력 데이터로서의 횡방향 가속도 및 조향각을 기반으로 샘플링 타임이 변화함을 나타낸다. 제안한 모델 예측 제어의 영향으로 곡선 주행구간(Section B)에서는 낮은 샘플링 타임이 선택되고, 직선 주행구간(Section A)에서는 높은 샘플링 타임을 선택된 예를 도시하고 있다.
도 6은 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 알고리즘 의사 코드(pseudo-code)의 예시도이다. 이하의 설명에서 도 1 내지 도 5에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 6을 참조하면, Step 1에서 초기(제1) 샘플링 타임이 0.2로 설정될 수 있다.
Step 2에서 모델 예측 제어 알고리즘의 매개변수를 설정하고, 최적의 제어입력 데이터를 산출할 수 있다. Step 2에서 초기 샘플링 타임(0.2초)에서 추출한 차량의 주행조건 데이터에 포함되는 차량의 상태 데이터(예를 들어, 차량의 횡방향 위치, 차량의 횡방향 속도, 차량의 요각도 및 차량의 요 레이트)를 상술한 수학식 5의 이산 상태 공간 방정식에 적용하여 제어 입력 데이터로서의 차량의 횡방향 가속도()와 조향각()을 산출할 수 있다.
Step 3에서 산출된 제어입력 데이터와, 차량의 상태 데이터를 상술한 수학식 5의 이산 상태 공간 방정식에 적용하여 다음 회차의 차량의 상태 데이터를 예측할 수 있다.
Step 4에서 예측된 다음 회차의 차량의 상태 데이터는 과거 상태 데이터로 저장되고 제어입력 데이터는 과거 제어입력 데이터로 업데이트될 수 있다.
Step 5에서 계산된 제어입력 데이터 를 사용하여 다음 회차의 차량 상태를 예측할 때 사용할 샘플링 타임을 산출할 수 있다. 여기서 샘플링 타임의 산출 시에 상술한 수학식 7을 이용할 수 있다.
Step 6에서 산출된 샘플링 타임을 모델 예측 제어의 다음 회차 예측을 위한 샘플링 타임으로 설정할 수 있다.
Step 7에서는 샘플링 타임이 지속적으로 증가하거나 감소하는 것을 방지할 수 있다. Step 5에서 산출된 샘플링 타임이 샘플링 타임의 최대값을 초과하는 경우, 모델 예측 제어의 다음 회차 예측을 위한 샘플링 타임을 최대값(예를 들어, 0.2초)으로 설정할 수 있다. 반면, Step 5에서 산출된 샘플링 타임이 샘플링 타임의 최소값 미만인 경우 모델 예측 제어의 다음 회차 예측을 위한 샘플링 타임을 최소값(예를 들어, 0.05초)으로 설정할 수 있다.
Step 8에서 알고리즘은 Step 2로 돌아가 시나리오가 끝날 때까지 Step 2에서 Step 7까지 차량의 다음 상태를 계속 예측할 수 있다.
도 7은 본 실시 예에 따른 가변된 샘플링 타임이 적용되는 모델 예측 제어 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 6에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 본 실시 예에서 가변된 샘플링 타임이 적용되는 모델 예측 제어 방법은 VSP-MPC 장치(100)가 주변 구성 요소들의 도움을 받아 프로세서(110)에서 수행한다고 가정하고 설명하기로 한다.
도 7을 참조하면, S710단계에서, 프로세서(110)는 차량의 주행조건을 감지하는 센서부(200)로부터 센서 데이터를 획득할 수 있다.
S720단계에서, 프로세서(110)는 센서부(200)로부터 획득한 센서 데이터로부터 제1 샘플링 타임에 대응하는 제1 주행조건 데이터를 추출할 수 있다. 본 실시 예에서 차량의 주행조건 데이터는 횡방향 위치(lateral position), 차량의 횡방향 속도(lateral velocity), 차량의 요각도(yaw angle) 및 차량의 요 레이트(yaw rate)를 포함할 수 있다. 본 실시 예에서 샘플링 타임은 외부 조건에 따라 예측한 최적의 제어입력 데이터(최적의 가속도, 최적의 조향각 등)에 따라 결정될 수 있다. 또한 제1 샘플링 타임은 미리 정해진 샘플링 타임(예를 들어, 0.2초) 또는 전체 주행조건 데이터를 기초로 하여 주행 초기에 자동으로 결정되는 샘플링 타임일 수 있다.
S730단계에서, 프로세서(110)는 제1 주행조건 데이터에 기초하여 제1 예측 모델에 따라 제1 제어입력 데이터를 산출할 수 있다. 프로세서(110)는 제1 샘플링 타임(예를 들어, 0.2초)에서 추출한 제1 주행조건 데이터(예를 들어, 차량의 횡방향 위치, 차량의 횡방향 속도, 차량의 요각도 및 차량의 요 레이트)를 상술한 수학식 5의 이산 상태 공간 방정식에 적용하여 제1 제어 입력 데이터(제1 )로서의 차량의 제1 횡방향 가속도(제1 )와 제1 조향각(제1 )를 산출할 수 있다.
S740단계에서, 프로세서(110)는 제1 제어입력 데이터에 기초하여 복수의 센서로부터의 센서데이터에 대한 샘플링 타임을 제2 샘플링 타임으로 조정할 수 있다.
선택적 실시 예로, 프로세서(110)는 샘플링 타임을 제2 샘플링 타임으로 조정하는 것을 제1 제어입력 데이터가 미리 결정된 조건을 만족하는 경우에만 수행하도록 할 수 있다. 여기서 미리 결정된 조건이라 함은, 횡방향 가속도()가 일정치 이상이거나, 조향각()이 일정각 이상인 경우, 또는 이들의 특정한 조합 등을 의미할 수 있다.
프로세서(110)는 제1 제어입력 데이터를 이용하여 차량의 예측 경로가 곡선 주행구간인지 직선 주행구간인지 판단할 수 있다. 프로세서(110)는 횡방향 가속도() 및 조향각()이 기준값(예를 들어, 0)으로부터 일정 범위 이내 임에 따라 차량의 예측 경로를 직선 주행구간으로 판단할 수 있다. 또한, 프로세서(110)는 횡방향 가속도() 및 조향각()이 기준값으로부터 일정 범위를 초과함에 따라 차량의 예측 경로를 곡선 주행구간으로 판단할 수 있다.
프로세서(110)는 차량의 예측 경로가 곡선 주행구간임에 따라 제1 샘플링 타임(예를 들어, 0.2초)보다 더 작은 샘플링 타임을 제2 샘플링 타임으로 산출하고, 차량의 예측 경로가 직선 주행구간임에 따라 제1 샘플링 타임보다 더 큰 샘플링 타임을 제2 샘플링 타임으로 산출할 수 있다. 직선 주행구간에서는 횡방향 가속도() 및 조향각()이 거의 0이기 때문에 샘플링 타임은 추적 성능과 외란의 영향에 큰 영향을 미치지 않을 수 있다. 따라서 직선 주행구간에서는 더 빠른 계산을 위해 다음(제2) 샘플링 타임을 최대로 설정할 수 있다. 또한, 곡선 주행구간에서는 횡방향 가속도() 및 조향각()이 지속적으로 변화하기 때문에 샘플링 타임이 추적 성능과 외란에 대한 반응성에 영향을 미칠 수 있다. 따라서 곡선 주행구간에서는 트래킹 성능을 향상시키기 위해 다음(제2) 샘플링 타임을 점차적으로 감소시킬 수 있다.
프로세서(110)는 제1 샘플링 타임과 제1 제어입력 데이터를 경사하강 알고리즘을 기반으로 하여 샘플링 타임을 산출하는 방정식 즉, 상술한 수학식 7을 로딩하여 제2 샘플링 타임을 산출할 수 있다.
수학식 7을 이용하여 프로세서(110)는 차량의 예측 경로가 직선 주행구간임에 따라, 제1 항목으로부터 양수가 결정되고, 제2 항목으로부터 가 선택됨에 따라, 제1 샘플링 타임으로부터 가 선택된 제2 항목만큼 가산된 샘플링 타임을 제2 샘플링 타임으로 산출할 수 있다. 또한, 프로세서(110)는 차량의 예측 경로가 곡선 주행구간임에 따라, 제1 항목으로부터 음수가 결정되고, 제2 항목으로부터 가 선택됨에 따라, 제1 샘플링 타임으로부터 가 선택된 제2 항목만큼 감소된 샘플링 타임을 제2 샘플링 타임으로 산출할 수 있다.
프로세서(110)는 제2 샘플링 타임이 미리 결정된 최대값을 초과하는 경우, 제2 샘플링 타임을 최대값으로 설정하고, 제2 샘플링 타임이 미리 결정된 최소값 미만인 경우, 제2 샘플링 타임을 최소값으로 설정할 수 있다.
프로세서(110)는 차량이 주행을 정지할 때까지, 주행조건 데이터를 추출하고, 제어입력 데이터를 산출하고, 샘플링 타임으로 조정하는 동작을 반복 수행할 수 있다
S750단계에서, 프로세서(110)는 제1 주행조건 데이터와 제1 제어입력 데이터를 수학식 5의 이산 상태 공간 방정식에 적용하여 제2 주행조건 데이터를 출력할 수 있다. 프로세서(110)는 복수의 센서로부터 획득한 센서 데이터로부터 제2 샘플링 타임에 따라 제2 주행조건 데이터를 추출하고, 제2 주행조건 데이터에 기초하여 제2 예측 모델에 따라 제2 제어입력 데이터를 산출할 수 있다. 본 실시 예에서 제1 예측 모델은 제1 샘플링 타임에 따라 설정된 주행 예측 모델이고, 제2 예측 모델은 제2 샘플링 타임에 따라 설정된 주행 예측 모델일 수 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: VSP-MPC 장치 110: 프로세서
120: 메모리

Claims (20)

  1. 모델 예측 제어 장치의 프로세서에 의해 수행되는 모델 예측 제어 방법으로서,
    차량의 주행조건을 감지하는 복수의 센서로부터 센서 데이터를 획득하는 단계;
    상기 센서 데이터로부터 제1 샘플링 타임에 따라 제1 주행조건 데이터를 추출하는 단계;
    상기 제1 주행조건 데이터에 기초하여 제1 예측 모델에 따라 제1 제어입력 데이터를 산출하는 단계; 및
    상기 제1 제어입력 데이터에 기초하여 상기 복수의 센서로부터의 센서데이터에 대한 샘플링 타임을 제2 샘플링 타임으로 조정하는 단계를 포함하는,
    모델 예측 제어 방법.
  2. 제 1 항에 있어서,
    상기 제1 주행조건 데이터는,
    상기 차량의 횡방향 위치(lateral position), 상기 차량의 횡방향 속도(lateral velocity), 상기 차량의 요각도(yaw angle) 및 상기 차량의 요 레이트(yaw rate)를 포함하고,
    상기 제1 제어입력 데이터는,
    상기 차량의 횡방향 가속도(lateral acceleration) 및 전방 조향각(front steering angle)을 포함하는,
    모델 예측 제어 방법.
  3. 제 2 항에 있어서,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정하는 단계는,
    상기 제1 제어입력 데이터를 이용하여 상기 차량의 예측 경로가 곡선 주행구간인지 직선 주행구간인지 판단하는 단계; 및
    상기 차량의 예측 경로가 곡선 주행구간임에 따라 상기 제1 샘플링 타임보다 더 작은 샘플링 타임을 제2 샘플링 타임으로 산출하고, 상기 차량의 예측 경로가 직선 주행구간임에 따라 상기 제1 샘플링 타임보다 더 큰 샘플링 타임을 제2 샘플링 타임으로 산출하는 단계를 포함하는,
    모델 예측 제어 방법.
  4. 제 3 항에 있어서,
    상기 판단하는 단계는,
    상기 횡방향 가속도 및 상기 조향각이 기준값으로부터 일정 범위 이내 임에 따라 상기 차량의 예측 경로를 직선 주행구간으로 판단하는 단계; 및
    상기 횡방향 가속도 및 상기 조향각이 상기 기준값으로부터 일정 범위를 초과함에 따라 상기 차량의 예측 경로를 곡선 주행구간으로 판단하는 단계를 포함하는,
    모델 예측 제어 방법.
  5. 제 1 항에 있어서,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정하는 단계는,
    상기 제1 주행조건 데이터와 상기 제1 제어입력 데이터를 상태 공간 방정식에 적용하여 제2 주행조건 데이터를 출력하는 단계; 및
    상기 제1 샘플링 타임과 상기 제1 제어입력 데이터를 경사하강 알고리즘에 적용하여 제2 샘플링 타임을 산출하는 단계를 포함하는,
    모델 예측 제어 방법.
  6. 제 5 항에 있어서,
    상기 제2 샘플링 타임을 산출하는 단계는,
    경사하강 알고리즘을 기반으로 하여 샘플링 타임 산출 방정식 을 로딩하는 단계 - 상기 방정식에서 는 다음 회차의 샘플링 타임을 나타내고, 는 현재 회차의 샘플링 타임을 나타내고, 는 부호를 결정하는 제1 항목을 나타내고, 는 샘플링 타임의 조정값을 나타내는 제2항목을 나타내며, 상기 는 상기 곡선 주행구간에서 샘플링 타임을 주행 경로의 곡률에 따라 감소시키기 위해 상기 제1 제어입력 데이터를 바탕으로 산출되는 샘플링 타임의 감소값을 나타내고, 상기 는 상기 직선 주행구간에서 샘플링 타임을 증가시키기 위해 사용하는 상수를 나타냄 -;
    상기 차량의 예측 경로가 직선 주행구간임에 따라, 상기 제1 항목으로부터 양수가 결정되고, 상기 제2 항목으로부터 상기 가 선택됨에 따라, 상기 제1 샘플링 타임으로부터 상기 가 선택된 제2 항목만큼 가산된 샘플링 타임을 제2 샘플링 타임으로 산출하는 단계; 및
    상기 차량의 예측 경로가 곡선 주행구간임에 따라, 상기 제1 항목으로부터 음수가 결정되고, 상기 제2 항목으로부터 상기 가 선택됨에 따라, 상기 제1 샘플링 타임으로부터 상기 가 선택된 제2 항목만큼 감소된 샘플링 타임을 제2 샘플링 타임으로 산출하는 단계를 포함하는,
    모델 예측 제어 방법.
  7. 제 3 항에 있어서,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정하는 단계는,
    상기 제2 샘플링 타임이 미리 결정된 최대값을 초과하는 경우, 상기 제2 샘플링 타임을 상기 최대값으로 설정하고, 상기 제2 샘플링 타임이 미리 결정된 최소값 미만인 경우, 상기 제2 샘플링 타임을 상기 최소값으로 설정하는 단계를 더 포함하는,
    모델 예측 제어 방법.
  8. 제 7 항에 있어서,
    상기 설정하는 단계 이후에,
    상기 차량이 주행을 정지할 때까지, 상기 주행조건 데이터를 추출하는 단계와, 상기 제어입력 데이터를 산출하는 단계와, 상기 샘플링 타임으로 조정하는 단계를 반복 수행하는 단계를 더 포함하는,
    모델 예측 제어 방법.
  9. 제 1 항에 있어서,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정하는 단계는,
    상기 제1 제어입력 데이터가 미리 결정된 조건을 만족하는 경우에만 수행되는,
    모델 예측 제어 방법.
  10. 제 1 항에 있어서,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정하는 단계 이후에,
    상기 복수의 센서로부터 획득한 센서 데이터로부터 상기 제2 샘플링 타임에 따라 제2 주행조건 데이터를 추출하는 단계; 및
    상기 제2 주행조건 데이터에 기초하여 제2 예측 모델에 따라 제2 제어입력 데이터를 산출하는 단계를 포함하고,
    제1 예측 모델은 상기 제1 샘플링 타임에 따라 설정된 주행 예측 모델이고, 상기 제2 예측 모델은 상기 제2 샘플링 타임에 따라 설정된 주행 예측 모델인,
    모델 예측 제어 방법.
  11. 모델 예측 제어 장치로서,
    프로세서; 및
    상기 프로세서와 동작 가능하게 연결되고 상기 프로세서에서 수행되는 적어도 하나의 코드를 저장하는 메모리를 포함하고,
    상기 메모리는 상기 프로세서를 통해 실행될 때, 상기 프로세서가 차량의 주행조건을 감지하는 복수의 센서로부터 센서 데이터를 획득하고,
    상기 센서 데이터로부터 제1 샘플링 타임에 따라 제1 주행조건 데이터를 추출하고,
    상기 제1 주행조건 데이터에 기초하여 제1 예측 모델에 따라 제1 제어입력 데이터를 산출하고,
    상기 제1 제어입력 데이터에 기초하여 상기 복수의 센서로부터의 센서데이터에 대한 샘플링 타임을 제2 샘플링 타임으로 조정하도록 야기하는 코드를 저장하는,
    모델 예측 제어 장치.
  12. 제 11 항에 있어서,
    상기 제1 주행조건 데이터는,
    상기 차량의 횡방향 위치(lateral position), 상기 차량의 횡방향 속도(lateral velocity), 상기 차량의 요각도(yaw angle) 및 상기 차량의 요 레이트(yaw rate)를 포함하고,
    상기 제1 제어입력 데이터는,
    상기 차량의 횡방향 가속도(lateral acceleration) 및 전방 조향각(front steering angle)을 포함하는,
    모델 예측 제어 장치.
  13. 제 12 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정 시에, 상기 제1 제어입력 데이터를 이용하여 상기 차량의 예측 경로가 곡선 주행구간인지 직선 주행구간인지 판단하고,
    상기 차량의 예측 경로가 곡선 주행구간임에 따라 상기 제1 샘플링 타임보다 더 작은 샘플링 타임을 제2 샘플링 타임으로 산출하고, 상기 차량의 예측 경로가 직선 주행구간임에 따라 상기 제1 샘플링 타임보다 더 큰 샘플링 타임을 제2 샘플링 타임으로 산출하도록 야기하는 코드를 저장하는,
    모델 예측 제어 장치.
  14. 제 13 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 판단 시에, 상기 횡방향 가속도 및 상기 조향각이 기준값으로부터 일정 범위 이내 임에 따라 상기 차량의 예측 경로를 직선 주행구간으로 판단하고,
    상기 횡방향 가속도 및 상기 조향각이 상기 기준값으로부터 일정 범위를 초과함에 따라 상기 차량의 예측 경로를 곡선 주행구간으로 판단하도록 야기하는 코드를 저장하는,
    모델 예측 제어 장치.
  15. 제 11 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정 시에, 상기 제1 주행조건 데이터와 상기 제1 제어입력 데이터를 상태 공간 방정식에 적용하여 제2 주행조건 데이터를 출력하고,
    상기 제1 샘플링 타임과 상기 제1 제어입력 데이터를 경사하강 알고리즘에 적용하여 제2 샘플링 타임을 산출하도록 야기하는 코드를 저장하는,
    모델 예측 제어 장치.
  16. 제 15 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 제2 샘플링 타임을 산출 시에, 경사하강 알고리즘을 기반으로 하여 샘플링 타임 산출 방정식 을 로딩하고 - 상기 방정식에서 는 다음 회차의 샘플링 타임을 나타내고, 는 현재 회차의 샘플링 타임을 나타내고, 는 부호를 결정하는 제1 항목을 나타내고, 는 샘플링 타임의 조정값을 나타내는 제2항목을 나타내며, 상기 는 상기 곡선 주행구간에서 샘플링 타임을 주행 경로의 곡률에 따라 감소시키기 위해 상기 제1 제어입력 데이터를 바탕으로 산출되는 샘플링 타임의 감소값을 나타내고, 상기 는 상기 직선 주행구간에서 샘플링 타임을 증가시키기 위해 사용하는 상수를 나타냄 -,
    상기 차량의 예측 경로가 직선 주행구간임에 따라, 상기 제1 항목으로부터 양수가 결정되고, 상기 제2 항목으로부터 상기 가 선택됨에 따라, 상기 제1 샘플링 타임으로부터 상기 가 선택된 제2 항목만큼 가산된 샘플링 타임을 제2 샘플링 타임으로 산출하고,
    상기 차량의 예측 경로가 곡선 주행구간임에 따라, 상기 제1 항목으로부터 음수가 결정되고, 상기 제2 항목으로부터 상기 가 선택됨에 따라, 상기 제1 샘플링 타임으로부터 상기 가 선택된 제2 항목만큼 감소된 샘플링 타임을 제2 샘플링 타임으로 산출하도록 야기하는 코드를 저장하는,
    모델 예측 제어 장치.
  17. 제 13 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정 시에, 상기 제2 샘플링 타임이 미리 결정된 최대값을 초과하는 경우, 상기 제2 샘플링 타임을 상기 최대값으로 설정하고, 상기 제2 샘플링 타임이 미리 결정된 최소값 미만인 경우, 상기 제2 샘플링 타임을 상기 최소값으로 설정하도록 야기하는 코드를 더 저장하는,
    모델 예측 제어 장치.
  18. 제 17 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 설정의 이후에, 상기 차량이 주행을 정지할 때까지, 상기 주행조건 데이터를 추출하고, 상기 제어입력 데이터를 산출하고, 상기 샘플링 타임으로 조정하는 동작을 반복 수행하도록 야기하는 코드를 더 저장하는,
    모델 예측 제어 장치.
  19. 제 11 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정은, 상기 제1 제어입력 데이터가 미리 결정된 조건을 만족하는 경우에만 수행되도록 야기하는 코드를 저장하는,
    모델 예측 제어 장치.
  20. 제 11 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 샘플링 타임을 제2 샘플링 타임으로 조정한 이후에, 상기 복수의 센서로부터 획득한 센서 데이터로부터 상기 제2 샘플링 타임에 따라 제2 주행조건 데이터를 추출하고,
    상기 제2 주행조건 데이터에 기초하여 제2 예측 모델에 따라 제2 제어입력 데이터를 산출하도록 야기하는 코드를 저장하고,
    제1 예측 모델은 상기 제1 샘플링 타임에 따라 설정된 주행 예측 모델이고, 상기 제2 예측 모델은 상기 제2 샘플링 타임에 따라 설정된 주행 예측 모델인,
    모델 예측 제어 장치.
KR1020220034007A 2022-03-18 2022-03-18 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법 KR20230136374A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220034007A KR20230136374A (ko) 2022-03-18 2022-03-18 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220034007A KR20230136374A (ko) 2022-03-18 2022-03-18 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230136374A true KR20230136374A (ko) 2023-09-26

Family

ID=88191109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220034007A KR20230136374A (ko) 2022-03-18 2022-03-18 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20230136374A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180033869A (ko) 2016-09-26 2018-04-04 주식회사 엘지화학 스트리퍼 폐액을 이용한 포토레지스트 제거용 스트리퍼 제조 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180033869A (ko) 2016-09-26 2018-04-04 주식회사 엘지화학 스트리퍼 폐액을 이용한 포토레지스트 제거용 스트리퍼 제조 방법

Similar Documents

Publication Publication Date Title
EP3643575B1 (en) A two-step reference line smoothing method to mimic human driving behaviors for autonomous driving cars
US10996679B2 (en) Method to evaluate trajectory candidates for autonomous driving vehicles (ADVs)
US11594011B2 (en) Deep learning-based feature extraction for LiDAR localization of autonomous driving vehicles
EP3377953B1 (en) Adaptive control method and system in a terrestrial vehicle for tracking a route, particularly in an autonomous driving scenario
US11378961B2 (en) Method for generating prediction trajectories of obstacles for autonomous driving vehicles
US10671865B2 (en) Autonomous vehicle control method and apparatus
US11199846B2 (en) Learning-based dynamic modeling methods for autonomous driving vehicles
WO2020154973A1 (en) Lidar localization using rnn and lstm for temporal smoothness in autonomous driving vehicles
US9405293B2 (en) Vehicle trajectory optimization for autonomous vehicles
KR101975725B1 (ko) 학습 기반 모델 예측 제어를 이용한 자율 주행 차량의 노면 마찰 결정 방법 및 시스템
US10928827B2 (en) Systems and methods for generating a path for a vehicle
EP3714290A1 (en) Lidar localization using 3d cnn network for solution inference in autonomous driving vehicles
KR20190013689A (ko) 자율 주행 차량 교통 예측에서 예측되는 궤적에 대한 평가 프레임 워크
CN108334077B (zh) 确定自动驾驶车辆的速度控制的单位增益的方法和系统
EP3694756B1 (en) Spiral curve based vertical parking planner system for autonomous driving vehicles
KR101639525B1 (ko) 차선 유지 시스템, 차선 유지 방법과 이에 사용되는 제어 방법
US10909377B2 (en) Tracking objects with multiple cues
CN113568416B (zh) 无人车轨迹规划方法、装置和计算机可读存储介质
US11634133B1 (en) Adaptive automatic preventative braking (APB) distance
KR20230167301A (ko) 동적 및 정적 물체 회피를 위한 정밀 도로지도 기반 지역 경로 계획 방법 및 장치
KR102246418B1 (ko) 차선 유지 제어 방법 및 그 장치
CN115123233A (zh) 规划车辆轨迹的方法和装置
KR102310491B1 (ko) 자율주행 자동차의 충돌 회피 경로 생성 방법 및 장치
KR20230136374A (ko) 가변된 샘플링 타임이 적용되는 모델 예측 제어 장치 및 방법
US11618460B1 (en) Predictive planning

Legal Events

Date Code Title Description
E902 Notification of reason for refusal