Procedure 정의


Procedure 정의

Ego

SetEgoCtrlCmd(EgoCtrlCmd) returns (ServiceResponse)

Ego 차량 제어

SetEgo(SetEgoParam) returns (Result)

Ego 차량 spawn 후 초기 설정

SendEgoCruiseCtrl(EgoCruiseCtrl) returns (Empty)

Ego 차량 Cruise Mode 설정

Connect (stream ServiceRequest) returns (stream ServiceResponse)

MORAI SIM에 Connect 및 MORAI SIM으로부터 차량 상태 정보 수신 활성화

Return message로 Ego, Multi-Ego vehicle의 상태 정보를 수신할 수 있다.

ServiceRequest

Connect(…) procedure 호출 시 ServiceRequest의 각 field는 아래와 같다.

ServiceResponse

Ego vehicle 상태 정보와 Multi-Ego vehicle의 상태 정보 수신을 service_name field를 통해 구분할 수 있다.


MultiEgo

SendMultiEgoCtrlCmd(MultiEgoCtrlCmdList) returns (ServiceResponse)

Multi-Ego 차량 control

SendMultiEgoEventCmd(MultiEgoEventCmdRequestList) returns (MultiEgoEventCmdResponseList)

Multi-Ego 차량 Event control

SendCreateMultiEgoVehicle(CreateMultiEgoVehicleRequestList) returns (ActorResponseList)

NPC vehicle 생성 요청 시점에 simulator에 동일한 unique_id를 가진 NPC vehicle 존재하는 경우,
임의로 unique_id 할당하여 NPC vehicle 생성함

SendDeleteMultiEgoVehicle(DeleteMultiEgoVehicleRequest) returns (ServiceResponse)

모든 Multi-Ego 차량 destroy

SendDeleteTargetMultiEgoVehicle(TargetUniqueId) returns (Empty)

지정한 unique_id에 해당하는 Multi-Ego vehicle만 destroy

Connect (stream ServiceRequest) returns (stream ServiceResponse)

MORAI SIM에 Connect 및 MORAI SIM으로부터 차량 상태 정보 수신 활성화

Return message로 Ego, Multi-Ego vehicle의 상태 정보를 수신할 수 있다.

ServiceRequest

Connect(…) procedure 호출 시 ServiceRequest의 각 field는 아래와 같다.

ServiceResponse

Ego vehicle 상태 정보와 Multi-Ego vehicle의 상태 정보 수신을 service_name field를 통해 구분할 수 있다.


Built-in Scenario

LoadSimScenario(Scenario) returns (Empty)

시나리오(Morai 자체 포맷) 로딩


Open Scenario

Start(StartRequest) returns (ServiceResponse)

OpenSCENARIO 서비스 Start Command

Stop(StopRequest) returns (ServiceResponse)

OpenSCENARIO 서비스 Stop Command


GetLeftLink(LinkInfo) returns (GetLinkResponse)

특정 Link의 좌측 link query

GetRightLink(LinkInfo) returns (GetLinkResponse)

특정 Link의 우측 각 link query

GetToLinks(LinkInfo) returns (GetLinkResponseList)

특정 Link의 전방 link query

GetFromLinks(LinkInfo) returns (GetLinkResponseList)

특정 Link의 후방 각 link query

GetVehiclesOnLink(LinkInfo) returns (GetVehiclesOnLinkResponseList)

특정 link에 vehicle 존재 시 unique_id 리턴


SpawnPoint

CreateSpawnPoint(CreateSpawnPointList) returns (ActorResponseList)

Spawn Point 생성

EnableSpawnPoint(EnableSpawnPointList) returns (ActorResponseList)

Spawn Point Enable/Disable

SetSpawnPoint(SetSpawnPointList) returns (ActorResponseList)

Set Spawn Point

SetPedestrianSpawnPoint(SetPedestrianSpawnPointList) returns (ActorResponseList)

Set Pedestrian Spawn Point


Traffic

GetTrafficLightInfoByLink(LinkInfo) returns (TLInfo)

Link ID 통해 해당 위치의 Traffic Light id, state 획득

GetTrafficLightInfoByUid(TargetUniqueId) returns (TLInfo)

Traffic Light ID 통해 해당 위치의 Traffic Light id, state 획득

GetIntscnTLInfo(TargetUniqueId) returns (TLInfoList)

IntscnID 통해 해당 위치의 Traffic Light id, state 획득

SetTrafficLightState(TLStateParamList) returns (ActorResponseList)

신호등의 state(light color) 변경


Intersection

SetIntersectionState(IntscnStateParamList) returns (ActorResponseList)

교차로 state 변경

SetIntersectionSchedule(IntscnScheduleParamList) returns (ActorResponseList)

교차로 schedule 변경


FaultStatus

SetFaultStatusOnCtrl(FaultInjectionCtrlList) returns (ActorResponseList)

