The Korean Society Of Automotive Engineers

Editorial Board

Transactions of the Korean Society of Automotive Engineers - Vol. 28 , No. 2

[ Article ]
Transactions of the Korean Society of Automotive Engineers - Vol. 28, No. 2, pp. 133-142
Abbreviation: KSAE
ISSN: 1225-6382 (Print) 2234-0149 (Online)
Print publication date 01 Feb 2020
Received 16 Jul 2019 Revised 15 Sep 2019 Accepted 24 Dec 2019
DOI: https://doi.org/10.7467/KSAE.2020.28.2.133

카메라 기반의 인공표식 추적을 이용한 선행 차량 추종
박근남1) ; 기석철*, 2)
1)충북대학교 스마트카협동과정
2)충북대학교 스마트카연구센터

Forward Vehicle Following Using Artificial Landmark Tracking of Image Sequences
Geun-Nam Park1) ; Seok-Cheol Kee*, 2)
1)Department of Smart Car Engineering, Chungbuk National University, Chungbuk 28644, Korea
2)Smart Car Research Center, Chungbuk National University, Chungbuk 28644, Korea
Correspondence to : *E-mail: sckee@chungbuk.ac.kr


Copyright Ⓒ 2020 KSAE / 171-06
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium provided the original work is properly cited.
Funding Information ▼

Abstract

In this paper, we proposed a real-time, vehicle-following system based on artificial landmark tracking and longitudinal/lateral vehicle control through landmark movement. The proposed autonomous vehicle system is designed to follow a human-driven lead vehicle accurately by tracking and following an artificial landmark. It is possible to measure the relative distance and the lateral motion of the lead vehicle based on the size and the trajectory of the pre-defined artificial landmark. An artificial landmark tracking algorithm was designed by using the Cam-Shift and Kalman-Filter methods to mimic real-time processing and actual vehicle driving situations. The kinematic bicycle model was used to control the following vehicle. Based on this model, longitudinal and lateral tracking control algorithms were proposed. To evaluate the performance of the proposed vehicle system, a commercial micro electric car was modified with an autonomous driving system. A driving test was carried out on the Ochang proving ground at Chungbuk National University. The artificial landmark detection performance was calculated at 97.76 % under outdoor driving conditions. The distance from the lead vehicle was calculated by using the GPS sensor. We propose a distance calculation system by integrating the GPS sensor distance with the artificial landmark distance. Stability was added by comparing the two data sets. By using this system, we propose an approach to correct other manual-driven vehicles cutting in front of the following vehicle. Vehicle tracking was successful by utilizing the tracking method, even with detection failures. Our system showed that another vehicle could be driven while maintaining a safe distance from the lead vehicle.


Keywords: Autonomous vehicle, Object detection, Vehicle control, Advanced driver assistance system, Forward vehicle following
키워드: 자율 주행, 객체 인지, 차량 제어, 운전자 보조 시스템, 선행 차량 추종

1. 서 론

자율주행 자동차(Autonomous Vehicle)는 주변 환경과 차량의 현재 위치를 알 수 있는 인지 파트, 센서 정보를 처리하여 차량에 적합한 가속, 감속 및 핸들 조향 값을 결정하는 판단 파트, 명령에 따라 차량을 주행하는 제어 파트로 구성되어있다. 본 연구에서는 군집주행 기능 구현을 위한 사전 단계로 선행 차량 추종(Forward Vehicle Following) 방법을 연구하였다. 선행 차량 추종은 차량과 차량 사이를 일정 간격을 유지하면서 주행하는 개념으로서, 도로 효율성 측면 뿐 아니라 에너지 효율성 측면에서도 많은 이점이 있다. 선행 차량 추종은 차량 제어에 자동화를 통해 이루어짐으로써 안전성과 노동력 절감을 기대 할 수 있다.

선행 차량 추종 연구는 군집주행1)이 대표적이다. 기존 군집주행에서 카메라 센서를 이용한 방법은 크게 두 가지이다. 차선 검출을 이용한 방법은 Fig. 1과 같다. 차선 검출은 차선이 정상적으로 설치되어 있는 포장도로 구간에서의 알고리즘 검증이라는 한정된 시나리오 연구에 머물러 있으며, 차선 검출 오류가 발생 때에 선행 차량 추종 제어 대처 방안에 관한 연구는 미진하다. 차량 검출을 이용한 방법은 선행 차량과 근접거리인 상황에서는 선행 차량의 일부 영역만 카메라 입력 영상으로 취득된다. 이러한 이유로 기존의 차량 검출 방법으로는 다양한 상황이 발생하는 선행 차량 추종 제어에 활용할 수가 없다.


Fig. 1 
Existing lane detection

