SlideShare a Scribd company logo
1 of 75
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 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
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
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
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
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
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
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
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
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
)
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
∫ 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
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.
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
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.
[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
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
project. Much useful informa-
tion and data can also be found on the web. (But there is also a
lot of nonsense out there.
Remember that anyone can “publish” anything on the web and it
is not subject to the same
kind of editorial control as books or journals.)
The following are some pointers on how the proposal and term
paper for this project
should be structured. Please see the instructor or one of the
TA’s if you have additional
questions.
Term Papers
The lengths of term-project papers may vary, but we are
expecting that you will need 10
or 12 pages of double-spaced text to describe a meaningful
project. In addition, there may
Copyright c©by K.K. Tung 1
AMATH 383 Introduction to Continuous Mathematical
Modeling
be figures, data, and/or computer programs. This means that we
are talking about a total
length of 15 to 20 pages.
The format of the paper will depend on what type of model you
are looking at, but here
are some key components that most papers should contain:
(1) Title and Abstract
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
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
results interpretable in terms of the original problem? Are the
results reasonable? If
not, what are the possible failings of the model that led to poor
results? If your model
Copyright c©by K.K. Tung 2
AMATH 383 Introduction to Continuous Mathematical
Modeling
leads to a large problem that you cannot solve, try to formulate
a smaller version that
leads to reasonable results.
(7) Improvement
How can you improve the model or solution technique so as to
yield better results?
How easy or diffcult is it to implement these improvements.
(8) Conclusions
Summarize what you have done and what you have learned.
(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.
Copyright c©by K.K. Tung 3
Amath383 Suggested Term Projects
Neural Models
Neural science is a field, within biology, that is currently highly
active in mathematical modeling with
dynamical systems approach. A lot of new models come from
different scales of the field. On the anatomy
scale, a lot of models concern about the spikes that nerons
generate and pass to other nerons. This type of
works were originated from the celebrated Hodgkin-Huxley
theory that describes the membrane electrical
voltage of a neuron in terms of voltage-gated ion channels and
ionic currents, predicting the spiking behavior
(A nice explanation of this can be found here:
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,
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):
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
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
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/
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
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.
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
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
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-
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
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
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
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.
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
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
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
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
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)
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
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
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
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
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
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.
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)
ρ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)
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
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.
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
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:
(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
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)
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:
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)
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)
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)
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 =
√√√√√ 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
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
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
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
(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
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
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
)
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
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
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
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.
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.
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

More Related Content

Similar to Control Systems For Projectile DefenseRyan MendivilMar.docx

2016,Problem B
2016,Problem B2016,Problem B
2016,Problem B
RUIXIN BAO
 
EIPOMDP Poster (PDF)
EIPOMDP Poster (PDF)EIPOMDP Poster (PDF)
EIPOMDP Poster (PDF)
Teddy Ni
 
DNN Project Report (Prathmesh)
DNN Project Report (Prathmesh)DNN Project Report (Prathmesh)
DNN Project Report (Prathmesh)
Prathmesh Kumbhare
 
07 image filtering of colored noise based on kalman filter
07 image filtering of colored noise based on kalman filter07 image filtering of colored noise based on kalman filter
07 image filtering of colored noise based on kalman filter
studymate
 
Frame and-burst-acquisition-in-tdma-satellite-communication-networks-with-tra...
Frame and-burst-acquisition-in-tdma-satellite-communication-networks-with-tra...Frame and-burst-acquisition-in-tdma-satellite-communication-networks-with-tra...
Frame and-burst-acquisition-in-tdma-satellite-communication-networks-with-tra...
Cemal Ardil
 

Similar to Control Systems For Projectile DefenseRyan MendivilMar.docx (20)

2016,Problem B
2016,Problem B2016,Problem B
2016,Problem B
 
Testing the global grid of master events for waveform cross correlation with ...
Testing the global grid of master events for waveform cross correlation with ...Testing the global grid of master events for waveform cross correlation with ...
Testing the global grid of master events for waveform cross correlation with ...
 
EIPOMDP Poster (PDF)
EIPOMDP Poster (PDF)EIPOMDP Poster (PDF)
EIPOMDP Poster (PDF)
 
