1. 서 론
2. 운전자 주행 데이터
2.1. 데이터 취득
2.2. 주변 차량 거동 분석
3. 시뮬레이션 환경 개요
4. 주변 차량 모델
5. 시뮬레이션 환경을 통한 차선 변경 알고리즘 평가
5.1. 성능 지수 정의
5.2. 시뮬레이션 결과
6. 결 론
1. 서 론
90% 이상의 교통 사고는 운전자의 실수로 인해 발생한다.(1) 특히 주변 환경에 대한 오인지, 부주의한 운전, 무리한 끼어들기 둥으로 인해 차선 변경 상황에서 다양한 형태의 교통 사고가 발생한다. 최근 학계 와 자동차 산업 전반에 걸쳐 자율주행 기술 개발이 이루어지고 있다. 편리함과 더불어 안전과 편안함을 제공해 줄 것으로 기대하고 있기 때문이다.(2) 하지만, 여전히 도심 환경에서 완전 자율주행을 구현하는 것은 큰 어려움으로 남아있다. 가장 큰 어려움 중 하나로 도심 정체 상황에서의 차선 변경이 있다.(3) 차선과 차량 인지를 기반으로 수학적 모델 없이 차선 변경을 위한 종방향 제어를 하는 연구가 진행되었다.(4) 확률 모델 기반의 차선 변경 알고리즘도 연구가 진행되었다.(5,6) 주변 운전자의 의도와 움직임을 추론하는 모델을 사용하는 시나리오 기반 차선 변경 알고리즘도 개발이 되었다.(7,8) 일반적인 상황에서의 차선 변경을 위한 알고리즘 개발이 다방면으로 진행되었다. 하지만, 공간이 확보되어 있지 않으며, 주변 차량과의 상호작용을 통해 차선 변경을 하는 알고리즘에 대한 연구는 이에 비해 부족하다.
도심 정체 상황에서의 차선 변경은 주변 환경의 시나리오가 너무 다양하고, 특히 주변 차량의 의도를 파악하여 제어에 반영하기 위해서는 여러 상황에 대한 성능 검증이 필요하다. 자율주행 시스템을 개발하는 과정에서 시스템에 대한 적절한 평가는 필수적이다.(9) 정체상황에서의 차선 변경 알고리즘을 개발하기 위해 게임이론, 심층강화학습, RNN, MPC 가 사용되었고 이 과정에서 정체 상황 시뮬레이션이 활용되었다.(10~12) 선택적 양보 영역과 강제 양보 영역을 정하여 횡방향 위치에 따라 양보 성향이 다른 시뮬레이션을 개발하는 연구가 진행되었다.(13) 해당 연구의 시뮬레이션은 실도로 데이터를 근거로 하지 않는다. 실도로에서는 전방에 컷인 차량이 있는 경우, 양보해주는 차량도 있지만 오히려 가속하여 차선 변경을 저지하려고 하는 차량도 있다. 이러한 차량에 대한 대응은 도심 정체 상황에서의 차선 변경에서 가장 중요한 부분 중 하나이다. 안전과 직결되는 상황이기 때문이다. 따라서 실제 도로의 데이터를 기반으로 양보 차량과 비양보 차량에 대한 성향이 반영된 시뮬레이션 환경의 필요성이 있다.
본 연구에서는 도심 정체 상황에서의 운전자 주행 데이터를 기반으로 다차량 시뮬레이션 환경을 구축하였다. 특히 시뮬레이션 내의 주변 차량은 각각 서로 다른 양보 성향을 가지고 있으며, 전방에 컷인을 시도하는 차량이 있는 경우 감속을 하기도 하고 가속을 하기도 한다.
2. 운전자 주행 데이터
2.1. 데이터 취득
도심 정체 상황에서의 차량 거동을 모델링하고 이를 시뮬레이션에 반영하기 위해 실도로 주행 데이터를 수집하였다. 데이터 수집에 사용된 차량의 구성은 Fig. 1과 같다. 주변 차량을 인지하기 위해 6개의 ibeo LUX 센서와 ibeo사에서 제공하는 퓨전 시스템을 사용하였다. 본 시스템은 최대 100 m 이내의 있는 물체에 대한 위치, 방향(heading), 속도를 자차량 좌표계 기준으로 제공해준다. Mobileye Q3를 통해 2차 곡선으로 피팅된 차선 정보를 제공받았다. 차선 정보는 인지된 차량 중 어떤 차량이 옆 차선에 있는 차량인지를 식별하는 데에 활용되었다.
데이터를 취득한 경로는 Fig. 2와 같다. 전체 주행 거리는 대략 150 km이다. 데이터의 정확성을 위해, 날씨가 맑은 경우에만 설비가 잘 정비된 도로에서 데이터를 취득하였다. 차선 변경은 60 km/h 이하의 속도에서 이루어졌으며, 주로 정체 상황에서 진행되었다.
총 191번의 차선 변경을 시도하였다. 여기서, “차선 변경 시도”의 의미는 방향 지시등을 키고 해당 방향으로 약간의 횡방향 움직임을 가져가는 것을 의미한다. 각각의 시도마다 운전자가 직접 옆 차선의 차량이 양보 의도가 있어 차선 변경이 가능하다고 생각되는 경우와, 그렇지 않은 경우를 분류하였다. 양보 의도가 있다고 판단한 경우는 104번, 그렇지 않다고 분류된 경우는 87번이었다.
2.2. 주변 차량 거동 분석
자율주행 시뮬레이션에서 주변 차량은 전방에 컷인 하려는 차량이 존재하는 경우, 속도를 유지하거나 충돌의 위험이 있으면 감속하여 충돌을 회피하도록 모델링 되었다. 하지만 실제 도로에는 더 다양한 형태의 거동이 존재한다. 도심 정체 상황에서 능숙하게 차선 변경하는 알고리즘을 개발하는 것을 어렵게 만드는 요인 중 하나이다. 일례로, 옆차선의 차량이 본인 앞으로 차선 변경을 시도하려고 할 때 충분한 거리를 확보해주고 속도를 감속하는 차량이 있는가 하면, 오히려 가속하여 차선 변경을 저지하는 경우도 있다. 양보해주는 차량의 경우에도, 확보해주는 공간과 감속 시점은 성향에 따라 다양하다. 본 연구에서는 양보 차량과 비양보 차량이 거동 특성을 상대속도에 따른 각각 차간 간격과 time gap의 분포를 비교하였다. 양보 차량 데이터는 Fig. 3과 같고 비양보 차량 데이터는 Fig. 4와 같다.
운전자가 차선 변경을 시도하는 시점은 유사하지만, 주변 차량의 양보 성향에 따라 time gap이 서로 다른 경향을 보인다. 양보 차량의 경우, 속도를 줄이고 안전 거리를 확보해주는 반면 비양보 차량의 경우 time gap이 시간이 지날수록 줄어든다는 것이 확인된다. 상대속도에 따른 각각 차간 간격과 time gap의 분포를 비교하였다. 양보 의도를 time gap을 통해 간접적으로 추론하는 것이 가능하다는 가설을 세울 수 있다. Fig. 5와 6은 운전자라 차선 변경 의도를 나타낸 후 1초 동안의 time gap의 변화에 대한 히스토그램을 나타낸 것이다.
양보 차량은 time gap이 늘어가는 경우가 절반 이상인데 반해, 비양보 차량의 경우에는 상당수의 차량이 time gap을 줄이는 것을 확인할 수 있다. 따라서 본 연구에서는 주변 차량을 양보 차량과 비양보 차량으로 분류하고, 각각을 주행 데이터를 기반으로 모델링하여 시뮬레이션을 구현하였다. 자세한 내용은 4장에서 다루기로 하겠다.
3. 시뮬레이션 환경 개요
시뮬레이션 환경은 2차선 직선 도로이다. 시뮬레이션 상황에서 자차량은 전방에 사고로 인해서 옆 차선으로 이동해야만 한다. 사고는 80 m 앞에서 발생하였다. 옆차선은 차량의 밀도가 조밀하며 9대의 차량이 저속으로 주행하고 있다. 9대의 차량 중 5번째 차량과 동일한 종방향 위치에서 자차량의 시뮬레이션이 시작된다. 5번째 차량을 기준으로 남은 8대의 차량은 그들의 목표 time gap에 따라 종방향 위치의 시작점이 결정된다. 옆 차선 차량의 목표 속도와 목표 time gap은 무작위로 결정되어 몬테카를로 시뮬레이션 진행이 가능하다. 자차량의 센서 모델은 카메라 센서와 레이더 센서 모델로 구성되어 있다. 카메라 센서 모델은 가상의 차선을 적절한 노이즈와 함께 인지한다. 레이더 모델은 주변 차량들의 거동을 인지하여 적절한 노이즈와 함께 자차량에 대한 상대 위치와 상대속도로 변환하여 전달한다. 인지 범위의 한계도 반영한다. 본 연구에서는 전방 60 m, 후방 40 m, 측방 30 m로 선정하여 시뮬레이션을 진행하였다. 제어 로직에서의 목표 가속도 및 조향각에 대한 액츄에이터 딜레이도 반영이 가능하다. 본 연구에서 사용한 액츄에이터 딜레이 모델은 식 (1)과 같다.
전체 시뮬레이션 환경은 MATLAB/Simulink 환경에서 구축되었다.
4. 주변 차량 모델
주변 차량은 현재 상태 정보만 이용하여 다음 스텝의 입력을 결정하는 결정론적 운전자 모델과 기구학적 요소만 고려한 차량 모델(Kinematic model)로 구성하였다. 이와 같은 모델을 통해 목표 속도에 따라 차선을 유지하고 선행 차량과의 time gap을 차량별로 제어할 수 있도록 한다.(14) 주변 차량의 목표 가속도와 목표 조향각은 식 (3), (4), (5)에 의해 결정된다.
이 시뮬레이션의 중요한 특징은 차선 변경 양보 의도이다. 실제 차량은 운전자의 성향에 따라 차선 변경에 양보하는 시점이 상이하다. 양보 성향은 차선 변경을 시도하는 차량의 측면 위치에 따라 달라진다. 이를 모방하기 위해 3개의 양보 의도가 만들어지고 9개의 측면 차량에 무작위로 할당하였다.
시뮬레이션 초기 파라미터는 식 (6)과 같이 랜덤하게 할당된다.
Pyield,i는 i번째 차량이 양보를 시작하는 Pyield를 의미한다. 단, Iyield,i가 0인 경우에는 양보하는 대신 목표 time gap을 줄이는 거동을 한다. 줄어드는 time gap의 크기는 Fig. 6에서의 결과와 유사한 분포를 따르도록 구현하였다. 위와 같은 설정을 통해 양보 차량과 비양보 차량이 모두 존재하는 시뮬레이션 환경을 구축하였다. 또한, 양보 차량도 성향에 따라 다른 거동을 하도록 하였기 때문에 자율주행 알고리즘을 개발하고 평가하기에 더욱 적합하다.
5. 시뮬레이션 환경을 통한 차선 변경 알고리즘 평가
5.1. 성능 지수 정의
차선 변경 알고리즘의 성능은 크게 2가지 측면에서 평가될 수 있다. 얼마나 좋은 공간을 찾아서 수월하게 차선 변경을 성공하는 지와 차선 변경을 진행하는 과정에서 안전을 얼마나 확보하는 가이다. 이 둘의 균형을 잘 이룰 수 있는 알고리즘이 가장 좋은 알고리즘이라고 평가할 수 있을 것이다. 본 연구에서는 이를 확인해보기 위한 성능 지수로써, LC completed time[sec], LC success rate(between two vehicles), Clearance with rear vehicle, Collision case 를 선정하였다. 앞의 2개의 성능 지수를 통해 얼마나 빠르게 목표한 차선 변경을 완료할 수 있었는지를 평가하며, 뒤의 2개의 성능 지수를 통해 안정성을 평가할 수 있다.
5.2. 시뮬레이션 결과
본 연구에서 제안하는 시뮬레이션 환경이 알고리즘을 잘 평가할 수 있는지 확인해보았다. 차선 변경 알고리즘은 2020년도에 개발되었던 구조를 사용하였다.(15) 해당 알고리즘의 차선 변경 파라미터는 고속도로 데이터를 기준으로 설정되어 있다. 본 연구에서는 Fig. 3에서의 결과를 참고하여 파라미터를 수정한 알고리즘을 CSD(Conservative Safety Distance), 기존 알고리즘을 PSD(Progressive Safety Distance)라 칭하고 이 둘을 시뮬레이션 환경에서 비교하였다. 총 150 번의 몬테카를로 시뮬레이션을 진행하였다.
Table 1.
Interactive lane change performance in congested traffic
CSD | PSD | |
LC completed time [sec] | 24.60 | 18.08 |
Clearance with rear vehicle [m] | 19.97 | 13.05 |
LC success rate | 0.36 | 0.84 |
Collision case | 0 | 4 |
파라미터를 수정한 알고리즘의 경우, 비교적 빠르게 차선 변경을 완료하는 것을 확인할 수 있다. 하지만, 차선 변경 시에 확보할 수 있는 안전거리가 비교적 작은 경우가 많고, 150번 중에 4번의 충돌 상황도 발생하는 것을 확인할 수 있었다. 차선 변경 알고리즘의 변화에 따른 성능 변화를 확인해볼 수 있는 시뮬레이션 환경임을 알 수 있다.
6. 결 론
본 연구에서는 실도로 주행 데이터를 바탕으로 도심 정체 상황에서의 자율주행 차선 변경 알고리즘을 개발하고 평가하기 위한 시뮬레이션 환경을 제안하였다. 연구의 주요 기여점은 크게 2가지이다. 실도로 데이터에 대한 분석을 시뮬레이션에 반영하여 실질적인 자율주행 알고리즘 개발을 하는 데에 도움을 줄 수 있는 플랫폼을 제안하였다는 점이 그 첫 번째이다. 둘째로, 실도로 운전자들의 양보 성향을 시뮬레이션에 반영하였다는 점이다. 양보해주는 차량들도 성향을 세분화하였으며, 양보하지 않고 가속하는 차량도 구현하여 안전성과 능숙도를 함께 평가할 수 있는 환경을 제안하였다.
향후 여러 차선 변경 알고리즘을 개발하여 본 시뮬레이션에서의 평가를 진행해보려고 한다. 시뮬레이션 상의 각 알고리즘의 상대적인 성능 차이가 실도로에서도 유사한 경향성을 띄는지 비교를 통해 본 논문의 시뮬레이션 환경의 타당성으로 확인해볼 수 있을 것이다.