Latest News

Elevating drones to the next level with better algorithms and simulation

Daniel Wilson, a Postgraduate Research Student at the Australian Centre for Field Robotics, and Winner of the 2014 International Simulink Challenge, describes in this article how he uses MathWorks’ Simulink software to build smarter algorithms as part of his research into unmanned aerial vehicles.

Improving the drone’s performance

Automation is the key to improving the performance of drones. The engineering community that has developed around unmanned aerial vehicles (UAVs) is a particularly vibrant and global one with a goal to prove to regulators and the general public that drones can offer safe, reliable and useful applications, along with better educating them about these applications. 

To do this, engineers working with drones will need frameworks that let them rapidly design, develop and implement the complex algorithms, which will govern how they operate in real-world environments. These tools can help them accelerate development by automating code generation, eliminating the bugs often introduced by manual system modification. It lets them focus on the bigger picture without getting bogged down in inconsequential details, and collaborate more effectively with colleagues globally. 

Better algorithms, implemented faster

As a PhD candidate at the University of Sydney’s Australian Centre for Field Robotics (ACFR), Daniel Wilson’s work currently revolves around autonomy for unmanned aerial vehicles, or UAVs. He is involved in developing the systems and autonomy that will enable UAVs to fly in close formation, the applications of which include mid-air docking for refuelling, recharging and payload transfer. 

Larger organisations such as Boeing and NASA are also working on the challenge of autonomous aerial docking. The ACFR being a relatively small outfit that can’t afford to risk expensive hardware, the research team has developed their own low-cost, high-performance and flexible autopilot, which is used to demonstrate the novel multi-UAV guidance, navigation, and control algorithms being developed by Daniel. 

To build smarter algorithms faster, Daniel is prototyping these algorithms with a high-fidelity representative simulation, and then rapidly implementing them to the drones in an automated fashion, using MathWorks’ Simulink software for both prototyping and implementation. 

Daniel explains that the researcher’s simulation environment significantly impacts how quickly and effectively they can develop these algorithms and translate them into drone performance. Simulations need to have high fidelity, so that problems observed in the field can be predictably simulated and rapidly fixed offline, rather than through trial and error. Standardised interfaces are a plus for collaboration, particularly in research communities where new developments are rapid and often international. Simulink also helped speed up processes by offering a diverse set of ‘building blocks’ that allowed them to create the simulations they needed without reinventing the wheel. 

What you simulate is what you fly

Automatic conversion from simulation to embedded code is one of the most important features in the Simulink software. Typically, when a flight issue is identified, one has to alter the algorithm, validate the changes to fix the problem, convert into embedded code, and verify that this code matches the simulation. All this, particularly the verification process is highly time-consuming and prone to errors if done manually. 

Automating these processes drastically cuts down the time between modifying the algorithm and testing it in the field, even more so when dealing with complex multivehicle systems and algorithms like those associated with the autonomous close formation flight problem. For Daniel, this meant being able to update his UAVs’ code within hours or even minutes of identifying a flight issue – all without leaving their testing site near the regional NSW town of Marulan. Manual conversion would’ve taken significantly longer; and most likely introduced myriad bugs and errors each time he made an alteration, which could themselves complicate the design process further. 

For instance, while conducting tests on a particularly hot day when they were getting lots of thermals and turbulence, they observed strange controller instability that seemed correlated to multi-UAV formation tests. Without much else to go on, they managed to simulate all these conditions, recreating the problem and allowing them to identify its cause (and test a solution) in a matter of hours. 

Without the simulation framework, the team would’ve been flying blind with the validation process even forcing them to travel back to Sydney. According to Daniel, this scenario is typically faced by almost all drone researchers on a daily basis, given that testing the inventions in uncontrolled environments often lead to countless variables that can often only be resolved through trial and error. 

Preparing drones for a global take-off

With the drone community gaining momentum on a global scale, Daniel believes collaboration between researchers is key to turning their inventions into everyday inventions. It is therefore important for drone researchers to establish a common language to develop prototypes and share results. These tools abstract away the low-level details of existing research and systems; other researchers or students can thus benefit from past work without needing to delve into the intricate details. 

Daniel believes drones will eventually become commonplace in everyday life. Although significant technical challenges and regulatory processes remain to be addressed, the state of each is sufficiently advanced for application beyond what is available today. 

If tools like Simulink can simplify design and automate development processes like low-level code generation, they should be adopted; doing so will help researchers work faster and more concertedly to give people something better than hype – functional, capable drones that can improve their everyday lives. 

MathWorks is the leading developer of mathematical computing software. 

Send this to a friend