[논문 리뷰] Predictive Active Steering Control for Autonomous Vehicle Systems

이건희·2026년 8월 14일

논문 Review

목록 보기
8/18

Paolo Falcone, Francesco Borrelli, Jahan Asgari, Hongtei Eric Tseng, Davor Hrovat
Università degli Studi del Sannio (Italy); Ford Research Laboratories, Dearborn, MI (USA)
IEEE Transactions on Control Systems Technology, Vol. 15, No. 3, May 2007

Abstract
이 논문은 자율주행차의 능동 전륜 조향(active front steering) 시스템을 제어하기 위한 모델예측제어(MPC) 기법을 제안한다. 매 시간 스텝마다 유한 구간(finite horizon)에 걸친 목표 궤적이 이미 주어져 있다고 가정하며, MPC 컨트롤러는 미끄러운 노면에서 가능한 가장 높은 진입 속도로 이 궤적을 추종하도록 전륜 조향각을 계산한다. 이 논문은 계산 복잡도가 서로 다른 두 가지 접근법을 제시한다. 첫 번째는 비선형 차량 모델을 이용해 MPC 문제를 구성하는 방식이고, 두 번째는 차량 모델을 매 스텝마다 순차적으로 온라인 선형화(online linearization)하는 방식에 기반한다. 두 방식의 계산 복잡도와 성능에 대한 논의를 함께 제시한다. 제안한 MPC 기법의 효과는 시뮬레이션과 실차 실험을 통해 검증되었으며, 빙판길에서 최대 21 m/s의 속도까지 차량을 안정적으로 제어할 수 있음을 입증했다.

I. Introduction

  • 최근 자동차 산업은 전자, 컴퓨터, 제어 기술의 비중이 커지고 있으며, 특히 능동 안전(active safety) 분야에 대한 관심이 높아지고 있다. 수동 안전(passive safety)이 차체의 구조적 건전성 확보에 초점을 맞춘다면, 능동 안전은 사고를 회피하고 특히 미끄러운 노면 등 비상 상황에서 차량의 조종성과 안정성을 높이는 데 목적이 있다.
  • 1980년대의 초기 능동 안전 시스템은 종방향(longitudinal) 동역학, 즉 더 효과적인 제동을 위한 ABS(anti-lock braking system)와 견인력 제어(traction control, TC) 시스템에 집중되었다. 이후에는 브레이크와 엔진 토크를 이용해 요(yaw) 운동을 제어함으로써 극한 상황에서 차량을 안정화하는 차량 안정성 제어 시스템이 등장했으며, 이는 ESP, VSC, IVD, DSC 등 제조사마다 다른 이름으로 불린다.
  • 이러한 제동·구동계 기반 시스템에 더해, 능동 전륜 조향(Active Front Steering, AFS) 시스템은 전륜 조향 명령을 이용해 횡방향 안정성을 개선하고, 마찰계수가 좌우로 다른 노면, 비대칭 제동, 횡풍 등 외란을 상쇄하는 데도 활용된다. 4륜 조향(4WS) 시스템 역시 비슷한 목표를 가지며, 앞바퀴 조향으로는 경로 추종을, 뒷바퀴 조향으로는 요 안정화를 담당하도록 역할을 분리하는 연구도 있었다.
  • 자율주행 관점에서도 AFS 연구가 이어져 왔다. 예컨대 차량 범퍼에 자기 센서를 달아 전선이나 자기 마커로 구현된 차선 기준선을 인식해 고속도로 자동화를 구현한 연구가 있었고, 보다 최근에는 DARPA의 "Grand Challenge" 자율주행 경주가 AFS 응용의 대표 사례로 꼽힌다.
  • 향후에는 4WS, 능동 조향, 능동 서스펜션, 능동 디퍼렌셜 같은 액추에이터뿐 아니라, 카메라, 적외선 센서, GPS(사전 지도 정보 포함) 등 다양한 센서 정보가 결합되면서, 동물이나 바위, 낙하물 같은 장애물을 인식하고 주변 교통으로부터 안전한 거리를 유지하며 최적 경로를 따라가는 자율주행 시스템으로 발전할 것으로 전망된다. 주변 차량이나 인프라로부터 노면 상태에 대한 정보를 미리 받을 수 있다면, 특히 눈길이나 빙판길처럼 차량이 쉽게 한계 상황에 도달하는 환경에서 유용할 것이다.
  • 이 논문은 미끄러운 노면에서의 이중 차선 변경(double lane change) 시나리오를 다루며, 완전 자율주행 시스템을 갖춘 차량의 요 및 횡방향 동역학을 능동 전륜 조향을 통해 제어하는 데 초점을 맞춘다. 제어 입력은 전륜 조향각이고, 목표는 차량의 물리적 한계와 설계 요구사항을 반영한 여러 제약 조건을 만족시키면서 목표 궤적을 최대한 가깝게 추종하는 것이다. 미래의 목표 궤적은 매 시간 스텝마다 유한한 구간(finite horizon)에 대해서만 알려져 있는데, 이는 모델예측제어(Model Predictive Control, MPC)의 기본 정신과 정확히 부합한다.

MPC와 공정 제어의 오랜 인연 시간에 따라 변하는(time-varying) 모델을 예측에 사용하는 아이디어 자체는 이 논문이 다루는 차량 응용보다 훨씬 오래전인 1970년대 초 화학 공정 제어(process control) 분야까지 거슬러 올라간다. 온도, 압력, 유량처럼 느리게 변하는 공정 변수를 다루던 제어 이론이, 수십 년 뒤 매 50ms마다 결정을 내려야 하는 차량의 요, 횡방향 동역학 제어에 적용되었다는 점은 MPC라는 프레임워크가 얼마나 범용적인지를 잘 보여준다.

  • 이 논문에서는 AFS MPC 문제에 대한 서로 다른 두 가지 정식화를 제시하고 비교한다. 첫 번째 방식은 비선형 차량 모델을 이용해 시스템의 미래 거동을 예측하며, 매 시간 스텝마다 비선형 최적화 문제를 풀어야 한다. 이 논문은 이러한 계산 부담이 현재로서는 고속 주행 조건에서의 실험적 검증을 가로막는 걸림돌임을 보인다. 두 번째 방식은 이 문제를 해결하기 위해, 비선형 차량 모델을 매 시간 스텝마다 현재 동작점 주변에서 순차적으로 온라인 선형화(online linearization)하여 얻은 선형 시변(Linear Time-Varying, LTV) 시스템에 대해 준최적(suboptimal) MPC 컨트롤러를 설계한다.
  • 실험 결과, 타이어 슬립각(slip angle)에 대한 상태 제약을 추가로 도입하면 LTV MPC 컨트롤러의 성능이 크게 향상됨을 보인다. 그 결과 빙판길에서 최대 21 m/s까지 차량을 안정화할 수 있었다. 마지막으로, 제어 구간(control horizon)이 단 1스텝인 LTV MPC도 함께 제시하는데, 적절히 튜닝하면 복잡한 최적화 소프트웨어 없이도 준수한 성능을 낼 수 있다.
  • 실차(승용차)에 MPC 컨트롤러를 실시간으로 구현하여 눈길과 빙판길에서 실험을 수행했다.
  • 이 논문은 다음과 같이 구성된다. II장은 사용된 차량 동역학 모델과 타이어 모델을 설명하고, III장은 자율주행 안내를 위한 단순화된 계층적 프레임워크를 소개한다. IV장은 비선형 예측 모델과 선형 예측 모델을 사용하는 경우 각각에 대해 제어 문제를 정식화하며, V장은 이중 차선 변경 시나리오를 설명한다. VI장에서는 실험 및 시뮬레이션 결과를 제시하고, VII장에서 향후 연구 방향을 포함한 결론을 맺는다.