차량 [Accel, Brake, Steering] 에 Fault 발생

SetFaultStatusOnTire(FaultInjectionTireList) returns (ActorResponseList)

차량 Tire 에 Fault 발생

SetFaultStatusOnSensor(FaultInjectionSensorList) returns (ActorResponseList)

차량에 부착된 Sensor에 Fault 발생


Friction

CreateMapObject(CreateMapObjectList) returns (ActorResponseList)

마찰력 제어 가능 Object(ex. 물 웅덩이) 생성

SetFrictionOnArea(FrictionControlAreaList) returns (ActorResponseList)

마찰력 제어 가능 Object 설정


Sensor

AddSensor(SensorSettingList) returns (SensorResponseList)

차량에 센서 부착

RemoveSensor(RemoveSensorList) returns (SensorResponseList)

차량에 부착되어 있는 센서 제거

SetGroundTruthSensor(SetGroundTruthSensorList) returns(Result)

GT(Ground Truth) sensor 세팅

GetGroundTruthData(TargetSensorList) returns(GroundTruthList)

Get GT(Ground Truth) sensor Data


Pedestrian

CreatePedestrian(PedestrianSpawnList) returns (ActorResponseList)

simulator scene에 pedestrian 생성

SendStartPedestrian(PedestrianActionList) returns (ActorResponseList)

start pedestrian animation


Obstacle / Object

CreateObstacle(ObstacleSpawnList) returns (ActorResponseList)

obstacle spawn

DeleteSpawnObstacles(CategoryObstacles) returns (Empty)

obstacle 제거

ObjectPause(ObjectPauseList) returns (Result)

unique_id 지정으로 특정 object만 pause / resume


Driving Path

SendVehicleRoutes(RouteList) returns (VehicleRouteResultList)

차량의 주행 경로를 mgeo link id 기반 지정

SendVehicleDestinations(DestinationList) returns (VehicleRouteResultList)

차량의 주행 경로를 좌표 기반 지정

SendVehiclePathOffset(PathOffsetList) returns (Empty)

차량의 차선 중앙 유지 정도 설정

GetVehicleAuxState(TargetUniqueIdList) returns (VehicleAuxStateInfoList)

차량 Aux state 획득


Simulator

Pause(Empty) returns (Result)

Simulator Pause

Resume(Empty) returns (Result)

Simulator Pause

LoadMap(Map) returns (Result)

Simulator 맵 로딩


Message 정의


Message 정의

Ego

EgoState

No

Name

Type

Unit

Remarks

1

unique_id

string

-

오브젝트의 unique id 값

2

acceleration

Vector3

m/s2

ego 차량의 현재 가속도 벡터 값

3

position

Vector3

m

ego 차량의 현재 위치

4

velocity

Vector3

km/h

ego 차량의 현재 속도 벡터 값

5

rotation

Vector3

deg

차량의 heading(deg)를 나타냄.

6

accel

float32

-

차량의 가속 패달의 상태 값 0~1 범위를 가진다.

7

brake

float32

-

차량의 브레이크 패달의 상태 값 0~1 범위를 가진다.

8

front_wheel_angle

float32

rad

차량의 현재 앞 바퀴 각도(Wheel Angle) 값

9

link_id

MGeoInfo

주행 중인 link 정보

10

is_pass_dest_pos

bool

목적지 도착 여부

11

remaining_distance

float

m

목적지까지 남은 거리

12

tl_id

string

차량 진행 방향에 인접한 신호등(traffic light) id

13

tl_color

TrafficLight.LightColor

차량 진행 방향에 인접한 신호등(traffic light) 의 color

SetEgoParam

No

Name

Type

Unit

Remarks

1

position

vector3

2

rotation

Vector3

deg

3

velocity

float

4

cruise_settings

EgoCruiseCtrl

cruise mode 세팅

5

pause

bool

차량 pause 여부

EgoCtrlCmd

No

Name

Type

Unit

Remarks

1

longCmdType

int32

제어 방식을 결정하는 인덱스
1: Throttle control, 2: Velocity control, 3: Acceleration control

2

accel

float64

-

차량의 가속 패달 값을 의미하며 0~1 범위를 가진다.

3

brake

float64

-

차량의 브레이크 패달 값을 의미하며 0~1범위를 가진다.

4

steering

float64

rad

차량 앞 바퀴 각도(Wheel Angle)을 의미하며 Rad 단위이다.

5

velocity

float64

km/h

(Only active if CmdType == 2)

6

acceleration

float64

m/s2

(Only active if CmdType == 3)

EgoCruiseCtrl

No

Name

Type

Unit

Remarks

1

cruise_on

bool

cruise mode 사용 여부

2

cruise_type

enum Velocity

ex)
EgoCruiseCtrl.LINK

