
자차/주변차 상호작용 로직을 관리하는 식의 역할 분담이 가능SUMO란 무엇이며, 운전자 모델 알고리즘 및 교체 가능성: SUMO(Simulation of Urban MObility)는 독일 DLR이 개발한 오픈 소스 교통 시뮬레이터로, 도시 규모의 도로망에서 차량 흐름을 미시적으로 시뮬레이션하고 신호등 제어 등을 실험할 수 있는 도구입니다. SUMO에서는 각 차량이 시간마다 속도와 차선을 결정하는 운전자 모델(driver model)을 가지고 움직입니다. 기본 제공되는 종방향 차량 추종 알고리즘은 Krauss 모델로 알려져 있는데, 선행 차량과의 안전거리를 유지하도록 속도를 조정하여 충돌이 없도록 보장하는 방식입니다 (Set car-following model · Issue #13727 · eclipse-sumo/sumo · GitHub). Krauss 모델은 운전자가 반응하는 데 걸리는 시간(tau)과 최대 가속도/감속도 등의 파라미터로 정의되며, 이 값들을 통해 차량 간격 유지와 속도 변화를 결정합니다. 이 모델 이외에도 SUMO는 IDM(Intelligent Driver Model) 등 여러 차종 추종 공식을 내장하고 있어, 설정 파일이나 TraCI API를 통해 차량별로 다른 모델을 사용할 수도 있습니다. 또한 차로 변경은 SUMO의 논문에 소개된 바와 같은 고유의 차로 변경 모델(예: MOBIL 알고리즘 기반)이 적용되어, 추월이나 차선 유지 여부를 판단합니다.
사용자는 SUMO의 기본 운전자 모델을 다른 알고리즘으로 교체할 수 있습니다. 가장 간단한 방법은 SUMO 설정에서 차량 타입별로 제공되는 carFollowModel 속성을 변경하는 것으로, 예를 들어 <vType id="car" carFollowModel="IDM" …> 형태로 지정하면 그 차량군에 IDM 모델이 적용됩니다 ([Help Request] Wanna to know about traffic model · Issue #2119 · huawei-noah/SMARTS · GitHub). SUMO는 이미 IDM, KraussOrig, Wiedemann 등 다양한 모델을 내장하고 있기 때문에 이러한 전환이 가능합니다. 만약 내장 모델로 충분치 않거나 사용자 정의 모델을 구현하고 싶다면, SUMO의 확장 인터페이스를 통해 새로운 차량 추종 모델을 플러그인 형태로 추가할 수 있습니다 (Car-Following-Models - SUMO Documentation). 실제 SUMO 문서에서는 C++로 사용자 모델 클래스를 작성하고 빌드하여 SUMO에 연결하는 방법을 안내하고 있습니다. 또는 TraCI라 불리는 SUMO 외부 제어 API를 사용해, 파이썬 등으로 시뮬레이션 실행 중 매 timestep마다 각 차량의 가감속을 지정함으로써 독자적인 알고리즘을 적용할 수도 있습니다. 요컨대, SUMO는 Krauss와 같은 검증된 모델을 기본으로 사용하지만, 필요에 따라 IDM 등의 모델로 교체하거나 아예 사용자가 새로운 알고리즘을 주입하는 것도 가능한 유연한 구조입니다 (Set car-following model · Issue #13727 · eclipse-sumo/sumo · GitHub).
실제 데이터 기반 도로 시나리오 및 차량 배치 불러오기: LimSim++은 다양한 도로 환경과 초기 교통 상태를 불러와 시뮬레이션할 수 있도록 설계된 플랫폼입니다. 공식 안내에 따르면, LimSim은 고속도로, 신호화 교차로, 라운드어바웃(회전 교차로), 입체 교차로 등 현실 세계의 여러 도로 구조를 지원하며 (GitHub - PJLab-ADG/LimSim: LimSim & LimSim++: Integrated traffic and autonomous driving simulators with (M)LLM support), 이러한 요소들을 조합하여 멀티-시나리오 시뮬레이션을 장기간 실행할 수 있습니다. 특히 LimSim에서 제공하는 도로망은 범용성이 높아, 사용자가 보유한 외부 도로 데이터셋도 통합하기 쉽습니다. 예를 들어, 연구용 CitySim 데이터셋에 포함된 freewayB나 Expressway_A와 같은 실제 도로망 파일(.net.xml)을 networkFiles 폴더에 추가하면, 해당 도로 지도를 가진 시나리오를 LimSim++에서 실행할 수 있습니다 (GitHub - PJLab-ADG/LimSim: LimSim & LimSim++: Integrated traffic and autonomous driving simulators with (M)LLM support). (CitySim의 지도는 저작권 문제로 LimSim 저장소에 직접 포함되진 않았지만, 사용자 측에서 파일만 제공하면 인식하도록 구현되어 있습니다.) 한편 LimSim은 시뮬레이션 리플레이 기능도 갖추고 있어, 한 번 수행한 시뮬레이션의 로그를 다시 재생하거나 특정 초기 차량 배치를 반복하여 실험할 수 있습니다 (GitHub - PJLab-ADG/LimSim: LimSim & LimSim++: Integrated traffic and autonomous driving simulators with (M)LLM support). 이 기능을 통해 예를 들어 실도로에서 수집한 차량 배치와 흐름 데이터를 불러온 뒤, 동일한 조건에서 여러 플래너를 테스트하는 것이 가능합니다. 정리하면, LimSim++는 도시 규모 지도 지원과 다양한 도로 유형을 기본으로 하며, 실제 데이터셋의 도로/교통 정보를 비교적 쉽게 불러와 활용할 수 있게 만들어져 있습니다.
LimSim++의 주변 차량 모델 (IDM 등) 및 폐루프/오픈루프 지원: LimSim++에서는 시나리오 내 배경 차량들이 현실적인 주행을 하도록 몇 가지 규칙 기반 모델을 내장하고 있습니다. 논문에서 “인간과 유사한 의사결정 및 주행 계획 알고리즘을 적용했다”고 언급된 부분이 있는데 ([2502.09170] LimSim Series: An Autonomous Driving Simulation Platform for Validation and Enhancement), 이를 통해 유추할 수 있듯이 LimSim++는 IDM과 유사한 차량 추종 모델과 휴리스틱한 차선 변경/교차로 진입 규칙 등을 사용하여 이질적인 운전 성향을 가진 운전자들을 모사합니다 (GitHub - PJLab-ADG/LimSim: LimSim & LimSim++: Integrated traffic and autonomous driving simulators with (M)LLM support). 이러한 주변 차량들은 Ego 차량의 동작에 실시간 반응하도록 설계되어 폐루프(closed-loop) 상호작용을 구현합니다. 특히 LimSim++는 관심 영역(AoI, Area of Interest) 개념을 도입하여 Ego 주변의 차량들 상호작용을 정교하게 처리함으로써, 주요 상황에서의 반응성을 높이고 시뮬레이션 자원을 효율적으로 사용합니다. 요약하면, LimSim++의 주변 차량 모델은 IDM 기반의 종방향 제어와 휴리스틱한 차선 변경 로직으로 구성된 규칙 기반 운전자 모델이며, 시뮬레이션 동안 Ego의 행동에 대응하는 폐루프 형태로 동작합니다.
반면, 실제 주행 데이터 기반의 open-loop 주행 모드에 대해서는 LimSim++에서 큰 비중을 두고 있지 않습니다. LimSim 시리즈는 처음부터 장기 시나리오의 상호작용 학습을 염두에 두고 개발되었기 때문에, 주변 객체들이 사전에 녹화된 궤적만 재생하는 방식보다는 시뮬레이션 내에서 동적으로 상호작용하도록 하는 것을 목표로 합니다 (Long-term Macro-micro Interactive Simulation - LimSim). 따라서 SMARTS의 NGSIM 모드처럼 완전히 open-loop로 주변차를 움직이게 하는 전용 기능은 강조되지 않으며, 기본적으로는 앞서 언급한 휴먼 모델들에 따라 차량들이 움직입니다. 또한 현재 LimSim++가 실제 데이터로 학습된 폐루프 운전자 모델(예: imitaion learning으로 얻은 NPC)을 내장하고 있지는 않습니다. “built-in behavioral models”란 표현이 쓰이지만 이는 규칙 기반 모델들을 가리키며 (GitHub - PJLab-ADG/LimSim: LimSim & LimSim++: Integrated traffic and autonomous driving simulators with (M)LLM support), 이를 뛰어넘어 별도로 딥러닝으로 학습된 배경 차량 AI를 제공하고 있다는 언급은 없습니다. 요컨대 LimSim++의 주변 차량은 규칙 기반 휴먼 드라이버 모델로 움직이며, 필요하다면 사용자가 추가로 학습된 에이전트를 투입할 수는 있겠지만, 플랫폼 기본으로는 실제 데이터 모사 + 폐루프 제어에 집중되어 있습니다.
보행자 및 자전거 등 다른 교통참가자 모델 지원: 현재 LimSim++는 시뮬레이션의 초점을 차량 대 차량 상호작용에 맞추고 있으며, 보행자나 자전거와 같은 교통 참가자의 별도 모델에 대해서는 공식 문서에 언급이 거의 없습니다. LimSim 소개 자료의 “다양한 행동 모델”도 이질적인 차량 운전 스타일을 의미하며 (GitHub - PJLab-ADG/LimSim: LimSim & LimSim++: Integrated traffic and autonomous driving simulators with (M)LLM support), 지원되는 도로 환경도 차량 중심으로 구성되어 있습니다 (GitHub - PJLab-ADG/LimSim: LimSim & LimSim++: Integrated traffic and autonomous driving simulators with (M)LLM support). 따라서 보행자 신호 준수나 자전거 주행 같은 세부적인 알고리즘은 LimSim++에 기본 탑재되어 있지 않은 것으로 판단됩니다. 만약 사용자 측에서 보행자나 자전거를 포함시키고자 한다면, CARLA와의 동시 시뮬레이션(co-simulation) 기능을 활용하는 것이 하나의 방법입니다 (GitHub - PJLab-ADG/LimSim: LimSim & LimSim++: Integrated traffic and autonomous driving simulators with (M)LLM support). LimSim은 CARLA와 연동하여 차량 상태를 동기화할 수 있으므로, CARLA를 통해 보행자/자전거를 시뮬레이트하고 LimSim의 차량 흐름과 결합하는 식으로 구현 가능할 것입니다. 그러나 이것은 플랫폼의 확장 활용 방식일 뿐, LimSim++ 자체에 보행자 또는 자전거의 반응형 행동 모델이 내장되어 있지는 않습니다. 정리하면, LimSim++는 현재 차량 이외의 교통 참가자에 대한 특별한 지원은 없으며, 시뮬레이션에 등장하더라도 단순한 이동 객체로 다뤄질 가능성이 높습니다.
학습 기반 플래너를 위한 학습 파이프라인 제공 여부: LimSim++는 학습 기반 자율주행 플래너의 개발과 평가를 지원하는 것을 목표로 하고 있습니다. 이를 위해 플래너가 관여하는 결정 및 제어 과정의 인터페이스를 공개하여, 사용자가 자신의 알고리즘을 쉽게 주입하고 테스트할 수 있도록 만들었습니다 (Long-term Macro-micro Interactive Simulation - LimSim). 예를 들어, Ego 차량의 의사결정(정책) 모듈을 사용자 구현으로 대체하여 LimSim 시뮬레이터에서 구동할 수 있고, 시뮬레이션 도중 해당 플래너의 출력을 받아 차량을 움직이도록 할 수 있습니다. 강화학습 관점에서 보면, LimSim++ 자체가 RL 알고리즘을 내장하고 있지는 않지만, 환경을 지속적으로 돌리면서 에이전트의 성능을 측정하고 피드백하는 폐루프 인프라는 제공됩니다 ([2402.01246] LimSim++: A Closed-Loop Platform for Deploying Multimodal LLMs in Autonomous Driving). 실제로 LimSim++ 논문에서는 멀티모달 거대 언어 모델(LLM)을 자율주행에 적용하는 실험을 소개하면서, 연속 학습(continuous learning)과 일반화 향상을 지원하는 장기 폐루프 시뮬레이션 플랫폼임을 강조하고 있습니다 ([2402.01246] LimSim++: A Closed-Loop Platform for Deploying Multimodal LLMs in Autonomous Driving). 또한 프롬프트 엔지니어링, 모델 평가, 프레임워크 개선 등의 절차를 이 환경에서 수행할 수 있다고 하여, 사용자가 학습 사이클을 구축하기 용이한 도구임을 명시하고 있습니다 ([2402.01246] LimSim++: A Closed-Loop Platform for Deploying Multimodal LLMs in Autonomous Driving).
그러나 학습 파이프라인이라 함은, 예컨대 강화학습 알고리즘의 훈련 루프나 손쉽게 모방학습을 수행하는 자동화된 기능을 지칭하는데, 그런 면에서 LimSim++는 특정 알고리즘에 종속된 파이프라인을 제공하지 않습니다. 대신 범용 시뮬레이션/평가 도구를 제공하는데, 사용자는 이를 활용하여 자신의 학습 코드를 작성하고 반복 실험을 진행하게 됩니다. 예를 들면, LimSim++의 인터페이스를 통해 에이전트의 관측과 보상을 수집하고, 매 에피소드마다 플래너(에이전트)를 업데이트하는 RL 코드를 사용자가 구성할 수 있습니다. 플랫폼에는 다양한 평가지표와 시나리오가 포함되어 있어 학습 과정에서 성능을 모니터링하기에 용이하며, 이러한 부분이 학습을 간접적으로 지원한다고 볼 수 있습니다. 요약하면, LimSim++ 자체는 학습 알고리즘을 내장한 플래너를 제공하지는 않지만, 학습 기반 플래너를 테스트/검증하기 위한 환경과 도구를 갖추고 있고 (예: ML 플래너와 전통 플래너에 대한 여러 baseline 및 평가 지표 제공), 이를 통해 사용자가 자신의 학습 파이프라인을 구현하여 실험하는 형태를 취합니다.