mission planning, scheduling & optimization
Satellite planning systems are very complex (and expensive, of course) tools that are capable to detail and organize satellite's activities respect to the external events in order to maximize the system's effectiveness taking into account all resources from one side and the existing constraints from the other.
Nowadays there are some highly specialized commercial tools (such as CPAW) that manage complex space mission; in other cases mission planning system are directly developed by the satellite's manufacturer of by its operator. Being an frequent user of STK - Satellite ToolKit and knowing the excellent potentiality offered by STK Engine technology, I made several attempt to develop a mission planner from my own (nothing compared to the previously named tools, but instead a little step into this fascinating world).
Basically my approach to this matter consist in dividing the problem in two different steps:
1) STK is used for an accurate prediction of the events that will occur during the considered period (that could be up to a month for a long-term plan or 1/2 days for a short-term plan). Those events (passages over ground stations, target acquisition, eclipses and so on) are then collected and stored in a properly made database, available future querying;
2) All the information gathered in such manner are used for creating a "search space" where, starting from a set of resources (e.g. satellite's sensors or ground station's antenna) and taking into account a well defined list of constraints (e.g. sun elevation or spacecraft attitude), a research algorithm tries to find the best (or, at least, a feasible) solution to the problem. Normally finding "the best solution" means that, given a certain cost function that express the relations among the system's component, you need to set the values of independent variable of such function to reduce (or "minimize") the function itself.
Those two steps are pretty much independent but they can by joined together in a single application for improving the user experience. Moreover, the outputs of step 2) can be sent again to STK for graphical display.
I developed several prototypes using Genetics Algorithms and creating classes that are able to create search spaces and running appropriate research algorithms within them. A paper about this matter is available here for downloading.
Posted on September 2, 2010