본 논문에서는 선행 차량 추종 목적을 차선이 정상적으로 설치되어 있지 않은 비포장도로와 선행 차량과 근접한 상황에서도 차량을 추종 제어 할 수 있는 방법을 제안 한다. 연구는 단일 카메라 센서를 사용하여 선행 차량을 인지하도록 하였다. 인지된 데이터를 활용하여 선행 차량을 추종하는 차량 제어 알고리즘을 제안한다. 첫 번째로 선행 차량을 인식하고, 인식한 차량에 종·횡 방향 정보를 계산하기 위해서 인위로 제작한 인공표식(Artificial Landmark)을 선행 차량 뒷면에 부착하였다. 인공표식은 빨간색상과 파랑색상을 결합한 사각형 모양으로 제작하였다. 이는 자연 속에 빨간색상과 파랑색상이 같이 존재하기 어렵기 때문에 선행 차량을 인식하는 목적을 최대화하기 위해서이다. 선행 차량에 부착된 인공표식 인식은 실제 차량이 주행 중인 상황에서 필요한 정보 값을 얻어야하기 때문에 실시간성이 필요하다. 실시간성이 보장되는 CAM-Shift2) 알고리즘을 사용하고, 정보 계산 양을 줄이기 위해 Adaptive ROI(The Region of Interest)3)방식을 적용하였다. 선행 차량이 급격한 횡 방향 이동 상황에서는 인공표식이 순간적으로 사라지는 상황이 발생한다. 이를 보완하는 방법으로 Kalman Filter4) 알고리즘을 적용하여 선행 차량에 이동 방향 움직임을 추정하였다. 선행 차량에 부착된 인공표식의 크기로부터 선행 차량과의 거리를 계산하는 방법으로 레이더 센서와 같은 역할을 수행하였다. 두 번째로 차량 제어 방법으로는 깁스모델의 구성을 기반으로 전방 차량과의 거리와 거리에 따른 추종 차량에 가, 감속 속도 제어를 TTC(Time To Collision)을 고려하여 선행 차량 추종 제어 모델을 설계하였다. 선행 차량 추종 요구거리에 따라서 인공 표식을 활용한 선행 차량 추종 종 방향 제어 알고리즘을 제안한다. 또한 인공 표식의 이동 방향 움직임에 따른 횡 방향 제어 알고리즘도 제안한다.

본 논문은 다음과 같이 구성된다. 2장에서는 선행 차량 인식을 위한 인공표식 추적 방법에 대해서 언급하고, 3장에서는 인공표식 인식 데이터를 활용하여 선행 차량 추종을 제어하는 알고리즘을 설명한다. 4장에서는 실험을 통해 제안한 알고리즘들을 검증한다. 마지막으로 5장에서는 결론을 맺는다.


2. 선행 차량 추종을 위한 인공표식 추적 방법
2.1 인공표식 검출 방법

실제 차량이 주행 중인 상황에서 선행 차량에 부착된 인공표식을 인식하기 위해서는 실시간성이 필요하다. 최근 우수한 인식 성능을 보이고 있는 딥러닝 모델을 적용할 수도 있으나, 인공표식은 전통적인 영상처리 기법 중에서 단순한 특징 점 검출과 추적기술을 사용하여 복잡한 계산을 줄였고, 이를 활용하여 실시간 차량 제어를 목표로 한다. 실시간으로 안정적인 추적을 위해 2개의 분류기를 사용한다. 또한 인공표식 검출 과정을 효과적으로 추출하기 위해 전처리 과정을 사용하였다.

2.1.1 전처리 과정

카메라에서 입력받는 영상 Fig. 2(a)에서 특징을 추출하여 인공표식 패턴을 추출한다. 카메라 캘리브레이션5)을 위해 격자 크기가 가로, 세로 10cm 패턴인 판을 사용하였다. 즉 특징 점 총 56개(가로 8개 * 세로7개)를 위치를 변경하면서 영상을 획득하였다. 특징 점들의 좌표와 좌표계 간의 변환 관계식을 이용하여 비선형 최소자승법으로 매개 변수 값을 추정하였다. 획득한 RGB 영상 정보를 HSV 색상으로 변환하고, 그레이 스케일로 변환한다. Morphology6) 연산을 사용하여 2차원 가우시안 함수 값을 이용하여 마스크를 생성하고, 입력 영상과 마스크 연산을 수행한다. 마스크 크기는 5×5의 크기로 설정하여 인공 표식 패턴의 빨강색(좌측 영역)과 파랑색(우측 영역) 부분을 추출하였다. 전처리 과정에서 엣지를 강조한 결과에 파랑색(우측) 추출 크기와 빨강색(좌측) 추출 크기가 같다면 최종적으로 침식, 팽창을 통해 잡음이 제거된 결과는 Fig. 2(b)와 같다.


Fig. 2 
Artificial landmark input image (a) Original image, (b) Feature extraction result of Artificial landmark image

2.1.2 1차 인공표식 검출 분류기

1차 분류기는 인공표식의 이미지 패턴을 추적하기 위해서 CAM-Shift7) 방식을 사용하였다. 인공표식의 특징점인 빨강색과 파랑색의 HSV 값을 라벨링 하였다.

  • ① : 라벨링은 좌, 우, 상, 하, 대각선 4방향에 대한 총 8방향으로 인접한 픽셀을 그룹화 한다.
  • ② : 빨강색 영역과 파랑색 영역을 각각 라벨링 후 두 영역의 크기가 같다면 이를 CAM-Shift로 추적한다.
  • ③ : Cam-Shift를 알고리즘을 적용하여 추적하던 인공표식 위치를 기반으로 Adaptive ROI(The Region of Interest)를 적용한다.
