본문으로 건너뛰기

AdvFuzz: Finding More Violations Caused by the EGO Vehicle in Simulation Testing by Adversarial NPC Vehicles

· 약 7분
You Lu
Yifan Tian
Dingji Wang
Bihuan Chen
Xin Peng

You Lu et al. · 2024 · arXiv

관련도: 상

Intuition

무리하게 돌진해 충돌을 유도하는 방식 대신, 교통 규칙을 지키면서 자율주행 차량의 사각지대와 예측 실패를 교묘하게 자극하는 지능형 적대적 NPC를 배치해야만 시스템 고유의 진정한 결함을 찾아낼 수 있다.

One-liner

자율주행 시스템(ADS) 시뮬레이션 테스트에서 자율주행 차량(EGO)이 유발하는 실제 결함을 효율적으로 발견하기 위해, 행동 트리 기반으로 상호작용하며 법적 책임을 고려하는 적대적 NPC 시나리오 자동 생성 프레임워크를 제안한다.

Problem

기존의 자율주행 시뮬레이션 테스트 기법은 주로 정해진 궤적만 따라가는 정적 시나리오를 사용하여 EGO 차량과의 역동적인 상호작용이 부족하며, 이로 인해 방대한 시나리오 탐색 공간에서 결함을 찾는 데 오랜 시간이 걸린다. 더욱이 기존 기법이 발견한 충돌 시나리오의 대부분은 NPC 차량의 무조건적인 신호 위반이나 급작스러운 돌진 등 공격적인 법규 위반으로 인해 발생한 것이어서, 테스트 대상 자율주행 시스템(ADS) 내부의 실제 소프트웨어 버그나 과실 책임 규명으로 이어지지 못한다는 한계가 존재한다.

Core Idea

자율주행 차량과 실시간으로 주행 기동을 주고받으면서도 상호 합리적인 법규 범위를 유지하는 적대적 NPC 차량 (Adversarial NPC Vehicles) 개념을 도입한다. 행동 트리 제어를 통해 NPC 차량의 무조건적인 과실을 방지하는 동시에 EGO 차량의 취약점을 영리하게 압박하고, 테스트 종료 후 규칙 기반 책임 판별기 (Liability Determiner)를 통해 타 차량 과실 시나리오를 자동으로 필터링함으로써 오직 자율주행 시스템의 결함으로 유발된 위반만을 고효율로 추출한다.

Method

1. 실험 필드 및 버블 관리

시뮬레이터 맵 내에 특정 도로 구간을 실험 필드로 지정하고, EGO 차량의 전방 일정 거리 뒤에 길이 LL버블 영역 (Bubble)을 구성하여 이 영역 내부에서만 NPC 차량이 무작위로 분산되어 EGO 차량과 밀접하게 상호작용하도록 제한한다.

2. 인지 구역 분할 및 EGO 차량 감지

NPC 차량의 주변 공간을 인지 구역 변수 ll 단위를 기준으로 좌측 3개 구역(L1, L2, L3), 우측 3개 구역(R1, R2, R3), 전방(F1), 후방(N1) 등 총 8개의 영역으로 분할한다. 이를 통해 NPC 차량은 EGO 차량과의 상대적 위치 벡터를 실시간으로 계산하여 구역 위치를 특정한다.

Δp=pEtpNkt\Delta p = p_{E}^{t} - p_{N_{k}}^{t}

3. 행동 트리 기반 기동 의사결정

시퀀스 노드, 선택기 노드, 조건 노드, 액션 노드로 설계된 행동 트리를 통해 EGO 차량이 위치한 인지 구역에 부합하는 최적의 기동(속도 유지, 가속 직진, 감속 직진, 좌측 차선 변경, 우측 차선 변경)을 동적으로 채택한다. 무작위 돌진 대신 철저하게 상대 차량의 주행 상태에 대응하는 결정을 내리도록 규제한다.

4. 궤적 및 속도 계획

