Ⅰ. 서 론
ADAS와 자율주행의 인지 기술에는 다양한 종류의 환경 센서가 사용되고 있으며, 특히 라이다는 카메라 나 레이더에 비해 강인하고 신뢰도 높은 인지 성능을 제공한다. 라이다는 최근까지 높은 가격으로 의해 양산 차량에 적용되기 어려운 문제점을 가지고 있었지만, 최근 라이다 시장 확대로 인해 가격이 빠르게 낮아지고 있다. 2018년 독일 Audi사는 세계 최초로 라이다를 장착한 양산 차량 A8을 출시했으며, 2019년 미국의 라이 다 제조 업체인 Luminar사는 500달러 정도의 라이다 ‘iris’를 개발하여 라이다 대중화의 가능성을 높이고 있 다. 또한, 여러 자동차 OEM에서는 라이다 업체와의 협력을 통해 양산 차량에 라이다 기반의 자율주행 기능 를 장착하기 위한 연구를 활발히 진행 중이다.
이러한 동향은 기존의 차선유지시스템 LKS(Lane Keeping System)와 적응형 순항제어시스템 ACC(Adaptive Cruise Control)와 같은 자율주행 기술의 한계점 개선에도 크게 이바지할 것으로 보인다. 레이더에 주로 의존 하는 ACC의 경우 레이더의 고장이나 불확실한 상대거리 값이 계측되는 경우 전방 차량과의 충돌위험이 존 재한다. 카메라에 주로 의존하는 LKS는 카메라의 고장이나 조도나 도로 환경에 따른 불확실한 차선 인식 상 황에서는 차선 이탈로 인해 도로 구조물 또는 주변 차량과의 충돌이 발생할 수 있다.
레벨3 자율주행자동차의 경우, 센서의 결함 또는 한계 등 인지시스템에 위험한 상황이 발생했을 경우 운 전자에게 경고음 등을 통해 수동모드로의 제어권 전환 요청인 TOR(Take Over Request)을 실시한다. 만약 제 어권 전환 요청에도 운전자가 제어권을 받지 않을 경우 MRM(Mimimal Risk Maneuver) 즉 최소위험기동을 구현하여야 한다 (Aptiv et al., 2019). 자동차 규정에 대한 국제조화기구인 UNECE WP.29에서는 산하기구 GRVA를 통해 자율주행자동차에 대한 각종 규정을 제정하고 있는데, 최근 자율주행자동차의 조향 기능에 관 련된 규정인 ACSF(Automatically Commanded Steering Function)를 제정하면서, LKS 시스템이 갖추어야 할 MRM 기능을 명시하고 있다 (GRVA, 2020). 즉 위험 상황 발생 시 차량이 주행차선 내에서 안정된 횡방향 위치를 유지하여 교통 흐름에 방해가 되지 않아야 한다는 기능의 목적과 함께 이러한 기능이 자율주행자동 차의 안전에 필수적 요소라는 것을 강조하고 있다.
본 논문과 관련된 이전 연구를 살펴보면, Kang은 차선정보 인식 실패 시 정상 주행이 가능하도록 차량 내 부 센서, GPS 및 횡방향 차량 모델을 사용하여 차선정보를 복원하는 연구를 수행하였다. 차선 인식 실패를 2가지 모드 즉, 순간적으로 차선이 인식되지 않는 상태인 short-term fail(200~300msec)과 영상정보를 취득하지 못하는 상황인 long-term fail(1~2sec)로 구분하여, 차선 인식 고장 시 이를 대처하기 위한 고장 안전 기술을 개발하였다 (Kang et al., 2017). Song은 차선정보가 명확하지 않은 차선 오인식 상황에서 차선인식의 강인성 을 높이고자 카메라 영상처리를 통한 자차량의 움직임을 예측하여 가상의 차선을 생성하는 기술을 개발하였 다. 이를 통해 조도가 갑자기 변하는 환경에서도 차선인식의 가능성을 제시하였다 (Song et al., 2019). Lee는 GPS 기반 경로점 추종 과정에서 GPS의 오차로 인해 발생하는 위험 상황 시 곡선형 차선 모델을 이용하여 차선을 검출하고, 곡선 매칭을 기반으로 하여 GPS의 오차를 개선하는 연구를 수행하였다. 이를 통해 교차로 및 급커브 구간, 직선 구간 이후 곡선 구간에서 위치 정보를 제공하여 위험 상황을 예방하는 기술을 개발하 였다 (Lee et al., 2015). Kim은 GPS 신호 수신이 원활하지 않은 음영지역에서 사고를 예방하기 위해 AVM 카 메라를 통해 도로 위 차선을 검출해 주행상태를 복귀하는 시스템을 구현하였다. 정확한 GPS 신호 수신 전까 지 주위 차선을 인식하여 주행하기 때문에 GPS 신호 세기 감소로 인한 사고를 예방하는 안전 기술을 또한 개발하였다 (Kim et al, 2018).
차선 인식에 문제가 생겼을 때 이에 대처하는 기술에 관한 위의 연구들을 살펴보면, 대부분 GPS 또는 카 메라 정보에 의존하고 있다. GPS의 경우 고가의 정밀 GPS가 아니면 측위 오차가 수 m까지 발생할 수 있고 터널 안에서 GPS 신호 수신이 어려우며 건물이 많은 도심에서는 반사, 굴절 등의 현상으로 GPS 오차가 커 지는 문제가 있다. AVM 카메라 또는 카메라 센서의 과거 신호를 기반으로 차선을 생성하는 경우, 수 초 정 도의 비교적 짧은 시간 동안은 효율적으로 위험에 대처할 수 있으나 운전자가 제어권 전환을 받지 않는 시 간이 길어질 경우 위험도가 시간이 감에 따라 점차 증가하는 문제점을 가지고 있다.
본 연구에서는 레벨3 자율주행자동차의 카메라 기반 LKS에서, 카메라의 결함, 한계 또는 차선정보 소실과 같은 위험 상황이 발생하였을 때, 라이다를 이용하여 가상의 경로점을 생성하고 이를 추종해 위험도를 최소 화할 수 있는 MRM 알고리즘을 개발하였다. 본 연구의 라이다 기반 LKS MRM 기술은, 먼저 전방 및 측전방 의 목표 차량을 인지하기 위하여 라이다로 계측된 Point Cloud Data를 군집화하여 목표 차량을 추출하고 중 심점을 생성한다. 생성된 중심점을 누적하고 여기에 자차량의 속도와 요레이트를 반영하여 목표 차량의 이 동 경로를 생성하고, 이를 자차량의 목표 경로점으로 변환하여 경로 추종을 수행한다.
Ⅱ. LKS 시스템을 위한 MRM 전략
본 연구에서는 카메라의 고장이나 악천후, 도로 환경으로 인한 차선정보 소실과 같이 인지 시스템에서 생 기는 위험으로 인해 LKS를 정상적으로 수행하기 힘든 경우에 대한 라이다 기반의 MRM 알고리즘을 개발하 였다. <Fig. 1>은 본 연구에서 제안하는 LKS MRM 기능을 포함하는 LKS 시스템의 블록 선도를 나타낸다. 조향 제어를 위해 시스템은, 카메라 기반의 LKS 모드, 라이다 기반의 MRM 모드, 수동운전 모드의 3가지 모 드로 구분되며, 위험 상황의 발생 여부와 운전자의 제어권 수락 여부에 따라 이들 모드 사이에서 천이가 일 어난다.
위험 상황의 발생 여부에 따른 MRM 모드로의 천이 조건은 카메라 센서의 고장으로 인한 Alive Count 정 지, 차선 오인식 및 미인식으로 인해 이전 조향각 대비 비정상적인 조향각을 생성 등이 있다. 이러한 조건의 상황이 일정 샘플 동안 지속될 때 MRM 모드로의 천이가 이루어진다. 특정하고자 하는 샘플링 수는 카메라 센서의 샘플링 주기에 따라 결정되며 본 연구에서는 LKS 차량에서 카메라 차선 정보를 차량에 송신하는 CAN 통신 주기가 66ms~100ms인 점을 고려하여 5~8개의 샘플로 특정하였다.
MRM 모드 진입 시 카메라를 통한 차선정보의 획득이 불가능하므로 라이다 센서로 계측된 전방 목표 차 량의 위치 정보를 통해 가상의 경로점을 생성한다. 생성된 경로점을 경로 추종 알고리즘을 사용해서 차로 유 지를 위한 조향 제어를 하게 되는데, 이는 카메라로 차선을 인식하고 이로부터 차로 이탈 오차를 최소화하는 LKS의 조향 제어 알고리즘과는 차이가 있다.
MRM은 그 정의에 따르면, 운전자가 제어권 전환 요청(TOR)에 반응하지 않을 때 위험 가능성을 최소화하 기 위해 시스템이 자동으로 구현하는 기동 절차라고 되어 있다 (Aptiv et al., 2019). 이때 위험을 최소화하기 위한 알고리즘도 중요하지만 운전자가 TOR에 반응하기까지 얼마의 시간을 기다리는가 하는 것은 매우 중요 하다.
ACSF-16-08에서는 다양한 연령의 실험자들을 대상으로 한 실험을 통해, 조향 시스템에서 위험 상황 발생 시 TOR 경고 후의 최장 대기시간을 4초로 정의하고 있다 (OICA, 2017). 또한 ACSF의 그 이후 문서인 ACSF-19-08에서는 본 연구에서 다루는 위험 상황인 ‘System Failure(시스템 고장)’와 ‘Unplanned Transition(계 획되지 않은 제어권 전환)’ 2가지 상황에서의 MRM 개입 시점에 대해 언급하고 있다(OICA, 2018). 즉 카메라 고장과 같은 System Failure의 경우, 운전자가 TOR에 대응하기 전에 차량이 위험 거동을 보일 수 있기 때문 에, 고장 발생 감지 즉시 TOR과 MRM을 동시에 수행한다고 되어 있다. Unplanned Transition은 본 연구에서 좋지 않은 도로 환경으로 차선 정보가 소실된 상황의 경우가 해당되는데, 이 경우 카메라를 통해 전방 차선 의 이상 유무를 인지하고 위험 상황을 방지하기 위해 TOR과 MRM을 함께 실시한다고 되어 있다. 본 연구에 서는 최대 대기시간에 관계없이 위험을 감지한 순간부터 MRM을 작동하게 함으로써, 일정 시간 이후 수동 모드로 전환되는 경우에도 운전자가 보다 안전한 상태에서 차량 제어권을 전환 받을 수 있도록 하였다.
Ⅲ. 라이다 기반 목표 차량 검출 및 추적
<Fig. 1>에서 보는 것과 같이 LKS MRM 알고리즘은 먼저 라이다 센서를 이용해서 자차의 전방에 위치한 차량을 검출하는데, 이는 군집화와 추적의 2단계를 통해 이루어진다. 본 연구에서는 군집화를 위해 밀도 기 반의 군집화 방법인 DBSCAN 기법을 사용하였으며 군집화된 포인트 클라우드의 중심점을 칼만 필터를 통해 추적하여 전방 차량의 경로를 계산하였다.
본 연구의 알고리즘은 Matlab/Simulink를 이용하여 구현하였으며, 알고리즘의 검증을 위해서 PreSCAN을 사용하였다. <Fig. 2>는 PreSCAN에서 사용된 차량의 제원과 센서의 제원 및 장착 위치를 보여준다. 차량 모 델로는 아우디 A8을 사용하였으며, 센서 모델로는 라이다를 나타낼 수 있는 Point Cloud 센서를 사용하였다. 센서의 위치는 무게중심의 수직선 상에 있는 루프의 위치에 장착된 것을 가정하였다. 센서의 인지 범위는 수 평 화각 120도, 수직 화각 30도, 전방 인지거리 50m로 설정하였으며, 레이저 빔의 해상도는 수직으로 2도, 수 평으로 0.3도로 설정하였다. 센서의 제원은 실제 라이다의 특성을 반영하여 설정하였다.
본 연구에서 개발한 LKS MRM 알고리즘은 라이다 센서를 통해 취득되는 포인트 클라우드 형태의 원데이 터(raw data)로부터 시작되도록 설계하였다. 이는 본 연구의 알고리즘이 특정한 라이다에만 적용되지 않고 범 용적으로 사용될 수 있게 하기 위함이다. <Fig. 3>은 본 논문에서 개발한, 전방 차량 검출 및 추적을 위한 알 고리즘의 계산 과정을 보여주며, 자세한 내용은 아래에 설명되어 있다.
자동차 전용도로에서 라이다로부터 출력되는 원데이터에는 주변 차량 뿐 아니라 인지 범위 내에 있는 지 면, 가드레일, 표지판, 등에 해당하는 포인트 클라우드가 포함되기 때문에, 차량을 검출하기 전에 신호처리를 통해 차량 이외의 물체를 제거하는 것이 필요하다. 이러한 전처리 과정을 위해 본 연구에서는 저자의 이전 연구를 참고하였다 (Son et al., 2019). 라이다의 수직 화각 중 아래 부분은 지면을 향하기 때문에 <Fig. 2> 포 인트 클라우드는 동심원 모양의 지면 데이터를 포함하는데 본 연구에서는 RANSAC 알고리즘을 사용하여 이 를 제거하였다. 또한, 그 밖의 가드레일과 같은 정지 장애물의 제거에도 유사한 방법을 사용하였다. 이러한 전처리 과정은 본 논문이 소개하고자 하는 주된 내용이 아니어서 자세한 설명은 생략하고자 한다.
전처리를 통해 지면과 불필요한 물체를 제거하고 나면 센서 인지 범위에 들어 있는 다른 차량의 포인트 클라우드만 남게 되는데, 이들을 각각의 객체로 인지하기 위해선 군집화 과정이 필요하다. 서로 인접한 객체 들을 하나의 객체로 인지하지 않고 개별 객체로 검출하기 위해선 정밀한 군집화가 요구된다. 본 논문에서는 거리와 밀도 기반의 군집화 방법인 DBSCAN 알고리즘을 사용하여 각각의 객체 포인트 간의 밀도를 기반으 로 군집화하였다 (Xu and Wunsch, 2005). DBSCAN 알고리즘은 군집 간의 거리를 이용하여 군집화하는 Euclidean 군집화 기법(Rusu and Cousins, 2011)과는 달리 포인트들의 밀도가 높은 부분을 군집화한다. 따라서 상대적으로 밀도가 적은 외란 성분에도 강인하게 객체를 군집화할 수 있는 이점을 가진다.
<Fig. 4>는 DBSCAN을 통한 군집화 과정을 도식화하고 있다. DBSCAN 군집화에는 군집으로 이루고자 하 는 포인트 간의 최소거리 ∈과, ∈ 이내의 포인트의 최소 개수 n이 사용된다. ∈와 n의 값은 센서 특성에 따라 달라지며 튜닝을 통해 최적의 값을 찾는다. 먼저 임의의 점 P1을 기준으로 거리 ∈내에 점이 n개가 존재하면 하나의 군집으로 인식한다. 기존거리 내에 n개의 점을 가지고 있기 때문에 P1은 중심점(Core Point)으로 정 해진다. P2도 P1과 같은 이유로 중심점으로 정해진다. 또 다른 임의의 점 P3는 앞서 정해진 중심점 P1에 인 접하지만 ∈ 내에 n개의 점을 가지지 않기 때문에 경계점(Border Point)으로 분류된다. 추가로 P4와 같이 경계 점이면서 다른 중심점에 인접하지도 않다면 그 점은 잡음점(Noise Point)로 정의된다. 이렇게 정의된 점들 중 잡음점을 제외한 중심점과 경계점들로 이루어진 점들의 집합을 하나의 군집으로 분류한다. 본 연구에서는 군집에 속한 점들의 평균 위치에 군집 중앙점(Center Point)을 생성하여 이를 추적과정에 활용하였다.
본 논문에서는 군집화 과정을 거쳐 나온 객체의 중심점을 추적하기 위해 칼만 필터를 사용하였으며, 다수 의 객체를 추적할 수 있도록 다중 칼만 필터를 설계하였다. 칼만 필터의 입력 데이터를 생성하기 위해 최근 접 거리 기반의 객체 연관기법(Data Association)을 사용하여, 이전 샘플에서 인지된 객체와 현재 샘플에서 인 지된 객체가 동일한 객체인지를 판별하였으며, 동일 객체로 판단된 객체의 위치 정보를 각각의 객체를 추적 하는 칼만 필터의 입력값으로 사용하였다. 이렇게 함으로써 측정값의 잡음이나 데이터 손실에도 안정적으로 객체의 위치를 추정할 수 있었다.
칼만 필터는 시스템의 상태를 예측하고 측정값의 업데이트를 반복하여 현재 값을 찾아내는 기법으로, 대 상 시스템의 모델을 필요로 한다. 본 연구에서는 칼만 필터가 두 가지 다른 용도로 사용되는데, 이번 장에서 소개되는 칼만 필터는 객체의 중심점 위치를 추적하는 것에 사용되며 이를 위한 상태방정식 모델은 식(1)과 같다.
위 식에서 ()k, ()k+1는 샘플 순간을 나타내며, χ는 상태변수를 나타낸다. x와 는 객체의 종방향 위치와 속도를 나타내며, y와 는 객체의 횡방향 위치와 속도를, z와 는 객체의 수직방향 위치와 속도를 나타낸 다. 수직축 좌표값은 본 논문에서 사용된 라이다가 3차원 라이다이기 때문에 생기는 값이며, 앞 장에서 본 군집화 과정도 3차원의 포인트 클라우드 데이터를 대상으로 수행된다. ζ는 측정변수를 나타내며, 3차원 공간 상의 객체의 위치정보를 포함한다. Δt1는 샘플링 주기이며 실제 라이다 센서의 주기 20Hz를 반영하여 0.05 초로 설정하였다. 샘플 주기가 짧기 때문에 한 샘플 동안 가속도의 미분인 저크는 생기지 않는 것으로 가정 하였다. νk는 측정 잡음을 나타내는 파라미터 벡터로, 각 측정변수에 대한 공분산 값을 가진다.
다음으로 <Fig. 5>와 같은 칼만 필터 처리 과정을 통해 객체의 중심점에 해당하는 위치를 추적한다.
<Fig. 5>에서 윗첨자 ()^와 ()-는 각각 추정값과 예측값을 의미한다. P는 오차 공분산을 나타내며 Q, R 은 시스템과 측정 잡음 대한 공분산 행렬을 나타낸다. 1번 과정에서 객체 중심점의 위치 추정값과 이에 대한 정확도를 결정하는 오차 공분산을 예측한다. 2번 과정을 통해 오차 공분산과 관측행렬, 측정변수에 대한 공 분산 행렬을 통해 칼만 이득 K를 계산한다. 3번 과정에서는 앞서 계산한 칼만 이득을 사용하여 객체 중심점 의 위치 추정값과 오차 공분산 추정값을 도출한다. 4번 과정에서 계산된 오차 공분산은 다음 샘플에서 오차 공분산을 예측하는 데 사용한다. 3번 과정을 통해 최종적으로 도출된 객체 중심점의 위치 추정값 을 전방 목표 차량을 통한 경로 생성에 활용한다.
Ⅳ. 라이다 기반 목표 차량 경로 생성 및 추종
앞 장에서 같이 목표 차량의 중심점을 추적하고 나면, 이를 누적하여 목표 차량의 이동경로를 계산하게 되고 이를 자차의 기준으로 변환하여 최종적으로 자차의 목표 경로점 버퍼를 생성하게 되는데, 이번 장에서 는 이러한 과정에 대해 설명한다.
자차의 좌표계는 매 샘플마다 그 방향이 달라지므로 버퍼의 경로점들은 매 샘플마다 새로운 좌표계 기준 으로 변환되어야 한다. 이를 위해서는 자차의 자세의 변화를 나타내는 변수값인 자차의 종방향 속도, 횡방향 속도, 요레이트가 필요하다. 자차의 종방향 속도와 요레이트는 실차에서 샤시 CAN을 통해 취득이 가능하지 만 횡방향 속도는 직접적으로 계측하는 것이 불가능하다. 이러한 문제점을 해결하기 위해 본 연구에서는 횡 방향 속도를 추정하는 칼만 필터를 설계하였다. 앞 장에서 소개한 칼만 필터는 객체를 추적하기 위한 목적으 로 설계된 것이며, 이번 장에서의 칼만 필터는 횡방향 속도를 추정하기 위한 목적으로 설계된 것이라는 데 차이가 있다. 식(2)은 먼저 차량의 횡방향 거동을 나타내는 연속시간 상의 상태방정식을 보여준다 (Reina et al., 2017).
위 식에서 윗첨자 ()a는 아날로그 즉 연속시간을 나타낸다. 앞 장에서 본, 식(1)의 상태방정식은 경로 추적 을 위한 기구학적 방정식인 반면, 위의 상태방정식은 차량의 거동을 나타내는 식이기 때문에 동역학적 방정 식이라는 점이 차이가 있다. 식(2)에서 υy는 횡방향 속도를 나타내며, γ는 요레이트를, δ는 전륜 조향각을, υx는 종방향 속도를 나타낸다. 본 연구에서는 LKS MRM 상황에서 차속을 급격히 줄이는 경우가 드물기 떄 문에 υx를 일정한 값이라는 가정하에 상태변수에 포함하지 않았다. 종방향 속도가 변화하는 경우에는, υx를 상태변수 χa에 추가하고 관련된 종방향 속도의 변화량에 대한 식을 상태방정식에 추가할 수 있다. Cf와 Cr 는 전륜과 후륜의 강성계수(cornering stiffness)를 나타내며, lf와 lr은 차량의 무게중심과 전후륜 차축과의 거 리를 나타내며, m은 차량의 질량을, Iz는 수직축에 대한 회전 관성을 나타낸다.
앞 장에서 본 것과 마찬가지로, 칼만 필터를 이용하여 매 샘플마다 추정값 계산을 수행하려면 식(2)의 이 산화된 상태방정식이 필요하다. 또한 칼만 필터는 상태방정식과 함께 측정변수에 대한 식을 필요로 하는데, 본 연구에서는 제안한 알고리즘의 추후 실차 적용성을 고려하여, 측정변수로 샤시 CAN에서 취득이 가능한 요레이트와 횡가속도를 선정하였다. 횡가속도 ay는 다음과 같은 관계식을 만족한다.
이 때 식(2b)와 같이 정의된 상태변수로는 식(3)로 표현되는 횡가속도에 대한 칼만 필터의 측정방정식을 세울 수가 없다는 것을 알 수 있다. 식(4)은 이러한 점을 고려하여 이산시간 상태방정식을 위해 새롭게 정의 한 상태변수, 상태방정식, 측정변수, 측정방정식을 보여준다.
식(4)에 나오는 변수와 파라미터는 위에서 설명되었으므로 생략한다. 다만 식(4c)의 Δt2는 횡방향 속도 추 정을 위한 샘플 간격으로 앞서 0.05초의 값을 가졌던 Δt1과 달리 0.01초의 값을 가진다. 이는 실차에서 샤시 CAN 통신의 샘플 주파수가 일반적으로 100Hz인 것을 반영한 것이다. 칼만 필터의 계산 과정은 <Fig. 5>에서 소개된 내용과 동일하므로 여기서는 생략한다. 식(4)의 모델에 칼만 필터를 적용하면 최종적으로 횡방향 속 도를 추정할 수 있다.
<Fig. 6>는 이번 장에서 설계한 칼만 필터의 성능 검증을 위해 수행한 시뮬레이션 결과를 보여준다. 주행 환경은 LKS 기능을 켠 상태에서 차속 60kph로 직진 주행을 하다가 1초 지점에서 400m의 반경을 가지는 곡 선로로 진입하는 경우이다. 그 결과 칼만필터로 추정된 횡방향 속도 값이 시뮬레이션 차량에서 계측되는 횡 방향 속도 값을 근사한 수치로 추정하는 것을 확인할 수 있다.
본 연구에서는 라이다 센서의 샘플 간격인 Δt1 즉 0.05초 마다 목표 차량의 중심점을 누적하여 이를 버 퍼로 만든다. 버퍼의 길이는 센서의 전방 인지 거리인 50m 만큼 생성되며 목표 차량이 인지 범위상 가장 멀 리 위치해 있는 상황에도 자차량 위치까지 버퍼가 안정적으로 생성될 수 있도록 하였다. 자차량의 바로 앞에 있는 경로점을 추종하려 할 경우 작은 경로점 오차에도 차량의 거동이 쉽게 불안정하게 될 수 때문에, 이 길 이에서 처음 15m 정도의 경로점은 경로 추종에 있어서는 사용하지 않게 된다. 경로점 버퍼는 매 샘플마다 현재 시점의 자차량의 좌표계 기준으로 변환되어야 하는데 아래에서는 이에 대한 내용을 설명한다.
라이다 센서의 샘플 순간 k-1에서 k 사이의 자차량 좌표계의 변화는 샤시 CAN으로부터 취득한 υx와 γ, 칼만 필터를 통해 추정한 υy를 이용하여 식(5)와 같이 계산할 수 있다.
위 식에서 dx와 dy는 자차량이 이동한 종방향과 횡방향 거리를 나타내며, θrot는 회전한 각도를 나타낸다. <Fig. 7>는 이를 도식화해서 보여준다.
목표 차량의 경로점 버퍼는 매 Δt1 마다 식(5)에서 계산된 dx, dy, θrot를 이용하여 현재 자차의 좌표계 를 기준으로 한 값으로 변환된다. 식(6)은 이러한 변환을 위한 식을 보여주며, 식에서 Bx는 자차 좌표계 x축 방향에서 본 목표 차량의 거리값을 나타내며, By는 자차 좌표계 y축 방향에서 본 목표 차량의 거리값을 나 타낸다.
버퍼 Bx와 By는 각각 1×500의 행 벡터이며, 식(6)과 같은 변환을 수행한 다음, 현재 샘플에서 라이다를 이용해 취득한 목표 차량의 중심점 좌표값을 버퍼의 제일 앞쪽에 추가하며 동시에 버퍼의 제일 끝에 있는 가장 오래된 경로점의 좌표값을 버림으로 현재 샘플에서의 경로점 버퍼의 갱신을 완료하게 된다.
목표 차량이 자차량과 동일한 차로에서 달리고 있는 경우, 위와 같이 생성된 경로점 버퍼를 자차가 가야할 목 표 경로점으로 삼을 수 있다. 하지만 전방에, 동일한 차로에는 차량이 없고 옆 차로에 차량이 있는 경우에는 옆 차로의 차량을 목표 차량으로 삼아 MRM을 수행하도록 하였다. 이런 경우 생성된 목표 경로점을 그대로 추종할 경우 MRM 상황에서 불필요한 차로 변경이 발생하여 위험을 초래할 수 있다. 본 연구에서는 목표 차량이 지나 간 경로점 가운데 자차의 중심점에서 바로 측방에 위치하는 점과의 횡방향 길이를 바탕으로 목표 차량이 동일 한 차로에 있는지를 판단하고, 그렇지 않을 경우 목표 차량의 경로점을 자차의 좌표계로 평행이동하여 사용하 도록 하였다. <Fig. 8>은 위 경우에 대한 시뮬레이션 결과를 보여준다. LKS 기능을 켜고 곡률반경 400m의 도로를 차속 60 kph로 주행 중에 카메라 고장과 같은 이유로 차선 인식이 어려워진 경우이다. 전방 자차로에 차량이 없어 우측 전방에 있는 차량을 목표 차량으로 삼아 MRM을 수행한 결과를 보여주고 있으며, 목표 차 량의 궤적의 측정값에 잡음이 있음에도 자차량의 목표 경로점이 강인하게 잘 생성되는 것을 볼 수 있다.
위와 같이 생성된 경로를 추종하기 위해서 본 연구에서는 Pure Pursuit 알고리즘을 사용하였다 <Fig. 1>. Pure Pursuit 알고리즘은 경로점을 연결하는 원호의 곡률을 기하학적으로 계산하여 곡률에 따른 조향각을 생 성하는 알고리즘이다. 경로상의 전방 목표점(look-ahead point)은 최소 15m를 유지하며 차속에 비례하여 설정 된다. 본 연구에서는 저자의 이전 연구에서 설계한 Pure Pursuit 알고리즘 (Son, 2020)을 사용하였으며, 알고리 즘에 대한 설명은 생략한다. 본 장의 칼만 필터 기반 목표 차량 경로 생성과 Pure Pursuit 기반의 경로 추종 알고리즘이 결합되어 구현된 LKS MRM 알고리즘의 성능은 6장 시뮬레이션 결과를 통해 확인할 수 있다.
Ⅴ. HAZOP 분석을 통한 LKS MRM 시나리오 도출
본 연구에서는 LKS MRM 알고리즘 검증을 위한 시나리오를 도출하기 위해, 기능안전 분석에서 위험원 판별을 위해 많이 사용되는 HAZOP 기법을 활용하였다. 이렇게 함으로써 MRM 알고리즘이 작동해야 하는 위험 상황을 보다 체계적으로 분석할 수 있으며, 그 가운데 위험도가 상대적으로 높은 상황을 선별하여 그에 맞는 시나리오를 만들 수 있었다. LKS 기능 수행 중 위험이 발생할 수 있는 곳은 크게 인지, 제어기, 액츄에 이터로 구분될 수 있는데, 본 연구에서는 악천후, 차선 소실, 카메라 고장과 같은 이유로 차로 유지가 어려운 상황에 대해 MRM 알고리즘을 개발하는 것이 목적이기 때문에, 인지부에 대한 위험원 분석을 진행하였다.
HAZOP 기법에서는 시스템의 기능 안전에 위험이 되는 상황을 식별하기 위해 먼저 <Table 1>과 같은 가 이드 워드를 정의한다 (Do and Han, 2016). 즉 기능이 작동하지 않는 경우의 Loss, 기능이 작동은 하지만 과 다하게 또는 과소하게 또는 잘못된 방향으로 작동하는 경우의 Incorrect, 의도되지 않았음에도 기능이 작동하 는 경우의 Unintended, 고장 등으로 기능이 업데이트되지 않고 한 값에 머무르는 Stuck, 시간적으로 틀린 순 간에 기능이 작동하는 Timing이 있다. 이러한 가이드 워드를 기초로 기능 안전 분석을 위한 대상 시스템의 위험원을 분석하고 상황별 시나리오를 도출한다.
<Table 1>에 있는 모든 경우에 대한 위험 상황을 고려할 수 있지만, 가급적 대상이 되는 시스템에서 일어 날 수 있는 실제 위험 상황을 고려함으로써, 비현실적인 시나리오가 도출되거나 시나리오의 개수가 과다하 게 나오지 않게 하는 것이 중요하다. <Table 2>는 이와 같은 점을 고려하여 본 연구에서 도출한, LKS의 인지 시스템에서 발생할 수 있는 위험 상황에 대한 분석 결과이다.
도로 위 좌우 차선이 모두 소실되었거나 눈길, 터널 진출 시 조도 차이에 따른 차선 인식 시스템의 기능 상실의 경우를 Loss에 포함하였다. 하나의 차선이 소실되었거나 도로 포장 상태로 인한 차선 오인식 상황의 경우 부정확한 차선정보를 계측하고 이로 인해 차로 이탈 값이 실제에 비해 크거나 작게 나올 수 있으므로 이러한 경우를 Incorrect에 포함하였다. 인지 센서/ECU에 단락 또는 단선이 발생하게 되면 차량 내부 통신을 통해 들어오는 계측 값이 갱신되지 않아 고장 직전값을 유지하게 되는데 이러한 경우를 Stuck에 포함하였다. 위와 같은 분석 결과를 토대로 본 연구의 LKS MRM 알고리즘을 검증하기 위한 4개를 시나리오를 구성하였 으며 이를 <Fig. 9>와 같이 PreSCAN 환경을 통해 모사하였다 (Simens, 2020).
시나리오 1은 도로에 쌓인 눈으로 인해 전방의 차선이 완전히 가려진 Loss에 해당되는 경우이며, 시나리 오 2는 좋지 못한 도로 상황으로 인해 한쪽 차선이 사라진 Incorrect에 해당 되는 경우이며, 시나리오 3은 주 행 중 카메라에서 고장이 발생하여 차선 계측 정보가 업데이트되지 않고 고장 직전의 값을 계속 유지하는 Stuck에 해당하는 경우이다. 시나리오 4는 시나리오 3과 동일한 Stuck에 해당하는 경우이며 카메라 고장 발 생으로 인해 정차를 요구하는 시나리오이다. GRVA가 규정한 LKS MRM 세부 규정에 따르면 MRM 기능은 주행 중인 차로 안에 정차하거나 차선이 없는 경우 적절한 경로상에 차량을 4m/s2 이하의 감속도로 정차시 켜야 한다 (GRVA, 2020). 따라서 도출 시나리오 1, 2, 3에서는 MRM을 통한 자차로 유지성능을 확인하고 시 나리오 4에서 자차로 유지와 함께 차량을 정차시켜 본 연구의 MRM 기능이 규정 사항을 만족하는 것을 확 인한다. 라이다를 사용한다는 연구의 특성상 주변 환경 인지 후 갓길과 같은 안전지대로의 회피 또한 고려될 수 있다. 하지만 눈이 쌓인 상황이나 폭이 좁은 갓길의 경우와 같이 안전지대를 파악하기 어려운 상황에 대 한 대처를 위해 본 연구는 자차로 내에 정차하는 MRM 기능에 대해 검증한다.
또한, 각 경우에 대해 전방의 목표 차량이 자차와 동일한 차로에 있는 경우와 옆 차로에 있는 경우 2가지 씩을 고려하였다. 이렇게 구성된 시나리오는 본 연구에서 개발한 라이다 기반의 LKS MRM 알고리즘의 성능 을 검증하는 데 사용되었으며, 다음 장에서 그 결과를 보여준다.
Ⅵ. 시뮬레이션 결과
이번 장에서는 본 연구에서 개발한 LKS MRM 알고리즘을 앞서 도출한 시나리오 상에서 검증한 시뮬레이 션 결과를 보여준다. 먼저 <Fig. 10>은 본 연구에서 구축된 시뮬레이션 환경을 보여준다.
본 연구에서는 Matlab/Simulink와 PreSCAN을 사용하였으며 두 환경이 서로 유기적으로 인지, 판단, 제어에 대한 정보를 주고받도록 구성하였다. LKS와 MRM 알고리즘은 Matlab/Simulink를 이용해 구현하였으며, 카메 라와 Point Cloud 센서 모델, 도로 및 주행 시나리오, 차량 모델은 PreSCAN을 이용해서 구현하였다. 카메라 센서를 통해 LKS 차선 정보를 취득하고 Point Cloud 센서를 통해 객체 인지를 위한 원데이터를 취득한다. LKS, MRM 구동 여부에 따라 각각의 제어 명령은 PreSCAN 차량 동역학 모델로 입력된다. LKS 알고리즘으 로는 Kwon이 제안한 2자유도 자전거 모델 기반의 LQR 제어기를 참고하여 구현하였다 (Kwon, 2019). 본 연 구에서는 LKS 기능을 개발하는 것은 목적이 아니고, 위험 상황 발생 이후 LKS 기능을 대체하는 MRM 알고 리즘을 개발하고 검증하는 것이 목적이어서, LKS 로직에 대한 설명은 생략한다.
<Fig. 11>은 앞서 도출한 4개의 주행 시나리오 구현을 위해 사용된 도로 환경을 보여준다. 시나리오 1, 2, 3은 곡률 반경 400m의 도로를 60kph의 차속으로 주행하도록 구성하였으며, 시나리오 4는 곡률 반경 200m의 도로를 40kph로 주행하도록 구성하였다. 모든 시나리오는 전방 150m 지점에서 곡률의 방향이 바뀌는 변곡점 이 발생한다. 곡률 반경 400m과 200m는 LKAS 관련 표준 ISO 11270에서 제시한 테스트 환경의 곡률 반경 800m에 비해 작은 값으로 (ISO, 2014), 심한 곡률의 커브길을 주행 중 인지 시스템에서 위험 상황이 발생하 는 악의적인 상황에서도 본 연구의 MRM 알고리즘이 잘 작동하는지를 검증하고자 하였다. 1장에서 소개된 이전 연구 가운데 차선 오인식, 미인식에 경우에 대해 샤시 CAN 정보를 기반으로 가상의 차선을 생성하는 연구가 있는데 (Kang et al., 2017), 이러한 연구는 최근 샘플들로 계산한 도로 곡률이 앞으로도 지속된다는 가정을 하기 때문에, <Fig. 11>과 같이 변곡점이 있는 도로에서는 취약한 결과를 보이게 된다. 본 연구에서는 이러한 악의적인 상황에서도 제안한 MRM 알고리즘이 잘 작동하는지를 검증하고자 하였다.
Stuck 상황과 같은 단선, 단락의 경우에는 센서/ECU의 Alive Count가 정지되기 때문에 고장 유무를 즉각적 으로 판단할 수 있다. 하지만 고장이 아닌 도로 환경으로 인해 발생하는 위험 상황의 경우, 위험의 진위를 판단하는데 보통 5~8개의 샘플에 해당하는 시간이 소요된다. 실제 LKS 차량에서 카메라 차선 정보를 차량에 송신하는 CAN 통신 주기가 66ms~100ms인 점을 고려하여 Loss와 Incorrect 상황에서는 MRM의 작동이 위험 이 시작된 후 0.5초 후에 시작되는 것으로 가정하였다.
아래는 시뮬레이션 결과 그래프들을 보여준다. 위험이 발생하는 시점을 Triggering event, MRM 기능이 수 행되는 시점을 Start MRM, TOR로부터 제어권 전환까지 최대 대기시간 4초를 Min MRM Time으로 표시하였 다. MRM 기능 여부를 w/o MRM, MRM으로 나타내었으며, 차선이나 카메라가 모두 정상적이어서 LKS가 정 상적으로 작동할 때의 차량 궤적을 LKS로 표시하여 이를 오차에 대한 기준으로 삼았다. 또한 핸들 조향각 (SWA)을 비교함으로써 MRM 기능이 안정적인 조향각으로부터 구현되는지를 검증하고자 하였다.
<Fig. 12>는 Loss에 해당하는 시나리오 1에 대한 시뮬레이션 결과를 보여준다.
시나리오 1은 <Fig. 9>와 <Fig. 11>에서 소개된 환경 조건과 도로 조건에 대해, 자차량의 전방에는 라이다 인지 범위 내에 차량이 없고, 자차량의 왼쪽 차로에 목표 차량이 존재하는 경우이다. 도로에 쌓인 눈으로 인 해 차선이 전혀 인식이 안되는 경우, 실제 카메라 인지 모듈에서는 좌우 차선에 해당하는 3차 다항식의 계수 로 0을 출력하게 되고, 이로 인해 차선 중앙과의 횡방향 오차도 0인 것으로 계산되어 조향각은 0의 값으로 고정되는 상황이 발생한다. 이로 인해 MRM 기능이 없는 차량의 경우 위험 발생 시점부터 차로를 이탈하게 된다. 반면 MRM 장착 차량의 경우 양쪽 차선의 미인식을 확인한, 위험 발생 0.5초 이후부터, 경로점 추정을 통한 최소위험 기동을 실시하여 MRM의 최소안전 확보시간과 그 이후의 시간에도 차로를 유지하는 것을 확 인할 수 있다. 정상 상황 대비 횡방향 오차가 0.18m 이내로 유지되어 차선을 밟거나 벗어나지 않는 것을 볼 수 있다.
조향각 그래프를 살펴보면 위험 발생 이후 0.5초 동안 발생한 횡방향 오차를 감소시키기 위해 스텝 형태 의 조향각이 입력되는 것을 볼 수 있으며, 28도까지 값이 상승한 후 2초 이내로 안정된 조향각에 수렴하는 것을 볼 수 있다. 9초 근방에서 조향각의 부호가 바뀌는 것은 그 부근에서 도로에 변곡점이 있기 때문이며 이를 추종하기 위한 안정된 조향각을 내는 것을 볼 수 있다.
<Fig. 13>은 Incorrect에 해당하는 시나리오 2에 대한 시뮬레이션 결과를 보여준다. 시나리오 2는 자차량의 양쪽 차선 중 왼쪽 차선이 도로 환경 등으로 소실되는 경우이다. MRM 미장착 차량의 경우 위험 상황 발생 이후 차로를 완전히 벗어나지 않고, 양쪽 차선 가운데 소실된 왼쪽 차선의 위치에서 도로의 곡률을 추종하는 것을 볼 수 있다. 이는 정상적인 오른쪽 차선과 함께 카메라에 인식된 왼쪽 차로의 왼쪽 차선을 자신의 왼쪽 차선으로 판단하기 때문이다. 이 경우 MRM 미장착 차량은 비록 차선의 곡률은 추종하고 있지만 왼쪽 차로 를 침범하여 주행함으로써 위험한 상황이 발생할 수 있다. MRM 장착 차량의 경우 위험 상황 발생 이후부터 위험 상황을 감지하는 순간 사이에는 아무런 조치가 취해지지 않아 횡방향 오차가 커지지만 MRM을 통하여 이후 횡방향 오차를 0으로 수렴시키며 주행 차로를 유지하는 것을 볼 수 있다. 조향각 그래프를 보면 MRM 작동 이후 조향각이 가파르게 감소하는 것을 볼 수 있어 시나리오 2의 상황이 보기보다 상당히 급격한 제어 입력을 필요로 하는 위험한 상황임을 알 수 있다. 조향각이 한 번의 오버슈트 이후에 반대 방향으로 다시 크 게 떨어지는 것은 그곳에서 도로의 변곡점을 만나기 때문이다.
<Fig. 14>는 Stuck에 해당하는 시나리오 3에 대한 시뮬레이션 결과를 보여준다.
시나리오 3은 차선 인지 센서의 단선, 단락으로 인해 차선의 계측값이 갱신되지 않는 상황이다.
갱신되지 않은 차선의 계측값으로 인해 차선 중앙과의 횡방향 오차는 일정값으로 고정되어 나타나게 되 고, 이로 인해 조향각은 고장 직전에 생성된 조향각으로 고정되게 된다. MRM 기능 미장착 차량의 경우 고 장 직후에는 앞선 시나리오 상황들에 비해 차량이 안정적인 거동을 보이는 것처럼 보인다. 하지만 도로의 곡 률이 변하는 순간부터 고정된 조향각으로 인해 10.5초 지점에서 0.85m의 횡방향 오차를 보이며 옆 차로를 침범하는 위험한 상황이 발생한다. 반면 MRM 장착 차량은 고장과 동시에 전방 목표 차량이 생성하는 경로 를 추종하는 최소위험 기동을 통해 0.1m 이내의 횡방향 오차를 보이며 주행 중인 차로를 유지하게 된다.
조향각 그래프를 보면 MRM 기동 직후 약 5도 정도의 스탭 조향을 보이는데 이는 기존 LKS에서 경로점 을 추종하는 제어로 전환하는 과정에서 생기는 것으로 전환 후 짧은 시간 안에 조향각이 안정화된다. 안정화 된 조향각은 9초 지점의 변곡점 상황과 최소안전 확보시간 10초 이후에도 지속되는 것을 볼 수 있다.
<Fig. 15>는 Stuck에 해당하는 시나리오 4에 대한 시뮬레이션 결과를 보여준다.
시나리오 4는 시나리오 3과 같은 차선 인지 센서의 단선, 단락의 경우이나 곡률 반경 200m를 가지는 도로 지형을 가진다. 해당 시나리오에서 MRM 기능 미장착 차량은 9초 지점에서 발생한 카메라의 단선, 단락으로 인해 차선의 계측 값이 고정되어 직전 조향각을 유지하게 된다. 이로 인해 카메라 고장 이후부터 횡방향 오 차는 증가하여 변곡점을 지난 이후 완전히 차로를 이탈하는 위험 상황이 발생하게 된다.
MRM 장착 차량의 경우 카메라 고장 직후 최소안전 확보시간인 4초 동안 MRM 기능을 통해 차로 이탈을 방지한다. 4초 이후 차량은 의 감속도로 제동하여 자차로 내에 정차하며 제동이 이루어지는 동안에도 조향 각을 지속적으로 생성한다. 생성된 조향각을 통해 곡률 반경 200m을 가지는 도로의 변곡점 상황에서도 안정 적으로 자차로를 유지하는 것을 확인할 수 있다.
앞서 설명한 시뮬레이션 결과를 통해 본 연구에서 제안한 라이다 기반 LKS MRM 알고리즘이 시나리오상 의 모든 위험 상황과 도로 지형에 대해 차선 이탈을 방지하는 것을 확인할 수 있었다. 또한, 본 연구의 알고 리즘이 위험 상황 발생 시 자차로를 안전하게 유지함으로써 GRVA가 규정하는 LKS MRM 기능의 목적을 만 족하는 것을 확인하였다. 카메라 고장뿐만 아니라 차선 인식 한계 상황에서도 라이다를 통해 위험 상황을 극 복함으로써 본 연구에서 제시한 MRM 전략의 타당성을 검증할 수 있었다.
Ⅶ. 결 론
ADAS와 자율주행의 인지 기술에는 다양한 종류의 환경 센서가 사용되고 있다. 카메라나 레이더에 비해 강인하고 신뢰도 높은 인지 성능을 제공하는 라이다는 최근까지 높은 가격으로 의해 양산차량에 적용되기 어려웠으나, 최근 시장 확대로 인해 가격이 빠르게 낮아지고 있다. 향후 자율주행 기능에 라이다를 활용함으 로써 기존의 LKS와 ACC와 같은 자율주행 기술의 한계점을 크게 개선할 수 있을 것으로 전망된다.
레벨3 자율주행자동차의 경우, 센서의 결함 또는 한계 등 인지시스템에 위험한 상황이 발생했을 경우 운전자에게 경고음 등을 통해 수동 모드로의 제어권 전환 요청을 실시하며, 만약 이러한 요청에도 운전자 가 반응하지 않을 경우 MRM 즉 최소위험기동을 구현하여야 한다. 최근 자율주행과 관련된 국제조화기구 의 활동을 보면 자율주행 횡방향 제어시스템인 LKS 시스템이 갖추어야 할 MRM 기능을 명시하고 있다. 즉 위험 상황 발생 시 차량이 주행차로 내에서 안정된 횡방향 위치를 유지하여 교통 흐름에 방해가 되지 않아야 한다는 기능의 목적과 함께 이러한 기능이 자율주행자동차의 안전에 필수적 요소라는 것을 강조하 고 있다.
본 연구에서는 이러한 배경을 바탕으로 카메라의 고장이나 악천후, 도로 환경으로 인한 차선정보 소실 과 같이 인지 시스템에서 생기는 위험으로 인해 LKS를 정상적으로 수행하기 힘든 경우에 대한 라이다 기 반의 MRM 알고리즘을 개발하였다. 본 논문의 LKS MRM 기술은, 먼저 전방 및 측전방의 목표 차량을 인 지하기 위하여 라이다로 계측된 포인트 클라우드 데이터를 군집화하여 목표 차량을 추출하고 중심점을 생 성한다. 생성된 중심점을 누적하고 여기에 자차량의 속도와 요레이트를 반영하여 목표 차량의 이동 경로 를 생성하고, 이를 자차량의 목표 경로점으로 변환하여 경로 추종을 수행한다. 이를 통해 인지시스템의 문 제로 인해 LKS가 정상적으로 작동할 수 없는 위험 상황에서 차로 이탈의 위험을 줄이는 MRM 알고리즘을 개발하였다.
제안된 알고리즘의 성능을 검증하기 위하여 기능안전 분석에서 사용되는 HAZOP 기법을 사용하여 시스 템의 의도된 기능에 영향을 주는 위험원을 식별하고 이를 바탕으로 검증용 시나리오를 3가지를 구축하였다. 3가지 시나리오는 악천후로 차선을 전혀 인식할 수 없는 경우, 도로 상황으로 인해 차선 일부가 소실된 경 우, 카메라 인지시스템의 고장이 발생된 경우를 포함하며, Matlab/Simulink와 PreSCAN을 사용하여 구축한 시 뮬레이션에서 알고리즘을 검증하였다.
본 연구의 LKS MRM 알고리즘을 통해 기여한 바를 요약하면 다음과 같다. 카메라의 고장 상황뿐만 아니 라 차선소실, 악천후와 같은 LKS의 한계 상황에서도 라이다 기반 MRM을 통해 차로 이탈을 방지하고 주변 장애물과의 충돌을 방지하였다. 또한, 위험 상황 발생 시 차량 거동을 최소안전 확보시간인 4초 동안 안정화 하였고 자차로 정차를 통하여 운전자가 차량으로부터 안전하게 제어권을 전환 받을 수 있는 환경을 제공하 였다.