2.1.3 2차 인공표식 검출 분류기

2차 분류기는 1차 분류기의 후속 분류기이다. 1차 분류기에서 인공표식을 추적한 것을 보완하는 단계이다. 선행 차량이 도로 상황으로 인하여 횡 방향으로 급격하게 이동하게 된다면 인공표식의 잘린 이미지가 Fig. 3처럼 나타난다. 이러한 상황에서 Kalman Filter8) 알고리즘을 적용하여 인공표식을 추적한다. 추적된 인공표식에 중심 이동방향 정보와 속도를 계산하여 선행차량에 다음 위치를 예측한다. Fig. 3과 같은 상황에서 인공표식을 추적할 때에 칼만 필터를 모델링하기 위해 사용된 값들을 나타낸 식이다.

xk^=x,y,x,yT(1) 
yk=x,yT(2) 
uk=ux,uyT(3) 

Fig. 3 
The forward vehicle suddenly moves in the lateral direction

특정시간 k에서의 식 (1)xk^는 상태 벡터 값, 식 (2)yk는 측정 벡터 값, 식 (3)uk는 제어 벡터를 의미한다. xk^의 값은 인공표식의 X, Y좌표와 중심 벡터의 변화량을 포함한다. yk는 Cam-Shift 알고리즘으로 추적한 값으로 인공표식의 좌표 값 X, Y를 포함한다. uk는 선행 차량을 추종하는 제어 차량에 속도에 따라 xk^값을 예측하는 과정에서 사용되는 인공표식의 현재 속도 값이 포함된다.

xk-^=Ax^k-1+Buk+wk(4) 
Pk-=A*Pk-1*AT+Q(5) 

각 벡터들의 값들을 갱신하기 위해서 행렬들을 사용했다. 식 (4)의 A는 상태 변환행렬, B는 칼만 예측 과정에서 예측 벡터를 값을 구하기 위해 현재 상태 벡터와 제어벡터에 각각 곱해지는 행렬이다. 식 (5)의 P는 추정오차 공분산 행렬로 인공표식 추적과정에 포함되는 오차 잡음에 해당하는 식이다. 식 (5)의 Q는 측정된 잡음에 해당한다. 위 식을 이용하여 인공 표식 예측 단계를 식 (4)~(5)를 이용해 측정값을 구한다. 식 (4)은 잡음을 고려하지 않은 다음 상태 예측 값이며, wk는 예측 잡음을 의미한다. 식 (5)은 예측에 포함된 오차 값을 변경하기 위하여 프로세스 잡음을 추정 오차에 적용하는 식이다. 선행 차량에 부착된 인공표식 인지 알고리즘 구성은 Fig. 4와 같다.


Fig. 4 
Artificial landmark recognition diagram

2.2 인공표식 검출 데이터

위에 설명한 인공 표식 검출 방법을 이용하여 선행 차량이 도로를 주행 중인 상황에서 실시간으로 인공표식을 검출할 수 있다. 본 논문에서는 선행 차량에 부착된 인공표식으로부터 선행차량과의 거리를 계산하는 방법을 제안한다. 본 연구의 목적은 선행 차량과 최소 거리를 유지하면서 선행 차량을 추종하기 위한 것이다.

선행 차량과 근접거리에서는 선행 차량의 일부 영역만 카메라 입력 영상으로 취득되기 때문에 기존의 차량 검출(Vehicle Detection)9) 방법으로는 선행차량을 검출할 수가 없다. 선행 차량과의 거리가 1 m 이내로 근접한 경우 입력 영상을 Fig. 5에 나타내었다. 인공표식을 이용하여 선행 차량을 어떠한 상황에서도 안정적인 추적을 목표로 한다. 따라서 인공표식을 이용함으로써 선행 차량에 위치를 추정하고, 거리 값을 계산하여 선행차량 추종 제어를 목표로 한다. 인공표식은 절대 크기 값을 갖는다. 하나의 이미지 프레임에서 측정한 인공표식의 절대 크기 값은 카메라 캘리브레이션 오차 값을 포함하고 있다. 이러한 오차를 줄이기 위해 여러 프레임 별 거리를 측정하여 Look-up table(Table 1) 데이터를 만들었다. 즉 인공표식의 거리에 따른 크기를 알기 때문에 현재 프레임에서 인공표식을 추적하면 상황에 따른 선행차량과의 거리는 상대적인 인공표식의 크기로 비례하여 계산하면 된다. 선행차량과의 거리에 따른 인공표식의 크기 값은 Fig. 6과 같다. 선행 차량과의 거리에 따라 인공표식의 크기와 중심 값이 변함을 알 수 있다. 선행 차량과의 거리에 따른 인공표식 크기와 중심 값은 Table 1과 같다.


Fig. 5 
Example image of forward vehicle in front of 1m distance