의사결정이 완료되면 베지에 곡선(Bézier curve)을 활용해 부드럽고 자연스러운 차선 변경 경로점을 생성하며, sts-t 그래프(s-t graph)를 기반으로 EGO 차량과의 교차 영역을 도출하여 충돌 및 위반을 극대화할 수 있는 최적의 속도 프로파일을 계획한다.

5. 시나리오 생성기 및 책임 판별기

NSGA-II 유전 알고리즘을 사용해 날씨 환경, EGO 차량의 목표지, NPC 차량의 초기화 위치 정보 등을 최적화하여 시나리오를 구성한다. 시뮬레이션이 종료되면 Uniform Vehicle Code(UVC) 법적 기준에 기초한 책임 판별기를 적용하여 후방 추돌 및 차선 변경 시점의 차선 소유권을 진단하고, NPC 차량의 과실(NPC_Fault)을 제외한 순수 자율주행 차량 과실(EGO_Fault) 위반 시나리오만 최종 산출한다.

Results

  • 효과성 측면: 2차선 도심 도로 및 4차선 고속도로 환경에서 Baidu Apollo 8.0을 대상으로 12시간 동안 평가한 결과, 기존 최신 테스트 기법들(RAND, NSGAII-DT, AV-FUZZER, AUTOFuzz) 평균 대비 198.34% 더 많은 위반 시나리오를 검출했다.
  • 정밀도 측면: 발견된 전체 위반 시나리오 중에서 자율주행 차량 자체 과실(EGO_Fault)이 차지하는 비율을 최대 87.04%까지 확보하여, 무조건적인 NPC 차량 돌진으로 오탐을 양산하던 기존 기법들(20% 미만)보다 7배 이상 뛰어난 순수 결함 탐지 비율을 달성했다.
  • 효율성 측면: 첫 번째 EGO 차량 과실 위반 시나리오를 발견하는 데 걸리는 시간을 타 기법 대비 최소 82.60% 단축하며 고속 탐지 성능을 증명했다.

Key Figures

Figure 1

  • Fig. 1: 자율주행 시스템과 시뮬레이터, 행동 트리 기반 NPC 제어 루프 및 유전 알고리즘 생성기, 사후 책임 판별기로 연결되는 AdvFuzz 프레임워크의 전체 파이프라인 개요 Figure 4
  • Fig. 4: EGO 차량의 상대적 인지 구역 감지 결과에 대응하여 NPC 차량의 안전하고 지능적인 주행 기동을 결정하는 제어 행동 트리 구조 Figure 7
  • Fig. 7: 예측 모듈 실패로 인한 전방 차선 변경 차량 추돌, 복수 차량 충돌로 인한 정지 상황 대응 실패 등 AdvFuzz를 통해 탐지된 자율주행 차량 과실 위반 시나리오의 14가지 유형 분류

Contribution vs Limitation

저자 주장

  • 행동 트리와 정밀 실시간 궤적 계획 메커니즘을 융합하여 자율주행 차량과 지능적으로 상호작용하는 적대적 NPC 개념을 최초로 구현함
  • 사후 규칙 기반 책임 판별 모듈을 연계하여 오탐지 시나리오를 획기적으로 줄이고 자율주행 소프트웨어 고유의 결함 분석 효율을 크게 향상함

저자가 밝힌 한계

  • 대규모 장시간 연속 시뮬레이션을 지속할 때 Baidu Apollo 시스템 내부의 제어 연산 모듈에서 전산 자원 고갈로 인한 지연 처리가 발생하여 예기치 않은 오탐이 발생할 수 있음 (주기적 모듈 재부팅으로 대응함)
  • 규칙 기반 책임 판별 로직이 현실의 복잡한 모든 사고 과실 비율 판례를 완벽하게 포함하지는 못함
  • 현재 설계는 고속도로와 도시 주행 차선 위주로 국한되어 있으며, 교차로나 회전교차로 같은 복잡한 기하학적 도로망 구조는 지원하지 않음
실제로 보이는 것

