
Missile Pitch Axis Example
The problem is to develop control software to help guide a missile towards a
designated target. The figure below shows the various missile axes,
velocities and forces. Of particular interest here is that the missile can be
accelerated in a lateral direction by forcing the missile body to be at an
angle with respect to the direction in which the missile is traveling. This
is done by controlling the angle of fins located at the aft end of the
missile. The resulting aerodynamic force against the side of the missile body
causes the missile to accelerate laterally, which is to say causes the missile
to turn. The behavior of the missile is modeled using the system of equations
shown.

In this simple example we are only going to consider one axis, the pitch axis.
We are also going to restrict our attention to that portion of the control
software responsible for tracking a desired lateral acceleration.

The figure above shows in solid lines the portion of the overall missile
system that will be modeled and developed in this example. A model of the
missile is specified and used to simulate the missile dynamics (the response
of the physical system to commanded fin deflections). A specification for a
control algorithm is developed that commands fin deflections to cause the
missile to accelerate along the pitch axis. The missile acceleration tracks a
desired acceleration command, which in an actual missile would be provided by
a guidance function that will not be discussed here. Software is developed
for both a simulation of the missile and for the controller. This software is
executed in a real-time hardware-in-the-loop testbed, where the desired
acceleration command is injected as a test signal.
The following development steps are performed to produce the various
development artifacts. We will present these in a linear order, though in an
actual development effort an initial simple specification will be evolved to
the final specification based on analysis, simulation and test results.
A ControlH specification of the missile
model and an algorithm to control the pitch axis is developed (you can
traverse this specification and examine its pieces by selecting objects of
interest). Initially the operators in this specification may be simple linear
models, where the specification becomes more elaborate as development
progresses.
Analyze Control System Behavior
Once an initial ControlH specification is available, a simulation is executed
to observe the behavior of the system with various input signals (a simulated response to an acceleration command
in this case). Equilibria points of the system or pieces of the system
(an equilibria point for the missile model in this example) are determined,
linearizations are performed at points of interest, and traditional mathematical
analyses such as Bode plots (response of the
missile body to fin angle in this case) are obtained from these linear system
models.
Generate Source Modules and MetaH Specifications
When the GN&C engineer wishes to start addressing the issues of embedding the
control algorithm in an embedded control computer, source code modules
together with MetaH specifications that describe those modules are generated.
These will appear in the MetaH specification of the overall system.
The control algorithm operates on input signals (the acceleration command in
this example) to produce output signals (various test signals in this
example). In the final system input and output signals are associated with
physical I/O hardware such as A/D and D/A converters. For
hardware-in-the-loop testing, however, special test code is produced to
generate and collect real-time test signals. MetaH specifications that
describe this test code are also produced. A tool called the ersatz device generator is used to automatically
produce test drivers from a high-level specification of the signals to be
injected and collected.
The code produced for the missile simulation and pitch axis controller and the
test drivers are integrated to form an overall hardware-in-the-loop test
system specification. These consist of a MetaH controller macro generated by
the ControlH tools, and device processes generated by the ersatz device
generator. The MetaH descriptions of these pieces are combined to form a
complete MetaH specification of the
missile pitch axis simulation and controller system (you can traverse this
specification and examine its pieces by selecting objects of interest).
Analyze Computer System Behavior
Once an initial MetaH specification that contains at least estimates of the
execution times is available, a schedulability
analysis is performed to investigate the real-time properties of the
system. We are currently working towards automated reliability analysis for
fault-tolerant systems and secure partitioning analysis for dependable
systems.
The MetaH specification of the complete system is used to automatically
configure a real-time executive and perform the series of compilations and
links needed to produce a load image. Target-specific tools (Adascope for the
i80960MC in our example) are used to download the image, execute the system,
and retrieve the test results. Data gathered from the execution of the
real-time system, such as measurements of the
actual process execution times, can be compared against initial estimates
and simulation and analysis results to verify correct operation.