Kinematic and Dynamic Vehicle Models for Autonomous Driving Control Design
Jason Kong, Mark Pfeiffer, Georg Schildbach, Francesco Borrelli (2015) University of California, Berkeley / ETH Zurich
Abstract
본 논문은 자율주행 모델 기반 제어 설계에 사용되는 운동학적(kinematic) 및 동역학적(dynamic) 차량 모델의 활용을 다룬다. 실험 데이터를 통해 두 모델의 예측 오차 통계를 분석하고, 이산화(discretization)가 예측 오차에 미치는 영향을 함께 살펴본다. 이 분석 결과를 바탕으로 모델예측제어(MPC)와 단순한 운동학적 자전거 모델을 이용한 자율주행 차량 제어기를 설계한다. 제안하는 방식은 기존의 타이어 모델을 사용하는 방법보다 계산 비용이 적고, 타이어 모델이 특이점을 갖는 저속 구간에서도 사용할 수 있다. 다양한 속도의 굴곡진 도로 실험을 통해 제안 방식의 효과를 확인하였다.
1. Introduction
자율주행 분야는 컴퓨팅 및 센싱 기술의 발전과 함께 최근 몇 년간 급격하게 성장했다. 자율주행차에 대한 아이디어 자체는 1920년대부터 존재했으며, DARPA Grand Challenge 등 최근의 자율주행 경진대회들이 관련 연구를 크게 가속시켰다.
현대 자율주행의 핵심 요소는 위치추정(localization), 인지(perception), 제어(control)이며, 본 논문은 이 중 모델예측제어(MPC)를 이용한 차량의 가속, 제동, 조향 제어를 다룬다.
(MPC는 매 샘플링 시점마다 현재 상태를 기준으로 유한 구간(finite horizon)에 대한 개루프 최적제어 문제를 풀고, 그 결과 중 다음 샘플링 구간에 해당하는 입력만 실제로 인가한 뒤, 다음 시점에서 새로운 측정값을 기반으로 문제를 다시 푸는 방식이다. MIMO 시스템과 입출력 제약을 함께 다룰 수 있어 자율주행 제어에 적합하다.)
기존의 MPC 관련 연구들은 선형(linear), Pacejka, Fiala 같은 타이어 모델을 사용하는데, 이 접근법에는 두 가지 단점이 있다.
계산 비용이 높다는 점
타이어 슬립각(slip angle) 추정식의 분모에 차량 속도가 있어, 어떤 타이어 모델이든 저속 주행 시 특이점(singular)을 갖게 되어 정지-출발(stop-and-go)이 흔한 도심 주행에 그대로 적용하기 어렵다는 점
본 논문은 위 두 문제를 해결하기 위해 운동학적 자전거 모델(kinematic bicycle model)을 사용하는 방식을 제안한다. 논문의 기여는 두 가지다.
운동학적 모델과 동역학적 모델을 비교하여, 두 모델이 실제 주행 데이터 대비 미래 상태를 얼마나 잘 예측하는지, 그리고 샘플링 시간이 예측 오차에 미치는 영향을 분석한다.
위 비교 결과를 바탕으로 MPC와 운동학적 자전거 모델을 이용한 컨트롤러를 설계하고 다양한 실험으로 성능을 검증한다.
3. Comparison Between Dynamic and Kinematic Models
Hyundai California Proving Grounds(CPG)의 winding track에서 실제 주행 데이터를 측정하는 실험을 수행하였다.
이와 별개로 데이터셋 크기만큼 N-step 시뮬레이션을 대량으로 수행하였다. 각 시뮬레이션에서는 차량 모델(운동학적 또는 동역학적)을 측정된 실제 상태값으로 초기화한 후, N-step 길이의 실제 입력 시퀀스를 모델에 입력한다. 모델은 오일러 방법으로 이산화되며, td=100ms 또는 td=200ms로 샘플링된다.
시뮬레이션된 상태값을 실제 측정된 차량 상태값과 비교하여 두 모델의 정확도를 검토하며, 이를 개루프 예측 오차(open-loop prediction error)라고 부른다.
3-A. Test Setup
실험 차량: Hyundai Azera (총 축거 2.843m, lf=1.105m, lr=1.738m), 전륜구동
위치 추정: GPS 기지국을 이용하며, OTS(Oxford Technical Solutions) RT2002 센싱 시스템으로 위치와 헤딩각을 측정. 이 시스템은 차동 GPS, IMU, DSP로 구성된다.
GPS 기지국의 현재 모드(가용 위성 수, 차량-기지국 간 통신 상태에 따라 결정)에 따라 위치 오차가 달라진다.
RTK(Real-time Kinematic) 정수해 모드: σ=0.02m
차동 GPS 모드: σ=0.4m
두 모드 모두 헤딩각 측정 정밀도는 동일: σ=0.1°
주행 조건: 다양한 커브와 직선이 혼재된, 서로 다른 모델을 비교하는 실험에 이상적인 CPG의 굴곡 트랙에서 주행.
속도 통계: 평균 주행 속도 13.8m/s(표준편차 3m/s), 최고 주행 속도 17.1m/s
3-B. Model Comparison
TABLE I: Open-Loop Errors at Multiples of 200ms (one step = 200ms)
Model and Discretization
1-Step
2-Step
3-Step
4-Step
Kinematic - 100 ms
0.08±0.04 m
0.16±0.06 m
0.27±0.11 m
0.40±0.19 m
Kinematic - 200 ms
0.07±0.04 m
0.14±0.05 m
0.22±0.08 m
0.33±0.13 m
Linear Tire - 100 ms
0.07±0.04 m
0.13±0.04 m
0.20±0.05 m
0.27±0.06 m
Linear Tire - 200 ms
0.08±0.04 m
0.15±0.05 m
0.23±0.06 m
0.31±0.08 m
100ms 간격으로 이산화된 두 모델에서 1~2 step에서의 오차 분포는 거의 동일하다. 3~4 step에서는 운동학적 모델의 개루프 평균 예측 오차가 동역학적 모델보다 각각 30%, 48% 더 크며, 두 구간 모두 표준편차도 더 크다.
서로 다른 이산화 주기를 비교했을 때, 오히려 더 긴 이산화 주기가 운동학적 모델에 유리하게 작용하는 것이 관찰되었다.
3-C. Discretization Effects
일반적으로 이산화 간격이 클수록 더 긴 구간을 예측할 수 있는 대신 예측이 부정확해지는 경향이 있어, 예측 구간의 길이와 정확도 사이에는 트레이드오프가 존재한다. 하지만 본 연구에서는 오히려 이산화 주기가 클수록 kinematic bicycle model의 정확도가 높아져, 이 트레이드오프가 적용되지 않는 것을 관찰했다.
(a) 연속시간 운동학적 모델, (b) 200ms로 이산화된 운동학적 모델, (c) 연속시간 동역학적 모델을 비교한 결과, (b)-(c) 사이의 차이가 (a)-(c) 사이의 차이보다 작았다. (a)는 이산화 주기가 0에 가까운 극한값으로 볼 수 있으므로, 이산화 주기가 커질수록 운동학적 모델의 예측값은 동역학적 모델의 예측값과 더 가까워진다.
굴곡 트랙 실험에서의 이산화 효과는 Table I에 나타나 있다. 운동학적 모델은 200ms로 이산화했을 때가 100ms로 이산화했을 때보다 개루프 예측 오차가 더 작았다. 반면 선형 타이어 모델을 사용하는 동역학적 모델은 더 긴 이산화 주기로부터 이득을 얻지 못했다. 4-step(800ms) 시점에서, 운동학적 모델을 200ms로 이산화했을 때는 100ms로 이산화했을 때보다 오차가 17% 개선되었다.
메커니즘: 동역학적 모델은 슬립을 고려하며, 특히 전륜의 슬립(언더스티어)으로 인해 더 넓은 회전 궤적을 만들어낸다. 반면 이산화된 운동학적 모델은 절단 오차(truncation error)로 인해 마찬가지로 더 넓은 회전 궤적을 만들어낸다. 서로 다른 원인이 우연히 같은 방향으로 작용하기 때문에 두 모델의 예측이 유사해지는 것이다.
4. Model Predictive Controller
4-A. Control Design
3장의 모델 비교 결과는 Kinematic Bicycle Model을 이용해 MPC 제어기를 설계하는 것을 정당화한다. 아래 그림은 경로를 생성하는 상위 레벨 알고리즘과, 이를 추종하는 하위 레벨 MPC 제어기로 구성된 단순화된 아키텍처를 나타낸다.
매 샘플링 시간 ts=100ms마다 MPC 제어기는 다음과 같은 제약이 있는 유한시간 최적제어 문제를 푼다.
Q∈R⁺⁴ˣ⁴, R∈R⁺²ˣ², R̄∈R⁺²ˣ²: 비용함수 가중치로 구성된 대각행렬
Hp: 예측 구간(prediction horizon)
u₋₁: 이전 샘플링 스텝, 즉 u(t−ts)에서 인가된 입력값
ts: 제어기 샘플링 시간
td: 모델 이산화 시간 (td=200ms)
umin, umax / u˙min, u˙max: 입력 및 입력 변화율 제약의 하한과 상한
zref: 계획된 경로의 기준상태를 모은 벡터
제어기 샘플링 시간 ts와 모델 이산화 시간 td를 의도적으로 다르게 설정했다. 이렇게 하면 동일한 예측 구간(step 수)으로도 더 긴 예측 시간을 확보하면서, 동시에 더 높은 주기로 상태 피드백을 갱신할 수 있다.
경로 계획기는 전체 구간에 대해 기준상태 zi를 부여하는 기준 경로를 생성하며, 기준점 사이의 간격은 목표 속도에 따라 결정된다.
본 논문은 명목 MPC(nominal MPC) 설계를 다루지만, 3장에서 정량화한 불확실성을 반영한 강건 MPC(robust MPC) 설계도 가능하며 이는 별도의 후속 연구 주제로 남겨두었다.
5. Controller Setup
MPC 제어기, 위치 추정, 하위 레벨 제어기는 모두 900MHz IBM PowerPC 프로세서로 구동되는 dSpace MicroAutobox에서 실행된다.
MPC 최적화 문제는 범용 비선형 솔버인 NPSOL로 풀이한다.
제어기의 입력 및 예측 구간은 8 step으로, 1.6초를 내다보는 것에 해당한다. 샘플링 시간과 구간은 최적화 문제의 계산 복잡도와 MicroAutobox의 성능 한계를 고려하여 선정하였다.
TABLE II: Numerical values for input (rate) constraints
β
a
β˙
a˙
minimum
-37°
-1.5 m/s²
-10°/s
-3 m/s³
maximum
37°
1 m/s²
10°/s
1.5 m/s³
기준 경로 생성을 위해 차량의 현재 위치를 도로 중심선에 투영하고, 이 위치로부터 기준 경로를 생성한다. 기준 경로는 차량 전방에 배치된다.
6. Result
세 가지 유형의 실험을 진행하였다: (A) 저속 추종, (B) 사인파 경로 추종, (C) 굴곡 트랙 주행.
6-A. Low-Speed Tracking
기준 속도가 0~6 m/s인 정지-출발(stop-and-go) 상황에서 실험을 진행하였다. 제어기는 기준 경로를 잘 추종하였으며, 평균 오차와 표준편차는 각각 μ=0.03m, σ=0.03m였고 최대 오차는 회전 구간에서 발생한 0.15m였다.
6-B. Sinusoidal Path Following Results
진폭 4m, 파장 100m의 사인파 기준 궤적 Y=4·sin(2π/100·X)을 이용한 추종 결과를 제시한다.
vx=10m/s
vx=15m/s
차량 종축 방향의 기준 속도는 다음 식을 따른다.
vref=vx1+(Aω)2cos2(ωx),ω=D2π
여기서 D는 사인파의 파장, A는 진폭이다.
관성좌표계의 원점은 차량의 출발 위치로 설정된다. 매 스텝마다 차량의 현재 위치를 기준으로 기준 궤적이 새로 생성된다.
차량은 정지 상태에서 출발하여 목표 속도에 도달한 후 주기적인 거동을 따른다.
정상상태에 도달한 이후의 거동을 통해 개루프 예측과 폐루프 거동의 차이를 볼 수 있으며, 이 차이는 유한 구간(finite horizon), 모델 불일치, 센서 잡음, 외란(external disturbances) 등에 의해 나타난다.
속도가 높을수록 기준 경로와의 편차가 커지는데, 이는 더 높은 횡력과 타이어 슬립각 때문이며 모델 예측 정확도에 부정적 영향을 미친다.
운동학적 자전거 모델을 MPC에 활용할 때의 단점이 여기서 드러난다. 잘 튜닝된 제어기라도 높은 횡가속도 구간에서는 모델 불일치가 두드러져 궤적 추종이 어려워진다. vx=15m/s일 때 특히 뚜렷하며, 개루프 궤적과 폐루프 경로가 일치하지 않는다. 차량이 언더스티어 특성을 보이기 때문에 실제 주행 궤적은 항상 제어기가 가정한 것보다 넓게 회전한다.
vx=10m/s일 때 평균 오차와 표준편차는 각각 0.41m, 0.25m
vx=15m/s일 때 평균 오차와 표준편차는 각각 1.08m, 0.68m
6-C. Winding Track Results
굴곡 트랙을 테스트베드로 사용하였다. 트랙 지도상 여러 지점에서의 속도 기준값을 포함한 굴곡 트랙 지도를 사람이 직접 운전한 주행 데이터로부터 생성하였다. 첫 실험에서는 이 속도 기준값을 그대로 사용했고, 두 번째 실험에서는 속도 기준값의 0.7배를 적용하였다. Table III는 두 실험에서 사용된 속도 범위 정보를 보여준다.
TABLE III: Velocity information about the winding track
Scaling
Avg. Speed
Max. Speed
Min. Speed
Std. Deviation
0.7
10.8 m/s
15.56 m/s
5 m/s
2.14 m/s
1
15.4 m/s
22.23 m/s
7.2 m/s
3 m/s
두 스케일링 속도에 대한 기준 궤적 오차 분포를 나타낸 위 그림을 보면, MPC 제어기가 기준 경로를 추종하는 데 있어 우수한 성능을 보인다. 스케일링 속도 0.7과 1에서의 평균 중심선 오차(centerline error)는 각각 0.26m, 0.58m였다.
6-B의 사인파 궤적과 유사하게, 직선 주로에서는 운동학적 모델이 기준 경로를 정확하게 추종하는 것을 보여준다. 그러나 횡가속도가 큰 고속 구간에서는 슬립이 많이 발생하기 때문에 편차가 크게 나타난다. 횡가속도가 커질수록 슬립을 고려하는 동역학적 모델을 사용하는 것이 더 중요해짐을 의미한다.
7. Conclusion
본 논문은 Kinematic Bicycle Model을 이용한 MPC 제어기 설계를 정당화하기 위해 운동학적 모델과 동역학적 모델을 비교하였다. 그 결과 운동학적 모델의 이산화 간격이 클수록 두 모델의 예측이 더 유사해진다는 것을 발견했다 — 실제로 200ms로 이산화한 운동학적 모델은 100ms로 이산화한 동역학적 모델과 유사한 성능을 보였다.
이 결과는 기존의 타이어-노면 상호작용을 포함하는 고정밀 모델 대신 운동학적 모델을 사용해 MPC를 설계하는 것을 정당화한다. 제안된 접근법은 더 적은 계산 능력을 필요로 하며, 정지 속도를 포함한 더 넓은 속도 범위에서 사용할 수 있다.
정지-출발 상황의 실험을 통해 저속에서 기준 경로를 잘 추종함을 확인했다. 다만 횡가속도가 커지는 상황에서는 슬립을 반영하는 동역학적 모델이 더 적합할 것이다. 서로 다른 횡가속도 조건에서의 운동학적 모델 예측 성능은 이산화 시간 최적화와 함께 추가로 연구될 수 있으며, 경로 계획기가 횡가속도의 특정 값을 넘지 않도록 제한하는 방법도 성능 개선에 도움이 될 수 있다.