6.2 제어 모듈의 입력과 출력
자율주행 제어 모듈은 상위 계층으로부터 수신하는 입력 데이터와 차량 자체의 상태 정보를 기반으로 구동기 명령을 산출한다. 제어 모듈의 입력과 출력을 명확히 정의하는 것은 시스템 통합(system integration)의 관점에서 필수적이며, 각 인터페이스의 데이터 형식, 갱신 주기, 물리적 의미를 정확히 이해해야 한다. 본 절에서는 제어 모듈의 입력과 출력을 체계적으로 분류하고, 각 데이터 항목의 역할과 특성을 기술한다.
1. 제어 모듈의 입력
제어 모듈의 입력은 크게 두 가지 범주로 구분된다. 첫째는 판단(Planning) 모듈로부터 전달받는 목표 명령(reference command) 이고, 둘째는 차량의 센서 및 관성 측정 장치 등으로부터 획득하는 차량 상태 피드백(vehicle state feedback) 이다.
1.1 판단 모듈로부터의 목표 명령
판단 모듈은 제어 모듈에 대하여 차량이 추종해야 할 목표를 다음과 같은 형태로 전달한다.
1.1.1 참조 궤적(Reference Trajectory)
참조 궤적은 시간에 따라 차량이 통과해야 할 위치의 시퀀스(sequence)로, 각 시점(waypoint)에 대하여 다음과 같은 정보를 포함한다.
| 데이터 항목 | 기호 | 단위 | 설명 |
|---|---|---|---|
| 위치 좌표 | (x^{ref}, y^{ref}) | m | 전역 좌표계(global frame) 또는 차량 좌표계(vehicle frame)에서의 목표 위치 |
| 방향각 | \psi^{ref} | rad | 목표 지점에서의 차량 방향(yaw angle) |
| 곡률 | \kappa^{ref} | m^{-1} | 경로의 곡률, 조향 제어의 피드포워드(feedforward) 입력으로 활용 |
| 목표 속도 | v^{ref} | m/s | 해당 지점에서의 목표 종방향 속도 |
| 목표 가속도 | a^{ref} | m/s^2 | 해당 지점에서의 목표 종방향 가속도 |
| 시간 스탬프 | t^{ref} | s | 해당 지점에 도달해야 하는 시각 |
참조 궤적은 일반적으로 이산 시간(discrete-time) 형태의 웨이포인트 배열로 표현되며, 제어 모듈은 이를 내삽(interpolation)하여 연속적인 참조 신호를 생성한다. 시간 정보가 포함된 궤적을 시공간 궤적(spatiotemporal trajectory)이라 하며, 시간 정보가 없는 순수 경로(path)와 구분된다.
1.1.2 속도 프로파일(Velocity Profile)
속도 프로파일은 경로 상의 각 위치 또는 시각에 대응하는 목표 속도를 정의한다. 참조 궤적에 속도 정보가 포함되어 있는 경우도 있으나, 별도의 데이터 구조로 전달되는 경우도 있다. 속도 프로파일에는 최대 허용 가속도 및 감속도 제약이 반영되어 있으며, 제어 모듈은 이를 종방향 제어의 기준으로 사용한다.
1.1.3 행동 모드(Behavior Mode)
일부 자율주행 시스템에서는 판단 모듈이 현재 수행 중인 행동의 유형(예: 차선 유지, 차선 변경, 정지, 비상 정지 등)을 제어 모듈에 전달한다. 행동 모드에 따라 제어 파라미터(이득 값, 제약 조건 등)를 동적으로 조정하여 상황에 적합한 제어 특성을 구현할 수 있다. 예를 들어, 비상 정지 모드에서는 승차감보다 정지 거리의 최소화를 우선시하여 최대 제동력을 적용한다.
1.2 차량 상태 피드백
제어 모듈은 폐루프(closed-loop) 제어를 수행하기 위하여 차량의 현재 상태를 실시간으로 수신한다. 주요 상태 변수는 다음과 같다.
| 데이터 항목 | 기호 | 단위 | 측정 소스 |
|---|---|---|---|
| 차량 위치 | (x, y) | m | GNSS, 관성 항법 장치(INS), 위치 추정(localization) 모듈 |
| 방향각 | \psi | rad | IMU(관성 측정 장치), 자이로스코프 |
| 종방향 속도 | v_x | m/s | 차륜 속도 센서, GNSS 도플러 |
| 횡방향 속도 | v_y | m/s | IMU 적분, 추정기(estimator) |
| 요레이트 | \dot{\psi} | rad/s | 자이로스코프 |
| 종방향 가속도 | a_x | m/s^2 | 가속도계(accelerometer) |
| 횡방향 가속도 | a_y | m/s^2 | 가속도계 |
| 현재 조향각 | \delta | rad | 조향각 센서(steering angle sensor) |
이러한 상태 변수는 관성 측정 장치(IMU), 전역 위성 항법 시스템(GNSS), 차륜 속도 센서(wheel speed sensor), 조향각 센서 등 복수의 센서로부터 획득되며, 상태 추정기(state estimator)를 통하여 융합(fusion)된 후 제어 모듈에 제공되는 것이 일반적이다. 대표적인 상태 추정 기법으로는 확장 칼만 필터(Extended Kalman Filter, EKF)와 무향 칼만 필터(Unscented Kalman Filter, UKF)가 있다(Thrun et al., 2005).
1.3 환경 및 도로 정보
일부 제어 시스템에서는 도로 경사(road grade), 노면 마찰 계수(friction coefficient), 곡률 등의 환경 정보를 추가 입력으로 활용한다. 이러한 정보는 피드포워드(feedforward) 보상에 사용되어 제어 성능을 향상시킨다. 예를 들어, 도로 경사 정보를 종방향 제어에 반영하면 오르막에서의 속도 저하를 사전에 보상할 수 있다.
2. 제어 모듈의 출력
제어 모듈의 출력은 차량의 구동기(actuator)에 전달되는 물리적 명령 신호이다. 주요 출력 항목은 다음과 같다.
2.1 조향 명령(Steering Command)
횡방향 제어의 결과로 산출되는 조향 명령은 다음 중 하나의 형태로 표현된다.
- 목표 조향각(Target Steering Angle) \delta^{cmd} [rad]: 조향 장치가 도달해야 할 전륜 조향각이다. 하위 조향 제어기(steering controller)가 이 명령을 수신하여 조향 모터를 구동한다.
- 목표 조향각 속도(Target Steering Rate) \dot{\delta}^{cmd} [rad/s]: 조향각의 시간 변화율로, 조향의 급격한 변화를 방지하기 위한 제약으로도 사용된다.
- 조향 토크(Steering Torque) \tau_s^{cmd} [Nm]: 전동식 조향 장치(EPS, Electric Power Steering)에 직접 토크 명령을 전달하는 방식이다.
2.2 가속 명령(Acceleration Command)
종방향 제어의 결과로 산출되는 가속 명령은 다음과 같은 형태를 가진다.
- 목표 가속도(Target Acceleration) a^{cmd} [m/s^2]: 차량이 달성해야 할 종방향 가속도이다. 양의 값은 가속, 음의 값은 감속을 의미한다.
- 스로틀 개도(Throttle Position) [%]: 엔진 또는 전기 모터의 출력을 직접 제어하는 신호이다. 0%는 완전 닫힘, 100%는 완전 열림에 해당한다.
- 브레이크 압력(Brake Pressure) [bar 또는 kPa]: 유압 제동 장치에 인가할 압력이다.
목표 가속도를 출력하는 경우, 하위 계층의 구동기 제어기가 이를 스로틀 개도와 브레이크 압력으로 변환한다. 이러한 계층적 구조는 상위 제어기의 설계를 구동기의 물리적 특성으로부터 분리시켜 모듈화(modularity)를 향상시킨다.
2.3 기어 명령(Gear Command)
저속 기동, 주차, 후진 등의 상황에서는 변속기 기어 명령(전진, 후진, 주차, 중립)이 제어 모듈의 출력에 포함된다.
3. 입출력 데이터의 시간적 특성
제어 모듈의 입출력 데이터는 서로 다른 갱신 주기(update rate)를 가진다. 이러한 비동기적(asynchronous) 데이터 흐름을 적절히 관리하는 것은 제어 시스템 설계의 중요한 과제이다.
| 데이터 유형 | 일반적 갱신 주기 | 비고 |
|---|---|---|
| 참조 궤적 | 10~20 Hz | 판단 모듈의 연산 주기에 의존 |
| 차량 상태 (IMU) | 100~400 Hz | 관성 측정 장치의 출력 주기 |
| 차량 상태 (GNSS) | 1~20 Hz | RTK-GNSS의 경우 최대 20 Hz |
| 제어 출력 | 50~100 Hz | 제어 알고리즘의 실행 주기 |
판단 모듈의 궤적 갱신 주기(10~20 Hz)는 제어 모듈의 실행 주기(50~100 Hz)보다 낮은 것이 일반적이다. 따라서 제어 모듈은 두 궤적 갱신 사이의 구간에서 이전에 수신한 궤적을 내삽하여 사용하거나, 차량의 현재 상태를 기반으로 궤적을 외삽(extrapolation)하여 빈 구간을 채워야 한다.
4. 입출력 인터페이스의 설계 고려사항
제어 모듈의 입출력 인터페이스를 설계할 때 고려해야 하는 주요 사항은 다음과 같다.
- 좌표계 통일(Coordinate Frame Consistency): 참조 궤적과 차량 상태가 동일한 좌표계에서 표현되어야 한다. 전역 좌표계(global frame)와 차량 좌표계(body frame) 간의 변환 오류는 제어 오차의 주요 원인이 된다.
- 시간 동기화(Time Synchronization): 서로 다른 소스의 데이터 간 시간 동기화가 정확해야 한다. 시간 오프셋(time offset)은 위상 지연(phase lag)으로 작용하여 제어 안정성을 저해한다.
- 지연 보상(Latency Compensation): 센서 측정에서 구동기 출력까지의 전체 지연 시간을 파악하고, 제어 알고리즘에서 이를 보상해야 한다. 지연 보상을 위하여 상태 예측(state prediction) 기법이 사용되기도 한다.
- 데이터 유효성 검증(Data Validity Check): 입력 데이터의 범위, 갱신 여부, 시간 일관성 등을 검증하여 비정상적 입력에 의한 오동작을 방지해야 한다.
참고문헌
- Rajamani, R. (2012). Vehicle Dynamics and Control (2nd ed.). Springer.
- Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic Robotics. MIT Press.
- Paden, B., Čáp, M., Yong, S. Z., Yershov, D., & Frazzoli, E. (2016). A Survey of Motion Planning and Control Techniques Adopted in Self-Driving Vehicles. IEEE Transactions on Intelligent Vehicles, 1(1), 33–55.
버전: 2026-04-11 v1.0