This article is more than 1 year old
Microsoft offers drone lovers a simulator
Get to keep hardware home, gain machine learning anyway
Microsoft has created and released a simulator for drone pilots to help them avoid destroying their toys while running machine learning experiments.
Not unreasonably, Redmond has figured out that UAV-fanciers would like a way to generate training data for machine learning algorithms governing autonomous flight in a simulator, instead of having the toys buzz about in meatspace where hobbyists will need to take out their wallets every time they crash into a tree, or remortgage should they happen to collide with a litigious passer-by.
It is designed as a platform for artificial intelligence researchers to gobble training data and experiment with their various deep learning, computer vision and reinforcement learning algorithms to achieve functioning autonomous vehicles.
While an official Linux build is due in a few weeks, the current code base is cross-platform and supports hardware-in-loop with flight controllers – such as Pixhawk – directly interacting with the simulation environment.
A work-in-progress paper published today by Redmond's boffins, titled Aerial Informatics and Robotics Platform [PDF], claims that the simulator uses modern computation and graphics advances "to simulate the physics and perception such that the environment realistically reflects the actual world."
Real-time robotics applications need their physics engine to run at a high frequency, with the researchers empirically assessing their needs to be 1000 Hz. This was achieved by delegating the expensive collision-checking computations to the photo-realistic Unreal Engine 4 visual rendering engine.
Microsoft's platform implements its own module to simulate the physical world, considering both the vehicle and its environment and determining the motion resulting from forces and torque as control is applied.
In addition to the simulator, the Aerial Informatics and Robotics Platform includes a library of software allowing devs to quickly write code to control drones built on DJI and MavLink, allowing them to avoid having to learn the disparate APIs and write separate code. ®