2023.02.16 현대자동차그룹
현대차그룹은 지난 2021년, 세종시와 남양연구소에서 레벨 4 자율주행 시범서비스를 시작했습니다. 그리고 2022년에는 강남과 판교 지역으로 시범서비스를 확장했습니다. 현재도 레벨 4 자율주행 시범서비스를 확장하기 위해 연구와 개발을 지속하고 있습니다.
레벨 4 자율주행이란 도심의 특정 구역에서 승객이 원하는 목적지까지 자율주행 시스템을 통해 차량이 주행하는 것을 의미합니다. 그리고 현재 자율주행 시범서비스는 고객이 모바일을 통해 자율주행 차량을 호출하고 나서 최적의 이동경로를 따라 원하는 목적지까지 이동하는 방식입니다.
현 기준으로 강남, 판교, 남양연구소에서 운영 중인 레벨 4 자율주행 시범서비스는 각 지역의 도로 상황과 이용 고객의 특징을 고려해 강남은 아이오닉5, 판교 및 남양연구소에서는 쏠라티 자율주행 차량을 운영하고 있습니다.
자율주행 기술을 더 많은 고객에게 제공하기 위해 시범서비스를 확대하는 과정은 개인적으로 매우 뿌듯한 경험이었습니다. 하지만 운영 지역과 차종이 늘어나면서 소프트웨어의 복잡도가 증가하게 되었습니다. 특히, 도로와 상황에 영향을 많이 받는 경로 계획 알고리즘의 복잡도가 크게 상승했습니다. 개발 및 유지보수에 더 많은 노력이 필요하게 된 상황에서 가용 엔지니어 자원이 부족하면 시범서비스 확장에 문제가 발생하게 됩니다. 이러한 문제를 해결하기 위하여 어떤 노력을 기울이고 있는지 개발자 스토리를 통하여 여러분에게 전달하고자 합니다.
운영 지역이 확장될수록 자율주행 시스템이 대응해야 하는 도로 상황은 더 다양해집니다. 특히, 레벨 4 시범서비스가 주로 운영되는 도심은 교차로, 좌회전, 우회전, 유턴 등 도로의 형상과 타 차량의 끼어들기, 주정차 객체 회피 등 주행 시나리오가 매우 많습니다. 또한 차량, 보행자, 자전거, 킥보드 등의 요소들을 고려해야 합니다. 이러한 다양한 도로 상황은 경로 계획 알고리즘이 대응해야 하는 시나리오의 증가로 이어집니다.
시나리오별로 알고리즘을 개발한다면 소프트웨어의 복잡도는 운영 지역에 비례하여 증가하게 됩니다. 이는 소프트웨어 개발 및 유지보수에 필요한 노력이 급격히 증가함을 의미하며, 엔지니어의 시간과 자원은 한정되어 있기 때문에 서비스 확장에 제동이 걸리게 됩니다.
이 문제를 해결하기 위해서 시나리오별 경로 계획 알고리즘 개발이 아닌, 도로 상황에 일반화하여 적용 가능한 경로 계획 알고리즘을 개발하였습니다. 먼저, 모든 도로 상황을 표현할 수 있는 추상화된 단일 신호를 설계했습니다. 그리고 해당 신호를 입력 받아 경로를 계획하는 단일 알고리즘을 개발했습니다.
다양한 도로 상황을 표현할 수 있는 개념은 주행 가능 영역입니다. 주행 가능 영역은 차량이 목표지점까지 충돌 없이 주행 가능한 공간으로서 경로의 시작점, 목표점, 좌/우 경계, 경계 내 주행 가능 경로 신호들로 구성됩니다. 본 개념은 도로 상황을 차로 변경, 교차로 좌/우회전, 전방 객체 회피 등의 시나리오 레벨로 구분하지 않고 하나의 공통된 신호로 표현하는 추상화된 신호입니다.
레벨 4 자율주행 시범서비스는 지역에 따라 다양한 차종으로 운영할 수 있어야 합니다. 왜냐하면 서비스를 이용할 잠재 고객들의 특성이 지역별로 다르기 때문입니다. 가령 한 번에 적은 인원이 차량을 이용하고 목적지와 탑승지의 자유도가 높은 서비스가 필요한 지역은 승용차가 적합합니다. 반면, 많은 인원이 차량을 이용하되 고정된 노선의 수요가 높은 지역은 승합차 형태가 적합할 것입니다.
이처럼 지역별로 적합한 차종이 각각 다르기 때문에 자율주행 소프트웨어는 다양한 차종에 적용될 수 있어야 합니다. 그러나 차종별로 제원과 운동 특성이 다르다는 문제가 있습니다. 주행 경로를 계획하기 위해선 충돌 판단 시 차량 제원을 고려해야 하고 회전 시 최소 회전 반경과 같은 운동 특성을 반영해야 합니다.
따라서, ‘A 차량을 타깃으로 개발한 경로 계획 알고리즘이 B 차량에서도 의도대로 동작할 수 있을까’라는 의문에 차종 별 특화한 알고리즘을 개발하면 소프트웨어의 복잡도는 비효율적으로 증가하게 됩니다. [스토리 1]에서 설명한 운영 지역의 확장으로 인해 발생했던 문제가 차종이 확대될 때 동일하게 발생하는 셈입니다.
위 문제를 해결하기 위해 서로 다른 차종을 표현하는 추상화된 공통 신호를 설계하고 경로 계획 알고리즘에 해당 신호를 입력 받도록 설계했습니다. 모든 차종을 표현할 수 있는 공통 신호로는 제원에서 전장, 전폭, 축거 등의 물리량을 사용했고 최소 회전 반경, 차량의 바디(body) 개수(트랙터 트레일러의 경우 바디가 2개 이상) 등을 고려했습니다.
레벨 4 자율주행 기술이 인간이 직접 운전하는 것 이상의 주행 경험을 제공하기 위해서는 승차감과 안전이 고려된 경로를 생성해야 합니다. 승차감 및 안전과 관련된 정성적 사항들은 주행 경로가 만족해야 하는 제약 조건과 최적 조건으로 정리할 수 있습니다.
먼저, 제약 조건은 안전과 관련된 사항으로 반드시 충족되어야 하는 조건입니다.
1. 주행 경로는 주변 객체 및 도로 구조물과 충돌하면 안 된다.
2. 주행 경로의 곡률 반경은 차량의 최소 회전 반경보다 커야 한다.
3. 주행 경로는 차량의 ‘Nonholonomic’ 특성을 반영해 추종 가능한 경로여야 한다.
다음으로 최적 조건은 반드시 충족해야 하는 것은 아니지만 최상의 결과를 위해 추구해야 하는 조건입니다.
1. 주행 경로는 부드러워야 한다.
2. 주행 경로는 주행 가능 영역 경계와 여유 거리를 확보해야 한다.
상기 제약 조건과 최적 조건은 최적화 문제로 해석해볼 수 있습니다. 저희는 위 조건을 만족하는 주행 경로를 생성하기 위해 ‘Quadratic Programming (이하 QP)’ 최적화 기법을 도입했습니다. QP 최적화는 제약 함수를 만족하는 정의역에서 목적 함수가 최소가 되는 상태 값을 찾는 기법입니다. 본 방법은 ‘Convex’ 최적화 문제로 구성할 수 있어, 최적화 방법이 지니고 있는 연산 시간 과다와 수렴성의 이슈도 개선할 수 있다는 장점이 있습니다.
입력 신호로는 앞서 [스토리 1]과 [스토리 2]에서 이야기한 주행 가능 영역 신호와 차량의 물리량을 사용했습니다. 결과적으로 운영 지역 및 차종에 따라 파편화되지 않고 동일하게 적용할 수 있는 지역 경로 계획 알고리즘을 완성할 수 있었습니다. 현재 강남, 판교 그리고 남양연구소에서 운행 중인 아이오닉 5와 쏠라티 자율주행 차량에는 곡률 구간에서의 QP 최적화 기반 경로 계획 알고리즘이 적용되어 있습니다.
지금까지 레벨 4 자율주행 기술 중 경로 계획 알고리즘 개발 과정에 대해 살펴봤습니다. 단순히 자율 주행 기술을 구현하는 것이 아니라, 고객에게 자율주행 기술의 가치를 전달하기 위해 필요한 요소(레벨 4 자율주행 기술의 확대), 이를 충족하기 위해 풀어야 할 과제(운영 지역과 차종 확대에 따른 소프트웨어 복잡도 증가 및 필요 공수의 증가), 그리고 해결 방안(운영 지역과 차종을 추상화한 신호 및 단일 경로 계획 알고리즘)을 위해 여러 관점에서 고민과 노력을 끊임없이 이어가고 있습니다.
레벨 4 자율주행 기술의 가치를 더욱 많은 고객에게 제공하기 위해 경로 계획 알고리즘을 지속적으로 개선하고 있습니다. 지금까지 수많은 문제를 풀었지만, 여전히 흥미로운 문제들이 많이 남아있습니다. 예를 들어 물류 산업에 사용되는 윙바디, 트레일러와 같은 차량 구조에 적용할 수 있는 경로 계획 알고리즘, 센서 인지 및 측위 불확실성 내에서 안정적인 경로 계획, 자율주행 차량의 센서 일부가 고장 난 제한된 신호 환경에서의 경로 계획 등은 현재 활발히 연구 중인 주제입니다.
자율주행 기술은 인간에게는 안전과 편의를, 산업에는 혁신을 가져올 것입니다. ADAS 기술이 이미 사회에 많은 가치를 제공하고 있듯, 자율주행 기술도 머지않아 사회에 큰 가치를 제공할 것으로 기대됩니다. 앞으로 자율주행 기술이 가져올 사회의 변화를 기대하면서 많은 관심과 응원 부탁드립니다.