As the complexity of unmanned autonomous vehicles (UAVs) grows, specialists have to deal with proportionally increasing difficulties of controlling these robotic devices. Although so-called hard-code programs are the predominant way used to define and execute a particular UAV mission, this approach is not suitable to everyone.
Previously UAVs were almost exclusively limited to military uses such as surveillance, reconnaissance missions, delivery of tactic payload, etc. Today autonomous flying transporters perform a variety of civil tasks, including agriculture, meteorology, archaeology and urban design. New ideas are constantly emerging also: one of the newest additions to the pool of revolutionary concepts was Amazon with its plants to use UAVs to deliver packages to their customers; another is UAV-based internet delivery by Facebook.
Logically, not every potential user of unmanned vehicle is equipped with a proper/sufficient knowledge to program these robotic devices. This is especially true considering a strict requirement of high reliability and efficiency. For example, UAV may have to avoid an unexpected obstacle, or to read its sensory data depending on parameters at certain points of the pre-defined route. Additionally, the operational state of the flyer should be monitored constantly, leaving enough resources to complete mission or to abort it safely if environment conditions or available battery energy level are not favorable.
In a recently published study, a team of scientists from the University of Augsburg, Germany, and the University of Auckland, New Zealand, proposed an alternative to hard-coding: a new graphical programming language which could potentially reduce the complexity of designing UAV missions in the future.
The scientists note that this is not the first attempt of creating simplified tools for such purpose. Frameworks like MissionLab, MAVLink, GSSP were developed over the last two decades, including some proprietary software from the companies producing UAV hardware. However, earlier developments lacked flexibility for more complex, branched workflows; some tools did not support implementation of conditional or parallel tasks, or simply had poor adaptation functionality, the authors of the current study say.
A prototype of a new graphical programming language for UAVs has been implemented on the basis of Eclipse Modeling Project (EMP) and is currently adapted to quadcopter (or quadrotor) type of UAVs. The software contains an extensions mechanism for user-specific actions: user can a new instance of action type which can be assigned with individual parameters or configurations (for example, action “TakePicture” may contain additional parameters ‘resolution’ and ‘image compression level’). “Later, a specific action can be implemented, graphically referenced and parametrized within the same single development environment”, the developers say.
In essence, particular actions are represented by respective graphical elements, as in any modern graphical programming language. The overall UAV mission model is designed in a graphical editing environment; then the model is translated into a corresponding hardware code. The team tested the prototype using the Morse simulator and its quadrotor extension.
The developers plan to conduct a user study to determine possible usability issues of their new platform with aim to correct errors, improve the graphical representation and the editing environment. Introduction of a virtual map for showing waypoints and code translation to real quadrotor UAV platforms are among the ideas for the future work.
Written by Alius Noreika