Autonomously through the air

Air drones – called UAVs (unmanned aerial vehicle) in the technical jargon – are reusable unmanned aircrafts, which can be controlled either manually, semi-autonomous using a remote control system/ground station or fully autonomously via an integrated computer system.

Air drones have a very wide field of application; they have become integral parts of this world in the areas of civil protection, agriculture or in military operations for reconnaissance and surveillance.

The constantly growing requirements on modern drone systems demand the use of cutting-edge technologies with regard to navigation, control and planning systems, data transmission and communication systems as well as sensor technology. As with so many modern developments, the related software plays a key role in the use of these technologies: On the one hand in form of firmware to operate the individual components of the system and on the other hand in form of middleware serving as a link between the single components of the overall system.

In this context, redlogix Software & System Engineering GmbH performed software development work for an existing unmanned aerial reconnaissance system and a new evolution of it.

Technologies and development tools used

  • VxWorks/Linux/Windows
  • C++
  • Python
  • Cmake
  • Qt / Qt-Creator
  • MS Visual Studio
  • Git
  • TCP/IP / Serial Communication
  • Data Distribution Service
  • Multithreading and Interprocess Communication
  • NITRO, OpenJpeg, JPEG2000
  • Serialization Library FlatBuffers
  • NITF (Annotated Images, STANAG 4545)
  • NMEA-Protocol
  • GPS

Further development of an existing unmanned reconnaissance system

A central role within the system is played by the so-called control computer with VxWorks as the operating system, which is used both in the actual target and in the associated training system. Based on the requirements of the customer and always in close cooperation, redlogix took over large parts of the further development work of essential control computer’s software components.

The following activities were carried out by redlogix:

  • Code analysis and documentation of software architecture and functionality
  • Implementation of Unit-Tests
  • Optimization of mathematical calculations/algorithms
  • Testing various implemented procedures (e.g. range tone tracking)
  • Fixed known bugs
  • Integration of a new library for communication with/between the individual subcomponents, including the aircraft
  • Implementation of extensions
  • Adjustments to the graphic output masks
  • Porting the control computer software to Linux
  • Support with the commissioning of training systems

Processing of payload data

The efficient processing of payload data poses a considerable challenge when developing a drone-based reconnaissance system; in particular, the success of a mission significantly depends on the transmission and quality of the image data.

In this field, redlogix has enhanced an application and the associated library for displaying images in NITF format with display, storage, modification and compression functionalities.

Data Distribution Service (DDS)

In terms of software, a drone-based reconnaissance system is a highly dynamically distributed system that requires the use of middleware for data-centered communication. redlogix was involved in the development of essential parts of this middleware:

  • Implementation / extension of Python scripts to generate C++ message classes from XML data
  • Implementation of the TCP/IP and UDP/IP interfaces (C++)
  • Integration of software library FlatBuffers for the de-/serialization of data structures
  • Implementation of a DDS-logger based on the software library FlatBuffers