This resource demonstrates how to interact with algorithm configurations in SENSR.
An algorithm configuration contains parameters for controlling the algorithms of the perception pipeline.
These parameters enables the user to optimize the perception results of SENSR for their specific use-case.
GET§
-
/settings/algorithm/list§
Get the list of supported config-id and config type in /settings/algorithm resource
- Parameters
- node-type : (
algo
ormaster
) Type of node of the desired config. Most algorithm configs are located underalgo
node. But if you runs multiple algo nodes, the integration of algorithm results are occurrs in themaster
node. - node-uri : ID of the algo node where the desired config is located (If you use only one algo node it is usually
algo_0000
. and there is one more special algo node calledcommon
which stores shared parameters between algo nodes). - config-id : ID of the desired config (optional)
- node-type : (
- Return code
- 200 OK
- 400 BAD REQ
- Here is a list of the types that SENSR API supports natively:
- Int
- Bool
- Float
- String
- Offset Datetime
- Local Datetime
- Local Time
- Vector2 (2 Float array)
- Vector3 (3 Float array)
- Vector4 (4 Float array)
- Array[type]
- An homogeneous array of one single type.
- Array[Table]
- Array can have table type too. In this case, returned json format will be array which has one table inside.
- Table
- A table that supports either nested tables, arrays or simple types. In this case, returned json format will be table.
- A table that supports either nested tables, arrays or simple types. In this case, returned json format will be table.
Example§
$ curl -X GET 'localhost:9080/settings/algorithm/list?node-type=master&node-uri=common' ** Respond ** { "output_merger": { "tracking_history" { history_length": "Int" }, "result_timeouts" { "algo_node_object_result_timeout": "Float", "algo_node_point_result_timeout": "Float", "algo_node_sensor_status_timeout": "Float" }, "prediction": { "num_prediction_steps": "Int", "prediction_step_dt": "Float", "max_accel": "Float" }, "single_algo_node_merger": { "history_smoothing_level": "Int" }, "multi_algo_node_merger": { "history_smoothing_level": "Int", "map_res": "Float", "max_box_dist_to_split": "Float", "grow_x_size_tol": "Float", "grow_y_size_tol": "Float", "grow_size_rate_tol": "Float", "grow_size_addition_tol": "Float", "assoc_dist_threshold": "Float" } } }
- Parameters
-
/settings/algorithm§
Get an actual value of the desired config
- Parameters
- node-type : same as node-type in /settings/algorithm/list
- node-uri : same as node-uri in /settings/algorithm/list
- config-id : Id of the desired config
- Return code
- 200 OK
- 400 BAD REQ
Example§
$ curl -X GET 'localhost:9080/settings/algorithm?node-type=master&node-uri=common&config-id=output_merger.tracking_history.history_length' ** Respond ** 100
- Parameters
POST§
-
/settings/algorithm§
Update the value of the desired config
- Parameters
- node-type : same as node-type in /settings/algorithm/list
- node-uri : same as node-uri in /settings/algorithm/list
- config-id : Id of the desired config
- Return code
- 200 OK
- 400 BAD REQ
Example§
$ curl -X POST 'localhost:9080/settings/algorithm/meta?node-type=master&node-uri=common&config-id=output_merger.tracking_history.history_length' --data '50' ** Respond ** 200 OK
- Parameters