AutoCarROS has migrated to ROS 2 Foxy Fitzroy
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.
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
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 File | Purpose |
---|---|
default_launch.py |
Complete pipeline with preset waypoints |
click_launch.py |
Interactive pipeline for testing and fun |
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 |
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
"Because the layman doesn't care unless it looks cool."