The Korean Society Of Automotive Engineers
[ Article ]
Transactions of the Korean Society of Automotive Engineers - Vol. 31, No. 10, pp.737-747
ISSN: 1225-6382 (Print) 2234-0149 (Online)
Print publication date 01 Oct 2023
Received 21 Mar 2023 Revised 15 Jun 2023 Accepted 16 Jun 2023
DOI: https://doi.org/10.7467/KSAE.2023.31.10.737

자율주행을 위한 경로 추종 제어 시스템의 설계와 구현

김지훈1) ; 백민진1) ; 응우옌티호아이투2) ; 한동석*, 2)
1)경북대학교 ICT⋅자동차융합연구센터
2)경북대학교 전자전기공학부
Design and Implementation of a Path Following Control System for Automated Driving
Ji Hoon Kim1) ; Minjin Baek1) ; Nguyen Thi Hoai Thu2) ; Dong Seog Han*, 2)
1)Center for ICT and Automobile Convergence, Kyungpook National University, Daegu 41566, Korea
2)School of Electronic and Electrical Engineering, Kyungpook National University, Daegu 41566, Korea

Correspondence to: *E-mail: dshan@knu.ac.kr

Copyright Ⓒ 2023 KSAE / 215-01
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.

Abstract

Automated driving, considered the centerpiece of future mobility technology, relies heavily on an accurate and reliable vehicle control system. In this paper, we present the design and implementation of a driving control system, emphasizing the realization of automated driving capabilities on a commercially available vehicle platform. By utilizing step motors as actuators, control is exerted over the steering wheel as well as the brake and accelerator pedals of the test vehicle. The high-level and low-level controllers are implemented to gain longitudinal and lateral vehicle control, enabling the test vehicle to reliably follow the planned driving path. Both low-speed and normal-speed driving scenarios with varying road curvatures are considered in the evaluation of the path-following control. The results from the performance evaluation demonstrate that the proposed approach achieves the necessary path-following control performance for automated driving.

Keywords:

Automated driving, Driving control, Lateral control, Longitudinal control, Path following

키워드:

자율주행, 주행 제어, 횡방향 제어, 종방향 제어, 경로 추종

1. 서 론

교통사고 발생 원인의 90 % 이상은 인간의 실수나 착오, 부주의 등에 의한 것이다.1) 이러한 교통사고의 예방과 인간의 안전 및 편의 증진을 위해 자율주행에 관한 연구가 국내⋅외에서 활발하게 진행되고 있다.2-6) 자율주행차량은 인간의 개입 없이 차량 스스로 외부환경을 인지, 판단하고 경로계획을 하여 계획된 경로를 따라 목적지까지 안전하게 주행하는 차량을 의미한다.

자율주행의 필수요소는 인지, 측위, 판단, 경로계획 및 제어로 나눌 수 있다. 인지와 측위는 차량에 설치된 다양한 센서들에서 수집된 정보로부터 주변 환경과 자기 차량의 위치를 파악하는 것이다. 판단과 경로계획은 인지와 측위의 결과로부터 현재의 상태를 파악하고 주변 교통 참가자들과의 상호작용, 예측 등을 통해 목적지까지의 경로를 계획하는 것이다. 제어는 계획된 경로를 자율주행차량이 정확하고 안전하게 추종할 수 있도록 차량에 적절한 조작을 가하는 것이다.

본 연구에서는 자율주행차량이 계획된 경로를 추종하도록 하기 위한 주행 제어를 다룬다. 자율주행차량의 주행 제어는 인지, 측위 및 판단의 결과로부터 계획된 경로를 따라 차량이 추종하게 하는 것을 의미하며 경로 추종 방법은 크게 동역학적인 방법과 기하학적인 방법으로 나눌 수 있다. 동역학적인 방법은 차량, 타이어 및 노면 등의 다양한 동역학을 고려하므로 우수한 경로 추종 성능을 가지지만 다루어야 할 변수가 많고 설계가 복잡하며 연산 부하가 큰 특징이 있다. 대표적인 알고리즘으로 모델 예측 제어(Model predictive control) 방법7)이 있다. 기하학적인 방법은 다양한 동역학을 고려하지 않으므로 상대적으로 추종 성능은 떨어지지만, 설계가 단순하고 적용이 쉬워서 경로 추종에 널리 사용되고 있으며 단점을 극복하기 위한 다양한 연구가 진행되고 있다.8-10) 대표적인 알고리즘에는 Pure pursuit,11) Stanley2) 방법 등이 있다.

주행 관련 연구는 안전 확보와 다양한 환경에서의 검증을 위하여 가상환경 기반 시뮬레이션12)을 이용하거나 실험을 위한 실제 차량6)을 활용하여 진행되고 있다. 실제 차량을 활용한 자율주행 제어는 상위 제어기와 하위 제어기로 나눌 수 있다. 상위 제어기는 센서에서 획득한 데이터와 계획된 경로로부터 차량의 목표 속도, 목표 조향각 등을 결정하는데, 앞서 언급한 경로 추종 알고리즘이 이에 해당한다. 하위 제어기는 상위 제어기에서 출력하는 목표값들을 차량이 추종하도록 하기 위한 것으로 액추에이터와 그 힘을 전달하는 장치 등을 포함할 수 있다. 최근 자동차 제조사에서는 바이 와이어(X-by-wire) 시스템을 통하여 기존의 유압 및 기계 장치를 전기적 신호로 대체한 하위 제어기를 사용하여 첨단 안전장치와 주행보조 등의 기능을 구현하는 지능형 자동차를 생산하고 있다. 실제 차량으로 경로 추종 연구를 수행하기 위한 하위 제어기의 구현 방법에는 크게 기존 차량에 구현된 바이 와이어 시스템을 활용하는 방법6)과 외부에서 제어 가능한 액추에이터를 추가하는 방법9)이 있다.

