Adding Assets

The main repository for the SVL Simulator does not contain and environments or vehicles. Currently there are several open-source examples.

Environments:

Vehicles:

Table of Contents

Adding an Asset top#

Assets need to be cloned into a specific location in the project:

  • simulator/Assets/External/Environments for Environments
  • simulator/Assets/External/Vehicles for Vehicles

Clone the desired asset into the appropriate folder. Do not change the name of the folder that the asset is cloned into, it must match the name of the asset.

For environments: simulator/Assets/External/Environments/Mars must contain simulator/Assets/External/Environments/Mars/Mars.unity

For vehicles: simulator/Assets/External/Vehicles/Rover must contain simulator/Assets/External/Vehicles/Rover/Rover.prefab

Building an Asset top#

Assets are built using the same build script as the simulator. Follow the build instructions through step 17.

IMPORTANT Windows and Linux support must be installed with Unity to build assetbundles

How to Migrate a Map top#

If you have created maps in our old simulator (before HDRP), you can reuse those maps in current HDRP simulator by following steps:

  • In old simulator
  • You need to make some changes in header inside HDMapTool.cs (line 148-154):
    • Convert your MapOrigin Northing/Easting to Longitude/Latitude.
    • Replace values for left and right with Longitude.
    • Replace values for top and bottom with Latitude.
    • You also need to change zone in header.
  • If you have intersections annotated, you need to annotate junctions like here for each intersection in the old simulator since we are importing intersections based on junction in HDRP simulator. Otherwise, signals/signs will not be grouped correctly, every signal/sign will be created as an intersection object.
  • Export map to Apollo Map file: base_map.bin.
  • In current HDRP simulator
  • Select Simulator->Import HD Map, and set Import Format as Apollo 5 HD Map.
  • Select the exported map and import.
  • Note, you need to check intersections, some signals/signs may be grouped incorrectly.