EgoCruiseCtrl.CONSTANT

3

link_speed_ratio

int32

현재 Link 제한 속도에 대한 ratio

4

constant_velocity

float

km/h

목표 주행 속도


MultiEgo

MultiEgoStateList

list of MultiEgoState

No

Name

Type

Unit

Remarks

1

service_name

string

-

오브젝트의 unique id 값

2

multi_ego_state_list

List<MultiEgoState>

MultiEgoState

No

Name

Type

Unit

Remarks

1

unique_id

string

오브젝트의 unique id 값

2

acceleration

Vector3

m/s2

ego 차량의 현재 가속도 벡터 값

3

position

Vector3

m

ego 차량의 현재 위치

4

velocity

Vector3

km/h

ego 차량의 현재 속도 벡터 값

5

rotation

Vector3

deg

차량의 heading(deg)를 나타냄

6

accel

float32

-

차량의 가속 패달의 상태 값 0~1 범위를 가진다.

7

brake

float32

-

차량의 브레이크 패달의 상태 값 0~1 범위를 가진다.

8

front_wheel_angle

float32

rad

차량의 현재 앞 바퀴 각도(Wheel Angle) 값

9

link_id

MGeoInfo

주행 중인 link 정보

10

is_pass_dest_pos

bool

목적지 도착 여부

11

remaining_distance

float

m

목적지까지 남은 거리

12

tl_id

string

차량 진행 방향에 인접한 신호등(traffic light) id

13

tl_color

TrafficLight.LightColor

차량 진행 방향에 인접한 신호등(traffic light) 의 color

MultiEgoCtrlCmdList

list of MultiEgoCtrlCmd

No

Name

Type

Unit

Remarks

1

service_name

string

2

multi_ego_ctrl_cmd

List<MultiEgoCtrlCmd>

MultiEgoCtrlCmd

No

Name

Type

Unit

Remarks

1

unique_id

string

오브젝트의 unique id 값

2

longCmdType

int32

제어 방식을 결정하는 인덱스
1: Throttle control, 2: Velocity control, 3: Acceleration control

3

accel

float64

-

차량의 가속 패달 값을 의미하며 0~1 범위를 가진다.

4

brake

float64

-

차량의 브레이크 패달 값을 의미하며 0~1범위를 가진다.

5

steering

float64

rad

차량 앞 바퀴 각도(Wheel Angle)을 의미하며 Rad 단위이다.

6

velocity

float64

km/h

(Only active if CmdType == 2)

7

acceleration

float64

m/s2

(Only active if CmdType == 3)

MultiEgoEventCmdRequestList

list of MultiEgoEventCmdRequest

No

Name

Type

Unit

Remarks

1

service_name

string

2

cmd_list

List<MultiEgoEventCmdRequest>

MultiEgoEventCmdRequest

No

Name

Type

Unit

Remarks

1

unique_id

string

제어할 차량의 unique id

2

option

int8

이벤트 제어를 요청하는 필드 옵션

(Bit-wise operation)

(1: ctrl_mode, 2: gear, 4: lamps(4, 5번 필드), 8: set_pause)

3

ctrl_mode

int32

차량의 control mode 제어
(1: Keyboard 2: GameWheel, 3: automode, 4: cruisemode)

4

gear

int32

차량의 기어 변경
(-1: 이전 상태 유지,

1: P, 2: R, 3: N, 4: D)

5

turn_signal

int8

방향 지시등 제어
(0: No signal, 1: Left, 2: Right, 3: 이전 상태 유지)

6

emergency_signal

int8

방향 지시등 제어(0: No signal, 1: Emergency signal)

7

set_pause

bool

True: Pause 상태로 유지

False: play 상태로 전환

MultiEgoEventCmdResponseList

list of MultiEgoEventCmdResponse

No

Name

Type

Unit

Remarks

1

service_name

string

2

res_list

List<MultiEgoEventCmdResponse>

MultiEgoEventCmdResponse

No

Name

Type

Unit

Remarks

1

unique_id

string

차량의 unique id

2

ctrl_mode

int32

차량의 control mode 현재 상태

3

gear

int32

차량의 기어 현재 상태
(1: Keyboard 2: GameWheel, 3: automode, 4: cruisemode)

4

turn_signal

int8

방향 지시등 현재 상태
(0: No signal, 1: Left, 2: Right, 3: 이전 상태 유지)

5

emergency_signal

int8

방향 지시등 현재 상태
(0: No signal, 1: Emergency signal)

6

set_pause

bool

pause 여부

CreateMultiEgoVehicleRequestList

list of CreateMultiEgoVehicleRequest

No

Name

Type

Unit

Remarks

1

service_name

string

2

req_list

List<CreateMultiEgoVehicleRequest>

CreateMultiEgoVehicleRequest

No

Name

Type

Unit

Remarks

1

