Autoware API
scenario_simulator_v2 can control Autoware via Autoware API.
Autoware API is designed for integrating Autoware with other tools such as scenario_simulator_v2!
In scenario_simulator_v2, we implemented C++ wrapper of Autoware API in concealer::Autoware
class.
All action commands to the ego vehicle controlled by Autoware are done through this wrapper class.
The details of the Autoware API are described in the Autoware interface design page.
Note! Our concealer::Autoware
only supports Autoware.Universe.
Before we start simulation, scenario_simulator_v2 initialize Autoware via API like below.
scenario_simulator_v2 waits until these initialization processes to complete and starts SimulationTime as soon as the Engage command is sent to Autoware.
sequenceDiagram
Note right of Autoware API: Autoware API are called via concealer::Autoware class
participant Autoware API
participant Autoware.Universe
Autoware API -->+ Autoware.Universe : launch
Autoware.Universe -->- Autoware API : launch result
alt failed or timeout
Autoware API ->> Autoware.Universe : terminate
end
Autoware API -->+ Autoware.Universe : initialize
Autoware.Universe -->- Autoware API : initialize result
alt failed
Autoware API ->> Autoware.Universe : terminate
end
Autoware API -->+ Autoware.Universe : send goal
Autoware.Universe -->- Autoware API : planning result
alt failed
Autoware API ->> Autoware.Universe : terminate
end
loop every simulation frame
Autoware API ->> Autoware.Universe : vehicle status
end
Autoware API ->> Autoware.Universe : terminate
Last update:
May 1, 2024