II. Modeling

  • 이 절에서는 시뮬레이션과 제어 설계에 사용된 차량 모델과 타이어 모델을 설명한다. 이후 종방향(longitudinal, tractive) 힘을 FlF_l, 횡방향(lateral, cornering) 힘을 FcF_c로 표기하고, FxF_x, FyF_y는 차체 좌표계(car body frame)에서의 힘, FzF_z는 타이어 수직 하중(normal tire load)을 나타낸다. II는 차량 관성모멘트, XX, YY는 절대 좌표계에서의 차량 위치, aa, bb는 각각 무게중심에서 앞바퀴·뒷바퀴까지의 거리(차량 기하 구조), gg는 중력가속도, mm은 차량 질량, rr은 바퀴 반경, ss는 슬립비(slip ratio)이다. vlv_l, vcv_c는 각각 종방향·횡방향 바퀴 속도, xx, yy는 차체 좌표계에서의 국소 횡방향·종방향 좌표, x˙\dot{x}는 차량 속도, α\alpha는 슬립각(slip angle), δ\delta는 바퀴 조향각, μ\mu는 노면 마찰계수, ψ\psi는 헤딩각(heading angle)이다. 아래첨자 (⋅)f(\cdot)_f, (⋅)r(\cdot)_r은 각각 앞바퀴, 뒷바퀴에 대한 값을 나타낸다(예: FlfF_{l_f}는 앞바퀴의 종방향 힘).

A. Vehicle Model

  • 타이어 수직 하중이 일정하다는 가정, 즉 Fzf,Fzr=constantF_{z_f}, F_{z_r} = \text{constant} 하에서 차량의 동역학을 표현하기 위해 "자전거 모델(bicycle model)"을 사용한다. 아래 Fig. 1은 이 차량 모델의 다이어그램을 보여주며, 이 모델은 종방향, 횡방향, 요(yaw) 방향의 세 자유도를 가진다.

mx¨=my˙ψ˙+2Fxf+2Fxr(1a)m\ddot{x} = m\dot{y}\dot{\psi} + 2F_{x_f} + 2F_{x_r}\tag{1a}
my¨=−mx˙ψ˙+2Fyf+2Fyr(1b)m\ddot{y} = -m\dot{x}\dot{\psi} + 2F_{y_f} + 2F_{y_r}\tag{1b}
Iψ¨=2aFyf−2bFyr(1c)I\ddot{\psi} = 2aF_{y_f} - 2bF_{y_r}\tag{1c}
  • 절대 관성 좌표계에서 차량의 운동방정식은 다음과 같다.
X˙=x˙cos⁡ψ−y˙sin⁡ψ,Y˙=x˙sin⁡ψ+y˙cos⁡ψ(2)\dot{X} = \dot{x}\cos\psi - \dot{y}\sin\psi, \quad \dot{Y} = \dot{x}\sin\psi + \dot{y}\cos\psi\tag{2}

왜 굳이 "자전거 모델"일까? 실제 차량은 네 바퀴를 갖지만, 자전거 모델은 좌우 앞바퀴 두 개를 하나의 가상 앞바퀴로, 좌우 뒷바퀴 두 개를 하나의 가상 뒷바퀴로 뭉쳐서 표현한다. 이렇게 하면 조향각과 횡방향 힘 사이의 관계를 2차원 평면 위에서 훨씬 단순하게 다룰 수 있으면서도, 요(yaw)·횡방향 동역학의 핵심적인 비선형성은 그대로 유지할 수 있다. 대신 좌우 바퀴 하중 이동이나 좌우 타이어 힘 차이 같은 효과는 반영하지 못하는데, 이 논문에서는 이러한 단순화를 감수하는 대신 타이어 모델 자체의 비선형성(Section II-B)에 집중해 실제 주행 한계 상황을 재현한다.

  • 바퀴의 운동방정식은 횡방향(cornering)과 종방향 바퀴 속도를 다음과 같이 나타낸다.
vlf=vyfsin⁡δf+vxfcos⁡δf(3a)v_{l_f} = v_{y_f}\sin\delta_f + v_{x_f}\cos\delta_f\tag{3a}
vlr=vyrsin⁡δr+vxrcos⁡δr(3b)v_{l_r} = v_{y_r}\sin\delta_r + v_{x_r}\cos\delta_r\tag{3b}
vcf=vyfcos⁡δf−vxfsin⁡δf(3c)v_{c_f} = v_{y_f}\cos\delta_f - v_{x_f}\sin\delta_f\tag{3c}
vcr=vyrcos⁡δr−vxrsin⁡δr(3d)v_{c_r} = v_{y_r}\cos\delta_r - v_{x_r}\sin\delta_r\tag{3d}
  • 여기서 δf\delta_f, δr\delta_r은 각각 앞바퀴, 뒷바퀴의 조향각이며, 다음이 성립한다.
vyf=y˙+aψ˙,vyr=y˙−bψ˙(4a)v_{y_f} = \dot{y} + a\dot{\psi}, \quad v_{y_r} = \dot{y} - b\dot{\psi}\tag{4a}
vxf=x˙,vxr=x˙(4b)v_{x_f} = \dot{x}, \qquad v_{x_r} = \dot{x}\tag{4b}
  • 이하에서는 앞바퀴·뒷바퀴 모두에 대해 동일한 형태의 식이 성립하므로 해당 아래첨자를 붙여 표기한다. 종방향·횡방향 타이어 힘은 무게중심에 작용하는 다음과 같은 힘으로 이어진다.
Fy=Flsin⁡δ+Fccos⁡δ,Fx=Flcos⁡δ−Fcsin⁡δ(5a)F_y = F_l\sin\delta + F_c\cos\delta, \quad F_x = F_l\cos\delta - F_c\sin\delta\tag{5a}
  • 각 타이어의 종방향·횡방향 힘 FlF_l, FcF_c는 다음과 같이 주어진다.
Fl=fl(α,s,μ,Fz),Fc=fc(α,s,μ,Fz)(6)F_l = f_l(\alpha, s, \mu, F_z), \quad F_c = f_c(\alpha, s, \mu, F_z)\tag{6}
  • 여기서 α\alpha, ss, μ\mu, FzF_z는 다음과 같이 정의된다. 타이어 슬립각 α\alpha는 바퀴 속도 벡터 vfv_f와 바퀴 자체의 방향 사이의 각도를 나타내며, 다음과 같이 간결하게 표현할 수 있다.
α=arctan⁡vcvl(7)\alpha = \arctan\dfrac{v_c}{v_l}\tag{7}
  • 슬립비 ss는 다음과 같이 정의된다.
