콘텐츠로 이동

RoadRunner와 OpenSCENARIO 용어 비교표

MathWorks RoadRunner Scenario를 이미 알고 있다면, drawtonomy의 시나리오 에디터는 매우 익숙할 것입니다. 두 도구는 동일한 문제를 비슷한 방식으로 구성하며, 둘 다 ASAM OpenSCENARIO를 사용합니다. 다만 용어상의 차이가 있습니다. 이 페이지는 세 도구의 개념을 한 표로 정렬한 것입니다.

RoadRunner Scenario는 3D 캔버스, 자산 라이브러리, 내장된 차량 동작, CARLA 및 Simulink와의 공동 시뮬레이션, gRPC API를 갖춘 성숙한 상용 데스크톱 제품입니다. drawtonomy는 무료 브라우저 기반 2D 에디터입니다. 둘은 다른 도구이지만, 이 페이지의 목표는 개념이 어떻게 대응되는지 보여주는 것입니다.

RoadRunner ScenariodrawtonomyOpenSCENARIO 1.x
Scene Editing modeScene 모드
Scenario Editing modeScenario 모드
Logic editorLOGIC 카드Storyboard
Action PhasePhaseAct
(액션이 페이즈 내에 위치)EventEvent
ActorActorScenarioObject / Entities
ConditionTRIGGERStartTrigger
End conditionEND CONDITIONSStopTrigger
Fail conditionFAIL CONDITIONS(벤더 고유)
Attributes pane속성 패널
Library Browser (assets)TEMPLATE 목록Vehicle / Pedestrian 카탈로그
Scenario Parameters, Variables{x} 패널ParameterDeclarations, VariableDeclarations

두 제품 모두 Scene / Scenario 모드를 구분하며, 같은 이유입니다: 도로는 그 위에서 실행되는 동작과 별개의 산출물이기 때문입니다.

실질적인 구조상 차이는 동작의 순차 방식입니다.

RoadRunner Scenario는 액터별로 액션 페이즈를 체인처럼 연결하고, 그 사이에 컨디션을 원형 노드로 배치합니다. 각 컨디션은 직전 페이즈의 종료 시점과 다음 페이즈의 시작 시점을 결정합니다. 동작은 체인처럼 읽힙니다.

drawtonomy페이즈 내에 이벤트를 배치하며, 모든 이벤트는 자신의 TRIGGER를 갖습니다. 페이즈는 자신의 Start 조건을 가지며, 내부의 이벤트는 각자의 트리거가 만족될 때마다 실행됩니다. 동작은 체인보다는 트리거된 규칙의 집합으로 읽힙니다. 이는 OpenSCENARIO의 모델을 반영합니다. OpenSCENARIO에서 ActStartTrigger를 가지고, 각 Event도 마찬가지입니다.

실제로는 RoadRunner가 페이즈 → 컨디션 → 페이즈로 표현하는 것을 drawtonomy는 동일 페이즈 내의 서로 다른 트리거를 갖는 두 이벤트로 표현합니다.

한 가지 더: RoadRunner는 액터마다 초기 액션 페이즈를 생성하여 시작 상태를 나타냅니다. drawtonomy는 시작 상태를 액터 자체에 유지합니다 — 배치 패널의 Set initial speed 체크박스입니다 — 그리고 페이즈는 동작 전용으로 예약합니다.

RoadRunner ScenariodrawtonomyOpenSCENARIO 1.x
Change SpeedChange SpeedSpeedAction
Change LaneChange LaneLaneChangeAction
Change Lateral OffsetLateral OffsetLaneOffsetAction
Change Longitudinal DistanceKeep Longitudinal DistanceLongitudinalDistanceAction
Path FollowingFollow PathFollowTrajectoryAction
TeleportTeleportAction
Drive to PositionAcquirePositionAction

drawtonomy는 총 35개의 액션을 노출하며, 각각은 OpenSCENARIO 액션 요소와 일대일 대응됩니다.

RoadRunner ScenariodrawtonomyOpenSCENARIO 1.x
Simulation TimeSimulation timeSimulationTimeCondition
Actor SpeedActor speedSpeedCondition
Distance to ActorDistance to actorRelativeDistanceCondition
Distance to PointDistance to pointDistanceCondition
CollisionCollisionCollisionCondition
DurationDuration (실패 조건에만 해당)
Time GapTime gap to actorTimeHeadwayCondition
Phase / event stateStoryboardElementStateCondition

전체 목록은 트리거 참조에서 확인할 수 있습니다.

두 도구 모두 새 시나리오를 충돌 시 실패하도록 기본 설정합니다. RoadRunner에서는 이 기본값이 액터의 초기 페이즈와 함께 제공되고, drawtonomy에서는 FAIL CONDITIONS 섹션이 이미 Collision / Any actor로 시작됩니다.

drawtonomy가 불일치하게 사용하는 용어

섹션 제목: “drawtonomy가 불일치하게 사용하는 용어”

문서와 UI가 혼동을 주지 않도록 두 가지 주의사항:

  • Actor, participant, entity는 모두 같은 의미입니다. 그리기 도구모음은 Participants로 부르고, 시나리오 도구모음은 Add actor라고 하며, 속성 패널 헤딩은 ACTORS이고, OpenSCENARIO는 이를 ScenarioObject라고 부릅니다. 이 문서에서는 actor로 통일합니다.
  • “Run”이라는 이름의 버튼은 없습니다. LOGIC 카드의 ▶ 버튼이 시나리오를 시작하며, RUN은 실행 중에 표시되는 판정 배지입니다.

RoadRunner Scenario는 ASAM OpenSCENARIO XML을 내보내고, drawtonomy는 이를 가져옵니다. .xosc를 장면의 OpenDRIVE .xodr과 함께 내보낸 후, 둘 다 drawtonomy 캔버스에 드래그하면 됩니다 — 기존 .xosc 열고 재생하기를 참조하세요. Acts는 원본 이름의 페이즈로 도착하고, 이벤트는 자신의 트리거, 액션, 우선순위를 유지합니다.

반대 방향의 경우, drawtonomy는 Hamburger → Export에서 .xosc + .xodr을 내보냅니다. OpenDRIVE + OpenSCENARIO 내보내기를 참조하세요.

양방향 변환에서 손실이 발생할 수 있습니다. 도구별 동작, 자산, 내장 로직으로만 표현되는 것은 OpenSCENARIO 표현이 없어 전송될 수 없습니다. 표준 자체도 설계상 3D 자산 지원이 제한적입니다. 신뢰성 있게 전송되는 것은 검토에 가장 중요한 부분입니다: 도로 네트워크, 엔티티, 스토리보드입니다.