본 논문의 주요 내용은 자율주행의 필수요소 중 하나인 경로 추종 제어 시스템을 설계 및 개발하여 일반 차량에 적용하는 것이다. 자율주행차량의 목표 속도 및 조향각 추종을 위해 가⋅감속 페달과 조향 핸들(Steering wheel)을 조작하도록 하였으며, 이를 위한 액추에이터로 스텝모터를 사용하였다.13) 스텝모터의 구동력을 페달과 조향 핸들에 전달하기 위하여 각각 체인과 타이밍 풀리 및 벨트를 사용하였다. 각 스텝모터의 동작에 따른 차량의 거동을 파악하기 위해 실차 실험을 수행하였고 목표값에 따른 스텝모터의 적절한 동작을 위한 종방향과 횡방향 주행 제어 알고리즘을 개발하였다. 그리고 주행 제어시스템의 파라미터값을 조정하기 위해, 사전에 계획된 경로를 기준 경로로 주행 실험을 수행하였다. 자율주행 제어시스템의 유용성을 확인하기 위해 대학교 캠퍼스 내 도로 주행 환경에서 회전 구간이 많고 주행 속도가 상대적으로 낮은 주차장 내 주행 시나리오와 직진 구간이 많고 일반적인 주행 속도를 적용한 건물 간 도로 주행 시나리오를 활용하여 실차 검증하였다.


2. 실험 차량 및 주행 제어시스템

자율주행차량이 목표 속도와 목표 조향각에 대하여 만족스러운 추종 성능을 가지기 위해서는 목표값들에 대하여 신속하고 정확한 응답이 가능한 주행 제어시스템이 요구된다. Fig. 1은 본 논문에서 다루는 주행 제어시스템의 전체적인 개념도이다. 인지, 측위, 판단 및 경로계획의 출력은 상위 제어기에 입력되며 상위 제어기는 그 입력에 따라 적절한 목표 속도와 조향각을 출력한다. 다시 그 출력은 하위 제어기에 입력되며 하위 제어기에서는 차량의 CAN(Controller Area Network) 버스에서 획득한 데이터를 함께 활용하여 차량이 목표 경로를 추종하기 위한 신호를 액추에이터에 보내고, 이에 따라 차량이 목표 경로를 따라 주행하게 된다. 본 연구에서는 하위 제어기의 출력에 따라 가⋅감속 페달과 조향 핸들을 조작하기 위하여 3대의 스텝모터를 액추에이터로 사용했으며 스텝모터의 구동력을 페달과 조향 핸들에 전달하기 위하여 각각 체인과 타이밍 풀리 및 벨트를 사용하였다. 주행 제어시스템의 구현과 경로 추종 실험 및 성능 평가를 위해 기아 쏘울 EV(Fig. 2) 차량을 사용하였으며 해당 차량의 주요 제원은 Table 1과 같다. 실험 차량의 주행 제어시스템은 종방향과 횡방향 주행 제어시스템으로 구분할 수 있다.

Fig. 1

Schematic diagram for the driving control system

Fig. 2

Automated driving test vehicle

Specifications of the test vehicle

2.1 종방향 주행 제어시스템

종방향 주행 제어시스템은 자율주행차량이 목표 속도로 주행하게 하는 시스템이다. 운전자는 차량의 속도를 높이기 위하여 가속 페달을 밟고 차량의 속도를 줄이기 위하여 감속 페달을 밟음으로써 원하는 속도로 주행할 수 있다. 일반적으로 차량의 가⋅감속 페달은 페달을 밟기 위해서 힘이 필요하고, 페달에서 발을 떼면 페달이 원래 위치로 복귀하는 작동 구조를 가진다. 종방향 주행 제어시스템에도 이와 유사한 원리를 적용하기 위해, Fig. 3과 같이 스텝모터와 체인을 설치하여 스텝모터의 구동력이 체인을 통해 페달에 전달되도록 하였다. 따라서, 스텝모터를 시계방향으로 회전시키면 페달이 눌러지게 되고, 반시계 방향으로 회전시키면 페달이 원래 위치로 복귀하게 된다.

Fig. 3

Step motors and chains to control the accelerator and brake pedals

2.2 횡방향 주행 제어시스템

횡방향 주행 제어시스템은 자율주행차량의 전륜이 목표 조향각을 추종하여 목표 경로로 주행하도록 하는 시스템이다. 본 연구에 사용한 실험 차량은 Table 1과 같이 랙 앤 피니언(Rack and pinion) 방식의 조향 시스템을 가진다. 차량의 전륜이 목표 조향각을 추종하도록 하기 위하여 Fig. 4와 같이 스텝모터의 구동력이 타이밍 풀리와 벨트를 통해 조향 핸들에 전달되도록 하였다. 스텝모터를 조향 핸들에 고정하기 위하여 Fig. 4의 오른쪽에 나타낸 부품들을 사용하였다.

Fig. 4

Step motor and timing pulley to control the steering wheel

Table 2는 실험 차량의 조향장치 제원을 나타내고 있으며 이를 이용하여 전륜의 목표 조향각을 얻기 위한 스텝모터의 회전 각도를 계산할 수 있다. 예를 들어 차량의 전륜을 차량 진행 방향의 오른쪽으로 1˚만큼 회전시킨다고 할 때, 스텝모터는 1˚ × 12.5 × 8.33 ≈ 104˚만큼 시계방향으로 회전시켜야 한다는 것을 계산할 수 있다.