unique_id

string

생성할 Multi-Ego Vehicle의 unique id 지정

2

position

Vector3

m

초기 위치

3

rotation

Vector3

deg

초기 방향(heading)

4

velocity

float64

km/h

초기 속도

5

vehicleName

string

생성할 차종 이름 (ex: 2016_Hyundai_Ioniq)

6

pause

bool

True: 시뮬레이터 Pause 상태로 유지

False: 시뮬레이터 play 상태로 전환

DeleteMultiEgoVehicleRequest

No

Name

Type

Unit

Remarks

1

req_delete

bool

ServiceRequest

No

Name

Type

Unit

Remarks

1

service_name

string

2

msg

string

ServiceResponse

No

Name

Type

Unit

Remarks

1

service_name

string

Ego vehicle : “/morai_msgs/EgoState“
Multi-Ego vehicle : “/morai_msgs/MultiEgoState“

2

msg

string

Ego Vehicle : EgoState
Multi-Ego Vehicle : list of MultiEgoState


Map

No

Name

Type

Unit

Remarks

1

map_name

string

실행할 map 이름
NOTE Asset Bundle Map의 경우는 아래와 같이 호출한다.
”V_Extra_Scene,asset_bundle_map_name

2

ego_name

string

Ego vehicle의 모델명

Result

No

Name

Type

Unit

Remarks

1

success

bool

procedeure 실행 결과

2

description

string

procedure 실행 결과 정보

Scenario

No

Name

Type

Unit

Remarks

1

scenario_filename

string

MORAI SIM의 scenario file 명

Empty

Empty message ( ≈ null message)

Vector3

No

Name

Type

Unit

Remarks

1

x

double

2

y

double

3

z

double

ActorResponseList

list of ActorResponse

No

Name

Type

Unit

Remarks

2

res_list

List<ActorResponse>

ActorResponse

No

Name

Type

Unit

Remarks

1

result

bool

request success or fail

2

actor_name

string

client에서 요청한 unique id

3

display_name

string

Simulator에서 표시되는 unique id


Open Scenario

StartRequest

No

Name

Type

Unit

Remarks

1

service_name

string

“/morai_msgs/StartCmd“

2

cmd_start

bool

start 여부

StopRequest

No

Name

Type

Unit

Remarks

1

service_name

string

“/morai_msgs/StopCmd“

2

cmd_start

bool

stop 여부


MGeoInfo

No

Name

Type

Unit

Remarks

1

result

bool

link 정보 획득 success or fail

2

link_id

string

link id

3

waypoint

int64

link 내 way point index

LinkInfo

No

Name

Type

Unit

Remarks

1

unique_id

string

Link ID

2

index

int

wayPoint index

GetLinkResponseList

list of GetLinkResponse

No

Name

Type

Unit

Remarks

1

result

bool

2

res_list

List<LinkInfo>

GetLinkResponse

No

Name

Type

Unit

Remarks

1

result

bool

True: 해당 링크 존재
False: 해당 링크 없음

2

unique_id

string

link id

GetVehiclesOnLinkResponseList

No

Name

Type

Unit

Remarks

1

result

bool

True: 해당 링크 존재
False: 해당 링크 없음

2

res_list

List<VehicleInfo>

list of vehicle unique id


Pedestrian

PedestrianSpawnList

list of PedestrianSpawn

No

Name

Type

Unit

Remarks

1

req_list

List<PedestrianSpawn>

PedestrianSpawn

No

Name

Type

Unit

Remarks

1

unique_id

string

보행자 unique id

2

position

Vector3

spawn할 위치

3

rotation

Vector3

spawn 시 방향

4

velocity

float

km/h

보행자 이동 속도

5

active_dist

float

m

탐지 범위

6

move_dist

float

m

이동 거리

7

pedestrian_name

string

보행자 모델명

8

start_action

bool

spawn 후 보행자 보행(animation) 시작 여부

PedestrianActionList

list of PedestrianAction

No

Name

Type

Unit

Remarks

1

req_list

List<PedestrianAction>

PedestrianAction

No

Name

Type

Unit

Remarks

1

unique_id

string

보행자 unique id


Driving Path

VehicleInfo

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 unique id

RouteList

list of VehicleRoute

No

Name

Type

Unit

Remarks

1

req_list

List<VehicleRoute>

VehicleRoute

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 unique id

2

obj_type

enum Type

ex)
VehicleRoute.EGO

3

decision_range

float

m

목적지 근접 판별 범위

4

link_list

List<LinkInfo>

주행 경로 정보

DestinationList

list of VehicleDestination

No

Name

Type

Unit

Remarks

1

req_list

List<VehicleDestination>

VehicleDestination

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 unique id

2

obj_type

enum Type

ex)
VehicleDestination.EGO

3

decision_range

float

m

목적지 근접 판별 범위