s={rωvl−1,vl>rω, vl≠0 (제동 시)1−vlrω,vl<rω, ω≠0 (구동 시)(8)s = \begin{cases} \dfrac{r\omega}{v_l}-1, & v_l > r\omega,\ v_l \neq 0\ \text{(제동 시)} \\[2mm] 1-\dfrac{v_l}{r\omega}, & v_l < r\omega,\ \omega \neq 0\ \text{(구동 시)} \end{cases}\tag{8}
  • 여기서 rr, ω\omega는 각각 바퀴의 반경과 각속도이다. 파라미터 μ\mu는 노면 마찰계수를 나타내며 앞뒤 바퀴에 동일하다고 가정한다. FzF_z는 차량 전체의 수직 하중이며, 차량 기하 구조를 나타내는 파라미터 aa, bb에 따라 앞뒤 바퀴에 다음과 같이 분배된다.
Fzf=bmg2(a+b),Fzr=amg2(a+b)(9)F_{z_f} = \dfrac{bmg}{2(a+b)}, \quad F_{z_r} = \dfrac{amg}{2(a+b)}\tag{9}
  • 식 (1)~(9)로 기술된 비선형 차량 동역학은 다음과 같은 압축된 형태로 다시 쓸 수 있다.
dξdt=fs(t),μ(t)(ξ(t),u(t))(10)\dfrac{d\xi}{dt} = f_{s(t),\mu(t)}(\xi(t), u(t))\tag{10}
  • 여기서 각 시점의 슬립비 ss와 마찰계수 μ\mu 값에 대한 의존성이 명시적으로 드러나 있다. 상태 벡터와 입력 벡터는 각각 ξ=[y˙,x˙,ψ,ψ˙,Y,X]′\xi=[\dot{y},\dot{x},\psi,\dot{\psi},Y,X]', u=δfu=\delta_f이다. 이 논문에서 δr\delta_r은 항상 0으로 가정한다.
  • 식 (10)의 모델은 차량의 횡방향 안정화와 관련된 가장 중요한 비선형성을 포함하고 있다. Section II-B에서는 타이어 힘 FlF_l, FcF_c를 나타내는 모델을 간략히 설명한다.

B. Tire Model

  • 공기저항과 중력을 제외하면, 차량 거동에 영향을 미치는 힘은 모두 타이어에서 발생한다. 타이어 힘은 차량에 작용하는 가장 중요한 외력이며, 강한 비선형 특성 때문에 종방향·횡방향 조작 범위 전반에서 차량 거동에 가장 큰 변화를 일으킨다. 따라서 조향 한계 부근의 큰 제어 입력을 다루는 경우에는 현실적인 비선형 타이어 모델을 사용하는 것이 중요하다. 이러한 극한 상황에서는 횡방향·종방향 운동이 타이어 힘을 통해 강하게 결합되며, 슬립비와 슬립각이 동시에 큰 값을 가질 수 있다.
  • 기존 타이어 모델의 상당수는 "반경험적(semi-empirical)" 성격을 가진다. 즉, 모델 구조는 해석적으로 결정되지만 핵심 파라미터는 실제 타이어 측정 데이터에 의존한다. 이 논문에서는 식 (6)의 종방향·횡방향 타이어 힘을 나타내기 위해 Pacejka 타이어 모델을 사용한다. 이는 복합적인 제동·조향 상황에서 종방향 힘과 코너링 힘 사이의 상호작용까지 고려하는 복잡한 반경험적 비선형 모델이다.
  • Fig. 2는 마찰계수 μ\mu 값을 고정했을 때 종방향 슬립 및 슬립각에 따른 종방향·횡방향 힘을 각각 보여준다. 자전거 모델의 앞바퀴는 실제 차량의 좌우 앞바퀴 두 개를 합친 것으로 해석된다.

Pacejka 타이어 모델("Magic Formula")에 대하여: 이 논문이 인용하는 참고문헌 [4](Bakker, Nyborg, Pacejka, "Tyre modeling for use in vehicle dynamics studies," SAE International, 1987)는 이후 "매직 포뮬러(Magic Formula)"라는 별명으로 널리 알려지게 된 타이어 모델의 기초를 제시한 논문이다. 사인·아크탄젠트 함수를 조합한 하나의 경험적 수식만으로 슬립각·슬립비에 따른 타이어 힘 곡선의 비선형 형태(선형 구간 → 포화 → 완만한 감소)를 정확히 재현할 수 있어, 오늘날까지도 차량동역학 시뮬레이션 업계 표준 타이어 모델로 사용되고 있다.

III. Hierarchical Framework for Autonomous Guidance

  • 저자들은 자율주행 차량 유도 시스템의 구조를 설명하기 위해 항공우주 분야에서 차용한 단순화된 계층적 아키텍처를 제시한다. 이 구조는 경로/모드 생성기(trajectory/mode generator), 경로/모드 재계획(trajectory/mode replanning), 저수준 제어 시스템(low-level control system), 그리고 차량 및 환경(vehicle and environment) 모델의 네 가지 모듈로 구성된다.

  • 경로/모드 생성 모듈은 차량이 주행할 경로와 함께, 운행 모드 전환의 시점·조건을 오프라인으로 미리 계산한다. 자동차 분야에서는 두 개 이상의 동력원(예: 가솔린, 전기, 수소) 사이의 전환이 이러한 모드 전환의 예가 될 수 있다.
  • 오프라인으로 계산된 경로와 운행 모드는 주행 중 경로/모드 재계획 모듈에 의해 온라인으로 재계산될 수 있다. 이는 정해진 시점마다, 또는 추적 오차가 특정 한계를 넘어서거나 하드웨어 고장, 갑작스러운 돌발 장애물 출현과 같은 특정 이벤트가 발생했을 때 수행된다.
  • 저수준 제어 시스템은 센서 측정값, 상태·파라미터 추정치, 그리고 경로/모드 재계획 모듈로부터 전달받은 기준 명령(횡방향·종방향 위치, 피치, 요, 롤 속도 등)을 바탕으로 앞뒤 조향각, 네 바퀴 제동, 엔진 토크, 능동 차동장치, 능동 서스펜션과 같은 차량 액추에이터를 명령한다. 이 시스템의 목표는 측정 잡음, 모델화되지 않은 동역학, 파라미터 불확실성, 그리고 재계획 모듈이 아직 반영하지 못한 차량·노면 조건의 급격한 변화에도 불구하고 차량을 현재 계획된 경로에 최대한 가깝게 유지하는 것이다.
  • 예를 들어 뒷바퀴가 포화(saturate)되면, 숙련된 운전자는 경로 추종을 위한 통상적인 조향 명령 대신 안정화를 위한 반대 방향 조향(counter-steering)으로 즉시 전환한다. 만약 자동화된 조향 시스템이 추가적인 차량 동역학 상태를 고려하지 않고 목표 경로와 현재 위치·헤딩만의 함수로 조향각을 산출한다면, 이러한 안정화용 반대 조향을 만들어내지 못할 수 있다.

왜 하필 항공우주 분야의 GNC 구조를 가져왔을까?: 유도·항법·제어(Guidance, Navigation, and Control, GNC)라는 계층적 설계 철학은 원래 우주선·항공기의 자율 비행 시스템에서 발전했다. 상위 계층(경로 재계획)이 저주파로 "어디로 갈지"를 결정하고, 하위 계층(저수준 제어)이 고주파로 "어떻게 그 경로를 실제로 따라갈지"를 담당하는 구조는, 계산 부담이 큰 최적화를 상위 계층에 맡기고 실시간성이 중요한 액추에이터 제어를 하위 계층에 맡길 수 있다는 실용적 장점이 있다. 이 논문은 바로 이 하위 계층, 즉 능동 조향을 통한 저수준 경로 추종 제어기 설계에 초점을 맞춘다.

  • 저자들은 본 논문의 기여를 기존 GNC 연구들과 비교하며 다음과 같이 요약한다: 1) 모델 기반이며 식 (10)의 차량 모델과 Section II-B에서 설명한 고도로 비선형적인 Pacejka 타이어 모델을 사용한다는 점, 2) 입력·상태에 대한 제약 조건을 제어 설계에 포함한다는 점, 3) 체계적이고 다변수적이며 새로운 액추에이터나 더 정밀한 모델을 손쉽게 수용할 수 있다는 점, 4) dSPACE AutoBox 시스템(자동차 산업의 표준 실시간 프로토타이핑 장비)을 이용해 실제로 실험 검증까지 수행했다는 점이다.

IV. Active Steering Controller Design

  • 이 절에서는 능동 조향(active steering, AFS)을 이용한 경로 추종 문제를 풀기 위한 두 가지 제어 설계 방법을 소개한다. 헤딩각 ψ\psi, 요레이트 ψ˙\dot{\psi}, 횡방향 위치 YY에 대한 목표 기준값이 유한 구간(finite horizon) 위에서 목표 경로를 정의한다. 식 (10)의 비선형 차량 동역학과 Pacejka 타이어 모델을 이용해 차량의 미래 거동을 예측하며, 제어 입력으로는 앞바퀴 조향각 δf\delta_f를 사용한다(뒷바퀴 조향각 δr=0\delta_r=0으로 가정). 타이어 슬립비 sfs_f, srs_r은 측정되고, 노면 마찰계수 μ\mu는 매 시점 추정된다고 가정한다.
  • MPC의 핵심 아이디어는 플랜트의 모델을 이용해 시스템의 미래 거동을 예측하는 것이다. 매 샘플링 시점마다 차량의 현재 상태로부터 출발하여, 유한 구간에 걸친 미래 조향각 시퀀스에 대해 예측된 출력과 기준값의 편차를 최소화하는 개-루프(open-loop) 최적제어 문제를 운용 제약 조건 하에서 푼다. 계산된 최적 명령 신호 중 첫 번째 샘플만 실제 공정에 적용되며, 다음 샘플링 시점에는 새로운 상태 측정값을 바탕으로 구간을 한 스텝 이동(shift)시켜 다시 최적제어 문제를 푼다.