Table 1 
Artificial landmark center size of according distance
Distance Artificial landmark size Artificial landmark center point
1 m 260 * 187 (340, 327)
2 m 154 * 109 (336, 315)
3 m 106 * 75 (334, 305)
4 m 81 * 58 (332, 300)
5 m 66 * 48 (330, 297)
6 m 57 * 42 (329, 295)
7 m 49 * 36 (327, 292)
8 m 42 * 32 (326, 290)
9 m 38 * 28 (324, 288)
10 m 32 * 23 (323, 286)


Fig. 6 
Changes in artificial landmark size on the forward vehicle


3. 선행차량 추종을 위한 차량 제어 방법
3.1 차량 제어 모델링

차량 제어 모델은 Kinematic Bicycle Model10)를 사용하였다. Bicycle Model은 차량의 차축 거리를 무시하지만, 저속 주행 상황에서는 회전 반지름이 차량의 차축 거리보다 훨씬 크기 때문에 Bicycle Model을 선택하였다. Bicycle Model은 Fig. 7과 같다. 점 O는 차량의 Rolling Center를 의미하며, 앞바퀴와 뒷바퀴에서 수직 방향으로 연장한 두 선이 만나는 점이다. 삼각형 OCA와 OCB에 대해 사인 법칙을 적용하면 다음 식과 같다.

sinδfcosβ-sinβcosδflf=cosδfR(6) 
cosδrsinβ-cosβsinδrlr=cosδrR(7) 
tanδfcosβ-sinβ=lfR(8) 
sinβ-tanδrcosβ=lrR(9) 
tanδf-tanδrcosβ=lf+lrR(10) 
ψ=VR(11) 

Fig. 7 
Kinematics bicycle modeling

δf , δr은 앞(A), 뒤(B)바퀴 조향 각을 나타낸다. 또한 바퀴 사이의 거리인 축간거리(L)는 L=lf+lr과 같다. β는 차량의 Slip Angle을 나타낸다. 따라서 Bicycle Model을 사용하여 차량의 속도와 조향 각속도를 Input으로 설정한다. 차량의 위치를 X, Y 값으로 표현하고, 방향의 속도를 계산하였다. Heading Angle의 속도를 얻기 위해 도로의 반경(R)과 차량의 속도(V)를 이용하였다. 이를 적분하여 현재 차량의 위치와 현재 차량의 각을 구한다. 2장에서 획득한 인공표식 데이터로부터 선행차량과의 거리와 선행차량의 위치 값을 알 수 있다.

인공표식으로부터 인식한 데이터 값, 차량 정보로 부터 얻은 데이터 값, GPS로부터 획득한 위치 정보 값들을 메타 운영체제인 ROS에서 프로그래밍 하였다. ROS 운영체제는 Nodes라고 하는 프로세스의 분산 프레임윅으로, 실행 프로그램을 독립적으로 설계하고, 실행 할 때에 프로세스 간 결합도를 낮춰주는 역할을 한다. 인공표식 데이터, 차량 정보, GPS 위치 정보를 각 Node 별로 독립적으로 설계하여 차량 CAN 통신으로 데이터들을 송수신한다. 위에서 설명한 데이터 정보 값을 이용하여 차량 제어 소프트웨어 시스템을 설계하였다. 차량 제어 소프트웨어 시스템은 인지, 판단 계획(Decision planner), 상위(Upper-level)제어기, 하위(Lower-level)제어기로 구성하였다. 첫 번째 판단 계획은 Operation, Trajectory, Artificial landmark로 나누어진다. CAN 통신을 통해 차량 내부 정보와 카메라 센서로부터 인공표식을 인식데이터를 받는다. 두 번째로 상위 제어기는 관리 계층이 판단 계획으로부터 받은 정보를 종·횡 방향 제어기로 전달한다. 세 번째로 전달 받은 정보를 기반으로 엑추에이터 구동에 필요한 명령 값을 계산하여 하위(Lower-level) 제어기에 전달한다.

X˙=Vcosψ+B(12) 
Y˙=Vsinψ+B(13) 
ψ˙=Vcosβlf+lrtanδf-tanδr(14) 

설계한 선행 차량 추종 제어 시스템은 저속 주행11)을 목표로 한다. 도로의 회전 반경(R)이 줄어드는 상황에서의 차량 Heading Angle의 변화율 ψ˙는 다음과 같이 나타낼 수 있다. X˙,Y˙,ψ˙ 값은 현재 차량 위치 값으로 GPS를 이용하여 제안한 선행 차량 추종 시스템 성능 검증을 위한 값들로 사용한다.


Fig. 8 
Software architecture for forward vehicle following

3.2 선행 차량 거리 추정 알고리즘

선행 차량 거리 추종에는 두 가지 데이터를 사용하였다. 인공표식 검출 데이터와 GPS 데이터이다. 선행 차량과 추종 차량에 GPS를 설치하였다. 종·횡 방향 차량 거리 추정에 사용된 GPS 모델은 C94-M8P이다. GPS 주기는 5 Hz이다. GPS NMEA 좌표에 위도, 경도 값을 UTM (Universal Transverse Mercator) 좌표로 변환하였다. UTM 좌표계는 직사각형 모양을 유지하며, 거리를 나타낼 때 유리하다. 선행 차량의 GPS 좌표를 (X1,Y1), 추종 차량의 GPS 좌표를 (X2,Y2)로 계산하였다. 두 차량 간의 좌표 값을 유클리디안 거리를 이용하여 계산 하였다. 두 차량 간의 거리 계산 방법은 식 (16)과 같다.