4

position

vector3

목적지 좌표

VehicleRouteResultList

list of VehicleRouteResult

No

Name

Type

Unit

Remarks

1

res_list

List<VehicleRouteResult>

VehicleRouteResult

No

Name

Type

Unit

Remarks

1

success

bool

2

unique_id

string

3

error_code

enum ERROR_CODE

4

description

string

5

waypoints

LinkInfo

PathOffsetList

list of PathOffset

No

Name

Type

Unit

Remarks

1

req_list

List<PathOffset>

PathOffset

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 unique id

2

obj_type

enum VehicleType

ex)
VehicleType.EGO

3

value

float

%

bias

4

lat_bias_mode

enum OffsetType

ex)
PathOffset.FIX

VehicleAuxStateInfoList

list of VehicleAuxStateInfo

No

Name

Type

Unit

Remarks

1

res_list

List<VehicleAuxStateInfo>

VehicleAuxStateInfo

No

Name

Type

Unit

Remarks

1

unique_id

string

오브젝트의 unique id 값

2

isPassDestPos

bool

목적지 도착 여부

3

destPos

Vector3

목적지 좌표

4

remaining_distance

float

m

목적지까지 남은 거리

5

global_path

LinkInfo

주행 경로 MGeo link path 정보

6

local_path

LinkInfo

차량의 현재 MGeo link 정보

7

range

float

m

목적지 도착 여부 판정을 위한 decision range(decision boundary)


Sensor

SensorSettingList

list of SensorSetting

No

Name

Type

Unit

Remarks

1

req_list

List<SensorSetting>

SensorSetting

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 unique id

2

sensor_type

enum SensorType

ex)
SensorType.GPS

3

position

vector3

센서 부착 위치

4

rotation

vector3

센서 부착 방향

SensorResponseList

list of SensorResponse

No

Name

Type

Unit

Remarks

1

res_list

List<SensorResponse>

SensorResponse

No

Name

Type

Unit

Remarks

1

success

bool

success or fail

2

target_id

string

차량 ID

3

sensor_id

string

센서 ID

RemoveSensor

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 ID

2

sensor_id

string

센서 ID

SetGroundTruthSensorList

list of SetGroundTruthSensor

No

Name

Type

Unit

Remarks

1

req_list

List<SetGroundTruthSensor>

SetGroundTruthSensor

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 ID

2

sensor_id

string

센서 ID

3

gt_setting

struct

GT sensor setting parameters

4

viz_range

bool

m

GT sensor의 detection 가능 영역 visualization 여부

TargetSensorList

list of TargetSensor

No

Name

Type

Unit

Remarks

1

req_list

List<TargetSensor>

TargetSensor

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 ID

2

sensor_id

string

센서 ID


Ground Truth

GTSensorSetting

No

Name

Type

Unit

Remarks

1

shape_type

enum GTShapeType

2

cylinder_setting

GTCylinderSetting

3

cone_setting

GTConeSetting

4

filter

enum ObstacleObjType

None = 0,
Vehicle = 1,
Pedestrian = 2,
EgoVehicle = 3,
Obstacle = 4,
SpawnPoint = 5,
MovingObject = 6,
ExtraObstacle = 7,
SSAFYSpawnPoint = 8,
DestinationPoint = 9,
StopoverPoint = 10,
PedSpawnPoint = 11,
ShadedArea = 12,
MapObject = 13,
MAX = 14

5

max_count

int

maximum # of objects,
-1로 세팅 시 무제한

GTCylinderSetting

No

Name

Type

Unit

Remarks

1

segments

int

top면 도형

2

vertical_fov

float

deg

Field of View

3

range

float

m

원기둥 길이

GTConeSetting

No

Name

Type

Unit

Remarks

1

segments

int

top면 도형

2

vertical_fov

float

deg

Field of View

3

horizontal_fov

float

deg

Field of View

4

range_min

float

m

Detection range = {range_max - range_min, range_max}

5

range_max

float

m

6

resolution

int

cone을 이루는 면의 매끈한 정도(vertex 수)
maximum resolution == 10,
minimum resolution == 2

GroundTruthList

list of GroundTruth

No

Name

Type

Unit

Remarks

1

res_list

List<GroundTruth>

GroundTruth

No

Name

Type

Unit

Remarks

1

success

bool

2

data

List<ObjectStatus>


SpawnPoint

CreateSpawnPointList

list of CreateSpawnPoint

No

Name

Type

Unit

Remarks

1

req_list

List<CreateSpawnPoint>

CreateSpawnPoint

No

Name

Type

Unit

Remarks

1

unique_id

string

spawn point unique id

2

position

Vector3

spawn point 생성 좌표

3

sub_category

enum ScenarioETC.SUBCATEGORY

ex)
ScenarioETC.SPAWN_POINT

EnableSpawnPointList