Specifications of the steering system

2.3 액추에이터

종방향과 횡방향 주행 제어시스템이 목표 속도와 목표 조향각에 따라 차량의 가⋅감속 페달과 조향 핸들을 구동하기 위해서는 액추에이터가 필요하다. 본 연구에서는 가⋅감속 페달과 조향 핸들을 구동하기 위한 액추에이터로 스텝모터를 사용하였다. 스텝모터는 펄스 모양의 전압에 의해 로터(Rotor)가 일정 각도만큼 회전하는 모터로, 모터의 회전 각도는 입력 펄스 신호의 수에 비례하고 모터의 회전속도는 입력 펄스 신호의 주파수에 비례한다. 일반적으로 스텝모터는 가격이 저렴하고 엔코더(Encoder)가 필요 없기에 적용이 쉬우나 정밀도는 낮은 특징을 가진다. 본 연구에서는 기존 스텝모터의 정밀도를 개선한 오리엔탈모터의 스텝모터(AZM66AK-PS7.2)를 액추에이터로 선정하였다. Table 3은 본 연구에서 사용한 스텝모터의 주요 제원14)이고, Fig. 5는 해당 스텝모터의 모습과 토크-속도 특성곡선을 나타낸다.

Specifications of the step motor

Fig. 5

(a) Step motor used in this study and (b) torque-speed characteristics of the step motor14)

회전량이 큰 조향 핸들과 연결된 스텝모터에는 DC 48 V 전원을 사용하여 빠른 회전에서도 상대적으로 큰 토크를 얻을 수 있게 하였다. 이 스텝모터는 약 290 rpm의 회전속도로 설계하였으며 조향 핸들을 1초 동안 최대 210˚만큼 회전할 수 있도록 하여 일상적인 주행영역에서의 조향에 대응할 수 있도록 하였다. Table 3에 나타낸 대로 스텝모터는 0.05˚의 분해능을 가지므로 스텝모터의 축이 1˚회전하기 위해서는 20개의 펄스 신호가 필요하다. 차량의 가⋅감속 페달은 작동범위가 10 cm 내외로 짧고 페달에 연결된 스텝모터는 높은 토크를 요구하지 않으므로 DC 24 V 전원을 사용하였다. 그리고 과도한 스텝모터의 조작으로 차량의 페달과 조향 핸들이 기계적인 부하에 노출되거나 파손되는 것을 방지하기 위해 페달과 조향 핸들의 작동범위를 초과하지 않도록 하였다.

본 연구에 사용된 모션 제어기, 모터 드라이버 및 직류전원 장치는 Fig. 6과 같다. 여기서 3대의 모터를 동시에 제어하기 위한 모션 제어기는 모터 드라이버와 전용케이블로 연결하였고, 모션 제어기는 하위 제어기가 내장된 컴퓨터와 이더넷 케이블로 연결하였다.

Fig. 6

Connection of the motor drivers, motion controller, and power supplies


3. 주행 제어 알고리즘

이 절에서는 계획된 경로를 추종하기 위한 목표 조향각을 산출하는 상위 제어기와 가⋅감속 페달과 조향 핸들에 설치된 스텝모터들을 구동하기 위한 하위 제어기에 대하여 다룬다. 본 연구에서 고려하는 차량 모델은 애커만(Ackerman) 조향각을 가지는 차량을 단순화시킨 자전거 모델(Bicycle model)이며 차량은 저속으로 주행하고 타이어의 슬립은 없는 것으로 가정한다.5,11) 주행 중인 차량의 타이어의 슬립은 타이어의 횡방향 힘과 관계가 있으며 타이어의 횡방향 힘은 차량 속도의 제곱과 차량의 질량에 비례하고 주행 경로의 반지름에 반비례한다. 일반적으로 고속에서는 타이어의 횡방향 힘이 커서 타이어의 슬립을 무시할 수 없지만 저속에서는 횡방향 힘이 적으므로 슬립을 무시할 수 있다.

3.1 상위 제어기

본 연구에서 상위 제어기는 기하학적 추종 방법에서 널리 사용되는 Pure pursuit 방법을 사용한다. Pure pursuit 방법은 Fig. 7과 같이 차량의 현재 위치와 진행 방향을 알 때, 전방주시거리(Look-ahead distance)를 적절하게 결정하여 계획된 경로상에 목표점(Target point)을 선정하고 차량 후륜의 중심축이 목표점을 추종하기 위한 전륜의 조향각을 얻는 것이다.11)

Fig. 7

Pure pursuit method

Fig. 7에 나타낸 전륜 조향각 δ는 다음과 같이 표현할 수 있다.

δ=tan-1LR(1) 

여기서 L은 축거(Wheelbase)이고, R은 회전반경이다. 한편, 목표점과 원의 중심 그리고 후륜의 중심축으로 이루어진 삼각형에 사인법칙을 적용하면 다음의 식을 얻을 수 있다.

Ldsin2α=Rsinπ/2-α(2) 

여기서 Ld는 전방주시거리이고 α는 차량의 진행 방향과 전방주시거리 사이의 각도이다. 식 (2)는 삼각함수의 덧셈정리 및 각 변환을 사용하여 다음과 같이 표현할 수 있다.

Ld2sinαcosα=Rcosα(3) 

식 (3)을 회전반경 R에 대해 정리하면 다음과 같다.

R=Ld2sinα(4) 

