492. API messages
492.1 SSP messages
The following messages are defined in the Protobuf file ssp.proto.
492.1.1 actor_controls
Controls state
| Field | Type | Description |
|---|---|---|
| gear | string | Letter (R, N, D, P) identifier or number indicating current gear. |
| hand_brake | optional_bool | True if the actor has the hand/park brake engaged |
| hazard_lights | optional_bool | True if the hazard lights are turned on |
| indicators | indicator_state_enum | current state of indicators; |
| brake_pedal_pos | optional_double | current position of the brake pedal in percent. Value is in range [0,1] |
| throttle_pedal_pos | optional_double | current position of the throttle pedal in percent. Value is in range [0,1] |
| steering_wheel_angle | optional_double | current steering wheel angle in radians |
| siren | optional_bool | True if the siren is turned on - only applicable for emergency vehicles |
| emergency_lights | optional_bool | True if the emergency_lights is turned on - only applicable for emergency vehicles |
492.1.2 actor_description
Actor description Used to create a new actor in simulation
| Field | Type | Description |
|---|---|---|
| actor_type | string | Actor type (e.g: Ego, Vehicle, Pedestrian) |
| length | optional_double | Actor's length (meters) |
| width | optional_double | Actor's width (meters) |
| height | optional_double | Actor's height (meters) |
| additional_property | repeated property | Optional additional properties used to describe the actor |
492.1.3 actor_id_filter
Filtering of actors based on actor id
| Field | Type | Description |
|---|---|---|
| actors_id | repeated string | List of actor ids |
492.1.4 actor_state
Single actor state in simulation
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| position | coord_6dof | Actor position - x,y are mandatory x,y,z: meters roll, pitch, yaw: radians |
| speed | coord_6dof | Actor speed (optional - in case this field is missing, Foretify will calculate speed based on position change), if this field exists then it must contain at least x,y x,y,z: meters/sec roll, pitch, yaw: radians/sec |
| acceleration | coord_6dof | Actor acceleration (optional - in case this field is missing Foretify will calculate acceleration base on either speed or position change), if this field exists then it must contain at least x,y x,y,z: meters/sec^2 roll, pitch, yaw: radians/sec^2 |
| collision_info | collision_info | Collision info - will be filled in case of collision (only if simulator supports collision detection) Should include collision occurred in the last step |
| additional_property | repeated property | Optional additional properties used to describe the actor |
| controls | actor_controls | Controls state for dynamic actors |
492.1.5 actors_filter
Filtering of actors based on different parameters
| Field | Type | Description |
|---|---|---|
| id_filter | actor_id_filter | Filtering based on actor id |
492.1.6 collision_info
Collision information
| Field | Type | Description |
|---|---|---|
| collide_with_actor_id | string | Id of the actor, collided with |
492.1.7 coord_6dof
6 degrees of freedom coordinates
unit type depends on usage: position: x,y,z: meters roll,pitch,yaw: radians speed: x,y,z: meters/sec roll,pitch,yaw: radians/sec acceleration: x,y,z: meters/sec^2 roll,pitch,yaw: radians/sec^2
| Field | Type | Description |
|---|---|---|
| x | optional_double | |
| y | optional_double | |
| z | optional_double | |
| roll | optional_double | |
| pitch | optional_double | |
| yaw | optional_double |
492.1.8 create_actor_req
Create actor request
| Field | Type | Description |
|---|---|---|
| actor_description | actor_description | Actor's description |
| create_position | coord_6dof | Requested create position |
| create_speed | coord_6dof | Requested create speed (optional) |
| create_acceleration | coord_6dof | Requested create acceleration (optional) |
492.1.9 create_actor_resp
Create actor response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| actor_id | string | Unique id generated by simulator |
| actor_description | actor_description | Description of created actor |
492.1.10 destroy_actor_req
Request to remove actor from simulation
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
492.1.11 destroy_actor_resp
Remove actor response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.12 end_simulation_req
End simulation request
| Field | Type | Description |
|---|---|---|
| additional_property | repeated property | Additional properties (optional) |
492.1.13 end_simulation_resp
End simulation response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.14 get_actors_states_req
Get actors state request
| Field | Type | Description |
|---|---|---|
| actors_filter | actors_filter | Filter defining which actors to return in response If this value is not set then return all actors in simulation |
492.1.15 get_actors_states_resp
Get actors state response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| actor_state | repeated actor_state | List of actors states |
492.1.16 get_traffic_light_state_req
Get traffic lights states request
| Field | Type | Description |
|---|---|---|
| signal_ids | repeated string |
492.1.17 get_traffic_light_state_resp
Get traffic lights states response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| states | repeated tl_state | List of all requested TL states in simulation |
492.1.18 image
Image data Holds either the filename of an image or raw image data
| Field | Type | Description |
|---|---|---|
| width | uint32 | The image width in pixels |
| height | uint32 | The image height in pixels |
| data | raw_data | Raw image data |
| filename | string | Filename of the image |
492.1.19 image.raw_data
Holds raw image data
| Field | Type | Description |
|---|---|---|
| data | bytes | The data |
| format | string | The format of the data. Supported formats: bgra32, argb32, bgr24, rgba32, argb32, rgb24 |
492.1.20 init_req
Request to initialize SSP This request includes all data regarding simulation
| Field | Type | Description |
|---|---|---|
| info | simulation_info | Simulation info |
492.1.21 init_resp
Initialize SSP response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.22 launch_simulator_req
Request to launch simulator server Should be used only if simulator server should be launched by foretify This setting is controlled using config.sim.sim_launch_type
| Field | Type | Description |
|---|---|---|
| connection_string | string | Requested connection string (format is implementation dependant) |
492.1.23 launch_simulator_resp
Launch simulator server response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| connection_string | string | Actual connection string (format is implementation dependant) |
492.1.24 optional_bool
Optional boolean
| Field | Type | Description |
|---|---|---|
| value | bool |
492.1.25 optional_double
Optional double
| Field | Type | Description |
|---|---|---|
| value | double |
492.1.26 optional_int64
Optional int64
| Field | Type | Description |
|---|---|---|
| value | int64 |
492.1.27 property
Struct for passing custom data
| Field | Type | Description |
|---|---|---|
| name | string | Name of the property |
| value | string | Value |
492.1.28 set_actor_command_req
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| time_ms | int64 | Sim time at which to apply the command |
| gear | string | Manually change gear, such as putting the car in reverse. Values are 'R', 'N', 'D', 'P', '1', '2', etc. |
| hand_brake | optional_bool | Set/unset hand brake |
| hazard_lights | optional_bool | turn hazard lights on/off |
| indicators | indicator_state_enum | turn left/right indcators on/off |
| siren | optional_bool | turn siren on/off - only applicable for emergency vehicles |
| emergency_lights | optional_bool | turn emergency_lights on/off - only applicable for emergency vehicles |
| additional_property | repeated property | Additional properties (optional) |
492.1.29 set_actor_command_resp
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.30 set_actor_params_req
Change actor parameters request
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| enable_collision_detection | optional_bool | Enable/Disable collision detection (if supported by simulator) |
| additional_property | repeated property | Optional additional properties |
492.1.31 set_actor_params_resp
Change actor parameters response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.32 set_dynamic_move_req
Request to move actor using steering and pedals This message should replace set_steer_and_pedals_move_req
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| start_time_ms | int64 | Start time of the move |
| end_time_ms | int64 | End time of the move |
| throttle | repeated double | List of throttle values for each step (units depend on throttle_unit) |
| throttle_unit | throttle_brake_unit_enum | Unit of throttle values |
| brake | repeated double | List of brake values for each step (units depend on brake_unit) |
| brake_unit | throttle_brake_unit_enum | Unit of brake values |
| steer | repeated double | List of steering values for each step (units depend on steer_unit) |
| steer_unit | steer_unit_enum | Unit of steer values |
492.1.33 set_external_controller_move_req
Request to move actor by external system
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| destination_position | coord_6dof | Destination position |
| avoid_collisions_with_npc | bool | Flag indicating whether during this move, actor should try to avoid colliding with other actors |
| avoid_collisions_with_ego | bool | Flag indicating whether during this move, actor should try to avoid colliding with ego car |
| additional_property | repeated property | Additional custom properties |
492.1.34 set_move_resp
Set move response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.35 set_steer_and_pedals_move_req
Request to move actor using steering and pedals
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| start_time_ms | int64 | Start time of the move |
| end_time_ms | int64 | End time of the move |
| throttle_brake | repeated double | List of throttle/brake values for each step (units depend on throttle_brake_unit) |
| throttle_brake_unit | throttle_brake_unit_enum | Unit of throtle brake values |
| steer | repeated double | List of steering values for each step (units depend on steer_unit) |
| steer_unit | steer_unit_enum | Unit of steer values |
492.1.36 set_time_of_day_req
Set time of day request
| Field | Type | Description |
|---|---|---|
| time_of_day | string | Requested time of day (Either specific time using: HH:mm:ss format or custom string specific to simulator) |
| additional_property | repeated property | Additional properties (optional) |
492.1.37 set_time_of_day_resp
Set time of day response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.38 set_traffic_light_state_req
Set traffic lights states request
| Field | Type | Description |
|---|---|---|
| states | repeated tl_state | List of TL states to apply in simulation |
492.1.39 set_traffic_light_state_resp
Set traffic lights states response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.40 set_weather_req
Set weather request
| Field | Type | Description |
|---|---|---|
| weather | string | Requested weather (custom string) |
| additional_property | repeated property | Additional properties (optional) |
492.1.41 set_weather_resp
Set weather reponse
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| weather | string | Actual weather (custom string) |
492.1.42 set_xy_trajectory_move_req
Request to move actor according to given positions
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| start_time_ms | int64 | Start time of the move |
| end_time_ms | int64 | End time of the move |
| polyline | repeated coord_6dof | List of trajectory target points (Only x,y coordinates are mandatory) |
| speed | repeated coord_6dof | List of speed for each point (optional) |
| acceleration | repeated coord_6dof | List of acceleration for each point (optional) |
492.1.43 sim_command_req
Simulation command request
| Field | Type | Description |
|---|---|---|
| command | string | Custom simulation command |
| additional_property | repeated property | Additional properties (optional) |
492.1.44 sim_command_resp
Simulation command response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| response | string | Command response |
492.1.45 simulation_info
Struct for providing information regarding simulation
| Field | Type | Description |
|---|---|---|
| step_size_ms | int64 | The size of simulation step size in milliseconds |
| map_info | string | Map info (format is implementation dependant) |
| traffic_side | traffic_side_enum | Sets the traffic side for current simulation |
| headless_simulation | bool | If set to TRUE, simulation should run in headless mode |
| pause_at_start | bool | If set to TRUE, simulation should start in paused mode |
| additional_property | repeated property | Additional server properties (optional) |
| video_capture | video_capture_info | If set, video capture is enabled with the provided settings |
| use_microseconds_for_time | bool | If set, all time values should be considered as microseconds instead of milliseconds |
492.1.46 start_simulation_req
Start simulation request This request is expected to be non-blocking SSP should only validate the request and if valid, perform it asynchroniously
| Field | Type | Description |
|---|---|---|
| connection_string | string | Simulator server connection string (format is implementation dependant) |
| additional_property | repeated property | Additional properties (optional) |
492.1.47 start_simulation_resp
Start simulation response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.48 start_step_req
Simulation step request This request is expected to be non-blocking
| Field | Type | Description |
|---|---|---|
| requested_sim_time_ms | int64 | Expected simulation time after this step is complete |
492.1.49 start_step_resp
Simulation step response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.50 status
Struct for reporting status
| Field | Type | Description |
|---|---|---|
| info | repeated string | Info messages |
| warning | repeated string | Warning messages |
| error | repeated string | Error messages |
492.1.51 terminate_simulator_req
Request to terminate simulator server Should be used only if simulator server should be launched by foretify This setting is controlled using config.sim.sim_launch_type
492.1.52 terminate_simulator_resp
Terminate simulator server response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.1.53 tl_bulb
A single bulb in a traffic light
| Field | Type | Description |
|---|---|---|
| bulb_id | string | Either a bulb_id or icon+color pair should be provided to identify the relevant bulb within the traffic light |
| icon | icon_enum | Icon shown on bulb |
| color | color_enum | Bulb color |
| state | state_enum | When used within "set_traffic_light_state_req" - defines the state Foretify request to set in simulation When used within "get_traffic_light_state_resp" - defines the state of the bulb in simulation |
492.1.54 tl_state
The state of a single traffic light May represent a physical TL (box) or a logical TL (group of physical TL controlling the same road). The decision of using logical or physical representation depends on the input map format and simulator specifications
| Field | Type | Description |
|---|---|---|
| signal_id | string | Traffic light ID as received from map |
| bulb_states | repeated tl_bulb | List of bulb states |
492.1.55 video_capture_info
Video capture information Describes the requested video capture settings
| Field | Type | Description |
|---|---|---|
| width | uint32 | The requested video width |
| height | uint32 | The requested video height |
| frame_rate | uint32 | The requested video frame rate. Only applicable for simulators that capture video directly. |
| viewpoint | viewpoint_enum | The requested viewpoint |
| file_name | string | The requested output filename. only applicable for simulators that capture video directly. |
492.1.56 wait_start_simulation_req
Wait for start simulation to complete
| Field | Type | Description |
|---|---|---|
| max_wait_ms | optional_int64 | Maximum time allowed to wait (in milliseconds) If start simulation attempt is not complete within allowed time, an error message should be returned When value is not set, SSP should wait forever (or until Foretify disconnects from SSP) |
492.1.57 wait_start_simulation_resp
Wait for start simulation response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| sim_version | string | Version as reported by the simulator |
492.1.58 wait_step_req
Wait for step complete request
| Field | Type | Description |
|---|---|---|
| max_wait_ms | optional_int64 | Maximum time allowed to wait (in milliseconds) If step is not complete within allowed time, an error message should be returned When value is not set, SSP should wait forever (or until Foretify disconnects from SSP) |
| capture_image | bool | If set to true, the simulator should capture and return an image in the response. |
492.1.59 wait_step_resp
Wait for step complete response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| new_sim_time_ms | int64 | Updated simulation time This value can be set to 0 if time is not controlled by SSP |
| end_simulation | bool | Flag to allow simulator notify Foretify about finished simulation |
| image | image | Captured image. Should only be set if capture_image was true in the request. |
492.1.60 indicator_state_enum
| Name | Number | Description |
|---|---|---|
| INDICATOR_STATE_UNKNOWN | 0 | |
| INDICATOR_STATE_OFF | 1 | |
| INDICATOR_STATE_LEFT | 2 | |
| INDICATOR_STATE_RIGHT | 3 |
492.1.61 steer_unit_enum
Enumeration of allowed steer units
| Name | Number | Description |
|---|---|---|
| STEER_UNIT_UNKNOWN | 0 | Steer unit is unknown (invalid value) |
| STEER_UNIT_PERCENT | 1 | Steer is measured in percentage |
| STEER_UNIT_RADIAN | 2 | Steer is measured in radians |
| STEER_UNIT_NEWTON_METER | 3 | Steer is measured in newton-meters |
492.1.62 throttle_brake_unit_enum
Enumeration of allowed throttle/break units
| Name | Number | Description |
|---|---|---|
| THROTTLE_BREAK_UNIT_UNKNOWN | 0 | Throttle/Brake unit is unknown (invalid value) |
| THROTTLE_BREAK_UNIT_PERCENT | 1 | Throttle/Brake is measured in percentage |
| THROTTLE_BREAK_UNIT_NEWTON | 2 | Throttle/Brake is measured in newtons |
492.1.63 steer_unit_enum
Enumeration of allowed steer units
| Name | Number | Description |
|---|---|---|
| STEER_UNIT_UNKNOWN | 0 | Steer unit is unknown (invalid value) |
| STEER_UNIT_PERCENT | 1 | Steer is measured in percentage |
| STEER_UNIT_RADIAN | 2 | Steer is measured in radians |
492.1.64 throttle_brake_unit_enum
Enumeration of allowed throttle/break units
| Name | Number | Description |
|---|---|---|
| THROTTLE_BREAK_UNIT_UNKNOWN | 0 | Throttle/Brake unit is unknown (invalid value) |
| THROTTLE_BREAK_UNIT_PERCENT | 1 | Throttle/Brake is measured in percentage |
| THROTTLE_BREAK_UNIT_NEWTON | 2 | Throttle/Brake is measured in newtons |
492.1.65 traffic_side_enum
Enumeration of traffic side values
| Name | Number | Description |
|---|---|---|
| TRAFFIC_SIDE_RIGHT | 0 | Right-hand traffic |
| TRAFFIC_SIDE_LEFT | 1 | Left-hand traffic |
492.1.66 color_enum
| Name | Number | Description |
|---|---|---|
| COLOR_UNKNOWN | 0 | |
| COLOR_RED | 1 | |
| COLOR_YELLOW | 2 | |
| COLOR_GREEN | 3 | |
| COLOR_BLUE | 4 | |
| COLOR_WHITE | 5 |
492.1.67 icon_enum
| Name | Number | Description |
|---|---|---|
| ICON_UNKNOWN | 0 | |
| ICON_NONE | 1 | |
| ICON_ARROW_STRAIGHT | 2 | |
| ICON_ARROW_LEFT | 3 | |
| ICON_ARROW_RIGHT | 4 | |
| ICON_PEDESTRIAN | 5 | |
| ICON_WALK | 6 | |
| ICON_DONT_WALK | 7 | |
| ICON_BICYCLE | 8 | |
| ICON_COUNTDOWN | 9 |
492.1.68 state_enum
| Name | Number | Description |
|---|---|---|
| STATE_UNKNOWN | 0 | |
| STATE_OFF | 1 | |
| STATE_ON | 2 | |
| STATE_FLASHING | 3 |
492.1.69 viewpoint_enum
Enumeration of camera viewpoints
| Name | Number | Description |
|---|---|---|
| VIEWPOINT_DEFAULT | 0 | The default camera viewpoint of the simulator |
| VIEWPOINT_DRIVER | 1 | Driver viewpoint |
| VIEWPOINT_FOLLOW | 2 | Follow viewpoint |
| VIEWPOINT_TOP_DOWN | 3 | Top down viewpoint |
492.2 DSP messages
The following messages are defined in the Protobuf file dsp.proto.
492.2.1 coord_6dof
6 degrees of freedom coordinates
unit type depends on usage: position: x,y,z: meters roll,pitch,yaw: radians speed: x,y,z: meters/sec roll,pitch,yaw: radians/sec acceleration: x,y,z: merters/sec^2 roll,pitch,yaw: radians/sec^2
| Field | Type | Description |
|---|---|---|
| x | optional_double | |
| y | optional_double | |
| z | optional_double | |
| roll | optional_double | |
| pitch | optional_double | |
| yaw | optional_double |
492.2.2 ego_command_req
EGO command request
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| command | string | Custom command |
| additional_property | repeated property | Additional properties (optional) |
492.2.3 ego_command_resp
EGO command response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| response | string | Command response |
492.2.4 end_simulation_req
End DUT process request
| Field | Type | Description |
|---|---|---|
| additional_property | repeated property | Additional properties (optional) |
492.2.5 end_simulation_resp
End DUT process response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.6 get_ego_info_req
Get EGO info request
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
492.2.7 get_ego_info_resp
Get EGO info response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| ego_info | repeated property | Custom ego info |
492.2.8 get_hlm_action_req
Get High Level Model action request
492.2.9 get_hlm_action_resp
Get High Level Model action response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| action | hlm_action | The HLM action to perform |
492.2.10 get_messages_req
Get messages request
492.2.11 get_messages_resp
Get messages response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| messages | repeated message | The received messages |
492.2.12 hlm_action
Action produced by an HLM
| Field | Type | Description |
|---|---|---|
| objective | hlm_objective | Absolute objective to reach |
| trajectory | hlm_trajectory | Trajectory to follow |
492.2.13 hlm_objective
Absolute destination objective produced by an HLM
| Field | Type | Description |
|---|---|---|
| destination | state_point | Destination state point |
| avoid_collisions | bool | Whether to use collision avoidance in this objective |
492.2.14 hlm_trajectory
Trajectory produced by an HLM
| Field | Type | Description |
|---|---|---|
| points | repeated state_point |
492.2.15 init_req
Request to initialize DSP This request includes all data regarding simulation
| Field | Type | Description |
|---|---|---|
| info | simulation_info | Simulation info |
492.2.16 init_resp
Initialize DSP response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.17 message
Represents a message sent/received via the Message Bridge
| Field | Type | Description |
|---|---|---|
| name | string | Message name |
| id | string | Custom ID (such as vehicle ID) optionally used in the message address |
| timestamp_ms | int64 | Message timestamp received or to send |
| data | bytes | Serialized message payload |
492.2.18 optional_bool
Optional boolean
| Field | Type | Description |
|---|---|---|
| value | bool |
492.2.19 optional_double
Optional double
| Field | Type | Description |
|---|---|---|
| value | double |
492.2.20 optional_int64
Optional int64
| Field | Type | Description |
|---|---|---|
| value | int64 |
492.2.21 property
Struct for passing custom data
| Field | Type | Description |
|---|---|---|
| name | string | Name of the property |
| value | string | Value |
492.2.22 send_messages_req
Send messages request
| Field | Type | Description |
|---|---|---|
| messages | repeated message | Messages to send |
492.2.23 send_messages_resp
Send messages response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.24 set_actor_command_req
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| time_ms | int64 | Sim time at which to apply the command |
| gear | string | Manually change gear, such as putting the car in reverse. Values are 'R', 'N', 'D', 'P', '1', '2', etc. |
| hand_brake | optional_bool | Set/unset hand brake |
| additional_property | repeated property | Additional properties (optional) |
492.2.25 set_actor_command_resp
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.26 set_dynamic_move_req
Request to move EGO using steering and pedals This message should replace set_steer_and_pedals_move_req
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| start_time_ms | int64 | Start time of the move |
| end_time_ms | int64 | End time of the move |
| throttle | repeated double | List of throttle values for each step (units depend on throttle_unit) |
| throttle_unit | throttle_brake_unit_enum | Unit of throttle values |
| brake | repeated double | List of brake values for each step (units depend on brake_unit) |
| brake_unit | throttle_brake_unit_enum | Unit of brake values |
| steer | repeated double | List of steering values for each step (units depend on steer_unit) |
| steer_unit | steer_unit_enum | Unit of steer values |
492.2.27 set_dynamic_move_resp
Set move response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.28 set_ego_control_req
DEPRECATED. Set ego control request
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique id of actor which should be used as EGO |
| ego_control | ego_control_enum | Requested control type |
492.2.29 set_ego_control_resp
DEPRECATED. Set ego control response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.30 set_ego_destination_req
Set EGO destination request
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| destination_position | coord_6dof | Destination position |
492.2.31 set_ego_destination_resp
Set EGO destination response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.32 set_steer_and_pedals_move_req
DEPRECATED. Request to move EGO using steering and pedals
| Field | Type | Description |
|---|---|---|
| actor_id | string | Unique actor id |
| start_time_ms | int64 | Start time of the move |
| end_time_ms | int64 | End time of the move |
| throttle_brake | repeated double | List of throttle/brake values for each step (units depend on throttle_brake_unit) |
| throttle_brake_unit | throttle_brake_unit_enum | Unit of throtle brake values |
| steer | repeated double | List of steering values for each step (units depend on steer_unit) |
| steer_unit | steer_unit_enum | Unit of steer values |
492.2.33 set_steer_and_pedals_move_resp
DEPRECATED. Set move response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.34 simulation_info
Struct for providing information regarding simulation
| Field | Type | Description |
|---|---|---|
| step_size_ms | int64 | The size of simulation step size in milliseconds |
| map_info | string | Map info (format is implementation dependant) |
| traffic_side | traffic_side_enum | Sets the traffic side for current simulation |
| headless_simulation | bool | If set to TRUE, simulation should run in headless mode |
| pause_at_start | bool | If set to TRUE, simulation should start in paused mode |
| additional_property | repeated property | Additional server properties (optional) |
| use_microseconds_for_time | bool | If set, all time values should be considered as microseconds instead of milliseconds |
492.2.35 start_simulation_req
Start DUT process request This request is expected to be non-blocking DSP should only validate the request and if valid, perform it asynchronously
| Field | Type | Description |
|---|---|---|
| connection_string | string | DUT process server connection string (format is implementation dependant) |
| additional_property | repeated property | Additional properties (optional) |
492.2.36 start_simulation_resp
Start DUT process response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.37 start_step_req
Simulation step request This request is expected to be non-blocking
| Field | Type | Description |
|---|---|---|
| requested_sim_time_ms | int64 | Expected simulation time after this step is complete |
492.2.38 start_step_resp
Simulation step response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.39 state_point
Trajectory or destination state point of an actor
| Field | Type | Description |
|---|---|---|
| pose | coord_6dof | Pose of the actor |
| time_ms | optional_int64 | Time (ms) at which this point is to be reached |
| speed | optional_double | Speed (m/s) to have at this point |
492.2.40 status
Struct for reporting status
| Field | Type | Description |
|---|---|---|
| info | repeated string | Info messages |
| warning | repeated string | Warning messages |
| error | repeated string | Error messages |
492.2.41 wait_start_simulation_req
Wait for start DUT process to complete
| Field | Type | Description |
|---|---|---|
| max_wait_ms | optional_int64 | Maximum time allowed to wait (in milliseconds) If start DUT attempt is not complete within allowed time, an error message should be returned When value is not set, DSP should wait forever (or until Foretify disconnects from DSP) |
492.2.42 wait_start_simulation_resp
Wait for start DUT process response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
492.2.43 wait_step_req
Wait for step complete request
| Field | Type | Description |
|---|---|---|
| max_wait_ms | optional_int64 | Maximum time allowed to wait (in milliseconds) If step is not complete within allowed time, an error should be returned When value is not set, DSP should wait forever (or until Foretify disconnects from DSP) |
492.2.44 wait_step_resp
Wait for step complete response
| Field | Type | Description |
|---|---|---|
| status | status | General status (contains info/warning/error messages) |
| new_sim_time_ms | int64 | Updated simulation time This value can be set to 0 if time is not controlled by DSP |
| end_simulation | bool | Flag to allow simulator notify Foretify about finished simulation |
492.2.45 steer_unit_enum
Enumeration of allowed steer units
| Name | Number | Description |
|---|---|---|
| STEER_UNIT_UNKNOWN | 0 | Steer unit is unknown (invalid value) |
| STEER_UNIT_PERCENT | 1 | Steer is measured in percentage |
| STEER_UNIT_RADIAN | 2 | Steer is measured in radians |
| STEER_UNIT_NEWTON_METER | 3 | Steer is measured in newton-meters |
492.2.46 throttle_brake_unit_enum
Enumeration of allowed throttle/break units
| Name | Number | Description |
|---|---|---|
| THROTTLE_BREAK_UNIT_UNKNOWN | 0 | Throttle/Brake unit is unknown (invalid value) |
| THROTTLE_BREAK_UNIT_PERCENT | 1 | Throttle/Brake is measured in percentage |
| THROTTLE_BREAK_UNIT_NEWTON | 2 | Throttle/Brake is measured in newtons |
492.2.47 ego_control_enum
Enumeration of control types for EGO
| Name | Number | Description |
|---|---|---|
| EGO_CONTROL_UNKNOWN | 0 | EGO control type is unknown (invalid value) |
| EGO_CONTROL_MANUAL | 1 | EGO should be fully controlled by Foretify |
| EGO_CONTROL_AUTOMATIC | 2 | EGO should be fully controlled by DSP |
492.2.48 steer_unit_enum
Enumeration of allowed steer units
| Name | Number | Description |
|---|---|---|
| STEER_UNIT_UNKNOWN | 0 | Steer unit is unknown (invalid value) |
| STEER_UNIT_PERCENT | 1 | Steer is measured in percentage |
| STEER_UNIT_RADIAN | 2 | Steer is measured in radians |
492.2.49 throttle_brake_unit_enum
Enumeration of allowed throttle/break units
| Name | Number | Description |
|---|---|---|
| THROTTLE_BREAK_UNIT_UNKNOWN | 0 | Throttle/Brake unit is unknown (invalid value) |
| THROTTLE_BREAK_UNIT_PERCENT | 1 | Throttle/Brake is measured in percentage |
| THROTTLE_BREAK_UNIT_NEWTON | 2 | Throttle/Brake is measured in newtons |
492.2.50 traffic_side_enum
Enumeration of traffic side values
| Name | Number | Description |
|---|---|---|
| TRAFFIC_SIDE_RIGHT | 0 | Right-hand traffic |
| TRAFFIC_SIDE_LEFT | 1 | Left-hand traffic |
492.3 Protobuf primitive types
492.3.0.1 double
C++ - double Python - float
492.3.0.2 float
C++ - float Python - float
492.3.0.3 int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.
C++ - int32 Python - int
492.3.0.4 int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.
C++ - int64 Python - int/long
492.3.0.5 uint32
Uses variable-length encoding.
C++ - uint32 Python - int/long
492.3.0.6 uint64
Uses variable-length encoding.
C++ - uint64 Python - int/long
492.3.0.7 sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.
C++ - int32 Python - int
492.3.0.8 sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.
C++ - int64 Python - int/long
492.3.0.9 fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28.
C++ - uint32 Python - int
492.3.0.10 fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56.
C++ - uint64 Python - int/long
492.3.0.11 sfixed32
Always four bytes.
C++ - int32 Python - int
492.3.0.12 sfixed64
Always eight bytes.
C++ - int64 Python - int/long
492.3.0.13 bool
C++ - bool Python - boolean
492.3.0.14 string
A string must always contain UTF-8 encoded or 7-bit ASCII text.
C++ - string Python - str/unicode
492.3.0.15 bytes
May contain any arbitrary sequence of bytes.
C++ - string Python - str