list of EnableSpawnPoint

No

Name

Type

Unit

Remarks

1

req_list

List<EnableSpawnPoint>

EnableSpawnPoint

No

Name

Type

Unit

Remarks

1

unique_id

string

spawn point / pedestrian spawn point unique id

2

is_active

bool

True : enable
False : diable

SetSpawnPointList

list of SetSpawnPoint

No

Name

Type

Unit

Remarks

1

req_list

List<SetSpawnPoint>

SetSpawnPoint

No

Name

Type

Unit

Remarks

1

unique_id

string

spawn point unique id

2

info

SpawnPointInfo

3

spawn_object_name

string

spawn할 object 모델명

4

pause

bool

SpawnPointInfo

No

Name

Type

Unit

Remarks

1

list_vehicle_length_type

enum VehicleClass.VehicleLengthType

ex)
VehicleClass.VehicleLengthType.MINI

2

is_close_loop

bool

spawn 차량 주행 경로 옵션

3

is_lane_change

bool

spawn 차량 주행 경로 옵션

4

parameter_type

enum DesiredVelocityType.ParameterType

ex)
DesiredVelocityType.ParameterType.CONSTANT

5

maximum_spawn_vehicle

int32

최대 spawn 수

6

min_spawn_period

float

sec

spawn 주기 설정

7

max_spawn_period

float

sec

spawn 주기 설정

8

spawn_velocity_type

enum CruiseModeType.VelocityType

ex)
CruiseModeType.VelocityType.CUSTOM_VELOCITY

9

min_spawn_velocity_custom

float

km/s

spawn 차량의 초기 속도 설정

10

max_spawn_velocity_custom

float

km/s

spawn 차량의 초기 속도 설정

11

min_spawn_velocity_link

float

%

spawn 차량의 초기 속도 설정

12

max_spawn_velocity_link

float

%

spawn 차량의 초기 속도 설정

13

desired_velocity_type

enum CruiseModeType.VelocityType

ex)
CruiseModeType.VelocityType.CUSTOM_VELOCITY

14

min_desired_velocity_custom

float

km/s

spawn 차량의 목표 속도 설정

15

max_desired_velocity_custom

float

km/s

spawn 차량의 목표 속도 설정

16

min_desired_velocity_link

float

%

spawn 차량의 목표 속도 설정

17

max_desired_velocity_link

float

%

spawn 차량의 목표 속도 설정

18

destination_obj_unique_id

int32

목적지 unique id

19

start_link_info

LinkInfo

주행 시작점의 link 정보

20

end_link_info

LinkInfo

주행 완료점의 link 정보

21

lateral_bias_mode

enum BiasMode.LatBiasMode

lateral bias 설정
ex)
BiasMode.LatBiasMode.FIX

22

min_lateral_bias

float

%

lateral bias 설정

23

max_lateral_bias

float

%

lateral bias 설정


PedestrianSpawnPoint

SetPedestrianSpawnPointList

list of SetPedestrianSpawnPoint

No

Name

Type

Unit

Remarks

1

req_list

List<SetPedestrianSpawnPoint>

SetPedestrianSpawnPoint

No

Name

Type

Unit

Remarks

1

unique_id

string

spawn point unique id

2

info

PedestrianSpawnPointInfo

3

spawn_object_name

string

spawn 모델명

4

pause

pause

PedestrianSpawnPointInfo

No

Name

Type

Unit

Remarks

1

list_pedestrian_desination

List<PedestrianDestinationPointInfo>

보행자 목적지 설정

2

pedestrian_random_mode

bool

spawn random 모델

3

select_mode

enum PedestrianBehavior.CHARACTER_MODE

ex)
PedestrianBehavior.CHARACTER_MODE.STAND

4

min_count

int32

최소 spawn 수

5

max_count

int23

최대 spawn 수

6

spawn_time

float

sec

spawn 주기

PedestrianDestinationPointInfo

No

Name

Type

Unit

Remarks

1

position

Vector3

2

rotation

Vector3

3

scale

Vector3


TrafficLight

TLInfo

No

Name

Type

Unit

Remarks

1

success

bool

2

tl_id

string

traffic light unique id

3

tl_color

enum TrafficLight.LightColor

ex)
TrafficLight.LightColor.SG

TLInfoList

list of TLInfo

No

Name

Type

Unit

Remarks

1

res_list

List<TLInfo>

TLStateParamList

list of TLStateParam

No

Name

Type

Unit

Remarks

1

req_list

List<TLStateParam>

TLStateParam

No

Name

Type

Unit

Remarks

1

tl_id

string

신호등 unique id

2

tl_color

enum TrafficLight.LightColor

ex)
TrafficLight.LightColor.SG

3

is_impulse

bool

True : 일시적으로 신호등 color 변경
False : 영구적인 신호등 color 변경

4

