Chapter 6. 제어(Control) 모듈 개요
자율주행 시스템에서 제어 모듈은 판단(Planning) 모듈이 생성한 경로 및 행동 명령을 실제 차량의 조향, 가속, 제동 등 물리적 구동 명령으로 변환하는 핵심 구성 요소이다. 인지와 판단이 “무엇을 할 것인가“를 결정하는 단계라면, 제어는 “어떻게 수행할 것인가“를 실현하는 단계에 해당한다. 본 장에서는 제어 모듈의 정의, 역할, 주요 제어 기법, 그리고 자율주행 시스템 내에서의 위치와 상호작용에 대하여 기술한다.
1. 제어 모듈의 정의와 역할
제어(Control) 모듈은 상위 계층으로부터 전달받은 목표 경로(reference trajectory)와 목표 속도 프로파일(velocity profile)을 추종(tracking)하기 위하여, 차량의 조향각(steering angle), 스로틀(throttle) 개도, 브레이크 압력 등의 구동기(actuator) 명령을 실시간으로 산출하는 소프트웨어 모듈이다.
제어 모듈의 주요 역할은 다음과 같다.
- 경로 추종(Path Tracking): 판단 모듈이 생성한 참조 경로를 최소 오차로 추종하도록 조향 명령을 생성한다.
- 속도 제어(Speed Control): 목표 속도 프로파일에 따라 가속 및 감속 명령을 산출한다.
- 안정성 유지(Stability Maintenance): 차량의 횡방향(lateral) 및 종방향(longitudinal) 동역학적 안정성을 확보한다.
- 외란 보상(Disturbance Rejection): 도로 경사, 노면 마찰 변화, 측풍 등 외부 교란 요인에 대하여 보상 제어를 수행한다.
2. 자율주행 시스템 내 제어 모듈의 위치
자율주행 소프트웨어 스택에서 제어 모듈은 인지-판단-제어(Perception-Planning-Control)로 이어지는 파이프라인의 최하류(downstream)에 위치한다. 이 구조에서 각 모듈 간의 데이터 흐름은 다음과 같이 정리된다.
| 구분 | 입력 | 출력 |
|---|---|---|
| 인지(Perception) | 센서 데이터 (카메라, LiDAR, 레이더 등) | 객체 검출, 차선 인식, 위치 추정 결과 |
| 판단(Planning) | 인지 결과, 지도 정보, 규칙 | 참조 경로, 속도 프로파일, 행동 명령 |
| 제어(Control) | 참조 경로, 속도 프로파일, 차량 상태 | 조향각, 스로틀, 브레이크 명령 |
제어 모듈은 판단 모듈의 출력을 입력으로 수신하는 동시에, 차량의 현재 상태(위치, 속도, 요레이트 등)를 피드백(feedback)으로 수신하여 폐루프(closed-loop) 제어를 수행한다. 이러한 피드백 구조는 실시간 오차 보정과 외란 보상을 가능하게 한다.
3. 종방향 제어와 횡방향 제어
자율주행 제어는 일반적으로 종방향 제어(longitudinal control)와 횡방향 제어(lateral control)의 두 축으로 분리하여 설계한다.
3.1 종방향 제어(Longitudinal Control)
종방향 제어는 차량의 전진 방향 속도를 목표 속도 프로파일에 맞추어 조절하는 것을 목적으로 한다. 스로틀 개도와 브레이크 압력을 제어 입력으로 사용하며, 가속도를 중간 제어 변수로 활용하는 경우가 많다.
종방향 제어에서 고려해야 하는 주요 요소는 다음과 같다.
- 차량 종방향 동역학: 엔진 토크, 변속기 기어비, 구동계 마찰, 공기 저항, 구름 저항 등이 차량의 종방향 운동에 영향을 미친다.
- 차간 거리 유지: 선행 차량과의 안전 거리를 확보하기 위한 적응형 순항 제어(Adaptive Cruise Control, ACC) 기능이 종방향 제어에 포함된다.
- 정지 및 출발 제어: 신호등, 정지선, 보행자 등 다양한 상황에서의 정밀한 정지 및 재출발 제어가 요구된다.
3.2 횡방향 제어(Lateral Control)
횡방향 제어는 차량이 참조 경로를 정확히 추종하도록 조향각을 산출하는 과정이다. 차량의 횡방향 위치 오차(lateral error)와 방향각 오차(heading error)를 최소화하는 것이 핵심 목표이다.
횡방향 제어에서 주로 사용되는 차량 모델은 자전거 모델(bicycle model)이다. 자전거 모델은 전륜과 후륜을 각각 하나의 가상 바퀴로 축약하여 차량의 횡방향 동역학을 근사하며, 계산 효율성과 모델 정확도 간의 적절한 균형을 제공한다. 자전거 모델의 운동학적(kinematic) 관계는 다음과 같이 기술된다.
\dot{x} = v \cos(\psi + \beta)
\dot{y} = v \sin(\psi + \beta)
\dot{\psi} = \frac{v}{l_r} \sin(\beta)
\beta = \arctan\left(\frac{l_r}{l_f + l_r} \tan(\delta_f)\right)
여기서 x, y는 차량의 위치, \psi는 방향각(yaw angle), v는 속도, \beta는 슬립각(slip angle), l_f와 l_r은 각각 전축과 후축까지의 거리, \delta_f는 전륜 조향각이다.
4. 주요 제어 기법
자율주행 제어 모듈에서 널리 사용되는 제어 기법들을 아래에 기술한다.
4.1 PID 제어(PID Control)
PID(Proportional-Integral-Derivative) 제어는 가장 기본적이면서도 광범위하게 적용되는 피드백 제어 기법이다. 오차 e(t)에 대하여 비례(P), 적분(I), 미분(D) 항의 가중합으로 제어 입력 u(t)를 산출한다.
u(t) = K_p e(t) + K_i \int_0^t e(\tau) d\tau + K_d \frac{de(t)}{dt}
여기서 K_p, K_i, K_d는 각각 비례 이득, 적분 이득, 미분 이득이다. PID 제어는 구현이 간단하고 연산 비용이 낮으나, 비선형성이 강한 차량 동역학에서는 성능 한계가 존재한다. 주로 종방향 속도 제어에 적용되며, 횡방향 제어에서는 보조적으로 활용된다.
4.2 Pure Pursuit 제어
Pure Pursuit은 기하학적(geometric) 경로 추종 알고리즘으로, 차량의 후축 중심으로부터 참조 경로 상의 전방 주시점(look-ahead point)까지의 원호(arc)를 계산하여 조향각을 결정한다. 조향각 \delta는 다음과 같이 산출된다.
\delta = \arctan\left(\frac{2 L \sin(\alpha)}{l_d}\right)
여기서 L은 차량의 축거(wheelbase), \alpha는 차량의 방향과 전방 주시점을 잇는 직선 사이의 각도, l_d는 전방 주시 거리(look-ahead distance)이다. 전방 주시 거리는 차량 속도에 비례하여 조절하는 것이 일반적이며, 이를 통해 저속에서의 정밀한 추종과 고속에서의 안정적 추종을 동시에 달성할 수 있다.
Pure Pursuit은 구현이 간단하고 직관적이나, 곡률이 급격히 변하는 경로에서는 추종 오차가 증가할 수 있다.
4.3 Stanley 제어
Stanley 제어기는 Stanford 대학교의 자율주행 차량 Stanley에서 사용된 횡방향 제어 알고리즘이다(Thrun et al., 2006). 이 제어기는 전축(front axle) 중심의 횡방향 오차 e_{fa}와 방향각 오차 \psi_e를 동시에 고려하여 조향각을 산출한다.
\delta = \psi_e + \arctan\left(\frac{k \cdot e_{fa}}{v}\right)
여기서 k는 이득 계수, v는 차량 속도이다. Stanley 제어기는 방향각 오차를 직접 보상하므로 수렴 특성이 우수하며, 2005년 DARPA Grand Challenge에서 실증된 바 있다.
4.4 모델 예측 제어(Model Predictive Control, MPC)
모델 예측 제어는 차량의 동역학 모델을 기반으로 미래의 유한 시간 구간(prediction horizon)에 걸친 최적 제어 입력 시퀀스를 반복적으로 산출하는 최적 제어 기법이다. 각 제어 주기에서 다음의 최적화 문제를 풀게 된다.
\min_{u_0, \ldots, u_{N-1}} \sum_{k=0}^{N-1} \left[ (x_k - x_k^{ref})^T Q (x_k - x_k^{ref}) + u_k^T R \, u_k \right]
\text{subject to} \quad x_{k+1} = f(x_k, u_k)
x_{\min} \leq x_k \leq x_{\max}, \quad u_{\min} \leq u_k \leq u_{\max}
여기서 x_k는 시각 k에서의 상태 벡터, x_k^{ref}는 참조 상태, u_k는 제어 입력, Q와 R은 각각 상태 가중 행렬과 입력 가중 행렬, N은 예측 구간 길이, f(\cdot)는 차량 동역학 모델이다.
MPC의 주요 장점은 다음과 같다.
- 차량의 비선형 동역학을 명시적으로 반영할 수 있다.
- 조향각 한계, 가속도 한계 등 물리적 구속 조건을 직접 고려한다.
- 종방향 제어와 횡방향 제어를 통합하여 동시에 최적화할 수 있다.
그러나 MPC는 매 제어 주기마다 최적화 문제를 풀어야 하므로 연산 비용이 높으며, 실시간 적용을 위해서는 효율적인 최적화 솔버(solver)와 충분한 연산 자원이 요구된다. 자율주행 분야에서는 선형화된 MPC(Linear MPC)나 비선형 MPC(Nonlinear MPC)가 모두 활용되며, 최근에는 GPU 기반 병렬 연산을 통한 실시간 비선형 MPC 구현이 활발히 연구되고 있다.
4.5 LQR 제어(Linear Quadratic Regulator)
LQR은 선형 시스템에 대한 최적 상태 피드백 제어 기법으로, 다음의 이차 비용 함수를 최소화하는 제어 이득 행렬 K를 산출한다.
J = \int_0^{\infty} \left( x^T Q x + u^T R u \right) dt
u = -K x
여기서 이득 행렬 K는 대수 리카티 방정식(Algebraic Riccati Equation)의 해로부터 구해진다. LQR은 선형화된 차량 모델에 적용할 경우 안정적인 횡방향 추종 성능을 제공하며, MPC에 비하여 연산 비용이 낮다는 장점이 있다. 그러나 구속 조건을 직접 처리하지 못한다는 한계가 존재한다.
5. 차량 동역학 모델
제어 모듈의 성능은 사용하는 차량 동역학 모델의 정확도에 크게 의존한다. 자율주행 제어에서 사용되는 대표적인 차량 모델의 분류는 다음과 같다.
| 모델 유형 | 특성 | 적용 범위 |
|---|---|---|
| 운동학적 모델(Kinematic Model) | 타이어 힘을 무시하고 기하학적 관계만 고려 | 저속 주행, 주차 |
| 동역학적 모델(Dynamic Model) | 타이어 힘, 관성, 하중 이동 등 고려 | 고속 주행, 긴급 회피 |
| 자전거 모델(Bicycle Model) | 좌우 바퀴를 단일 바퀴로 축약 | 일반적 주행 조건 |
| 다자유도 모델(Multi-DOF Model) | 롤, 피치, 서스펜션 동역학 포함 | 정밀 제어, 시뮬레이션 |
저속 주행 조건에서는 운동학적 자전거 모델로 충분한 정확도를 확보할 수 있으나, 고속 주행이나 한계 주행(limit handling) 조건에서는 타이어의 비선형 특성을 반영하는 동역학적 모델이 필수적이다. 타이어의 횡력(lateral force)은 슬립각에 대하여 비선형 관계를 가지며, 이를 기술하기 위하여 Pacejka의 Magic Formula 타이어 모델(Pacejka, 2012)이 널리 사용된다.
6. 실시간 제어 요구사항
자율주행 제어 모듈은 엄격한 실시간(real-time) 요구사항을 충족해야 한다. 주요 요구사항은 다음과 같다.
- 제어 주기(Control Cycle): 일반적으로 횡방향 제어는 50~100 Hz, 종방향 제어는 20~50 Hz의 주기로 동작한다. 제어 주기가 길어지면 추종 성능이 저하되고 안정성 문제가 발생할 수 있다.
- 지연 시간(Latency): 센서 입력부터 구동기 출력까지의 전체 지연 시간은 수 밀리초(ms) 수준으로 관리되어야 한다. 지연은 위상 지연(phase lag)으로 작용하여 시스템의 안정성 여유(stability margin)를 감소시킨다.
- 결정론적 실행(Deterministic Execution): 제어 알고리즘은 매 주기마다 정해진 시간 내에 연산을 완료해야 하며, 이를 위하여 실시간 운영체제(RTOS)나 실시간 스케줄링 기법이 적용된다.
7. 학습 기반 제어의 동향
최근에는 기존의 모델 기반 제어 기법에 더하여 학습 기반(learning-based) 제어 기법이 자율주행 분야에서 활발히 연구되고 있다. 주요 접근법은 다음과 같다.
- 모방 학습(Imitation Learning): 전문 운전자의 주행 데이터로부터 제어 정책(policy)을 학습하는 방법이다. 센서 입력을 직접 제어 출력에 매핑하는 종단간(end-to-end) 학습이 대표적이며, Bojarski et al.(2016)이 제안한 NVIDIA의 PilotNet이 초기 연구 사례에 해당한다.
- 강화 학습(Reinforcement Learning): 보상 함수(reward function)를 기반으로 시행착오를 통해 최적 제어 정책을 학습하는 방법이다. 시뮬레이션 환경에서의 학습 후 실차에 전이(sim-to-real transfer)하는 방식이 연구되고 있다.
- 적응 제어(Adaptive Control): 차량 파라미터의 변화(적재 하중, 타이어 마모 등)에 대하여 제어 파라미터를 온라인으로 조정하는 기법이다.
학습 기반 제어는 복잡한 동역학 모델링 없이도 높은 성능을 달성할 수 있는 잠재력을 가지나, 안전성 보장(safety guarantee)과 해석 가능성(interpretability) 측면에서 과제가 남아 있다.
8. 제어 모듈의 평가 지표
제어 모듈의 성능을 정량적으로 평가하기 위하여 다음과 같은 지표가 사용된다.
- 횡방향 오차(Lateral Error): 차량의 실제 위치와 참조 경로 간의 횡방향 거리로, 경로 추종 정확도를 나타낸다. 평균 절대 오차(MAE)와 최대 오차가 주로 보고된다.
- 방향각 오차(Heading Error): 차량의 실제 방향과 참조 경로의 접선 방향 간의 각도 차이이다.
- 속도 추종 오차(Speed Tracking Error): 실제 속도와 목표 속도 간의 차이이다.
- 승차감 지표(Ride Comfort Metrics): 가속도의 변화율인 저크(jerk)와 횡방향 가속도 등이 승객의 승차감을 평가하는 데 사용된다.
- 제어 입력의 평활도(Control Smoothness): 조향각과 가속도 명령의 시간적 변화율로, 급격한 제어 입력은 차량 안정성과 승차감을 저해한다.
참고문헌
- Bojarski, M., Del Testa, D., Dworakowski, D., Firner, B., Flepp, B., Goyal, P., … & Zieba, K. (2016). End to End Learning for Self-Driving Cars. arXiv preprint arXiv:1604.07316.
- Pacejka, H. B. (2012). Tire and Vehicle Dynamics (3rd ed.). Butterworth-Heinemann.
- Rajamani, R. (2012). Vehicle Dynamics and Control (2nd ed.). Springer.
- Thrun, S., Montemerlo, M., Dahlkamp, H., Stavens, D., Aron, A., Diebel, J., … & Mahoney, P. (2006). Stanley: The Robot that Won the DARPA Grand Challenge. Journal of Field Robotics, 23(9), 661–692.
- Kong, J., Pfeiffer, M., Schildbach, G., & Borrelli, F. (2015). Kinematic and Dynamic Vehicle Models for Autonomous Driving Control Design. IEEE Intelligent Vehicles Symposium (IV), 1094–1099.
버전: 2026-04-11 v1.0