Categories
Aircraft Flight Control Embedded Systems Real-time Control Systems Remotely Operated Vehicles ROV UAV Unmanned Aerial Vehicles

Structure Manager, a software infrastructure for the implementation of Real Time Control Systems

Summary

A software infrastructure for the implementation of real time control systems have been developed in C language. The Structure Manager is composed of a library that implements all the infrastructure functionality and a tool to generate code automatically at compilation time, that connects the infrastructure with the application at hand. The infrastructure, combined with a sound programming methodology (object oriented like) enables some powerful features in the real time application accelerating the production cycle of the software.
Some of the features enabled by the infrastructure are:

  1. Command line interface with the application through a local or remote console. The programmer decides whether enabling these interfaces through a local console, or a remote console using serial or TCP/IP.
  2. Multi user enabled environment, with a programmable structure of permissions. Each user can connect to the application using a password. There is a super user with all the permissions and a programmable hierarchical structure of permissions for other users. The developer can decide which tasks are included in the permissions structure, being enabled to generate groups of tasks for specific permissions.
  3. Access to the data structures of the application defined by the software designer, to enable the change of the application behavior through the manipulation of some configuration data at specific times, data monitoring, data logging, or data communication.
  4. Data logging enabled through the infrastructure. The user can program different data logs according to the necessity of the application. The data can be stored in a memory buffer while the application is running in real time, and saved to long term storage devices at the end of the real time operation to avoid the delays generated by the access to disk during real time operation. The user with necessary privileges can define which data are included in the data logs. All the logged data are time stamped for easy analysis in multi rate real time systems.
  5. Programmable communication interfaces. The users with the right privileges can program messages to be sent through communication interfaces via serial, TCP/IP, or UDP/IP. This feature combined with the right hardware enables all the communications of the application at hand with other applications or software components, running in the same machine or other devices. The messages can be sent or received at specific times defined by the designer of the application, or can be programmed to occur periodically with a given sample time.
  6. Programming and configuration of real time tasks through the Structure Manager interface in run time. Some tasks can be programmed and executed at real time, without the necessity to restart the application, or doing a recompilation of the application.

This software infrastructure has been used for the implementation of several real time applications: the real time control of an ROV (Remotely Operated Vehicle), the real time Flight Control System of an UAV (unmanned Aerial Vehicle), a flight data recorder for an ultralight aircraft, a flight data recorder for small UAVs, and a platform for measuring small UAVs weight/balance and propulsion system performance.

Structure manager software in a Eclipse IDE
error: Content is protected !!