AirSim README

The project's README from github.com/microsoft/AirSim. As one markdown file: 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.

AirSim was conceived and created by Shital Shah with PX4 and hardware-in-loop code contributed by Chris Lovett.

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 [email protected] with any additional questions or comments.

License

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

AirSim (microsoft/AirSim)

Searching Database…

18.6K ·GitHub
这是什么东西?AirSim 是一个开源模拟器,可用于无人机、汽车等多种载具,基于 Unreal Engine 构建,由微软 AI 与研究院开发。此外还有一个实验性的 Unity 版本。
它是独立应用,还是要插到 Unreal 里用的东西?它是作为一个 Unreal 插件开发的,可以直接放进任何 Unreal 场景中使用,同时也发布了实验性的 Unity 插件版本。Windows 和 Linux 有预编译的二进制文件可供下载。
我怎么把它跑起来?下载适用于 Windows 或 Linux 的预编译二进制文件,或者从源代码构建。macOS 没有预编译的二进制文件——你必须自己动手构建。
我需要真的无人机或飞控才能用吗?不需要——PX4、ArduPilot 这类飞控可以通过软件在环(software-in-the-loop)方式运行,与 PX4 的硬件在环(hardware-in-the-loop)是可选的。你也可以用遥控器手动操控,开汽车时还可以用方向键。
有没有什么不完善的地方需要留意?Unity 版本仍处于实验阶段。另外,AirSim 默认每次启动都会提示你选择载具——在设置里配置 SimMode 就可以跳过这一步。
我可以先在模拟器里测试代码,再到真实载具上运行吗?可以。这些 API 以独立的跨平台库形式提供,你可以把它部署到载具上的伴随计算机(companion computer)上,这样在仿真中编写并测试过的代码之后就能在真实硬件上运行——从仿真到现实的迁移(sim-to-real transfer)正是这个项目的重点方向之一。
微软为什么要开发这个项目?AirSim 由 Shital Shah 构思并创建,PX4 和硬件在环相关的代码由 Chris Lovett 贡献。它是一个面向 AI 研究的平台,用于实验自动驾驶领域的深度学习、计算机视觉和强化学习算法。
在仿真里怎么改变天气?按 F10 打开天气特效选项,也可以通过 API 来控制天气。按 F1 可以查看其他可用的键盘快捷键。
Creator
microsoft
Size
368 MB
Stars
18.6K
Age
9y
Commits · 90 Days