AirSim, developed by Microsoft Research in 2017, is a versatile simulator designed for drones, cars, and more. It is built on the Unreal Engine, with an experimental release for Unity as well. This open-source and cross-platform tool supports software-in-the-loop simulation with popular flight controllers like PX4 and ArduPilot, as well as hardware-in-loop with PX4 for highly realistic physical and visual simulations.
One of the key features of AirSim is its ability to expose APIs. These APIs allow users to retrieve data and control vehicles in a platform-independent manner. They are accessible via various languages such as C++, Python, C#, and Java, and can even be deployed on a companion computer on the vehicle. This enables users to write and test their code in the simulator and then execute it on real vehicles, facilitating transfer learning and related research.
There are multiple ways to use AirSim. For manual control, if you have a remote control, you can operate the drone in the simulator. For cars, arrow keys can be used for manual driving. Programmatic control is also possible through the exposed APIs, which can be used to retrieve images, get the state of the vehicle, and control its movements.
When it comes to generating training data for deep learning, AirSim offers two options. The simplest way is to press the record button in the lower right corner, which will start logging pose and images for each frame. However, for more precise control over the data generation process, users can access the APIs to customize how, what, where, and when to log data.
In the so-called "Computer Vision" mode, AirSim allows users to move around the scene using the keyboard or position available cameras in any arbitrary pose to collect various types of images such as depth, disparity, surface normals, or object segmentation, without the presence of vehicles or physics.
Weather effects can also be explored in AirSim. By pressing F10, users can access various options for weather effects, and these can also be controlled using the APIs. Additionally, there are numerous tutorials available to help users get started and make the most of AirSim's capabilities.
Overall, AirSim has served as a valuable platform for AI research, enabling experimentation with deep learning, computer vision, and reinforcement learning algorithms for autonomous vehicles. However, it's important to note that the original AirSim repository will be archived in the coming year, with a new simulation platform, Microsoft Project AirSim, set to be released to meet the evolving needs of the aerospace industry.