1. 1
Optimal trajectory selection of war artillery projectile
using dynamic programming
KUMBHARE PRATHMESH RAJENDRA
Dept. of Electrical Engineering
Missouri University of Science & Technology
Rolla, USA
pkxvd@mst.edu
Abstract—— this report presents a different method to find an
optimal trajectory of a war artillery. Projectile motion for known
target distance and wind velocity is simulated. Data used for
analysis is taken from 155mm HE M101 howitzer projectile. A
function is created showing relationship between velocity of
projectile, angle of firing & time of flight at same target distance
and wind velocity. Determination of an optimal value of
projectile velocity is obtained using the bellman equation which is
an integral mathematical expression in dynamic programming.
Simulation and analysis is done with the help of Matlab software.
Minimum velocity needed to achieve desired target distance will
require lowest propellant material for firing, thus resulting in an
optimal choice.
Index Terms— Optimal control, dynamic programming, point
mass system, bellman equation, firing table.
I. INTRODUCTION
Firing table is well known document used as a guideline
during firing of war artilleries. Production of this manual is a
lengthy and complicated process. Angle of firing can be
determined from this table for known conditions. For the study
presented in this report, trajectories for various conditions are
required. A program is created which simulates this projectile
motion for required parameters. Model used for trajectory
computation is point mass model. These equations (1), (2), (3)
and their accuracy is explained in the next section. Firing
procedure is a bit complicated in real life. In the early stages
the distance at which the target is located was given by one
person called as forward observer (FO). This person who was
situated in the nearby area would compute the distance at
which the target is located with the help of binoculars. The
term indirect fire is used to describe firing at targets that
gunners cannot see (Fig. 1). In most cases, the target is either
over the horizon or on the other side of some physical
obstruction, such as a hill, mountain or valley. Since the target
is not visible these gunners have to rely on a trained artillery
observer, also called a forward observer, who sees the target
and relays the coordinates of the target to their fire direction
center. The fire direction center, in turn, translates those
coordinates into first, a left-right aiming direction, second, an
elevation angle, third, a calculated number of bags of
propellant and finally, a fuse with a determined waiting time
before exploding to be set (if necessary). The fuse is then
mated to the artillery projectile. The movement of the cannon
was done manually by the soldiers in the beginning but today
the motors and gears drives the cannon. This method makes
use of something called as firing table during firing. Firing
table production is a time consuming procedure with high
chances of human error [2]. The firing table is nothing but a
database created by taking tests of the cannon. This table
accounts for wind velocity, air temperature and atmospheric
pressure correction factors in the trajectory determination. So
each time the forward observer gives distance of the target,
using firing table data the soldiers set the cannon accordingly.
After examining the firing table document, it is clear that
distance required to achieve for the projectile can be achieved
by varying parameters [3]. In this report, we are interested in
the optimal selection of the velocity of artillery. Therefore,
various velocities required to achieve known distance are
computed. As the velocity varies, certain parameters change.
So, some modifications are required in the trajectory
computation. Desired muzzle velocity of projectile can be
achieved by setting proper amount of explosives. Selection of
explosives is explained in detail later in the report.
Algorithm designed for determination of appropriate
velocity finds its roots in the optimal control theory. This
branch is a relatively new area and a topic of active research.
Optimal control theory is a mature mathematical discipline
with numerous applications in both science and engineering. It
is emerging as the computational framework of choice for
studying the neural control of movement, in much the same
way that probabilistic inference is emerging as the
computational framework of choice for studying sensory
information processing [4]. Aim of optimal control is finding a
control law for a known system such that a certain optimality
criterion is achieved [5]. Each system is associated with a cost
functional that is a function of state and control variables. An
optimal control is a set of differential equations describing the
paths of the control variables that minimize the cost functional.
The optimal control can be obtained using Pontryagin's
minimum principle which is a necessary condition or by
solving the Hamilton–Jacobi–Bellman equation which is a
sufficient condition.
2. 2
Dynamic programming is another algorithm whose
objective is to attain optimal output by breaking down the
problem into sub parts and then compute on them. It was
proposed by Bellman in the 1950s, and is an extension of
Hamilton-Jacobi theory. Bellman's principle of optimality is
stated as follows: "An optimal policy has the property that
regardless of what the previous decisions have been, the
remaining decisions must be optimal with regard to the state
resulting from those previous decisions" [6]. This principle
serves to limit the number of potentially optimal control
strategies that must be investigated. It also shows that the
optimal strategy must be determined by working backward
from the final time. Dynamic programming includes
formulations for discrete time systems as well as combinatorial
systems, which are discrete systems with quantized states and
controls. Discrete dynamic programming, however, suffers
from the 'curse of dimensionality', which causes the
computations and memory requirements to grow dramatically
with the problem size. Exact algorithm implemented for this is
explained in the next section.
Fig. 1. Indirect Firing Team
II. METHODOLOGY
A. Computation of Projectile Motion
Projectile motion is the most basic form of motion in which
an object is thrown near the earth’s surface. It follows a curved
path under the action of gravity only. In this scenario gravity
acts in downward direction to cause acceleration. There are no
other forces acting on the projectile & it is assumed that motion
takes place in vacuum. In practical situations, many
aerodynamic forces acting on the projectile are encountered
which affect the trajectory significantly. Various models are
used for trajectory computation according to required accuracy
[7]. Complexity of the model increases as accuracy increases,
with vacuum model giving lowest accuracy & six degree of
freedom model giving highest accuracy.
In this report, point mass model is used for trajectory
computation [1]. This model takes into account air density of
the atmosphere, drag coefficient, ballistic coefficient, wind &
gravitational acceleration due to earth. The equations are
mathematically represented as:
ẍ = (-ΩVKd/C)(ẋ -Wx)+ax (1)
ÿ = (-ΩVKd ẏ /C)(-g)+ay (2)
z̈ = (-ΩVKd/C)(ż -Wz)+az (3)
Where:
Kd is the drag coefficient,
C is the ballistic coefficient,
Ω is the air density,
V is the projectile velocity,
Wx & Wz are range wind & cross wind respectively, and
ax, ay, az are accelerations due to rotation of earth.
These are the assumptions made for the point mass model:
Air density is taken as 1.225 Kg per cubic meter.
Air Temperature is 15 degree Celsius.
Accelerations due to rotation of earth are neglected.
Mach number varies according to the muzzle velocity
as it is the ratio of projectile velocity to the velocity of
sound. The drag coefficient and ballistic coefficient of
the projectile are non-linear functions of Mach number.
During the projectile travel, velocity constantly
changes and so these coefficient change [8]. For this
study, the coefficients are taken as constant value
corresponding to the known Mach number.
Equations for range (x direction) & height (y direction)
are solved. Equation for deviation (z direction) is not
considered.
Target and the point of firing are assumed to be
located at same height.
Firstly, in this study, angle of firing is determined from
known range and wind velocity values. Program 1 is used
calculate the angle of projectile in vacuum condition. This
angle is then put in the program 2 which is used to calculate
range of the projectile in point mass model conditions. Then,
the angle is incremented by some factor (0.01 in this case) in
program 3 until the range of projectile does not equal desired
range. In similar fashion, angle of firing is determined for a
particular value of range, which is 3500 meters and wind
velocity of 5 knots in this case. Increment factor for velocity is
taken as 50 m/s and the wind velocity is kept at constant value
of 5 knots for the sake of simplicity. In total angle of firing for
13 different values of velocity are computed and then stored in
variable for further process in program 4. All the values are
converted in standard unit and then used for calculation.
Computation of trajectory at distance of 3500 meters and wind
velocity of 5 knots for muzzle velocity of 376 m/s is shown as
an example (Fig. 2).
3. 3
Fig. 2. Trajectory at Mach 1.1
B. Muzzle Velocity as Selection Criterion
Muzzle velocity is considered as the deciding factor for
optimal selection in this study. The obvious reason for this is
that the projectile velocity is directly proportional to the
amount of explosives needed. If we are successful in choosing
the optimal velocity, then an efficient way of consuming these
materials is achieved. In order to gain more insight into this,
one must be familiar with the process of selection of these
propellants.
Various types of projectile are used depending upon
distance to be covered and velocity of the projectile required.
155mm type of projectile is the most common used in the
artillery and readings for this study are of the same. The
projectiles of the 155mm Howitzer went by many names;
shells, projos, rounds, and joes to name a few. Just as there
were many names, so there were several different types of
projectiles to accomplish the many missions the gun was
expected to perform. Add several different fuzes, and two
different powders, and the 155 became a very versatile
weapon. The first, and most utilized projectile, was the M107
High Explosive round (HE). With the super quick, point
detonating fuze (PD), the round was used against personnel,
and light armor. With the turn of a screw, the fuze became
delayed, and HE round could dig out bunkers, and other
fortified positions. With a Mechanical Time, or Variable Time
fuze, the HE would airburst with devastating effect to troops in
the open or even in trenches and foxholes. The 155mm
projectiles are the most widely used artillery round. They offer
a wide range of options on the battlefield. The 155mm
howitzers are separate loading ammunition, which has four
separate components: primer, propellant, projectile, and fuze
(Fig. 3). The four components are issued separately. Upon
preparation for firing, the projectile and propellant are loaded
into the howitzer. Separate loading ammunition propellants are
issued as a separate unit of issue in sealed canisters to protect
the propellant. The amount of propellant to be fired with
artillery ammunition is varied by the number of propellant
increments. The charge selected is based on the range to the
target and the tactical situation.
A shell is a payload-carrying projectile which, as opposed
to shot, contains an explosive or other filling, though modern
usage sometimes includes large solid projectiles properly
termed shot (AP, APCR, APCNR, APDS, APFSDS and proof
shot). Solid shot may contain a pyrotechnic compound if a
tracer or spotting charge is used. Originally it was called a
"bombshell", but "shell" has come to be unambiguous in a
military context. The calibre of a shell is its diameter.
Fig. 3. 155mm HE Projectile components
Fuzes form an important component in the projectile. It is
used in the explosion of the projectile. An artillery fuze or fuse
is the type of munition fuze used with artillery munitions,
typically projectiles fired by guns, howitzers and mortars. A
fuze is a device that initiates an explosive function in a
munition, most commonly causing it to detonate or release its
contents, when its activation conditions are met. This action
typically occurs a preset time after firing (time fuze), or on
physical contact with (contact fuze) or detected proximity to
the ground, a structure or other target (proximity fuze).
When a projectile weapon, such as used in war artillery, is
launched from the gun barrel, it is accelerated to a high
velocity by the burning of propellant [9]. The propellant may
travel with the projectile or be stationary in the barrel. The
gasses produced by the burning propellant are trapped in the
volume behind the projectile. The introduction of more heat
into the product gasses causes the pressure to rise which in turn
will accelerate the projectile. On the other hand, the movement
of the projectile increases the volume which tends to drop the
pressure. Controlling rate of burning of propellant is a
complicated process and requires deep analysis. Propellant
charges are packed in bags of different colour (Fig 4). Each
charge number is associated with amount of material required
to achieve desired velocity [11]. It is clear that as percent of
explosive chemicals are increased in mixture, higher
acceleration of projectile is obtained [10].
Fig. 4. Propellant charges used in 155mm projectile
4. 4
Table 1: Combinations for input to bellman equation
Mach
number
Muzzle velocity
(m/s)
Angle of firing
(degrees)
0.85 290 13.487
1.00 340 11.149
1.14 390 8.723
1.29 440 6.680
1.44 490 5.310
1.58 540 4.311
1.73 590 3.570
1.88 640 2.994
2.02 690 2.557
2.17 740 2.197
2.32 790 1.916
2.47 840 1.684
2.61 890 1.492
It should be noted that as the Mach number varies, ballistic
coefficients for the projectile shell change [8]. These values
must be determined before computing angle of firing.
C. Dynamic Programming Algorithm
As mentioned in part A of this section, different velocity
values at constant wind velocity required to achieve known
distance are computed using a program written in Matlab
software. Table 1 shows different combinations considered for
this study. A non-linear function can be made which relates
muzzle velocity to angle of firing. This function acts as an
input to the bellman equation. Objective of constructing this
algorithm is to determine minimum velocity such that desired
distance is achieved considering limitations in the angle of
firing.
Optimization problems, where a best path from start to
destination position is required to find, dynamic programming
(DP) can be utilized. This algorithm computes cost at each step
and gives us the most optimal path. DP relies on the following
obvious fact: if a given state-action sequence is optimal, and
we were to remove the first state and action, the remaining
sequence is also optimal (with the second state of the original
sequence now acting as initial state). This is the Bellman
optimality principle [4]. Note the close resemblance to the
Markov property of stochastic processes (a process is Markov
if its future is conditionally independent of the past given the
present state). The optimality principle can be reworded in
similar language: the choice of optimal actions in the future is
independent of the past actions which led to the present state.
Thus optimal state-action sequences can be constructed by
starting at the final state and extending backwards. Key to this
procedure is the optimal value function (or optimal cost-to-go
function) V(x) is the "minimal total cost for completing the
task starting from state x." This function captures the long-term
cost for starting from a given state, and makes it possible to
find optimal actions through the following algorithm: Consider
every action available at the current state, add its immediate
cost to the optimal value of the resulting next state, and choose
an action for which the sum is minimal. The above mentioned
algorithm is "greedy" in the sense that actions are chosen based
on local information, without explicit consideration of all
future scenarios. And yet the resulting actions are optimal. This
is possible because the optimal value function contains all
information about future scenarios that is relevant to the
present choice of action. Thus the optimal value function is an
extremely useful quantity, and indeed its calculation is at the
heart of many methods for optimal control. The above
algorithm yields an optimal action:
( ) ( )u x U x (4)
for every state x. A mapping from states to actions is called
control law or control policy. Once we have a control law:
: ( )U (5)
We can start at any state x₀ and generate action:
0 0( )u x
(6)
Then transition to state:
1 0 0( , )x next x u
(7)
From this equation action generated is given by:
1 1( )u x
(8)
We can continue until we reach . Formally, an optimal
control law satisfies:
( )
( ) arg min{cos ( , ) ( ( , ))}
u U x
x t x u v next x u
(9)
The minimum in (9) may be achieved for multiple actions
in the set U(x), which is why π may not be unique. However,
the optimal value function v is always uniquely defined, and
satisfies:
( )
( ) min{cos ( , ) ( ( , ))}
u U x
v x t x u v next x u
(10)
Equations (9) and (10) are the Bellman equations. If for
some x we already know v(next(x,u)) for all u ϵ U(x), then we
can apply the Bellman equations directly and compute π(x) and
v(x). Thus dynamic programming is particularly simple in
acyclic graphs where we can start from with v( ) = 0,
and perform a backward pass in which every state is visited
after all its successor states have been visited. It is
straightforward to extend the algorithm to the case where we
are given non-zero final costs for a number of destination states
(or absorbing states).
In our case study, the problem is very straightforward. Our
initial state is the origin from where the projectile is intended to
fire while the final state is when the projectile hits the terrain.
Objective in this scenario is to determine minimum velocity
such that desired final state is achieved. Therefore, the
algorithm is designed to select the minimum velocity value
from the function. Program 5 is used to implement the bellman
equation principality.
5. 5
III. RESULTS & DISCUSSIONS
A. Trajectory Computation Accuracy
Firing table is prepared by collecting data from ten
thousands of tests conducted under various conditions. Various
tables are constructed, each containing factor along with the
correction required to make. Table F for HE M107 projectile is
used for comparing accuracy of simulated trajectory (Fig. 5 &
Fig. 6). It should be noted that projectile HE M107 is very
similar to HE M101, except minor differences. The table is for
5G charge, standard firing conditions & a muzzle velocity of
376 m/s. Analysis based on this projectile was made as firing
table for particular projectile was not available.
Fig. 5. Firing table F for HE M107 shell
Fig. 6. Firing table F continued
For purposes of comparison, angle of firing of projectile to
reach target distance of 3500 meters in wind velocity of 5 knots
at Mach number 1.1 is extracted from firing table. Firing table
gives value of 8.8 degrees while Matlab simulation computes a
value of 9.4 degrees. This difference can be improved by
implementing more accurate model like six degrees of freedom
model.
B. Bellman Algorithm
Data obtained from combinations as mentioned in Table 1 is
collected. Muzzle velocity values of the projectile is plotted
against corresponding angle of firing to show their relationship
(Fig. 7). The bellman algorithm computes the optimal value of
velocity for desired target distance from data of Table 1. Table
2 is constructed which contains angle of elevation and time of
flight values for corresponding velocities with optimal choice
of velocity highlighted.
Table 2: Results from bellman algorithm
Muzzle velocity
(m/s)
Angle of firing
(degrees)
Time of flight
(seconds)
290 13.487 13.41
340 11.149 12.53
390 8.723 11.15
440 6.680 9.71
490 5.310 8.63
540 4.311 7.75
590 3.570 7.04
640 2.994 6.42
690 2.557 5.93
740 2.197 5.48
790 1.916 5.11
840 1.684 4.79
890 1.492 4.50
IV. CONCLUSIONS
From section III it is noted that the angle of firing obtained
from firing table is 8.8 degree. Firing angle obtained from
projectile motion equations is 9.4 degree (Fig. 2). Following
are the possible reasons for difference between actual &
computed value:
6. 6
Fig. 7. Relation between elevation, velocity & time of flight
This study implements point mass model for trajectory
computation. Many significant forces like Lift force,
Magnus force, Coriolis force are not included in this
model. Modified point mass model or six degree of
freedom model can increase the accuracy.
Drag coefficient & ballistic coefficient for any
projectile non-linear functions of Mach number.
During projectile travel Mach number varies as
velocity changes. This results in constant variation in
coefficient values. For this study, coefficients are taken
constant values for the sake of simplicity. Dynamic
coefficients can improve the accuracy.
Optimal trajectory of projectile is obtained from bellman
algorithm (Fig. 8). Muzzle velocity of 440 m/s and elevation
angle of 40 degrees is required to achieve desired distance of
3500 meters.
Fig. 8. Optimal trajectory for desired target distance (dotted
path)
For improvement, many factors can be included on which
muzzle velocity is dependent. It is a known fact that the
propellants needed to fire projectiles require proper storage.
Thousands of dollars are spent each year for their storage.
Optimal use of these materials can save huge amount of money
and resources in the future.
REFERENCES
[1] Elizabeth R. Dickinson. “Analysis of raw data” in The
Production Of Firing Tables For Cannon Artillery, report no.
1371, November 1967, pp. 21-23.
[2] Elizabeth R. Dickinson. “Computations for the tabular firing
table” in The Production Of Firing Tables For Cannon Artillery,
report no. 1371, November 1967, pp. 50-72.
[3] “Chapter7:FiringTables”Internet:http://www.globalsecurity.org/
military/library/policy/army/fm/6-40/Ch7.htm[Dec. 2, 2015]
[4] “OptimalControlTheory”Internet:https://homes.cs.washington.e
du/~todorov/papers/TodorovChapter06.pdf[May. 8, 2016]
[5] “OptimalControl”Internet:https://en.wikipedia.org/wiki/Optimal
_control[May. 8, 2016]
[6] “OptimalControl”Internet:http://www.scholarpedia.org/article/O
ptimal_control[May. 8, 2016]
[7] Col.Asst.Dr.Phaderm Nangsue. “Generation of Artillery Firing
Tables for The L119 Howitzer with Base-Bleed Projectiles”.
Journal of the Faculty Senate, CRMA, Vol. 8, pp. 127-135, 2010
[8] Charles T. Odom. A drag coefficient, Kd based on the 155MM
shell HE M101, memorandum report no. 1167, September 1958.
[9] “IntroductionToNavalWeaponsEngineering”Internet:http://fas.or
g/man/dod-101/navy/docs/es310/ballstic/Ballstic.htm[May.8,
2016]
[10] “CoolStickPropellantFor155mmM203PropellingCharge”Interne
t:http://www.dtic.mil/dtic/tr/fulltext/u2/a086737.pdf[May.8,
2016]
[11] “155mmArtilleryPropellingCharges”Internet:http://www.globals
ecurity.org/military/systems/munitions/155-prop.htm[May.8,
2016]