Welcome!

This is a very basic webpage to give you some info about me and what I do. It was also a good excuse for me to learn how to write clean html code. Thankfully, I found a great template online for this site. At the bottom of the page is a link if you are interested.

About Me

Originally from Taylor, MI, I moved to Ann Arbor in 1994 to attend the University of Michigan. I was a student in the College of Engineering Aerospace Department. (See the college page for more details.) In June of 2000 I moved to Tucson, AZ to work for Raytheon Missile Systems. I've been working there for over 6 years now and still love it.

Current Projects

I work on simulations for ballistic missile defense systems. From a technical standpoint these systems are pretty amazing. I currently work on 3 main simulations and a few tools. They are all object oriented, written in c++, and run on IRIX, GNU/Linux, Mac OS X, and Windows.

The main simulation I work on is called ITADS (Interactive Theater Air Defense Simulation). Its main use is top-level systems engineering trade studies. We can quickly change parameters and behavior of our interceptors and calculate system performance. We model a single threat ballistic missile, and a single interceptor missile. We also model multiple radar systems for some engagements. We create lots of metrics to show effectiveness of certain system configurations and set ups. Given a place we think someone might launch a missile from, we can calculate defended areas. Also given a region we want to defend (like the US) we can calculate where you should put our interceptors for the most effectiveness.

Another simulation I work a little on is simply called VIS, since it is what we use to visualize the data we output from all of our various simulations. We also give customer demos with this tool and make QuickTime movies of scenarios. It is an OpenGL application with a model of Earth in space. The Earth is basically a sphere with satellite imagery overlaid. With the mouse you can pick any viewpoint you'd like, and as you zoom in toward the earth, the imagery switches to be more detailed. At the lowest level we can load 1 to 5 meter imagery with terrain features. When you load a scenario and start time, everything will play out and you can use your gods-eye view to get good views of what is going on. This sim can also run real-time and listen on a TCP/IP port for live data. When it receives telemetry state data from a flight test, it will display exactly what the missile or vehicle is doing.

The other large simulation I work on is named MTRAKS (Missile TRim Aero Kinematic Simulation). It is based on a new framework that we have developed to build any kind of event based simulation. We used the DEVS (Discrete Event Specification) framework and all models are a part of the simulation, even those like missiles which must do numerical time based state integration. The underlying architecture is very simple, and all of the detailed work goes into modeling the system. Most detail is in the aero properties, guidance, motor models, autopilots, and data collection. The core sim takes care of advancing time and making sure that each object is updated. This design allows us to use TCP/IP to link in other simulations using the High Level Architecture (HLA) and run in real-time. So a simulation on the east coast could be flying out a threat, and we could be flying against it with our interceptor missile. We can also pipe the data out to VIS which would show us the scenario as it plays out.

There are several tools that I have written in C++ that are used extensively by our team to manage data. The one that turned out to be the most useful is called Framer. It's job is to transform data from one coordinate frame to another. This is important since different simulations around the company use so many different frames for flight data. So this tool can convert to/from ECEF, ECI, CDA, NED, ENU, CDU, latitude-longitude, and a couple of others. It also handles 4 different types of yaw-pitch-roll transformations as well as the full body direction cosine matrix