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
( : Support, : Not support yet, ✔ : Limited support )
Scenario Definition
Element | Support | Note |
---|---|---|
| ||
| ||
|
| |
|
| |
| ✔ | MORAI SIM: Drive 와 연동하려면 반드시 아래 요소에 시나리오가 수행 될 맵에 대한 MGeo 폴더 경로를 지정해줘야 한다. |
Storyboard
Element | Support | Note |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| ✔ | Priority 기능을 지원하지 않아 활성 중인 Event가 종료된 후 다른 Event 가 활성화 될 수 있다. |
|
Actions
Global Action
Category | Element | Support | Note |
---|---|---|---|
EnvironmentAction |
| 일부 구현 완료. 동시에 Sun / Fog / Percipitation 을 Control 할수 없음 | |
EntityAction |
| 일부 구현 완료. AddEntityAction 을했을때 경로와 속도가 random 과 0으로 지정된다. | |
|
| ||
ParameterAction |
| Deprecated in OSC v1.2 → VariableSetAction | |
| Deprecated in OSC v1.2 → VariableModifyAction | ||
VariableAction |
|
| |
|
| ||
InfrastructureAction |
| ||
| ✔ | 미리 선언된 Traffic signal controller 를 참조하지 않고, 특정 교차로의 신호를 직접 수정한다. | |
TrafficAction |
| ||
| |||
|
| TrafficDefinition 정의 제외 (Random 으로 차량을 Spawn) | |
|
|
Private Action
Category | Element | Support | Note |
---|---|---|---|
LongitudinalAction |
| ||
| |||
|
| ||
LateralAction |
| ✔ | AbsoluteLaneChangeAction 미지원 |
| ✔ | RelativeTargetLaneOffset 미지원 및 continuous / DynamicShape 와 미적용 | |
| |||
VisibilityAction |
| ||
SynchronizeAction |
| ||
ControllerAction |
| ||
| |||
| |||
TeleportAction |
| ||
RoutingAction |
| ||
|
| ||
| |||
AppearanceAction |
| TailLight(Left / Right), Stop Signal Light, | |
|
Conditions
Element | Support | Note |
---|---|---|
| ||
| ||
|
Entity Condition
Element | Support | Note |
---|---|---|
| ||
| Map 의 기본 생성된 Object 해됨 | |
| ✔ | Entity/Lane 좌표계를 사용 가능하며, |
| ||
| ||
| ||
| Entity/Lane 좌표계를 사용 가능하며, | |
| ||
| ||
| ||
| ||
| ||
| ||
|
|
Value Condition
Element | Support | Note |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
|
Positions
Element | Support | Note |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
MORAI-Defined & Custom Elements
각 MORAI-Defined & Custom Element 같은 경우 하위 항목에 OpenScenario Format 의 예제로 볼수 있다.
Scenario Definition
Element | Note |
---|---|
| MORAI SIM: Drive 와 연동하려면 반드시 아래 요소가 선언되어야 한다. |
Actions
Global Action
Category | Element | Note |
---|---|---|
TrafficAction |
| 보행자를 생성한다. |
Private Action
Category | Element | Note |
---|---|---|
ParkingAction |
| MGeo 상에 정의된 주차면에 차량을 주차한다. |
User-defined Action
Category | Element | Note |
---|---|---|
FaultInjectionAction |
| 특정 기능을 비활성화한다. (accel, brake, steering-wheel 등) |
| 차량에 부착된 센서의 위치를 변경 및 센서 데이터의 출력 여부를 지정 할수 있다. | |
| 입력된 조향 신호에 노이즈를 추가한다. | |
| 지정된 타이어에 펑크가 발생한다. | |
CreateMapObjectAction |
| 지정된 위치에 물웅덩이(Puddle)를 생성한다. |
ActivateMapObjectAction |
| MapObject 를 Activate 시킨다 (ex: MapObject: |
Positions
Category | Element | Note |
---|---|---|
Position |
| MGeo 상에 정의된 Link 중, 차량이 위치한 Link 및 해당 Link 위에서의 point index |
Spline
Category | Element | Note |
---|---|---|
Shape |
| 각 위치들(Vertices)의 정보들을 몇 차(degree)식으로 Trajectory Shape 을 결정한다. |
Evaluation
OpenSCENARIO 에서는 각 시나리오의 성공 및 실패 조건을 다루지 않는다. 따라서 별도의 Trigger 요소를 규정하여 시나리오의 성공 여부를 판단한다.
Element | Note |
---|---|
|
|
|
|
© 2022 MORAI Inc.