Control Systems For Projectile Defense
Ryan Mendivil
March 20, 2015
Abstract
In this paper, I will describe various methods for defending against airborne projectiles. This includes
tracking mechanisms for following objects in three dimensional space and predicting what paths they will
take. In addition, methods of calculating interception trajectories and the factors involved will be discussed.
Contents
I Introduction 1
II Assumptions 2
III Model 2
1 Projectile Tracking 3
1.1 Radar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Calculating Trajectories 4
2.1 Line and Curve Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Kalman Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Intercepting 5
3.1 Aim and Travel Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Solving For Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Verification 7
5 Discussion 7
6 References 8
1
Part I
Introduction
In our modern world, we live in relatively peaceful times. However, there are still may places with ongoing
conflicts. Every year there are around hundreds of soldiers and civilian injured or killed in combat. A good
portion of these casualties come from the use of projectile based weaponry. When used properly, projectiles
can be very accurate and cause minimal collateral damage. Unfortunately, this is not the case in many
modern war zones. Projectiles are launched with the intent to cause harm to anyone from the opposing
side, be they civilians or soldiers. Producing systems that can properly prevent this kind of attack is of
vital importance. There are already many systems on the market but most are extremely expensive and
proprietary. Producing open systems that can be used across a wide range of hardware would be beneficial
to all. This paper will discuss a general model of control that can be applied to projectile tracking and
defense.
Part II
Assumptions
• The projectile is within tracking distance of our system and is distinguishable from it’s surroundings.
• The system will have a clean line of sight to the enemy projectile when it fires.
• A hit will be considered successful when both the enemy projectile and our intercepting projectile
occupy the same space.
• The time it takes the system to aim is constant or is set to large enough to account for any possible
amount of movement.
• The accuracy and sampling rate of the projectile tracker is high enough to provide reasonable data.
• The acceleration of the enemy projectile is constant.
• The velocity of our projectile is consistent and the time it will take to reach the point of interception
is calculable.
• The force of gravity on both.
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Control Systems For Projectile DefenseRyan MendivilMar.docx
1. Control Systems For Projectile Defense
Ryan Mendivil
March 20, 2015
Abstract
In this paper, I will describe various methods for defending
against airborne projectiles. This includes
tracking mechanisms for following objects in three dimensional
space and predicting what paths they will
take. In addition, methods of calculating interception
trajectories and the factors involved will be discussed.
Contents
I Introduction 1
II Assumptions 2
III Model 2
1 Projectile Tracking 3
1.1 Radar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 3
1.2 Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 4
2 Calculating Trajectories 4
2.1 Line and Curve Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 4
2.2 Kalman Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. . . . . . . . . . . . 5
3 Intercepting 5
3.1 Aim and Travel Time . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 5
3.2 Solving For Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 5
4 Verification 7
5 Discussion 7
6 References 8
1
Part I
Introduction
In our modern world, we live in relatively peaceful times.
However, there are still may places with ongoing
conflicts. Every year there are around hundreds of soldiers and
civilian injured or killed in combat. A good
portion of these casualties come from the use of projectile based
weaponry. When used properly, projectiles
can be very accurate and cause minimal collateral damage.
Unfortunately, this is not the case in many
modern war zones. Projectiles are launched with the intent to
cause harm to anyone from the opposing
side, be they civilians or soldiers. Producing systems that can
properly prevent this kind of attack is of
vital importance. There are already many systems on the market
but most are extremely expensive and
proprietary. Producing open systems that can be used across a
3. wide range of hardware would be beneficial
to all. This paper will discuss a general model of control that
can be applied to projectile tracking and
defense.
Part II
Assumptions
• The projectile is within tracking distance of our system and is
distinguishable from it’s surroundings.
• The system will have a clean line of sight to the enemy
projectile when it fires.
• A hit will be considered successful when both the enemy
projectile and our intercepting projectile
occupy the same space.
• The time it takes the system to aim is constant or is set to
large enough to account for any possible
amount of movement.
• The accuracy and sampling rate of the projectile tracker is
high enough to provide reasonable data.
• The acceleration of the enemy projectile is constant.
• The velocity of our projectile is consistent and the time it will
take to reach the point of interception
is calculable.
• The force of gravity on both the enemy and intercepting
projectiles is constant.
• Since the effects of wind and air resistance depend heavily on
the type of projectile, we will be ignoring
4. them for the sake of simplicity.
Part III
Model
In order to properly model and build a functional control
system, we will need three different components.
First, we need a method of gathering data about where the
enemy projectile is located over time. The
two systems discussed in this paper will be radar and video
cameras. Both have their own advantages and
disadvantages and require different models in order to work.
Secondly, we can develop a model for the
projectile’s position, velocity and acceleration. This allows us
to predict where it will be at some time in
the future and determine the accuracy of that predation. Finally,
once we’ve collected and analyzed enough
data to have a high accuracy, we can launch our own projectile.
This will need to take into account aim
time and travel time to calculate an ideal point.
2
1 Projectile Tracking
The purposes of this step is to take raw environmental data and
turn it into a series of points plotted in
Cartesian space. These points represent the trajectory of the
enemy projectile and are made up of a list of
points (x0,y0,z0)..(xn,yn,zn) where n is the number of positions
sampled and a time difference ∆t which is
the time difference between each sample.
1.1 Radar
5. For tracking objects at both long and short distances, radar is
rather ubiquitous. It works by sending out
radio waves from a transmitter. These waves reflect off objects
father out and return to be collected in a
receiver. The location of these objects can then be calculated
based on strength of the signal and angle of
the detector. The equation for received signal power for radar is
shown below. [5]
S =
PG2λ2σ
(4π)3R4
S = Receiving signal power (watts)
P = Transmission signal power (watts)
G = Radar antenna gain
λ = Wavelength used (meters)
σ = Target cross section (meters2)
R = Distance to target (meters)
Rewriting for distance (R), we get:
R = 4
√
PG2λ2σ
(4π)3S
6. In addition to the distance, we need to know it’s orientation.
The rotation of the detector around it’s base
will be represented by θ ∈ [0, 2π]. It’s vertical angle from a
vertical line normal to the earth will be represented
by φ ∈ [0, π
2
]. Therefore, the location of an object in spherical coordinates
can be represented as the vector
< θ,φ,R >. Transforming to cartesian coordinate system gives <
Rsin(φ)cos(θ),Rsin(φ)sin(θ),Rcos(φ) >.
Overall, we can model The position the projectile in < x,y,z >
as:
4
√
PG2λ2σ
(4π)3S
< sin(φ)cos(θ),sin(φ)sin(θ),cos(φ) >
The distance of an object will be measured every time the
detector sends/receives a signal from it. The
rate of sending a signal in a single direction is the time it takes
a radar dish to complete one full rotation.
Taking the speed of rotation of the detector around it’s base to
be ∆θ we can calculate ∆t:
∆t =
2π
∆θ
3
7. 1.2 Camera
Similar to Radar, cameras take in electromagnetic waves to
perform detection. However, rather than mea-
suring distance they measure the spectra of light received. This
can provide a much more accurate picture
of what you’re dealing with than radar. However, due to shorer
wavelengths it doesn’t have the range that
radar does. It also provides only two of the three needed
coordinates to locate an object in space. This
requires two cameras at two different locations in order to
measure depth. Alternatively, it can be used in
conjunction with a distance tracking system such as radar.
In order to map the image from the camera to it’s location in the
real world, we need to know the
following.
f = Camera Focal Length (meters)
R = Distance to Target (meters)
FPS = Frames Per Second ( 1
seconds
)
Xc = Horizontal distance from center (meters)
Yc = Vertical distance from center (meters)
If we assume that the camera is attempting to stay ”locked on”
to the target and minimize Xc and Yc
8. then we can approximate the location of points as follows:
< x,y,z >=
R
f
< Xc,Yc,f >
This increases the coordinates by a scaling factor of R
f
, shifting them to the size they are in the real
world at the location of our projectile while still maintaining
the same proportions.
The time difference is simply one over the frame rate.
∆t =
1
FPS
2 Calculating Trajectories
Once a projectile has has been detected, it needs to be tracked
to determine it’s trajectory. Assuming we
have it’s locations over time, there are a few different methods
of predicting where it will go.
2.1 Line and Curve Fitting
Our projectile is most likely accelerating due to gravity or other
factors. Therefore we will need a second
degree polynomial to model it.
x = at2 + bt + c
9. But, we’re working in three dimensions so each dimension
needs to be given it’s own equation.
< axt
2 + bxt + cx,ayt
2 + byt + cy,azt
2 + bzt + cz >
This isn’t any more complicated than fitting a single curve, it
just needs to be done three times. This is
done using the plot command in matlab and is fairly efferent.
However, it’s not ideal when we don’t have a
lot of data to work with.
4
2.2 Kalman Filtering
One of the most popular software libraries for computer vision
is OpenCV [3]. It contains functions for
tracking moving objects over time and determining predicting
their location. One of the features it contains
is an implementation of Kalman Filtering.
[1]
This allows you to take incoming data and process it to perform
object tracking. The advantage of this
over fitting a curve is that it’s a continuous process. Rather than
taking a list of points and fitting them, it
predicts a new state xk based on existing state xk−1, a model
Fk, control input Bk, a control vector uk and
10. process noise wk. These are then used to output predictions of
how the system will behave in the future.
Unfortunately due to time constraints, I was unable to upgrade
the curve fitting or tracking to use Kalman
Filtering. However, this is an interesting area of ongoing
research in the military [4] that would be good
project for the future.
3 Intercepting
3.1 Aim and Travel Time
Our system is going to need time to turn to the right trajectory,
arm it’s projectile, fire it and then allow
time for it to reach the target point. We aren’t just calculating a
location for interception, we’re calculating
for a point in the future.
Delay = AimTime + FireTime + TravelTime
AimTime and FireTime are constant, but TravelTime requires
trajectory and velocity. We can estimate
the travel time by taking an arc length integral where P(t) is the
trajectory and V is velocity.
TravelTime =
1
V
∫ ti
0
| P ′(t) | dt
3.2 Solving For Trajectories
11. Unfortunately we’re caught in a bit of a chicken and egg
problem here. Travel time depends on velocity
which depends on our trajectory which depends on travel time.
Also, we need to consider the fact that most
launchers taking in angles and velocity in order to fire rather
than a ”target” at some point in the distance.
5
Dealing with this problem solely in Cartesian coordinates will
make things more difficult when we’re sending
data to our defense system. Therefore we need to transform our
model into spherical coordinates. Using the
control variables of θ, φ and v we can calculate P(t).
< t∗ v ∗ sin(φ) ∗ cos(θ), t∗ v ∗ sin(φ) ∗ sin(θ), t∗ v ∗ cos(φ) −g
∗ t2 >
We can take advantage of some features of spherical
coordinates and solve for θ
θ = tan−1(
yE
xE
)
And solve for φ in terms of v
φ = cos−1(
zE + g ∗ t2
t∗ v
12. )
vE ∗ cos(φE) ≤ v ≤ vmax
When we solve these equations, we have to take into account
the constraint of ti > Delay. Normally
this integral of path length comes out very ugly and difficult to
work with. However, if we model our own
projectile’s trajectory so that it takes a direct path (v >> g) then
we can ignore the force of gravity and
reduce the complexity drastically.
TravelTime =
1
v
∫ ti
0
| P ′(t) | dt
1
v
∫ ti
0
√
(v ∗ sin(φ) ∗ cos(θ))2 + (v ∗ sin(φ) ∗ sin(θ))2 + (v ∗ cos(φ))2dt
1
v
13. ∫ ti
0
√
(v ∗ sin(φ))2 ∗ (cos2(θ) + sin2(θ)) + (v ∗ cos(φ))2dt
1
v
∫ ti
0
√
v2 ∗ (sin2(φ) + cos2(φ))dt
1
v
∫ ti
0
√
v2dt
1
v
∫ ti
0
vdt
v ∗ ti
14. v
ti
The time delay just becomes the aim/load time, with ti
guaranteed to come afterwards. Therefore we
can now pick the largest possible v so we reach the target fast.
Alternatively, if we need to avoid some
obstacle by arcing out trajectory, we can shoot for a minimum
value of v. However, this will require taking
into account a much longer time delay due to the force of
gravity. In the end, this decision comes down to
environmental factors and operator preference.
6
4 Verification
For the purposes of this model, we will consider a hit to be
successful if our projectile P comes within a
certain tolerance of the enemy projectile E.
Tolerence ≥|| P(ti) −E(ti) ||
Therefore for a specific time ti we want to minimize the
distance from our projectile to the enemy
projectile. If it drops below that we’ve scored a hit! Using
Matlab and sample data, I’ve created methods of
testing data generated from Radar, Cameras and pre-generated
trajectories. These are then fitted to a curve
and control parameters calculated for interception. Finally, a
plot is constructed of the resulting trajectories
and the point they would be expected to meet at.
15. 5 Discussion
The results of testing this model in Matlab are fairly interesting.
It seems that while increasing the velocity v
increases the z accuracy and decreases travel time, it throws off
both the x and y accuracy significantly. On
the other hand, decreasing v results in more accurate x and y
while decreasing the z accuracy. This is most
likely due to the fact that the model is reasonably symmetrical
between x and y as first order polynomials
while the gravity component of z makes it into a second degree
polynomial with very different behavior.
Ideally, I’d have used a solver such as CVX [2] to find the best
v. Unfortunately, the equations used here
were too complex for CVX to handle. Since the values of φ and
θ are usually reasonably small, I attempted
to substitute in their Taylor Series for the purposes of solving.
This also resulted in inaccurate calculations
and had to be scraped.
In terms of data inputs, the more data the better. The system
tended to be very inaccurate or not
function at all for very small values of t. However, waiting too
long sometimes resulted in the projectile
going out of range or hitting the ground before it could be
intercepted. Therefore it appears that there is
a range where t is viable rather than a single minimum. The
system is currently is very open to changes
and operator preference. This unfortunately results in the
chance of inaccuracy if bad values for v or t are
chosen. For future work, it might be interesting to do more work
on calculating more constraints for the
system. This could greatly simplify operation and result in
better accuracy.
This project has given me an appreciation for how difficult
16. modeling systems in three dimensions can
be. Especially when working with imperfect data, things tend to
diverge and fall apart very quickly. When
I initially started this project I tried to use complex methods
such as image recognition and Kalman Filters
to generate a trajectory. These concepts proved to be much to
complex to learn, implement and test in the
time frame given. In hindsight it would have been much better
to develop a simple but robust model first
before moving on to more complex methods. For future work, I
had originally planned to build a robot that
7
would track objects using a Kinect sensor and operate a Nerf
gun turret to shoot them out of the air. That
proved to be a bit ambiguous for a single quarter project but I’d
like to finish it in the future. For now, I
have most of the ground work laid and a much deeper
understanding and appreciation for the subject than
when I started. Overall I enjoyed working on this project and
look forwards to learning more about modeling
in the future.
6 References
References
[1] Petteri Aimonen. Basic concept of Kalman filtering. url:
http://commons.wikimedia.org/wiki/
File:Basic_concept_of_Kalman_filtering.svg#/media/File:Basic
_concept_of_Kalman_
filtering.svg.
17. [2] Inc. CVX Research. CVX: Matlab Software for Disciplined
Convex Programming. 2012. url: http:
//www.dtic.mil/dtic/tr/fulltext/u2/a527975.pdf.
[3] Itseez. OpenCV. 2015. url: http://opencv.org/.
[4] Thomas Recchia. Projectile Velocity Estimation Using
Aerodynamics and Accelerometer Measurments:
A Kalman Filter Approach. 2010. url:
http://www.dtic.mil/dtic/tr/fulltext/u2/a527975.pdf.
[5] J. C. Toomay and Paul J. Hannen. Radar Principals for the
Non-Specialist. Third. Scitech Publishing
Inc., 2004.
8
AMATH 383 Introduction to Continuous Mathematical
Modeling
Guidelines for Term Papers
Course Projects
A major feature of this introductory mathematical modeling
course is that students develop
course projects and write term papers on those projects. These
term papers are to be turned
in on the last day of lectures, or electronically on or before that
day. No late submission
is accepted. The modeling projects and term papers may be done
in groups of 1, 2, or 3
students. Please do not worry about this project excessively, but
18. do start thinking about it
from the very beginning. We know this is the first such
experience for most of you.
The content of your project/term paper can be new and
innovative research, or review-
ing a few papers written by other scientists. A list of possible
topics will be provied to you.
You are strongly encouraged to pick one from the list, but this
is not absolutely necessary.
However, if you want to pick a topic on your own, you need the
permission from the in-
structor ahead of time. The purpose of the project is that you
learn to tackle a mathematical
modeling problem with the following features:
(1) It should be a problem of interest to you.
(2) It should involve the mathematical techniques that you have
studied in this class. It
is also fine if it goes beyond what we have done in class and
requires that you learn about
some particular technique in greater depth.
(3) Since this course focuses on mechanistic modeling, it is not
required to collect
and/or analyzing any “real data”. Comparing predictions from
your mathematical model
with real data would be nice, of course, but it is not essential. In
any case, obtaining/collecting
data itself should not be your main effort — that would be the
task of a laboratory project.
(4) It is expected that you will have to use the library, physical
or online, and identify
relevent references in books and journals in order to do this
20. This is a short overview of the paper, a miniature version of 100
words or so. Some-
one reading the abstract should get a good idea of what problem
has been tackled,
what types of techniques were used to solve it, and what sort of
solution was found.
Most professional papers start with an abstract. It is very
valuable for the potential
reader, to help decide whether the paper is of interest and, if so,
to get an overview
of the whole picture before starting to read the details.
(2) Problem description
Present the problem you are attempting to solve. Give some
background. Explain
why it is important or interesting. Outline the questions that you
would like to answer.
(3) Simplifications
You will probably need to simplify the problem in order to
obtain a model that is
appropriate for this project. Explain the ways in which you
simplified the original
problem and outline the assumptions that underlie these
simplifications. Justify the
assumptions, if possible, or discuss the limitations that are
imposed on your model
by your assumptions and simplifications.
(4) Mathematical model
How did you turn the simplified problem into a mathematical
model? Is there a stan-
dard mathematical paradigm that you are using, e.g., Newtonian
21. mechanics, conser-
vation of number of indivials, or linear programming? Or is it a
problem of a different
sort? How does it relate to standard problems? Define all of
your variables, explain
your notation, etc.
(5)
Solution
of the mathematical problem
What techniques did you use to solve the mathematical
problem? Were you able to
use standard techniques, e.g., the simplex method for linear
programming and linear
analysis for differential equations? Did you need to develop a
new analytical method
and/or algorithm to solve the problem? Did you use a technique
from the literature
that we haven’t discussed in class? Explain in detail.
(6) Results and Discussion
What were your results from solving the mathematical problem?
How are these
23. (9) References
This is extremely important! Please include a bibliography if
you have used any
references, e.g., books, journal articles, web pages. Put a
citation in the paper if you
refer to a reference. An example of reference, Taubes (2001), is
given below.
Please type the paper. You can use any word processing system
that you like, and write
in mathematical equations if necessary. Typesetting systems
such as LaTeX are especially
recommended.
I will keep the final copy of your project. Please be sure to
xerox your final copy before
turning it in.
References
Taubes, C.H. (2001) Modeling Differential Equations in
Biology. Prentice-Hall, Upper
Saddle River.
25. http://www.bem.fi/book/04/04.htm).
Project 1
One project that can originate from the Hodgkin-Huxley model
is: study the behavior of multiple neurons
in connection with each other (a higher dimensional Hodgkin-
Huxley model). To be more specific, when
would rhythms (periodic impulses) be generated; when would
the neurons synchronize and desynchronize.
N. Kopell’s group has done such study in: S. R. Jones, D. Pinto,
T. Kaper, and N. Kopell, Alpha-frequency
rhythms desynchronize over long cortical distances: A modeling
study. J. Comput. Neurosci., 2000;9:271-91.
PMID: 11139043.
Project 2
Another project that it inspires is that: simplify the model,
preferably to a smaller number of dimensions,
26. while keeping the behaviors approximately the same. Try the
two models with same inputs, and observe
that they indeed behave similarly, with your model reducing
calculation burden significantly. Similar efforts
can be found in many previous works, for example: H. Wang, Y.
Yu, S. Wang, J. Yu, Bifurcation analysis of
a two-dimensional simplified Hodgkin-Huxley model exposed to
external electric fields. Neural Computing
and Applications 24.1 (2014): 37-44.
Project 3
In lower forms of organisms, the neural models are usually
different. A simple oscillator model is often used
to represent the behavior of one or a set of neurons. See: Zhang,
C., et al. Neural mechanism of optimal
limb coordination in crustacean swimming. Proceedings of the
National Academy of Sciences 111.38 (2014):
27. 13840-13845, and the references therein. First, observe the
difference in the two models. Then explain for
this difference physiologically. The paper by: Goldman, D. E.
Potential, impedance, and rectification in
membranes. The Journal of General Physiology 27.1 (1943): 37-
60 might be helpful since it’s a model for
passive neurons (more common in lower organisms), rather than
excitable ones. Last, empirically explain
for the reason of this difference.
On a larger scale, when large neural networks are considered,
people usually consider the frequency of spikes
as the signal, instead of the voltage across the cellular
membrane. Therefore, a lot simpler models are
used. One classical model is the Hopfield neural network model.
A popular view of it is that the number of
“attractors” denotes the memory power of the network. John
28. Hopfield himself has two nice papers about it:
1
http://www.bem.fi/book/04/04.htm
Project 4
Hopfield, John J., and David W. Tank. Neural computation of
decisions in optimization problems. Biological
cybernetics 52.3 (1985): 141-152; and Hopfield, John J. Neural
networks and physical systems with emergent
collective computational abilities. Proceedings of the national
academy of sciences 79.8 (1982): 2554-2558.
Project 4
The behaviors of this Hopfield neural network is largely
determined by the connection matrix Tij. One
project is to discuss the influence of the connection matrix Tij
on the long term dynamics of the whole
29. system, specifically, to the number of attractors there is in the
system.
Project 5
A more generalized view is that in the original Hopfield
network, Tij is set to be symmetric: Tij = Tji. But
in real neural networks, the connection is usually not symmetric
(signal often come from axon of a neuron
and is pass onto the dendrite of another neuron). Discuss the
difference if asymmetric connection is allowed
in the Hopfield network. Especially, show how complicated
dynamic behaviors can come into play.
Project 6
Some people find that the Hopfield network is more suitable for
the purpose of constructing artificial neural
networks for machine learning. A simple example can be found
at: http://www.cs.ucla.edu/~rosen/161/
30. notes/hopfield.html. After you have trained the connection
matrix of the Hopfield network, you can use
it to do denoising or pattern recognition (to recognize hand
writing, for example). This is for the people
who like more engineering (computer science) flavored projects.
Climate Models
The Lorenz equation is a simplification of the climate models.
We talked about the Lorenz equation in the
class, especially its sensitive dependence on initial conditions.
Project 7
A quantitative characterization of the sensitive dependence on
initial condition is called the Lyapunov expo-
nent, which is an average index for the sensitivity of the system
on the whole attractor. Method of calculation
can be found in: Kuznetsov N.V., Leonov G.A. (2005) On
31. stability by the first approximation for discrete
systems, 2005 International Conference on Physics and Control,
pp. 596599. Calculate this factor for the
Lorenz equation, and explain why the weather prediction only
works up to about ten days (For this purpose,
a specific set of parameter values must be taken).
Project 8
A popular method in weather prediction nowadays is called the
ensemble forecasting. That’s essentially
why we are often told the chance of precipitation. A very simple
explanation with examples can be found
at: Tracton, M. S., and E. Kalnay, 1993: Operational Ensemble
Prediction at the National Meteorological
Center: Practical Aspects. Wea. Forecasting, 8, 379-398. Let’s
make it even simpler: take a circle around
the prescribed initial condition for the Lorenz system.
32. Numerically solve the Lorenz system with a “ton”
(technical term) of initial conditions inside the circle, up to
time t (You can prescribe those conditions
uniformly, corresponding to uniform probability distribution).
Then those initial conditions are taken with
the Lorenz system to other states, and the initial circle is
squeezed and expanded, becoming other shapes.
Calculate how probability distribution of those points and the
volume of that set of points change with time
t. And explain why the probability of the system being in the
vicinity of any state is becoming less and less.
http://www.cs.ucla.edu/~rosen/161/notes/hopfield.html
http://www.cs.ucla.edu/~rosen/161/notes/hopfield.html
Project 9
Project 9
33. If you are a good scientist and mathematician, you would
directly see that the previous two projects are
related: the more sensitive a system is with respect to its initial
condition, the faster its volume in the
phase space expands. Verify this numerically for the Lorenz
equations with different parameter values (The
Lyapunov exponent is different for different parameters).
Ecological Models
We have talked in class about the classical two species Lotka-
Volterra model, in which there is a conserved
quantity. Such models, however, are usually considered not
“structurally stable”. That is, any perturbation
to the equations would make the behavior of the system change
drastically. There are many generalizations
to the model, such as the parametric generalization considered
in: T., Ying, R. Yuan, and Y. Ma. Dynamical
34. behaviors determined by the Lyapunov function in competitive
Lotka-Volterra systems. Physical Review E
87.1 (2013): 012708. Also, in the three species model, there are
more interesting behaviors.
Project 10
One possible project is to find a more complete model, in which
the additional terms (or variation of the
parameters) have ecological meaning and makes the system
structurally stable.
Project 11
There is discussion on how to generalize the Lotka-Volterra
ecological model to finite population size in: Ma,
Y.-A., and H. Qian. ”The Helmholtz Theorem for the Lotka-
Volterra Equation, the Extended Conservation
Relation, and Stochastic Predator-Prey Dynamics.” arXiv
preprint arXiv:1405.4311 (2014). Under that con-
35. sideration, the model becomes stochastic, while the conserved
quantity in the original Lotka-Volterra model
is the stationary distribution in the new stochastic model. It
would be interesting to see the correspond-
ing finite population size model for the Lotka-Volterra systems
with general parameters, where the original
deterministic dynamics is already “structurally stable”.
Mechanical Systems
Project 12
Marsden has talked about a lot of four dimension models in
mechanical systems. Two very interesting ones
are the levitron and tippe top systems. For interesting videos of
them, go to https://www.youtube.com/
watch?v=GMVtlNbMwHw for levitron; and
https://www.youtube.com/watch?v=AyAgeUneFds for tippe top.
Do a stability analysis for them and find their similarities and
36. differences. Examples can be found in Sec.
3. A. of Marsden’s paper: R. Krechetnikov, and J. E. Marsden.
Dissipation-induced instabilities in finite
dimensions. Reviews of Modern Physics 79.2 (2007): 519.
Project 13
You might think that the mechanical systems are usually simple.
In fact, there is a vast amount of chaotic
behaviors in those seemingly excessively deterministic systems.
For example, the double pendulum system is
a perfect example. For a nice video of it, see:
https://www.youtube.com/watch?v=PrPYeu3GRLg. Starting
from 1:28 of the video, you can see the chaotic behaviors.
However, if we don’t consider frictional effect, the
mechanical system is energy conservative. Try to visualize the
energy function, solve the trajectories on the
energy surfaces, and explain why there can still be chaotic
37. motion in the system.
https://www.youtube.com/watch?v=GMVtlNbMwHw
https://www.youtube.com/watch?v=GMVtlNbMwHw
https://www.youtube.com/watch?v=AyAgeUneFds
https://www.youtube.com/watch?v=PrPYeu3GRLg
Project 14
Project 14
If you like engineering, there is a hard problem on controlling
the double pendulum so that it reaches a
specific position. If you can control the position and velocity of
both rods, the question is how to do it
fastest, with the constraint that the rods are not elastic. In
reality, usually you can only control the lower
rod. Then how to make both rods stand is already a not-so-easy
problem. Try either of them (for the latter
one, considering the friction effect actually makes your life
38. easier).
Project 15
We have talked about chaos in homogeneous systems. But there
are also systems that are not chaotic by
themselves, but become chaotic when there is simple input. The
Duffing oscillator is such an example. It
models a bouncing ball on a vibrating surface. Put a ball on
your speaker and you will see it bouncing
chaotically. You can first analyze the system’s behavior when
no input is present. Then for different input
frequencies, analyze the different behaviors of the system.
Chemical Oscillation
Chemical oscillation is an interesting behavior. For
visualization, see video: https://www.youtube.com/
watch?v=_gyzhvMLImg.
39. Project 16
Model of that reaction can be found in: I. Lengyel, G. Rabai,
and I. R. Epstein. Experimental and modeling
study of oscillations in the chlorine dioxide-iodine-malonic acid
reaction. Journal of the American Chemical
Society 112.25 (1990): 9104-9110. Analyze the model, and find
that in chemical reaction systems, the
equilibrium is actually not a spiral (real eigenvalues at
equilibrium). In other words, the oscillation is
a transient behavior. To analyze that oscillating behavior, you
can use auto-correlation function of the
trajectories or other methods.
Machine Learning
Project 17
A lot of problems in building artificial intelligence (AI)
programs are actually optimization problems. For
40. the simplest example, you can write an AI to play the Tic-Tac-
Toe game. Figure out how to iteratively
calculate the objective function and optimize it at each step.
Then write such an AI to ensure that you
always beat human (always win or tie).
Project 18
In natural language processing, people often use the latent
Dirichlet allocation (LDA) model to model doc-
uments as mixtures of various topics. For a certain corpus, the
parameters in the model can be learned
through a Bayesian inference process. Figure out how to solve
this problem by random sampling the param-
eters according to the prior distribution to obtain the posterior
and do this iteratively. The original paper
by David Blei, Andrew Ng, and Michael Jordan is: D. M. Blei,
A. Y. Ng, M. I. Jordan. Latent Dirichlet
41. allocation. Journal of Machine Learning Research 3 (2003): pp.
9931022.
https://www.youtube.com/watch?v=_gyzhvMLImg
https://www.youtube.com/watch?v=_gyzhvMLImgNeural
ModelsProject 1Project 2Project 3Project 4Project 5Project
6Climate ModelsProject 7Project 8Project 9Ecological
ModelsProject 10Project 11Mechanical SystemsProject
12Project 13Project 14Project 15Chemical OscillationProject
16Machine LearningProject 17Project 18
The Perfect Brownie Pan
Riley Dulin Jun Seok Yeo Nick Fuerstenberg
March 2015
1
1 Abstract
42. This paper examines different shapes for a brownie pan such
that it maximizes
the area covered in an oven, and the temperature distribution
across the brown-
ies. We also examine the relationship between the perimeter of
the pan and the
temperature distribution. We used a combination of analytical
and numerical
solutions to find these values, and wrote MATLAB code to
simulate the tem-
perature distribution. Through these methods, we hope to
discover the optimal
shape for a brownie pan.
2 Introduction
When baking in a rectangular pan, heat is concentrated in the 4
corners and
the product gets overcooked at the corners (and to a lesser
extent at the edges).
In a round pan the heat is distributed evenly over the entire
outer edge and the
product is not overcooked at the edges, and there are no corners
at which the
43. product will be extremely overcooked. However, since most
ovens are rectangu-
lar in shape using round pans is not efficient with respect to
using the space in
an oven. Develop a model to show the distribution of heat
across the outer edge
of a pan for pans of different shapes - rectangular to circular
and other shapes
in between.
Assume:
1. A width to length ratio of W/L for the oven which is
rectangular in shape
2. Each pan must have an area of A
3. Pans in the oven must have a space d between each other and
the sides of
the oven
4. Initially two racks in the oven, evenly spaced
Develop a model that can be used to select the best type of pan
(shape)
44. under the following conditions:
1. Maximize number of pans that can fit in the oven (N)
2. Maximize even distribution of heat (H) for the pan
3. Optimize a combination of conditions (1) and (2) where
weights p and
(1−p) are assigned to illustrate how the results vary with
different values
of W/L and p
[1]
2
3 Assumptions
First
The ideal shape of the brownie pan is a member of the family of
Superel-
lipses (also known as Lamé Curves)∣ ∣ ∣ x
45. a
∣ ∣ ∣ n + ∣ ∣ ∣ y
b
∣ ∣ ∣ n = 1 (1)
n ∈ [2,∞) (2)
Where a and b are the positive half-width and half-length
respectively
of the shape. Below is a picture of the ”squircle”, a superellipse
with
n = 4,a = 1,b = 1:
Figure 1: A ”Squircle”: x4 + y4 = 1
This is justified because the family of superellipses go from
perfect ellipse
to perfect rectangle (n = 10 is sufficiently close to infinity to
make a near-
perfect rectangle), and in between they form rounded
rectangles, which
would be the perfect compromise between the two extremes.
3.1 Area Assumptions
46. Second
The optimal layout of the pans in the oven is in a rectangular
spacing
pattern
Third
a and b have the same ratio to each other as the oven’s width to
length
ratio. This is justified because in order to maximize the
rectangular spac-
ing pattern, an equal amount of rows and columns of brownie
pans are
necessary because a square has a higher number of pans than
rectangles,
and in order to get a square pattern each pan must match the
dimensions
of the oven
3
Fourth
The second rack is exactly the same in alignment and heat
47. distribution
as the first rack, so we will only analyze the situation for one
rack. This
is justified because an oven heats the top and bottom rack in
approxi-
mately the same way, and we assume the brownies on the top
rack will
not interfere with the radiation received by the bottom rack
3.2 Heat Assumptions
Fifth
Heat flux only flows from high temperature to low temperature
and does
not flow back
Sixth
The pan and the brownies are perfect black-bodies
Seventh
The temperature and the radiation in the oven are equally
distributed
Eigth
The temperature of the pan is equally distributed
48. Ninth
All energy that the pan and the brownies receive from radiation
converts
to heat with 100% transfer (ideal transfer rate)
Tenth
Thermal conductivity is constant even when there is a change in
temper-
ature
Eleventh
Oven remains the same temperature and provides unlimited heat
until
equilibrium
Twelfth
The oven has a vacuum inside, and thus there are no convection
currents,
and only radiative heat transfer. We assume this because it
makes calcu-
lations significantly easier to make
3.3 Strategies
49. We had several strategies of how to model this problem. The
problem was split
into two halves, the maximization of the ”Area Score”, and the
maximization
of the ”Heat Score”. These are termed as scores because in
order to compare
things as different as area and temperature distributions, we
needed to normalize
the values. So we give each field a score between 0 and 1 by
subtracting the
minimum and dividing by the range of the area and temperature
values, so that
the minimum scoring shape is assigned 0, the maximum shape is
assigned 1,
4
and the rest are scaled to be between those two numbers while
still retaining
the shape of their plot. We then use those values to compare
against each other
and decide what is the optimal shape.
50. During our research we found that an alternative exists for
calculating the
Heat Score, namely, the Perimeter Score. More details are found
in the perime-
ter section.
3.4 Constants and Variables
3.4.1 Constants
W Width of the oven (m)
L Length of the oven (m)
r Ratio of W/L
A Area of the pan (m 2)
d Distance between each pan (m)
p Weight of Area Score (Heat Score is 1 −p)
h Height of the brownie pan (m)
pt Thickness of the brownie pan (m)
Kb Thermal conductivity of brownies (W/(m*K))
cb Specific heat of brownies (J/(kg*K))
cp Specific heat of the pan (J/(kg*K))
σ Stefan-Boltzmann’s Constant (W/(m2 ∗ K4))
ρb Density of the brownies (kg/m
3)
51. ρp Density of the pan (kg/m
3)
TR Room temperature (K)
TO Oven temperature (K)
∆t Time step (s)
t0 Start time (s)
tf End time (s)
∆x Spatial step (m)
ccube Specific heat for one cube (J/(kg*K))
Qtop Heat from the oven radiation (J/kg)
Qbottom Heat from the pan (J/kg)
Qside,j Heat from sides of a cube (J/kg)
5
3.4.2 Variables
n Parameter of the superellipse
a Half-width of the superellipse (m)
b Half-length of the superellipse (m)
x Spatial x coordinate (m)
52. y Spatial y coordinate (m)
t Time value (s)
N Number of pans
P Perimeter of the superellipse
Tp Temperature of the pan (K)
Tm Temperature for one cube on the mth second (K)
Tside,j Temperature of the jth side of a brownie (K)
T(x,y,t) Temperature function (K)
SA(W,L,a,b,d) Area Score
SH (a,b,n) Heat Score
SP (a,b,n) Perimeter Score
4 Model
The formal solution to this problem is the value of n that
maximizes the follow-
ing expression
p∗ SA(W,L,a,b,d) + (1 −p) ∗ SH (a,b,n) (3)
where n is the parameter of a superellipse given by (1) and (2)
and each S is
normalized in the following way
53. SA:
S =
V −min(V)
max(V) −min(V)
(4)
SH,SP :
S−1 =
min(V) −V
max(V) −min(V)
+ 1 (5)
where V is a vector of values that are determined by each
respective score and
S is the normalized score vector. SH and SP use the ”inverse”
normalization
function because their values are opposite to the desired
measurement. See
Sections 4.1.3, 4.2.5, and 4.3.1 for individual explanations of
why the scores
have their formulae.
54. 4.1 Area Score
To find the Area Score we followed this outline:
1. Find a and b
2. Calculate N, the number of pans
3. Normalize the values
6
4.1.1 Find a and b
To find a and b, we use a formula for finding the area of a
superellipse:
A = 4ab∗
(
Γ
(
1 + 1
55. n
))2
Γ
(
1 + 2
n
) (6)
a = br (7)
We then solve these equations, and thus we have found the a
and b for this value
of n. We will use this for all of the scores we compute.
4.1.2 Find N
To find N, we must form equations for how many pans can fit in
the oven. We
know a and b, along with the constants that represent the oven
size, and we
form these two linear equations:
56. (Ncol + 1) ∗ d + Ncol ∗ 2a = W (8)
(Nrow + 1) ∗ d + Nrow ∗ 2b = L (9)
N = Nrow ∗ Ncol (10)
4.1.3 Normalize
Once we finish calculating N for each n, we normalize them
using (4), because
the number of pans that can fit in the oven is proportional to our
desired be-
havior. In other words, as the number of pans increases, so
should the score, so
we use the first normalization function.
4.2 Heat Score
The Heat Score is the most complicated of all the scores to
calculate, and
requires the creation of a simulation of the cooking brownies.
To simulate the
event, we break the brownie mixture down into very small cubes
and find the
energy transfer through each cube. To accomplish this we wrote
some code in
57. MATLAB that simulated the transfer of heat across the brownie
mixture. See
Appendix A for more details on the simulation, and see
Appendix B for our
consideration of an analytical solution
4.2.1 Heat Transfer for the pan
As shown in the diagram, the pan accepts heat from the oven in
the form of
radiation according to Stefan–Boltzmann’s Law:
∂Qpan
∂t
= AσT 4O (11)
Qpan = cp ∗ ∆Tp (12)
∆Tp =
AσT 4O
cp
∆t (13)
58. 7
Figure 2: Diagram of Heat Transfer
4.2.2 Heat Transfer for a Single Brownie Cube
Figure 3: Segment of brownie into cubes
The total energy delivered to a single brownie cube of width
and length ∆x
is given by the sum of the heat transferred by all of its
neighboring brownies, or
the pan if it is touching the pan, plus the heat transfer from the
top of the oven
and the heat transfer from the bottom of the pan. To determine
if the cube is
touching the pan, we use (1) with the x and y of the brownie and
see if that
is > 1. If so, then that side will be set to the Tp. The heat
transfer equations
from radiation (from the oven on the top of the cube) and
conduction (from the
pan on the bottom of the cube) are as follows:
59. 8
4.2.3 Heat Transfer for a Single Brownie Cube
Figure 4: Diagram of Heat Transfer
Figure 4 shows how the heat is transferred onto one cube from
multiple
sources
Qtop = ∆t∆x
2σT 4O (14)
Qbottom = ∆t∆x
22kb
Tp −Tm
h
(15)
Qside,j = ∆thkb (Tside,j −Tm) (16)
60. Since
ccube = cbρb∆x
2h (17)
Q = ccube ∗ ∆T (18)
the equation for the change in temperature for one cube from
the top and bottom
is:
∆T1 =
∆t∆x2
ccube
(
σT 4O + 2kb
Tp −Tm
h
)
(19)
61. and the equation for the change in temperature for one cube
from its neighboring
cubes is:
∆T2 =
∆tkbh
ccube
j=1
(Tside,j) − 4Tm
Combine them together to get the net change in temperature for
one brownie
cube:
Tm+1 = Tm + ∆T1 + ∆T2 (21)
62. T0 = TR (22)
We split the mixture into a 200x200 matrix of these cubes, and
calculate this
change in temperature for each cube for m = 1200, or 20
minutes (the average
baking time for a brownie recipe). [2] [3]
9
4.2.4 Average Variance
In order to assign a particular number for a heat distribution to
be described
by, we decide to use the average standard deviation of the
temperature over the
whole time period. The average standard deviation is defined as
the square root
of the average variance:
σT =
63. √√√√√ tf∑m=0 σ2Tm
tf
(23)
This number increases approximately linearly as the n value
increases, then
plateaus at around n > 8.
4.2.5 Normalize
Similarly to the other scores, we then normalize this score using
(5), because an
increase in average variance means that the heat is not as well
distributed, which
goes against our desired characteristic. Thus we use the
”inverse” normalization
function to make low variances higher valued.
4.3 Perimeter Score
We developed a third score, the Perimeter score, as a response
to the length of
time it took to run the heat simulation. We assume that the
strength of the
64. Heat Score is dependent only on one factor, the perimeter of the
superellipse.
This is a logical assumption because brownies typically only
burn at the edges
and corners, and so if the area is fixed, then the minimal
perimeter would have
the best Heat Score. We will verify if this is true by comparing
it to the Heat
Score and seeing if it is a decent approximation. Finding the
Perimeter Score
is fairly straightforward, after finding a and b during the Area
Score part, we
simply need to find the arc length of the superellipse to get the
perimeter:
4 ∗
∫ a
0
√√√√
1 +
b2
65. a2
(
xn
an −xn
)2(n−1)
n
dx (24)
We can solve this using numerical integration software.
4.3.1 Normalize
This perimeter value is then normalized using (5), because as
perimeter in-
creases, the heat is not as well distributed, which goes against
our desired
characteristic. Thus we use the ”inverse” normalization function
to make low
variances higher valued.
10
66. 5 Verification
After running the simulation and obtaining our results, we find
that the perfect
shape of the brownie is given by n = 3.3. The shape of this pan
and the plot
of the scores are shown in Figures 6 and 5, respectively. Figure
7 shows the
simulation of the heat distribution over time for n = 3.3 in a 3D
plot and a 2D
contour plot.
Figure 5: Area Scores(Blue), Heat Scores(Orange), and
Perimeter Scores(Red)
Figure 6: The Shape of the Pan
11
(a) t = 8 (b) t = 8
67. (c) t = 32 (d) t = 32
(e) t = 56 (f) t = 56
(g) t = 80 (h) t = 80
Figure 7: Temperature Graphs (t in minutes)
12
5.1 Perimeter Perspective
As you can see in Figure 5, the perimeter and the heat score are
somewhat
similar in their distribution, and the heat score moves closer to
the perimeter
score as ∆x is decreased. And if the perfect n is recalculated
using perimeter
instead, we find n = 3.3 again. Therefore we conclude that the
perimeter score
is a suitable approximation for the heat score. For future tests
then, we would
68. use the perimeter instead of our simulation because finding the
perimeter is
orders of magnitude faster than finding the heat distributions.
6 Discussion
The true goal of modelling some situation is that in the future,
the model
could be used instead of doing any actual physical experiment.
In order to
assess whether our model meets these goals, we look at the
predictive power
of the model, and the model’s behavior under changes in the
initial conditions
or constants. After coming to a conclusion about these
characteristics, we will
then assess what are the weaknesses and strengths of our model,
and what we
would change if we were to do this again.
6.1 Predictive Power
The model’s predictive power is relatively strong as long as the
assumptions
made under section 3 are used. For any given value of n, we can
69. see how many
brownie pans will fit in the oven, and what the temperature
distribution across
the pan will be; however, beyond the realm of superellipses, we
would need to
adjust our model to allow other shapes to be analyzed in the
same way. The
changes would be minimal though, because regardless of the
shape, the Area
Score and the Heat Score or even the Perimeter Score would
still yield similar
results, and could still be used to find the maximum point of a
shape. A possible
extension to this model would be to change the assumed perfect
shape of the
pan to instead have the form of the superformula:
r(ϕ) =
(∣ ∣ ∣ ∣ ∣ cos
(
mϕ
4
)
70. a
∣ ∣ ∣ ∣ ∣
n2
+
∣ ∣ ∣ ∣ ∣ sin
(
mϕ
4
)
b
∣ ∣ ∣ ∣ ∣
n3)− 1n1
(25)
This equation allows for many more various shapes, and would
be a much more
general solution of this problem. If we used this formula, it
would become
almost infeasible to test all of the shapes possible, but we would
71. instead rely
wholly on an analytical solution, by finding the maximum of the
perimeter and
the minimum of the dimensions. Due to the amount of time it
takes to produce
a Heat Score and the difficulty of solving a partial differential
equation for any
given boundary conditions, we would focus on perimeter
instead.
13
6.2 Changes in Initial Conditions
Our model does not handle changes in the initial conditions
well. The Area
Score is highly sensitive to changes in W , L, A, and d. By
changing those
values we saw behavior that varied from a constant function
(every shape took
up the same number of pans in the oven, this happens when the
size of the
oven is too small compared to the area of the pan, so that
72. minute changes in
the dimensions of the pan don’t help as much) to a function
with a large gap
(when d was large enough that a slightly smaller pan size
allowed it to fit one
more pan in, and cause a large jump in the graph). To make the
Area Score
more noticeable, we increased the size of a standard oven by a
factor of 7, or in
other words turned it into an industrial sized oven, and this
produced a much
more dynamic Area Score. The Heat Score is also sensitive to
changes, the most
dramatic of which is changing ∆x, the size of the cubes. If this
value gets too
large (> 0.001) the average variance actually decreases as n
increases, which
produces a curve in the exact opposite shape. In order for our
model to be the
most correct, the limit should be taken as lim∆x→0 SH . The
same thing also
applies to ∆t, and it should also be as close to 0 as possible. In
this way, our
model is sensitive to changes in the initial conditions, and thus
will not adapt
73. well to different parameters.
6.3 Simulation Error
Another note to add is that our Heat Score simulation stops at t
= 1200 sec-
onds, or equivalently 20 minutes; however, in section 5 it is
noticeable that the
equilibrium occurs after 80 minutes. We had tested this before,
and the length
of time observed changed the variances (in relation to each
other) very little,
so for the sake of the time it would take to simulate until
equilibrium we short-
ened it to be until a normal brownie baking time. One possible
reason that the
oven took so long was because under the Twelfth Assumption,
we considered
convection currents caused in the oven to be negligible, but they
could account
for a much larger percentage of the heat transfer than we
realized. We would
probably include convection currents if we were to do this
model again.
74. 14
A Simulation Analysis
In our numerical simulation in MATLAB, we have to consider
any possible
sources of error. One of the largest possible sources is
numerical instability.
Our simulation creates 2 200x200 matrices (one for current and
one for the
last temperature) and runs operations on it m = 1200 times. This
means
that the simulation is O(ijm) (i is the number of rows in one
matrix, j is the
number of columns in one matrix, and m is the number of times
to iterate
over). Since this is a large number of calculations (due to ∆x
and ∆t being
close to 0), the chance for error is non-negligible. In the
calculation of the
temperature change from the side cubes (20), we are subtracting
two very similar
numbers, Tside,j − Tm and summing those 4 differences.
75. Subtraction of very
similar numbers creates numerical instability; however, we
could not see a way
to mitigate these subtractions. Another possible source is when
we compute the
average variance (23), we subtract the sum of squares and the
square of sums
over m, which are two large numbers being subtracted from
each other that are
relatively close in magnitude, so there could be some instability
there as well.
B Analytical