D=X1-X22+Y1-Y22(15) 

인공 표식 데이터와 GPS 데이터를 활용하여 두 차량 간에 거리를 구하였다. 두 가지 데이터를 활용하여 두 차량 간에 거리에 대한 정확성을 높였다. 또한 선행 차량 추종 중에 발생하는 Cut-in상황에서도 선행 차량을 추종할 수 있는 방법을 제안한다.

3.3 선행 차량 추종 시스템 차량 속도 모델링

깁스의 운전자 모델을 기반으로 최대 요구 속도와 가속도를 제어 파라미터로 사용하였다. 선행 차량에 대한 추종거리와 지연시간의 속도를 가속, 감속으로 분리하고, 선행 차량과의 추종거리에 따른 가속, 감속 특성을 TTC(Time To Collision)에 따라서 추종 제어 알고리즘을 구현하였다. 인공표식의 중심 값과 선행 차량을 추종하는 제어 차량에 속도를 모델링하여 선행차량 속도를 추정하고, SCC(Smart Cruise Control)12) 방식에 선행 차량 추종 알고리즘을 제안한다.

TTC-1=DrV-VP(16) 

식 (15)Dr는 선행차량과의 상대거리를 값이다. V는 선행 차량을 추종하는 차량의 속도 값이다. 선행 차량에 상대거리 값을 Fig. 6과 같이 인공 표식을 추적하여 크기 Table 1과 같은 값을 구한다. 선행 차량 추종 시스템을 안정적으로 수행하기 위해 선행차량과의 최대 상대거리를 10M로 제한하였다. 즉 Dr값은 0에서부터 10까지의 값을 갖는다. 선행 차량을 추종하는 차량 속도(V)는 차량 CAN 통신(100 Mbps)을 이용하여 0 kph ~ 15 kph 속도 값으로 제어한다. Vp는 선행차량의 속도를 나타낸다. 인공표식은 Fig. 9와 같다.


Fig. 9 
Moving estimation algorithm using artificial landmark

선행차량의 속도(Vp) 값을 추정하기 위해 인공표식의 값을 이용하였다. 이를 식 (17)로 나타내었다.

fR=fP×dRdP(17) 

식 (16)fP는 인공표식의 픽셀단위 Y점 좌표 값을 나타내고, dR은 인공표식의 크기이다. dP는 픽셀 단위의 인공표식 Y축의 총 길이를 나타낸다. 선행 차량의 속도를 추정하는 방법은 식 (18)과 같다.

Forward Vehicle Speed=fR×FPS×C(18) 

식 (17)에서 FPS는 초당 프레임 수를 나타낸다. C는 속도의 단위를 kph로 변환하는 상수이다. 즉 시간과 거리에 대해 나타낸 식을 의미하므로 이를 이용하여 선행 차량의 속도를 계산한다. 즉 이전 프레임의 중심 값과 선행 차량을 추종하는 차량 속도와 현재 프레임의 중심 값과 선행 차량을 추종하는 차량 속도를 비교하여 선행 차량의 속도를 추정할 수 있다. 선행 차량 속도와 추종 차량 속도가 같도록 제어하기 위해서 ɛ 값을 설정하였다. (TTC)-1 > ɛ 구간을 과도상태 영역으로 분류13)하고, 과도 상태 영역에서 가, 감속을 통해 오차를 줄이는 제어 단계를 설정하여 정상 상태 영역에 진입하도록 설계하였다. 최종적으로 선행차량과의 거리(D)에 따른 추종 차량 속도를 제어 하도록 설계하였다.

3.4 선행 차량 추종 시스템 종·횡 방향 차량 제어

인공표식의 데이터 값을 활용하여 선행 차량을 추종하는 차량의 종·횡 방향 모델 제어에 적용시킨다. 상태 영역 판단 알고리즘은 Cubic brzier curve interpolation을 이용하였다. 선행 차량의 속도를 계산하였고, Fig. 9에 ⑤ 위치를 카메라 좌표계로 계산하고, 현재 위치를 P1, 목표 위치를 P2, 그 사이에 제어 점(Control point)을 P3, P4로 설정한다. 총 4개의 점을 이용하여 선을 생성한다. 이를 식 (19)로 나타내었다.

Bt=1-t3P0+31-t2tP1+31-tt2P2+t3P3, t0,1(19) 

선행 차량을 추종하는 종 방향 추종 제어 상황에서는 인공표식으로부터 거리 데이터를 획득하여 모델링에 따른 속도를 제어한다. Fig. 9의 인공 표식 중심 점 ⑤를 요구 헤딩 각으로 변환한 값을 Ψ~i, 현재 차량의 헤딩 각을 Ψk라 하면 헤딩 각 오차를 εk~=Ψk-Ψ~i로 정의한다. 요구 헤딩각과 헤딩 각 오차를 기준으로 오차가 ey > 0이면 조향을 반 시계 방향으로 설정하고, ey < 0이면 시계 방향으로 제어하는 P-Gain 횡 방향 제어기를 설계하였다.

