Repo symbol

platooning-f1tenth repository

Repo symbol

platooning-f1tenth repository

Repo symbol

platooning-f1tenth repository

Repo symbol

platooning-f1tenth repository

Repository Summary

Description F1Tenth Simulation Code: Platooning, Computer Vision, Reinforcement Learning, Path Planning
Checkout URI https://github.com/pmusau17/platooning-f1tenth.git
VCS Type git
VCS Version noetic-port
Last Updated 2022-05-20
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

F1Tenth: Platooning, Computer Vision, Reinforcement Learning, Path Planning

Table of Contents

  1. Introduction
  2. Installation
  3. Runtime Verification
  4. Zero-Shot Policy Transfer
  5. Platooning
  6. Computer Vision
  7. Reinforcement Learning
  8. System Identification
  9. Docker
  10. Developers

Introduction

Welcome! This repository contains a host of ROS packages for the F1Tenth Autonomous Racing Competition. In this repository you will find ROS packages designed for both simulation and the F1Tenth hardware platform. The simulation is based on a Gazebo based virtual racing environment. Our goal is to develop the F1Tenth platform for AI research to experiment with deep learning, computer vision, reinforcement learning, and path planning for autonomous racing.

If you have any questions or run into any problems. Feel free to send me an email or to post an issue and I’ll do my best to get back to you promptly. If you think something needs more documentation or explaining please send me an email too (I mean it).

Three_Car_Sim

Installation

Install Necessary Environments


Installation has been tested on 20.04 LTS. We highly recommend using the dockerized version of the simulator. The instructions can be found at the botton of this file. For a native installation see below.

The computer vision packages contained in this repository assume your system is GPU enabled. If your system is GPU enabled, you will need to install cuda and cudnn. New versions of cuda are released periodically each year. Thus to keep this repo up to date, we refer you to nvidia’s installation guide here. Cudnn requires membership in the NVIDIA developer program and you can register for this program here.

For ease of python library installation we highly recommend using anaconda. Installation of Anaconda can be found here. ROS still uses python 2 and if you want to use python 3, we leave that adventure to you.

Once anaconda installed run the following:

$ conda create --name ros27 python=2.7 && conda activate ros27

Note: If your system is not gpu enabled, change the requirements in setup.sh to requirements-cpu.txt.

Installing Pytorch


To install pytorch kindly visit the following link.

Installing Reinforcement Learning Libraries


Our reinforcement Learning Approaches leverage a couple of custom libraries. To install them run the following.

pip install gdown
gdown https://drive.google.com/uc?id=152KL7JzDReYdg6quBznL9WtC0I5IvNx6

Unzip the rl_library.zip file.

cd rl_library
pip install -e .

Install the Repo


If you already have these environments set up, then go with this choice. We assume that you have ROS Kinetic and Gazebo installed. If not please installed these packages using the following link: Install ROS-Kinetic.

Once you have ROS-Kinetic installed. Run the following commands:

$ source /opt/ros/kinetic/setup.bash
$ git clone https://github.com/pmusau17/Platooning-F1Tenth
$ cd Platooning-F1Tenth

After everything has been cloned in to Platooning-F1Tenth Run:

$ chmod u+x setup.bash
$ ./setup.sh
$ catkin_make
$ source devel/setup.bash

Troubleshooting


If you get the error: ImportError: No module named catkin_pkg.packages and you are using anaconda. Run the following command: conda install -c auto catkin_pkg

Runtime Verification

Recent advances in Artificial Intelligence research have led to the emergence of machine learning models deployed within safety critical systems, where their tremendous ability to deal with complex data makes them particularly useful for sensing, actuation, and control. Despite the prolific advances enabled by machine learning methods, such systems are notoriously difficult to assure. The challenge here is that some models, such as neural networks, are “black box” in nature, making verification and validation difficult, and sometimes infeasible. In this repo, we provide the code used for our evaluation of the use of a real-time reachability algorithm in order to reason about the safety of a 1/10 scale open source autonomous vehicle platform known as F1/10. Our regime allows us to (a) provide provable guarantees of safety and (b) detect potentially unsafe scenarios in the context of autonomous racing.

File truncated at 100 lines see the full file

Repo symbol

platooning-f1tenth repository

Repo symbol

platooning-f1tenth repository

Repo symbol

platooning-f1tenth repository

Repo symbol

platooning-f1tenth repository