A framework for drone racing research, built on Microsoft AirSim.
Перейти к файлу
madratman 9e8711092f update docker 2020-06-30 13:22:28 -07:00
baselines minimal code; add requirements.txt; download binaries script 2020-06-30 13:22:26 -07:00
docker update docker 2020-06-30 13:22:28 -07:00
scripts/logging minimal code; add requirements.txt; download binaries script 2020-06-30 13:22:26 -07:00
tests minimal code; add requirements.txt; download binaries script 2020-06-30 13:22:26 -07:00
.gitignore add virtual env to gitignore 2020-06-30 13:22:28 -07:00
CODE_OF_CONDUCT.md msft open-source compliance 2020-06-30 13:22:28 -07:00
CONTRIBUTING.md minimal code; add requirements.txt; download binaries script 2020-06-30 13:22:26 -07:00
LICENSE msft open-source compliance 2020-06-30 13:22:28 -07:00
README.md Update README.md 2020-06-30 13:22:28 -07:00
SECURITY.md msft open-source compliance 2020-06-30 13:22:28 -07:00
download_binaries.sh update docker 2020-06-30 13:22:28 -07:00
requirements.txt minimal code; add requirements.txt; download binaries script 2020-06-30 13:22:26 -07:00

README.md

AirSim Drone Racing Lab

Quickstart

Downloading and running AirSim Drone Racing Lab Binaries

Downloading

Notes:

  • Source code (zip) or Source code (tar.gz) might not be up-to-date with the master branch of this repository. It can be lagging by n commits to master since this release, specified on the released page.
    For the code on this repository, it's best to just git clone.

Running

  • Linux

    • Open a terminal window, cd to AirSim_Training/ or AirSim_Qualification directory, and enter the following command:
      ./AirSimDroneRacingLab.sh -windowed -opengl4
      
    • Running headless (with rendering of images enabled):
      DISPLAY= ./AirSimDroneRacingLab.sh -opengl4
      
    • To disable rendering completely for training planning and / or control policies, you can use:
      -./AirSimDroneRacingLab.sh -nullrhi
      
      Note that simGetImages will not work with this option.
    • To increase speed of simGetImages / increase speed of Unreal Engine's game thread;
      • Add the "ViewMode": "NoDisplay" to your settings.json file, or use this file directly.
        This disables rendering in the main viewport camera.
        Then run the binary with the following options.
      ./AirSimDroneRacingLab.sh -windowed -NoVSync -BENCHMARK
      
      You can also use the Unreal console commands Stat FPS, Stat UnitGraph, r.VSync, t.maxFPS. See Issue #111 for more details.
  • Windows

    • Navigate to the AirSim/ directory, and double-click run.bat (or AirSimDroneRacingLab.exe -windowed)

Docker

  • Prerequisites:

  • Dockerfile:
    We provide a sample dockerfile you can modify.
    It downloads the training and qualification binaries automatically, and installs the python client.
    By default, it uses Ubuntu 18.04 and CUDA 10.0 with OpenGL, and is build on top of nvidia/cudagl:10.0-devel-ubuntu18.04.
    This can be changed of course, as explained in the following section.

  • Building the docker image:
    You can use build_docker_image.py to build the dockerfile above (or your own custom one)
    Usage (with default arguments)

    cd docker/;
    python3 build_docker_image.py \
    	--dockerfile Dockerfile \
    	--base_image nvidia/cudagl:10.0-devel-ubuntu18.04 \
    	-- target_image airsim_neurips:10.0-devel-ubuntu18.04
    
  • Running the docker image: See docker/run_docker_image.sh to run the docker image:
    Usage

    • for running default image, training binaries, in windowed mode:
      $ ./run_docker_image.sh "" training
    • for running default image, qualification binaries, in windowed mode:
      $ ./run_docker_image.sh "" qualification
    • for running default image, training binaries, in headless mode:
      $ ./run_docker_image.sh "" training headless
    • for running default image, qualification binaries, in headless mode:
      $ ./run_docker_image.sh "" qualification headless
    • for running a custom image in windowed mode, pass in you image name and tag:
      $ ./run_docker_image.sh DOCKER_IMAGE_NAME:TAG
    • for running a custom image in headless mode, pass in you image name and tag, followed by "headless":
      $ ./run_docker_image.sh DOCKER_IMAGE_NAME:TAG headless

AirSim Drone Racing Lab Features and API

Questions

Please open a Github Issue on this repository (not AirSim) for any technical questions w.r.t. the Neurips competition.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.