MPC 예측 구간과 "이동 지평선(receding horizon)": MPC를 "이동 지평선 제어"라고도 부르는 이유가 바로 이 방식에 있다. 매 시점 미래 HpH_p 스텝을 내다보고 최적의 제어 시퀀스를 계산하지만 실제로는 그중 단 한 스텝만 적용한 뒤, 다음 시점에는 새로 측정된 상태로 예측 구간 전체를 한 칸 밀어서 다시 계산한다. 이렇게 하면 예측 모델의 오차나 외란으로 인한 누적 편차를 매 시점 새 측정값으로 보정할 수 있어, 개루프 최적제어보다 훨씬 강건하게 동작한다.

A. Nonlinear (NL) MPC

  • 유한 차원의 최적제어 문제를 얻기 위해, 고정된 샘플링 시간 TsT_s로 시스템 동역학 식 (10)을 이산화한다.
ξ(k+1)=fs(k),μ(k)dt(ξ(k),Δu(k))(11a)\xi(k+1) = f^{dt}_{s(k),\mu(k)}(\xi(k), \Delta u(k))\tag{11a}
u(k)=u(k−1)+Δu(k)(11b)u(k) = u(k-1) + \Delta u(k)\tag{11b}
  • 여기서 Δu\Delta u 형태의 정식화를 사용하며, u(k)=δf(k)u(k)=\delta_f(k), Δu(k)=Δδf(k)\Delta u(k)=\Delta\delta_f(k)이다.
  • 요각과 횡방향 위치 상태에 대해 다음과 같은 출력 맵을 정의한다.
η(k)=h(ξ(k))=[001000000010]ξ(k)(12)\eta(k) = h(\xi(k)) = \begin{bmatrix} 0&0&1&0&0&0 \\ 0&0&0&0&1&0 \end{bmatrix}\xi(k)\tag{12}
  • 그리고 다음과 같은 비용함수를 고려한다.
J(ξ(t),ΔUt)=∑i=1Hp∥ηt+i,t−ηref t+i,t∥Q2+∑i=0Hc−1∥Δut+i,t∥R2(13)J(\xi(t),\Delta\mathcal{U}_t) = \sum_{i=1}^{H_p}\left\|\eta_{t+i,t}-\eta_{\text{ref}\,t+i,t}\right\|_Q^2 + \sum_{i=0}^{H_c-1}\left\|\Delta u_{t+i,t}\right\|_R^2\tag{13}
  • 여기서 η=[ψ,Y]\eta=[\psi, Y]이고 ηref\eta_{\text{ref}}는 대응되는 기준 신호이다. 매 시점 tt마다 다음과 같은 유한 구간 최적제어 문제를 푼다.
min⁡ΔUt J(ξt,ΔUt)(14a)\min_{\Delta\mathcal{U}_t}\ J(\xi_t,\Delta\mathcal{U}_t)\tag{14a}
subj. toξk+1,t=fsk,t,μk,tdt(ξk,t,Δuk,t)(14b)\text{subj. to}\quad \xi_{k+1,t} = f^{dt}_{s_{k,t},\mu_{k,t}}(\xi_{k,t},\Delta u_{k,t})\tag{14b}
ηk,t=h(ξk,t)(14c)\eta_{k,t} = h(\xi_{k,t})\tag{14c}
μk,t=μt,t,  sk,t=st,t,k=t,…,t+Hp(14d)\mu_{k,t}=\mu_{t,t},\ \ s_{k,t}=s_{t,t},\quad k=t,\dots,t+H_p\tag{14d}
δf,min⁡≤uk,t≤δf,max⁡(14e)\delta_{f,\min}\le u_{k,t}\le \delta_{f,\max}\tag{14e}
Δδf,min⁡≤Δuk,t≤Δδf,max⁡(14f)\Delta\delta_{f,\min}\le \Delta u_{k,t}\le \Delta\delta_{f,\max}\tag{14f}
uk,t=uk−1,t+Δuk,t,k=t,…,t+Hc−1(14g)u_{k,t}=u_{k-1,t}+\Delta u_{k,t},\quad k=t,\dots,t+H_c-1\tag{14g}
Δuk,t=0,k=t+Hc,…,t+Hp(14h)\Delta u_{k,t}=0,\quad k=t+H_c,\dots,t+H_p\tag{14h}
ξt,t=ξ(t)(14i)\xi_{t,t}=\xi(t)\tag{14i}
  • 여기서 ΔUt≜[Δut,t,…,Δut+Hc−1,t]\Delta\mathcal{U}_t\triangleq[\Delta u_{t,t},\dots,\Delta u_{t+H_c-1,t}]는 시점 tt에서의 최적화 변수 벡터이고, ηt+i,t\eta_{t+i,t}는 상태 ξt,t=ξ(t)\xi_{t,t}=\xi(t)에서 출발해 입력 시퀀스 Δut,t,…,Δut+i,t\Delta u_{t,t},\dots,\Delta u_{t+i,t}를 식 (11)-(12)에 적용했을 때 시점 t+it+i에서 예측되는 출력 벡터를 나타낸다. HpH_p, HcH_c는 각각 출력 예측 구간과 제어 구간을 나타내며, Hp>HcH_p>H_c이고 Hc≤t≤HpH_c\le t\le H_p 구간에서는 제어 신호가 일정하다고 가정한다. 슬립비와 마찰계수 값은 예측 구간 동안 시점 tt에서의 추정값으로 일정하다고 가정한다(제약 (14d)).
  • 식 (13)에서 첫째 항은 경로 추종 오차에 대한 페널티를, 둘째 항은 조향 조작량(steering effort)에 대한 척도를 나타낸다. QQ, RR은 적절한 크기의 가중치 행렬이다.
  • 시점 tt에서 계산된 최적 입력 증분 시퀀스를 ΔUt∗≜[Δut,t∗,…,Δut+Hc−1,t∗]′\Delta\mathcal{U}_t^*\triangleq[\Delta u_{t,t}^*,\dots,\Delta u_{t+H_c-1,t}^*]'라 하면, 이 시퀀스의 첫 번째 샘플을 이용해 최적 제어 동작과 다음과 같은 상태 피드백 제어 법칙을 얻는다.
u(t,ξ(t))=u(t−1)+Δut,t∗(t,ξ(t))(15)u(t,\xi(t)) = u(t-1) + \Delta u_{t,t}^{*}(t,\xi(t))\tag{15}
  • 다음 시점 t+1t+1에서는 새로 측정된 상태 ξ(t+1)\xi(t+1)을 바탕으로 구간을 한 스텝 이동시켜 최적제어 문제 (14)를 다시 푼다.

비선형 MPC의 계산 부담: 식 (14)는 비선형 차량 동역학 제약 (14b) 때문에 비볼록(non-convex) 비선형 계획법(NLP) 문제가 된다. 이 논문에서는 상용 NPSOL 소프트웨어로 이 문제를 매 샘플링 시점(0.05초)마다 풀어야 하므로, 실시간성을 보장하기 위해 풀이 반복 횟수에 제한을 둔다. 이는 뒤에 나오는 Section IV-B의 LTV(선형 시변) MPC를 도입하는 핵심 동기가 된다.

B. LTV MPC

  • 현재 시점을 tt라 하고, ξ(t)\xi(t)와 u(t−1)u(t-1)을 시스템 (11)-(12)의 현재 상태와 이전 입력이라 하자. 다음과 같은 최적화 문제를 고려한다.
