Skip to content

490. SSP API

490.1 SSP RPCs

The following Remote Procedure Calls (RPCs) are defined in the Protobuf file ssp.proto.

Method Name Description
init This RPC is used to initialize SSP This should always be the first message sent to SSP

Request Type: init_req
Response Type: init_resp
launch_simulator This RPC is used to launch simulator server It should be used only if Foretify should be responsible for launching simulator server

Request Type: launch_simulator_req
Response Type: launch_simulator_resp
terminate_simulator This RPC is used to terminate simulator server It should be used only if Foretify should be responsible for launching simulator server

Request Type: terminate_simulator_req
Response Type: terminate_simulator_resp
start_simulation This RPC is used to start simulation. In case of external simulator server process, this function should also perform the connection to the server. It is expected to execute asynchroniously

Request Type: start_simulation_req
Response Type: start_simulation_resp
wait_start_simulation This RPC is used to wait till SSP finishes starting simulation (including connection to simulator server if neccessary)

Request Type: wait_start_simulation_req
Response Type: wait_start_simulation_resp
end_simulation This RPC is used to end simulation

Request Type: end_simulation_req
Response Type: end_simulation_resp
start_step This RPC is used to signal SSP that it can start performing simulation step

Request Type: start_step_req
Response Type: start_step_resp
wait_step This RPC is used to wait till SSP finishes performing simulation step

Request Type: wait_step_req
Response Type: wait_step_resp
get_actors_states This RPC is used to get the updated state of actors in simulation

Request Type: get_actors_states_req
Response Type: get_actors_states_resp
create_actor This RPC is used to create a new actor in simulation

Request Type: create_actor_req
Response Type: create_actor_resp
set_actor_params This RPC is used to set actor simulation related parameters

Request Type: set_actor_params_req
Response Type: set_actor_params_resp
destroy_actor This RPC is used to remove actor from simulation

Request Type: destroy_actor_req
Response Type: destroy_actor_resp
set_weather This RPC is used to set weather conditions in simulation

Request Type: set_weather_req
Response Type: set_weather_resp
set_time_of_day This RPC is used to set time of day in simulation

Request Type: set_time_of_day_req
Response Type: set_time_of_day_resp
sim_command This RPC provides a mechanism for passing arbitrary string commands to and from the simulator

Request Type: sim_command_req
Response Type: sim_command_resp
set_xy_trajectory_move This RPC is used to set a trajectory of an actor in terms of polyline, list of global (x,y) points with equal time intervals.

Request Type: set_xy_trajectory_move_req
Response Type: set_move_resp
set_steer_and_pedals_move This RPC is used to set a trajectory in the form of throttle/brake pedals and steering wheel commands to the vehicle actuators. The actuators commands expressed as polynomial functions in time

Request Type: set_steer_and_pedals_move_req
Response Type: set_move_resp
set_dynamic_move This RPC is used to set a trajectory in the form of throttle/brake pedals and steering wheel commands to the vehicle actuators. This message replaces set_steer_and_pedals_move message

Request Type: set_dynamic_move_req
Response Type: set_move_resp
set_actor_command Sends an actor command such as gear shift or hand brake.

Request Type: set_actor_command_req
Response Type: set_actor_command_resp
set_external_controller_move This message is used to set a move for externally controlled actors in the simulator, it can also be used to communicate the Ego path in the simulator

Request Type: set_external_controller_move_req
Response Type: set_move_resp
get_traffic_light_state This message is used to get the state of a single traffic light signal

Request Type: get_traffic_light_state_req
Response Type: get_traffic_light_state_resp
set_traffic_light_state This message is used to set the state of a single traffic light signal

Request Type: set_traffic_light_state_req
Response Type: set_traffic_light_state_resp