Ⅰ. 서 론
1. 연구 배경
차량 기술과 통신 기술의 급속한 발전은 자율 주행, 지능형 교통 체계 (ITS), 협력 주행의 실현을 가속화하 고 있다. 그러나 전방 차량의 비상 정지, 공사 구간, 사고, 낙하물 등과 같은 긴급 상황에서 효과적으로 대응 하는 능력은 여전히 중요한 과제로 남아 있다. 특히, 차량 간 신속하고 정밀한 정보 교환이 없거나 협력적인 회피 기동이 불가능할 경우, 이러한 상황은 2차 사고로 이어질 위험이 있으며, 교통 흐름의 정체와 효율 저 하를 초래할 수 있다. 따라서 기존 Vehicle-to-Everything(V2X) 서비스의 기본 요구사항을 기반으로, 보다 고도 화된 자율주행 및 협력 주행 시나리오를 지원하기 위한 고급 서비스와 기술적 기반이 필요하다.
자율 및 협력 주행과 관련된 다양한 V2X 활용 사례는 3GPP1)에서 정의하고 있다. TS 22.1852)를 통해 V2X 서비스 요구사항을 정의하였으며, 주로 차량, 인프라, 보행자 간 통신으로 교통안전을 향상하는 요구사항을 다룬다. 이후 TS 22.186는 이를 기반으로 더 복잡하고 고도화된 활용 사례와 기능적 요구사항을 정의한다.
TS 22.1863)에서 정의된 고급 주행 시나리오 중 하나인 비상 궤적 정렬(Emergency Trajectory Alignment, ETrA)은 긴급 상황에서 효과적인 대응을 위해 설계된 기술이다. 기존 시스템은 개별 차량의 센서에 의존하 며, 이는 시야 제한, 날씨 조건 등 여러 제약 상황이 있다. 이러한 국지적 대응 방식은 인근 차량 간 상충하 는 반응을 초래해 사고 확산과 교통 혼잡으로 이어질 위험이 있다. ETrA는 차량의 센서를 통해 장애물을 감 지하고, 충돌을 피하기 위한 최적의 궤적을 계산한다. 이는 V2X 통신을 통해 주변 차량에 전파되며, 인근 차 량들은 공유된 정보를 바탕으로 궤적을 동기화하고 협력적으로 회피 기동을 수행할 수 있다.
2. 연구 목표
본 연구는 ETrA의 실현 가능성을 확인하기 위해 <Fig. 1> 과 같은 새로운 접근 방식을 제안한다. 이를 위 해 설계된 통신 프레임워크는 데이터 처리, 구조화, 통신을 지원하며, ETrA에 필요한 데이터를 준비한다. 이 는 알고리즘 계산에 즉시 사용 가능한 형태로 데이터를 공유함으로써, 데이터 처리 효율성과 활용성을 극대 화한다. ETrA 알고리즘은 전방에 발생한 긴급 상황을 회피할 수 있는 비상 궤적 생성 및 정렬에 중점을 둔 다. 비상 궤적 생성은 정밀 도로 지도와 Lanelet 구조체, Frenet 좌표계, 객체 데이터를 이용하여 비상 궤적을 생성한다. 생성된 비상 궤적은 V2V 통신으로 차량 간 공유되며, 인접 차량들은 동적으로 경로를 조정하여 충돌을 방지한다.
본 연구의 목표는 다음과 같다:
-
- V2V으로 주행 환경 및 궤적 데이터를 주고받고, 이를 late fusion 방식으로 융합하여 활용한다.
-
- 정밀 도로 지도와 TTC 정보를 활용해 협력적 비상 궤적 생성 및 조정 기술을 구현한다.
-
- 제안된 시스템을 기반으로 ETrA의 실현 가능성을 실험적으로 검증한다.
2장은 관련 연구를 소개한다. 3장은 통신 프레임워크를, 4장은 비상 궤적 정렬 알고리즘에 대해 설명한다. 5장은 실험 결과를 제시하며, 6장은 결론과 향후 연구에 대해 논의한다.
Ⅱ. 관련 연구
V2X는 차량 간 협력적 데이터 교환과 자율주행 기능 구현의 핵심 기술로, 안전성과 효율성을 개선하는 데 있어 필수적임이 다양한 연구에서 논의되고 있다. Špitálová(2023)의 연구는 V2X 통신의 중요성을 강조하 며, 최신 기술과 3GPP 표준이 자율주행 차량의 성능을 향상시키고 교통 안전성을 높이는 데 기여할 수 있음 을 제시하였다. Takacs and Haidegger(2024)는 자동화된 차량에서 V2X 통신의 필수 요구사항을 매핑하고, 도 로 안전성과 이동 효율성 강화를 위한 규제 및 확장 문제를 해결해야 한다고 주장하였다. 또한, Molina- Masegosa et al.(2023)는 연결된 자율주행 차량 간 원활한 기동 협력을 위한 메시지 생성 규칙을 평가하여, V2X 통신의 효과성을 검증하였다. Jeon et al.(2022)는 V2X를 기반으로 한 협력형 자율주행 시스템이 기존 독립형 자율주행 기술의 한계를 극복하고, 차량 및 인프라 간 협력을 통해 주행 효율성과 안전성을 높이는 데 크게 기여함을 강조하였다. 본 연구는 이러한 선행 연구를 바탕으로, V2V 통신 프레임워크와 차량 간 협 력적으로 주고받는 패킷을 구조화하고, 데이터 공유를 최적화함으로써 비상 상황 대응을 지원하는 데 중점 을 둔다.
V2X 통신은 다양한 교통 시스템 응용 사례에서 효과를 입증하고 있다. V2X 통신은 다양한 교통 시스템 응용 사례에서 그 효과를 입증하고 있다. Bintoro et al.(2024)는 V2V 통신이 지능형 교통 시스템에서 도로 안 전성과 교통 흐름 개선에 중요한 잠재력을 가지고 있음을 강조하였다. Xiang et al.(2023)은 차량의 방향성과 링크 안정성을 고려한 긴급 메시지 브로드캐스트 스킴을 제안하여, 메시지 충돌과 전송 지연을 줄이는 효과 를 입증하였다. 또한, Arikumar et al.(2023)는 J2H(Jitter-to-Highly Reliable) 접근 방식을 통해 긴급 차량의 위치 와 응급 수준에 따라 교통 신호를 맞춤화하고, 경로 장애물을 제거하여 도착 시간을 단축시키는 효과를 입증 하였다. Jang et al.(2022)는 로컬 센서의 한계를 극복하기 위해 V2X 통신 정보를 활용하여 VRU(Vulnerable Road User)와의 충돌을 회피할 수 있는 알고리즘을 개발하였으며, 이를 통해 기존 로컬 센서만으로는 감지하 지 못하는 상황에서도 안전적인 충돌 회피가 가능하다. 본 연구의 ETrA 알고리즘은 V2X를 기반으로 비상 궤적 정렬을 구현하여 충돌 위험을 최소화하고 안전성을 개선하였다.
V2X 데이터를 융합하는 기술은 협력적 인식과 안전한 주행을 가능하게 한다. Shan et al.(2022)은 V2X와 로컬 센서 데이터를 융합하는 확률적 데이터 융합 프레임워크로 협력적 인식의 신뢰성을 높였다. You et al.(2024)은 대규모 비전-언어 모델을 활용하여 차량-인프라 간 협력적 프레임워크를 설계하며, 상황 인식과 의사결정을 강화하였다. 본 연구에서는 LiDAR 객체 인식 결과를 ETrA 알고리즘 계산에 즉시 사용할 수 있 는 형태로 융합하여 데이터 처리 지연을 줄였다.
LiDAR는 자율주행 차량의 주변 환경 인식의 핵심 센서로 사용된다. Jin et al.(2023)는 포인트 클라우드 군 집화와 바운딩 박스를 결합하여, 효율적인 차량 검출 기법을 제안하였다. Zhao et al.(2021)는 이동하는 차량 의 코너를 감지하고, RANSAC 기반 L-Shape 피팅으로 자세 추정 정확도를 향상시켰다. 본 연구에서는 Lee et al.(2022)의 Pachwork++를 통한 지면 제거, 유클리디안 클러스터링 기반 객체 군집화를 이용하였다.
궤적 정렬은 차량 간 협력 주행의 안정성과 효율성을 보장하기 위한 중요한 요소이다. Xu et al.(2021)는 비상 상황에서 자율주행 차량이 충돌을 피할 수 있도록 궤적을 계획하는 알고리즘을 제안하였다. Makarov(2024)는 프레넷 프레임을 활용하여 장애물 회피 경로 계획을 개발하였다. 본 연구에서는 Bender et al.(2014)의 Lanelet 구조와 프레넷 좌표계로 궤적을 생성하고, 차량 간의 비상 궤적 정렬로 충돌 방지와 안정 적 주행을 실현하였다.
Ⅲ. 통신 프레임워크
1. 개요
통신 프레임워크는 비상 궤적 정렬(ETrA)을 지원하기 위해 설계된 데이터 처리 및 통신 프레임워크로, 차 량 간 실시간 협력적 의사 결정을 위한 데이터를 제공한다. 통신 프레임워크는 <Fig. 2>과 같은 순서로 동작 한다. 차량의 상태 값이나 궤적정보, LiDAR 객체 인식 정보를 통합해 즉시 사용 가능한 형태로 만들고, 이를 인코딩, 전송, 디코딩, 융합, 구조화 하고 통신하는 기능을 포함한다.
2. 데이터 처리 및 구조화
제안하는 시스템은 센서 데이터를 처리하고 좌표를 변환하고 경로를 계획한다. LiDAR센서를 이용한 객체 인식 후 모든 데이터를 포함하여 ShareInformation로 구조화 한다. 시스템은 기본 변수와 각 모듈을 초기화 한 다. 이후 GPS와 관성 원본 데이터에서 원하는 값만 추출한다. 위도, 경도, 헤딩, 속도 등이 포함된다. 위치 값 은 ENU좌표계로 변환하여 사용한다. 헤딩은 정북 방향 degree로 변환하며, 속도는 m/s단위로 표현한다. 궤적 생성에는 HDMap을 구조화한 Lanelet을 사용한다. 생성된 경로는 ENU좌표계의 X,Y point의 배열이며, 간격 은 1m이다. 일반 경로 생성에 대한 자세한 내용은 ETrA 알고리즘 섹션에서 설명한다. LiDAR를 이용하여 생 성하는 객체 데이터의 설명은 다음 섹션에서 설명한다.
데이터가 생성이 되었다면 본 연구를 위해 제안된 ShareInformation구조체로 데이터를 구조화 한다. <Table 1>은 ShareInformation, <Table 2>은 ObstacleInformation의 구조이다. ShareInformation은 본 연구에서 새롭게 정 의된 메시지 형식이며 최대 438바이트를 전송한다. 패킷 전송의 효율을 위해 경로의 길이는 최대 30으로 제 한하고, ObstacleInformation도 차량과의 거리가 가까운 순으로 정렬하여 최대 10개만 구조화 한다. Tx, Rx ID는 각각 패킷을 보낼 때 부여하는 ID 값과, 해당 시점에 받은 패킷의 ID를 의미한다. State와 Signal은 시스 템의 상태와 신호를 숫자로 표현 한 값이다.
<Table 1>
Structure of ShareInformation
Field | Description | Type | Max Byte Size |
---|---|---|---|
tx_id | Transmitting packet’s ID | uint32 | 4 |
rx_id | Receiving packet's ID | uint32 | 4 |
state | Current state of vehicle | uint8 | 1 |
signal | Current signal of vehicle | uint8 | 1 |
enu_x | East of the vehicle in the ENU | float | 4 |
enu_y | North of the vehicle in the ENU | float | 4 |
heading | Vehicle's heading angle in the ENU (degree) | float | 4 |
velocity | Vehicle's velocity(m/s) | float | 4 |
trajectory | Set of path points (x, y) representing the trajectory | [(float, float), ...] | 240 |
obstacle_num | The number of obstacles detected | uint16 | 2 |
obstacles | Detailed information about each obstacle | ObstacleInformation[] | 170 |
<Table 2>
Structure of ObstacleInformation
Field | Description | Type | Max Byte Size |
---|---|---|---|
cls | Type of obstacle | uint8 | 1 |
enu_x | East of the obstacle's in the ENU | float | 4 |
enu_y | North of the obstacle's in the ENU | float | 4 |
heading | Obstacle's heading angle in the ENU (degree) | float | 4 |
velocity | Obstacle's velocity(m/s) | float | 4 |
3. LiDAR 객체 인식
차량 주변 환경에서 장애물 정보를 생성하기 위해, 3차원 기계식 LiDAR를 사용하여 주위 장애물의 위치, 속도, 그리고 헤딩 값을 추정한다. LiDAR는 주변 환경을 3D 포인트 클라우드 형식으로 변환하여 입력 데이 터로 제공한다. LiDAR 객체 인식 알고리즘은 <Fig. 3>와 같이 주어진 점군 데이터를 기반으로, 지면 제거, 군집화, 객체 추적 과정을 순차적으로 수행하며, 이를 통해 도로 위의 장애물을 인식하고 정보를 생성한다. 이 과정은 차량의 전방 및 후방 최대 130m거리까지 탐지 가능하도록 설계되었다. 이렇게 인식된 객체는 V2V 통신을 통해 주변 차량과 공유되며, 이를 통해 각 차량의 인식 범위를 확장하고, 개별 센서로는 가려지 거나 너무 빨라서 인식되지 않는 물체를 탐지할 수 있도록 한다.
지면 제거는 점군 데이터에서 지면과 비지면 점군을 분리하는 과정이다. 지면 제거에는 Pachwork ++알고 리즘을 이용하였다. 군집화는 비지면 점군 데이터를 기반으로 도로 위 장애물을 인식하는 과정이다. 이 과정 에서는 유클리디안 클러스터링 알고리즘을 사용하여 실시간성을 확보한다. 이는 가까운 점군들을 하나의 군 집으로 묶는 방법으로, 도로 위의 물체를 개별적인 객체로 구분할 수 있다. 객체 추적은 칼만 필터를 기반으 로 수행되며, 군집화 과정을 통해 식별된 장애물 객체의 위치를 프레임 단위로 추적한다. 속도 값의 추정은 이전 프레임과 현재 프레임 간 인식된 객체 중심점의 변위를 계산하여 상대 속도를 추정한다. 헤딩 값은 이 전 프레임과 현재 프레임 간 객체 중심점의 변위 벡터를 계산하여, 이 벡터의 방향성으로 각도를 도출한다.
이렇게 생성된 객체 데이터를 V2V 통신을 통해 주고받은 후, 이를 융합하여 확장된 객체 데이터로 활용 한다. 이때, 중복되는 객체를 처리하기 위한 방법도 포함된다. 확장된 객체 데이터에서 중복되는 객체는 위 치가 ENU 좌표계의x,y 값으로 표현되며, 두 객체 간 거리가 특정 임계값 내에 있다면 동일한 객체로 판단한 다. 동일한 객체로 간주되는 경우, 두 객체의 위치는 평균값을 계산하여 하나의 위치로 통합된다. 본 연구에 서는 이 임계값을 실험적으로 0.7m로 설정하였다. 이러한 중복 객체 제거 과정을 통해 데이터의 중복성을 줄이고 정확도를 향상시킨다.
4. 데이터 통신
구조화된 데이터는 OBU 장치를 이용하여 V2V 통신을 통해 송수신된다. 이를 위해 <Fig. 4>과 같이 OBU 연결 및 통신 초기화, 등록, 송신(Tx), 수신(Rx) 과정을 포함하며, 각 과정은 멀티스레드 환경에서 병렬적으로 동작한다. 이러한 설계는 실시간 통신 요구사항을 충족하고 데이터 처리 속도를 향상시키기 위함이다. 송수 신되는 데이터는 ShareInformation 구조체로 구성되며, 여기에는 차량의 위치, 속도, 헤딩, 경로 데이터 및 장 애물 정보가 포함된다. 이러한 데이터는 V2V 통신을 통해 효율적으로 송수신되며, 각 패킷은 최대 438바이 트로 제한되어 실시간성과 통신 효율을 동시에 확보한다.
데이터 통신 초기화 과정은 네트워크 연결 설정과 송수신 환경 구성으로 이루어진다. 먼저 OBU와 네트워 크를 연결하고 소켓을 생성하여 지정된 IP와 포트로 연결한다. 이후, 확인된 OBU만 데이터를 송수신할 수 있도록 ID를 등록한다. 이 과정이 완료되면 송신과 수신을 위한 버퍼를 초기화하여 통신 준비를 마친다.
네트워크를 통해 전송되는 메시지는 헤더, 바디, CRC로 구성된다. 헤더에는 메시지 유형과 시퀀스 번호가 포함되며, 바디에는 ShareInformation 구조체 데이터를 추가한다. 전송 데이터는 네트워크 호환성을 위해 빅엔 디안 형식으로 변환되며, 메시지 전체 길이를 계산하여 헤더에 포함한다. 최종적으로 송신 메시지는 소켓을 통해 전송된다. 수신 과정에서는 소켓으로부터 데이터를 받아 이를 디코딩하여 ShareInformation을 추출한다. 수신 데이터의 유효성을 확인한 후, Trajectory 정보는 ObstacleInformation 구조체 형태로 디코딩된다.
Ⅳ. 비상 궤적 정렬 알고리즘
1. 개요
비상 궤적 정렬 알고리즘은 일반적인 상황과 비상 상황에 대한 차량의 주행 궤적을 생성하고, 차량이 이 를 주고받아 재 정렬 하는 과정을 포함한다. 일반 주행 궤적은 HDMap과 lanelet 구조체를 이용하여 waypoints 기반의 궤적을 생성한다. 비상 궤적을 생성할 때는 전방 장애물의 위치와 속도를 확인하고, 측방 차로 정보 로 비상 궤적을 생성한다. 비상궤적 정렬은 인접 차량으로부터 차량 상태, 장애물, 궤적 정보를 전달받아 비 상 상황을 대응하기 위한 궤적을 생성한다. 통신하고 있는 인접 차량과 동일 차로에 있는지 인접 차로에 있 는지에 따라 궤적 정렬 방식이 달라진다. 또한 차량의 거리가 가까울 때와 멀 때에도 정렬 방식이 달라진다.
2. 궤적 생성
본 연구에서는 HDMap과 Lanelet 구조체를 이용한다. HD Map은 국토지리정보원에서 제공하는 정밀 지도 로 차로의 세부적인 구조를 담고 있다. 예를 들어 차선, 도로 폭, 측방 차로의 정보, 도로의 중심선등의 데이 터가 저장되어있다. Lanelet은 <Fig. 5>와 같이 도로를 최소 단위로 정의 하는 개념으로, 각 Lanelet은 한 방향 차로를 나타낸다. 각 Lanelet은 도로 경계, 도로 폭, 좌우측 경계, 주행 방향등의 정보를 갖고 있다. 또한 Lanelet은 waypoints라는 점의 집합을 포함하고 있어 차량이 따라할 경로를 명확히 표현할 수 있다.
Lanelet 구조는 도로 상의 이동 경로를 계층적으로 연결하는 특징을 가지며, 다음 경로와 인접 경로에 대 한 연결 정보를 포함하고 있다. 경로 생성 시 현재 위치 Lanelet의 waypoints를 직진 경로로 쓴다. 이때 차량 이 이동할 수 있는 다음 경로의 waypoints도 이어간다. 이렇게 이어진 waypoints 자체가 일반 상황에서의 차 량 이동 궤적이 된다. Waypoints를 구성하는 각 waypoint는 ENU 좌표계의 x, y값 이다. 각 waypoint의 간격은 1m이다. 일반 상황에서 직진 경로의 길이는 기본 경로 길이(L_base, 30m)에 현재 차량 속도를 반영하여 동적 으로 도출한다. 또한 전송 효율을 위해 생성된 경로를 최대 30 길이로 샘플링 하는 과정도 포함된다.
3. 비상 궤적 생성
비상 궤적 생성 알고리즘은 실시간으로 주변 환경 정보를 분석하고, 잠재적인 비상 상황에 대응하기 위해 차량의 궤적을 수정하는 과정을 수행한다. 이 알고리즘은 차량의 현재 궤적과 감지된 객체 정보를 입력으로 받아, 객체 분류, 비상 상황 판단, 궤적 수정의 세 가지 주요 단계를 거친다.
감지된 객체의 절대 위치를 궤적 좌표와의 상대적인 위치로 변환하여 분류한다. 궤적 내 존재가 확인된 객체는 위치를 기준으로 전방과 측방 객체로 나눈다. 객체 분류 이후, 비상 상황 여부를 판단하고 궤적 수정 필요성을 결정한다. 본 연구에서는 비상 상황을 전방 차량의 비상 정지 상황으로 정의하였다. 전방 객체의 비상 정지 상황은 식(1)과 같은 time-to-collision(TTC)로 분석하며 이 값이 특정 임계값 이하이며 식(2)와 같이 TTC 감소율이 특정 임계값 이하일 경우, 비상 정지 상황으로 간주된다.
또한, 인식된 객체 정보를 이용하여 차량 주변 사각지대를 분석하고, 궤적 수정 가능 여부를 평가한다. 변 경을 시도하는 차로에 장애물의 존재여부와, 인접 차로의 상태를 기준으로 수정 가능성을 결정한다.
수정이 가능할 경우 차량이 이동할 수 있는 차로를 탐색한다. 이 과정에서 좌측 차로와 우측 차로 모두 변 경이 가능할 경우, 좌측 차로로의 변경에 우선순위를 부여한다. 이러한 우선순위는 시스템 설정에 따라 조정 가능하다. 궤적은 waypoints로 구성되어 있으며, 각 waypoint의 좌표를 차로 변경 방향에 따라 이동한다. 횡방 향 이동량은 감지된 객체의 횡방향 거리, 궤적 상 여유 공간, 차로폭 등을 고려하여 계산된다.
4. 비상 궤적 정렬
비상 궤적 정렬은 선행 차량으로부터 수신한 비상 궤적을 활용하여 차량의 궤적을 정렬하고 비상 상황에 대응하는 과정을 의미한다. 이는 rule-based 기법을 기반으로 하며, 궤적 정렬 조건으로 차로와 차간 거리를 활용한다. 차로 조건은 Lanelet의 차로 정보를 통해 확인한다. 차간 거리는 차량 속도의 60%를 안전거리 기 준으로 설정하며, 이는 차량이 전방 차량과 TTC 약 2초 이상의 거리를 유지해야 함을 기반으로 한다.
1) 동일 차로에서의 비상 궤적 정렬
동일 차로에서 주행 중인 차량은 차간 거리와 주행 상황에 따라 궤적을 정렬한다. 이때 후행 차량이 궤적 을 동적으로 조정하는 과정은 <Fig. 6>와 같이 흐름으로 진행된다. 차간 거리(dij)를 확인하는 것으로 시작한 다. 차량 간 거리를 계산하여 안전거리 유지 여부를 확인하고, 선행 차량의 궤적 정보를 받아 현재 궤적을 정렬한다. 안전거리 계산은 각 차량의 ENU 좌표계로 표현되는 x, y 점의 점과 점 사이 거리 값을 이용한다. 안전거리 이상일 때 ( dij ≥ dsafe )는 차로에 따라 선행 차량의 궤적에 따라 정렬하며, 궤적 정렬 완료 여부 를 출력으로 제공한다.
안전거리 미만일 때는 좌우 차로의 Lanelet이 존재하는지를 확인한다. Lanelet 정보가 있는 경우(Laneletopposite ≠ None ), 궤적 정렬이 가능하며 선행 차량과 반대 차로로 정렬한다. 좌우 차로의 Lanelet 정보는 현재 위치 Lanelet의 Left, Right Lanelet의 ID값을 확인한다. 이때 좌우 차로의 Lanelet있다면, 해당 ID값을 확인할 수 있다. ID값이 None이라면, 반대 차로로 궤적 정렬이 불가능한 경우이며, 감속을 수행하고 기존 궤적을 유지한다. 이 경우 차량의 감속 상태와 기존 궤적 데이터를 출력한다.
차간 거리가 안전거리 이상일 경우, 비상 상황 발생 시 선행 차량이 수정한 궤적을 기준으로 궤적을 정렬 한다. 이때 선행 차량의 궤적은 차량 간 상대 거리를 고려하여 동일한 방향으로 일정 간격 뒤로 평행 이동 후 정렬한다. 궤적 평행 이동은 선행 차량의 궤적을 따라 주행하려는 차량이 차량 간의 상대적인 거리만큼 궤적을 뒤로 이동시키는 과정을 의미한다. 선행 차량 궤적의 점 (xi,yi)를 기준으로, 평행 이동된 궤적은 식(3) 과 같이 정의된다. 여기서 dij는 차간 거리, θ는 궤적의 진행 방향이다.
차간 거리가 안전거리 미만인 경우, 비상 상황 발생 시 선행 차량의 궤적 방향과 반대 방향으로 궤적을 수 정한다. 선행 차량이 수정한 궤적의 반대 방향에 위치한 Lanelet에서 차로 변경 가능 경로가 확보되는지를 확 인한다. 변경 가능한 이웃 Lanelet이 존재하면, 선행 차량의 궤적을 차량 간 거리만큼 뒤로 평행 이동한 후 궤적 방향을 반전하여 정렬한다. 불가능할 경우, 감속 후 선행 차량의 궤적 방향과 동일한 방향으로 궤적을 정렬한다. 이 과정에서 궤적의 새로운 점은 식(4)와 같이 정의 된다. 여기서 ΔLane은 차로 변경 방향을 나타 내는 부호 함수이다. (+1: 왼쪽, -1: 오른쪽)
2) 인접 차로에서의 비상 궤적 정렬
인접 차로에서 주행 중인 차량은 서로 다른 차로에 위치하며, 이 경우에도 차간 거리와 주행 상황에 따라 궤적을 정렬한다. 선행 차량이 비상 상황에 따라 차로를 변경하려는 경우, 변경할 차로가 후방 차량의 차로 이라면, 후방 차량은 선행 차량이 안전하게 병합할 수 있도록 유의한다. 후행 차량이 궤적을 동적으로 조정 하는 흐름은 <Fig. 7>와 같다. 동일 차로 상황과 마찬가지로 Safe Distanace를 계산하는 단계부터 시작한다. 안전거리 이상일 때는 현재 주행 궤적을 유지한다. 안전거리 미만일 때는 수평 방향으로 궤적 정렬이 가능한 지를 확인한다. 이 때 선행차량의 차로가 아닌, 그 선행차량이 궤적 변경을 수행하려는 차로의 수평방향으로 다른 차선의 Lanelet 존재 여부를 확인한다. Parallel Lanelet이 존재한다면, 선행 차량의 수직 수평방향으로 궤 적을 정렬한다. 궤적 정렬이 불가능한 상태라면, 기존 궤적을 유지하고 감속한다.
차간 거리가 안전거리 미만일 경우, 후방 차량은 궤적을 수정하여 충돌 위험을 방지한다. 이때 선행 차량 이 변경하려는 차로가 후방 차량의 차로이라면, 후방 차량은 동일 차로의 규칙을 따라 선행 차량의 궤적을 기준으로 차량 간 거리만큼 뒤로 평행 이동하고, 병합 충돌을 방지하기 위해 1차로만큼 수평 방향으로 평행 이동하여 궤적을 수정한다. 후방 차량 궤적의 점 (xi,yi)는 식(5)과 같이 정의되며, w는 한 차로의 폭이다.
동일 차선에서의 궤적 정렬과 마찬가지로, 반대 방향으로 궤적 수정이 불가능할 경우, 후방 차량은 감속 후 선행 차량이 병합할 수 있도록 유의한다. 이는 궤적 수정이 불가능한 상황에서의 최종 안전 조치로, 선행 차량의 병합을 원활히 돕는 데 초점을 둔다.
V. 실 험
1. 실험 설정
실험은 <Fig. 8>과 같이 왕복 3차로 일반 도로에서 OBU 장치를 장착한 차량 선행 차량(LV), 후행 차량 (FV) 2대와 비상 차량 역할(Emergency V)를 이용하여 수행되었다. 실험한 도로는 Test road와 같이 일반 도로 이며 교통량이 많지 않아 원활한 환경이다. 각 LV, FV 차량에는 Novatel의 MarinePak7 모델 GPS/INS와 LiDAR 센서인 Hesai Pandar64와 OT128이 장착되어 있다. 비상 궤적 정렬을 통해 2차 사고를 방지하기 위한 시나리오를 재현하기 위하여 LV는 수동 주행 차량으로, FV는 자율주행 차량으로 설정하였다. LV가 수동 주 행 차량으로 설정된 이유는 일반적인 교통 상황을 시뮬레이션하기 위함이며, FV의 자율주행 시스템이 비상 상황에서 궤적을 정렬하고 안전성을 유지할 수 있는지 성능을 검증하기 위해 실험을 설계하였다.
각 차량은 <Fig. 9>와 같이 구성된 시스템이 동일하게 설정되어있다. 시스템은 센서와 지도 정보를 기반으 로 차량의 위치를 추정하고, 주변 환경을 인식하며, 이를 활용해 경로를 계획하고 차량을 제어한다. Sensor & Map 모듈에서는 고정밀 지도, INS & RTK(GPS), LiDAR와 같은 장치를 통해 차량의 위치와 주변 환경 데이 터를 수집하며, Localization 모듈은 이를 바탕으로 차량의 전역 위치를 추정한다. Planning 모듈에서는 궤적 계획, 횡방향 및 종방향 계획을 통해 차량의 주행 경로를 설계하며, Control 모듈은 이를 실행하기 위해 pure pursuit 알고리즘을 적용해 조향을 제어하고, Adaptive PID 제어를 통해 가속 및 감속을 정밀히 수행한다. 실 험에서 FV는 Control 모듈에서 도출된 제어 값이 차량에 전달되어 자율 주행한다.
통신은 5Hz의 속도로 설정하여 패킷을 주고받았다. 시나리오는 <Fig. 10>과 같이 세 가지로 구성된다: (1) 동일 차로에서 안전거리 이상일 때. (2) 동일 차로에서 안전거리 미만일 때. (3) 인접 차로에서 안전거리 미만 일 때. 각 시나리오에서 LV와 FV의 목표 속도는 40km/h로 설정되었으며, 비상 상황 발생 시 궤적 및 차량 상태를 분석하였다. LV와 FV 간의 차간 거리는 4-4장에서 제시한 안전거리 기준에 따라 설정하였다. 본 실 험에서는 목표 속도의 50%에 해당하는 20m로 설정하였으며, 선행 차량의 운전자가 차간 거리를 조정하였다.
40km/h로 설정한 실험은 같은 날에 4회씩 총 24회 진행되었으며, 5-2장의 실험 결과는 OBU의 통신 성능 이 <Table 3>과 같이 가장 원활했던 시나리오 세트를 분석하였다. RTT(Round Trip Time)는 보낸 패킷이 다시 돌아오는 데 걸리는 시간을 의미하며, Mbps는 전송 속도를 나타낸다. Packet Size는 통신 시 전송된 패킷의 크기를, Packet Rate는 초당 수신한 패킷 수를 수신율로 나타낸 값이다. 각 시나리오 세트에 대해서 평균 통 신 성능을 계산하였으며, 그 중 통신 결과가 가장 우수한 시나리오 세트를 실험 결과로 분석하였다.
<Table 3>
Communication Performance
Hz | RTT | Mbps | Packet Size | Packet Rate |
---|---|---|---|---|
5hz | 744 ms | 0.004 mbps | 381 byte | 96% |
2. 실험 결과
세 가지 시나리오를 수행한 궤적 변화는 <Fig. 11>과 같다. 비상 상황을 판단하기 위한 4-3장에서 설정한 TTC 임계값과, TTC감소율 임계값은 각각 10초와 –1초로 설정하였다. 비상 상황이 발생하면 LV는 궤적 색 상이 파란색에서 빨간색으로 변경되며, FV는 초록색에서 노란색으로 변경된다. 궤적 변화는 ENU 좌표계 기 준으로 분석되었으며, X축은 East, Y축은 North를 나타낸다. 첫 번째 시나리오는 LV와 FV가 동일한 1차로에 서 출발하며, 비상 상황 발생 전까지 동일한 궤적을 따라 주행한다. 궤적 분석 결과, 비상 상황 발생 후 LV 와 FV는 같은 방향으로 궤적을 정렬하며, 충돌 없이 주행 상태를 유지할 수 있음을 확인할 수 있었다.
두 번째 시나리오의 경우 FV는 LV의 궤적과의 충돌을 방지하기 위해 수직 방향으로 궤적을 평행 이동한 후 궤적 방향을 반전하여 정렬한다. 결과적으로 LV의 궤적은 좌측 차로로 이동하며, FV의 궤적은 우측 차로 로 변경된다. 세 번째 시나리오는 인접 차로에서 차량 간 거리가 안전거리 미만인 경우이다. LV와 FV는 각 각 다른 차로에서 주행을 시작하며, 비상 상황 발생 시 LV가 FV의 차로로 병합을 시도한다. 이때 FV는 LV 와의 충돌을 방지하기 위해 수평 방향으로 한 차로를 더 이동하여 궤적을 정렬한다. 분석 결과, LV와 FV의 궤적이 분리되며 충돌 위험이 해소된 것을 확인할 수 있었다.
시스템의 효과를 확인하기 위해 분석한 가속도는 <Fig. 12>과 같으며 비상상황 발생 시점 앞 뒤 5초간의 기록으로 가속도의 값으로 차량 운전의 효율성과 안정성을 확인할 수 있다. 모든 시나리오에서 비상상황 이 전과 이후의 FV의 가속도는 0.01m/s^2미만으로, 이는 차량의 운동 상태가 매우 안정적이며 노이즈 수준에 가 까운 값을 의미한다. 이는 급가감속 없이 안정적인 주행을 유지함을 나타낸다.
결론적으로 통신 프레임워크를 이용하여 비상상황에 대한 대처를 ETrA 알고리즘을 이용하였을 때, LV와 FV 모두 신속하고 안정적인 궤적 정렬을 수행하였다. FV의 궤적 정렬은 2차 사고를 방지하는 데 효과적이 었으며, 속도와 가속도 분석 결과 차량 제어의 안정성과 효율성을 확인할 수 있었다.
Ⅵ. 결 론
본 연구에서는 차량 간 협력을 통해 비상 상황을 효과적으로 대응하기 위한 데이터 통신 프레임워크인 통 신 프레임워크와 비상 궤적 정렬 알고리즘(ETrA)을 제안하였다. 통신 프레임워크는 차량 간 V2V 통신을 기 반으로, LiDAR 데이터를 활용한 환경 인식 및 Lanelet 기반 경로 계획을 통해 차량 상태와 장애물 정보를 통 합적으로 처리한다. 이를 통해 차량은 실시간으로 비상 궤적을 생성하고 공유할 수 있으며, 동적 도로 환경 에서도 신속하고 안정적인 궤적 정렬이 가능함을 확인하였다.
실험 결과, 동일 차로 및 인접 차로 시나리오에서 비상 상황 발생 시 후행 차량은 선행 차량의 비상 궤적 정보를 활용하여 충돌을 방지하고 안전한 경로로 정렬할 수 있었다. 특히, 동일 차로에서 안전거리 미만일 경우 후행 차량이 궤적을 반전하여 반대 차로로 이동하거나, 인접 차로에서 병합 충돌을 방지하기 위해 추가 적으로 차로를 변경하는 동작을 성공적으로 수행하였다. 이 과정에서 차량의 가속도의 차이 값은 0.01m/s² 미만으로 유지되었으며, 이는 차량 제어의 안정성과 비상 상황에서의 신뢰성을 입증한다.
추가적으로, 본 연구는 통신 프레임워크를 통한 V2V 통신 기반의 비상 상황 대응 시스템이 차량 제어의 안정성뿐만 아니라 사고 위험을 감소시키는 데 효과적임을 보였다. 향후 연구에서는 다양한 시나리오에서의 적용 가능성을 평가하고, 다수의 차량이 참여하는 복잡한 교통 상황에서의 성능을 검증할 계획이다. 이를 통 해 통신 프레임워크와 ETrA 알고리즘의 실질적인 적용 범위를 확대할 수 있을 것으로 기대된다.