식 (4)식 (1)에 대입하면, 전륜 조향각 δ는 다음과 같이 표현할 수 있다.

δ=tan-12LsinαLd(5) 

Pure pursuit 방법에서 전방주시거리는 주요 파라미터 중 하나이고 전방주시거리의 선정에 따라 차량의 거동이 달라진다. 일반적으로 전방주시거리가 짧으면 목표점이 차량에 가깝게 선정되어 차량이 빠르게 경로로 들어올 수 있지만, 조향각의 변화가 급격해지고 과도한 경우에는 차량의 거동이 불안정해질 수도 있다. 반대로 전방주시거리가 길면 목표점이 차량에서 멀리 선정되어 조향각의 변화가 적고 차량의 거동은 안정적이지만 곡선 경로에서 코너커팅(Corner cutting) 현상으로 인해 경로 추종 성능이 저하된다.

적절한 전방주시거리의 선정을 위한 연구가 진행되어왔으며 초기에는 기하학적으로 계산된 고정된 전방주시거리를 사용하였으나 이후의 연구에서는 속도의 함수로 전방주시거리를 결정하였다.11,15) 즉, 차량의 속도가 느린 경우에는 전방주시거리를 상대적으로 짧게 선정하고 빠른 경우에는 길게 선정하도록 하였다. 본 연구에서는 최대⋅최소 전방주시거리 내에서 속도에 비례하는 전방주시거리를 갖는 Pure pursuit 방법을 사용하였다.

3.2 하위 제어기

하위 제어기는 자율주행차량이 목표 경로를 추종할 수 있도록 액추에이터를 통해 페달과 조향 핸들에 지속적으로 적절한 조작을 가한다. 이를 위하여 하위 제어기는 상위 제어기로부터 목표 속도와 조향각을 입력으로 받고, CAN 버스로부터 차량의 현재 속도, 조향 핸들의 각도, 각 페달이 눌린 깊이 등의 정보를 실시간으로 획득할 수 있어야 한다.

하위 제어기에서 종방향과 횡방향 제어 알고리즘을 개발하기 위하여 각 스텝모터의 동작에 따른 차량의 거동을 파악하기 위한 실험을 수행하였다. 미리 계획된 경로를 이용한 경로 추종 실험을 통하여 하위 제어기의 파라미터들을 결정하였으며 차량이 목표 경로를 추종하도록 하는 종방향과 횡방향 제어 알고리즘을 개발하였다.

효율적인 파라미터 조정을 위해 Fig. 8과 같이 스텝모터의 연결, 파라미터값 설정, 동작 제어 및 CAN 신호 확인을 위한 GUI(Graphic User Interface)를 개발하였다. GUI 화면의 ‘3. Setting’에는 각 스텝모터의 주요 파라미터 설정값을 입력한다. 여기서 PPR(Pulse Per Revolution)은 모터 1회전당 펄스 수로 모터의 분해능을 의미하며 7,200 pulse/rev으로 설정하였고, UPR(Unit Per Revolution)은 모터 1회전당 단위 이송량으로 페달 조작 스텝모터는 251 mm로, 조향 핸들을 조작하는 스텝모터는 360˚로 설정하였다. Velocity는 초당 펄스 수로 모터의 회전속도를 의미하며 가속, 감속 및 조향 핸들에 대하여 각각 1,000, 1,000, 35,000 pulse/sec로 설정하였다. ‘5. CAN’에는 CAN 버스에서 얻은 가⋅감속 페달의 깊이, 차량의 현재 속도 및 조향 핸들의 방향과 각도 등이 표시되도록 하였다.

Fig. 8

GUI screen for monitoring CAN data and controlling step motor parameters

본 연구에서 개발한 횡방향 제어 알고리즘은 자율주행차량의 전륜 조향각이 목표 조향각을 추종하도록 하는 스텝모터의 동작에 대한 것으로 Fig. 9는 횡방향 제어 알고리즘의 흐름도를 보여준다. 본 연구에서 횡방향 제어는 차량의 전륜 조향각이 상위 제어기의 출력인 목표 조향각을 추종하기 위해 필요한 스텝모터의 회전 방향과 각도를 계산하여 스텝모터를 구동함으로써 차량의 조향 핸들 및 전륜 조향각이 적절히 조작되도록 개발하였다. 조향 명령 전달 시 이전 명령 수행을 위해 스텝모터가 동작하고 있는 경우, 동작방향이 이전 명령과 같으면 오버라이드를 통해 목표 조향각을 변경하고, 동작 방향이 다르면 스텝모터에 가해지는 부하를 줄이고 탈조 현상을 방지하기 위하여 이전 명령에 대한 동작이 완료될 때까지 기다리도록 구현하였다.

Fig. 9

Lateral control algorithm flowchart

