Earlier this year, we open-sourced a research project called AirSim (opens in new tab), a high-fidelity system for testing the safety of artificial intelligence systems. AirSim provides realistic environments, vehicle dynamics and sensing for research into how autonomous vehicles that use AI that can operate safely in the open world.
Today, we are sharing an update to AirSim: We have extended the system to include car simulation, which will help advance the research and development of self-driving vehicles. The latest version is available now on GitHub (opens in new tab) as an open-source, cross-platform offering.
Spotlight: Event Series
The updated version of AirSim also includes many other features and enhancements, including additional tools for testing airborne vehicles. We have made it easier for people to simulate flying drones by adding a built-in flight controller, called simple_flight, that simplifies the setup process. This allows rapid experimentation with control and state estimation algorithms without requiring expensive debugging and development in the embedded world.
Building and testing cars in simulation
Developing algorithms for self-driving cars is an expensive proposition. It requires infrastructure to build expensive hardware platforms, large amounts data and the ability to quickly test and benchmark results. We aim to make these various aspects of developing self-driving cars available to a broader group of researchers by providing an open, community-driven platform for testing those algorithms. The new version of AirSim includes car simulations, new environments, APIs to ease programming and ready-to-run scripts to jump start your research.
Rapidly building richer environments
AirSim comes with a detailed 3D urban environment that includes a variety of diverse conditions, including traffic lights, parks, lakes and construction sites. Users can test their systems in several types of neighborhoods, including downtown, semi-urban, vegetation and industrial environments. The simulation contains more than 12 kilometers of drivable roads spanning more than 20 city blocks.
AirSim has been developed as a plugin for Unreal Engine (opens in new tab), a popular tool for game development. This means that the car simulation is decoupled from the environment it runs in. You can create an environment (opens in new tab) for your specific needs, such as a city or rural road, or choose from a variety of environments available online, and then simply drop in the AirSim plugin to test your self-driving algorithms in that environment. AirSim extensibility also allows researchers and developers to incorporate new sensors, vehicles or even use different physics engines.
Turnkey AI research
AirSim provides APIs that can be used in a wide variety of languages, including C++ and Python. This makes it easy to use AirSim with various machine learning tool chains. For example, you can use Microsoft Cognitive Toolkit (CNTK) (opens in new tab) with AirSim to do deep reinforcement learning (opens in new tab). We also see significant opportunities with running multiple instances on AirSim with Microsoft Azure (opens in new tab) to scale up the training for modern, data-hungry machine learning algorithms.
Finally, we have made AirSim available as compiled binary release, which means you can now download (opens in new tab) and start calling its Python APIs (opens in new tab) to control the vehicle in just minutes.
Looking forward
We have been fortunate to have great support and ideas from a growing community and a number (opens in new tab) of users of AirSim all over the world. The Microsoft Deep Learning and Robotics Garage Chapter from our own backyard also collaborated with Microsoft Research with several important contributions
In future releases, we hope to add new sensors, better vehicle physics, weather modeling and even more detailed realistic environments. We are looking forward to community input to help guide our efforts and prioritize these improvements.
Shital Shah (opens in new tab) is a principal research software engineer at Microsoft, and Ashish Kapoor (opens in new tab) is a principal researcher at Microsoft.
Related: