An open API service indexing awesome lists of open source software.

https://github.com/winstxnhdw/autocarros2

A virtual simulation platform for autonomous vehicle sensing, mapping, control and behaviour methods using ROS 2 and Gazebo.
https://github.com/winstxnhdw/autocarros2

ackermann-vehicle bayesian gazebo occupancy-grid-map path-planning path-tracking raytracing rclcpp rclpy ros2 stanley-controller

Last synced: 22 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# AUTONOMOUS VEHICLE: CONTROL AND BEHAVIOUR

AutoCarROS has migrated to ROS 2 Foxy Fitzroy



## Abstract

This project contains the ROS 2 variant of the [AutoCarROS](https://github.com/winstxnhdw/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

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

Clone the repository.

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

Install ROS 2 **and** the required dependencies.

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

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

```bash
sh requirements.sh
```

Build the packages.

```bash
$ cd PATH/TO/WORKSPACE/
$ colcon build
```

Append the workspace to .bashrc.

```bash
$ 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.

```bash
# 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](#Launch-Files) section.

```bash
# 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.

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

## Renders

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