ust=Kp,stey,Kp,st=kdkε(20) 

횡 방향 추종 제어 상황에서는 인공표식에 변화량으로부터 선행 차량의 위치를 추정한다. 위 값에 변화량에 따라 추종 차량의 최적의 속도를 계산하고, 차량에 핸들을 제어한다. 선행차량에 부착된 인공 표식으로부터 인지한 데이터들을 계산하고, 종·횡 방향 상황에서의 추종 차량을 제어하는 상황은 Fig. 10, Fig. 11과 같다.


Fig. 10 
Longitudinal control situation


Fig. 11 
Lateral control situation

3.5 Cut-in 상황 차량 종 방향 제어

선행 차량 추종 중 Cut-in 상황은 가장 위험적인 요소중 하나이다. Cut-in 상황은 군집주행에서 해결해야할 문제로 본 논문에서는 인공표식을 활용하여 대처하는 방법을 제안한다. Cut-in 상황은 Fig. 12와 같다.


Fig. 12 
Manual-drive vehicle cutting in front of following vehicle

선행 차량 추종은 안전 시스템 문제로 가급적 차는 멈추지 않는 것이 좋다. 또한 차량 제어에 있어 Shut-down이 발생하면 선행 차량 추종 중에 큰 사고가 발생할 수 있다. Cut-in 상황 발생 시에 인공표식과 GPS 거리 데이터를 사용하여 대처한다. Cut-in 상황 판단 및 차량 제어 방법은 Fig. 13과 같다. 선행 차량 추종은 인공표식과 GPS를 이용하여 거리를 계산한다. 거리 계산 방식은 인공표식과 GPS 데이터를 비교하여 정확한 거리를 계산한다. 선행 차량과의 거리에 따라 차량을 제어 중에 다른 차량이 대열에 진입하게 되면 인공표식을 인식할 수 없는 상황이 된다.


Fig. 13 
Manual driver cut-in situation control architecture

이 때 차량은 우선적으로 선행 차량의 GPS 위치를 확인한다. 선행 차량이 주행 중인 경우이고, 인공표식이 인식되지 않는다면 Cut-in 상황으로 판단한다. Cut-in 상황을 판단하면 차량 제어 시스템을 GPS 기반 선행 차량 거리 데이터를 사용하는 것으로 전환한다. 이 시스템을 통해 Cut-in 상황에서도 선행 차량 추종 시스템을 제어할 수 있다.


4. 실험 결과

실험 차량은 캠시스사 초소형 전기차를14) 자율주행 시스템으로 개조하여 사용하였다. 차량 환경 센서 설정은 다음과 같다. 비전 센서는 위드 로봇사의 O-Cam-1CGN를 사용하였다. GPS 센서는 U-Blox 사의 C94-M8P를 사용하였다. 위 센서 데이터 값을 주기적으로 차량에 송신하기 위해 PEAK-SYSTEM사의 PCAN-USB를 사용하였다. PC의 운영체제는 Ubuntu를 사용하였다. Ubuntu의 ROS Kinetic의 환경에서 실험을 진행하였으며, PC는 CPU-I7-7700HQ (2.60 Hz), GPU는 GTX-1050을 사용하였다. 실험 장소는 충북대학교 오창 성능시험장에서 진행하였다. 실험 결과는 인지 데이터인 인공표식 검출 결과와 선행 차량을 추종하는 차량 제어 결과로 나누어 설명한다.

4.1 인공표식 검출 결과

인지 부분에서 사용한 인공표식 추적 알고리즘 성능 평가이다. 충북대학교 오창 성능시험장에서 선행 차량 추종 상황인 이미지 프레임 3,908장(Table 2)을 평가 데이터로 구축하였다. 평가 방법은 Ground Truth 데이터를 제작하여 인공표식 인식 성능을 테스트 데이터에 따른 혼동행렬을 이용하여 비교하였다. 결과는 인공표식의 중심 값 추적 정확률 97.76 %의 값(식 21) 을 도출하였다. 선행 차량이 주행 중에 인공표식이 사라지는 상황이 발생한 경우는 Fig. 14(a)와 같다. 이는 361장이 발생하였다. 이러한 경우는 선행 차량이 급격히 횡 방향으로 이동하는 상황에서 발생하였다. 인공표식이 카메라 이미지 상에서 사라지는 경우에 Kalman Filter를 통해 인공표식에 위치를 추정하여 실시간 추종 차량 제어 시스템에 문제를 보완하였다. 선행 차량이 주행 중에 인공표식의 일부분이 잘린 상황이 발생한 경우는 Fig. 14(b)와 같다. 이는 76장이 발생하였다. 이러한 경우는 인공표식의 중심 값이 이전 프레임에서의 값보다 크게 변화를 가진 경우 현재 추종 차량의 속도 변화량과 비교하여 오류 값으로 판단하고, 실시간으로 인공표식을 다시 탐색하고, Cam-Shift를 통해 인지한 후에 추적 과정을 보정하였다. 그 결과 실시간 선행 차량 추종 제어가 성공적으로 구현되었다.