행동 트리를 이용한 NPC 제어가 주행 시나리오의 무결성과 물리적 사실성을 크게 향상해 탐색 효율을 높인 것은 분명하다. 다만 유전 알고리즘의 피트니스 함수가 단순 거리 역수 관계에 의존하고 있어, 가속도 변화율이나 제동 저크(jerk) 등 자율주행차 내부에 더 치명적인 충격을 주는 복합적 위험도 메트릭이 가미되어야만 실제 도로 환경에서 발생하는 예측 불가능한 코너 케이스를 완벽히 모사할 수 있을 것으로 추정된다.

Quotes

"However, scenarios generated by these previous approaches are static and lack interactions between the EGO vehicle and the NPC vehicles, resulting in a large amount of time on average to find violation scenarios." (p.1)

"Besides, a large number of the violations they found are caused by aggressive behaviors of NPC vehicles, revealing no bugs of ADSs." (p.1)

"After manual diagnosis, all these violations are caused by NPC vehicles." (p.2)

"The overall idea of ADVFuzz is to enhance the interaction between the EGO vehicle and NPC vehicles in simulation, finding more violation scenarios, and to regulate the behaviors of NPC vehicles, reducing the occurrence of violation scenarios caused by NPC vehicles." (p.3)

Idea Seeds

  • Hybrid-BT: 행동 트리의 정적 조건 노드에 심층 강화학습 모델을 하이브리드로 결합하여, 교통 규칙 테두리 내에서 자율주행 시스템의 거동 허점을 더욱 변칙적으로 파고드는 지능형 적대적 NPC 에이전트 설계
  • Runtime Liability Pruning: 책임 판별 작업을 사후 처리가 아닌 시뮬레이션 런타임 루프 내에 실시간 레이어로 삽입하여, NPC 차량의 명백한 신호 위반이나 불법 거동 과실이 확정되는 즉시 가상 시뮬레이션을 조기 종료(early-stopping)하고 유전 알고리즘 개체군을 가지치기하는 연산 최적화 기법

For My Writing

본 연구에서 제안한 시뮬레이션 기반 적대적 시나리오 생성 프레임워크와 법적 과실 판별 모듈은 향후 자율주행 제어 알고리즘의 안전성 검증을 위한 자동화 파이프라인 설계 연구에서 가상 환경 구축의 핵심 방법론으로 활용할 수 있다. 특히 시나리오 평가 시 타 차량의 단순 무차별 돌진으로 인한 오탐을 배제하고 자율주행 차량 시스템 자체의 제어 및 판단 결함을 정밀 타격하는 벤치마크 환경을 구축하는 데 유용한 참조 아키텍처가 될 것이다.

Open Questions

이해하지 못한 것

  • sts-t 그래프를 활용해 속도를 계획할 때, 타겟이 되는 EGO 차량의 미래 주행 속도가 특정 구간 동안 완전히 상수로 유지된다고 가정하는 방식이 자율주행 차량의 급제동이나 실시간 회피 기동 변수 하에서 제어 오차를 유발하지 않는지 수학적 보정 메커니즘의 세부 사항을 명확히 파악하기 어렵다.

저자가 다루지 않은 것

  • 교차로(intersections)나 회전교차로(roundabouts)와 같이 횡방향 신호등 통제 및 다자간 차량 우선권이 실시간으로 얽히는 환경에서 8개 인지 구역 구조와 행동 트리 노드를 유연하게 확장하고 판별 규칙을 일반화하는 방법론은 다루어지지 않았다.
  • 선행 연구: AV-Fuzzer - 유전 알고리즘 기반 시뮬레이션 결함 탐지의 모태가 된 연구
  • 관련 주제: Behavior Trees in Robotics - 자율 제어 에이전트 제어를 위한 상태 머신 및 행동 트리 구조 분석

References

@article{lu2024advfuzz,
title = {AdvFuzz: Finding More Violations Caused by the EGO Vehicle in Simulation Testing by Adversarial NPC Vehicles},
author = {Lu, You and Tian, Yifan and Wang, Dingji and Chen, Bihuan and Peng, Xin},
journal = {arXiv preprint arXiv:2411.19567},
year = {2024}
}