Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research
Перейти к файлу
Jonathan e8c7ea362b
Merge pull request #4486 from zimmy87/fix-4184
upgrade VS support to VS 2022
2022-05-12 15:52:42 -03:00
.github Merge pull request #4486 from zimmy87/fix-4184 2022-05-12 15:52:42 -03:00
AirLib Merge pull request #4486 from zimmy87/fix-4184 2022-05-12 15:52:42 -03:00
AirLibUnitTests upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
DroneServer upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
DroneShell upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
Examples upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
GazeboDrone Use GCC 8 for compiling GazeboDrone 2021-08-07 16:13:15 +05:30
HelloCar upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
HelloDrone upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
HelloSpawnedDrones upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
LogViewer Fix bugs in px4 .ulg viewing, and make tooltip avoid the closebox on a chart. 2021-05-10 13:34:40 -07:00
MavLinkCom upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
PX4Scripts Fixed bad symlink dir 2021-02-04 12:06:46 -06:00
PythonClient Bringing Back the White Space 2022-05-02 10:17:16 +09:00
SGM upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
Unity Merge pull request #4486 from zimmy87/fix-4184 2022-05-12 15:52:42 -03:00
Unreal Merge pull request #4486 from zimmy87/fix-4184 2022-05-12 15:52:42 -03:00
azure Azure development environment and documentation (#2816) 2020-06-30 11:42:36 -07:00
cmake Add non-virtual destructor warning, fix lots of them 2021-12-10 17:30:28 +05:30
docker Update download_blocks_env_binary.sh to download v1.6.0 2021-08-27 23:48:32 +05:30
docs upgrade Blocks to 4.27 2022-04-26 09:59:35 -07:00
pipelines fix Unity build and AirSimCI Windows_VS2019 check 2022-05-06 11:49:28 -07:00
ros/src Fix ROS wrapper compilation errors 2022-04-02 23:45:49 +05:30
ros2/src merge with master 2022-04-30 10:41:34 +08:00
tools return exit code 1 in case distro is not focal 2022-03-30 12:34:00 +03:00
.clang-format do not sort includes (it breaks some <windows.h> includes). 2021-05-13 17:37:14 -07:00
.clang-format-ignore revert clang-format on json.hpp and add file to ignore list 2022-03-30 07:17:34 -07:00
.gitignore Ignore clangd generated .cache folder 2022-04-13 20:27:42 +05:30
AUTHORS.md Updated changelog, added standard md files 2018-11-08 01:27:12 -08:00
AirSim.props Make WindowsTargetPlatformVersion more easily configurable in AirSim build. 2018-12-07 12:35:51 -08:00
AirSim.sln Add new build configuration "--RelWithDebInfo" which makes it easier to debug AirSim inside Unreal environment. 2021-04-15 02:12:04 -07:00
AirSim.sln.vlconfig squashing last 3 commits to get rid of visuallint 2018-05-28 20:15:29 -07:00
CHANGELOG.md [docs] see full commit msg for details 2020-04-07 11:08:43 -07:00
CONTRIBUTING.md [docs] see full commit msg for details 2020-04-07 11:08:43 -07:00
LICENSE Badge recognition for license 2018-11-19 19:55:55 -08:00
README.md Update mac build instructions url 2022-04-20 12:24:35 -07:00
SUPPORT.md [docs] see full commit msg for details 2020-04-07 11:08:43 -07:00
UnrealPluginFiles.vcxproj upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
UnrealPluginFiles.vcxproj.filters Cherry picked and improved texture swapping from research repo. 2019-11-01 17:35:21 -07:00
build.cmd upgrade VS support to VS 2022 2022-04-13 09:44:57 -07:00
build.sh Add support for building on Apple Silicon 2022-03-12 14:49:20 -05:00
build_docs.bat add images folder in docs build 2018-11-09 04:36:09 -08:00
build_docs.sh Update docs (#2658) 2020-09-02 17:48:55 -07:00
check_cmake.bat Update min CMake version for VS 2019 (#2766) 2020-07-23 23:24:53 -07:00
clean.cmd remove rd external from clean.cmd 2018-04-30 14:02:05 -07:00
clean.sh fixed pushd issue in setup.sh, cmake issue with -L 2017-07-20 17:42:07 -07:00
clean_rebuild.bat Redirect clean_rebuild.bat arguments to build.cmd (#2995) 2020-09-01 14:07:17 -07:00
clean_rebuild.sh Better Linux upgrade steps 2018-04-27 22:38:47 -07:00
install_run_all.sh Update UE version, remove duplicated code 2020-12-30 08:10:26 +05:30
install_unreal.sh Avoid using deprecated git clone with basic auth 2021-03-16 05:53:16 +01:00
mkdocs.yml Update mkdocs.yml 2022-03-31 13:00:52 -07:00
setup.sh Bump minimum CMake version on macOS 2022-03-16 20:50:53 -04:00

README.md

Welcome to AirSim

AirSim is a simulator for drones, cars and more, built on Unreal Engine (we now also have an experimental Unity release). It is open-source, cross platform, and supports software-in-the-loop simulation with popular flight controllers such as PX4 & ArduPilot and hardware-in-loop with PX4 for physically and visually realistic simulations. It is developed as an Unreal plugin that can simply be dropped into any Unreal environment. Similarly, we have an experimental release for a Unity plugin.

Our goal is to develop AirSim as a platform for AI research to experiment with deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles. For this purpose, AirSim also exposes APIs to retrieve data and control vehicles in a platform independent way.

Check out the quick 1.5 minute demo

Drones in AirSim

AirSim Drone Demo Video

Cars in AirSim

AirSim Car Demo Video

How to Get It

Windows

Build Status

Linux

Build Status

macOS

Build Status

For more details, see the use precompiled binaries document.

How to Use It

Documentation

View our detailed documentation on all aspects of AirSim.

Manual drive

If you have remote control (RC) as shown below, you can manually control the drone in the simulator. For cars, you can use arrow keys to drive manually.

More details

record screenshot

record screenshot

Programmatic control

AirSim exposes APIs so you can interact with the vehicle in the simulation programmatically. You can use these APIs to retrieve images, get state, control the vehicle and so on. The APIs are exposed through the RPC, and are accessible via a variety of languages, including C++, Python, C# and Java.

These APIs are also available as part of a separate, independent cross-platform library, so you can deploy them on a companion computer on your vehicle. This way you can write and test your code in the simulator, and later execute it on the real vehicles. Transfer learning and related research is one of our focus areas.

Note that you can use SimMode setting to specify the default vehicle or the new ComputerVision mode so you don't get prompted each time you start AirSim.

More details

Gathering training data

There are two ways you can generate training data from AirSim for deep learning. The easiest way is to simply press the record button in 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 content.

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.

Computer Vision mode

Yet another way to use AirSim is the so-called "Computer Vision" mode. In this mode, you don't have vehicles or physics. You can use the keyboard to move around the scene, or use APIs to position available cameras in any arbitrary pose, and collect images such as depth, disparity, surface normals or object segmentation.

More details

Weather Effects

Press F10 to see various options available for weather effects. You can also control the weather using APIs. Press F1 to see other options available.

record screenshot

Tutorials

Participate

Paper

More technical details are available in AirSim paper (FSR 2017 Conference). Please cite this as:

@inproceedings{airsim2017fsr,
  author = {Shital Shah and Debadeepta Dey and Chris Lovett and Ashish Kapoor},
  title = {AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles},
  year = {2017},
  booktitle = {Field and Service Robotics},
  eprint = {arXiv:1705.05065},
  url = {https://arxiv.org/abs/1705.05065}
}

Contribute

Please take a look at open issues if you are looking for areas to contribute to.

Who is Using AirSim?

We are maintaining a list of a few projects, people and groups that we are aware of. If you would like to be featured in this list please make a request here.

Contact

Join our GitHub Discussions group to stay up to date or ask any questions.

We also have an AirSim group on Facebook.

What's New

For complete list of changes, view our Changelog

FAQ

If you run into problems, check the FAQ and feel free to post issues in the AirSim repository.

Code of Conduct

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.

License

This project is released under the MIT License. Please review the License file for more details.