Abstract

This article presents a software layer to abstract users of unmanned aerial vehicles from the specific hardware of the platform and the autopilot interfaces. The main objective of our unmanned aerial vehicle abstraction layer (UAL) is to simplify the development and testing of higher-level algorithms in aerial robotics by trying to standardize and simplify the interfaces with the unmanned aerial vehicles. Unmanned aerial vehicle abstraction layer supports operation with PX4 and DJI autopilots (among others), which are current leading manufacturers. Besides, unmanned aerial vehicle abstraction layer can work seamlessly with simulated or real platforms and it provides calls to issue standard commands such as taking off, landing or pose, and velocity controls. Even though unmanned aerial vehicle abstraction layer is under continuous development, a stable version is available for public use. We showcase the use of unmanned aerial vehicle abstraction layer with a set of applications coming from several European research projects, where different academic and industrial entities have adopted unmanned aerial vehicle abstraction layer as a common development framework.

Highlights

  • In the last few years, there has been an outstanding increase in the number of applications for unmanned aerial vehicles (UAVs).[1]

  • We propose a simple layer in the framework of the robot operating system (ROS)[9] which is public, open-source, ready to use, and easy to expand to other autopilots

  • This article has presented unmanned aerial vehicle abstraction layer (UAL), a framework to abstract high-level software development in UAVs, allowing users to work with different autopilots and platforms by means of common interfaces

Read more

Summary

Introduction

In the last few years, there has been an outstanding increase in the number of applications for unmanned aerial vehicles (UAVs).[1]. UAV technology is advancing fast, and there is a wide spectrum of platforms and autopilots (i.e. on-board software for basic operation) available for the community. This variability is due to the specific constraints associated with each application. Platforms with different payload capacity, maneuverability, or autopilot functionalities may be required depending on the context. Highlevel algorithms should be able to operate UAVs in a transparent manner, regardless of the autopilot or platform underneath. It would become too complex maintaining multiple versions of the application software depending on the particular communication protocols for each autopilot

Objectives
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call