min⁡ΔUt,ϵ ∑i=1Hp∥δηt+i,t−δηref t+i,t∥Q2+∑i=0Hc−1∥δut+i,t∥R2+ρϵ(16a)\min_{\Delta\mathcal{U}_t,\epsilon}\ \sum_{i=1}^{H_p}\left\|\delta\eta_{t+i,t}-\delta\eta_{\text{ref}\,t+i,t}\right\|_Q^2 + \sum_{i=0}^{H_c-1}\left\|\delta u_{t+i,t}\right\|_R^2 + \rho\epsilon\tag{16a}
subj. toδξk+1,t=Atδξk,t+Btδuk,t(16b)\text{subj. to}\quad \delta\xi_{k+1,t} = \mathcal{A}_t\delta\xi_{k,t} + \mathcal{B}_t\delta u_{k,t}\tag{16b}
δαk,t=Ctδξk,t+Dtδuk,t(16c)\delta\alpha_{k,t} = \mathcal{C}_t\delta\xi_{k,t} + \mathcal{D}_t\delta u_{k,t}\tag{16c}
δηk,t=[001000000100000010]δξk,t,k=t,…,t+Hp(16d)\delta\eta_{k,t} = \begin{bmatrix} 0&0&1&0&0&0 \\ 0&0&0&1&0&0 \\ 0&0&0&0&1&0 \end{bmatrix}\delta\xi_{k,t},\quad k=t,\dots,t+H_p\tag{16d}
uk,t=u(t−1)+δuk,t(16e)u_{k,t} = u(t-1)+\delta u_{k,t}\tag{16e}
ut−1,t=u(t−1)(16f)u_{t-1,t} = u(t-1)\tag{16f}
Δuk,t=uk,t−uk−1,t(16g)\Delta u_{k,t} = u_{k,t}-u_{k-1,t}\tag{16g}
δf,min⁡≤uk,t≤δf,max⁡(16h)\delta_{f,\min}\le u_{k,t}\le \delta_{f,\max}\tag{16h}
Δδf,min⁡≤Δuk,t≤Δδf,max⁡,k=t,…,t+Hc−1(16i)\Delta\delta_{f,\min}\le \Delta u_{k,t}\le \Delta\delta_{f,\max},\quad k=t,\dots,t+H_c-1\tag{16i}
δαmin⁡−ϵ≤δαk,t≤δαmax⁡+ϵ,k=t,…,t+Hp(16j)\delta\alpha_{\min}-\epsilon \le \delta\alpha_{k,t} \le \delta\alpha_{\max}+\epsilon,\quad k=t,\dots,t+H_p\tag{16j}
Δuk,t=0,k=t+Hc,…,t+Hp(16k)\Delta u_{k,t}=0,\quad k=t+H_c,\dots,t+H_p\tag{16k}
ϵ≥0(16l)\epsilon\ge 0\tag{16l}
δξt,t=0(16m)\delta\xi_{t,t}=0\tag{16m}
  • 여기서 ΔUt∗≜[δut,t,…,δut+Hc−1,t]′\Delta\mathcal{U}_t^*\triangleq[\delta u_{t,t},\dots,\delta u_{t+H_c-1,t}]'이며, 식 (16b)-(16c)는 시점 tt에서 상태 ξ(t)\xi(t), 입력 u(t−1)u(t-1), 추정된 s(t)s(t), μ(t)\mu(t) 주변에서 모델 (11)을 선형화하여 얻는다. δη=[δψ,δψ˙,δY]\delta\eta=[\delta\psi,\delta\dot{\psi},\delta Y]와 δηref\delta\eta_{\text{ref}}는 각각 선형화된 시스템의 출력과 대응 기준 신호의 편차이다. δα\delta\alpha는 타이어 슬립각 변화량을 나타내며, 이는 추적되지 않고 제약만 걸리는 선형화 모델의 추가 출력이다. 부등식 (16j)는 타이어 슬립각에 대한 소프트(soft) 제약이며 ϵ\epsilon은 슬랙 변수이다. 식 (16b)의 ρϵ\rho\epsilon 항은 슬립각 제약 위반에 대한 페널티이며 ρ\rho는 가중치 계수이다.
  • 최적화 문제 (16)은 이차계획법(QP) 문제로 재구성될 수 있다(세부 사항은 [7] 참고). 시점 tt에서 계산된 최적 입력 편차 시퀀스를 ΔUt∗≜[δut,t∗,…,δut+Hc−1,t∗]′\Delta\mathcal{U}_t^*\triangleq[\delta u_{t,t}^*,\dots,\delta u_{t+H_c-1,t}^*]'라 하면, 이 시퀀스의 첫 번째 샘플을 이용해 다음과 같은 상태 피드백 제어 법칙을 얻는다.
u(t,ξ(t))=u(t−1)+δut,t∗(t,ξ(t)).(17)u(t,\xi(t)) = u(t-1) + \delta u_{t,t}^{*}(t,\xi(t)).\tag{17}
  • 다음 시점 t+1t+1에서는 새로운 상태 측정값 ξ(t+1)\xi(t+1)과, 새로운 상태·슬립비·노면 마찰계수·이전 입력을 기준으로 비선형 차량 모델 (11)을 다시 선형화해 얻은 갱신된 선형 모델 (16b)-(16d)를 바탕으로 최적화 문제 (16)을 이동 구간에 대해 다시 푼다.

선형화 지점의 선택: 식 (11)이 선형화되는 지점은 일반적으로 평형점(equilibrium point)이 아니다. 따라서 시점 tt에서의 LTI(선형 시불변) 모델 (16b)-(16d)는 상태·출력의 궤적으로부터의 편차 δξt(k)\delta\xi_t(k), δηt(k)\delta\eta_t(k)를 예측하는 데 사용되며, 이는 ξ(t)\xi(t)를 초기조건으로, u(k)=u(t−1)u(k)=u(t-1)을 입력으로 하여 (11)을 풀어 계산된다. 대안으로, 명목 입력·상태 궤적 unom(k)u_{\text{nom}}(k), ξnom(k)\xi_{\text{nom}}(k) 주변에서 선형화할 수도 있는데, 이 경우 최적화 변수는 명목 입력 주변의 변화량을 나타내게 되며 상위 계층의 재계획 알고리즘(Section III)이나 저수준 MPC 컨트롤러로부터 이러한 명목 궤적을 얻을 수 있다.

V. Double Lane Change on Snow Using Active Steering

  • Section IV-A와 IV-B에서 설명한 MPC 조향 제어기들은 서로 다른 진입 속도에서 연속적인 이중 차선 변경(double lane change) 기동을 수행하도록 구현되었다. 이 테스트는 차량이 눈이나 얼음이 덮인 노면에서 주어진 초기 종방향 속도로 이중 차선 변경 기동에 진입하는 장애물 회피 긴급 기동 상황을 모사한다. 제어 입력은 앞바퀴 조향각이며, 목표는 목표 경로로부터의 차량 이탈을 최소화하면서 가능한 한 경로를 가깝게 따라가는 것이다. 실험은 차량이 제어를 잃을 때까지 진입 속도를 점점 높여가며 반복된다.

A. Trajectory Generation

  • 목표 경로는 종방향 위치 XX의 함수로서 횡방향 위치 YrefY_{\text{ref}}와 요각 ψref\psi_{\text{ref}}로 표현된다.
ψref(X)=dy12(1+tanh⁡(z1))−dy22(1+tanh⁡(z2))(18a)\psi_{\text{ref}}(X) = \dfrac{d_{y_1}}{2}\left(1+\tanh(z_1)\right) - \dfrac{d_{y_2}}{2}\left(1+\tanh(z_2)\right)\tag{18a}
Yref(X)=arctan⁡ ⁣(dy1(1cosh⁡(z1))2(1.2dx1)−dy2(1cosh⁡(z2))2(1.2dx2))(18b)Y_{\text{ref}}(X) = \arctan\!\left(d_{y_1}\left(\dfrac{1}{\cosh(z_1)}\right)^{2}\left(\dfrac{1.2}{d_{x_1}}\right) - d_{y_2}\left(\dfrac{1}{\cosh(z_2)}\right)^{2}\left(\dfrac{1.2}{d_{x_2}}\right)\right)\tag{18b}
  • 여기서 각 파라미터는 다음과 같다: z1=(2.4/25)(X−27.19)−1.2z_1=(2.4/25)(X-27.19)-1.2, z2=(2.4/21.95)(X−56.46)−1.2z_2=(2.4/21.95)(X-56.46)-1.2, dx1=25d_{x_1}=25, dx2=21.95d_{x_2}=21.95, dy1=4.05d_{y_1}=4.05, dy2=5.7d_{y_2}=5.7.
  • tanh⁡\tanh, cosh⁡\cosh 함수를 사용한 이 매끄러운(smooth) 경로식은 실제 시험 차량을 저속으로 목표 경로를 따라 직접 주행시켜 차동 GPS로 기록한 궤적을 매끄러운 함수 형태로 근사한 것이다. 이렇게 얻어진 경로는 이후 더 높은 속도에서의 반복 시험에 목표 경로로 그대로 사용된다.
  • 식 (18a)-(18b)의 기준 궤적은 종방향 거리 XX의 비선형 함수이므로 비선형 MPC 정식화에서는 직접 사용할 수 있다. 반면 LTV MPC 정식화에서는, 차량이 향후 HpH_p 스텝 동안 목표 경로의 일부 구간을 일정한 속도로 주행한다고 가정하여 식 (18a)-(18b)로부터 기준 궤적을 생성한다.