set_sibling

bool

True : tl_id와 동일한 진입로에 위치한 신호등들의 color 변경
Fasle : tl_id에 해당하는 신호등만 color 변경


Intersection

IntscnStateParamList

list of IntscnStateParam

No

Name

Type

Unit

Remarks

1

req_list

List<IntscnStateParam>

IntscnStateParam

No

Name

Type

Unit

Remarks

1

intscn_id

string

교차로 unique id

2

state_idx

int32

교차로의 state 지정

IntscnScheduleParamList

list of IntscnScheduleParam

No

Name

Type

Unit

Remarks

1

req_list

List<IntscnScheduleData>

IntscnScheduleData

No

Name

Type

Unit

Remarks

1

intscn_id

string

교차로 unique id

2

tl_schedule

List<TrafficLight.TLSchedule>

3

yellow_duration

List<TrafficLight.YellowSchedule>

4

ps_schedule

List<TrafficLight.PSSchedule>

TrafficLight.TLSchedule

No

Name

Type

Unit

Remarks

1

duration

int32

sec

state duration 시간

2

str_light_color_list

List<string>

해당 state에 나타나야할 color list

TrafficLight.YellowSchedule

No

Name

Type

Unit

Remarks

1

duration

int32

sec

state 천이 시 발생하는 황색등의 duration

TrafficLight.PSSchedule

No

Name

Type

Unit

Remarks

1

tl_state_idx

int32

state index

2

synced_tl_idx

int32

보행자 신호등이 함께 녹색 점등할 synced traffic light index

3

before_sec

int32

sec

4

green_light_sec

int32

sec

녹색등 duration

5

flicker_light_sec

int32

sec

녹색등 점멸 duration


FaultInjection

FaultInjectionCtrlList

list of FaultInjectionCtrl

No

Name

Type

Unit

Remarks

1

req_list

List<FaultInjectionCtrl>

FaultInjectionCtrl

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 unique id

2

fault_location

int32

차량의 fault 발생 장치
{2 : Accel, 3 : BRAKE, 4 : STEERING}

3

fault_class

int32

fault 대분류
{1 : Timing, 2 : Data, 3 : Hardware}

4

fault_subclass

int32

fault 소분류
아래의 각 수의 최상위 digit은 fault class와 일치하여야 한다
{101 : LOSS_AND_TIMEOUT,
102 : DELAYED,
201 : OPEN,
202 : SHORT,
203 : OFFSET,
204 : STUCK_IN_RANGE,
205 : OUT_OF_DATA,
206 : DRIFT_AND_OSCILLATION,
301 : PUNCTURE,
302 : TRANSFORM
}

FaultInjectionTireList

list of FaultInjectionTire

No

Name

Type

Unit

Remarks

1

req_list

List<FaultInjectionTire>

FaultInjectionTire

No

Name

Type

Unit

Remarks

1

unique_id

string

2

tire_index

int32

3

fault_class

int32

4

fault_subclass

int32

FaultInjectionSensorList

list of FaultInjectionSensor

No

Name

Type

Unit

Remarks

1

req_list

List<FaultInjectionSensor>

FaultInjectionSensor

No

Name

Type

Unit

Remarks

1

unique_id

string

2

sensor_id

string

3

fault_class

int32

4

fault_subclass

int32

5

local_position_offset

Vector3

6

local_rotation_offset

Vector3


Obstacle / Object

ObstacleSpawnList

list of ObstacleSpawn

No

Name

Type

Unit

Remarks

1

req_list

List<ObstacleSpawn>

ObstacleSpawn

No

Name

Type

Unit

Remarks

1

unique_id

string

Obstacle ID

2

position

Vector3

3

rotation

Vector3

4

scale

Vector3

5

obstacle_name

string

모델명

CategoryObstacles

No

Name

Type

Unit

Remarks

1

vehicle

bool

2

pedestrian

bool

3

obstacle

bool

4

spawn_point

bool

5

map_object

bool

CreateMapObjectList

list of CreateMapObject

No

Name

Type

Unit

Remarks

1

req_list

List<CreateMapObject>

CreateMapObject

No

Name

Type

Unit

Remarks

1

unique_id

string

object unique id

2

position

Vector3

3

rotation

Vector3

4

spawn_object_name

string

FrictionChangeMaterial

ObjectStatus

No

Name

Type

Unit

Remarks

1

unique_id

string

차량 ID

2

type

int

vehicle = 1,
pedestrian = 2,
obstacle = 4

3

name

string

모델명

4

heading

double

deg

5

position

vector3

6

acceleration

vector3

m/s2

7

velocity

vector3

8

size

vector3

ObjectPauseList

list of ObjectPause

No

Name

Type

Unit

Remarks

1

req_list

List<ObjectPause>

ObjectPause

No

Name

Type

Unit

Remarks

1

