In this paper, we propose a formulation of temporal planning in which plans are to be interpreted as a high-level specification of the desired behavior of a control systemย [cassandras:des, lee:embedded_systems], in which one can discern several discrete devices or agents that need to act in a coordinated way. Figureย LABEL:fig:planning_control_systems locates planning algorithms (planners) in the context of Control Systems as the component that provides a reference signal that informs a suitably designed controller component. Planning and control take place at two different time-scales. Planners are bound to a planning cycle of variable duration that is as long as the controller takes to implement a plan, or until whatever point in time a supervisory system, not shown in Figureย LABEL:fig:planning_control_systems and either automated or directly operated by a human, interrupts execution. Controllers are bound to a control cycle, whose duration is fixed and its value chosen as part of the design. Controllers compute control signals , which are meant to drive the behavior, or output signal , of the plant. Generally, is not directly observable, so a state estimation component is needed that integrates information collected about changes in over time to produce a state signal . The control function is subject to several constraints. To wit, it can only utilize the information obtained by the state estimation procedure; it must minimize some measure of tracking error between the required behavior and the (indirectly observed) actual behavior , and it must do so within a given time limit that defines the duration of a control cycles. Solutions to are thus expected to compensate for any disturbance. Disturbances are a general concept in Control Theory covering a vast collection of phenomena ranging from non-determinism in the plant, e.g. delays of changes in due to changes in , to misalignment between reality and the abstractions of and assumptions on crucial characteristics of the dynamics of non-planning components in Fig.ย LABEL:fig:planning_control_systems, that the planner uses to design . The analytical framework to study and verify formal properties of systems like those in Fig.ย LABEL:fig:planning_control_systems is that of Hybrid System Theoryย [tabuada:hybrid], but in this work we do not concern ourselves with the research questions that arise from supervisory components interrupting the current plan and switching to another one, and thus omit further discussion of the hybrid nature of these systems.
0.1 Domain Theories from System Models
We address now the provenance of the domain theories of interest to our research, that aim at representing in operationally meaningful ways the structure of states and inputs to dynamical systems with a structure like the one shown in Figureย LABEL:fig:planning_control_systems. Equipped with these, it then becomes possible to encode facts and assumptions about dynamical systems in a symbolic manner, enabling general but suitably engineered algorithms to reason about the existence of arbitrarily complex properties, such as the existence of plans. We follow loosely the presentation inย [lee:embedded_systems, cassandras:des].
A model of a dynamical system is given by a differential or integral equation that relates so-called input signals, for instance force and torque for a mechanical system, to output signals, like position, orientation or rotational velocity. Any such system can in turn be considered a component into a larger one. A model of a system is thus given by a function of the form , where , that is the set of functions that map the reals into the reals. The domain of functions in sets and have time as their domain, and their codomain represents the value of the signal at a given time. In Figureย LABEL:fig:planning_control_systems we illustrate a typical decomposition of into three smaller sub-systems: a controller component, a state estimation component, and finally, the so-called plant, a physical model of the object to be controlled and its environment. We now discuss each of these, and formalize the fine-grained structures in systems depicted in Figureย LABEL:fig:planning_control_systems.
0.1.1 System State Models
A more useful system model follows from identifying a set of functions from to , where can vary from function to function, and the mathematical relationships between their values in different time instants. These functions, or signals, respond to specific assumptions. So-called output variables, denoted by a vector functions , are those signals that can be measured directly. The signals that are assumed to be controllable receive the name of input variables and are denoted by . Finally, signals that convey the information necessary to predict values of given a measurement , , and inputs for are referred to as state variables and denoted by . State variables in a system model can include output variables when these are observable and otherwise follow from a non-trivial estimation process as depicted in Figureย LABEL:fig:planning_control_systems.
As advanced in the Introduction, we consider discrete-time system models, models in whichย \Timeย is set to \ZPos. We note that proceeding in this way does not require to discretize signal values. The set of possible values of signals are, respectively, , , and , for control, output and state signals. Then, functions , and become sequences , and , where , and is a fixed sample period. A state-based model thus consists of the above definitions and equations
(1a) | ||||
(1b) |
with , being difference rather than differential equations, and being a given initial condition for the system.
0.1.2 Strictly Causal Systems
Equationsย (1a) andย (1b) capture a very general class of systems (Figureย LABEL:fig:planning_control_systems). In this paper, we assume that the system of interest is time-invariant and strictly causalย [lee:embedded_systems], both properties crucial for the design of feedback control systems. A system is causal if its output only depends on current and past inputs. Formalizing this dependency requires to introduce new notation and definitions. Let us consider a continuous-time signal , for some set . Let be a partial function, or restriction in time, that is only defined for , and when it is so we have that . As a result, if is an input to a system, then is the โcurrent and past inputsโ at time .
Now let us consider a continuous-time system , where and , the sets of functions, respectively, from to some set (resp. some set ). We say that is causal if for all functions and
In words, the system is causal if for two possible inputs and that are identical up to and including time , the outputs of are also identical up to and including time . A system is strictly causal if for all , and
That is, is strictly causal if for possible inputs and identical, but crucially, not including time . In contrast, the outputs are identical up to and including . The output of at time of a strictly causal system does not depend on its inputs at time . It does so only on past inputs. This property is crucial when it comes to the design of in Figureย LABEL:fig:planning_control_systems, as no control function can exist that changes its output without a change in its inputs at least one control cycle before, if the system is to be strictly causal. The assumptions of time-invariance and strict causality simplifyย (1a) andย (1b)
(2a) | ||||
(2b) |
We note that strict causality makes irrelevant some of the temporal predicates in Tableย LABEL:tab:IL_predicates, like , to model interactions between system inputs and outputs. As established by the definitions of causality and strict causality for systems , a controller cannot decide at control cycle to initiate actions or stop ongoing ones based on a change between and , or between and . It is only possible to do so for if changes are observed before or exactly at . As a result, we do not use the temporal relations that violate these properties to establish relations between TQAs that represent properties of state and input signals.
0.1.3 Logic Theories of Systems
The domain theories we consider in this paper include state-based models. Therefore, contains standard definitions111Definitions such as those for the relation (predicate) or the operator (function) , which have been universally adopted for over a century in academia and education. of functions and predicates in the theory of arithmetic over the reals, and includes a possibly infinite set of real-valued logical variables. also contains predicates defined from combining standard ones such as โโ via the logical connectives or . Furthermore, the left and right-hand sides of Eqs.ย (1a)โ(1b) are terms in \TrmฮฃV, and since โโ has a standard definition too, the equations are elements of \FmlฮฃV, and provide a system-specific set of invariant properties or axioms.
In contrast, transient properties are described by formulas in \FmlฮฃV which only hold for specific periods of time and denote subsets of (or combinations thereof) , , and . The histories used to define the satisfiability of IL formulas are obtained directly from sequences , and
(3) |
so that the truth of is interpreted according to the definitions of the symbols therein, and the values taken by state, input and output signals. We next present an illustrative example of a logical theory representing maneuvers for a widely studied class of vehicles known as differential drive systemsย [klancar:wheeled].
0.2 Maneuvers for a Differential Drive System
TODO: The construction of logical theories is driven by a concrete purpose, in our case, we want to capture
Differential drive is a simple driving mechanism with wide practical applications for small robotsย [klancar:wheeled]. A discrete-time state-model for such robots is
obtained from the continuous-time model via Euler integration, where is the sampling interval. In this model, output variables, describe the position and the bearing of the robot, while and are the inputs. Furthermore, all output variables are also state variables. Many domain theories are possible for this model, their differences stemming from the purpose of the system. For a robot meant to transport cargo in a warehouse, a useful predicate is
(4) |
where , is a natural number indexing locations, and are constants in . Another useful predicate is
(5) |
which is true whenever the robot bearing points toward location . To change the outputs of the system, and hence the truth of formulas using these two predicates, an input signal must be applied to the system. For instance, setting the inputs to follow a control law to turn the robot towards a location is represented by the predicate
(6) |
where , and , are positive constants. The (multi-dimensional) reference signal is then captured exactly by the following following conjunction of TQAs and temporal constraints
and is depicted in Figureย 2, and is useful to interpret the above as a time diagram like those typically used in digital logic, where we have one binary signal for each predicate. Temporal constraints indicate how the periods during which signals are true or false overlap or follow each other. Changes in the truth values of and are not exactly synchronized with the end-points of , as the predicate allows some deviation, bounded by the constant .