왜 매끄러운 tanh 곡선으로 경로를 표현할까?: 실제 도로 표지(cone)로 정의되는 이중 차선 변경 코스는 직선-곡선-직선의 꺾인 형태이지만, 이를 그대로 사용하면 요각·곡률이 불연속적으로 변해 MPC의 예측 모델이 다루기 어려운 기준 신호가 된다. tanh/cosh 기반의 매끄러운 전이 함수는 두 직선 구간 사이를 부드럽게 연결해 미분 가능한 기준 궤적을 만들어주므로, MPC가 예측 구간 내내 안정적으로 추종할 수 있는 합리적인 목표를 제공한다.

B. Experimental Setup Description

  • Section IV-A와 IV-B에서 제시한 MPC 제어기들은 시뮬레이션뿐 아니라 미끄러운 노면에서의 실차 실험을 통해서도 검증되었다. 실험은 빙판·눈길 주행 트랙을 갖춘 시험장에서 수행되었으며, 질량 2050 kg, 관성 3344 kg·m²인 승용차를 대상으로 하였다. 제어기는 DS1005 프로세서 보드와 DS2210 I/O 보드를 갖춘 dSPACE AutoBox 시스템에서 샘플링 시간 50 ms로 구동되었다.
  • 차량의 관성좌표계 상 위치·자세와 차체좌표계 속도는 OTS(Oxford Technical Solution) RT3002 센싱 시스템으로 측정하였다. 이 장비는 차동 GPS 수신기, 관성측정장치(IMU), DSP를 하나의 패키지에 포함하며 단일 안테나로 GPS 정보를 수신한다. DSP는 IMU와 GPS 측정값을 칼만 필터로 융합하여 차량의 위치·자세 및 기타 상태(종방향·횡방향 속도 등)를 계산한다.
  • 시험 차량은 손 조향휠과 실제 바퀴 조향각 사이의 관계를 독립적으로 변경할 수 있는 전기 구동 모터 기반의 AFS(Active Front Steering) 시스템을 갖추고 있다. 앞바퀴 조향각은 운전자의 손 조향휠 위치와 액추에이터 각변위의 합으로 결정되며, 손 조향휠 위치와 두 조향각 사이의 관계 모두 측정된다. 센서, dSPACE AutoBox, 액추에이터는 CAN 버스를 통해 통신한다.
  • 자율 조향 테스트는 운전자가 버튼을 눌러 시작한다. 버튼이 눌리면 관성좌표계가 초기화되는데, 원점은 현재 차량 위치이고 XX, YY 축은 각각 현재 종방향·횡방향 차량 축 방향으로 설정된다. 이 관성좌표계는 목표 경로 좌표계로도 사용된다. 초기화 이후 차량은 이중 차선 변경 기동을 수행한다.
  • 실험 중 손 조향휠은 중앙 위치에서 벗어날 수 있는데, 이는 운전자가 자율 조향 동작을 위해 손 조향휠을 가만히 유지하는 데 겪는 어려움 때문이다. 이는 작은 유계(bounded) 입력 외란으로 취급된다. 또한 단일 안테나 센서 구성 특성상 요각 측정에 잡음이 섞일 수 있는데, 차량이 정지해 있을 때는 IMU의 요레이트 측정값을 적분하여 요각을 계산하므로 저속·정지 시 방향 측정에 작은 오프셋이 존재할 수 있다. 이러한 입력 외란과 측정 잡음의 영향은 이후 실험 결과에서 뚜렷이 드러난다.
x˙\dot{x} [m/s]Controller A 계산시간 [s]Controller B 계산시간 [s]
100.15 (Hp=7,Hc=2H_p=7, H_c=2)0.03 (Hp=7,Hc=3H_p=7, H_c=3)
150.35 (Hp=10,Hc=4H_p=10, H_c=4)0.03 (Hp=10,Hc=4H_p=10, H_c=4)
171.3 (Hp=10,Hc=7H_p=10, H_c=7)0.03 (Hp=15,Hc=10H_p=15, H_c=10)

Table I. 서로 다른 진입 속도에서 이중 차선 변경 기동을 수행하는 Controller A, B의 최대 계산 시간.

VI. Presentation and Discussion of Results

  • 이 절에서는 세 가지 유형의 MPC 제어기(이하 Controller A, B, C)의 결과를 제시한다. 이 제어기들은 Section IV-A와 IV-B의 MPC 문제 정식화로부터 도출된다.
  • Controller A: 다음 파라미터를 사용한 비선형 MPC (14)-(15): T=0.05sT=0.05\text{s}, Hp=7H_p=7, Hc=3H_c=3, δf,min⁡=−10°\delta_{f,\min}=-10°, δf,max⁡=10°\delta_{f,\max}=10°, Δδf,min⁡=−1.5°\Delta\delta_{f,\min}=-1.5°, Δδf,max⁡=1.5°\Delta\delta_{f,\max}=1.5°, μ=0.3\mu=0.3; Q=(5000075)Q=\begin{pmatrix}500&0\\0&75\end{pmatrix}, R=150R=150.
  • Controller B: 다음 파라미터를 사용한 LTV MPC (16)-(17): T=0.05sT=0.05\text{s}, Hp=25H_p=25, Hc=10H_c=10, δf,min⁡=−10°\delta_{f,\min}=-10°, δf,max⁡=10°\delta_{f,\max}=10°, Δδf,min⁡=−0.85°\Delta\delta_{f,\min}=-0.85°, Δδf,max⁡=0.85°\Delta\delta_{f,\max}=0.85°, μ=0.3\mu=0.3, αmin⁡=−2.2°\alpha_{\min}=-2.2°, αmax⁡=2.2°\alpha_{\max}=2.2°; 가중치 행렬 Q=(2000001000010)Q=\begin{pmatrix}200&0&0\\0&10&0\\0&0&10\end{pmatrix}, R=5⋅104R=5\cdot10^4, ρ=103\rho=10^3.
  • Controller C: Controller B와 동일하되 Hc=1H_c=1.

A. Controller A

  • 파라미터 (14)-(15)로 정의된 Controller A는 비선형계획법 문제 (14)를 풀기 위해 상용 NPSOL 소프트웨어 패키지를 사용하는 C 코드 S-함수로 구현되었다. NPSOL을 선택한 이유는 성능과 소스 C 코드의 공개 가능성 때문이다.
  • 비선형계획법 솔버와 사용된 하드웨어의 계산 복잡도 한계로 인해, 저속에서만 실험을 수행할 수 있었다. 진입 속도가 증가할수록 경로를 따라 차량을 안정화하기 위해 더 큰 예측·제어 구간이 필요해지는데, 예측 구간이 커지면 목적함수 평가 횟수가 늘고 제어 구간이 커지면 최적화 문제 (14) 자체가 커지기 때문이다.
  • Fig. 4는 진입 속도 7 m/s에서의 시뮬레이션 결과를, Fig. 5는 이에 대응하는 실험 결과를 보여준다.

  • 하단 플롯의 NPSOL 출력 플래그는 0, 1, 4, 6의 값을 가진다. 0은 최적의 실행 가능한 해를 찾았음을, 1은 솔버가 실행 가능한 해로 수렴하지 못했음을, 4는 반복 횟수 한계에 도달해 실행 가능하지만 최적은 아닌 해를 찾았음을, 6은 해가 최적성 조건을 만족하지 못함을 의미한다.

  • 시뮬레이션과 실험 모두에서 솔버가 선택된 반복 한계에 자주 도달했지만, 저속에서는 준최적해의 성능이 우수했다. 시뮬레이션과 실험의 횡방향 위치·요각을 비교하면 두 결과가 매우 잘 일치함을 확인할 수 있다. 추적 오차는 매우 작았으며 Table II에 정리되어 있다.