종방향 제어 알고리즘은 Fig. 10에 나타낸 것과 같다. 상위 제어기의 출력인 목표 속도를 차량이 추종하기 위해, 목표 속도와 CAN 버스에서 획득한 차량의 현재 속도, 가속 페달과 감속 페달의 깊이 등의 정보를 이용하여 다양한 주행 상황에서 요구되는 가속력과 감속력을 얻을 수 있도록 가⋅감속 페달의 깊이 조정을 통해 차량이 목표 속도를 추종하도록 구현하였다. 목표 속도가 현재 속도보다 높은 경우, 감속 페달을 밟고 있고 차량 속도가 증가하고 있으면 감속 페달 깊이를 유지하고 그렇지 않다면 감속 페달 깊이를 감소시킨다. 만약 감속 페달을 밟고 있지 않고 차량 속도가 증가하고 있으면 가속 페달 깊이를 유지하고 그렇지 않다면 가속 페달 깊이를 증가시킴으로써 차량을 목표 속도까지 가속할 수 있다. 또한, 목표 속도가 현재 속도보다 낮은 경우, 가속 페달을 밟고 있고 차량 속도가 감소하고 있으면 가속 페달 깊이를 유지하고 그렇지 않다면 가속 페달 깊이를 감소시킨다. 만약 가속 페달을 밟고 있지 않고 차량 속도가 감소하고 있으면 감속 페달 깊이를 유지하고 그렇지 않다면 감속 페달 깊이를 증가시킴으로써 차량을 목표 속도까지 감속시킨다. 이와 같은 방식으로 평지 도로에서뿐만 아니라 경사가 있는 도로에서도 실험 차량이 목표 속도를 적절히 추종할 수 있도록 구현하였다.

Fig. 10

Longitudinal control algorithm flowchart


4. 주행 실험 및 결과

4.1 실험 환경 및 주행 실험 경로

실차 기반의 경로 추종 성능 평가를 위해 본 논문에서 기술한 자율주행 제어시스템을 기아 쏘울 EV 차량에 구현하였으며, 실험 환경은 Table 4와 같이 구성하였다. 경로 추종 실험에 앞서 정확한 차량 위치 산출을 위해 라이다 및 IMU(Inertial Measurement Unit)를 활용하여 점 지도(Point map)를 구축하고, 실시간 라이다 스캔에 3차원 NDT(Normal Distributions Transform) 스캔 매칭 기법16,17)을 적용하여 차량의 위치 및 주행 방향을 산출하는 방식의 자율주행 정밀 측위 기술을 구현하였다.18) 실험 차량의 지붕 상단에 Ouster OS1-128 라이다 센서를 장착하여 실시간 라이다 데이터를 획득하였고, 차량에 탑재하여 실험에 사용한 컴퓨터는 Intel Core i9-9900K CPU, Nvidia Titan RTX, 32 GB RAM으로 구성하였으며, Ubuntu 18.04, ROS, Autoware19) 등의 오픈소스 소프트웨어를 제안 시스템 개발에 활용하였다. 차량의 현재 속도, 가⋅감속 페달 깊이 및 조향 핸들의 각도 등 차량의 정보는 CAN 버스로부터 실시간으로 획득하여 사용하였다.

Experiment setup

자율주행 제어시스템의 경로 추종 성능을 평가하기 위하여 경북대학교 대구캠퍼스의 학생주차장과 IT대학 1호관에서 사범대학 사이의 도로를 실험 경로로 선정하여 각각 5회의 경로 추종 실험을 수행하였다. 본 연구에서는 자율주행 제어시스템의 경로 추종 성능을 평가하기 위한 평가 지표로써 경로 추종 오차를 산출하였다. 여기서 경로 추종 오차는 차량이 목표 경로에서 떨어진 거리로, 차량 후륜의 중심과 가장 가까운 경로상의 위치와의 거리를 계산하였다. 경로 추종 성능 평가를 위해 선정한 두 개의 주행 실험 경로는 Fig. 11에서 노란색 실선으로 나타낸 것과 같다. 첫 번째 실험 경로(Test course 1)는 주차장 내 도로를 반시계 방향으로 한 바퀴 주행하는 경로이고 두 번째 실험 경로(Test course 2)는 IT대학 1호관에서 출발하여 사범대학 앞까지의 도로를 주행하는 경로이다.

Fig. 11

Test courses for the driving experiments

4.2 주행 실험 결과 및 분석

4.2.1 실험 시나리오 1 : 주차장 내 주행

첫 번째 실험 시나리오는 Fig. 11의 상단에 보이는 것과 같이 주차장 내 도로를 반시계 방향으로 한 바퀴 주행하는 경로로, 약 270 m의 거리를 10 km/h 내외의 속도로 주행하는 것이다. 일반적으로 경로 추종 성능은 주행 경로의 특성에 민감하므로 해당 실험 경로를 다음과 같이 1-A에서 1-E까지 5개의 구간으로 구분하여 평가하였다. 정지상태에서 가속하여 속도를 유지하는 직진 구간(1-A), 곡률이 거의 일정한 회전 구간(1-B), 등속 직진 구간(1-C), 곡률이 변하는 회전 구간(1-D) 및 속도를 유지하다가 정지하는 직진 구간(1-E)이다.

첫 번째 실험 시나리오에서 목표 경로와 5회의 경로 추종 실험의 결과는 Fig. 12와 같으며 전체 주행 실험 경로에 대하여 평균 0.16 m의 추종 오차를 확인하였다. 그러나 회전 구간인 1-B와 1-D 구간에서는 Pure pursuit의 코너커팅 현상으로 인해 추종 성능이 저하되었다. Fig. 13은 목표 경로와 5회의 경로 추종 실험의 결과 중에서 1-D 구간의 일부를 확대하여 나타낸 것이다. 이는 전체 경로 중에서 가장 큰 곡률을 가지는 구간으로 0.99 m의 최대 오차가 발생함을 확인하였다.

Fig. 12

Path-following results from the test scenario 1

Fig. 13

Worst-case deviation in path from the test scenario 1 (driving segment 1-D)

