Vehicle Control in Self-Driving
개요
- 자율주행 시스템은 일반적으로 인지(Perception) → 경로계획(Planning) → 제어(Control) 의 구조로 구성된다.
- Vehicle Control은 경로계획 모듈이 생성한 목표 경로(Path)와 목표 속도(Velocity)를 실제 차량이 추종할 수 있도록 조향각(Steering Angle), 가속(Throttle), 제동(Brake) 등의 제어 명령을 생성하는 역할을 수행한다.
-Vehicle-Control---Overview_image_1.png)
차량 제어의 두 가지 방향
종방향 제어 (Longitudinal Control)
- 가속 페달과 브레이크 페달을 조절하여 목표 속도를 유지하거나 전방 차량과의 안전거리를 확보하는 제어. (차량의 진행 방향 속도를 제어)
- 목표 속도 추종, 차량 간 거리 유지 (ACC), 가속 및 감속 제어, 제동 제어 등
- 입력:
- 가속 페달
- 브레이크 페달
- 출력:
- 차량 속도 ()
횡방향 제어 (Lateral Control)
- 스티어링 휠(조향각)을 조절하여 차량이 차선이나 지정된 경로를 이탈하지 않고 정확하게 따라가도록(Path Tracking) 하는 제어.
- 차선 중앙 유지, 경로 추종, 곡선 주행 등
- 입력:
- 조향각
- 출력:
- 횡방향 오차 (Cross-track Error)
- 자세 오차 (Heading Error)
제어 루프의 형태
- 차량 제어 시스템은 센서 피드백의 유무에 따라 크게 두 가지 방식으로 나뉘며, 자율주행에서는 주변 환경의 변화인 외란(Disturbance)에 대응하기 위해 주로 Closed-Loop Control을 사용한다.
- 실제 차량은 노면 상태 변화, 타이어 슬립, 하중 변화, 바람, 센서 노이즈 등과 같은 외란(Disturbanc)의 영향을 받는다.
Open-Loop Control
-Vehicle-Control---Overview_image_2.png)
- 단순히 미리 계산된 조향 및 속도 명령만 사용하여 주행.
- 출력된 제어 변수에 대한 센서 피드백이 없기 때문에, 알 수 없는 외란(바람, 도로 경사 등)이 발생했을 때 오차가 누적되어 차량이 경로를 벗어나는 드리프트(Drift) 현상이 발생함.
Closed-Loop Control
-Vehicle-Control---Overview_image_3.png)
- 차량의 현재 상태를 지속적으로 측정하여 목표 상태와의 오차를 실시간으로 계산하여 오차를 최소화 하는 방향으로 제어 입력을 지속적으로 보정하며 주행함.
Vehicle Controls
- 제어 대상에 대한 지식 수준과 제어 방식에 따라 제어기를 크게 Black Box Control, Geometric Control, Optimal Control 로 분류하여 다룰 수 있다.
| 제어기 타입 | 프로세스(차량 모델) 지식 필요 여부 | 주요 특징 |
|---|---|---|
| Black Box Control | 불필요 (차량의 물리적 역학을 몰라도 됨) | 오차(Error)만을 기반으로 제어 입력을 결정. 구현이 단순하여 산업계에서 가장 널리 쓰임 (예: PID Control). |
| Geometric Control | 기하학적 관계 활용 (차량과 경로 사이의 기하학) | 차량과 추종할 경로 사이의 기하학적 관계를 이용해 간결한 제어 법칙을 도출 (예: Pure Pursuit, Stanley). |
| Optimal Control | 필수 (정밀한 차량 동역학 모델 필요) | 차량 동역학 모델을 기반으로, 미래 일정 시간 동안의 목적 함수(Cost Function)를 최소화하는 최적의 제어 입력을 계산 (예: LQR, MPC). |
- 차량 동역학 모델 참고 :
- 차량 제어 참고 :