ψrms\psi_{rms} [deg]YrmsY_{rms} [m]ψmax\psi_{max} [deg]YmaxY_{max} [m]
Simulation1.05⋅10−11.05\cdot10^{-1}6.36⋅10−46.36\cdot10^{-4}4.203.82⋅10−13.82\cdot10^{-1}
Experiment2.26⋅10−12.26\cdot10^{-1}3.50⋅10−33.50\cdot10^{-3}6.997.43⋅10−17.43\cdot10^{-1}

Table II. Controller A의 7 m/s 시뮬레이션·실험 rms 및 최대 추적오차 (Section VI-A).

  • 마지막으로, Section IV-B의 MPC 정식화 (16)에서 제약 (16j)를 도입한 이유를 더 잘 뒷받침하기 위해, 눈길(μ=0.3) 위 17 m/s에서 비선형 MPC의 시뮬레이션 결과를 Fig. 6에 제시한다. 타이어 특성을 알고 있기 때문에 컨트롤러가 앞바퀴 슬립각 αf\alpha_f를 암묵적으로 [−3,+3]°[-3,+3]° 구간 내로 제한함을 관찰할 수 있다. Fig. 2에서 보듯이, 이는 눈길 노면에 대한 타이어 특성 곡선의 선형 구간에 해당한다. Fig. 6의 결과는 Section VI에서 제시하는 Controller B와 동일한 튜닝 파라미터(예측 구간 25스텝, 제어 구간 10스텝, 조향각 제약 [−10,10]°[-10,10]°, 조향 속도 제약 [−0.85,0.85]°[-0.85,0.85]°)를 사용한 Controller A로 얻은 것이며, 여기서는 앞바퀴 슬립각에 대한 제약을 전혀 사용하지 않았다.

  • 광범위한 시뮬레이션 결과, 이러한 현상은 극한 운용 조건에서 항상 관찰되었으며, 이는 LTV MPC 정식화 (16)에 제약 (16j)를 포함시키게 된 계기가 되었다.

B. Controller B

  • 파라미터 (16)-(17)로 정의된 Controller B는 [32]에서 제공하는 QP 솔버 루틴을 사용하는 C 코드 S-함수로 구현되었다. 이 루틴은 Dantzig-Wolfe 알고리즘을 구현하며 성능이 우수하고 소스 C 코드가 공개되어 있다. 솔버가 항상 최적해로 수렴했기 때문에 이 절에서는 솔버 출력 플래그를 별도로 보고하지 않는다.
  • 매 시점 선형 모델 (16b)-(16c)는 비선형 차량 모델 (11)의 해석적 미분과 Pacejka 타이어 모델의 수치 선형화를 통해 얻는다. Controller A(Section VI-A) 대비 LTV MPC 컨트롤러의 계산 부담이 크게 감소함을 Table I의 계산 시간으로 확인할 수 있다.
  • Fig. 7은 진입 속도 10 m/s에서의 시뮬레이션 결과를 보여준다. Table III은 진입 속도 10~21.5 m/s에서 시뮬레이션으로 얻은 추적 오차를 정리한 것이다.

x˙\dot{x} [m/s]μ\muψrms\psi_{rms} [deg]YrmsY_{rms} [m]ψmax\psi_{max} [deg]YmaxY_{max} [m]Δ\Delta [deg]
100.30.391.77⋅10−21.77\cdot10^{-2}7.200.962.6
150.30.412.56⋅10−22.56\cdot10^{-2}8.171.252.67
190.30.423.03⋅10−23.03\cdot10^{-2}10.151.582.33
21.50.250.685.41⋅10−25.41\cdot10^{-2}11.612.112.85

Table III. Controller B의 진입 속도별 시뮬레이션 rms 및 최대 추적오차. Δ\Delta는 시뮬레이션에 반영된 요각 측정 오프셋(orientation error)이다.

  • 오리엔테이션 오차는 OTS 센서로부터 들어오는 요각 신호의 측정 오프셋에서 비롯된다. 이 오차의 영향은 Section VI-C에서 자세히 설명한다. Fig. 7(b)의 하단 플롯에는 앞바퀴 슬립각이 보고되어 있다.
  • Fig. 8은 진입 속도 10 m/s에서의 실험 결과를 보여준다. Fig. 7(a)와 Fig. 8(a)의 시뮬레이션·실험 결과를 비교하면, 동일 속도에서 매우 잘 일치함을 확인할 수 있다.

  • Fig. 9는 진입 속도 19 m/s에서의 실험 결과를 보여준다. Fig. 8(a)와 Fig. 9(a)의 횡방향 위치를 비교하면, 19 m/s에서 두 번째 차선 변경이 시작되는 6~8초 구간에 더 큰 오차가 나타남을 알 수 있다. 실험 데이터의 후처리와 시뮬레이션 분석 결과, 타이어 슬립각 제약 (16j)는 종방향 속도가 높아질수록 감소하는 최대 조향 동작에 대한 암묵적 제약에 대응됨이 확인되었다.

  • Δδf\Delta\delta_f와 δf\delta_f 신호에서 채터링(chattering) 현상이 관찰되는데, 이는 MPC 튜닝과 Δδf,max⁡\Delta\delta_{f,\max}, Δδf,min⁡\Delta\delta_{f,\min} 제약의 함수이다. 이 현상이 차량 응답에 의해 대부분 필터링되고 운전자가 느끼지 못하므로, 이를 줄이기 위한 추가 노력은 기울이지 않았다.
  • 거의 모든 실험에서 타이어 슬립각이 제약을 소폭 위반하는데, 이는 소프트 제약(soft constraint)을 사용한 것과 일치하며 운전자 조향 동작에 대해 시스템을 강건하게 만든다(Fig. 9에서 8~9초 구간 참고).
  • 실험 결과는 Table IV에 요약되어 있다. Table III과 Table IV의 비교는, 고속에서 유의미한 모델 불일치가 있음에도 불구하고 모든 실험 테스트에서 차량 안정성이 달성되었음을 보여준다. 이는 모델 불확실성의 영향을 완화하는 제약 (16j)에 의해 뒷받침된다.
x˙\dot{x} [m/s]μ\muψrms\psi_{rms} [deg]YrmsY_{rms} [m]ψmax\psi_{max} [deg]YmaxY_{max} [m]
100.30.531.28⋅10−21.28\cdot10^{-2}8.210.8
150.31.1724.64⋅10−24.64\cdot10^{-2}14.712.51
190.31.237.51⋅10−27.51\cdot10^{-2}16.383.10
21.50.251.811.11⋅10−11.11\cdot10^{-1}19.022.97

Table IV. Controller B의 진입 속도별 실험 rms 및 최대 추적오차 (Section VI-B).

C. Steady-State Errors

  • 이 절에서는 실험 결과에서 관찰된 횡방향 위치의 초기 언더슛(undershoot)과, 횡방향 위치·요각 모두에 나타나는 정상상태 오차를 설명한다. 앞서 언급했듯이 두 현상 모두 방향(orientation) 측정 오프셋에서 비롯된다.

  • Fig. 10은 이 상황을 재현한다. 여기서 축 xactx_{\text{act}}, yacty_{\text{act}}는 실제 종방향·횡방향 차량 축을, xleax_{\text{lea}}, yleay_{\text{lea}}는 OTS 센서가 학습한(learned) 차량 축을 나타낸다. 양(+)의 방향 오차가 있을 경우, 테스트 시작 시점에 센서는 요각을 0으로 측정하지만 실제 차량 종방향 축은 오른쪽을 향해 있다(Fig. 10(a) 참고). 이는 횡방향 위치의 초기 언더슛을 설명한다. 기동이 끝날 무렵(Fig. 10(a)의 위치 A)에는 차량이 실제로 직진 중이며 이는 일정한 횡방향 위치와 0에 가까운 조향각으로 확인되지만, 측정된 0이 아닌 요각은 정확히 방향 오차 값과 같다.
  • Fig. 8, 9, 11을 살펴보면, 횡방향 위치와 요각 모두에 정상상태 오차가 있음에도 MPC 컨트롤러가 이 오차를 줄이려 시도하지 않음을 알 수 있다. 이유는 간단하다. 요 측정값의 오프셋 때문에, 요각(횡방향 위치) 추적 오차를 줄이려는 어떤 시도도 식 (2)에 따라 횡방향 위치(요각) 추적 오차를 증가시키게 된다. 제안된 MPC는 적분 동작(integral action)을 포함하지 않으므로, Fig. 8, 9, 11에서 관찰되는 정상상태 평형점은 설계된 MPC의 폐루프 최적 평형점이다. Fig. 7의 시뮬레이션 결과는 실험에서 관찰된 정상상태 오프셋을 정확히 재현하여 이 설명을 뒷받침한다.

