Scenario Runner는 ASAM (Association for Standardization of Automation and Measuring Systems) 에서 정의한 OpenSCENARIO v1.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

(error)

CatalogLocations

(error)

RoadNetwork

MORAI SIM: Drive 와 연동하려면 반드시 아래 요소가 선언되어야 한다.
<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

(error)

EntityAction

AddEntityAction

(error)

DeleteEntityAction

(error)

ParameterAction

ParameterSetAction

(error)

Deprecated in OSC v1.2 → VariableSetAction

ParameterModifyAction

(error)

Deprecated in OSC v1.2 → VariableModifyAction

VariableAction

VariableSetAction

(error)

VariableModifyAction

(error)

InfrastructureAction

TrafficSignalStateAction

(tick)

TrafficSignalControllerAction

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

TrafficAction

TrafficSourceAction

(tick)

TrafficSinkAction

(error)

TrafficSwarmAction

(error)

TrafficStopAction

(error)

Private Action

Category

Element

Support

Note

LongitudinalAction

SpeedAction

(tick)

LongitudinalDistanceAction

(error)

SpeedProfileAction

(error)

LateralAction

LaneChangeAction

AbsoluteLaneChangeAction 미지원

LaneOffsetAction

(error)

LaneDistanceAction

(error)

VisibilityAction

VisibilityAction

(error)

SynchronizeAction

SynchronizeAction

(tick)

ControllerAction

ActivateControllerAction

(error)

AssignControllerAction

(error)

OverrideControllerValueAction

(error)

TeleportAction

TeleportAction

(tick)

RoutingAction

AcquirePositionAction

(error)

AssignRouteAction

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

FollowTrajectoryAction

(error)

AppearanceAction

LightStateAction

(error)

AnimationAction

(error)

Conditions

Element

Support

Note

Trigger

(tick)

ConditionGroup

(tick)

Condition

(tick)

Entity Condition

Element

Support

Note

AccelerationCondition

(error)

CollisionCondition

<ByType type="vehicle" /> 기능만 사용 가능하다.

DistanceCondition

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

EndOfRoadCondition

(error)

OffroadCondition

(error)

ReachPositionCondition

(error)

RelativeDistanceCondition

(error)

RelativeSpeedCondition

(error)

SpeedCondition

(error)

StandStillCondition

(error)

TimeHeadwayCondition

(error)

TimeToCollisionCondition

(error)

TraveledDistanceCondition

(error)

RelativeClearanceCondition

(error)

Value Condition

Element

Support

Note

ParameterCondition

(error)

SimulationTimeCondition

(tick)

StoryboardElementStateCondition

(tick)

TimeOfDayCondition

(error)

TrafficSignalCondition

(error)

TrafficSignalControllerCondition

(error)

UserDefinedValueCondition

(error)

variableCondition

(error)

Positions

Element

Support

Note

GeoPosition

(error)

LanePosition

(error)

RelativeLanePosition

(error)

RelativeObjectPosition

(error)

RoadPosition

(error)

RelativeRoadPosition

(error)

RoutePosition

(error)

TrajectoryPosition

(error)

WorldPosition

(tick)

RelativeWorldPosition

(tick)

MORAI-defined elements

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

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

Positions

Element

Note

LinkPosition

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

Evaluation

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

Element

Note

SuccessConditionGroup

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

FailureConditionGroup

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


© 2022 MORAI Inc.