AirSim

基于Unreal引擎Unity的自动驾驶汽车开源模拟器,来自微软AI & Research。(Open source simulator based on Unreal Engine for autonomous vehicles from Microsoft AI & Research.)

欢迎使用AirSim

AirSim 是用于无人机、汽车等的模拟器,基于Unreal Engine引擎(我们现在还有一个实验性的Unity版本)。它是开源的,跨平台的,并支持与流行的飞行控制器(如PX4)的硬件在环仿真,用于物理和视觉逼真的模拟。 它是作为Unreal插件开发的,可以简单地放入任何虚幻环境中。 同样,我们有一个Unity插件的实验版本。

我们的目标是开发AirSim作为人工智能研究的平台,以实验自动驾驶汽车的深度学习、计算机视觉和强化学习算法。 为此,AirSim还公开了API,以独立于平台的方式检索数据和控制车辆。

如何获取

Window

Linux

如何使用它

选择您的车辆:Car or Multirotor

默认情况下,AirSim产生多旋翼飞行器。您可以轻松将其更改为汽车并使用AirSim的所有好东西。请参阅使用汽车指南。

手动驾驶模式

如果您有遥控器(RC),如下所示,您可以在模拟器中手动控制无人机。对于汽车,您可以使用箭头键手动驱动。

更多详情

程序控制

AirSim公开了API,以便您可以通过编程方式与仿真中的车辆进行交互。您可以使用这些API来检索图像,获取状态,控制车辆等。这些API通过RPC公开,可以通过各种语言访问,包括C++,Python,C#和Java。

这些API也可作为单独的独立跨平台库的一部分提供,因此您可以将它们部署在车辆上的同伴计算机上。这样你就可以在模拟器中编写和测试你的代码,然后在真实车辆上执行它。转移学习和相关研究是我们的重点领域之一。

更多详情

收集训练数据

有两种方法可以从AirSim生成训练数据用于深度学习。最简单的方法是简单地按下右下角的记录按钮。这将开始为每个帧编写姿态和图像。数据记录代码非常简单,您可以根据自己的心愿进行修改。

更准确地按照您想要的方式生成培训数据的方法是访问API。这使您可以完全控制如何、何时、何地何时记录数据。

计算机视觉模式

另一种使用AirSim的方式是所谓的“计算机视觉”模式。在这种模式下,您没有车辆物理和动力学,但可以使用键盘四处移动并使用API将车辆定位在任意姿态,并获取深度、视差、表面法线或物体分割等图像。

更多详情

天气影响

按F10查看可用于天气效果的各种选项。 您还可以使用API控制天气。 按F1查看其他可用选项。

教程

最新消息

参与

论文

AirSim论文(FSR 2017年会议)提供了更多技术细节。请引用此:

@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}
}

贡献

请查看公开问题 Trello板,如果您正在寻找可供参与的区域。

谁在使用AirSim?

我们维护我们知道的少数项目,人员和组的清单。如果您希望成为此列表中的特色,请在此处添加请求

联系

加入 AirSim小组,保持最新状态或提出任何问题。

常见问题

如果遇到问题,请查看常见问题,并随时在 AirSim github

许可证

这个项目是根据MIT许可证发布的。请查看许可证文件了解更多详情。

Overview

Name With Ownermicrosoft/AirSim
Primary LanguageC++
Program languageC++ (Language Count: 11)
PlatformLinux, Windows
License:Other
Release Count38
Last Release Namev1.8.1 (Posted on )
First Release Namev0.0.8 (Posted on 2017-02-15 18:15:41)
Created At2017-02-14 00:52:29
Pushed At2024-04-11 17:42:02
Last Commit At
Stargazers Count15.9k
Watchers Count589
Fork Count4.4k
Commits Count3.6k
Has Issues Enabled
Issues Count3358
Issue Open Count633
Pull Requests Count670
Pull Requests Open Count31
Pull Requests Close Count194
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

AirSim announcement: This repository will be archived in the coming year

In 2017 Microsoft Research created AirSim as a simulation platform for AI research and experimentation. Over the span of five years, this research project has served its purpose—and gained a lot of ground—as a common way to share research code and test new ideas around aerial AI development and simulation. Additionally, time has yielded advancements in the way we apply technology to the real world, particularly through aerial mobility and autonomous systems. For example, drone delivery is no longer a sci-fi storyline—it’s a business reality, which means there are new needs to be met. We’ve learned a lot in the process, and we want to thank this community for your engagement along the way.

In the spirit of forward momentum, we will be releasing a new simulation platform in the coming year and subsequently archiving the original 2017 AirSim. Users will still have access to the original AirSim code beyond that point, but no further updates will be made, effective immediately. Instead, we will focus our efforts on a new product, Microsoft Project AirSim, to meet the growing needs of the aerospace industry. Project AirSim will provide an end-to-end platform for safely developing and testing aerial autonomy through simulation. Users will benefit from the safety, code review, testing, advanced simulation, and AI capabilities that are uniquely available in a commercial product. As we get closer to the release of Project AirSim, there will be learning tools and features available to help you migrate to the new platform and to guide you through the product. To learn more about building aerial autonomy with the new Project AirSim, visit https://aka.ms/projectairsim.

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.

To the top