Skip to content

A virtual simulation platform for autonomous vehicle sensing, mapping, control and behaviour methods using ROS 2 and Gazebo.

Notifications You must be signed in to change notification settings

winstxnhdw/AutoCarROS2

Repository files navigation

AUTONOMOUS VEHICLE: CONTROL AND BEHAVIOUR

AutoCarROS has migrated to ROS 2 Foxy Fitzroy

Abstract

This project contains the ROS 2 variant of the AutoCarROS repository. It is a template for the development of a robust non-holonomic autonomous vehicle platform in a simulated environment using ROS 2 and Gazebo 11.

The following GIF demonstrates a simulation built on top of AutoCarROS 2.

Installation

Create a workspace

$ mkdir -p PATH/TO/WORKSPACE/src
$ cd src

Clone the repository.

$ git clone https://github.com/winstxnhdw/AutoCarROS2.git
$ cd PATH/TO/WORKSPACE/src/AutoCarROS2

Install ROS 2 and the required dependencies.

sh ros-foxy-desktop-full-install.sh

If you only need to install the required dependencies, run the following. Otherwise, skip this step.

sh requirements.sh

Build the packages.

$ cd PATH/TO/WORKSPACE/
$ colcon build

Append the workspace to .bashrc.

$ echo "source PATH/TO/WORKSPACE/install/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

Usage

When using this project for the first time, it is necessary that the user builds the packages before attempting to run the launch files.

# Change directory to your desired workspace
cd PATH/TO/WORKSPACE/

# Build packages
$ colcon build

There are two launch files the user can use. More details in the Launch Files section.

# Launch the default launch file
$ ros2 launch launches default_launch.py

# OR

# Launch the interactive launch file
$ ros2 launch launches click_launch.py

Launch Files

Launch File Purpose
default_launch.py Complete pipeline with preset waypoints
click_launch.py Interactive pipeline for testing and fun

Packages

Package Purpose
launches Contains the main launch files for quick launching
autocar_description Contains the model's URDF and RViz configuration files
autocar_gazebo Contains the world files and model's SDF
autocar_map Contains the Bayesian Occupancy Filter stack
autocar_msgs Contains all custom messages used throughout every package
autocar_nav Contains the navigation stack

Troubleshoot

There are occasions where colcon build does not properly rebuild the 'build' and 'install' folders, especially when one has made changes to the CMakeLists.txt. In the following, a simple quick fix can be performed.

# Remove build and install files
$ cd PATH/TO/WORKSPACE/
$ rm -rf build install

Renders

"Because the layman doesn't care unless it looks cool."