적분 동작을 추가하지 않은 이유: 추적 오차에 적분 동작이 있는 MPC 컨트롤러였다면 불안정한 차량 거동으로 이어졌을 것이다. 방향과 위치 측정값 사이의 불일치 때문에, 정상상태 방향 오차를 0으로 만들려는 시도는 횡방향 위치가 발산하는 결과를 낳게 된다. 즉, 센서 자체의 구조적 오프셋을 제어기가 적극적으로 "보정"하려 들면 오히려 위치 추정치가 무한히 벗어나게 되므로, 차라리 작은 정상상태 오차를 허용하는 편이 전체 시스템의 안정성 측면에서 더 낫다.

D. Controller C

  • 파라미터 (16)-(17)로 정의되고 Hc=1H_c=1인 Controller C는 2차원 QP 문제에 맞춘 매우 단순한 QP 솔버를 사용하는 C 코드 S-함수로 구현되었다. Hc=1H_c=1이므로 최적화 변수는 명령 조향 변화량과 슬랙 변수 두 개뿐이며, 이를 위해 전용 QP 솔버를 구현하였다.
  • 지면 관계상 시뮬레이션 결과 플롯은 본문에 포함하지 않았다. 대신 Table V에 진입 속도 10, 15, 19, 21 m/s에서의 추적 오차만 보고한다. 진입 속도 10, 17, 21 m/s에서의 Controller C 실험 결과는 Table VI에 요약되어 있으며, 17 m/s에서의 결과는 Fig. 12에 제시된다.
x˙\dot{x} [m/s]μ\muψrms\psi_{rms} [deg]YrmsY_{rms} [m]ψmax\psi_{max} [deg]YmaxY_{max} [m]
100.34.40⋅10−14.40\cdot10^{-1}2.30⋅10−22.30\cdot10^{-2}7.981.07
150.34.76⋅10−24.76\cdot10^{-2}3.56⋅10−23.56\cdot10^{-2}9.561.50
190.35.09⋅10−15.09\cdot10^{-1}4.68⋅10−24.68\cdot10^{-2}11.611.89
210.257.20⋅10−17.20\cdot10^{-1}7.70⋅10−27.70\cdot10^{-2}12.262.34

Table V. Controller C의 진입 속도별 시뮬레이션 rms 및 최대 추적오차(Controller B와 공정하게 비교하기 위해, Controller B 실험에서 관찰된 방향 오프셋을 시뮬레이션에 동일하게 반영함).

x˙\dot{x} [m/s]μ\muψrms\psi_{rms} [deg]YrmsY_{rms} [m]ψmax\psi_{max} [deg]YmaxY_{max} [m]
100.29.52⋅10−19.52\cdot10^{-1}5.77⋅10−25.77\cdot10^{-2}13.123.28
170.258.28⋅10−18.28\cdot10^{-1}2.90⋅10−22.90\cdot10^{-2}12.261.81
210.21.0377.66⋅10−27.66\cdot10^{-2}12.493.20

Table VI. Controller C의 진입 속도별 실험 rms 및 최대 추적오차 요약(Section VI-D).

  • 플롯 결과에는 방향 오차가 나타나지 않는데, 이는 Controller C 실험이 Controller B 실험과 다른 날에 수행되었기 때문이다. 흥미로운 점은, 제어 구간을 크게 좁혔음에도 컨트롤러가 고속에서조차 여전히 차량을 안정화할 수 있고, 추적 오차도 Controller B에 비해 유의미하게 증가하지 않는다는 것이다.
  • Controller B와 C를 공정하게 비교하기 위해, Controller B 실험에서 관찰된 방향 오프셋을 Controller C의 시뮬레이션에 동일하게 반영하였다. 이 시뮬레이션의 추적 오차는 Table V에 보고되어 있다. Table III과 Table V의 추적 오차를 비교하면, Controller C가 Controller B보다 다소 성능이 떨어짐을 알 수 있다. 그러나 실험 결과가 확인해주듯이, Controller C는 고속에서도 차량을 안정화할 수 있다.
  • 이러한 MPC 컨트롤러가 저비용 하드웨어에서도 구현 가능하며 그 코드를 손쉽게 검증할 수 있다는 점, 그리고 매 시점 필요한 최대 연산 횟수를 쉽게 계산할 수 있다는 점(Controller B, C의 경우 이는 매우 어려움)을 강조해둔다.

VII. Conclusion

  • 이 논문은 능동 조향 제어를 위한 새로운 MPC 기반 접근법을 제시하였다. 실험 결과는 MPC 피드백 정책의 결과로 이중 차선 변경 기동이 비교적 쉽게 달성됨을 보여주었으며, 이는 눈길과 같은 미끄러운 노면에서도 최대 21 m/s의 속도까지 차량을 안정화할 수 있는 능력으로 이어졌다.
  • 이 논문의 기여는 세 가지 유형의 MPC 컨트롤러와 관련된 세 가지로 요약된다. 첫째, 비선형 MPC를 설계하여 실시간 프로토타이핑 시스템에 구현하였다. 계산 부담 때문에 실험은 사용 가능한 하드웨어에서 저속으로만 수행할 수 있었지만, 저자들이 아는 한 이 논문은 dSPACE 실시간 프로토타이핑 시스템 위에서 20 Hz의 주기로 실제 승용차의 차량 동역학을 제어하는 비선형 MPC 스킴을 처음으로 구현한 사례이다. 둘째, LTV MPC를 설계하여 구현하였다. 타이어 슬립각에 대한 상태·입력 제약을 도입함으로써 고속에서도 차량을 안정화할 수 있음을 보였으며, 그 효과는 시뮬레이션과 실험 모두를 통해 확인되었다. 두 접근법 모두 최적화 코드의 검증과 최악의 경우 연산 시간 계산의 어려움이라는 공통 과제를 안고 있다. 셋째이자 마지막 기여는 바로 이러한 문제들을 해결하는 저차수(low order) LTV MPC 컨트롤러(Controller C)로, 수용 가능한 성능을 보이면서도 저비용 하드웨어에서 손쉽게 구현될 수 있다.

이 논문이 후속 연구에 남긴 유산: 2007년에 발표된 이 논문은 자율주행 차량의 저수준 경로 추종 제어에 MPC를 실차로 검증한 초기 사례 중 하나로 널리 인용되며, 이후 자율주행 업계에서 표준적으로 쓰이는 "타이어 슬립각/힘 제약을 포함한 LTV-MPC 기반 궤적 추종 제어기" 설계 방식의 초석이 되었다. 여기서 제안된 "필요할 때만 비선형성 근처까지 접근을 제약하고, 나머지는 선형 근사로 충분히 빠르게 푼다"는 아이디어는, 오늘날까지도 실시간 임베디드 환경에서 비선형 MPC 대신 근사 MPC를 택하는 대표적인 설계 철학으로 이어지고 있다.

  • 이 논문이 제시한 결과는 흥미롭고 도전적인 후속 연구 방향을 여럿 열어준다. 계산적 관점에서는, 나열 가능한 조건 범위를 넓힐 수 있는 여러 비선형 최적화 알고리즘을 개선·시험하는 연구가 진행 중이다. 제어 설계 관점에서는, 비선형 MPC와 유사한 성능을 계산 부담을 크게 줄이면서 달성할 수 있는 새로운 제어 패러다임을 연구하고 있다. 또한 제안된 LTV MPC 스킴의 안정성과 강건성에 대한 연구도 진행 중이다. 응용 관점에서는, 조향·제동·구동을 함께 제어하는 다변수 차량 동역학 제어 스킴으로 제어 입력의 수를 늘려가는 연구를 수행하고 있다.

0개의 댓글