unique_id

string

object의 unique id

2

obj_type

enum Type

차량 타입 지정

3

set_pause

bool

True : pause
False : Resume

TargetUniqueIdList

list of TargetUniqueId

No

Name

Type

Unit

Remarks

1

id_list

List<TargetUniqueId>

오브젝트의 unique id 값

TargetUniqueId

No

Name

Type

Unit

Remarks

1

unique_id

string

오브젝트의 unique id 값


Friction

FrctionControlAreaList

list of FrictionControlArea

No

Name

Type

Unit

Remarks

1

req_list

List<FrictionControlArea>

FrictionControlArea

No

Name

Type

Unit

Remarks

1

unique_id

string

2

vertical_radius

float

deg

3

horizontal_radius

float

deg

4

height

float

m

5

multiplier

float


Enum Type 정의

Velocity

No

Name

Type

Unit

Remarks

1

_Begin

2

LINK

(Link 제한 속도 * link_speed_ratio)로 주행

3

CONSTANT

(목표 주행 속도) 로 주행

4

_End

Type

No

Name

Type

Unit

Remarks

1

_Begin

2

EGO

3

MULTIEGO

4

_End

VehicleType

No

Name

Type

Unit

Remarks

1

_Begin

2

EGO

3

MULTIEGO

4

_End

ERROR_CODE

No

Name

Type

Unit

Remarks

1

SUCCESS

2

FAILED

3

NULL_EXCEPTION

4

NOT_FOUND_UNIQUE_ID

5

NOT_CREATE_OBJECT

6

EMPTY_LIST

7

NOT_EGO_CRUISE_MODE

8

NOT_FOUND_LINK_ID

9

NOT_FOUND_PATH

10

DIFFERENT_START_LINK

OffsetType

No

Name

Type

Unit

Remarks

1

_Begin

2

FIX

설정 값으로 고정

3

RANDOM_GAUSSIAN

Gaussian distribution

4

_END

SensorType

No

Name

Type

Unit

Remarks

1

None

2

Camera

3

Lidar3D

4

Lidar2D

5

GPS

6

IMU

7

Radar

8

Ultrasonic

9

GroundTruth

Ground Truth 정보 획득

10

END

GTShapeType

No

Name

Type

Unit

Remarks

1

_BEGIN

2

Cylinder

3

Cone

4

_End

ScenarioETC.SUBCATEGORY

No

Name

Type

Unit

Remarks

1

_BEGIN

2

SPAWN_POINT

차량 spawn point

3

PED_SPAWN_POINT

보행자 spawn point

4

_END

VehicleClass.VehicleLengthType

No

Name

Type

Unit

Remarks

1

MINI

차량 크기

2

COMPACT

차량 크기

3

MIDDLE_SIZE

차량 크기

4

LARGE

차량 크기

DesiredVelocityType.ParameterType

No

Name

Type

Unit

Remarks

1

_BEGIN

2

CONSTANT

지정한 목표 속도를 따름

3

VARIABLE

[MIN, MAX] 범위 속도

4

_END

CruiseModeType.VelocityType

No

Name

Type

Unit

Remarks

1

_BEGIN

2

LINK_VELOCITY

(Link 제한 속도 * link_speed_ratio)로 주행

3

CUSTOM_VELOCITY

(목표 주행 속도) 로 주행

4

_END

BiasMode.LatBiasMode

No

Name

Type

Unit

Remarks

1

_BEGIN

2

FIX

설정 값으로 고정

3

RANDOM_GAUSSIAN

Gaussian distribution

4

_END

PedestrianBehavior.CHARACTER_MODE

No

Name

Type

Unit

Remarks

1

_BEGIN

2

ONCE

3

CLOSED_LOOP

4

REPEAT

5

LOOP

6

NEW_PATH

7

STAND

8

_END

TrafficLight.LightColor

No

Name

Type

Unit

Remarks

1

_BEGIN

2

R

Red

3

Y

Yellow

4

SG

StraightGreen

5

LG

Left

6

RG

Right Green

7

UTG

UTurnGreen

8

ULG

UpperLeftGreen

9

URG

UpperRightGreen

10

LLG

LowerLeftGreen

11

LRG

LowerRightGreen

12

R_WITH_Y

Red_WITH_Yellow

13

Y_WITH_G

Yellow_WITH_Green

14

Y_WITH_GLEFT

Yellow_WITH_GreenLEFT

15

G_WITH_GLEFT

Green_WITH_GreenLEFT

16

R_WITH_GLEFT

Red_WITH_GreenLEFT

17

LLG_SG

LowerLeftGreen_StraightGreen

18

R_LLG

Red_LowerLeftGreen

19

ULG_URG

UpperLeftGreen_UpperRightGreen

20

UNDEFINED

신호등이 초기화 되지 않음

21

NOT_DETECTED