Wednesday, January 20, 2010

Inertial Guidance Simulation

My development skills are in their infancy. Small projects are within my grasp. Designing and building large scale systems just isn't possible for me right now. However, higher up and further in.

In order to expand my horizons and improve my skills, I'm undertaking a development project to simulate an inertial guidance system. The simulation will be implemented in Java with visualization probably provided by the Processing environment.

I figure there are at least five components to this simulation, flight sensors, flight controls, flight environment, telemetry and guidance system.  As presently conceived, each component of the system will have it's own thread.  This is probably an overkill approach, but I don't have much experience with threads and want some.  I'm anticipating race conditions and how to design the system so they don't happen.  Another thing to explore will be if synchronous communication will be possible between threads or if I'll need to do asynchronous communication.  Aside from all this, is translating the equations for flight control into code.  Should be interesting.

Flight Controls send directions to Environment.  Environment provides data to Flight Sensors.  Guidance takes data from Flight Sensor then sends instructions to Flight Controls.  Telemetry will act a sort of syslog for Flight Controls, Guidance and Sensors by recording relevant flight data for review later. It is a write only system.