Fig. 14는 5회의 경로 추종 실험에 대한 요레이트(Yaw rate)와 경로 추종 오차를 나타낸 것이다. 1-A, 1-C 및 1-E 구간은 직진 구간으로 요레이트와 경로 추종 오차가 상대적으로 작은 것을 확인할 수 있다. 1-B와 1-D 구간은 회전 구간으로 요레이트와 경로 추종 오차의 값이 상대적으로 커지며, 직진 구간 대비 약 10배의 평균 경로 추종 오차를 확인하였다. 첫 번째 실험 시나리오에 존재하는 5개의 구간에 대한 평균 절대 오차, 표준편차 및 최대 오차는 Table 5에 나타낸 것과 같다.

Fig. 14

(a) Vehicle yaw rate and (b) path-following error from the test scenario 1

Quantitative evaluation results for different driving segments from the test scenario 1

4.2.2 실험 시나리오 2 : 건물 간 도로 주행

두 번째 실험 시나리오는 Fig. 11에 보이는 것과 같이 IT대학 1호관에서 사범대학 사이의 도로를 주행하는 경로로, 약 350 m의 거리를 20 km/h 내외의 속도로 주행하는 것이다. 이 실험 경로를 주행 경로의 특성에 따라 다음과 같이 2-A에서 2-C까지 3개의 구간으로 구분하여 평가하였다. 정지상태에서 가속하여 속도를 유지하는 직진 구간(2-A), 완만한 곡선 구간(2-B), 속도를 유지하다 정지하는 직진 구간(2-C)이다.

두 번째 실험 시나리오에서 목표 경로와 5회의 경로 추종 실험의 결과는 Fig. 15와 같으며 전체 주행 실험 경로에 대하여 평균 0.10 m의 추종 오차를 확인하였다. 그러나 곡선 구간인 2-B 구간에서는 코너커팅 현상으로 인해 추종 성능이 저하되었다. Fig. 16은 목표 경로와 5회의 경로 추종 실험의 결과 중에서 2-B 구간의 일부를 확대하여 나타낸 것이며 이는 전체 경로 중에서 최대 오차가 발생하는 구간으로 0.47 m의 최대 오차가 발생함을 확인하였다.

Fig. 15

Path-following results from the test scenario 2

Fig. 16

Worst-case deviation in path from the test scenario 2 (driving segment 2-B)

Fig. 17은 5회의 경로 추종 실험에 대한 요레이트와 경로 추종 오차를 나타낸 것이다. 2-A 및 2-C 구간은 직진 구간으로 요레이트와 경로 추종 오차가 상대적으로 작은 것을 확인할 수 있다. 2-B 구간은 곡선 구간으로 요레이트와 경로 추종 오차의 값이 상대적으로 커지며, 직진 구간 대비 약 3배의 평균 경로 추종 오차를 확인하였다. 두 번째 실험 시나리오에 존재하는 3개의 구간에 대한 평균 절대 오차, 표준편차 및 최대 오차는 Table 6에 나타낸 것과 같다.

Fig. 17

(a) Vehicle yaw rate and (b) path-following error from the test scenario 2

Quantitative evaluation results for different driving segments from the test scenario 2


5. 결 론

본 논문에서는 일반 차량에 자율주행 기능을 구현하는 것을 목적으로 경로 추종 제어 시스템을 설계 및 개발하여 실험 차량에 적용하였다. 실험 차량이 목표 경로를 추종할 수 있도록 스텝모터를 액추에이터로 사용하여 가⋅감속 페달과 조향 핸들을 조작하였으며 이를 위한 종방향과 횡방향 주행 제어 알고리즘을 개발하였다. 사전에 계획된 경로를 목표 경로로 한 경로 추종 실험을 통하여 상위 제어기 및 하위 제어기에 대한 파라미터를 조정하였다. 주행 제어 시스템의 유용성을 확인하기 위하여 두 가지 주행 시나리오를 통해 성능을 평가하였으며, 주차장 내 주행 시나리오와 건물 간 도로 주행 시나리오에서 각각 평균 0.16 m와 0.10 m의 경로 추종 오차를 확인하였다.

추후 주행 제어시스템의 추종 성능 향상 및 안정화를 위해 다음과 같은 후속 연구를 진행할 예정이다. 먼저 Pure pursuit에서 추종 성능에 큰 영향을 미치는 전방주시거리를 차량의 속도뿐만 아니라 목표 경로의 곡률도 고려하여 가변시킴으로써 경로 추종 성능과 주행 안전감을 향상시키는 연구를 계획하고 있으며, 또한 차량이 목표 경로를 잘 추종할 수 있도록 코너커팅 현상을 감안한 수정된 경로를 새로운 목표 경로로 사용함으로써 원래의 목표 경로에 대한 차량의 추종 성능을 향상시키는 연구도 진행할 예정이다. 그리고 타이밍 풀리와 벨트의 백래시 및 핸들 유격은 데드존을 야기하여 추종 오차 증가 및 조향 응답 지연 등의 횡방향 제어에 부정적인 영향을 줄 수 있는데 이를 해결하기 위해 데드존 보상에 대한 연구가 필요하다. 추가로 강화학습 기반의 액추에이터 제어에 관한 연구를 수행할 예정이다.

Acknowledgments

A part of this paper was presented at the KSAE 2022 Fall Conference and Exhibition

이 논문은 2021년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(2021R1A6A1A03043144).

