| Name | Number | Description |
| OBJECT_TYPE_UNSPECIFIED | 0 | |
| OBJECT_TYPE_VEHICLE | 1 | |
| OBJECT_TYPE_PEDESTRIAN | 2 | |
| OBJECT_TYPE_OBSTACLE | 3 | |
| OBJECT_TYPE_SPAWN_POINT | 4 |
| Name | Number | Description |
| STATUS_CODE_UNKNOWN_FAILURE | 0 | MORAI SIM side에서 실패 |
| STATUS_CODE_SUCCESS | 1 | rpc 호출 성공 |
시뮬레이션 오브젝트를 식별하기 위한 유일한 아이디
| Field | Type | Label | Description |
| value | string |
|
Object의 정보를 담는 메시지
| Field | Type | Label | Description |
| id | ObjectIdentifier | Object의 아이디 |
|
| object_type | ObjectType | Object 종류 |
|
| client_key | string | 클라이언트가 발행하는 Key로 임의의 문자열을 입력하면 됨 |
| Field | Type | Label | Description |
| values | ObjectInfo | repeated |
|
리소스를 식별하기 위한 유일한 아이디
| Field | Type | Label | Description |
| value | string |
|
| Field | Type | Label | Description |
| status | StatusCode | rpc 호출 결과 |
|
| description | string | rpc 호출 결과에 의한 메시지 |
|
| custom_message | string | 추가 메시지 |
| Field | Type | Label | Description |
| results | Result | repeated |
|
| Field | Type | Label | Description |
| value | bool |
|
| Field | Type | Label | Description |
| extent | Vector3 |
|
|
| location | Vector3 |
|
|
| rotation | Vector3 |
|
| Field | Type | Label | Description |
| value | double |
|
| Field | Type | Label | Description |
| value | float |
|
| Field | Type | Label | Description |
| values | int32 | repeated |
|
| Field | Type | Label | Description |
| value | int32 |
|
| Field | Type | Label | Description |
| value | int64 |
|
| Field | Type | Label | Description |
| x | double |
|
|
| y | double |
|
|
| z | double |
|
| Field | Type | Label | Description |
| values | string | repeated |
|
| Field | Type | Label | Description |
| value | string |
|
| Field | Type | Label | Description |
| location | Vector3 | ENU 좌표계를 사용 |
|
| rotation | Vector3 | x : Roll y : Pitch z : Yaw CCW이며 동쪽이 0도 |
| Field | Type | Label | Description |
| value | uint32 |
|
| Field | Type | Label | Description |
| value | uint64 |
|
| Field | Type | Label | Description |
| x | double |
|
|
| y | double |
|
|
| z | double |
|
Actor (차량, 보행자, 장애물) 관련 서비스
보행자 제어 명령
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo | 보행자 아이디 |
|
| direction | morai_sim_api.Vector3 | x : Roll y : Pitch z : Yaw CCW이며 동쪽이 0도 |
|
| speed | float | 속도 (m/s) |
차량 제어 명령
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo | 차량 아이디 |
|
| long_cmd_type | LongCmdType | 1: Throttle control, 2: Velocity control, 3: Acceleration control |
|
| throttle | double | 차량의 가속 패달 값을 의미하며 0~1 범위를 가진다 |
|
| brake | double | 차량의 브레이크 패달 값을 의미하며 0~1범위를 가진다 |
|
| steer | double | 횡방향 제어 입력값, range : [-1,1], 원하는 스티어링 값(radian) / 최대 조향각 |
|
| velocity | double | (Only active if CmdType == 2) |
|
| acceleration | double | (Only active if CmdType == 3) |
|
| frame | uint32 | sync mode일 때만 의미 있음. 명령이 실행될 frame 지정 |
| Name | Number | Description |
| ANIMATION_OBJECT_TYPE_UNSPECIFIED | 0 | |
| ANIMATION_OBJECT_TYPE_CROSSING_GATE | 1 |
| Name | Number | Description |
| DISTURBANCE_LOCATION_ACCEL | 0 | Accel 장애 |
| DISTURBANCE_LOCATION_BRAKE | 1 | Brake 장애 |
| DISTURBANCE_LOCATION_STEER | 2 | Steering 장애 |
| DISTURBANCE_LOCATION_HAND_BRAKE | 3 | Hand brake 장애 |
| Name | Number | Description |
| DISTURBANCE_TYPE_NONE | 0 | continuous |
| DISTURBANCE_TYPE_PULSE | 1 | instantaneous |
| Name | Number | Description |
| EGO_CRUISE_TYPE_UNSPECIFIED | 0 | |
| EGO_CRUISE_TYPE_LINK | 1 | |
| EGO_CRUISE_TYPE_CONSTANT | 2 | |
| EGO_CRUISE_TYPE_END | 3 |
| Name | Number | Description |
| GEAR_MODE_M | 0 | |
| GEAR_MODE_P | 1 | |
| GEAR_MODE_R | 2 | |
| GEAR_MODE_N | 3 | |
| GEAR_MODE_D | 4 | |
| GEAR_MODE_L | 5 |
| Name | Number | Description |
| LONG_CMD_TYPE_UNSPECIFIED | 0 | |
| LONG_CMD_TYPE_THROTTLE | 1 | |
| LONG_CMD_TYPE_SPEED | 2 | |
| LONG_CMD_TYPE_ACCELERATION | 3 | |
| LONG_CMD_TYPE_GHOST | 4 |
| Name | Number | Description |
| NETWORK_COMM_TYPE_UNSPECIFIED | 0 | |
| NETWORK_COMM_TYPE_UDP | 1 | |
| NETWORK_COMM_TYPE_TCP | 2 | |
| NETWORK_COMM_TYPE_ROS | 3 | |
| NETWORK_COMM_TYPE_LCM | 4 | |
| NETWORK_COMM_TYPE_SERIAL | 5 | |
| NETWORK_COMM_TYPE_ROS_AUTO | 6 | |
| NETWORK_COMM_TYPE_APOLLO | 7 | |
| NETWORK_COMM_TYPE_END | 8 |
| Name | Number | Description |
| NETWORK_CONNECT_TYPE_UNSPECIFIED | 0 | |
| NETWORK_CONNECT_TYPE_EGO | 1 | |
| NETWORK_CONNECT_TYPE_PUBSUB | 2 | |
| NETWORK_CONNECT_TYPE_SIM | 3 | |
| NETWORK_CONNECT_TYPE_END | 4 |
| Name | Number | Description |
| NETWORK_ITEM_TYPE_UNSPECIFIED | 0 | |
| NETWORK_ITEM_TYPE_HOST_IP | 1 | |
| NETWORK_ITEM_TYPE_DESTINATION_IP | 2 | |
| NETWORK_ITEM_TYPE_BRIDGE_IP | 3 | |
| NETWORK_ITEM_TYPE_HOST_PORT | 4 | |
| NETWORK_ITEM_TYPE_DESTINATION_PORT | 5 | |
| NETWORK_ITEM_TYPE_BRIDGE_PORT | 6 | |
| NETWORK_ITEM_TYPE_MESSAGE_TYPE | 7 | |
| NETWORK_ITEM_TYPE_MESSAGE_TOPIC | 8 | |
| NETWORK_ITEM_TYPE_MESSAGE_CHANNEL | 9 | |
| NETWORK_ITEM_TYPE_SERIAL_FIELD | 10 | |
| NETWORK_ITEM_TYPE_SERIAL_PORTNUMBER | 11 | |
| NETWORK_ITEM_TYPE_SERIAL_BAUDRATE | 12 | |
| NETWORK_ITEM_TYPE_SERIAL_PARITY | 13 | |
| NETWORK_ITEM_TYPE_SERIAL_DATABITS | 14 | |
| NETWORK_ITEM_TYPE_SERIAL_STOPBITS | 15 | |
| NETWORK_ITEM_TYPE_SERIAL_FLOWCONTROL | 16 | |
| NETWORK_ITEM_TYPE_SERVCIE_NAME | 17 | |
| NETWORK_ITEM_TYPE_SRV | 18 | |
| NETWORK_ITEM_TYPE_FRAME_ID | 19 | |
| NETWORK_ITEM_TYPE_CHILDFRAME_ID | 20 | |
| NETWORK_ITEM_TYPE_END | 21 |
| Name | Number | Description |
| PUBSUB_TYPE_UNSPECIFIED | 0 | |
| PUBSUB_TYPE_Common | 256 | |
| PUBSUB_TYPE_ObjectInfoPublisher | 257 | |
| PUBSUB_TYPE_TLStatusPublisher | 258 | |
| PUBSUB_TYPE_TLCtrlSubscriber | 259 | |
| PUBSUB_TYPE_MultiEgoTransformHandler | 260 | |
| PUBSUB_TYPE_CollisionData | 261 | |
| PUBSUB_TYPE_SensorPosSubscriber | 262 | |
| PUBSUB_TYPE_GlobalIntersectionPublisher | 263 | |
| PUBSUB_TYPE_IntersectionControlSubscriber | 264 | |
| PUBSUB_TYPE_IntersectionStatusPublisher | 265 | |
| PUBSUB_TYPE_SensorSyncDataSubscriber | 266 | |
| PUBSUB_TYPE_TF2Publisher | 267 | |
| PUBSUB_TYPE_VehicleCollisionInfoPublisher | 268 | |
| PUBSUB_TYPE_SyncModeCmdServiceProvider | 269 | |
| PUBSUB_TYPE_SyncModeWaitForTickServiceProvider | 270 | |
| PUBSUB_TYPE_SyncModeInfoPublisher | 271 | |
| PUBSUB_TYPE_SyncModeAddObjectSubscriber | 272 | |
| PUBSUB_TYPE_SyncModeRemoveObjectSubscriber | 273 | |
| PUBSUB_TYPE_SyncModeSetGearServiceProvider | 274 | |
| PUBSUB_TYPE_SyncModeCtrlCmdServiceProvider | 275 | |
| PUBSUB_TYPE_SyncModeSaveSensorDataServiceProvider | 276 | |
| PUBSUB_TYPE_SyncModeMoraiSLServiceProvider | 277 | |
| PUBSUB_TYPE_MandoObjectInfoPublisher | 278 | |
| PUBSUB_TYPE_HILSMoraiInfoPublisher | 279 | |
| PUBSUB_TYPE_FaultStatusPublisher | 280 | |
| PUBSUB_TYPE_FaultStatusVehicleSubscriber | 281 | |
| PUBSUB_TYPE_AutoeverIFSSubscriber | 282 | |
| PUBSUB_TYPE_FaultStatusWheelSubscriber | 283 | |
| PUBSUB_TYPE_FaultStatusSensorSubscriber | 284 | |
| PUBSUB_TYPE_AutoeverInfoSubscriber | 285 | |
| PUBSUB_TYPE_CustomMessage | 286 | |
| PUBSUB_TYPE_SyncModeAddObjectServiceProvider | 287 | |
| PUBSUB_TYPE_SyncModeRemoveObjectServiceProvider | 288 | |
| PUBSUB_TYPE_XyCarCmdController | 289 | |
| PUBSUB_TYPE_NpcGhostSubscriberExtended | 290 | |
| PUBSUB_TYPE_TLStatusPublisher_SIM | 291 | |
| PUBSUB_TYPE_TLCtrlSubscriber_SIM | 292 | |
| PUBSUB_TYPE_IntersectionControlSubscriber_SIM | 293 | |
| PUBSUB_TYPE_IntersectionStatusPublisher_SIM | 294 | |
| PUBSUB_TYPE_ERP | 512 | |
| PUBSUB_TYPE_ERPInfoPublisher | 513 | |
| PUBSUB_TYPE_ERPSerialInfoPublisher | 514 | |
| PUBSUB_TYPE_ERPCmdController | 515 | |
| PUBSUB_TYPE_ERPObjectInfoPublisher | 516 | |
| PUBSUB_TYPE_MORAI | 768 | |
| PUBSUB_TYPE_MoraiAutowareInfoPublisher | 769 | |
| PUBSUB_TYPE_MoraiInfoPublisher | 770 | |
| PUBSUB_TYPE_MoraiCmdController | 771 | |
| PUBSUB_TYPE_MoraiObjectInfoPublisher | 772 | |
| PUBSUB_TYPE_MoraiSimProcHandleSubscriber | 773 | |
| PUBSUB_TYPE_MoraiSimProcStatusPublisher | 774 | |
| PUBSUB_TYPE_MoraiSLServiceProvider | 775 | |
| PUBSUB_TYPE_MoraiLampsSubscriber | 776 | |
| PUBSUB_TYPE_MoraiSimProcServiceProvider | 777 | |
| PUBSUB_TYPE_MoraiTLServiceProvider | 778 | |
| PUBSUB_TYPE_MoraiReplayInfoPublisher | 779 | |
| PUBSUB_TYPE_MoraiEventCmdServiceProvider | 780 | |
| PUBSUB_TYPE_MoraiVehicleSpecServiceProvider | 781 | |
| PUBSUB_TYPE_MoraiMapSpecServiceProvider | 782 | |
| PUBSUB_TYPE_MoraiSLSubscriber | 783 | |
| PUBSUB_TYPE_AUTOWARE | 1024 | |
| PUBSUB_TYPE_MoraiAutowareCmdController | 1025 | |
| PUBSUB_TYPE_MoraiAutowareGear | 1026 | |
| PUBSUB_TYPE_NAVER | 1280 | |
| PUBSUB_TYPE_NaverSLSubscriber | 1281 | |
| PUBSUB_TYPE_NaverSimProcHandleSubscriber | 1282 | |
| PUBSUB_TYPE_NaverInfoPublisher_ObdAcceleratorPedal | 1283 | |
| PUBSUB_TYPE_NaverInfoPublisher_ObdGear | 1284 | |
| PUBSUB_TYPE_NaverInfoPublisher_ObdLamps | 1285 | |
| PUBSUB_TYPE_NaverInfoPublisher_ObdSteeringAngle | 1286 | |
| PUBSUB_TYPE_NaverInfoPublisher_ObdWheelSpeeds | 1287 | |
| PUBSUB_TYPE_NaverInfoPublisher_ObdYawRate | 1288 | |
| PUBSUB_TYPE_NaverInfoPublisher_VehiclePose | 1289 | |
| PUBSUB_TYPE_NaverObjectInfoPublisher | 1290 | |
| PUBSUB_TYPE_NaverSimProcStatusPublisher | 1291 | |
| PUBSUB_TYPE_NaverTrafficLightPublisher | 1292 | |
| PUBSUB_TYPE_NaverCmdController | 1293 | |
| PUBSUB_TYPE_NaverSubscriber_ObdLamps | 1294 | |
| PUBSUB_TYPE_NaverSLServiceProvider | 1295 | |
| PUBSUB_TYPE_NaverSimProcServiceProvider | 1296 | |
| PUBSUB_TYPE_NaverTLServiceProvider | 1297 | |
| PUBSUB_TYPE_CBNU | 1536 | |
| PUBSUB_TYPE_CBNUSLSubscriber | 1537 | |
| PUBSUB_TYPE_CBNUCmdController | 1538 | |
| PUBSUB_TYPE_CBNUInfoPublisher | 1539 | |
| PUBSUB_TYPE_CBNUObjectInfoPublisher | 1540 | |
| PUBSUB_TYPE_KAIST | 1792 | |
| PUBSUB_TYPE_KaistSLSubscriber | 1793 | |
| PUBSUB_TYPE_KaistCmdController | 1794 | |
| PUBSUB_TYPE_KaistInfoPublisher | 1795 | |
| PUBSUB_TYPE_KaistObjectInfoPublisher | 1796 | |
| PUBSUB_TYPE_WECAR | 2048 | |
| PUBSUB_TYPE_WeCarCmdController | 2049 | |
| PUBSUB_TYPE_WeCarInfoPublisher | 2050 | |
| PUBSUB_TYPE_WeCarInfoVescStatePublisher | 2051 | |
| PUBSUB_TYPE_WeCarInfoSteerPublisher | 2052 | |
| PUBSUB_TYPE_SSAFY | 2304 | |
| PUBSUB_TYPE_SSAFYCmdController | 2305 | |
| PUBSUB_TYPE_SSAFYTurtleBotInfoPublisher | 2306 | |
| PUBSUB_TYPE_SSAFYObjectStatusPublisher | 2307 | |
| PUBSUB_TYPE_SSAFYObjectControlSubscriber | 2308 | |
| PUBSUB_TYPE_SSAFYEnviromentInfoPublisher | 2309 | |
| PUBSUB_TYPE_SSAFYStuffObjectControlSubscriber | 2310 | |
| PUBSUB_TYPE_SSAFYStuffObjectInfoPublisher | 2311 | |
| PUBSUB_TYPE_KAISTGHOST | 2560 | |
| PUBSUB_TYPE_KaistGhostCmdController | 2561 | |
| PUBSUB_TYPE_MORAIGHOST | 2816 | |
| PUBSUB_TYPE_MoraiGhostCmdController | 2817 | |
| PUBSUB_TYPE_MoraiNpcGhostController | 2818 | |
| PUBSUB_TYPE_SCOUTMINI | 3072 | |
| PUBSUB_TYPE_ScoutCmdController | 3073 | |
| PUBSUB_TYPE_ScoutInfoPublisher | 3074 | |
| PUBSUB_TYPE_ScoutLightCmdSubscriber | 3075 | |
| PUBSUB_TYPE_CYBER | 3328 | |
| PUBSUB_TYPE_CyberCmdController | 3329 | |
| PUBSUB_TYPE_CyberChassisPublisher | 3330 | |
| PUBSUB_TYPE_CyberBestPosePublisher | 3331 | |
| PUBSUB_TYPE_CyberInsStatPublisher | 3332 | |
| PUBSUB_TYPE_CyberOdometryPublisher | 3333 | |
| PUBSUB_TYPE_CyberCorrectedImuPublisher | 3334 | |
| PUBSUB_TYPE_CyberImuPublisher | 3335 | |
| PUBSUB_TYPE_ERPV2 | 3584 | |
| PUBSUB_TYPE_ERPv2CmdController | 3585 | |
| PUBSUB_TYPE_ERPv2InfoPublisher | 3586 | |
| PUBSUB_TYPE_ERPv2ObjectInfoPublisher | 3587 | |
| PUBSUB_TYPE_ERPv2SerialInfoPublisher | 3588 | |
| PUBSUB_TYPE_WEBOT | 3840 | |
| PUBSUB_TYPE_WeBOTCmdController | 3841 | |
| PUBSUB_TYPE_WeBOTInfoSteerPublisher | 3842 | |
| PUBSUB_TYPE_WeBOTInfoVescStatePublisher | 3843 | |
| PUBSUB_TYPE_PR | 4096 | |
| PUBSUB_TYPE_PRCmdController | 4097 | |
| PUBSUB_TYPE_PRStatusPublisher | 4098 | |
| PUBSUB_TYPE_PREventServiceProvider | 4099 | |
| PUBSUB_TYPE_DIFFERETIAL_DRIVE | 4352 | |
| PUBSUB_TYPE_MoraiDdCmdController | 4353 | |
| PUBSUB_TYPE_MoraiDdInfoPublisher | 4354 | |
| PUBSUB_TYPE_AUTOEVERGHOST | 4608 | |
| PUBSUB_TYPE_GhostCmdControllerExtended | 4809 | |
| PUBSUB_TYPE_GRPC | 4864 | |
| PUBSUB_TYPE_MoraiService | 4865 | |
| PUBSUB_TYPE_AnsysAVxIntegrationService | 4866 | |
| PUBSUB_TYPE_END | 4867 |
| Name | Number | Description |
| PATH_OFFSET_TYPE_UNSPECIFIED | 0 | |
| PATH_OFFSET_TYPE_FIX | 1 | 설정 값으로 고정 |
| PATH_OFFSET_TYPE_RANDOM_GAUSSIAN | 2 | Gaussian distribution (zero mean, unit variance) |
| PATH_OFFSET_TYPE_END | 3 |
| Name | Number | Description |
| VEHICLE_CLASS_UNSPECIFIED | 0 | |
| VEHICLE_CLASS_SEDAN | 1 | |
| VEHICLE_CLASS_SUV | 2 | |
| VEHICLE_CLASS_BUS | 3 | |
| VEHICLE_CLASS_TRUCK | 4 | |
| VEHICLE_CLASS_WAGON | 5 | |
| VEHICLE_CLASS_MISC | 6 | |
| VEHICLE_CLASS_MPV | 7 | |
| VEHICLE_CLASS_CUSTOM | 8 | |
| VEHICLE_CLASS_RANDOM | 9 | |
| VEHICLE_CLASS_END | 10 |
| Name | Number | Description |
| VEHICLE_CONTROL_UNSPECIFIED | 0 | |
| VEHICLE_CONTROL_KEYBOARD | 1 | |
| VEHICLE_CONTROL_GAME_WHEEL | 2 | |
| VEHICLE_CONTROL_AUTO_MODE | 3 | |
| VEHICLE_CONTROL_AUTO_MODE_LATERAL | 4 | |
| VEHICLE_CONTROL_AUTO_MODE_LONGITUDINAL | 5 | |
| VEHICLE_CONTROL_CRUISE_MODE | 6 | |
| VEHICLE_CONTROL_SYNCHRONOUS_MODE | 7 |
| Name | Number | Description |
| VEHICLE_FAULT_CLASS_UNSPECIFIED | 0 | |
| VEHICLE_FAULT_CLASS_TIMING | 1 | |
| VEHICLE_FAULT_CLASS_DATA | 2 | |
| VEHICLE_FAULT_CLASS_HARDWARE | 3 |
| Name | Number | Description |
| VEHICLE_FAULT_LOCATION_UNSPECIFIED | 0 | |
| VEHICLE_FAULT_LOCATION_ACCEL | 2 | |
| VEHICLE_FAULT_LOCATION_BRAKE | 3 | |
| VEHICLE_FAULT_LOCATION_STEERING | 4 |
| Name | Number | Description |
| VEHICLE_FAULT_SUBCLASS_UNSPECIFIED | 0 | 최상위 digit은 fault class와 일치하여야 한다 |
| VEHICLE_FAULT_SUBCLASS_LOSS_AND_TIMEOUT | 101 | |
| VEHICLE_FAULT_SUBCLASS_DELAYED | 102 | |
| VEHICLE_FAULT_SUBCLASS_OPEN | 201 | |
| VEHICLE_FAULT_SUBCLASS_SHORT | 202 | |
| VEHICLE_FAULT_SUBCLASS_OFFSET | 203 | |
| VEHICLE_FAULT_SUBCLASS_STUCK_IN_RANGE | 204 | |
| VEHICLE_FAULT_SUBCLASS_OUT_OF_DATA | 205 | |
| VEHICLE_FAULT_SUBCLASS_DRIFT_AND_OSCILLATION | 206 | |
| VEHICLE_FAULT_SUBCLASS_PUNCTURE | 301 | |
| VEHICLE_FAULT_SUBCLASS_TRANSFORM | 302 |
| Name | Number | Description |
| VEHICLE_FAULT_TYPE_CONTROL | 0 | |
| VEHICLE_FAULT_TYPE_TIRE | 1 | |
| VEHICLE_FAULT_TYPE_SENSOR | 2 |
| Name | Number | Description |
| VEHICLE_LIMITER_TYPE_ACCEL | 0 | |
| VEHICLE_LIMITER_TYPE_BREAK | 1 | |
| VEHICLE_LIMITER_TYPE_STEER | 2 |
| Name | Number | Description |
| VEHICLE_TURN_SIGNAL_UNSPECIFIED | 0 | |
| VEHICLE_TURN_SIGNAL_LEFT | 1 | |
| VEHICLE_TURN_SIGNAL_RIGHT | 2 | |
| VEHICLE_TURN_SIGNAL_ALL | 3 |
Actor 상태
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| bounding_box | morai_sim_api.BoundingBox |
|
|
| transform | morai_sim_api.Transform |
|
|
| velocity | morai_sim_api.Vector3 |
|
|
| angular_velocity | morai_sim_api.Vector3 |
|
|
| acceleration | morai_sim_api.Vector3 |
|
|
| vehicle_state | VehicleState | Actor가 차량인 경우에만 존재 |
Actor 상태
| Field | Type | Label | Description |
| states | ActorState | repeated |
|
| sync_mode_tick_count | uint64 |
|
|
| timestamp | int64 |
|
차량의 현재 제어 모드
| Field | Type | Label | Description |
| mode | VehicleControlMode |
|
MORAI SIM에 설정된 차량의 정보
| Field | Type | Label | Description |
| level | int32 | dynamics 구현 정도 |
|
| ego | string | 적합성 |
|
| npc | string | 적합성 |
모든 Actor들의 상태를 요청하기 위한 필터
| Field | Type | Label | Description |
| client_key | string | 요청할 클라이언트의 키. 키가 설정되지 않으면 MORAI SIM에서 관리하는 아이디로 상태값을 전달한다. |
|
| vehicle | bool | 차량 타입 actor의 상태 수신 여부 |
|
| pedestrian | bool | 보행자 타입 actor의 상태 수신 여부 |
|
| obstacle | bool | 장애물 타입 actor의 상태 수신 여부 |
차량 제원
| Field | Type | Label | Description |
| sub_category | VehicleClass |
|
|
| length | float | [Unit : m] |
|
| width | float | [Unit : m] |
|
| height | float | [Unit : m] |
|
| wheel_base | float | [Unit : m] |
|
| front_overhang | float | [Unit : m] |
|
| rear_overhang | float | [Unit : m] |
|
| dynamics_level | DynamicsLevel | repeated |
|
| max_steering_angle | float | [Unit : Deg] |
|
| wheel_radius | float | [Unit : m] |
차량 상태
| Field | Type | Label | Description |
| throttle | float |
|
|
| steer | float | -1~1 |
|
| brake | float |
|
|
| front_wheel_angle | float |
|
|
| gear_mode | GearMode |
|
|
| current_link_info | morai_sim_api.map.LinkInfo |
|
|
| remaining_distance | float |
|
|
| remaining_link_count | int32 |
|
|
| is_pass_des_pos | bool |
|
|
| tl_id | morai_sim_api.ObjectIdentifier |
|
|
| tl_color | morai_sim_api.infrastructure.TrafficLightColor |
|
|
| collision_objects | string | repeated |
|
아이피 설정
| Field | Type | Label | Description |
| connect_type | NetworkConnetType |
|
|
| items | NetworkItem | repeated |
|
네트워크 아이템
| Field | Type | Label | Description |
| type | NetworkItemType |
|
|
| value | string |
|
프로토콜 아이템
| Field | Type | Label | Description |
| protocol | PUBSUB_TYPE |
|
|
| items | NetworkItem | repeated |
|
프로토콤 설정
| Field | Type | Label | Description |
| comm_type | NetworkCommType |
|
|
| items | NetworkProtocolItem | repeated |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| scale | morai_sim_api.Vector3 |
|
Animation 설정
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| enabled | bool |
|
|
| object_type | AnimationObjectType |
|
|
| animation_key | string |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| cruise_on | bool |
|
|
| cruise_type | EgoCruiseType |
|
|
| link_speed_ratio | int32 |
|
|
| constant_velocity | float |
|
| Field | Type | Label | Description |
| ego_id | string | Client에서 호출할 Ego 차량의 아이디 |
|
| label | string | 화면에 표출할 Ego 차량의 label |
|
| client_key | string |
|
Actor Enable
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| enable | bool |
|
| Field | Type | Label | Description |
| fault_location | VehicleFaultLocation | 차량의 fault 발생 장치 |
|
| fault_class | VehicleFaultClass | fault 대분류 |
|
| fault_subclass | VehicleFaultSubclass | fault 소분류 |
| Field | Type | Label | Description |
| sensor_id | string |
|
|
| fault_class | VehicleFaultClass |
|
|
| fault_subclass | VehicleFaultSubclass |
|
|
| local_position_offset | morai_sim_api.Vector3 |
|
|
| local_rotation_offset | morai_sim_api.Vector3 |
|
| Field | Type | Label | Description |
| tire_index | int32 |
|
|
| fault_class | VehicleFaultClass |
|
|
| fault_subclass | VehicleFaultSubclass |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| enabled | bool |
|
|
| comm_type | NetworkCommType |
|
|
| frame_rate | int32 |
|
|
| protocol_settings | NetworkProtocolSetting |
|
|
| ip_settings | NetworkIpSetting | repeated |
|
Actor의 Transform 설정
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| transform | morai_sim_api.Transform |
|
Actor의 속도 설정
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| velocity | float |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| color | morai_sim_api.infrastructure.TrafficLightColor |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| mode | VehicleControlMode |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| decision_range | float |
|
|
| position | morai_sim_api.Vector3 |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| situation | DisturbanceLocation | 장애 발생 위치 |
|
| behavior | DisturbanceType | 장애 유형 |
|
| duration | float | 지속 시간 (초) |
|
| magnitude | float | 장애 정도 |
차량의 질량 설정
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| mass | float | kg |
|
| reset | bool |
|
차량의 최고 속도 설정
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| speed_limiter | bool | 속력 제한 flag. True : 적용, False 해제. |
|
| speed_limit | float | 제한 하려는 속력 (m/s) |
|
| reset | bool |
|
차량 앞바퀴의 최대 조향각 설정
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| max_steer_angle | float |
|
|
| reset | bool |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| type | VehicleFaultType |
|
|
| control | FaultInjectionCtrl | repeated |
|
| tire | FaultInjectionTire | repeated |
|
| sensor | FaultInjectionSensor | repeated |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| gear | GearMode |
|
차량의 리미터 설정
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| limiter_type | VehicleLimiterType | limiter type |
|
| min_saturation | float | Acc, Break: 최소값 0 steer: 최소값 -1 |
|
| max_saturation | float | Acc, Break: 최대값 1 steer: 최대값 1 |
|
| falling_rate | float | Acc, Break: negative value steer: -rad/s |
|
| rising_rate | float | Acc, Break: positive value steer: rad/s |
|
| reset | bool |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| value | float |
|
|
| lat_bias_mode | PathOffsetType |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| decision_range | float |
|
|
| links | morai_sim_api.map.LinkInfo | repeated |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| steer | float |
|
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo |
|
|
| signal | VehicleTurnSignal |
|
Actor spawn을 위한 공통 변수
| Field | Type | Label | Description |
| actor_info | morai_sim_api.ObjectInfo | Actor 정보 |
|
| transform | morai_sim_api.Transform | Actor의 위치와 자세 |
|
| model_name | string | Actor의 모델 명 |
|
| label | string | MORAI SIM에서 보여줄 Actor의 Label |
장애물 스폰 매개변수
| Field | Type | Label | Description |
| spawn_info | ActorSpawnInfo |
|
|
| scale | morai_sim_api.Vector3 |
|
보행자 스폰 매개변수
| Field | Type | Label | Description |
| spawn_info | ActorSpawnInfo |
|
|
| velocity | float |
|
|
| active_dist | float |
|
|
| move_dist | float |
|
|
| start_action | bool |
|
차량 스폰 매개변수
| Field | Type | Label | Description |
| spawn_info | ActorSpawnInfo |
|
|
| velocity | double |
|
|
| pause | bool |
|
|
| multi_ego | bool |
|
시뮬레이션 환경 관련 서비스
| Method Name | Request Type | Response Type | Description |
| GetTime | .morai_sim_api.Empty | SimulationTime | 시뮬레이션 시간 조회 |
| SetTime | SimulationTime | .morai_sim_api.Result | 시뮬레이션 시간 설정 |
| GetWeather | .morai_sim_api.Empty | Weather | 날씨 조회 |
| SetWeather | Weather | .morai_sim_api.Result | 날씨 설정 |
| Name | Number | Description |
| WEATHER_TYPE_SUNNY | 0 | |
| WEATHER_TYPE_CLOUDY | 1 | |
| WEATHER_TYPE_FOGGY | 2 | |
| WEATHER_TYPE_STORM | 3 | |
| WEATHER_TYPE_RAINY | 4 | |
| WEATHER_TYPE_SNOWY | 5 |
시뮬레이션 시간
| Field | Type | Label | Description |
| hour | int32 | 시간 (0~24h) |
|
| data_only | bool | 데이터만 변경할 것인지 여부 |
| Field | Type | Label | Description |
| type | WeatherType |
|
신호등, RSU(Road Side Unit)등 시뮬레이션 인프라의 상태를 조회하고 제어하는 기능
| Method Name | Request Type | Response Type | Description |
| GetTrafficLightInfo | GetTrafficLightInfoParam | TrafficLightInfo | 링크 또는 신호등의 아이디를 통해 신호등 상태 획득 |
| SetTrafficLightState | TrafficLightStateParam | .morai_sim_api.Result | 신호등의 상태 변경 |
| GetIntersectionTLInfo | .morai_sim_api.ObjectIdentifier | IntersectionState | 교차로 신호등 상태 획득 |
| SetIntersectionPhase | IntersectionPhase | .morai_sim_api.Result | 교차로 phase 변경 |
| SetIntersectionSchedule | IntersectionSchedule | .morai_sim_api.Result | 교차로 schedule 변경 |
| Name | Number | Description |
| GET_TL_INFO_UNSPECIFIED | 0 | |
| GET_TL_INFO_BY_LINK_ID | 1 | |
| GET_TL_INFO_BY_TL_ID | 2 |
| Name | Number | Description |
| TL_COLOR_UNSPECIFIED | 0 | |
| TL_COLOR_R | 1 | 0b000000000001 |
| TL_COLOR_Y | 4 | 0b000000000100 |
| TL_COLOR_SG | 16 | 0b000000010000 |
| TL_COLOR_LG | 32 | 0b000000100000 |
| TL_COLOR_RG | 64 | 0b000001000000 |
| TL_COLOR_UTG | 128 | 0b000010000000 |
| TL_COLOR_ULG | 256 | 0b000100000000 |
| TL_COLOR_URG | 512 | 0b001000000000 |
| TL_COLOR_LLG | 1024 | 0b010000000000 |
| TL_COLOR_LRG | 2048 | 0b100000000000 |
| TL_COLOR_R_WITH_Y | 5 | R | Y |
| TL_COLOR_Y_WITH_G | 20 | Y | SG |
| TL_COLOR_Y_WITH_GLEFT | 36 | Y | LG |
| TL_COLOR_G_WITH_GLEFT | 48 | SG | LG |
| TL_COLOR_R_WITH_GLEFT | 33 | R | LG |
| TL_COLOR_LLG_SG | 1040 | SG | LLG |
| TL_COLOR_R_LLG | 1025 | R | LLG |
| TL_COLOR_ULG_URG | 768 | ULG | URG |
| TL_COLOR_UNDEFINED | -1 | |
| TL_COLOR_NOT_DETECTED | -2 |
교차로 상태(Phase) 설정
| Field | Type | Label | Description |
| id | morai_sim_api.ObjectIdentifier | 교차로 아이디 |
|
| phase | int32 | 변경할 교차로의 상태(Phase) |
교차로 스케쥴
| Field | Type | Label | Description |
| id | morai_sim_api.ObjectIdentifier | 교차로 아이디 |
|
| vehicle | TrafficLightSchedule.Vehicle | repeated | 차량 신호등 스케쥴 |
| yellow | TrafficLightSchedule.Yellow | repeated | 노랑 신호등 스케즁 |
| pedestrian | TrafficLightSchedule.Pedestrian | repeated | 보행자 신호등 스케쥴 |
교차로 상태
| Field | Type | Label | Description |
| traffic_lights | TrafficLightInfo | repeated | 교차로의 신호등 정보 |
| phase | int32 | 교차로 스케쥴 phase |
신호등 정보 조회를 위한 매개변수
| Field | Type | Label | Description |
| type | GetTrafficLightInfoType | 요청 타입 |
|
| value | string | 값 |
신호등 정보
| Field | Type | Label | Description |
| id | morai_sim_api.ObjectIdentifier | 신호등 아이디, 신호등 상태를 얻어오지 못하면 비어있는 문자열을 반환한다. |
|
| color | TrafficLightColor | 신호등의 상태 |
신호등 정보 리스트
| Field | Type | Label | Description |
| res_list | TrafficLightInfo | repeated |
|
신호등 스케쥴. 신호등 스케쥴은 교차로를 통해 설정한다.
| Field | Type | Label | Description |
| tl_state_idx | int32 |
|
|
| synced_tl_idx | int32 |
|
|
| before_sec | int32 |
|
|
| green_light_sec | int32 |
|
|
| flicker_light_sec | int32 |
|
| Field | Type | Label | Description |
| duration | int32 |
|
|
| str_light_color_list | string | repeated |
|
| Field | Type | Label | Description |
| duration | int32 |
|
신호등 상태 설정을 위한 매개변수
| Field | Type | Label | Description |
| info | TrafficLightInfo | 신호등 정보 |
|
| is_impulse | bool | True : 일시적으로 신호등 color 변경, False : 영구적인 신호등 color 변경 단, 기차 신호등일 때는 의미 없음 |
|
| set_sibling | bool | True : tl_id와 동일한 진입로에 위치한 신호등들의 color 변경, Fasle : tl_id에 해당하는 신호등만 color 변경 |
타겟 링크의 주변 링크 조회
타입이 FROM 또는 TO일 때는 링크 리스트를 조회한다.
| Field | Type | Label | Description |
| type | NeighborLinkType |
|
|
| target_link_id | morai_sim_api.ResourceIdentifier |
|
| Field | Type | Label | Description |
| id | morai_sim_api.ResourceIdentifier |
|
|
| waypoint_idx | int32 |
|
지도 관련 서비스
| Method Name | Request Type | Response Type | Description |
| GetMGeo | .morai_sim_api.StringValue | MGeoData | MGeo 데이터를 가져옴 Extra scene map의 경우, "V_EXTRA_SCENE,맵이름" 으로 넣어야 한다. |
| GetNeighborLink | GetNeighborLinkParam | .morai_sim_api.StringList | 주변 링크 정보를 가져옴 성공하면 링크 아이디, 실패하면 비어있는 문자열 리스트 리턴 |
| GetVehiclesOnLink | LinkInfo | .morai_sim_api.ObjectInfos | 링크에 있는 차량 정보를 가져옴 |
주변 링크 타입
| Name | Number | Description |
| NEIGHBORLINK_TYPE_UNSPECIFIED | 0 | |
| NEIGHBORLINK_TYPE_LEFT | 1 | |
| NEIGHBORLINK_TYPE_RIGHT | 2 | |
| NEIGHBORLINK_TYPE_FROM | 3 | |
| NEIGHBORLINK_TYPE_TO | 4 |
MGeo 데이터
| Field | Type | Label | Description |
| objects | MGeoObject | repeated |
|
| Field | Type | Label | Description |
| filename | string |
|
|
| compressed_data | string |
|
시나리오 관련 기능을 제공하는 서비스
| Method Name | Request Type | Response Type | Description |
| LoadMoraiScenario | .morai_sim_api.StringValue | .morai_sim_api.Result | MORAI SIM: Drive의 Built-in 시나리오 파일 로드 |
| CreateVehicleSpawnPoint | CreateVehicleSpawnPointParam | .morai_sim_api.Result | Vehicle Spawn Point 생성 |
| CreatePedestrianSpawnPoint | CreatePedestrianSpawnPointParam | .morai_sim_api.Result | Pedestrian Spawn Point 생성 |
| EnableSpawnPoint | EnableSpawnPointParam | .morai_sim_api.Result | Spawn Point Enable/Disable |
| CreateFrictionControlArea | CreateFrictionControlAreaParam | .morai_sim_api.Result | 시나리오 객체 생성 |
| Name | Number | Description |
| VEHICLE_DRIVING_PARAM_TYPE_UNSPECIFIED | 0 | |
| VEHICLE_DRIVING_PARAM_TYPE_CONSTANT | 1 | |
| VEHICLE_DRIVING_PARAM_TYPE_VARIABLE | 2 | |
| VEHICLE_DRIVING_PARAM_TYPE_END | 3 |
| Name | Number | Description |
| LAT_BIAS_UNSPECIFIED | 0 | |
| LAT_BIAS_FIX | 1 | 설정 값으로 고정 |
| LAT_BIAS_RANDOM_GAUSSIAN | 2 | Gaussian distribution (zero mean, unit variance) |
| LAT_BIAS_END | 3 |
차량 크기
| Name | Number | Description |
| LENGTH_TYPE_MINI | 0 | |
| LENGTH_TYPE_COMPACT | 1 | |
| LENGTH_TYPE_MIDDLE_SIZE | 2 | |
| LENGTH_TYPE_LARGE | 3 |
| Name | Number | Description |
| PEDESTRIAN_BEHAVIOR_UNSPECIFIED | 0 | |
| PEDESTRIAN_BEHAVIOR_ONCE | 1 | 도착 후 그 자리에 서 있음 |
| PEDESTRIAN_BEHAVIOR_CLOSED_LOOP | 2 | 도착 후 삭제 |
| PEDESTRIAN_BEHAVIOR_REPEAT | 3 | 도착 후 처음 위치로 돌아가서 반복 |
| PEDESTRIAN_BEHAVIOR_LOOP | 4 | 처음 위치와 도착지점 사이를 반복 |
| PEDESTRIAN_BEHAVIOR_NEW_PATH | 5 | 도착 위치에서 새로운 길로 이동 |
| PEDESTRIAN_BEHAVIOR_STAND | 6 | 제 자리에 서 있음 |
| PEDESTRIAN_BEHAVIOR_END | 7 |
| Name | Number | Description |
| SPAWN_POINT_TYPE_UNSPECIFIED | 0 | |
| SPAWN_POINT_TYPE_VEHICLE_SPAWN_POINT | 1 | |
| SPAWN_POINT_TYPE_PEDESTRIAN_SPAWN_POINT | 2 |
| Name | Number | Description |
| VELOCITY_TYPE_UNSPECIFIED | 0 | |
| VELOCITY_TYPE_LINKVELOCITY | 1 | |
| VELOCITY_TYPE_CUSTOMVELOCITY | 2 | |
| VELOCITY_TYPE_END | 3 |
| Field | Type | Label | Description |
| object_info | morai_sim_api.ObjectInfo |
|
|
| transform | morai_sim_api.Transform |
|
|
| object_name | string |
|
|
| vertical_radius | float |
|
|
| horizontal_radius | float |
|
|
| height | float |
|
|
| multiplier | float |
|
보행자 spawn point 생성을 위한 파라미터
| Field | Type | Label | Description |
| spawn_point_info | SpawnPointInfo |
|
|
| config | PedestrianSpawnPointConfig |
|
차량 spawn point 생성을 위한 파라미터
| Field | Type | Label | Description |
| spawn_point_info | SpawnPointInfo |
|
|
| config | VehicleSpawnPointConfig |
|
spawn point 활성화 여부 설정
| Field | Type | Label | Description |
| object_info | morai_sim_api.ObjectInfo | spawn point, pedestrian spawn point unique id |
|
| is_active | bool | True : enable, False : diable |
보행자 목적지
| Field | Type | Label | Description |
| transform | morai_sim_api.Transform |
|
|
| scale | morai_sim_api.Vector3 | TODO: 여기에 반드시 스케일이 필요한지 확인 -> 필요 없으면 삭제 |
보행자 스폰포인트 설정
| Field | Type | Label | Description |
| pedestrian_destination_points | PedestrianDestinationPoint | repeated | 보행자 목적지 설정 |
| pedestrian_random_mode | bool | spawn random 모델 |
|
| select_mode | PedestrianBehavior | ex) PedestrianBehavior.STAND |
|
| min_count | int32 | 최소 spawn 수 |
|
| max_count | int32 | 최대 spawn 수 |
|
| spawn_time | float | spawn 주기 (Unit : Seconds?) |
spawn point 생성 정보
| Field | Type | Label | Description |
| object_info | morai_sim_api.ObjectInfo | spawn point unique id |
|
| location | morai_sim_api.Vector3 | spawn point 생성 좌표 |
|
| model_name | string | spawn할 object의 model name |
|
| pause | bool | pause 여부 |
차량 스폰포인트 설정
| Field | Type | Label | Description |
| list_vehicle_length_type | LengthType | repeated | ex) LengthType.MINI |
| is_close_loop | bool | spawn 차량 주행 경로 옵션 |
|
| is_lane_change | bool | spawn 차량 주행 경로 옵션 |
|
| parameter_type | DrivingParamType | ex) VEHICLE_DRIVING_PARAM_TYPE_CONSTANT |
|
| maximum_spawn_vehicle | int32 | 최대 spawn 수 |
|
| min_spawn_period | float | spawn 주기 설정 |
|
| max_spawn_period | float | spawn 주기 설정 |
|
| spawn_velocity_type | VelocityType | ex) VelocityType.LINKVELOCITY |
|
| min_spawn_velocity_custom | float | spawn 차량의 초기 속도 설정 |
|
| max_spawn_velocity_custom | float | spawn 차량의 초기 속도 설정 |
|
| min_spawn_velocity_link | float | spawn 차량의 초기 속도 설정 |
|
| max_spawn_velocity_link | float | spawn 차량의 초기 속도 설정 |
|
| desired_velocity_type | VelocityType | ex) VelocityType.LINKVELOCITY |
|
| min_desired_velocity_custom | float | spawn 차량의 목표 속도 설정 |
|
| max_desired_velocity_custom | float | spawn 차량의 목표 속도 설정 |
|
| min_desired_velocity_link | float | spawn 차량의 목표 속도 설정 |
|
| max_desired_velocity_link | float | spawn 차량의 목표 속도 설정 |
|
| destination_obj_unique_id | int32 | 목적지 unique id |
|
| start_link_info | morai_sim_api.map.LinkInfo | 주행 시작점의 link 정보 |
|
| end_link_info | morai_sim_api.map.LinkInfo | 주행 완료점의 link 정보, Target Link Index --> empty 이면 NO Destination mode |
|
| lateral_bias_mode | LatBiasMode | lateral bias 설정 ex) LatBiasMode.FIX |
|
| min_lateral_bias | float | lateral bias 설정 |
|
| max_lateral_bias | float | lateral bias 설정 |
센서를 추가하기 위한 설정
| Field | Type | Label | Description |
| vehicle_id | morai_sim_api.ObjectInfo | 센서를 추가할 차량의 아이디 |
|
| sensor_type | SensorType | 센서의 종류 |
|
| transform | morai_sim_api.Transform | 센서의 위치 |
| Field | Type | Label | Description |
| req_list | AddSensorParam | repeated |
|
Sensor 관련 서비스
| Method Name | Request Type | Response Type | Description |
| AddSensor | AddSensorParam | .morai_sim_api.Result | 차량에 센서 장착 |
| RemoveSensor | SensorInfo | .morai_sim_api.Result | 차량에 부착한 센서 제거 |
| SetSensorSetting | SensorSetting | .morai_sim_api.Result | 센서 설정 (현재는 GT 센서만 지원) |
| GetSensorData | SensorInfo | SensorData | 센서 데이터 요청 (현재는 GT 센서만 지원) |
| SaveSensorData | SensorDataSaveConfig | .morai_sim_api.Result | 모든 센서의 데이터를 동기화하여 저장 |
| LoadSensorFile | .morai_sim_api.StringValue | .morai_sim_api.Result | 센서 설정 파일 로드 |
GroundTruth 센서의 데이터로, MORAI SIM의 오브젝트 상태로 구성되어 있음
| Field | Type | Label | Description |
| data | ObjectStatus | repeated |
|
오브젝트 상태
| Field | Type | Label | Description |
| id | morai_sim_api.ObjectIdentifier | 오브젝트의 아이디 |
|
| type | int32 | 오브젝트의 종류 (Enum 값이 있어야 할 것 같다.) |
|
| name | string | 오브젝트의 이름 |
|
| heading | double | 오브젝트의 방향 (Unit: deg?) |
|
| position | morai_sim_api.Vector3 | 오브젝트의 위치 |
|
| acceleration | morai_sim_api.Vector3 | 오브젝트의 가속도 |
|
| velocity | morai_sim_api.Vector3 | 오브젝트의 속도 |
|
| size | morai_sim_api.Vector3 | 오브젝트의 크기 |
센서 데이터
| Field | Type | Label | Description |
| sensor_info | SensorInfo | 센서의 정보 |
|
| ground_truth | GroundTruth |
|
MORAI SIM 의 센서 데이터 저장 기능을 이용해 센서 데이터를 저장하기 위한 설정
| Field | Type | Label | Description |
| is_custom_file_name | bool |
|
|
| custom_file_name | string |
|
|
| file_dir | string |
|
| Name | Number | Description |
| GT_OBSTACLE_OBJ_INKNOWN | 0 | |
| GT_OBSTACLE_OBJ_VEHICLE | 1 | |
| GT_OBSTACLE_OBJ_PEDESTRIAN | 2 | |
| GT_OBSTACLE_OBJ_EGOVEHICLE | 3 | |
| GT_OBSTACLE_OBJ_OBSTACLE | 4 | |
| GT_OBSTACLE_OBJ_SPAWNPOINT | 5 | |
| GT_OBSTACLE_OBJ_MOVINGOBJECT | 6 | |
| GT_OBSTACLE_OBJ_EXTRAOBSTACLE | 7 | |
| GT_OBSTACLE_OBJ_SSAFYSPAWNPOINT | 8 | |
| GT_OBSTACLE_OBJ_DESTINATIONPOINT | 9 | |
| GT_OBSTACLE_OBJ_STOPOVERPOINT | 10 | |
| GT_OBSTACLE_OBJ_PEDSPAWNPOINT | 11 | |
| GT_OBSTACLE_OBJ_SHADEDAREA | 12 | |
| GT_OBSTACLE_OBJ_MAPOBJECT | 13 | |
| GT_OBSTACL_OBJ_MAX | 14 |
| Name | Number | Description |
| GT_SHAPE_UNSPECIFIED | 0 | |
| GT_SHAPE_CYLINDER | 1 | |
| GT_SHAPE_CONE | 2 | |
| GT_SHAPE_END | 3 |
| Name | Number | Description |
| SENSOR_TYPE_UNSPECIFIED | 0 | |
| SENSOR_TYPE_CAMERA | 1 | |
| SENSOR_TYPE_LIDAR3D | 2 | |
| SENSOR_TYPE_LIDAR2D | 3 | |
| SENSOR_TYPE_GPS | 4 | |
| SENSOR_TYPE_IMU | 5 | |
| SENSOR_TYPE_RADAR | 6 | |
| SENSOR_TYPE_ULTRASONIC | 7 | |
| SENSOR_TYPE_GROUNDTRUTH | 8 | |
| SENSOR_TYPE_END | 9 |
센서 정보
| Field | Type | Label | Description |
| vehicle_info | morai_sim_api.ObjectInfo | 센서가 붙어있는 차량의 정보 |
|
| sensor_id | morai_sim_api.ResourceIdentifier | 센서의 아이디 |
|
| sensor_type | SensorType | 센서 종류 |
| Field | Type | Label | Description |
| segments | int32 |
|
|
| vertical_fov | float |
|
|
| horizontal_fov | float |
|
|
| range_min | float |
|
|
| range_max | float |
|
|
| resolution | int32 |
|
| Field | Type | Label | Description |
| segments | int32 |
|
|
| vertical_fov | float |
|
|
| range | float |
|
GroundTruth 센서 설정을 위한 값
| Field | Type | Label | Description |
| shape_type | GTShapeType |
|
|
| cylinder_setting | GTCylinderSetting |
|
|
| cone_setting | GTConeSetting |
|
|
| filter | GTObstacleObjType | repeated |
|
| max_count | int32 |
|
|
| viz_range | bool |
|
센서 설정을 위한 설정 값
| Field | Type | Label | Description |
| sensor_info | SensorInfo |
|
|
| gt_sensor | GroundTruthSensorSetting |
|
| Field | Type | Label | Description |
| settings | SensorSetting | repeated |
|
시뮬레이션 시 사용하는 서비스
| Method Name | Request Type | Response Type | Description |
| Start | StartParam | .morai_sim_api.Result | 시뮬레이션 시작 |
| Stop | .morai_sim_api.StringValue | .morai_sim_api.Result | 시뮬레이션 종료 client_key 값으로 생성된 차량을 삭제함 |
| Pause | .morai_sim_api.Empty | .morai_sim_api.Result | 시뮬레이션 일시 정지 |
| Resume | .morai_sim_api.Empty | .morai_sim_api.Result | 시뮬레이션 재개 |
| GetSynchronousMode | .morai_sim_api.Empty | SyncMode | 시뮬레이션 모드 조회 |
| SetSynchronousMode | SyncMode | .morai_sim_api.Result | 시뮬레이션 모드 설정 |
| Tick | .morai_sim_api.Int32Value | SyncTimestamp | 동기 모드일 때 설정한 시간만큼 Tick 진행 unit : msec response : frame index |
| WaitForTick | .morai_sim_api.Empty | .morai_sim_api.Int64Value | 비동기 모드일 때 사용하는 rpc로 다음 틱이 돌아오면 리턴 response : timestamp (msec) |
| Name | Number | Description |
| SYNC_MODE_TYPE_UNSPECIFIED | 0 | |
| SYNC_MODE_TYPE_TIME_MANAGEMENT | 1 | |
| SYNC_MODE_TYPE_SYNCHRONOUS | 2 |
시뮬레이션 할 맵과 Ego 차량 선택
| Field | Type | Label | Description |
| map_name | string | 맵 이름 |
|
| ego_vehicle_model | string | Ego 차량의 모델 명 |
시뮬레이션 설정
| Field | Type | Label | Description |
| morai_scenario_filename | string | MORAI SIM 의 시나리오 파일 이름 |
|
| sensor_setting_filename | string | 센서 설정 파일 이름 |
시뮬레이션을 시작하기 위해 필요한 설정
| Field | Type | Label | Description |
| map_and_vehicle | MapAndVehicle | 시뮬레이션을 진행할 지도와 Ego차량 설정 |
|
| ego_setting | morai_sim_api.actor.EgoSetting | Ego 차량의 label, id 설정 |
|
| ego_transform | morai_sim_api.Transform | Ego 차량의 transform 설정 |
|
| ego_cruise_setting | morai_sim_api.actor.EgoCruiseControl | Ego 차량의 cruise 설정 |
|
| mode | SyncMode | Synchronous 모드 설정 |
|
| simulation_settings | SimulationSettings | 시뮬레이션 설정 (시나리오, 센서 설정) |
|
| client_key | string | Client에서 생성한 임의의 문자열로, 이 문자열로 생성한 Actor를 삭제한다. |
MORAI SIM의 Synchronous 모드
| Field | Type | Label | Description |
| type | SyncModeType |
|
Synchronous 모드에서 사용하는 timestamp
| Field | Type | Label | Description |
| frame_count | uint64 |
|
|
| elapsed_time | int64 |
|
List of Available Object for the user account info
| Field | Type | Label | Description |
| ego_vehicle | string | repeated |
|
| surround_vehicle | string | repeated |
|
| pedestrian | string | repeated |
|
| obstacle | string | repeated |
|
| spawn_point | string | repeated |
|
| map_object | string | repeated |
|
| Field | Type | Label | Description |
| vehicle | bool |
|
|
| pedestrian | bool |
|
|
| obstacle | bool |
|
|
| spawn_point | bool |
|
|
| map_object | bool |
|
MORAI SIM의 렌더링 설정
| Field | Type | Label | Description |
| enable | bool | Rendering mode 활성화 여부 |
|
| size | WindowSize | None이 아니면, 설정한 사이즈로 MORAI SIM window 크기를 조정한다. |
| Field | Type | Label | Description |
| width | int32 |
|
|
| height | int32 |
|
MORAI SIM의 정보 확인을 위한 서비스
| Method Name | Request Type | Response Type | Description |
| GetSimulatorVersion | .morai_sim_api.Empty | .morai_sim_api.StringValue | 시뮬레이터 버전 확인 |
| GetTimestamp | .morai_sim_api.Empty | .morai_sim_api.Int64Value | 시뮬레이터의 Timestamp 확인 |
| GetAvailableMaps | .morai_sim_api.Empty | .morai_sim_api.StringList | 현재 사용자가 사용 가능한 맵 리스트 조회 |
| GetAvailableObject | CategoryObstacles | AvailableObject | Get Available Object matched to the user account info |
| GetDataPath | .morai_sim_api.Empty | .morai_sim_api.StringValue | 데이터 저장 경로 획득 |
| SetRenderingMode | RenderingMode | .morai_sim_api.Result | 랜더링 모드 변경 |
| CheckLatency | .morai_sim_api.Empty | .morai_sim_api.Empty | latency check |
| Field | Type | Label | Description |
| source | morai_sim_api.Vector3 | source 위치 |
|
| target | morai_sim_api.Vector3 | target 위치 |
|
| max_dist | float | 최대 길이 |
시뮬레이션 시 사용하는 서비스
| Method Name | Request Type | Response Type | Description |
| RayCast | RaycastParam | .morai_sim_api.FloatValue | Raycast response : hit distance (meter). if failed, return -1 |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | float | float | Float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |