Skip to main content
Skip table of contents

OpenSCENARIO Support

Scenario Runner는 ASAM (Association for Standardization of Automation and Measuring Systems) 에서 정의한 OpenSCENARIO v1.2 기반으로 정의된 시나리오를 기반으로 동작하며, 다른 version (1.0 & 1.1) 도 지원중이다. 현재 OpenSCENARIO(.xosc) 파일의 모든 요소에 대한 읽기/편집/저장 기능을 지원하고 있으며, 이 중 MORAI SIM: Drive 와 연동하여 시나리오 테스트를 수행할 수 있는 요소를 점차 확충해나가고 있다. 본 문서는 각 OpenSCENARIO 요소에 대한 지원 여부 및 MORAI 에서 추가로 규정한 요소에 대해 다루고 있다.

Level of support

( (tick) : Support, (error) : Not support yet, ✔ : Limited support )

Scenario Definition

Element

Support

Note

FileHeader

(tick)

ParameterDeclarations

(tick)

VariableDeclarations

(tick)

CatalogLocations

(tick)

RoadNetwork

MORAI SIM: Drive 와 연동하려면 반드시 아래 요소에 시나리오가 수행 될 맵에 대한 MGeo 폴더 경로를 지정해줘야 한다.
<LogicFile filepath="MGeo"/>

Storyboard

Element

Support

Note

Storyboard

(tick)

Story

(tick)

Act

(tick)

ManeuverGroup

(tick)

Maneuver

(tick)

Event

Priority 기능을 지원하지 않아 활성 중인 Event가 종료된 후 다른 Event 가 활성화 될 수 있다.

Action

(tick)

Actions

Global Action

Category

Element

Support

Note

EnvironmentAction

EnvironmentAction

(tick)

일부 구현 완료. 동시에 Sun / Fog / Percipitation 을 Control 할수 없음

EntityAction

AddEntityAction

(tick)

일부 구현 완료. AddEntityAction 을했을때 경로와 속도가 random 과 0으로 지정된다.

DeleteEntityAction

(tick)

ParameterAction

ParameterSetAction

(error)

Deprecated in OSC v1.2 → VariableSetAction

ParameterModifyAction

(error)

Deprecated in OSC v1.2 → VariableModifyAction

VariableAction

VariableSetAction

(tick)

VariableModifyAction

(tick)

InfrastructureAction

TrafficSignalStateAction

(tick)

TrafficSignalControllerAction

미리 선언된 Traffic signal controller 를 참조하지 않고, 특정 교차로의 신호를 직접 수정한다.

TrafficAction

TrafficSourceAction

(tick)

TrafficSinkAction

(error)

TrafficSwarmAction

(tick)

TrafficDefinition 정의 제외 (Random 으로 차량을 Spawn)

TrafficStopAction

(tick)

Private Action

Category

Element

Support

Note

LongitudinalAction

SpeedAction

(tick)

LongitudinalDistanceAction

(error)

SpeedProfileAction

(error)

LateralAction

LaneChangeAction

AbsoluteLaneChangeAction 미지원

LaneOffsetAction

RelativeTargetLaneOffset 미지원 및 continuous / DynamicShape 와 미적용

LateralDistanceAction

(error)

VisibilityAction

VisibilityAction

(error)

SynchronizeAction

SynchronizeAction

(tick)

ControllerAction

ActivateControllerAction

(error)

AssignControllerAction

(error)

OverrideControllerValueAction

(error)

TeleportAction

TeleportAction

(tick)

RoutingAction

AcquirePositionAction

(tick)

AssignRouteAction

(tick)

<Init> 아래에만 선언할 수 있다.

FollowTrajectoryAction

(tick)

AppearanceAction

LightStateAction

(tick)

TailLight(Left / Right), Stop Signal Light,

AnimationAction

(error)

Conditions

Element

Support

Note

Trigger

(tick)

ConditionGroup

(tick)

Condition

(tick)

Entity Condition

Element

Support

Note

AccelerationCondition

(tick)

CollisionCondition

(tick)

Map 의 기본 생성된 Object 해됨

DistanceCondition

Entity/Lane 좌표계를 사용 가능하며, freespace 값은 false로 고정된다.

EndOfRoadCondition

(error)

OffroadCondition

(tick)

ReachPositionCondition

(tick)

RelativeDistanceCondition

(tick)

Entity/Lane 좌표계를 사용 가능하며, freespace 값은 false로 고정된다.

RelativeSpeedCondition

(tick)

SpeedCondition

(tick)

StandStillCondition

(tick)

TimeHeadwayCondition

(tick)

TimeToCollisionCondition

(tick)

TraveledDistanceCondition

(tick)

RelativeClearanceCondition

(error)

Value Condition

Element

Support

Note

ParameterCondition

(tick)

SimulationTimeCondition

(tick)

StoryboardElementStateCondition

(tick)

TimeOfDayCondition

(tick)

TrafficSignalCondition

(tick)

TrafficSignalControllerCondition

(tick)

UserDefinedValueCondition

(error)

VariableCondition

(tick)

Positions

Element

Support

Note

GeoPosition

(error)

LanePosition

(error)

RelativeLanePosition

(error)

RelativeObjectPosition

(tick)

RoadPosition

(error)

RelativeRoadPosition

(error)

RoutePosition

(error)

TrajectoryPosition

(error)

WorldPosition

(tick)

RelativeWorldPosition

(tick)

MORAI-Defined & Custom Elements

각 MORAI-Defined & Custom Element 같은 경우 하위 항목에 OpenScenario Format 의 예제로 볼수 있다.

Scenario Definition

Element

Note

SimulatorInfo

MORAI SIM: Drive 와 연동하려면 반드시 아래 요소가 선언되어야 한다.
<Map name = ${Map Name} />

Actions

Global Action

Category

Element

Note

TrafficAction

PedestrianSourceAction

보행자를 생성한다.

Private Action

Category

Element

Note

ParkingAction

ParkingAction

MGeo 상에 정의된 주차면에 차량을 주차한다.

User-defined Action

Category

Element

Note

FaultInjectionAction

InoperabilityAction

특정 기능을 비활성화한다. (accel, brake, steering-wheel 등)

SensorFaultAction

차량에 부착된 센서의 위치를 변경 및 센서 데이터의 출력 여부를 지정 할수 있다.

SteeringDisturbanceAction

입력된 조향 신호에 노이즈를 추가한다.

TireFaultAction

지정된 타이어에 펑크가 발생한다.

CreateMapObjectAction

CreatePuddleAction

지정된 위치에 물웅덩이(Puddle)를 생성한다.

ActivateMapObjectAction

ActivateMapObjectAction

MapObject 를 Activate 시킨다 (ex: MapObject: Puddle_1, 물웅덩이를 채워준다)

Positions

Category

Element

Note

Position

LinkPosition

MGeo 상에 정의된 Link 중, 차량이 위치한 Link 및 해당 Link 위에서의 point index

Spline

Category

Element

Note

Shape

Spline

각 위치들(Vertices)의 정보들을 몇 차(degree)식으로 Trajectory Shape 을 결정한다.

Evaluation

OpenSCENARIO 에서는 각 시나리오의 성공 및 실패 조건을 다루지 않는다. 따라서 별도의 Trigger 요소를 규정하여 시나리오의 성공 여부를 판단한다.

Element

Note

SuccessConditionGroup

ConditionGroup 과 동일하게 동작하며, 활성화 될 경우 해당 시나리오가 성공한다.

FailureConditionGroup

ConditionGroup 과 동일하게 동작하며, 활성화 될 경우 해당 시나리오가 실패한다.


© 2022 MORAI Inc.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.