References

  • S. Singh, Critical Reasons for Crashes Investigated in the National Motor Vehicle Crash Causation Survey, No. DOT HS 812 115, 2015.
  • S. Thrun, M. Montemerlo, H. Dahlkamp, D. Stavens, A. Aron, J. Diebel, P. Fong, J. Gale, M. Halpenny, G. Hoffmann, K. Lau, C. Oakley, M. Palatucci, V. Pratt, P. Stang, S. Strohband, C. Dupont, L. E. Jendrossek, C. Koelen, C. Markey, C. Rummel, J. van Niekerk, E. Jensen, P. Alessandrini, G. Bradski, B. Davies, S. Ettinger, A. Kaehler, A. Nefian and P. Mahoney, “Stanley: The Robot that Won the DARPA Grand Challenge,” Journal of Field Robotics, Vol.23, No.9, pp.661-692, 2006. [https://doi.org/10.1002/rob.20147]
  • E. Yurtsever, J. Lambert, A. Carballo and K. Takeda, “A Survey of Autonomous Driving: Common Practices and Emerging Technologies,” IEEE Access, Vol.8, pp.58443-58469, 2020. [https://doi.org/10.1109/ACCESS.2020.2983149]
  • C. Badue, R. Guidolini, R. V. Carneiro, P. Azevedo, V. B. Cardoso, A. Forechi, L. Jesus, R. Berriel, T. M. Paixão, F. Mutz, L. de Paula Veronese, T. Oliveira-Santos and A. F. De Souza, “Self-Driving Cars: A Survey,” Expert Systems with Applications, Vol.165, No.113816, pp.1-27, 2021. [https://doi.org/10.1016/j.eswa.2020.113816]
  • H. C. Moon, M. W. Park and J. H. Kim, “A Study on the Design and Control Method for Unmanned Ground Vehicle System,” Journal of Institute of Control, Robotics and Systems, Vol.16, No.5, pp.446-455, 2010. [https://doi.org/10.5302/J.ICROS.2010.16.5.446]
  • C. Park and S. C. Kee, “Implementation of Autonomous Driving System in the Intersection Area Equipped with Traffic Lights,” Transactions of KSAE, Vol.27, No.5, pp.379-387, 2019. [https://doi.org/10.7467/KSAE.2019.27.5.379]
  • P. Falcone, F. Borrelli, J. Asgari, H. E. Tseng and D. Hrovat, “Predictive Active Steering Control for Autonomous Vehicle Systems,” IEEE Transactions on Control Systems Technology, Vol.15, No,3, pp.566-580, 2007. [https://doi.org/10.1109/TCST.2007.894653]
  • L. Yu, X. Yan, Z. Kuang, B. Chen and Y. Zhao, ‘‘Driverless Bus Path Tracking Based on Fuzzy Pure Pursuit Control with a Front Axle Reference,’’ Applied Sciences, Vol.10, No.230, pp.1-19, 2020. [https://doi.org/10.3390/app10010230]
  • M. Park, S. Lee and W. Han, “Development of Steering Control System for Autonomous Vehicle Using Geometry‐Based Path Tracking Algorithm,” ETRI Journal, Vol.37, No.3, pp.617-625, 2015. [https://doi.org/10.4218/etrij.15.0114.0123]
  • J. Ahn, S. Shin, M. Kim and J. Park, “Accurate Path Tracking by Adjusting Look-Ahead Point in Pure Pursuit Method,” Int. J. Automotive Technology, Vol.22, No.1, pp.119-129, 2021. [https://doi.org/10.1007/s12239-021-0013-7]
  • J. M. Snider, “Automatic Steering Methods for Autonomous Automobile Path Tracking,” Robotics Institute, CMU-RI-TR-09-08, 2009.
  • C. Park and H. Lee, “Modular Vehicle in the Loop,” Transactions of KSAE, Vol.27, No.6, pp.487-494, 2019. [https://doi.org/10.7467/KSAE.2019.27.6.487]
  • J. H. Kim, N. T. H. Thu, J. H. Seong and D. S. Han, “Study on the Automation of Low-Level Control for Campus Autonomous Driving,” KSAE Fall Conference Proceedings, pp.1123-1124, 2022.
  • Oriental Motor, AZ Series Catalog, https://www.orientalmotor.com/products/pdfs/2018-2019/502%20AZ%20Family%20Catalog.pdf, , 2023.
  • H. Joo and K. Lee, “Changes in Path Tracking Performance of Autonomous Vehicle According to Design Feedback Gain and Look-Ahead Distance of Pure-Pursuit Algorithm,” Transactions of KSAE, Vol.29, No.9, pp.839-846, 2021. [https://doi.org/10.7467/KSAE.2021.29.9.839]
  • M. Magnusson, A. Lilienthal and T. Duckett, “Scan Registration for Autonomous Mining Vehicles Using 3D-NDT,” Journal of Field Robotics, Vol.24, No.10, pp.803-827, 2007. [https://doi.org/10.1002/rob.20204]
  • M. Magnusson, A. Nuchter, C. Lorken, A. J. Lilienthal and J. Hertzberg, “Evaluation of 3D Registration Reliability and Speed - A Comparison of ICP and NDT,” Proceedings of IEEE International Conference on Robotics and Automation (ICRA), pp.3907-3912, 2009. [https://doi.org/10.1109/ROBOT.2009.5152538]
  • A. Poulose, M. Baek and D. S. Han, “Point Cloud Map Generation and Localization for Autonomous Vehicles Using 3D Lidar Scans,” Proceedings of Asia Pacific Conference on Communications(APCC), pp.336-341, 2022. [https://doi.org/10.1109/APCC55198.2022.9943630]
  • S. Kato, E. Takeuchi, Y. Ishiguro, Y. Ninomiya, K. Takeda and T. Hamada, “An Open Approach to Autonomous Vehicles,” IEEE Micro, Vol.35, No.6, pp.60-68, 2015. [https://doi.org/10.1109/MM.2015.133]

Fig. 1

Fig. 1
Schematic diagram for the driving control system

Fig. 2

Fig. 2
Automated driving test vehicle

Fig. 3

Fig. 3
Step motors and chains to control the accelerator and brake pedals

Fig. 4

Fig. 4
Step motor and timing pulley to control the steering wheel

Fig. 5

Fig. 5
(a) Step motor used in this study and (b) torque-speed characteristics of the step motor14)

Fig. 6

Fig. 6
Connection of the motor drivers, motion controller, and power supplies

Fig. 7

Fig. 7
Pure pursuit method

Fig. 8

Fig. 8
GUI screen for monitoring CAN data and controlling step motor parameters

Fig. 9

Fig. 9
Lateral control algorithm flowchart

Fig. 10

Fig. 10
Longitudinal control algorithm flowchart

Fig. 11

Fig. 11
Test courses for the driving experiments

Fig. 12

Fig. 12
Path-following results from the test scenario 1

Fig. 13

Fig. 13
Worst-case deviation in path from the test scenario 1 (driving segment 1-D)

Fig. 14

Fig. 14
(a) Vehicle yaw rate and (b) path-following error from the test scenario 1

Fig. 15

Fig. 15
Path-following results from the test scenario 2

Fig. 16

Fig. 16
Worst-case deviation in path from the test scenario 2 (driving segment 2-B)

Fig. 17

Fig. 17
(a) Vehicle yaw rate and (b) path-following error from the test scenario 2

Table 1

Specifications of the test vehicle

Length/Width 4,140 mm/1,800 mm
Height/Wheelbase 1,600 mm/2,570 mm
Weight 1,530 kg
Steering system Rack and pinion
Fuel/Power Electric/81.4 kW

Table 2

Specifications of the steering system

Angular range of steering wheel - 513˚ ~ + 513˚
Angular range of front wheel - 41˚ ~ + 41˚
Number of turns on steering wheel 2.85 Turns(lock-to-lock)
Steering ratio 1 : 12.5
Gear ratio(motor : steering) 1 : 8.33

Table 3

Specifications of the step motor

Frame size/Type 60 mm/Geared
Maximum holding torque 4 Nㆍm
Gear ratio 1 : 7.2
Resolution(in 1,000 pulse/rev) 0.05˚/pulse
Rated torque 4 Nㆍm
Backlash 7 arcmin(0.12˚)
Speed range 0 ~ 416 rpm
Power supply input voltage DC 24/48 V
Power supply input current 3.55 A

Table 4

Experiment setup

Processor Intel Core i9-9900K
Memory 32 GB RAM
Graphics Nvidia Titan RTX
Operating system Ubuntu 18.04
Middleware ROS Melodic
Application Autoware 1.14.0
Sensor Ouster OS1-128 lidar
Actuator Oriental Motor AZM66AK-PS7.2

Table 5

Quantitative evaluation results for different driving segments from the test scenario 1

Test Run 1-A 1-B 1-C 1-D 1-E All
MAE
(m)
SD
(m)
Max
(m)
MAE
(m)
SD
(m)
Max
(m)
MAE
(m)
SD
(m)
Max
(m)
MAE
(m)
SD
(m)
Max
(m)
MAE
(m)
SD
(m)
Max
(m)
MAE
(m)
SD
(m)
Max
(m)
Run 1 0.02 0.02 0.10 0.50 0.23 0.79 0.02 0.02 0.17 0.41 0.30 0.94 0.04 0.02 0.10 0.15 0.24 0.94
Run 2 0.03 0.03 0.13 0.45 0.21 0.74 0.03 0.02 0.16 0.43 0.29 0.92 0.06 0.03 0.12 0.15 0.23 0.92
Run 3 0.05 0.06 0.18 0.44 0.25 0.77 0.03 0.02 0.13 0.43 0.32 0.99 0.08 0.03 0.12 0.16 0.24 0.99
Run 4 0.04 0.04 0.16 0.48 0.21 0.77 0.03 0.02 0.16 0.46 0.30 0.99 0.07 0.02 0.12 0.16 0.24 0.99
Run 5 0.04 0.03 0.15 0.45 0.22 0.76 0.05 0.03 0.14 0.36 0.23 0.80 0.07 0.03 0.13 0.16 0.21 0.80
Total 0.04 0.04 0.18 0.46 0.23 0.79 0.03 0.02 0.17 0.42 0.29 0.99 0.06 0.03 0.13 0.16 0.23 0.99

Table 6

Quantitative evaluation results for different driving segments from the test scenario 2

Test Run 2-A 2-B 2-C All
MAE (m) SD (m) Max (m) MAE (m) SD (m) Max (m) MAE (m) SD (m) Max (m) MAE (m) SD (m) Max (m)
Run 1 0.05 0.03 0.15 0.17 0.11 0.38 0.04 0.03 0.13 0.09 0.09 0.38
Run 2 0.03 0.03 0.13 0.18 0.11 0.39 0.07 0.07 0.36 0.09 0.10 0.39
Run 3 0.06 0.04 0.16 0.18 0.09 0.37 0.05 0.04 0.18 0.09 0.09 0.37
Run 4 0.06 0.04 0.18 0.19 0.10 0.45 0.04 0.04 0.18 0.10 0.09 0.45
Run 5 0.08 0.05 0.21 0.18 0.10 0.47 0.05 0.04 0.15 0.10 0.09 0.47
Total 0.06 0.04 0.21 0.18 0.10 0.47 0.05 0.05 0.36 0.10 0.09 0.47