An Artificial Intelligence Planner for Satellite Operations

Planning and scheduling are closely related areas with which the AI community has been long concerned. The first one deals with finding plans to achieve some goals from an initial state; that is, a sequence of activities that will modify the initial state into another that satisfies the goals. The second one refers to the allocation of available resources to known activities over time in order to produce schedules that respect temporal relations and resource capacity constraints. They can also optimise a set of objectives, such as minimising tardiness, minimising work in process, maximising resource allocation or minimising cycle time. Due to these differences, planning and scheduling have been traditionally solved separately using rather different methods. Depending on the problem complexity some domains allow a strict separation between planning and scheduling. For example, in a travelling domain, one can first plan the actions to follow in the train trips to later assign the trip start and end points and the departure and arrival times at each station according to the desired timetable. But in other cases there is an indirect temporal dependency with other states that can not be taken into account if we follow the first approach. In the same example, it could happen that two trains need to use the same track. The schedule must allocate time intervals for the use of the track to avoid the trains colliding. One way of integrating both tasks within the same tool consists on adding representation and reasoning capabilities on resource and temporal information. This has been done in systems such as IxTeT [7], O-Plan2 [11] or HSTS [8]. In our case, we wanted to explore the possibility of using a standard non-linear domain independent planner, PRODIGY [12], and study the possibility of using it directly for integrating planning and scheduling. This planner does not have explicit model of time representation nor a declarative way for specifying resource requirements or consumption. However, thanks to its capability of representing and handling continuous variables, coding functions to obtain variables values and the use of control rules to prune the search, we have successfully integrated planning and scheduling in a satellite control domain. This domain needs to integrate planning and scheduling for setting up nominal operations to perform in three satellites during the year. The paper is structured as follows: section two introduces the satellites type operations that have to be performed during the year. Section three presents how the planner handles the problem. Then, a formal description of the type of knowledge represented in the planner is described. Finally related work is outlined and future work and conclusions are drawn.