← 최신 논문
💻 computer science

OSC2Runner: OpenSCENARIO 2.x Compliant High-Fidelity AV Simulation in CARLA

OSC2Runner는 추상 구문 트리를 동적 행동 트리로 컴파일함으로써 기존 XML 기반 인터프리터에 내재된 시공간적 드리프트와 지연을 제거하여, CARLA 내에서 OpenSCENARIO 2.x DSL의 네이티브하고 결정론적인 실행을 가능하게 하는 새로운 오케스트레이션 프레임워크입니다.

원저자: Thoshitha Gamage, Lasanthi Gamage

게시일 2026-06-26
📖 4 분 읽기☕ 가벼운 읽기

원저자: Thoshitha Gamage, Lasanthi Gamage

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. ✨ 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 자율주행 자동차에게 트럭이 갑자기 앞으로 끼어드는 것과 같은 위험한 상황을 어떻게 대처해야 하는지 가르치려 한다고 상상해 보세요. 이를 위해 엔지니어들은 컴퓨터가 정확히 무엇을 해야 하는지 알려주는 '스크립트'를 사용합니다. 수년 동안 이 스크립트들은 오래되고 투박한 언어(마치 형용사나 논리 구조 없이 명사와 동사만 있는 언어로 복잡한 이야기를 쓰는 것과 같은 방식)로 작성되었습니다. 이로 인해 컴퓨터의 동작은 자연스럽기보다는 끊기거나, 지연되거나, 혹은 "탁" 하고 급격하게 변하는 것처럼 느껴졌습니다.

최근에 OpenSCENARIO 2.x라는 훨씬 더 똑똑한 새로운 언어가 발명되었습니다. 이 언어는 훨씬 더 세밀하고, 논리적이며, 자연스러운 지침을 전달할 수 있게 해줍니다. 하지만 이 새로운 언어를 읽을 줄 모르는 시뮬레이션 소프트웨어(CARLA라고 불리는)가 있었습니다. 이는 마치 미래적인 언어로 쓰인 아주 멋진 새 책이 있는데, 도서관에는 오직 옛날 언어만 번역할 수 있는 번역가만 있는 것과 같았습니다. 만약 그 옛날 번역가에게 새 책을 읽으라고 강요한다면, 이야기는 엉망이 되고 타이밍은 어긋나며, 자동차의 움직임은 가짜처럼 보일 것입니다.

여기에 OSC2Runner가 등장합니다.

OSC2Runner를 고도의 기술이 집약된 실시간 번역가이자 감독이라고 생각해보세요. 단순히 스크립트를 읽고 무엇을 할지 추측하는 대신, OSC2Runner는 이 새롭고 복적인 지침들을 받아 즉시 시뮬레이션이 완벽하게 이해할 수 있는 정밀한 수학적 명령 세트로 컴파일합니다.

이것이 어떻게 작동하는지 몇 가지 간단한 비유를 통해 설명하겠습니다.

1. "번역가" (트랜스파일러)

새로운 스크립트가 미식가 셰프의 언어로 쓰인 복잡한 레시피라고 상상해 보세요. 기존의 시뮬레이션을 실행하는 방식은 로봇이 레시피를 단계별로 짐작하며 수행하는 것과 같아서, 종종 재료를 빠뜨리거나 단계 사이에 너무 오래 기다리는 일이 발생했습니다.
OSC2Runner는 레시피를 읽고, 그 의도(예: "황금빛이 돌 때까지 요리하기")를 이해한 뒤, 즉시 주방 스태프(시뮬레이션 엔진)에게 정확하고 시간 맞춰진 지침 목록을 전달하는 마스터 셰프처럼 행동합니다. 이는 단순히 자동차가 움직이는 녹화 영상을 재생하는 것이 아니라, 규칙에 기반하여 매 밀리초마다 자동차의 움직임을 지금 이 순간 계산해내는 것입니다.

2. "지휘자" (행동 트리)

