1. 서 론
자율주행 기술이 발전함에 따라 첨단 운전자 보조 시스템은 많은 기업들에 의해 널리 상용화되었다. 현재는 첨단 운전자 보조 시스템을 넘어 완전 자율주행을 위하여 자율주행으로 대응 가능한 시나리오를 확장하려는 노력이 진행되고 있다. 주행 시나리오 중에서, 주정차 차량, 라바콘 등의 고정 장애물을 회피하는 시나리오 구현은 자율주행 차량 기술 개발에 있어서 필수적이다. 고정 장애물 회피 기능의 불완전성 또는 부재는 완전 자율주행 달성에 있어 중요한 장애 요소 중 하나이다. 이를 해결하기 위하여 제약 조건 준수가 보장된 고정 장애물 회피 경로 생성 기술은 필수적이다. 또한, 운전자 수용성 제고를 위해 회피 경로는 운전자의 주행 특성을 고려해서 생성되어야 한다.
고정 장애물 회피 경로 생성과 관련하여 많은 연구들이 수행되어왔다. 대표적으로 샘플링 기법이 회피 경로 생성 과정에 적용되었다(1,2). 샘플링 기법에서는 정해진 기하학적 패턴을 가진 경로 샘플들을 다수 생성한 후, 비용 함수와 제약 조건을 기반으로 최적의 샘플을 선정한다. 이 방법은 단순한 장애물 배치 조건에서 우수한 성능을 보이나, 복잡한 장애물 배치 조건에서 경로의 유연성 확보를 위한 추가적인 개선이 필요하다. 주행 경로를 수치적 최적화 기법을 이용하여 도출하는 방법이 많은 연구자들에 의해 제안되어 왔다(3,4). 이 방법은 샘플링 기법과 비교하였을 때 경로의 기하학적 패턴을 설정하지 않고 최적 경로를 얻을 수 있다는 장점이 있다. 최근에는 운전자의 주행 패턴에 기반한 모방학습을 활용하여 자율주행 방법론들이 많이 제안되고 있다(5,6). 이 방법은 자율주행 기반 주행 특성을 운전자의 주행 특성과 유사하게 구현하게 함으로써 운전자 수용성을 향상시킬 것으로 전망된다. 최근 모방 학습 분야에서는, 인지 정보로부터 최종 결과 도출까지의 과정을 인공 신경망이 수행하는 End-to-End(E2E) 방식이 주류 중 하나로 각광받고 있다. 대표적으로 이미지 정보 또는 주변 점군 정보를 인풋으로 하여 차량의 제어 입력 또는 경로 생성 결과를 도출하는 시도가 이루어졌다(7,8). 그러나 이러한 인공 신경망 기반의 자율주행 알고리즘은 차량의 충돌 안전성을 보장하는 장치를 포함하고 있지 않으므로, 특정 상황에서는 안전성을 해칠 위험이 존재한다.
본 연구에서는 고정 장애물이 혼재된 환경에서의 자율주행을 위한 경로 생성 알고리즘을 제안한다. 제안된 알고리즘은 모방 학습과 최적화 기법을 혼합한 방식으로, 모방 학습 기반으로 도출된 주행 경로를 최적화 문제를 통해 후처리하는 방법이 적용되었다. 최적화 문제를 적용함으로써 모방 학습 기반 주행 경로를 제약 조건을 명확히 만족하는 주행 경로로 전환하였다. 해당 알고리즘은 고정 장애물이 혼재된 시나리오에서 시뮬레이션 기반으로 성능이 검증되었다. 2장은 전체 알고리즘 구조, 3장은 모방 학습 네트워크, 4장은 최적화 문제 설계를 다룬다. 이어서 5장은 시뮬레이션 결과, 6장은 본 연구의 결론 및 향후 연구 계획을 다룬다.
2. 알고리즘 구조
Fig. 1은 해당 알고리즘의 전체 구조를 나타낸다. 본 연구에서는 고정 장애물 맵, 레퍼런스 경로, 및 차량 센서 정보가 주어졌다는 가정 하에 경로 계획 알고리즘이 실행된다. 공간 상의 주행 경로가 최종 결과로서 도출되고, 이는 조향 제어 알고리즘의 입력으로 전달된다. 본 알고리즘은 모방 학습 기반 주행 경로 도출, 최적화 기법 기반 주행 경로 가공을 포함한다. 첫 번째 과정에서는 모방 학습 과정을 통하여 훈련된 인공 신경망을 기반으로 주행 경로를 도출한다. 이 때 인공 신경망에서는 고정 장애물 맵, 레퍼런스 경로, 차량 센서 정보를 인풋 정보로써 활용한다. 두 번째 과정에서는 모방 학습 기반 주행 경로가 최적화 기법 기반으로 가공되어 최종 경로가 도출된다. 본 연구에서는 주행 경로가 과도한 곡률을 포함하거나 고정 장애물과의 충돌이 일어나지 않도록 하는 비용 함수와 제약 조건을 적용하여 최적화 문제를 설계하였다. 이 때 모방 학습 기반 주행 경로 결과는 최적화 문제의 초기 추정값 및 추적 대상 레퍼런스로 활용된다.
3. 모방 학습 네트워크
모방 학습 네트워크는 Fig. 2와 같이 구성되었다. 해당 네트워크는 고정 장애물 맵, 레퍼런스 경로, 차량 센서 정보 각각에 대한 인코더 및 주행 경로 디코더로 구성되어 있다. 고정 장애물 맵 인코딩을 위하여, 1차원 범위 지도 형태의 인풋이 사용되었다. 고정 장애물 맵 정보로는 자차량 기준 전방 영역을 고려하여 수평선 상 2°의 정밀도를 갖는 지도를 사용하였다. 이에 따라 180°/2°+1=91의 크기를 갖는 지도가 인풋으로 사용되었다. 이는 3개의 1차원 컨볼루션 레이어들을 이용하여 순차적으로 128, 128, 256의 크기를 가진 벡터로 변환된다. 이 때, 각 레이어에서는 커널 크기 3, 스트라이드값 2, 패딩값 1이 적용되었다. 마지막 컨볼루션 레이어의 아웃풋 벡터는 1차원으로 평탄화된 후 완전 연결 레이어를 통해 256의 크기를 가진 벡터로 최종 변환된다. 레퍼런스 경로 인코더는 경로의 x-y 좌표를 1차원으로 평탄화한 벡터를 3개의 완전 연결 레이어들을 통해 각각 64의 크기를 가진 벡터로 변환한다. 이 때, 레퍼런스 경로는 점간 간격 1 m의 총 50개의 경로점들로 구성되어 있어, 이 정보를 1차원으로 평탄화한 벡터는 100의 크기를 가진다. 있차량 센서 정보는 2개의 완전 연결 레이어들 통해 순차적으로 32, 64의 크기를 가진 벡터로 변환된다. 이 때 차량 센서 정보는 차량의 속력, 레퍼런스 경로에 대한 횡방향 오차 및 헤딩 오차의 3가지 정보로 구성되었다. 상기 각 3개의 인코더를 통해 인코딩된 정보들은 한 개의 벡터로 연결된 후 완전 연결 레이어 및 장단기 기억 신경망을 통하여 자차량의 미래 주행 경로의 x-y 좌표에 대한 배열로 변환된다. 이 때, 장단기 기억 셀의 인풋/아웃풋의 크기는 128로 설정되었다. 이 때, 각 장단기 기억 셀을 통과한 아웃풋은 3개의 완전 연결 레이어들을 통해 순차적으로 64, 32, 2의 크기를 가진 벡터로 변환된다. 이 때, 자차량의 미래 주행 경로는 총 40개의 경로점들로 구성되어 있다.
해당 네트워크를 훈련하기 위하여 전문가 주행 데이터셋이 시뮬레이션 기반으로 마련되었다. 시뮬레이션 상에서는 수동 조작의 숙련도가 떨어짐을 고려하여 본 연구에서는 순차이차계획법 기반의 경로 계획 기반 주행을 전문가 주행으로 가정하였다(9). 시뮬레이션 환경은 고정 장애물들이 혼재되어 있는 환경으로 구성하였으며, 자차량의 초기 위치, 고정 장애물의 개수 및 위치를 랜덤 함수 기반으로 지정하여 주행 시나리오를 구성하였다. 이 때, 네트워크 아웃풋의 정답값으로는 자차량의 로컬 좌표 기준 미래 궤적 정보를 점간 간격 1 m로 리샘플링한 배열을 사용하였다. 이에 따라 총 15만개 가량의 전문가 주행 데이터 샘플이 취득되었다.
상기 신경망은 취득된 전문가 주행 데이터셋을 이용하여 지도 학습 기반으로 훈련되었다. 취득된 훈련데이터 샘플의 70%는 훈련에 사용되었고, 나머지 30%는 모델 정확도 평가에 사용되었다. 학습을 통해 최소화하고자 하는 손실 함수의 종류로는 평균 제곱 오차를 선택하였다. 손실 함수는 ADAM 최적화 방법을 기반으로 최소화되었다.(10) 학습률은 0.0007로 설정하였으며, 훈련 에포크 수는 80으로 설정하였다.
Table 1은 훈련된 모방 학습 네트워크의 예측 정확도를 나타낸다. 모델 정확도 평가 데이터셋 대상으로 미래 주행 경로의 예측값과 정답값의 오차를 ADE(Average Distance Error)와 FDE(Final Distance Error)에 의거하여 도출하였다. ADE는 미래 주행 경로의 첫 번째 인덱스 지점에서 해당 인덱스 지점까지의 오차의 평균을 나타내고, FDE는 미래 주행 경로의 해당 인덱스 지점에서의 오차를 나타낸다. 분석 결과, 예측 오차가 일반적인 차선 폭 대비 1/4 이하로 도출되어, 제안된 모방 학습 네트워크가 전문가의 주행 양상을 높은 유사도로 모방할 수 있음을 알 수 있다.
4. 최적화 문제 설계
모방 학습을 기반으로 훈련된 인공 신경망에서 도출된 주행 경로는 최적화 문제 해결을 통해 가공되어 곡률, 충돌 안전성 등의 제약 조건을 만족하는 최종 주행 경로로 변환된다. 최적화 문제는 다음과 같이 설계되었다.
는 경로 계획 호라이즌, 는 목표 차선에 대한 횡방향 오차 및 헤딩 오차 로 구성된 상태 변수, 는 추적 대상 레퍼런스 상태 변수, 는 차량의 요 레잇에 해당하는 시스템 입력 변수, 는 시스템 모델, 는 차량과 장애물 간의 안전 영역 위반에 대한 슬랙 변수, 는 차량과 장애물 간의 충돌 판정 함수이다. 해당 최적화 문제가 공간 상의 경로 계획임을 고려하여, 경로 계획 호라이즌은 시간에 대한 호라이즌이 아닌 공간에 대한 프리뷰에 대응된다. 차량의 요레잇 및 요레잇 변화 제한에 해당하는 와 는 조향 액츄에이터의 제공 가능한 최대 조향각 및 시간당 최대 조향각 변화를 고려하여 결정된다. 식 (1)의 최적화 문제를 풀기 위한 초기 추정값 및 는 모방 학습 기반 네트워크에서 도출된 주행 경로를 사용하여 결정되었다. 모방 학습 기반 주행 경로의 목표 차선에 대한 횡방향 오차 및 헤딩 오차 를 이용해 초기 추정값 및 를 구성하였다. 식 (1)의 비용 함수 는 모방 학습 기반 주행 경로 추종 오차, 요레잇 크기, 요레잇 변화 크기, 장애물과의 충돌 위험에 패널티를 부여한다.
시스템 모델은 다음과 같이 정의된다.
와 는 각각 목표 차선에 대한 횡방향 오차 및 헤딩 오차, 는 목표 차선 경로 지점의 간격, 는 목표 차선의 곡률, 는 자차량 속력이다. 번째 상태 변수 는 자차량의 현재 위치와 가장 가까운 목표 차선 경로 지점을 인덱스 0으로 하였을 때, 진행 방향 상 번째 지점에서의 상태 변수를 의미한다. 자차량의 번째 지점에서의 상태 변수 및 시스템 입력 변수에 대한 그림을 Fig. 3에 도시하였다.
번째 스텝에서 장애물과의 충돌 판정은 근방의 장애물 점군 중 자차량의 점유 영역 내에 있는 점군의 존재 여부로 알아낸다. 이 때 자차량의 형상은 반시계 방향으로 꼭지점 A, B, C, D를 가진 직사각형으로 간주한다. 장애물 점군의 원소 P에 대한 점유 판별은 총 네 개의 삼각형 PAB, PBC, PCD, PDA의 넓이의 합이 직사각형 ABCD의 넓이와 같은지로 확인한다. 넓이가 같을 경우 점 P는 직사각형 ABCD 내에 존재한다고 판별된다. 장애물과 자차량 간의 거리가 가까워지는 것에 패널티를 부여하기 위하여 슬랙 변수 를 도입하였는데, 이를 포함하여 인 조건은 하기와 같이 정의하였다.
는 아랫첨자에 해당하는 도형의 넓이를 의미한다. 네 개의 삼각형의 넓이의 합이 직사각형 ABCD의 넓이보다 의 값만큼 크거나 그 이하일 경우 장애물과 차량 간의 거리가 위험 수준으로 가깝다고 간주하여 이에 대한 패널티를 비용 함수에 반영하였다. 삼각형의 넓이를 이용한 충돌 판정의 예시를 Fig. 4에 도시하였다. 좌측 그림의 경우 네 개의 삼각형 PAB, PBC, PDC, PDA의 넓이의 합이 직사각형 ABCD보다 크므로, 충돌 방지 조건을 만족한다. 그러나 오른쪽 그림의 경우 네 개의 삼각형 PAB, PBC, PDC, PDA의 넓이의 합이 직사각형 ABCD와 같으므로 충돌로 판정된다. 따라서, 해당 최적화 문제는 모방 학습 기반 경로 도출 결과를 충돌 안전 확보, 시스템 특성 준수 및 과도한 곡률 방지를 만족하도록 가공하는 역할을 수행한다.
5. 시뮬레이션 결과
본 연구에서 제안한 경로 계획 알고리즘의 성능은 고정 장애물이 존재하는 도로 상황을 상정한 시뮬레이션 기반으로 검증되었다. 하기와 같이 2종의 시뮬레이션 시나리오를 정의하였다.
Scenario 1: 자차선 내 우측에 차량 크기의 한 개의 고정 장애물이 놓여 있다. 자차량은 이를 회피하기 위하여 차로 중심선 기준 좌측 방향으로 편향해서 주행해야 한다.
Scenario 2: 자차선 내 좌측과 우측에 진행 방향 상 순서대로 차량 크기의 고정 장애물이 각각 놓여 있다. 총 두 개의 고정 장애물이 존재하며, 자차량은 이를 회피하기 위하여 차로 중심선 기준 우측과 좌측 방향으로 순서대로 편향해서 주행해야 한다.
해당 시뮬레이션 환경 내에 경로 계획 알고리즘을 적용하고, 계획된 경로의 추종을 위하여 Pure Pursuit 기반 조향 제어 알고리즘을 적용하였다. 상기 시뮬레이션 환경 구성, 경로 계획 알고리즘 적용 및 조향 제어 알고리즘 적용은 파이썬 코드를 활용하여 이루어졌다. 모방 학습 기반 네트워크 훈련 및 적용에는 파이토치 환경을 사용하였고,(11) 최적화 기법 적용을 위한 문제 해결 소프트웨어로는 CasADi를 사용하였다.(12) 알고리즘이 적용된 컴퓨터에는 Intel Core i9-12900K 기반 중앙 처리 장치와 NVIDIA GeForce RTX3070 Ti 기반 그래픽 처리 장치가 장착되었다.
두 시나리오에서 제안된 경로 계획 알고리즘을 적용하였을 때 나타나는 자율주행 차량의 궤적을 Fig. 5에 도시하였다. Fig. 5에서 확인할 수 있듯이, 제안된 알고리즘에서 모방 학습 기반 네트워크가 적용됨에 따라 전문가 주행 결과와 유사한 주행 궤적을 얻을 수 있었다. 또한, 최적화 문제를 통해 제약 조건을 준수하는 주행 경로 결과를 도출하였으므로 자율주행 차량이 고정 장애물과의 충돌 없이 안정적으로 회피 주행을 완료하였다. 주행 경로 도출에 필요한 평균 알고리즘 연산 시간은 Scenario 2 기준 126.1 ms로 나타났다. 이는 T. Zhang이 제안한 최적화 기반 경로 계획 설정 주기인 1 Hz와 비교했을 때 적절한 수치이다.(13)
알고리즘의 주행 성능 향상 검증을 위하여 제안된 알고리즘과 베이스라인 알고리즘 간의 비교 평가를 수행하였다. 베이스라인 알고리즘은 모방 학습 기반 네트워크의 아웃풋을 최종 경로 도출 결과로 활용하는 알고리즘으로 정의하였다. 이는 최적화 문제 기반으로 경로 도출 결과를 가공하는 과정이 생략된 알고리즘이다. 베이스라인 알고리즘과의 주행 성능을 안전성 측면에서 비교한 결과를 Table 2에 나타내었다. 성능 지표로는 경로 계획 결과의 충돌 안전성 위반 빈도 및 자율주행 중 충돌 빈도가 선정되었다. 비교 결과에 따르면 제안된 알고리즘을 적용하였을 때 충돌 안전성이 크게 향상되었다. 이는 모방 학습 기반 네트워크에서 도출된 경로를 충돌 안전 관련 제약 조건을 만족하도록 가공하는 과정이 포함되었기 때문이다. 성능 향상은 Fig. 6의 예시에서도 확인할 수 있다. 베이스라인 알고리즘에서 고정 장애물을 회피하려는 경향의 경로를 도출하였으나, 충돌 안전성을 보장하는 경로를 도출하는 데에는 실패하였다. 반대로, 제안된 알고리즘에서는 고정 장애물을 더 넓은 거리를 두고 편향하여 회피하는 경로를 도출하였다.
Table 2.
Comparison results of occurrence rate of undesirable cases in static obstacle avoidance simulations
6. 결 론
본 연구에서는 고정 장애물이 존재하는 도로 환경에서의 자율주행을 위한 경로 계획 알고리즘을 제시하였다. 전문가 주행 데이터를 활용하여 모방 학습으로 훈련된 인공 신경망을 기반으로 주행 경로를 도출하였다. 해당 주행 경로를 레퍼런스 및 초기 추정값으로써 활용하는 최적화 문제를 정의하여 최종적으로 안전성이 확보된 주행 경로를 도출하였다. 이에 따라 전문가 주행 패턴을 따라가면서도 제약 조건을 준수하는 경로 계획을 구현하였다. 제안된 알고리즘은 고정 장애물이 존재하는 시뮬레이션 환경에서 검증되었고, 인공 신경망 기반으로만 주행 경로를 도출하는 알고리즘에 비해 충돌 안전성이 향상되었다는 결과를 얻었다.
추후에는 제안된 알고리즘이 실차 수준에서 안정적으로 작동할 수 있도록 개선할 계획이다. 특히, 제한된 계산 성능 극복을 위해 알고리즘을 저레벨 코드로 변환하여 임베디드 시스템에 적용하는 방안을 검토할 것이다. 또한, 시뮬레이션과 실차 성능 간의 차이를 줄이기 위해 지연 시간이 짧은 액츄에이터의 활용을 검토하며, 액츄에이터 지연 시간을 줄이기 어려운 경우 이를 보상하는 알고리즘을 적용할 예정이다. 더불어, 모방 학습과 최적화 기법을 결합하여 고정 장애물 회피뿐만 아니라 동적 교통 환경에서의 차선 변경, 교차로 통과 등 다양한 시나리오에 적용할 수 있도록 알고리즘을 보완할 계획이다.








