FIRA Autonomous Cars Simulator

FIRA Autonomous Cars Simulator for FIRARoboWorldCup Competition. The instructions necessary for getting started is available below.

Tested Minimum Local Hardware Requirements

CPU: Intel® Core™ i5-5257U CPU @ 2.70GHz
GPU: Intel® Iris 6100
RAM: 8 GB

Software Requirements

Ubuntu 16.04 and ROS Kinetic used exclusively. Other versions are not officially supported. Prior to installing our software make sure to have ROS and Catkin tools installed: http://wiki.ros.org/kinetic/Installation/Ubuntu

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo apt-get install python-catkin-tools
sudo apt install python-wstool
sudo apt install ros-kinetic-ros-control 
sudo apt-get install ros-kinetic-gazebo-ros-control ros-kinetic-position-controllers ros-kinetic-ros-controllers ros-kinetic-velodyne ros-kinetic-velodyne-driver 
pip install catkin_pkg

Installation

# Setup catkin workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin init
# Add workspace to bashrc.
echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc
cd src
git clone https://github.com/Fira-Autonomous-Cars/FIRA-Autonomous-Cars-Simulator.git
cd ..
catkin_make
source ~/.bashrc
roslaunch avisengine_environment update_world.launch #Important : This command will update every static paths in this package. Make sure to run this, otherwise the gazebo simulator won't run correctly.

The installation process is done.

Running the simulator

After successfully finishing the installation process, everything is ready. Launching the following command will start the gazebo simulator in the race track.

roslaunch avisengine_environment track_race_simple.launch 

You can get the front camera image from /catvehicle/camera_front/image_raw_front/compressed topic and can send steering and velocity through their topics. Get a list of topics by running the following command:

rostopic list

The car can also be driven manually by launching the following command:

roslaunch catvehicle_tests cmdvel_unsafetest.launch 

use the keys in your keyboard to drive the car manually:
i : Move Forward
, : Move Backward

u : Turn Left and Forward
o : Turn Right and Forward

m : Turn Left and Backward
. : Turn Right and Backward

k : Center and stop
q, z : Increase or decrease speed

Customizing the Track

You can customize the race track by modifying the 3D file in avisengine_environment/meshes/mesh_road.blend using Blender which is a free and open-source 3D computer graphics software. The instructions on how to modify this file is written in the blender file.