Giter Site home page Giter Site logo

qiaoxingli / airsim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fstdriverless/airsim

0.0 2.0 0.0 226.82 MB

Formula Student Technion Driverless - Based on AirSim

Home Page: https://arxiv.org/abs/1905.05940

License: Other

C++ 73.38% Batchfile 0.30% C# 19.11% C 2.31% Shell 0.40% Python 4.21% CMake 0.29%

airsim's Introduction

Formula Student Technion Driverless - Based on AirSim

This is the repository of the paper Explorations and Lessons Learned in Building an Autonomous Formula SAE Car from Simulations (SIMULTECH 2019 conference)

To view AirSim git and the original README, please go to AirSim git.

Updates

  • We share now our final trained model based on imitation learning. The model can be found in Models folder.

This project is about training and implementing self-driving algorithm for Formula Student Driverless competitions. In such competitions, a formula race car, designed and built by students, is challenged to drive through previously unseen tracks that are marked by traffic cones.
We present a simulator for formula student car and the environment of a driverless competition. The simulator is based on AirSim.

technion_formula_car
The Technion Formula Student car. Actual car (left), simulated car (right)

AirSim is a simulator for drones, cars and more built on Unreal Engine. It is open-source, cross platform and supports hardware-in-loop with popular flight controllers such as PX4 for physically and visually realistic simulations. It is developed as an Unreal plugin that can simply be dropped in to any Unreal environment you want.

Our goal is to provide a platform for AI research to experiment with deep learning, in particular imitation learning, for Formula Student Driverless cars.

The model of the Formula Student Technion car is provided by Ryan Pourati.

The environment scene is provided by PolyPixel.

imitation learning
Driving in real-world using trained imitation learning model, based on AirSim data only

Prerequisites

  • Operating system: Windows 10
  • GPU: Nvidia GTX 1080 or higher (recommended)
  • Software: Unreal Engine 4.18 and Visual Studio 2017 (see upgrade instructions)
  • Note: This repository is forked from AirSim 1.2

How to Get It

Windows

How to Use It

Choosing the Mode: Car, Multirotor or ComputerVision

By default AirSim will prompt you for choosing Car or Multirotor mode. You can use SimMode setting to specify the default vehicle to car (Formula Technion Student car).

Manual drive

If you have a steering wheel (Logitech G920) as shown below, you can manually control the car in the simulator. Also, you can use arrow keys to drive manually.

More details

steering_wheel

Steering the car using imitation learning

Using imitation learning, we trained a deep learning model to steer a Formula Student car with an input of only one camera. Our code files for the training procedure are available here and are based on AirSim cookbook.

Gathering training data

We added a few graphic features to ease the procedure of recording data.
You can change the positions of the cameras using this tutorial.

There are two ways you can generate training data from AirSim for deep learning. The easiest way is to simply press the record button on the lower right corner. This will start writing pose and images for each frame. The data logging code is pretty simple and you can modify it to your heart's desire.

record screenshot

A better way to generate training data exactly the way you want is by accessing the APIs. This allows you to be in full control of how, what, where and when you want to log data.

Implementation on the Real Car

Our implementation of the algorithm on Nvidia Jetson TX2 can be found in this repository.

Citing

If this repository helped you in your research, please consider citing:

@article{zadok2019explorations,
  title={Explorations and Lessons Learned in Building an Autonomous Formula SAE Car from Simulations},
  author={Zadok, Dean and Hirshberg, Tom and Biran, Amir and Radinsky, Kira and Kapoor, Ashish},
  journal={arXiv preprint arXiv:1905.05940},
  year={2019}
}

Formula Student Technion algorithm team

Tom Hirshberg, Dean Zadok and Amir Biran.

Acknowledgments

We would like to thank our advisors: Dr. Kira Radinsky, Dr. Ashish Kapoor and Boaz Sternfeld.
Thanks to the Intelligent Systems Lab (ISL) in the Technion for the support.

airsim's People

Contributors

8w9ag avatar aburgm avatar andre-nguyen avatar andrealaffly avatar ashkapoor avatar bkueng avatar cdyk avatar clovett avatar cseas avatar fstdriverless avatar jacobdeery avatar jfkeller avatar jloveu avatar kissslorinc avatar lovettchris avatar mescarra avatar mitchellspryn avatar morrisonbrett avatar nextsim avatar oxhagolli avatar parniash avatar patrickelectric avatar pierrickkoch avatar richlewis007 avatar saihv avatar showaykerker avatar ssashir06 avatar sytelus avatar timebutt avatar tranbrian10 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.