[자율주행제어 이론 및 실습] Feedback with Feedforward term, ACC( Constant Time Gap Strategy ), HILS
01.
State feedback with Feedforward Term 제어기
피드포워드 항이 포함된 State Feedback 제어기
자, 자동차를 운전할 때를 생각
우리는 목적지까지 잘 가기 위해 핸들을 돌리고, 가속 페달을 밟고, 브레이크도 밟아.
그런데
만약에 언덕이 있다면?
- 그냥 속도만 보고 운전하면 언덕에서 속도가 느려짐
- 그래서 미리 가속 페달을 더 밟아서 속도를 유지해야 함
이게 바로 피드포워드(Feedforward) 제어다.
즉, 미래의 변화(언덕)를 예측하고 미리 반응하는 것
정리
✅ State Feedback 제어기 → "현재 상태를 보고 조절"
✅ 피드포워드 항 추가 → "앞으로 변할 걸 미리 알고 조절!"
즉, State Feedback + 피드포워드를 쓰면
반응이 더 빠르고 부드러운 제어가 가능하다.
--
a. 피드포워드 항은 헤딩각도 정상상태 오차를 없앨 수 있다.
헤딩각도( Heading Angle )이란 차가 바라보는 방향을 의미한다. 그런데 차가 도로에서 미끄러지면( 횡미끌림 발생 ), 피드 포워드 제어만으로는 방향을 완벽하게 맞출 수 없다.
예를 들어 눈길에서 차를 운전할 때, 미리 핸들을 돌린다고 해도 차가 미끄러지면 예상한 방향과 다르게 갈 수 있다.
이때는 지금 상태를 보고 헤딩각도( Heading Angle )을 계속 조절해야 한다.
따라서 피드 포워드 항만으로 헤딩각도( Heading Angle )를 정확하게 맞출 수 없다.
"헤딩각도 정상상태 오차를 없앨 수 있다"라는 말은 틀린 말이다. 🚫
- 맞는 선지
> 피드포워드 항은 희망 요레이트를 보상하기 위해 추가된 항이다
💡 피드포워드 항(Feedforward Term)은 차량이 원하는 주행 경로를 미리 예측하고 보상하는 역할을 한다.
도로 곡률(κ)에 따라 희망 요레이트를 보상하는 기능이 있다.
- 요레이트(r˙\dot{r})는 차량이 회전하는 속도를 의미함
- 차가 곡선을 따라가려면 적절한 요레이트가 필요함
즉, 피드포워드 항이 희망 요레이트를 반영함으로써, 차량이 원하는 궤적을 따라가도록 도와준다.
+ Proportional Integral Derivative 제어기를 공부 해야하는 이유
Q. 피드 포워드 제어는 차량이 곡선로에 진입을 하면 그 다음부터는 제어가 어렵지?
A. 맞습니다. 피드포워드(Feedforward) 제어는 미리 계산된 모델을 기반으로 입력을 조정하는 방식이라서, 차량이 곡선로에 진입한 이후에는 외란(예: 노면 변화, 타이어 마찰력 변화)에 대한 대응이 어렵습니다.
곡선로에서는 피드백(Feedback) 제어가 필요합니다. 센서 데이터를 기반으로 실시간으로 조향각을 조정하는 PID 제어나 LQR 같은 기법이 사용됩니다.
02.
📌 Constant Time Gap 전략이란?
*ACC(Adaptive Cruise Control, 적응형 크루즈 컨트롤) 은 앞차와의 거리를 적절히 유지하면서 속도를 조절하는 시스템임.
이때, 거리 유지 방식에는 두 가지 전략이 있음.
✔ 1. Constant Spacing Policy (고정 거리 유지 전략)
- 앞차와 일정한 거리(DD)를 유지하는 방식
- 문제점:
- 앞차가 갑자기 감속하면 충돌 위험
- 고속도로 주행에서 비효율적 (차량 흐름이 원활하지 않음)
- ACC 안정성 요구 조건을 만족하지 못함 ❌
✔ 2. Constant Time Gap Strategy(고정 시간 간격 유지 전략)
- 앞차와의 거리를 "시간 간격" 기준으로 유지하는 방식
- 🚗🕒 시간 간격(희망 거리) = 현재 속도 × 일정한 시간 값
- 즉, 희망 거리에 "상대속도"를 반영하여 앞차가 빠르면 더 멀리, 느리면 가까이 따라감
- ACC 안정성 요구 조건을 만족함! ✅
📌 왜 Constant Time Gap Strategy가 더 적합할까?
✔ 앞차가 감속하면 자연스럽게 감속하여 충돌 방지
✔ 고속도로에서 차량 흐름을 원활하게 유지
✔ 안정적인 주행 환경 제공
✅ 결론: Constant Time Gap 전략이 희망 거리에 상대속도를 포함하여 안정성을 보장한다!
03.
주행환경과 제어기가 분리되어 실행되지 않고, 서로 상호작용하며 실행됨.
정답 b. 비선형적 부품들 ( 엔진, 서스펜션, 배터리, 조향 장치 )들은 실제 HW를 사용하여 주행 환경과 연동한다.
--
dSPACE는 제어 시스템 개발을 위한 '실험실'
dSPACE의 역할:
- 실제 부품을 테스트하기 전에 제어 알고리즘(차량의 속도나 방향을 제어하는 프로그램 등)을 먼저 가상 환경에서 실험하고 검증할 수 있어요.
- 그 후, 실제 하드웨어(차량의 부품들)와 연결해서 테스트하고, 실차 환경에서 제어 시스템이 제대로 작동하는지 확인합니다.
즉, dSPACE는 컴퓨터와 실차 부품을 연결해, 실제 차량에서 일어날 수 있는 상황을 가상으로 만들고, 제어 시스템이 올바르게 작동하는지 확인하는 시스템입니다.
04.
V 사이클 개발 프로세스
컴퓨터나 자동차 같은 기계를 만들 때, 어떤 것을 만들기 전에 설계하고 만들고 나서 테스트하는 순서가 있다. 그 순서를 그림으로 그리면 "V" 모양이 된다.
정답 a. "Simulation-in-the-Loop"라는 말은 V 사이클에서 공식적으로 쓰는 용어가 아니다. V 사이클에서는 MIL, SIL, HIL, PIL 이런 말들을 쓰고, "Simulation-in-the-Loop"는 존재하지 않는다.
These materials are derived from the theory and practice of autonomous driving control developed by Professor Han Gyeong-suk from KNU.