교향곡에서 바이올린 연주자가 1초라도 늦게 연주하면 음악은 어긋나게 됩니다. 자율주행 테스트에서도 자동차가 0.1초라도 늦게 브레이크를 밟으면 그 테스트는 무효가 됩니다.
OSC2Runner는 행동 트리(Behavior Trees)(자동차의 두뇌를 위한 순서도라고 생각하세요)라는 것을 사용합니다. 이는 스크립트를 실시간으로 따라가는 역동적인 순서도로 변환합니다.

  • 핵리 포인트: 만약 스크립트가 "앞차와 10미터 거리가 되면 브레이크를 밟으라"고 명령한다면, OSC2Runner는 자동차가 거리를 초당 한 번씩 확인하는 것이 아니라, 매 순간 지속적으로 확인하도록 보장합니다. 이는 이는 회의에 언제 출발해야 할지 알기 위해 한 시간에 한 번 시계를 보는 것과 매초 시계를 확인하는 것의 차이와 같습니다.

3. "물리 법칙 검증"

기존 시뮬레이터의 가장 큰 문제 중 하나는 자동차의 속도를 "스냅(snap)"하여 맞추는 것이었습니다. 만약 스크립트가 "시속 50마일로 가라"고 하면, 기존 시스템은 실제 자동차가 가속하는 데 시간이 걸린다는 사실을 무시하고 자동차를 즉시 50마일로 순간 이동시켰습니다.
OSC2Runner는 스크립트를 물리 엔진에 직접 연결합니다.

  • 비유: 무거운 쇼핑 카트를 미는 장면을 상상해 보세요. 세게 밀면 카트가 즉시 최고 속도에 도달하는 것이 아니라, 서서히 가속됩니다. OSC2Runner는 가상 자동차가 정확히 그 무거운 카트처럼 행동하도록 만듭니다. 만약 스크립트가 "젖은 도로에서 강하게 브레이크를 밟으라"고 하면, 이 시스템은 타이어가 미끄러지고 자동차가 마른 도로에서보다 덜 멈출 것이라는 점을 계산합니다. 즉, 스크립트의 규칙이 아닌 물리 법칙을 존중합니다.

무엇을 증명했는가 (결과)

저자들은 두 가지 주요 시나리오로 이 시스템을 테스트했습니다.

  • "끼어들기(Cut-In)" 테스트: 무거운 트럭이 자동차 앞으로 끼어드는 상황을 시뮬레이션했습니다. 시스템은 두 차량의 동작을 성공적으로 조율했습니다. 트럭이 속도를 줄였을 때, 자동차는 즉각적으로 반응했습니다. 그들은 두 가상 자동차 사이의 "통신"이 거의 지연 없이(약 100밀리초) 이루어졌음을 증명했는데, 이는 컴퓨터 입장에서 즉각적인 것으로 간주될 만큼 빠른 속도입니다.
  • "젖은 도로" 테스트: 가상의 도로를 젖고 미끄럽게 만들었습니다. 자동차에게 강하게 브레이크를 밟으라고 명령했을 때, 자동차는 만화 캐릭터처럼 즉시 멈추지 않았습니다. 대신 실제 자동차가 비 오는 날 그러하듯 약간 미끄러졌습니다. 이는 시스템이 세상의 "마찰력"을 존중한다는 것을 증명했으며, 테스트 결과가 신뢰할 수 있음을 보여주었습니다.

이것이 왜 중요한가

논문은 OSC2Runner가 이러한 새로운 복잡한 스크립트를 정확도나 타이밍의 손실 없이 시뮬레이션에서 실행할 수 있는 첫 번째 도구라고 주장합니다. 이는 테스트의 "초안"을 "수학적으로 완벽한" 실행으로 바꿔놓습니다.

이것은 매우 중요합니다. 이전에는 연구자들이 새로운 언어를 사용하는 시뮬레이션을 완전히 신뢰할 수 없었기 때문입니다. 이제 그들은 시뮬레이션 엔진이 스크립트를 완벽하게 실행할 수 있다는 확신을 가지고, 이 스크립트를 사용하여 자율주행 자동차를 테스트할 수 있습니다. 이는 거대 언어 모델(LLM)과 같은 고급 AI가 자동으로 이러한 스크립트를 작성하게 만드는 길을 열어주며, 시뮬레이션 엔진이 이를 완벽하게 실행할 수 있다는 믿음을 바탕으로 합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →