Fire Control System Software For Re
Fire Control System Software For Re
PROBLEMS OF MECHATRONICS
ARMAMENT, AVIATION, SAFETY ENGINEERING
DOI 10.5604/01.3001.0014.1996
Abstract. This paper presents the evolution of fire control system software for
Remote Controlled Weapon Stations (ZSMU in Polish) developed and manufactured by
Zakłady Mechaniczne “Tarnów” S.A. (Poland). The paper describes the architecture,
scope and purpose of research and development of the fire control system software, and
the prospective directions of its future development. A complement to the paper is
a specification of the optimisation methods used during the development of the fire
control system software and the work organisation of a team of programmers working
on the source code of the fire control system software. The paper illustrates how the
consistent execution of research and development improves the effectiveness,
scalability, and optimisation of the ZSMU fire control system software.
Keywords: software engineering, fire control system, software
This work has been compiled from the paper presented during the 12th International Armament Conference on Scientific
Aspects of Armament & Safety Technology, Jachranka, Poland, September 17-20, 2018.
96 R. Kruszyna
1. INTRODUCTION
2. FOREDESIGN
3. APPLIED TECHNOLOGIES
Having analysed the specification requirements for the final system, the
level of system complexity and a few other applicable parameters, preliminary
project decisions were made to define the IT technologies which should be
applied. The project management decided that the fire control system (FCS)
software would be written in C++ with a Qt library support. The hardware
platform chosen for the project was an x86 military-grade PC managed by
a Linux kernel-based operating system.
4. ARCHITECTURE
The modular design of the drivers makes the FCS a very flexible solution
which permits a relatively quick implementation of new functionalities and fast
porting of the FCS to new products. A major aspect consists in the separation
of the control logic between the individual models of the ZSMU remote
controlled weapon stations. The idea is clearly illustrated in Figures 3 and 4.
104 R. Kruszyna
Every new ZSMU model receives dedicated classes which handle the logic
mapping between the hardware units of the ZSMU. As a result, changes in the
logic of the operation of an ZSMU do not result in changes in another ZSMU;
this provides full flexibility of functional configuration for each ZSMU military
turret version. The implementation of a new ZSMU is also a relatively easy
task. This action requires writing its logical classes. This is followed by using
the already written drivers applied in the existing ZSMUs — which are
compatible with the new ZSMU – and mapping the drivers to the logical
classes. If a driver is missing (due to non-compatibility with the existing ZSMU
models), it must be written. The solution saves considerable time and
maximises the re-use of existing software.
5. OPTIMISATION
The first completely proprietary ZSMU design of ZMT S.A. was the
ZSMU A4. Its FCS application ran on a Qt library which facilitated the
programming of graphical interface features, serial ports, time dependencies,
network support, and other features.
Fire Control System Software for Remote Controlled Weapon Stations: History…105
However, this solution failed the test of time. The Qt library is cross-
platform. To work in different operating systems and on different hardware
architectures, the Qt library must form a certain layer of software abstraction.
The processing overheads imposed by cross-platform support, double buffering,
and the graphical performance in the QPainter class caused many problems.
Another issue was the lack of any control over the main application loop: it was
embedded in the library core. All the above caused significant variations of the
calculation performance time and an unsatisfactory CPU usage level.
The problem is pronounced in applications which require real-time control.
The solution was a gradual phasing out of the Qt library in favour of Linux
kernel system calls [3]. Currently, the Qt library is only applied for graphics
rendering. A dedicated library which handles Linux kernel system calls was
developed to handle time, serial ports, network, and frame grabber image
capturing. The complexity of the kernel, the small number of examples and
inferior or missing documentation posed a challenge for library developers.
However, the development outcomes were very good. The direct application of
system calls, while omitting all libraries, provided very good time relationships
and a markedly reduced CPU usage. Currently, the application communicates
with the operating system according to the flow chart shown in Fig. 8.
The results were highly repeatable and stable, oscillating near 860 μs.
Such good relationships were largely due to the Linux system kernel and
the solutions it was provided with. While the Linux system kernel is not a real-
time kernel by design, many of its aspects meet the requirements defined for
a soft real-time system [4].
Fire Control System Software for Remote Controlled Weapon Stations: History…107
There are plans to completely eliminate the Qt library. Only the QPainter
module is still used to handle the GUI rendering; however, it will ultimately
be replaced by an OpenGL or Vulkan – with EGL to generate the rendering
context (a software interface to link the application and the graphics card).
The planned solutions are superior in that the planned libraries support
hardware acceleration of graphics cards and will reduce the CPU load.
The X server and the window manager will also be eliminated to reduce the
FCS boot time. Currently, suitable libraries and technology demos are in
development. The first tests are completed with promising results. Figure 11
shows the final layout of the system application.
6. TEAMWORK
7. CONCLUSIONS
FUNDING
The paper contains the results of the research work financed solely by
Zakłady Mechaniczne “Tarnów” S.A.
REFERENCES
Rafał KRUSZYNA