G041034850
G041034850G041034850
G041034850
 
Classical String Calculations in curved space
Classical String Calculations in curved spaceClassical String Calculations in curved space
Classical String Calculations in curved space
 
DNN Project Report (Prathmesh)
DNN Project Report (Prathmesh)DNN Project Report (Prathmesh)
DNN Project Report (Prathmesh)
 
V1_I2_2012_Paper5.docx
V1_I2_2012_Paper5.docxV1_I2_2012_Paper5.docx
V1_I2_2012_Paper5.docx
 
SatellitePaper.docx
SatellitePaper.docxSatellitePaper.docx
SatellitePaper.docx
 
AN EFFICIENT IMPLEMENTATION OF TRACKING USING KALMAN FILTER FOR UNDERWATER RO...
AN EFFICIENT IMPLEMENTATION OF TRACKING USING KALMAN FILTER FOR UNDERWATER RO...AN EFFICIENT IMPLEMENTATION OF TRACKING USING KALMAN FILTER FOR UNDERWATER RO...
AN EFFICIENT IMPLEMENTATION OF TRACKING USING KALMAN FILTER FOR UNDERWATER RO...
 
07 image filtering of colored noise based on kalman filter
07 image filtering of colored noise based on kalman filter07 image filtering of colored noise based on kalman filter
07 image filtering of colored noise based on kalman filter
 
TRS
TRSTRS
TRS
 
Anchor Positioning using Sensor Transmission Range Based Clustering for Mobil...
Anchor Positioning using Sensor Transmission Range Based Clustering for Mobil...Anchor Positioning using Sensor Transmission Range Based Clustering for Mobil...
Anchor Positioning using Sensor Transmission Range Based Clustering for Mobil...
 
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
 
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
 
tesi_completa
tesi_completatesi_completa
tesi_completa
 
Frame and-burst-acquisition-in-tdma-satellite-communication-networks-with-tra...
Frame and-burst-acquisition-in-tdma-satellite-communication-networks-with-tra...Frame and-burst-acquisition-in-tdma-satellite-communication-networks-with-tra...
Frame and-burst-acquisition-in-tdma-satellite-communication-networks-with-tra...
 
Waypoint Flight Parameter Comparison of an Autonomous Uav
Waypoint  Flight  Parameter  Comparison  of an Autonomous UavWaypoint  Flight  Parameter  Comparison  of an Autonomous Uav
Waypoint Flight Parameter Comparison of an Autonomous Uav
 
AIAA Paper dlt228
AIAA Paper dlt228AIAA Paper dlt228
AIAA Paper dlt228
 
E043036045
E043036045E043036045
E043036045
 
E043036045
E043036045E043036045
E043036045
 

More from maxinesmith73660

You have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docxYou have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
maxinesmith73660
 
You have been asked to speak to city, municipal, and state elected a.docx
You have been asked to speak to city, municipal, and state elected a.docxYou have been asked to speak to city, municipal, and state elected a.docx
You have been asked to speak to city, municipal, and state elected a.docx
maxinesmith73660
 
You have been asked to organize a community health fair at a loc.docx
You have been asked to organize a community health fair at a loc.docxYou have been asked to organize a community health fair at a loc.docx
You have been asked to organize a community health fair at a loc.docx
maxinesmith73660
 
You have been asked to explain the differences between certain categ.docx
You have been asked to explain the differences between certain categ.docxYou have been asked to explain the differences between certain categ.docx
You have been asked to explain the differences between certain categ.docx
maxinesmith73660
 
You have been asked to develop UML diagrams to graphically depict .docx
You have been asked to develop UML diagrams to graphically depict .docxYou have been asked to develop UML diagrams to graphically depict .docx
You have been asked to develop UML diagrams to graphically depict .docx
maxinesmith73660
 
You have been asked to develop UML diagrams to graphically depict an.docx
You have been asked to develop UML diagrams to graphically depict an.docxYou have been asked to develop UML diagrams to graphically depict an.docx
You have been asked to develop UML diagrams to graphically depict an.docx
maxinesmith73660
 
