Open Access Open Access  Restricted Access Subscription Access

Real-Time Linux-based Rotorcraft UAV Flight Control Software Development

Kiseok Park

Abstract


In recent years, unmanned aerial vehicles (UAV) have become the focus of active research and development thanks to their wide-ranging application, from military reconnaissance and surveillance to meteorological observation, communications, marine exploration, aerial photography, and more. At the same time, the use of real-time operating systems (RTOS) is becoming essential not only for the stable operation of UAVs but also for the real-time processing of diverse sensor data and the running of complicated UAV-related algorithms.

RTOSs support preempted multitasking, and use real-time scheduling to enable efficient working through deadline management, resource reservation, etc. Among the operating systems currently in commercial use, the most well-known RTOSs include VxWorks, pSOS, VRTX, QNX OSE, Nucleus, and MC/OSII. Commercial RTOSs offer stable, proven performance and come with systematic technical support. However, scalability is limited because individual applications are subordinated to specific RTOSs. This means that there is a limit to how far a commercial RTOS can accommodate the numerous functions required by a flight control application. Real-time embedded Linux is a noncommercial form of RTOS with a Linux kernel that is optimized for real-time functionality. The greatest advantage of embedded Linux is scalability: it can handle a wide variety of fields, from POSIX API (application program interfaces) and system calls in C to process environments and system databases. Moreover, it is open-source, which means that developers the world over are constantly developing embedded versions of Linux, incorporating the latest computer technologies along the way. The field of UAVs, which is mainly aimed at military use, involves long-term research and development. Therefore, the scalability, general purpose, and continuous development that characterize Linux are highly suited to the technological development and maintenance of UAVs.

In this study, control software for a small-sized rotating wing UAV was designed and implemented using the real-time embedded operating system Xenomai. The Xenomai patch is used to convert the embedded Linux kernel into an RTOS, with general tasks being carried out by the existing kernel and real-time tasks being processed by XENOMAI. The XENOMAI-patched Linux kernel is installed in the flight control computer’s ARM processor. The XENOMAI patch, in turn, is executed through OE (open embedded), as OE builds the framework for the embedded Linux and  provides the best crosscompiling environment. The development environment used was Ubuntu 9.10; for the compiler, arm-linux-gcc 4.4.1 was used. After patching, Xenomai is enabled by checking the real-time subsystem “Xenomai” in the menuconfig setting. Also, “Pervasive real-time support in user-space” is checked to enable real-time support in the user-space. Once Xenomai is patched on the Linux kernel and all
basic real-time configurations are completed, the bitbake command can be used to create the kernel image file, boot loader, and rootfile system for operation on the board. If Xenomai is normally patched, compiled, and ported on the board, the message shown in Figure 1 is displayed as the kernel boots up.


Full Text:

PDF


DOI: http://dx.doi.org/10.21535%2FProICIUS.2010.v6.464

Refbacks

  • There are currently no refbacks.