Skip to main content

Lighting Systems v1

Introduction

With the Lighting Systems REST API, you can:

  • create a new lighting system and all its elements, then set their respective properties,
  • upload a packed lighting system, then add/remove or edit its elements or properties,
  • download the lighting system as a file once the lighting system and its elements are created and their properties are set.

To use Lighting Systems REST API, you have to install the AVxcelerate Sensors package.

To operate Lighting Systems REST API uses TCP port 5127.

To access the Lighting Systems REST API, start the server using the script provided in the Lighting_System_Creation_API folder:

  • on Windows: lighting-systems-api.ps1
  • on Linux: lighting-systems-api.sh

An interactive version of the API documentation, with a Swagger interface, is available when running the script with the `start-doc` argument.

The REFERENCE DOCUMENTATION provided on the Developer Portal is not testable.

Resources

In AVxcelerate Sensors Simulator, a lighting system defines the ego vehicle's lightings which are rendered in camera simulation outputs.

A lighting system is composed of:

  • projectors, usually 2 (front right and front left)
  • one or several modules in each projector
  • one or several lamps in each module

For more information about the Lighting System elements and their properties, refer to the Advanced Lighting System chapter in AVxcelerate Sensors Simulator User's Guide.

In Lighting Systems REST API, a lighting system, as well as each element that it includes, has a unique identifier that is automatically generated and not editable. To read or update the properties of an element and to delete an element, the required input parameters are the element's identifier and the identifier of all its predecessors. For example, to update a lamp's properties, the required input parameters are the lighting system identifier, the projector identifier, the module identifier and the lamp identifier. To create a new element, the required input parameters are the identifier of all its predecessors. For example, to create a new lamp, the required input parameters are the lighting system identifier, the projector identifier and the module identifier.

Important Note: The Lighting Systems REST API is a non-persistent service. Any data created or updated via REST calls is lost as soon as the service is stopped. To save your work, always download a packed version of the created or edited lighting system(s) before stopping the service.

Platform overview

Creating advanced Lighting Systems is one of the steps needed to prepare a sensor simulation to be run in AVxcelerate Sensors Simulator.

Once created, an advanced Lighting System can be downloaded as a packed file (.lightingsystemx) so that it can be set as a resource for simulation in AVxcelerate Sensors Simulator.

Using Lighting Systems REST API, you can develop applications for batch creation and management of advanced Lighting Systems.

Requests

The easiest way to send API requests is using the Swagger UI interactive documentation, however you can also use Curl or Postman.

Here are some request examples.

GET request

To list all the Lighting Systems:

Curl

curl -X 'GET' \
  'http://localhost:5126/avx-lightingsystem/v1/lightingsystems' \
  -H 'accept: application/json'

Postman

GET http://localhost:5126/avx-lightingsystem/v1/lightingsystems

POST request

To create a new empty Lighting System:

Curl

curl -X 'POST' \
  'http://localhost:5126/avx-lightingsystem/v1/lightingsystems' \
  -H 'accept: application/json' \
  -d ''

Postman

POST http://localhost:5126/avx-lightingsystem/v1/lightingsystems

PATCH request

To modify the name of a Lighting System:

Curl

curl -X 'PATCH' \
  'http://localhost:5126/avx-lightingsystem/v1/lightingsystems/a2d588b2-7ff4-4f99-a6d8-acac8b383790' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
  "name": "new LS name"
}'

Postman

PATCH http://localhost:5126/avx-lightingsystem/v1/lightingsystems/a2d588b2-7ff4-4f99-a6d8-acac8b383790

In the request body, select Raw > json, then define the name, for example:

{ 
    "name": "new LS name"
}

DELETE request

To delete a Lighting System:

Curl

curl -X 'DELETE' \
  'http://localhost:5126/avx-lightingsystem/v1/lightingsystems/2bbfca3b-356c-46bc-8ade-64ce2ad2a59a' \
  -H 'accept: application/json'

Postman

DELETE http://localhost:5126/avx-lightingsystem/v1/lightingsystems/2bbfca3b-356c-46bc-8ade-64ce2ad2a59a

Responses

The REFERENCE DOCUMENTATION provides response samples in json format for each endpoint.

Here are the possible response types:

Response Description
200 Success Success with or without response body.
400 Bad Request  
404 Not Found  
Default Error