Precision=True PositiveTrue Positive+False Positive(21) 
Table 2 
Artificial landmark 3,908 image tracking result
Number of true positive 3,316
Number of true negative 361
Number of false positive 76
Number of false negative 229
Number of precision 97.76 %


Fig. 14 
(a) True Negative case, (b) False Positive case

4.2 선행 차량 추종 시스템 차량의 속도 제어 결과

선행 차량을 추종17)하는 상황에서 식 (15), (16), (17)을 계산하여 선행 차량의 속도를 추정하였다. 충북대학교 오창 성능시험장에서 선행 차량에 속도를 추정하고, 추종 차량 속도를 제어한 결과이다. 선행 차량을 실선으로 표시하고, 추종 차량은 점선으로 표시한 결과는 Fig. 15와 같다.


Fig. 15 
Comparison curve of following and forward vehicle velocity

4.3 Cut-in 상황 시스템 판단

Cut-in 상황 발생 시에 인공표식과 GPS 거리 데이터를 사용하여 판단한다. 선행 차량과의 거리에 따라 차량을 제어 중에 다른 차량이 대열에 진입하게 되면 인공표식을 인식할 수 없는 상황이 된다. 이 때 차량은 우선적으로 선행 차량의 GPS 위치를 확인한다. 선행 차량이 주행 중인 경우이고, 인공표식이 인식되지 않는다면 Cut-in 상황으로 판단한다.

4.4 인공표식 및 GPS 시스템 기반 선행 차량과의 거리 결과

3.2에서 제안한 방법으로 선행 차량과 추종 차량 GPS 기반 거리 데이터와 2.1에서 제안한 인공표식 기반 선행 차량과 거리 데이터 결과는 Fig. 16과 같다.


Fig. 16 
Forward vehicle distance

4.5 선행 차량 추종 시스템 차량의 종·횡 방향 제어 결과

3장에서 제안한 선행 차량 추종 시스템 성능을 확인하기 위해 충북대학교 오창 성능시험에서 종·횡 방향 상황에 대한 다양한 시뮬레이션을 수행하였다. 선행 차량을 추종하는 차량의 시스템 검증을 위해 선행 차량과 선행 차량을 추종하는 차량에 GPS15) 2대를 설치하였다. 종·횡 방향 차량 제어 검증에 사용된 GPS 모델은 C94-M8P를 사용하였다. 주기는 5 Hz로 설정하였다.

선행 차량 추종 상황에서의 두 차량의 GPS 좌표를 받고, 각각의 GPS 값을 비교16)하였다. 실험 결과는 Fig. 17과 같다. 선행 차량의 경로(GPS 값)를 검정색 실선으로 표시하고, 추종 차량의 경로(GPS 값)를 회색 점선으로 표시하였다. 선행 차량을 추종하는 과정에서 추종 제어 차량의 종 방향 GPS 오차는 평균 0.23 m, 횡 방향 GPS 오차는 평균 0.64 m의 값을 구하였다.


Fig. 17 
Comparison gps trajectory of following and forward vehicle


5. 결 론

도심 환경의 저속 주행 구간에서 선행 차량 추종 연구를 위해 다양한 상황에서 실험18)을 진행하였다. 카메라로 선행 차량에 부착된 인공표식을 인지하였다. GPS 기반 거리 추정 시스템을 추가하여 선행 차량과의 거리 시스템에 안전성을 추가하였다. 선행 차량 추종 중에 Cut-in 상황이 발생한다면 두 데이터를 활용하여 추종 차량을 멈추지 않고, 제어하는 실험을 진행하였다. Cut-in 상황을 판단하고, 종 방향 제어기 시스템을 GPS 거리 기반 모드로 변경하여 Cut-in 상황에서도 선행 차량을 추종하는 결과를 얻었다. 두 데이터를 바탕으로 선행 차량의 상태에 따라 선행 차량을 추종하는 차량을 종·횡 방향으로 제어함으로써 실험적인 결과 값을 구하였다. 선행 차량에 부착된 인공표식을 인지할 때에 Table 2에 해당되는 인공표식을 찾지 못한 상황에서 Kalman filter를 사용하여 이전 프레임 정보로부터 현재 인공표식의 위치 정보를 예측한다. 선행 차량이 급격히 횡 방향으로 이동하는 상황에서 인공표식이 사라질 때 발생하는 오차는 인공표식이 다시 탐색되면 Cam-Shift를 통해 인지한 후에 추적 과정을 보정하기 때문에 실시간 선행 차량 추종 제어에 있어 문제가 없었다. 선행 차량을 인지한 후 추적하는 것이 아닌 인공표식을 인지한 후 추적함으로써 종 방향 상황의 차량 추종 제어를 구현하였다. 선행 차량을 추종하는 상황 중에 횡 방향 제어가 필요한 상황에서 추종하는 차량의 속도가 8 kph일 때 횡 방향 GPS 오차가 최대 1.31 M까지도 발생했다. 향후에는 Cut-in 상황이 발생했을 때 선행 차량에게 Cut-in 상황을 알리는 메시지를 구현하고, 선행 차량이 차선을 변경하여 주행하면 추종 차량도 차선을 변경하여 추종하는 시스템을 구현하고자 한다. 또한 선행 차량과 추종차량의 Yaw 값을 실시간으로 비교하여 추종 시스템에 안전성을 더하는 연구를 진행할 예정이다.