You have been asked to be the project manager for the development of.docx
You have been asked to be the project manager for the development of.docxYou have been asked to be the project manager for the development of.docx
You have been asked to be the project manager for the development of.docx
maxinesmith73660
 
You have been asked to conduct research on a past forensic case to a.docx
You have been asked to conduct research on a past forensic case to a.docxYou have been asked to conduct research on a past forensic case to a.docx
You have been asked to conduct research on a past forensic case to a.docx
maxinesmith73660
 
You have been asked to be the project manager for the developmen.docx
You have been asked to be the project manager for the developmen.docxYou have been asked to be the project manager for the developmen.docx
You have been asked to be the project manager for the developmen.docx
maxinesmith73660
 

More from maxinesmith73660 (20)

You have been chosen to present in front of your local governing boa.docx
You have been chosen to present in front of your local governing boa.docxYou have been chosen to present in front of your local governing boa.docx
You have been chosen to present in front of your local governing boa.docx
 
You have been charged with overseeing the implementation of cybersec.docx
You have been charged with overseeing the implementation of cybersec.docxYou have been charged with overseeing the implementation of cybersec.docx
You have been charged with overseeing the implementation of cybersec.docx
 
You have been commissioned to create a manual covering the installat.docx
You have been commissioned to create a manual covering the installat.docxYou have been commissioned to create a manual covering the installat.docx
You have been commissioned to create a manual covering the installat.docx
 
You have been challenged by a mentor you respect and admire to demon.docx
You have been challenged by a mentor you respect and admire to demon.docxYou have been challenged by a mentor you respect and admire to demon.docx
You have been challenged by a mentor you respect and admire to demon.docx
 
You have been chosen as the consultant group to assess the organizat.docx
You have been chosen as the consultant group to assess the organizat.docxYou have been chosen as the consultant group to assess the organizat.docx
You have been chosen as the consultant group to assess the organizat.docx
 
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docxYou have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
 
You have been asked to speak to city, municipal, and state elected a.docx
You have been asked to speak to city, municipal, and state elected a.docxYou have been asked to speak to city, municipal, and state elected a.docx
You have been asked to speak to city, municipal, and state elected a.docx
 
You have been asked to provide a presentation, covering the history .docx
You have been asked to provide a presentation, covering the history .docxYou have been asked to provide a presentation, covering the history .docx
You have been asked to provide a presentation, covering the history .docx
 
You have been asked to organize a community health fair at a loc.docx
You have been asked to organize a community health fair at a loc.docxYou have been asked to organize a community health fair at a loc.docx
You have been asked to organize a community health fair at a loc.docx
 
You have been asked to explain the differences between certain categ.docx
You have been asked to explain the differences between certain categ.docxYou have been asked to explain the differences between certain categ.docx
You have been asked to explain the differences between certain categ.docx
 
You have been asked to evaluate a 3-year-old child in your clinic.  .docx
You have been asked to evaluate a 3-year-old child in your clinic.  .docxYou have been asked to evaluate a 3-year-old child in your clinic.  .docx
You have been asked to evaluate a 3-year-old child in your clinic.  .docx
 
You have been asked to develop UML diagrams to graphically depict .docx
You have been asked to develop UML diagrams to graphically depict .docxYou have been asked to develop UML diagrams to graphically depict .docx
You have been asked to develop UML diagrams to graphically depict .docx
 
You have been asked to develop UML diagrams to graphically depict an.docx
You have been asked to develop UML diagrams to graphically depict an.docxYou have been asked to develop UML diagrams to graphically depict an.docx
You have been asked to develop UML diagrams to graphically depict an.docx
 
You have been asked to develop a quality improvement (QI) process fo.docx
You have been asked to develop a quality improvement (QI) process fo.docxYou have been asked to develop a quality improvement (QI) process fo.docx
You have been asked to develop a quality improvement (QI) process fo.docx
 
You have been asked to design and deliver a Microsoft PowerPoint pre.docx
You have been asked to design and deliver a Microsoft PowerPoint pre.docxYou have been asked to design and deliver a Microsoft PowerPoint pre.docx
You have been asked to design and deliver a Microsoft PowerPoint pre.docx
 
