Planetary Lander Example

We now present an example of a PDDL+ domain description, illustrating how continuous functions, driven by interacting processes, events and actions, can constrain the structure of plans. The example is based on a simplified model of a solar-powered lander. The actions of the system are durative actions that draw a fixed power throughout their operation. There are two observation actions, observe1 and observe2, which observe the two different phenomena. The system must prepare for these, either by using a single long action, called fullPrepare, or by using two shorter actions, called prepareObs1 and prepareObs2, each specific to one of the observation actions. The shorter actions both have higher power requirements over their execution than the single preparation action. The lander is required to execute both observation actions before a communication link is established (controlled by a timed initial literal), which sets a deadline on the activities.

These activities are all carried out against a background of fluctuating power supply. The lander is equipped with solar panels that generate electrical power. The generation process is governed by the position of the sun, so that at night there is no power generated, rising smoothly to a peak at midday and falling back to zero at dusk. The curve for power generation is shown in Figure 2.

Figure 2: Graph of power generated by the solar panels.
\includegraphics[angle=270,width=3in]{curve}
Two key events affect the power generation: at nightfall the generation process ends and the lander enters night operational mode. In this mode it draws a constant power requirement for a heater used to protect its instruments, in addition to any requirements for instruments. At dawn the night operations end and generation restarts. Both of these events are triggered by a simple clock that is driven by the twin processes of power generation and night operations and reset by the events.

The lander is equipped with a battery, allowing it to store electrical energy as charge. When the solar panels are producing more power than is required by the instruments of the lander, the excess is directed into recharging the battery (the charging process), while when the demand from instruments exceeds the solar power then the shortfall must be supplied from the battery (the discharging process). The charging process follows an inverse exponential function, since the rate of charging is proportional to the power devoted to charging and also proportional to the difference between the maximum and current levels of charge. Discharge occurs linearly at a rate determined by the current demands of all the lander activities. Since the solar generation process is itself a non-linear function of time during the day, the state of charge of the battery follows a complex curve with discontinuities in its rate of change caused by the instantaneous initiation or termination of the durative instrument actions. Figure 3 shows an example of a plan and the demand curve it generates compared with the supply over the same period.

Figure 3: An abstracted example lander plan showing demand curve and supply curve over the period of execution.
\includegraphics[width=4in]{landereg}

Figures 5 and 6 show graphs of the battery state of charge for the two alternative plans shown in Figure 4.

Figure 4: Two alternative plans to complete the observations before the deadline.
     0.1: (fullPrepare) [5]
     5.2: (observe1) [2]
     7.3: (observe2) [2]
     2.6: (prepareObs1) [2]
     4.7: (observe1) [2]
     6.8: (prepareObs2) [1]
     7.9: (observe2) [2]
The plans both start an hour before dawn and the deadline is set to 10 hours later. The parameters have been set to ensure that there are 15 hours of daylight, so the plan must complete within two hours after midday. The battery begins at 45% of fully charged.
Figure 5: Graph of battery state of charge (as a percentage of full charge) for first plan. The timepoint marked $ d > s$ is the first point at which demand exceeds supply, so that the battery begins to recharge. The vertical lines mark the points at which processes are affected. Where the state of charge is falling over an interval the discharge process is active and where it is rising the charge process is active.
\begin{figure}\begin{center}
\setlength{\unitlength}{60pt}
\begin{picture}(3.6,...
...61,2)
\dottedline{0.05}(2.65,0)(2.65,2)
\end{picture}
\end{center} \end{figure}
Figure 6: Graph of battery state of charge (as a percentage of full charge) for second plan. As in the previous case, discontinuities in the gradient of the state of charge correspond to points at which the charge or discharge process is changed by an action (start or end point) or event.
\begin{figure}\begin{center}
\setlength{\unitlength}{60pt}
\begin{picture}(3.6,...
...mebox (0.71,0.15){\footnotesize obs'2}}
\end{picture}
\end{center} \end{figure}

The lander is subject to a critical constraint throughout its activities: the battery state of charge may never fall below a safety threshold. This is a typical requirement on remote systems to protect them from system failures and unexpected problems and it is intended to ensure that they will always have enough power to survive until human operators have had the opportunity to intervene. This threshold is marked in Figure 5, where it can be seen that the state of charge drops to approximately 20%. The lowest point in the graph is at a time 2.95 hours after dawn, when the solar power generation just matches the instrument demand. At this point the discharging process ends and the generation process starts. This time point does not correspond to the start or end of any of the activities of the lander and is not a point explicitly selected by the planner. It is, instead, a point defined by the intersection of two continuous functions. In order to confirm satisfaction of the constraint, that the state of charge may never fall below its safety threshold, the state of charge must be monitored throughout the activity. It is not sufficient to consider its value at only its end points, where the state of charge is well above the minimum required, since the curve might dip well below these values in the middle.

We will use this example to illustrate further points later in this paper. The complete domain description and the initial state for this problem instance can be found in Appendix C, while the two reports generated by VAL [Howey, Long, FoxHowey et al.2004] are available in the online appendices associated with this paper.

Derek Long 2006-10-09