Journal of Institute of Control, Robotics and Systems (2015) 21(3):199-209
http://dx.doi.org/10.5302/J.ICROS.2015.14.9012 ISSN:1976-5622 eISSN:2233-4335
전방향 주변 차량의 확률적 거동 예측을 이용한 모델 예측 제어 기법 기반 자율주행자동차 조향 제어
MPC based Steering Control using a Probabilistic Prediction of Surrounding Vehicles for Automated Driving
이 준 영, 이 경 수*
(Jun-Yung Lee
1and Kyong-Su Yi
1,*)
1
School of Mechanical and Aerospace Engineering, Seoul National University
Abstract: This paper presents a model predictive control (MPC) approach to control the steering angle in an autonomous vehicle. In designing a highly automated driving control algorithm, one of the research issues is to cope with probable risky situations for enhancement of safety. While human drivers maneuver the vehicle, they determine the appropriate steering angle and acceleration based on the predictable trajectories of surrounding vehicles. Likewise, it is required that the automated driving control algorithm should determine the desired steering angle and acceleration with the consideration of not only the current states of surrounding vehicles but also their predictable behaviors. Then, in order to guarantee safety to the possible change of traffic situation surrounding the subject vehicle during a finite time-horizon, we define a safe driving envelope with the consideration of probable risky behaviors among the predicted probable behaviors of surrounding vehicles over a finite prediction horizon. For the control of the vehicle while satisfying the safe driving envelope and system constraints over a finite prediction horizon, a MPC approach is used in this research.
At each time step, MPC based controller computes the desired steering angle to keep the subject vehicle in the safe driving envelope over a finite prediction horizon. Simulation and experimental tests show the effectiveness of the proposed algorithm.
Keywords: automated driving vehicle, intelligent safety vehicle, model predictive control, Risk management system, automated steering control algorithm, safe driving envelope, probabilistic prediction
NOMENCLATURE C
f전륜 코너링 강성계수 [N/rad]
C
r후륜 코너링 강성계수 [N/rad]
m 차량 질량 [kg]
I
z차량 요 축에 대한 관성 모멘트 [Nms
2/rad]
l
f차량 무게중심과 전륜 차축간의 거리 [m]
l
r차량 무게중심과 후륜 차축간의 거리 [m]
df
전륜 조향각 [rad]
v
x차량 종방향 속도 [m/s]
v
y차량 횡방향 속도 [m/s]
g
요속도 [rad/s]
b
횡방향 미끌림 각 [rad]
rref
도로 곡률 [1/m]
x
p예측상태변수
,
p
x p예측상태변수 중 종방향 위치 [m]
,
p
y p예측상태변수 중 횡방향 위치 [m]
qp
예측상태변수 중 요우방향 각도 [rad]
v
p예측상태변수 중 종방향 속도 [m/s]
gp
예측상태변수 중 요우방향 각속도 [rad/s]
a
p예측상태변수 중 종방향 가속도 [m/s
2]
g&
p예측상태변수 중 요우방향 각가속도 [rad/s
2] f
p예측알고리즘의 상태변수 프로세스모델 w
p상태변수 거동모델의 오차
W
p상태변수 거동모델의 오차공분산
z
p가상측정변수
H
p예측알고리즘의 상태변수 측정모델 v
p가상측정변수의 오차
V
p가상측정변수의 오차공분산
, y prob
C 잠재적 위치 기반 Safety Margin [m]
, y safety
C 차량의 크기 기반 Safety Margin [m]
W
road도로 폭 [m]
W
v자차량의 폭 [m]
I. INTRODUCTION
자동차 사고의 90%는 운전자의 주행부담으로 인한 부주의 (전방 주시 태만, 안전거리 미확보, 졸음 등)에 기인한다고 조사되었다[1]. 센서나 통신을 이용해 운전자의 인지 범위 이 상의 주행 환경을 사전에 판단하여 운전자의 반응시간을 향 Copyright© ICROS 2015
* Corresponding Author
Manuscript received November 15, 2014 / revised December 15, 2014 / accepted December 30, 2014
이준영, 이경수: 서울대학교 기계항공공학부 ([email protected]/[email protected])
※ 본 연구는 BK21 프로그램, SNU-IAMD, 및 2013년도 정부(미래창
조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연
구사업 (2009-0083495)에 의하여 연구되었음.
이 준 영, 이 경 수 200
상시키거나 차량이 운전자 대신 능동적인 운전을 한다면 이 러한 사고를 경감시킬 수 있을 것이다. 이에 따라 전세계 차 량 제작 업체들은 운전자와 보행자의 안전 확보를 위한 지능 형 자동차 기술을 적극적으로 개발하였다. 전자장비 및 센서 의 성능이 고도화됨에 따라 주행 중 차량의 안정성을 향상시 키는 ESC (Electric Stability Control), 전방 차량과의 안전 거리 를 유지하도록 자동으로 가감속 제어를 하는 ACC (Adaptive Cruise Control), 운전자의 부주의로 인한 차선 이탈을 방지하 는 LKAS (Lane Keeping Assistance Control) 등의 능동 안전 시 스템들이 개발/실용화되고 있다[2-7]. 다양한 주행 상황에 대 하여 운전자의 안전을 확보하기 위해 개별 지능형 자동차 기 술의 통합 제어 시스템 개발에 대한 요구가 날로 증가하고 있다. 샤시 제어 분야에 대한 통합 제어 시스템의 경우 많은 연구가 진행되었으며[8-10], 운전자 보조 시스템 및 능동 안 전 시스템의 통합, 그리고 더 나아가 자동차 기술의 최종 목 표인 무인 자율 주행 차량에 대한 연구도 활발히 진행되고 있다[29,30]. 능동 안전 시스템 통합 및 무인 자율 주행 기술 개발의 일환으로 저속 정체 구간에서의 주행 자동화를 통해 운전자의 주행 부담을 경감시키는 TJA (Traffic Jam Assist) 기 능에 대한 연구가 Ford 등 여러 차량 제작 업체들에서 진행 되고 있다[11]. 또한 LKS (Lane Keeping System)와 ACC 의 통 합을 통해 고속도로에서 차선을 추종하면서 전방 차량과의 안전 거리를 유지하도록 하는 기술의 연구 역시 진행되고 있 다[12,13].
이러한 통합 안전 제어 시스템, 더 나아가 자율 주행 시스 템의 개발을 위해서는 자차량 주변의 다차량의 현재 주행 환 경뿐만 아니라 미래 시점에서 예측되는 잠재적인 주행 환경 에 대한 통합 인지 및 위험 판단이 필요하다[14,15]. 실제로 인간은 운전을 할 때 주변 차량의 현재 주행 상태 및 위치를 바탕으로 주변 차량이 가까운 미래에 어떻게 주행할 것인지 를 예측한 결과를 바탕으로 조향 및 감가속도를 결정한다.
이와 같은 맥락에서 현재 무인자동차 개발 분야에서 가장 앞 서 있다는 평가를 받는 구글 (Google)에서 낸 특허를 살펴보 면 자차량과 주변 차량의 현재 상태로부터 미래의 주변 차량 의 움직임을 예측하고 예측된 움직임의 Confidence Level 을 고려하여 차량을 제어하는 기술이 필요하다는 것을 알 수 있 다[16]. 따라서 현재뿐만 아니라 예측 가능한 미래 시점에 대
한 안전을 확보할 수 있도록 차량을 제어하는 기술을 개발하 는 것 역시 필요하다.
통합 안전 제어 시스템, 더 나아가 자율 주행 제어 기술 개발을 위한 연구를 수행함에 있어서 넓은 제어 가능 영역을 보장하면서 상태 변수 및 제어 입력 등에 대한 제한 조건을 만족시키는 것이 매우 중요한 이슈이다. 모델 예측 기법은 현재로부터 유한한 시간 영역 내에 상태 변수 및 제어 입력 등에 대한 제한 조건을 만족시키면서 다양한 주행 상황에 대 해 적용이 가능한 제어 입력을 결정할 수 있다는 장점이 있 기에 모델 예측 제어 기법을 기반으로 한 통합 안전 제어 시 스템, 더 나아가 자율 주행 제어 기술에 대한 연구가 활발히 진행되고 있다[17-22].
본 논문에서는 전방향 (All-around) 주변 차량의 주행 상황 을 모니터링한 결과를 바탕으로 미래의 잠재적인 거동을 예 측하고 예측된 잠재적 주행 환경에 대하여서도 안전을 확보 할 수 있는 조향 제어 알고리즘에 대한 연구를 수행하였다.
유한한 시간 영역에 대하여 주변 차량들의 확률적 거동 중 잠재적 충돌 위험 상황을 고려하여 안전 주행 영역을 설정하 였고 모델 예측 기법을 기반으로 안전 주행 영역을 유지하며 주행할 수 있도록 차량을 제어하는 알고리즘을 개발하는데 초점을 맞추었다. 본 연구에서 개발된 알고리즘의 유효성을 검증하기 위하여 시뮬레이션 및 실차 실험을 수행하였다.
II. OVERALL ARCHITECTURE
본 논문에서 제안하는 전방향 통합 위험 관리 기반 자율 주행 알고리즘의 전반적인 구조는 그림 1에서 확인할 수 있 듯이 센서 정보를 통합하여 주변 상황을 모니터링하는 통합 인지 파트, 자차량의 안전 주행 영역 판단 파트, 그리고 차량 의 종횡방향 모션 제어 파트, 이렇게 크게 세가지 파트로 구 성되었다. 통합 인지 파트에서는 카메라, 레이더, 라이더, GPS 및 차량센서로부터 얻어지는 정보들을 융합하여 자차량 의 주행 상황 및 주변 교통 상황에 대한 정보를 보다 정확하 게 추정하는 연산을 수행한다. 각 센서들로부터 얻어지는 정 보들에 대해 각 센서의 노이즈들을 고려하여 센서 정보를 필 터링한 후 주행 안전 영역을 판단하기 위해 필요한 자차량 및 주변 차량의 주행 상태 정보를 추정하였다. 안전 주행 영 역 판단 파트에서는 앞서 통합 인지 파트에서 얻어진 주변
그림 1. 자율 주행 알고리즘 아키텍쳐.
Fig. 1. Overall architecture of the proposed automated driving control algorithm.
Jun-Yung Lee and Kyong-Su Yi
전방향 주변 차량의 확률적 거동 예측을 이용한 모델 예측 제어 기법 기반 자율주행자동차 조향 제어 201
주행 환경 정보 및 자차량 주행 정보를 바탕으로 유한한 시 간 영역에 대하여 자차량이 안전하게 주행할 수 있는 영역을 판단한다. 유한한 시간 영역에 대해서 운전자의 안전을 보장 하기 위해서 통합 인지 파트에서 고려된 센서 노이즈 특성뿐 만 아니라 주변 주행 차량의 잠재적인 거동까지도 고려하여 안전 주행 영역(Safe Driving Envelope)을 판단하였다. 주변 주 행 차량의 잠재적인 거동을 고려하기 위해서 앞서 통합 인지 파트에서 추정된 주변 주행 차량의 주행 상태로부터 유한한 시간 영역 내에 주행 가능한 영역의 범위를 확률적 주행 특 성을 반영하여 계산하였다[14]. 안전 주행 영역이 결정되면 제어 파트에서는 자차량이 유한한 시간 영역 내에 차량 안정 성을 만족하면서 안전 주행 영역 내에 있을 수 있도록 종횡 방향 주행 제어 입력을 결정하였다. 이 때, 주행 제어 입력은 주변 주행 상황에 따라 자차량의 안전을 보장하면서 최대한 운전자의 승차감을 만족시키도록 결정하였다.
본 논문에서는 앞서 설명한 전방향 통합 위험 관리 기반 자율 주행 알고리즘의 전체 구조 중에서도 안전 주행 영역 판단 파트 및 제어 파트에 대한 연구에 초점을 맞춰 설명하 도록 한다. 제어 파트의 경우 종방향 제어 및 횡방향 제어 파트로 병렬적으로 구성되어있다. 앞서 언급하였듯이 종방향 제어 알고리즘의 경우 기존의 논문[2,3]들에서 많이 다뤄진 부분이기에 본 논문에서는 자차량의 횡방향 자율 조향 제어 에 대한 연구에 초점을 맞추었다.
III. VEHICLE DYNAMICS MODEL
본 연구에서는 횡방향 차량 제어 알고리즘 설계를 위하여 2 자유도 Bicycle 모델 기반의 차량 모델에 차량-도로간 상대 오차 모델을 통합한 횡방향 동역학 모델을 사용하였다. 본 연구에서 사용한 차량-도로간 상대오차 모델은 그림 2와 같 이 차선의 중심선에 대한 차량 중심의 상대 오차 거리 e 및
y상대 오차 각 e
y으로 표현하였다.
일반적으로 능동 안전 제어 시스템을 개발할 때 차량의 횡 방향 모션 제어를 위한 동역학 모델로는 고전적인 Bicycle 모 델이 많이 활용되었다[5,18]. 하지만 자율 주행 제어 알고리 즘은 능동 안전 제어 시스템보다 넓은 영역에서 안정적으로 동작하여야 한다는 제약 조건이 있다. 기존의 Bicycle Model 로는 조향각이 커서 타이어의 횡방향 힘이 비선형 구간으로 넘어가는 영역에 대해서는 차량의 횡방향 모션을 모사하는 데 한계가 있다. 이와 달리 비선형 타이어 모델에 기반한 동 역학 모델을 사용하게 되면 매번 비선형 최적 문제를 풀어서 목표 조향 제어 입력을 결정하여야 하는데 비선형 MPC 문
제를 풀기 위해서는 계산량이 비약적으로 증가하기에 실시 간성을 보장하기에는 어려움이 예상된다[19]. 계산량과 제어 가능 영역간의 상충 관계에 대한 절충안적인 해결책으로 본 연구에서는 기존의 Bicycle 모델에 차량 타이어 횡방향 힘의 비선형 특성을 반영하여 수정된 Bicycle Model을 아래의 수식 (1)과 같이 정의하였다[24].
11 12 1
21 22 2
f
a a b
a a b
b b
g d g
é ù é ù é ù é ù
= +
ê ú ê ú ê ú ê ú ë û
ë û ë û
ë û
&
& (1)
11
2 2
f f r r
,
x
k C k C
a mv
a
+
a= -
122
22
1
f f f r r r,
x
k C l k C l
a mv
a a
- +
= - +
21
2 2
f f f r r r
,
z
k C l k C l
a I
a a
- +
=
2 2
22
2 2
f f f r r r
,
z x
k C l k C l
a I v
a
+
a= - (2)
1
2
f f,
x
b k C mv
=
a 22
f f fz
k C l
b I
=
a여기서 k
af과 k
ar는 횡방향 타이어 코너링 강성 조절을 위 한 계수이다.
최종적으로 타이어 힘의 비선형 특성을 반영한 2 자유도 Bicycle 모델과 차량-도로간 상대오차 모델을 통합한 횡방향 동역학 모델의 상태 변수 및 수식은 아래 식 (5), (6)과 같이 표현할 수 있다.
T
x = ë é
b ge
ye
yù û (3)
, f des
u =
d(4)
x & = Ax + Bu + F
rrref(5)
11 12
21 22
0 0 0 0 0 1 0 0 ,
0 0
x x
a a
a a
A
v v
é ù
ê ú
ê ú
= ê ú
ê ú
ê ú
ë û
1 2
, 0 0 b B b
é ù ê ú
= ê ú ê ú ê ú ê ú ë û
0 0
0
x
F
rv
é ù ê ú ê ú
= ê - ú ê ú ê ú ë û
(6)
유한한 시간 영역에 대하여 모델 예측 제어 기법을 사용하 기 위해 앞서 연속 시간에 대해 얻어진 횡방향 동역학 모델 상태공간 방정식 (5)을 아래와 같이 샘플링 시간 T 에 대해
s이산 시간 방정식 (7)으로 변환하였다.
( 1)
d( )
d( )
,d ref( )
x k + = A x k + B u k + F
r rk (7) 이 때, 이산 시간 시스템 행렬은 식 (8)과 같다.
,
ATs
A
d= e B
d= ( ò
0Tse d
At t) B , Fr,d= ( ò
0Tse d
At t) Fr (8)
(8)
IV. SAFE DRIVING ENVELOPE DECISION 기존에는 주변 차량 및 주변 장애물들의 현재 상태를 바탕 으로 자차량의 안전 주행 영역을 판단하고 차량을 제어하는 방법에 대한 연구가 많이 진행되었다[21,22]. 하지만 실제 운 전자는 앞서 언급하였듯이 주변 차량 및 주변 주행 상황의 현재 상태를 바탕으로 가까운 미래에 대한 주변 주행 상황의 변화를 예측하고 예측된 결과를 바탕으로 차량의 거동을 결 정한다. 다른 기존 연구들을 살펴보아도 자차량 주변의 다차 량의 현재 주행 환경뿐만 아니라 미래 시점에서 예측되는 잠 g
v
xv
y bl
rl
fd
fe
ye
y그림 2. 횡방향 동역학 모델.
Fig. 2. Lateral dynamics model.
MPC based Steering Control using a Probabilistic Prediction of Surrounding Vehicles for Automated Driving
이 준 영, 이 경 수 202
재적인 주행 환경에 대한 통합 인지 및 잠재적 위험에 대한 고려가 되어야만 높은 수준의 통합 안전 제어 및 자율 주행 제어 시스템을 개발할 수 있다는 것을 확인할 수 있다[14-16].
이에 따라 본 연구에서는 유한한 시간 영역에 대하여 주변 차량들의 확률적 거동을 예측하고 이를 바탕으로 유한한 시 간 영역 내의 잠재적 충돌 위험 상황을 고려하여 안전 주행 영역을 판단하였다. 이를 통해 현재뿐만 아니라 가까운 미래 시점에 대해 자챠량의 안전을 향상시키고 실제 운전자의 주 행 특성을 반영하여 보다 향상된 승차감을 제공할 수 있을 것으로 기대된다.
1. 주변 차량 거동 확률적 예측 알고리즘
주변 차량 거동의 확률적 예측 알고리즘의 아키텍쳐는 아 래 그림 3과 같다. 주변 차량의 확률적 거동을 예측함에 있 어서, 필요한 정보는 현재의 거동, 도로형상, 도로추종모델, 그리고 각각의 에러레벨로 이 값들은 앞선 인지파트에서 구 해지게 된다. 우선 주변 차량의 확률적 거동 특성를 파악하 기 위해 실제 도로에서 주행 데이터를 수집하고 분석하였다 [25]. 이를 바탕으로 자차량 및 주변 차량의 거동을 예측하고 미래의 잠재적인 위치 및 주행 상태에 대한 정보를 추정하기 위한 운전자모델을 설계하였다. 이때 사용되는 운전자모델은 교통 규칙을 준수한다는 가정하에 설계하였다[26]. 즉 주변 차량들은 모두 차선을 유지하는 주행을 보이거나, 차선을 변 경할 경우 한번에 한 개의 차선씩 변경하는 주행을 보일 것 이라고 가정하였다. 또한 각각의 주변 차량들은 각 차량의 주변에 있는 차량의 유무 및 상대 거동을 고려하여 주행할 것이라고 가정하였다. 이러한 가정에 부합하게 확률적 거동 특성을 반영한 운전자모델로부터 유한한 시간 영역에 대한 주변 차량들의 목표 요속도 시퀀스가 결정하였다. 이를 가상 의 측정값으로 사용하여 유한한 시간 영역 내에 대하여 주변 차량의 미래 거동 및 오차공분산을 비선형 칼만 필터로 예측 하였다. 주변 차량의 거동에 대한 상태 방정식은 아래 식 (9) 와 같이 나타낼 수 있다.
[ ]
(
[ ])
[ ]1, 2, 3, 4, 5, 6, 7, [ ]
, 0, , 1
1
pp p p p p p p
i N
i i i
f f f f f f f i
= + = -
+
= é ë ù û +
p
p p p
p
x f x w
w L
(9)
여기서
( ) ( )
( ) ( )
, ,
2
1, ,
2
2, ,
cos cos sin
2
sin sin cos
2
T
x p y p p p p p p
p
p x p p p p p p p p
p y p p p p p p p p
p p v a
x
f p v t a v t
f p v t a v t
q g g
q q g q
q q g q
= é ë ù û
= + D + + D
= + D + + D
&
( ) ( )
( ) ( )
2 3,
2 4,
2 ,
2
p p p p
p p p a p
f t t
f v a t k a t
q g g
D
= + D +
= + D + - D
&
( ) ( )
2
5,
,
p p p p
2
f =
g+
g& D + - t k
g&g& D t
( ) (
2)
26,p p a p a p
2
f a k a t k a D t
= + - D + (10)
( ) (
2)
27,p p p p
2
f =
g& + - k
g&g& D + t k
g&g& D t
[ ]
(
[ ])
[ ]
[ ]
2 2
ˆ
~ 0,
[ ] [ ]
2 2
[ ]
0 0 0 0 0 0 1 0 0 0 0 0 1 0
p
T
i
T
i W i
t t
t i t i
i
i
=
æ D ö æ D ö
= ç D + ÷ ç D + ÷
è ø è ø
¶
= ¶
é ù
= ê ú
ë û
p p
p
p p p p p p p p
p p
p x x
p
w
W B F B Q B F B
F f x
B
N 는 미리 정의된 예측 알고리즘의 Prediction Horizon이고
p아래첨자 p 는 ‘예측된’을 의미하기 위하여 사용되었다. 종 방향 가속도와 요가속도는 임의의 시간상수를 가지며 감쇠 하는 것으로 가정하였으며 그 시간상수들은 각각 k 와 k
a g&로 정의하였다. Prediction Horizon 내에서 매 타임 스텝마다 목표 요속도는 운전자모델을 기반으로 결정되었다. 이 목표 요속도는 예측된 위치와 차선정도를 바탕으로 계산된 차선 추종오차를 줄이기 위하여 계산되었으며, 실제 요속도와 운 전자모델 기반의 목표 요속도의 차이를 white noise로 가정하 였다. 그러므로 예측되는 측정치는 time-update된 예측 상태
그림 3. 주변 차량 거동 확률적 예측 알고리즘 아키텍쳐.
Fig. 3. Overall architecture of probabilistic prediction.
전방향 주변 차량의 확률적 거동 예측을 이용한 모델 예측 제어 기법 기반 자율주행자동차 조향 제어 203
변수와 아래 식 (11)과 같은 선형관계로 표현이 가능하다.
[ ] [ ] [ ]
[ ]
[ ] [ ][ ]
[ ] [ ]
,
,
, 0, ,
0 0 0 0 1 0 0
p
des p
ff p
i N
i i i
i i
i
i i
g
g
= × + =
= × +
=
= - × +
p p p p
p p
e,p
z H x v
x v
C x
L
(11)
여기서
[ ]
(
[ ] [ ])
[ ] [ ] [ ]
[ ] { [ ] [ ] }
[ ]
(
[ ])
[ ] [ ]
(
[ ])
[ ] [ ] [ ] [ ]
[ ]
2
, 2 . 1 . 0
1
2 , 1
, ˆ 0
ˆ ˆ ˆ ˆ [ ]
ˆ ˆ
2 tan
~ 0,
T
y p
y p x p x p road
x p p
p
T y
y
i i
e i e i i
p i a p i a p i a w N i
a p i a
i
i i i
i e i e i e i
e i
q
q
q
g
q
g
-
=
= é ë ù û
é - × + × + + × ù
ê ú
ê × + ú
= -
ê ú
ê ú
ë û
é ù
= + é ë ù û ê ú
ë û
e,p e p r
p p
p p,const correct
x f x x
v V
V V w
(12)
여기서 w
correct는 운전자모델 기반의 목표 요속도에 대한 추
가적인 오차공분산을 의미한다. 위와 같이 프로세스모델과 측정모델이 구해졌으므로, 최대가능성을 갖는 미래 상태 변수 는 아래 식 (13), (14), (15)에서와 같이 Multi-Stage Process로 유도 할 수 있다[14]. 일례로, 첫 번째 타임 스텝에 대한 예측 과정 이 그림 4과 그림 5에 도시되었고, 차선 변경 상황에서 미래 시간 1s, 2s, 3s에 대한 예측 결과의 예를 그림 6에 도시하였다.
• Initialization of prediction at k
thtime step
[ ]
ˆ
p0
x = x ˆ k
[ ]P
p[ ] 0 = P
[ ]k (13)
• Time update (rough prediction)
[ ] ( [ ] )
[ ]
[ ]
[ ] [ ] [ ] [ ]
ˆ 1
ˆ 1
1
1 1 1
i
T
i i
i
i i i i
= -
-
=
é ¶ ù - = ê ú ê ¶ ú ë û
= - × - × - +
p p
p
p p
p p
p x x
p p p p p
x f x F f
x
M F P F W
(14)
Measurement update (refined prediction)
[ ](
[ ] [ ])
[ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ]
[ ] [ ] ( [ ] [ ] )
[ ] ( [ ] ) [ ]
[ ] [ ] [ ] ( [ ] [ ] )
,
1
ˆ , 0
ˆ
ff p
T y
y
T T
i i
i i i
i e i e i e i
e i
i i i i
i i i
i i i i i
q
q
g
-
=
= - × +
é ù
= + é ë ù û ê ú
ë û
= × +
= - ×
= + × - ×
e,p e p r
p e,p
p p,const correct
p p p p p p p
p p p p
p p p p p p
x f x x
z C x
V V w
K M H H M H V
P I K H M
x x K z H x
(15)
위의 식에서 볼 수 있듯이 통합 인지 파트에서 구해진 현 재 거동에 대한 예측 값과 그 오차공분산이 예측알고리즘의 초기값으로 사용되며, Measurement-update 단계에서 운전자모 델기반의 목표 요속도가 사용되게 된다.
그림 4. 타임 업데이트를 기반으로 예측된 차량 상태 변수와 그에 따른 차선추종오차 상태 변수.
Fig. 4. The time-update-predicted vehicle states and the relative error states with respect to road geometry defined on current body coordinate.
그림 5. 차선추종을 기반으로 한 목표 요속도를 가상 측정 으로 이용한 측정 업데이트를 기반으로 예측된 차 량변수.
Fig. 5. The measurement-update-predicted vehicle states where the predicted desired yaw-rate to keep the lane is defined as virtual measurement.
그림 6. 차선변경시의 거동예측 결과 예시.
Fig. 6. Prediction results for 1s, 2s, and 3s of prediction time, tp, at a lane-changing instant.
2. 안전 주행 영역 설정
앞선 예측알고리즘에서 각 차량중심에 대한 위치예측과
그 불확실성에 대한 분석이 되었으므로 이 값들을 이용하여
현재로부터 가까운 미래 시점까지 자차량의 충돌을 방지하
기 위한 안전 주행 영역을 설정해야 한다. 안전 주행 영역을
설정하려면 유한한 시간 영역 내의 주변 차량의 확률적 거동
정보를 바탕으로 차선 유지 제어를 할지, 아니면 차선 변경
제어를 할지를 결정해야 한다. 자차량의 목표 거동을 판단하
기 위해서 전방 차량의 유무, 전방 차량이 있는 경우 전방
차량에 대한 상대 속도 및 t + N
p시점에서의 전방 차량과
자차량간의 상대 거리 등을 고려하도록 알고리즘을 설계하
였다. 전방 차량이 없는 경우에 대해서는 자차량은 차선 유
지 제어를 수행하도록 하였고, 자차선 내의 전방 차량이 있
고 이 전방 차량이 자차량보다 일정 수준이상 느린 속도를
유지하면서 t + N
p시점에 자차량과 전방 차량간의 상대거
리가 일정 거리 이하일 것이 예측되면 차선 변경이 필요하다
고 판단하도록 알고리즘을 설계하였다. 차선 변경이 필요하
다고 판단이 되면 센서를 통해 인지된 주변 환경 정보를 바
탕으로 자차량 주변에 가드레일 혹은 중앙 차선의 존재 유무,
이 준 영, 이 경 수 204
옆차선 내에 주행 차량의 존재 유무, 그리고 옆차선 내에 주 행 차량이 존재할 경우 현재 시간으로부터 예측 가능한 Prediction Horizon 내에 자차량 근처 위험 영역 내에 옆차선 내의 주행 차량이 위치할 것인지를 예측하여 차선 변경 가능 여부를 판단하도록 하였다. 최종적으로 차선 변경이 가능하 다고 판단이 되면 차선 변경이라는 목표 거동에 대한 안전 주행 영역을 그림 7와 같이 결정하도록 하였다. 이에 반해 차선 변경이 불필요하거나, 차선 변경이 필요하지만 차선 변 경이 불가능한 경우는 차선 유지 제어라는 목표 거동에 대한 안전 주행 영역을 그림 8과 같이 결정하도록 하였다. 아래 그림들에서 실선으로 표시된 차량은 그 차량의 현재 위치를 나타내고 점선으로 표시된 차량은 각 차량의 미래 시점에서 의 위치를 나타낸다. 자차량 주변 차량들의 미래 시점에 예 측된 위치에 대해서 확률적인 거동 범위는 분홍색 영역으로 나타내었고 여기에 센서 오차 정보까지 함께 고려한 거동 가 능 범위는 보라색으로 나타내었다. 자차량의 안전을 향상시키 면서 차선 유지 혹은 차선 변경 제어를 수행하기 위하여 안 전 주행 영역을 결정할 때에는 주변 차량의 확률적 거동 범 위 중 자차량에게 가장 위험할 수 있는 잠재적 위험 거동 및 센서 오차 정보를 함께 고려하도록 알고리즘을 설계하였다.
결정된 안전 주행 영역에 대한 차량-도로간 상대거리오차 의 제한 조건은 아래 식 (16)과 같이 표현할 수 있다.
[ ]
, ,
, ,
( ) ( ), 1, ,
( ) ( ), 1, , ,
0 0 0 1
env env upper bound p
env lower bound env p
env
H x k G k k N
G k H x k k N
where H
× £ =
£ × =
=
K
K (16)
여기서 G
env upper bound, ,( ) k 와 G
env lower bound, ,( ) k 는 각각 현재로부 터 k번째 시간 영역에서의 안전 주행 영역 상한 경계치와 하 한 경계치를 의미한다.
V. MPC based Controller Design
본 연구에서는 앞서 언급하였듯이 자율 조향 제어 알고리 즘을 설계하기 위해 모델 예측 제어 기법(MPC)을 사용하였 다. 모델 예측 제어 기법은 현재로부터 유한한 시간 영역에 대하여 제한 조건들을 만족시키면서 예측되는 비용을 최소 화하는 제어 입력값을 계산하는 것을 기본으로 한다. 본 연 구에서는 샘플링 타임을 0.1초, Prediction Horizon, N
p는 20으 로 선정하였다. 모델 예측 제어 기법을 사용하여 제어 알고 리즘을 설계하기 위해서 비용 함수 설계 및 문제 정의를 아 래와 같이 진행하였다. 아래에 정의된 Receding Horizon Optimization 문제를 매 타임 스텝마다 풀고 이를 통해 현재 로부터 Prediction Horizon 내에 대해서 얻어진 제어 입력 시 퀀스 중 현재 시간에 해당하는 제어 입력을 이용하여 시스템 을 제어하도록 하였다. 정의된 문제를 풀기 위해 CVXGEN 이 사용되었다[27].
1. 모델 예측 제어 비용 함수
본 연구에서는 유한한 시간 영역에 대해 자차량이 안전 주 행영역을 유지하도록 하는 제어 입력 전체 양과 변화율 및 제어 입력 시퀀스에 의해 예상되는 자차량의 상태 변수들을 고려하여 비용 함수를 설계하였다. 비용 함수는 식 (17)과 같 이 정의하였다.
( ) ( )
1 2
1 0 2
1 0 2
( ) ( ) ( 1 ) ( )
( ) ( )
( )
p p
p
p
N N
T
u
k k
T
p des N p des
N
k
J x k t W x k t R u k t u k t
H x N t y W H x N t y
R u k t
- -
D
= =
-
=
= + + -
+ - -
+
å å
å
(17)
위의 식에서 W 는 앞서 언급한 횡방향 미끌림 각, 요속도, 상대오차거리 및 상대 오차 각에 대한 비용 함수의 가중치를 선언한 대각 행렬이고, R 은 제어량에 대한 가중치, R
Vu는 제 어량의 변화량에 대한 가중치이다. 비용함수의 첫번째 항은 차량의 안정성을 위해 횡방향 미끌림 각을 최대한 작게 유지 하도록 설계하였고, 두번째 항은 조향각 제어량의 급작스런 변화를 방지하도록 설계하였다. 세번째 항은 목표 횡방향 이 동 거리와 실제 이동 거리간의 오차를 줄이도록 설계하였다.
앞서 목표 거동이 차선 유지라 판단되면
NP
W 는 영행렬로 정의하였다. 이에 반해 목표 거동이 차선 변경이라 판단되면
NP
W 는 대각 행렬로 차선 변경 방향에 따른 목표 횡방향 이 동 거리와 실제 이동 거리간의 오차를 줄이도록 선정하였다.
목표 횡방향 이동 거리는 식 (18)과 같이 정의하였다. 마지막 으로 비용 함수의 네번째 항은 과도한 조향 제어 입력을 방 지하도록 설계하였다.
[0 ] :
[0 ] :
T
des road
T
des road
y W Left Lane Change
y W Right Lane Change
=
= - (18)
2. 모델 예측 제어 문제 정의
모델 예측 제어 기법은 현재로부터 유한한 시간 영역에 대 하여 제한 조건들을 만족시키면서 정의한 비용 함수를 최소 화하도록 하는 제어 입력 시퀀스를 찾고 그 중에 현재 시간 에 맞는 제어 입력을 사용하여 제어하는 것을 기본으로 한다.
그림 7. 차선 변경을 위한 안전 주행 영역.
Fig. 7. Safe Environmental Envelope to permit the lane change.
그림 8. 차선 내 유지를 위한 안전 주행 영역.
Fig. 8. Safe Environmental Envelope to keep the originating lane while maintaining safety with respect to the surrounding vehicle.
Jun-Yung Lee and Kyong-Su Yi
전방향 주변 차량의 확률적 거동 예측을 이용한 모델 예측 제어 기법 기반 자율주행자동차 조향 제어 205
앞서 정의한 횡방향 동역학 모델을 제어하는 동안 차량의 안 정성을 보장하기 위해서 차량의 횡방향 미끌림 각은 식 (19) 와 같이 제한하였다[28].
( )
1 max
tan 0.02 g
b
£
b=
- m(19)
또한 제어하는 동안 횡방향 가속도를 제한하도록 제어 입 력이 결정되어야 한다. 횡방향 가속도는 종방향 속도와 요속 도의 곱으로 가정될 수 있고 이러한 가정을 바탕으로 요속도 를 식 (20)과 같이 제한하였다.
,max max y
x
A
g
£ v =
g(20)
위의 식에서 A
y,max는 횡방향 가속도의 한계 값으로 본 연 구에서는 8m/s
2가 사용되었다.
앞서 언급한 차량의 상태 변수에 대한 제한 조건은 아래 식 (21)과 같이 나타낼 수 있다.
,max
max ,max
max
( ) ,
1 0 0 0 0 1 0 0 ,
veh veh
veh veh
H x k G
where
H G
bg
× £
é ù
é ù
= ê ú = ê ú
ë û ë û
(21)
결과적으로 모델 예측 제어 문제는 제어 입력 제한 조건, 차량 상태에 대한 제한 조건 및 안전 주행 영역에 대한 제한 조건을 만족시키면서 비용 함수를 최소화시키도록 식 (22)와 같이 정의하였다.
( ) ( )
1 2
1 0 2
1 0 2
,
( ) ( ) ( 1 ) ( )
min ( ) ( )
( )
. . ( 1) ( ) ( ) ( )
p p
p
p
N N
T
u
k k
T
p des N p des
N
k
d d d ref
J x k t W x k t R u k t u k t
H x N t y W H x N t y
R u k t
s t x k A x k B u k F
r rk
- -
D
= =
-
=
é ù
= + + -
ê ú
ê ú
ê ú
+ - -
ê ú
ê ú
ê ú
ê + ú
ê ú
ë û
+ = + +
å å
å
max
, ,
, ,
,max
( ) , 0 1
( 1) ( ) , 0 2
( ) ( ), 1
( ) ( ), 1
( ) , 1
p
p
env env upper bound p
env lower bound env p
veh veh p
u k u k N
u k u k S k N
H x k G k k N
G k H x k k N
H x k G k N
¥
£ = -
+ - £ = -
× £ =
£ × =
× £ =
K K K K K
(22)
위의 식에서 u
max는 앞바퀴 조향 제어 입력 값의 한계값을 의미하고 S 는 조향 제어 입력 변화량의 한계값을 의미한다.
VI. SIMULATION AND EXPERIMENT RESULTS 본 연구에서 제안된 전방향 주변 차량의 확률적 거동 예측 을 이용한 모델 예측 제어 기법 기반 자율 주행 알고리즘의 성능을 검증하기 위해 시뮬레이션 및 실차 실험을 수행하였다.
1. 시뮬레이션
본 연구에서 제안된 알고리즘을 시뮬레이션을 통해 검증 하기 위해 CarSim과 MATLAB/SIMULINK를 이용하였다. 시 뮬레이션 시나리오는 일반적으로 도심 주행 상황에서 일어 날 수 있는 주행 상황을 모사하도록 그림 9과 같이 선정하였 다. 자차량의 속도는 50kph로 일정하게 유지되도록 하였고 이때 주변 차량들의 초기 속도 역시 50kph로 설정하였다. 자 차량의 차선 내에 있는 전방 차량인 갈색 차량과 자차량 간 의 초기 상대 거리는 25m로 설정하였고 자차량과 자챠량 왼 쪽 차선에 있는 빨간색 차량간의 초기 상대 거리는 12m 로 설정하였다. 자차량 왼쪽 차선에 있는 빨간색 차량은 출발한 지 1.5초 후에 자차량의 차선과 매우 근접하게 주행하기 시 작하고 7초 후에는 전방에 있는 공사 구간을 피하기 위해 자 차량의 차선 내로 차선 변경을 시작하도록 하였다. 이때 자 차량 전방에 있는 갈색 차량이 속도를 40kph로 감속하기 시 작하도록 하였기에 빨간색 차량 역시 40kph로 감속하면서 차선 변경을 하도록 하였다. 자차량의 오른쪽 차선에 있는 검은색 차량은 초기 속도인 50kph를 일정하게 유지하도록 하였다. 도로 폭은 3.6m로 설정하였다.
본 연구에서 제안된 주변 차량 확률적 거동 예측 기반 자 율 조향 제어 알고리즘 (이하 Proposed Method)의 유효성을 검증하기 위해서 주변 차량의 확률적 거동 변화를 고려하지 않고 현재 주행 상태를 계속 유지한다는 가정하에 설계된 모 델 예측 제어 기법 기반 조향 제어 알고리즘 (이하 Previous Method)의 결과와 제안된 알고리즘의 시뮬레이션 결과를 비 교 분석하였다.
앞서 언급한 시뮬레이션 시나리오에 대한 시뮬레이션 결 과는 그림 10과 같다. 일반적으로 운전자들은 자차량 근처의 차량이 자차량의 차선쪽에 근접하게 주행하는 경우 그 차량 의 혹시 모를 차선 변경에 대비하여 자차량의 차선 내에서 회피 조향을 하던지 혹은 감속을 함으로써 안전을 확보하려 고 한다. 그림 10(a)을 보면 Previous Method의 경우 자차량의 그림 9. 시뮬레이션 시나리오.
Fig. 9. Simulation scenario.
MPC based Steering Control using a Probabilistic Prediction of Surrounding Vehicles for Automated Driving
이 준 영, 이 경 수 206
(a) Lateral movement.
(b) Driving mode.
(c) Desired steering angle.
(d) Lateral acceleration.
(e) Side slip angle and yaw rate.
(f) Lateral clearance between the subject vehicle and the surrounding vehicle in the left lane.
그림 10. 시뮬레이션 결과.
Fig. 10. Simulation results.
(a) Safe driving envelope at 3.1 sec based on deterministic prediction of surrounding vehicle’s behavior.
(b) Safe driving envelope at 3.1 sec based on probabilistic prediction of surrounding vehicle’s behavior.
그림 11. 주변 차량이 현재 상태를 유지한다고 예측하였을 때의 안전 주행 영역과 현재로부터 가까운 미래 시 점 내에 주변 차량의 확률적인 거동 예측 결과를 고 려한 안전 주행 영역의 비교.
Fig. 11. Comparison between the safe driving envelope based on deterministic prediction of surrounding vehicle's behavior and that based on probabilistic prediction of surrounding vehicle's behavior.
왼쪽 차선에 있는 차량이 자차량의 차선에 근접하게 주행하 는 1.5초부터 7초사이에 횡방향으로 움직임을 나타내지 않고 있다. 이는 그림 10(c)에서 확인할 수 있듯이 Previous Method 의 목표 조향 제어 입력이 0이기 때문이다. 그림 11를 보면 이때의 목표 조향 제어 입력이 0으로 계산된 이유를 알 수 있다. 그림 11은 3.1초일 때의 주변 차량의 거동 예측 결과와 이에 기반한 안전 주행 영역을 나타낸다. 자주색 선은 안전 주행 영역의 경계선이다. 그림 11(a)에서 살펴볼 수 있듯이 주변 차량이 현재 주행 상태를 계속 유지한다는 가정하에 안 전 영역을 설정할 경우 자차량의 왼쪽 차선에 있는 차량이 자차량의 차선에 근접하여 주행한다고 하더라도 자차량의 안전 주행 영역은 자차선의 중앙을 유지하면 주행하기에 충 분하도록 설정된다. 이에 반해 그림 11(b)는 주변 차량의 확 률적 거동 중 자차량에게 가장 위험할 수 있는 상황 및 이에 기반한 안전 주행 영역을 나타낸다. 자차량 왼쪽 차선에 있 는 빨간색 차량들은 현재로부터 Prediction Horizon 내에 왼쪽 차선에 있는 차량의 현재 상태 기반 거동 예측 결과이고 분 홍색 차량은 현재로부터 Prediction Horizon 내에 대한 왼쪽 차선에 있는 차량의 확률적 거동 예측 결과 중 자차량에 가 장 위험할 수 있는 예측 결과를 도시한 것이다. 이와 마찬가 지로 자차량 오른쪽 차선에 있는 검은색 차량들은 현재로부 터 Prediction Horizon 내에 대해 오른쪽 차선에 있는 차량의 현재 상태 기반 거동 예측 결과이고 회색 차량은 현재로부터 Prediction Horizon 내에 대한 오른쪽 차선에 있는 차량의 확 률적 거동 예측 결과 중 자차량에 가장 위험할 수 있는 예측 결과를 도시한 것이다. 그림 11(b)에서 볼 수 있듯이 유한한
0 2 4 6 8 10 12 14 16 18 20
-4 -3 -2 -1 0 1
Time [sec]
Y Coordinate [m]
MPC based on Deteministic Prediction MPC based on Probabilistic Prediction
0 2 4 6 8 10 12 14 16 18 20
0 0.5 1 1.5
Time [sec]
Driving Mode
MPC based on Deteministic Prediction MPC based on Probabilistic Prediction
0 2 4 6 8 10 12 14 16 18 20
-15 -10 -5 0 5 10 15
Time [sec]
SWA [deg]
MPC based on Deteministic Prediction MPC based on Probabilistic Prediction
0 2 4 6 8 10 12 14 16 18 20
-0.5 0 0.5
Time [sec]
Ay [m/s2 ]
MPC based on Deteministic Prediction MPC based on Probabilistic Prediction
-0.3 -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15
-4 -2 0 2
Side Slip Angle [deg]
Yaw rate [deg/s]
MPC based on Deteministic Prediction MPC based on Probabilistic Prediction