Acknowledgments

이 논문은 2019년도 정부(산업부)의 재원으로 한국산업기술진흥원의 지원을 받아 수행된 연구임(No. N0002428, 미래형자동차부품 및 서비스 R&D 인력양성 및 산학연계형 생태계 구축). 이 논문은 2015 학년도 충북대학교 학술연구지원사업의 연구비 지원에 의하여 연구되었음(This work was supported by the research grant of the Chungbuk National University in 2015).


References
1. S. Tsugawa, “An Overview on an Automated Truck Platoon within the Energy ITS Project,” IFAC Symposium on Advances in Automotive Control, pp.71-77, 2013.
2. J. Y. Zuo, Y. Liang, Q. Pan, C. H. Zhao and H. C. Zhang, “Camshift Tracker Based on Multiple Color Distribution Models,” Acta Automatic Sinica, Vol.34, No.7, pp.736-742, 2008.
3. C. H. Park, J. Y. Kim and S. C. Kee, “A Study on the Traffic Light Recognition Based On Region Of Interest for Urban Autonomous Driving,” KSAE Fall Conference Proceedings, pp.777-778, 2017.
4. C. P. W. Kelvin, Z. Hou, W. Gong, R. McCann and R. Strickland, “Kalman Filter-Based Tracking System for Automated Inventory of Roadway Signs,” Transportation Research Record, Vol.19, pp.1-9, 2006.
5. R. Girshick, J. Donahue, T. Darrell and J. Malik, “Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation,” 2014 IEEE Conference On Computer Vision and Pattern Recognition, Columbus, pp.580-587, 2014.
6. Y. Kang, S. Bong, H. Jang, D. Kim and K. Park. “Study on the Development of Pedestrian Information Detection based on the Stereo Vision and Validation Environment for Image Processing Algorithm,” KSAE Spring Conference Proceedings, pp.1124-1129, 2016.
7. W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C. Y. Fu and A. C. Berg, “SSD: Single Shot MultiBox Detector,” European Conference on Computer Vision 2016, Amsterdam, pp.21-37, 2016.
8. Y. K. Kim, B. Y. Hyeon, Y. W. Cho and K. S. Seo, “Robust Tracking Algorithm for Moving Object using Kalman Filter and Variable Search Window Technique,” Journal of Institute of Control, Robotics and Systems, Vol.18, No.7, pp.673-679, 2012.
9. J. Redmon, S. Divvala, R. Girshick and A. Farhadi, “You Only Look Once:Unified, Real-Time Object Detection,” The IEEE Conference on Computer Vision and Pattern Recognition(CVPR), pp.779-788, 2016.
10. J. Kong, M. Pfeiffer, G. Schildbach and F. Borrelli, “Kinematic and Dynamic Vehicle Models for Autonomous Driving Control Design,” 2015 IEEE Intelligent Vehicles Symposium(IV), pp.1094-1099, 2015.
11. C. H. Park and S. C. Kee, “A Intersection Driving System Implementation Based On Sensor and Coordinates Map for Urban Autonomous Driving,” KSAE Fall Conference Proceedings, pp.722-728, 2018.
12. D. Corona and B. D. Schutter, “Adaptive Cruise Control for a SMART Car: A Comparison Benchmark for MPC-PWA Control Methods,” IEEE Transactions On Control Systems Technology, Vol.16, No.2, pp.32-41, 2008.
13. E. Chanl, P. Gilhead, P. Jelinek, P. Krejci and T. Robinson, “Cooperative Control of SARTRE Automated Platoon Vehicles,” ITS World Congress Motorway, Austria, pp.48-52, 2012.
14. CAMMSYS, CEVO-C, https://www.cevo.co.kr, 2019.
15. T. Schonberg, M. Ojala, J. Suomela, A. Torpo and A. Halme, “Positioning an Autonomous Off-road Vehicle by Using Fused DGPS and Inertial Navigation,” IFAC Conference on Intelligent Autonomous Vehicles, Finland, Vol.28, No.11, pp.226-231, 1995.
16. W. Qin, M. Gomez and G. Orosz, “Stability Analysis of Connected Cruise Control with Stochastic Delays,” IEEE American Control Conference, pp.462-446, 2014.
17. S. Li, K. Li, R. Rajamani and J. Wang, “Model Predictive Multi-objective Vehicular Adaptive Cruise Control,” IEEE Transactions On Control Systems Technology, Vol.19, No.3, pp.556-566, 2011.
18. S. J. Lee and S. C. Kee, “The New Detection Algorithm for an Obstacle’s Information in Low Speed Vehicles,” The 11th International Conference on Computer Vision Systems, Shenzhen, 2017.