SS47816 / lgsvl_utils

ROS Helper Nodes for visualizing and utilizing LGSVL Simulator
MIT License
12 stars 4 forks source link
autonomous-vehicles autoware lgsvl-simulator robotics ros self-driving-car simulation visualization

lgsvl-utils

ROS Helper Nodes for utilising LGSVL Simulator in Autonomous Vehicles Development

Ubuntu ROS C++ CodeFactor GitHub Repo stars GitHub Repo forks

cover_image

Updates

Features

TODOs

Known Issues

Dependencies

Installation

To use this package, you will need to create a catkin_ws first. Details please see the ROS official tutorial.

# clone the repo into your catkin workspace (assuming ~/catkin_ws here)
cd ~/catkin_ws/src
git clone https://github.com/SS47816/lgsvl_utils.git
cd ..

# install dependencies
rosdep install --from-paths src --ignore-src -r -y

# build
catkin_make
# source
source devel/setup.bash

Usage

Example BorregasAve Map in LGSVL

Step 1: Download LGSVL Simulator and register an account from here

Step 2: Download the LGSVL maps from the official repo

# create a directory called `shared_dir` under HOME directory
cd
mkdir shared_dir
cd ~/shared_dir
# clone the autoware map data into this directory
git clone https://github.com/lgsvl/autoware-data.git

Replace all the contents in ~/shared_dir/autoware-data/BorregasAve/ with the contents in lgsvl_utils/lgsvl_utils/lgsvl_assets/BorregasAve/

Step 3: Create a new simulation on the LGSVL simulator web client.

  1. On the General page, fill in some information and select your local cluster.
  2. On the Test Case page, select the BorregasAve Map, UT Lexus Vehicle and upload the sensor configuration provided in lgsvl_utils/lgsvl_assets/sensor_config/[Custom] Autoware AI.json
  3. On the Autopilot page, select Autoware.AI v1.14 and use the default localhost:9090

Step 4: Start the simulation

Step 5: Launch the nodes in this lgsvl_utils pkg using the lgsvl_utils/launch/lgsvl_borregas.launch

# launch the all the nodes on the example BorregasAve Map
roslaunch lgsvl_utils borregas.launch

demo_image

Step 6: You may now use a Xbox or Logitech F710 joystick to control the ego vehicle. You may change the joystick settings in launch/common.launch (joy_type and control_setting) or customize the button mapping accroding to your own preference in src/joystick_node.cpp.

Step 7: The mode of the ego vehicle is fully controlled by the joystick, for example: A -> Autonomous Mode, B -> Brake Mode, X -> Manual Mode, Y -> Manual Reverse Mode (Note: For safety considerations, the Autonomous Mode (A) can only be started when the vehicle is in Brake Mode (B).)

Contribution

You are welcome contributing to the package by opening a pull-request

We are following: Google C++ Style Guide, C++ Core Guidelines, and ROS C++ Style Guide

License

The lgsvl_utils is released under the MIT License

The included autoware_ai components follow their own Apache License 2.0