You have been asked to be the project manager for the development of.docx
You have been asked to be the project manager for the development of.docxYou have been asked to be the project manager for the development of.docx
You have been asked to be the project manager for the development of.docx
 
You have been asked to conduct research on a past forensic case to a.docx
You have been asked to conduct research on a past forensic case to a.docxYou have been asked to conduct research on a past forensic case to a.docx
You have been asked to conduct research on a past forensic case to a.docx
 
You have been asked for the summary to include the following compone.docx
You have been asked for the summary to include the following compone.docxYou have been asked for the summary to include the following compone.docx
You have been asked for the summary to include the following compone.docx
 
You have been asked to be the project manager for the developmen.docx
You have been asked to be the project manager for the developmen.docxYou have been asked to be the project manager for the developmen.docx
You have been asked to be the project manager for the developmen.docx
 
You have been asked by management, as a senior member of your co.docx
You have been asked by management, as a senior member of your co.docxYou have been asked by management, as a senior member of your co.docx
You have been asked by management, as a senior member of your co.docx
 

Recently uploaded

SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
CaitlinCummins3
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
中 央社
 
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
EADTU
 

Recently uploaded (20)

Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio App
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Book Review of Run For Your Life Powerpoint
Book Review of Run For Your Life PowerpointBook Review of Run For Your Life Powerpoint
Book Review of Run For Your Life Powerpoint
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 
An Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge AppAn Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge App
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
Supporting Newcomer Multilingual Learners
Supporting Newcomer  Multilingual LearnersSupporting Newcomer  Multilingual Learners
Supporting Newcomer Multilingual Learners
 
ANTI PARKISON DRUGS.pptx
ANTI         PARKISON          DRUGS.pptxANTI         PARKISON          DRUGS.pptx
ANTI PARKISON DRUGS.pptx
 
Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"
 
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
 
Observing-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxObserving-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptx
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
VAMOS CUIDAR DO NOSSO PLANETA! .
VAMOS CUIDAR DO NOSSO PLANETA!                    .VAMOS CUIDAR DO NOSSO PLANETA!                    .
VAMOS CUIDAR DO NOSSO PLANETA! .
 
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
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
  • 19. project. Much useful informa- tion and data can also be found on the web. (But there is also a lot of nonsense out there. Remember that anyone can “publish” anything on the web and it is not subject to the same kind of editorial control as books or journals.) The following are some pointers on how the proposal and term paper for this project should be structured. Please see the instructor or one of the TA’s if you have additional questions. Term Papers The lengths of term-project papers may vary, but we are expecting that you will need 10 or 12 pages of double-spaced text to describe a meaningful project. In addition, there may Copyright c©by K.K. Tung 1 AMATH 383 Introduction to Continuous Mathematical Modeling be figures, data, and/or computer programs. This means that we are talking about a total length of 15 to 20 pages. The format of the paper will depend on what type of model you are looking at, but here are some key components that most papers should contain: (1) Title and Abstract
  • 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
  • 22. results interpretable in terms of the original problem? Are the results reasonable? If not, what are the possible failings of the model that led to poor results? If your model Copyright c©by K.K. Tung 2 AMATH 383 Introduction to Continuous Mathematical Modeling leads to a large problem that you cannot solve, try to formulate a smaller version that leads to reasonable results. (7) Improvement How can you improve the model or solution technique so as to yield better results? How easy or diffcult is it to implement these improvements. (8) Conclusions Summarize what you have done and what you have learned.
  • 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.
  • 24. Copyright c©by K.K. Tung 3 Amath383 Suggested Term Projects Neural Models Neural science is a field, within biology, that is currently highly active in mathematical modeling with dynamical systems approach. A lot of new models come from different scales of the field. On the anatomy scale, a lot of models concern about the spikes that nerons generate and pass to other nerons. This type of works were originated from the celebrated Hodgkin-Huxley theory that describes the membrane electrical voltage of a neuron in terms of voltage-gated ion channels and ionic currents, predicting the spiking behavior (A nice explanation of this can be found here:
  • 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