Autoware.AI 1.12.0 with LGSVL Simulator

The software and source code in this repository are intended only for use with LG Automotive Simulator and should not be used in a real vehicle.

Table of Contents

General top#

This guide goes through how to run Autoware.AI with the LG SVL Simulator.

In order to run Autoware with the LGSVL simulator, it is easiest to pull an official Autoware docker image (see official guide), but it is also possible to build autoware from source.

Autoware communicates with the simulator using the rosbridge_suite, which provides JSON interfacing with ROS publishers/subscribers.

Setup top#

Requirements top#

  • Linux operating system
  • Nvidia graphics card

Installing Docker CE top#

To install Docker CE please refer to theĀ official documentation. We also suggest following through with theĀ post installation steps.

Installing Nvidia Docker top#

Before installing nvidia-docker make sure that you have an appropriate Nvidia driver installed. To test if nvidia drivers are properly installed enter nvidia-smi in a terminal. If the drivers are installed properly an output similar to the following should appear.

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 390.87                 Driver Version: 390.87                    |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  GeForce GTX 108...  Off  | 00000000:65:00.0  On |                  N/A |
    |  0%   59C    P5    22W / 250W |   1490MiB / 11175MiB |      4%      Default |
    +-------------------------------+----------------------+----------------------+

    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |    0      1187      G   /usr/lib/xorg/Xorg                           863MiB |
    |    0      3816      G   /usr/bin/gnome-shell                         305MiB |
    |    0      4161      G   ...-token=7171B24E50C2F2C595566F55F1E4D257    68MiB |
    |    0      4480      G   ...quest-channel-token=3330599186510203656   147MiB |
    |    0     17936      G   ...-token=5299D28BAAD9F3087B25687A764851BB   103MiB |
    +-----------------------------------------------------------------------------+

Simulator installation top#

Follow the instructions on our simulator Github page here.

Launching Autoware alongside LGSVL Simulator top#

To launch Autoware, first bring up the Docker container following these steps.

Once inside the container, run Autoware:

autoware@[MY_DESKTOP]:~$ roslaunch runtime_manager runtime_manager.launch

A few terminals will open, as well as a GUI for the runtime manager. In the runtime manager, click on the 'Quick Start' tab and load the following launch files from ~/shared_dir/autoware-data/BorregasAve/ by clicking "Ref" to the right of each text box:

  • my_borregas.launch
  • my_sensing_simulator.launch
  • my_localization.launch
  • my_detection.launch

Click "Map" to load the launch file pertaining to the HD maps. An "Ok" should appear to the right of the "Ref" button when successfully loaded. Then click "Sensing" which brings up rosbridge.

  • Run the LG SVL simulator
  • Create a Simulation choosing BorregasAve map and Jaguar2015XE (Autoware) or another Autoware compatible vehicle.
  • Run the created Simulation

A vehicle should appear in Borregas Ave in Sunnyvale, CA.

In the Autoware Runtime Manager, continue loading the other launch files - click "Localization" and wait for the time to display to the right of "Ref".

Then click "Rviz" to launch Rviz - the vector map and location of the vehicle in the map should show.

The vehicle may be mis-localized as the initial pose is important for NDT matching. To fix this, click "2D Pose Estimate" in Rviz, then click an approximate position for the vehicle on the map and drag in the direction it is facing before releasing the mouse button. This should allow NDT matching to find the vehicle pose (it may take a few tries).

An alternative would be to use GNSS for an inital pose or for localization but the current Autoware release (1.12.0) does not support GNSS coordinates outside of Japan. Fix for this is available in following pull requests: utilities#27, common#20, core_perception#26 These are not yet merged in Autoware master.

A basic functionality of Autoware is to follow a prerecorded map while obeying traffic rules. To do this you will need to record a route first. Switch to the Computing tab and check the box for waypoint_saver. Make sure to select an appropriate location and file name by clicking on the app button.

Now you can drive around the map using the keyboard. Once you are satisfied with your route, uncheck the box for waypoint_saver to end the route.

To drive the route using autoware: - Enable waypoint_loader while making sure the correct route file is selected in the app settings. - Enable lane_rule, lane_stop, and lane_select to follow traffic rules based on the vector map. - Enable astar_avoid and velocity_set. - Enable pure_pursuit and twist_filter to start driving.

The ego vehicle should try to follow the waypoints at the velocity which they were originally recorded at. You can modify this velocity by manually editing the values csv file.

Adding a Vehicle top#

The default vehicles have the calibration files included in the LGSVL Autoware Data Github repository.

If not using a default vehicle:

  1. Download the appropriate calibration files from here if using a vehicle created by LG Silicon Valley Lab
  2. Extract the contents and place them in the shared_dir folder that was created when installing Autoware
  3. Run Autoware and from the Runtime Manager, click the Ref button next to Localization and Detection to browse and select a .launch file
  4. Select the .launch files that were inclued in the .tar

Adding an HD Map top#

The default maps have the Vector map files included in the LGSVL Autoware Data Github repository.

If not using a default vehicle:

  1. Download the appropriate HD map from here if using a map created by LG Silicon Valley Lab. The folder will be MAPNAME.tar
  2. Extract the contents and place them in the shared_dir folder that was created when installing Autoware
  3. Run Autoware and from the Runtime Manager, click the Ref button next to Map to browse to select a .launch file
  4. Select the .launch file that was included in the .tar

Copyright (c) 2019 LG Electronics, Inc.

This software contains code licensed as described in LICENSE.