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 rโข(t)๐‘Ÿ๐‘กr(t)italic_r ( italic_t ) 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 uโข(t)๐‘ข๐‘กu(t)italic_u ( italic_t ), which are meant to drive the behavior, or output signal yโข(t)๐‘ฆ๐‘กy(t)italic_y ( italic_t ), of the plant. Generally, yโข(t)๐‘ฆ๐‘กy(t)italic_y ( italic_t ) is not directly observable, so a state estimation component is needed that integrates information collected about changes in yโข(t)๐‘ฆ๐‘กy(t)italic_y ( italic_t ) over time to produce a state signal xโข(t)๐‘ฅ๐‘กx(t)italic_x ( italic_t ). The control function gโข(โ‹…,โ‹…)๐‘”โ‹…โ‹…g(\cdot,\cdot)italic_g ( โ‹… , โ‹… ) 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 rโข(t)๐‘Ÿ๐‘กr(t)italic_r ( italic_t ) and the (indirectly observed) actual behavior yโข(t)๐‘ฆ๐‘กy(t)italic_y ( italic_t ), and it must do so within a given time limit that defines the duration of a control cycles. Solutions to gโข(โ‹…,โ‹…)๐‘”โ‹…โ‹…g(\cdot,\cdot)italic_g ( โ‹… , โ‹… ) 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 yโข(t)๐‘ฆ๐‘กy(t)italic_y ( italic_t ) due to changes in uโข(t)๐‘ข๐‘กu(t)italic_u ( italic_t ), 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 rโข(t)๐‘Ÿ๐‘กr(t)italic_r ( italic_t ). 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

\includegraphics

[width=]img/system_with_planner.drawio.pdf

Figure 1: Refinement of Figureย LABEL:fig:semi_autonomous_system_architecture in which we identify two new sub-systems in the executive control (supervisor and control) and physical system models (plant and measurement). The diagram also makes explicit the possibility of plans defining the control for multiple types of autonomous systems that need to act in a co-ordinated manner. See text for details and discussion.

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 S:๐’ณโ†’๐’ด:๐‘†โ†’๐’ณ๐’ดS:{\cal X}\to{\cal Y}italic_S : caligraphic_X โ†’ caligraphic_Y, where ๐’ณ=๐’ด=\mathbbโขR\mathbbโขR๐’ณ๐’ด\mathbbsuperscript๐‘…\mathbb๐‘…{\cal X}={\cal Y}=\mathbb{R}^{\mathbb{R}}caligraphic_X = caligraphic_Y = italic_R start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT, that is the set of functions that map the reals into the reals. The domain of functions in sets ๐’ณ๐’ณ{\cal X}caligraphic_X and ๐’ด๐’ด{\cal Y}caligraphic_Y 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 S๐‘†Sitalic_S 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 S๐‘†Sitalic_S 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 \mathbbโขT\mathbb๐‘‡\mathbb{T}italic_T to \therealsnsuperscript\thereals๐‘›\thereals^{n}start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT, where n๐‘›nitalic_n 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 ๐ฒโข(t)=[y1โข(t)โขโ€ฆโขymโข(t)]T๐ฒ๐‘กsuperscriptdelimited-[]subscript๐‘ฆ1๐‘กโ€ฆsubscript๐‘ฆ๐‘š๐‘ก๐‘‡\mathbf{y}(t)=[y_{1}(t)\,\ldots\,y_{m}(t)]^{T}bold_y ( italic_t ) = [ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_t ) โ€ฆ italic_y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_t ) ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT, 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 ๐ฎโข(t)=[u1โข(t)โขโ€ฆโขupโข(t)]T๐ฎ๐‘กsuperscriptdelimited-[]subscript๐‘ข1๐‘กโ€ฆsubscript๐‘ข๐‘๐‘ก๐‘‡\mathbf{u}(t)=[u_{1}(t)\,\ldots\,u_{p}(t)]^{T}bold_u ( italic_t ) = [ italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_t ) โ€ฆ italic_u start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT. Finally, signals that convey the information necessary to predict values of ๐ฒโข(t)๐ฒ๐‘ก\mathbf{y}(t)bold_y ( italic_t ) given a measurement ๐ฒโข(t0)๐ฒsubscript๐‘ก0\mathbf{y}(t_{0})bold_y ( italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ), t0<tsubscript๐‘ก0๐‘กt_{0}<titalic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT < italic_t, and inputs ๐ฎโข(tโ€ฒ)๐ฎsuperscript๐‘กโ€ฒ\mathbf{u}(t^{\prime})bold_u ( italic_t start_POSTSUPERSCRIPT โ€ฒ end_POSTSUPERSCRIPT ) for tโ€ฒโˆˆ[t0,t)superscript๐‘กโ€ฒsubscript๐‘ก0๐‘กt^{\prime}\in[t_{0},t)italic_t start_POSTSUPERSCRIPT โ€ฒ end_POSTSUPERSCRIPT โˆˆ [ italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_t ) are referred to as state variables and denoted by ๐ฑโข(t)=[x1โข(t)โขโ€ฆโขxdโข(t)]T๐ฑ๐‘กsuperscriptdelimited-[]subscript๐‘ฅ1๐‘กโ€ฆsubscript๐‘ฅ๐‘‘๐‘ก๐‘‡\mathbf{x}(t)=[x_{1}(t)\ldots x_{d}(t)]^{T}bold_x ( italic_t ) = [ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_t ) โ€ฆ italic_x start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_t ) ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT. 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, UโŠ‚\therealsp๐‘ˆsuperscript\thereals๐‘U\subset\thereals^{p}italic_U โŠ‚ start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT, YโŠ‚\therealsm๐‘Œsuperscript\thereals๐‘šY\subset\thereals^{m}italic_Y โŠ‚ start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT, and XโŠ‚\therealsd๐‘‹superscript\thereals๐‘‘X\subset\thereals^{d}italic_X โŠ‚ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT, for control, output and state signals. Then, functions ๐ฎโข(t)๐ฎ๐‘ก\mathbf{u}(t)bold_u ( italic_t ), ๐ฒโข(t)๐ฒ๐‘ก\mathbf{y}(t)bold_y ( italic_t ) and ๐ฑโข(t)๐ฑ๐‘ก\mathbf{x}(t)bold_x ( italic_t ) become sequences ๐ฎโข(k)๐ฎ๐‘˜\mathbf{u}(k)bold_u ( italic_k ), ๐ฒโข(k)๐ฒ๐‘˜\mathbf{y}(k)bold_y ( italic_k ) and ๐ฑโข(k)๐ฑ๐‘˜\mathbf{x}(k)bold_x ( italic_k ), where k=โŒŠt/TsโŒ‹๐‘˜๐‘กsubscript๐‘‡๐‘ k=\lfloor t/T_{s}\rflooritalic_k = โŒŠ italic_t / italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT โŒ‹, and Ts>0subscript๐‘‡๐‘ 0T_{s}>0italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT > 0 is a fixed sample period. A state-based model thus consists of the above definitions and equations

๐ฑโข(k+1)๐ฑ๐‘˜1\displaystyle\mathbf{x}(k+1)bold_x ( italic_k + 1 ) =๐Ÿโข(๐ฑโข(k),๐ฎโข(k),k),๐ฑโข(0)=๐ฑ0formulae-sequenceabsent๐Ÿ๐ฑ๐‘˜๐ฎ๐‘˜๐‘˜๐ฑ0subscript๐ฑ0\displaystyle=\mathbf{f}(\mathbf{x}(k),\mathbf{u}(k),k),\;\mathbf{x}(0)=% \mathbf{x}_{0}= bold_f ( bold_x ( italic_k ) , bold_u ( italic_k ) , italic_k ) , bold_x ( 0 ) = bold_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT (1a)
๐ฒโข(k)๐ฒ๐‘˜\displaystyle\mathbf{y}(k)bold_y ( italic_k ) =๐กโข(๐ฑโข(k),๐ฎโข(k),k)absent๐ก๐ฑ๐‘˜๐ฎ๐‘˜๐‘˜\displaystyle=\mathbf{h}(\mathbf{x}(k),\mathbf{u}(k),k)= bold_h ( bold_x ( italic_k ) , bold_u ( italic_k ) , italic_k ) (1b)

with ๐Ÿ๐Ÿ\mathbf{f}bold_f, ๐ก๐ก\mathbf{h}bold_h being difference rather than differential equations, and ๐ฑ0subscript๐ฑ0\mathbf{x}_{0}bold_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT 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 ๐ฒโข(k)๐ฒ๐‘˜\mathbf{y}(k)bold_y ( italic_k ) only depends on current and past inputs. Formalizing this dependency requires to introduce new notation and definitions. Let us consider a continuous-time signal s:\mathbbโขRโ†’A:๐‘ โ†’\mathbb๐‘…๐ดs:\mathbb{R}\to Aitalic_s : italic_R โ†’ italic_A, for some set A๐ดAitalic_A. Let sโˆฃtโ‰คฯ„evaluated-at๐‘ ๐‘ก๐œs\mid_{t\leq\tau}italic_s โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT be a partial function, or restriction in time, that is only defined for tโ‰คฯ„๐‘ก๐œt\leq\tauitalic_t โ‰ค italic_ฯ„, and when it is so we have that sโˆฃtโ‰คฯ„โข(t)=sโข(t)evaluated-at๐‘ ๐‘ก๐œ๐‘ก๐‘ ๐‘กs\mid_{t\leq\tau}(t)=s(t)italic_s โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT ( italic_t ) = italic_s ( italic_t ). As a result, if s๐‘ sitalic_s is an input to a system, then sโˆฃtโ‰คฯ„evaluated-at๐‘ ๐‘ก๐œs\mid_{t\leq\tau}italic_s โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT is the โ€œcurrent and past inputsโ€ at time t๐‘กtitalic_t.

Now let us consider a continuous-time system S:๐’ณโ†’๐’ด:๐‘†โ†’๐’ณ๐’ดS:{\cal X}\to{\cal Y}italic_S : caligraphic_X โ†’ caligraphic_Y, where ๐’ณ=A\mathbbโขR๐’ณsuperscript๐ด\mathbb๐‘…{\cal X}=A^{\mathbb}{R}caligraphic_X = italic_A start_POSTSUPERSCRIPT end_POSTSUPERSCRIPT italic_R and ๐’ด๐’ด{\cal Y}caligraphic_Y === B\mathbbโขRsuperscript๐ต\mathbb๐‘…B^{\mathbb}{R}italic_B start_POSTSUPERSCRIPT end_POSTSUPERSCRIPT italic_R, the sets of functions, respectively, from \mathbbโขR\mathbb๐‘…\mathbb{R}italic_R to some set A๐ดAitalic_A (resp. some set B๐ตBitalic_B). We say that S๐‘†Sitalic_S is causal if for all functions x1,x2โˆˆ๐’ณsubscript๐‘ฅ1subscript๐‘ฅ2๐’ณx_{1},x_{2}\in{\cal X}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT โˆˆ caligraphic_X and ฯ„โˆˆ\mathbbโขR๐œ\mathbb๐‘…\tau\in\mathbb{R}italic_ฯ„ โˆˆ italic_R

x1โˆฃtโ‰คฯ„=x2โˆฃtโ‰คฯ„โ†’Sโข(x1)โˆฃtโ‰คฯ„=Sโข(x2)โˆฃtโ‰คฯ„evaluated-atsubscript๐‘ฅ1๐‘ก๐œevaluated-atsubscript๐‘ฅ2๐‘ก๐œโ†’evaluated-at๐‘†subscript๐‘ฅ1๐‘ก๐œevaluated-at๐‘†subscript๐‘ฅ2๐‘ก๐œ\displaystyle x_{1}\mid_{t\leq\tau}=x_{2}\mid_{t\leq\tau}\rightarrow S(x_{1})% \mid_{t\leq\tau}=S(x_{2})\mid_{t\leq\tau}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT โ†’ italic_S ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT = italic_S ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT

In words, the system S๐‘†Sitalic_S is causal if for two possible inputs x1subscript๐‘ฅ1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and x2subscript๐‘ฅ2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT that are identical up to and including time ฯ„๐œ\tauitalic_ฯ„, the outputs of S๐‘†Sitalic_S are also identical up to and including time ฯ„๐œ\tauitalic_ฯ„. A system S๐‘†Sitalic_S is strictly causal if for all x1subscript๐‘ฅ1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, x2subscript๐‘ฅ2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT โˆˆ\inโˆˆ X๐‘‹Xitalic_X and ฯ„โˆˆ\mathbbโขR๐œ\mathbb๐‘…\tau\in\mathbb{R}italic_ฯ„ โˆˆ italic_R

x1โˆฃt<ฯ„=x2โˆฃt<ฯ„โ†’Sโข(x1)โˆฃtโ‰คฯ„=Sโข(x2)โˆฃtโ‰คฯ„evaluated-atsubscript๐‘ฅ1๐‘ก๐œevaluated-atsubscript๐‘ฅ2๐‘ก๐œโ†’evaluated-at๐‘†subscript๐‘ฅ1๐‘ก๐œevaluated-at๐‘†subscript๐‘ฅ2๐‘ก๐œ\displaystyle x_{1}\mid_{t<\tau}=x_{2}\mid_{t<\tau}\rightarrow S(x_{1})\mid_{t% \leq\tau}=S(x_{2})\mid_{t\leq\tau}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT โˆฃ start_POSTSUBSCRIPT italic_t < italic_ฯ„ end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT โˆฃ start_POSTSUBSCRIPT italic_t < italic_ฯ„ end_POSTSUBSCRIPT โ†’ italic_S ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT = italic_S ( italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) โˆฃ start_POSTSUBSCRIPT italic_t โ‰ค italic_ฯ„ end_POSTSUBSCRIPT

That is, S๐‘†Sitalic_S is strictly causal if for possible inputs x1subscript๐‘ฅ1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and x2subscript๐‘ฅ2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT identical, but crucially, not including time ฯ„๐œ\tauitalic_ฯ„. In contrast, the outputs are identical up to and including ฯ„๐œ\tauitalic_ฯ„. The output of S๐‘†Sitalic_S at time t๐‘กtitalic_t of a strictly causal system does not depend on its inputs at time t๐‘กtitalic_t. It does so only on past inputs. This property is crucial when it comes to the design of gโข(x,r)๐‘”๐‘ฅ๐‘Ÿg(x,r)italic_g ( italic_x , italic_r ) in Figureย LABEL:fig:planning_control_systems, as no control function g๐‘”gitalic_g can exist that changes its output without a change in its inputs at least one control cycle before, if the system S๐‘†Sitalic_S is to be strictly causal. The assumptions of time-invariance and strict causality simplifyย (1a) andย (1b)

๐ฑโข(k+1)๐ฑ๐‘˜1\displaystyle\mathbf{x}(k+1)bold_x ( italic_k + 1 ) =๐Ÿโข(๐ฑโข(k),๐ฎโข(k)),๐ฑโข(0)=๐ฑ0formulae-sequenceabsent๐Ÿ๐ฑ๐‘˜๐ฎ๐‘˜๐ฑ0subscript๐ฑ0\displaystyle=\mathbf{f}(\mathbf{x}(k),\mathbf{u}(k)),\;\mathbf{x}(0)=\mathbf{% x}_{0}= bold_f ( bold_x ( italic_k ) , bold_u ( italic_k ) ) , bold_x ( 0 ) = bold_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT (2a)
๐ฒโข(k)๐ฒ๐‘˜\displaystyle\mathbf{y}(k)bold_y ( italic_k ) =๐กโข(๐ฑโข(k))absent๐ก๐ฑ๐‘˜\displaystyle=\mathbf{h}(\mathbf{x}(k))= bold_h ( bold_x ( italic_k ) ) (2b)

We note that strict causality makes irrelevant some of the temporal predicates in Tableย LABEL:tab:IL_predicates, like \StartsโขXโขY\Starts๐‘‹๐‘Œ\Starts{X}{Y}italic_X italic_Y, to model interactions between system inputs and outputs. As established by the definitions of causality and strict causality for systems S๐‘†Sitalic_S, a controller cannot decide at control cycle k๐‘˜kitalic_k to initiate actions or stop ongoing ones based on a change between yโข(kโˆ’1)๐‘ฆ๐‘˜1y(k-1)italic_y ( italic_k - 1 ) and yโข(k)๐‘ฆ๐‘˜y(k)italic_y ( italic_k ), or between rโข(kโˆ’1)๐‘Ÿ๐‘˜1r(k-1)italic_r ( italic_k - 1 ) and rโข(k)๐‘Ÿ๐‘˜r(k)italic_r ( italic_k ). It is only possible to do so for if changes are observed before or exactly at kโˆ’1๐‘˜1k-1italic_k - 1. 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 (ฮฃ,V)ฮฃ๐‘‰(\Sigma,V)( roman_ฮฃ , italic_V ) we consider in this paper include state-based models. Therefore, ฮฃฮฃ\Sigmaroman_ฮฃ contains standard definitions111Definitions such as those for the relation (predicate) โ‰ฅโŠ‚\mathbbRร—\mathbbR\geq\,\subset\mathbb{R}\times\mathbb{R}โ‰ฅ โŠ‚ italic_R ร— italic_R or the operator (function) +:\mathbbRร—\mathbbRโ†’\mathbbR+:\mathbb{R}\times\mathbb{R}\to\mathbb{R}+ : italic_R ร— italic_R โ†’ italic_R, 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 V๐‘‰Vitalic_V includes a possibly infinite set of real-valued logical variables. ฮฃฮฃ\Sigmaroman_ฮฃ also contains predicates defined from combining standard ones such as โ€œโ‰ค\leqโ‰คโ€ via the logical connectives โˆง\landโˆง or โˆจ\lorโˆจ. 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) U๐‘ˆUitalic_U, X๐‘‹Xitalic_X, and Y๐‘ŒYitalic_Y. The histories hโ„Žhitalic_h used to define the satisfiability of IL formulas ฯ†๐œ‘\varphiitalic_ฯ† are obtained directly from sequences ๐ฑโข(k)๐ฑ๐‘˜\mathbf{x}(k)bold_x ( italic_k ), ๐ฎโข(k)๐ฎ๐‘˜\mathbf{u}(k)bold_u ( italic_k ) and ๐ฒโข(k)๐ฒ๐‘˜\mathbf{y}(k)bold_y ( italic_k )

hโข(k,ฯ†)={1ifโข๐ฑโข(k),๐ฎโข(k),๐ฒโข(k)โŠงฯ†0otherwiseโ„Ž๐‘˜๐œ‘cases1modelsif๐ฑ๐‘˜๐ฎ๐‘˜๐ฒ๐‘˜๐œ‘0otherwise\displaystyle h(k,\varphi)=\begin{cases}1&\mathrm{if}\,\mathbf{x}(k),\mathbf{u% }(k),\mathbf{y}(k)\models\varphi\\ 0&\mathrm{otherwise}\end{cases}italic_h ( italic_k , italic_ฯ† ) = { start_ROW start_CELL 1 end_CELL start_CELL roman_if bold_x ( italic_k ) , bold_u ( italic_k ) , bold_y ( italic_k ) โŠง italic_ฯ† end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL roman_otherwise end_CELL end_ROW (3)

so that the truth of ฯ†๐œ‘\varphiitalic_ฯ† 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

\includegraphics

[width=]img/turn_maneuver.drawio.pdf

Figure 2: Turning maneuver modeled with Interval Logic. White rectangles are intervals, and text near the left end-point is the name used in the example below (IAsubscript๐ผ๐ดI_{A}italic_I start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT), centered text indicates the formula attached to them e.g. Nโขeโขaโขrโข(l0)๐‘๐‘’๐‘Ž๐‘Ÿsubscript๐‘™0Near(l_{0})italic_N italic_e italic_a italic_r ( italic_l start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ).

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

xโข(k+1)๐‘ฅ๐‘˜1\displaystyle x(k+1)italic_x ( italic_k + 1 ) =xโข(k)+vโข(k)โขTsโขcosโก(ฯ•โข(k))absent๐‘ฅ๐‘˜๐‘ฃ๐‘˜subscript๐‘‡๐‘ italic-ฯ•๐‘˜\displaystyle=x(k)+v(k)T_{s}\cos(\phi(k))= italic_x ( italic_k ) + italic_v ( italic_k ) italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT roman_cos ( italic_ฯ• ( italic_k ) )
yโข(k+1)๐‘ฆ๐‘˜1\displaystyle y(k+1)italic_y ( italic_k + 1 ) =yโข(k)+vโข(k)โขTsโขsinโก(ฯ•โข(k))absent๐‘ฆ๐‘˜๐‘ฃ๐‘˜subscript๐‘‡๐‘ italic-ฯ•๐‘˜\displaystyle=y(k)+v(k)T_{s}\sin(\phi(k))= italic_y ( italic_k ) + italic_v ( italic_k ) italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT roman_sin ( italic_ฯ• ( italic_k ) )
ฯ•โข(k+1)italic-ฯ•๐‘˜1\displaystyle\phi(k+1)italic_ฯ• ( italic_k + 1 ) =ฯ•โข(k)+ฯ‰โข(k)โขTsabsentitalic-ฯ•๐‘˜๐œ”๐‘˜subscript๐‘‡๐‘ \displaystyle=\phi(k)+\omega(k)T_{s}= italic_ฯ• ( italic_k ) + italic_ฯ‰ ( italic_k ) italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT

obtained from the continuous-time model via Euler integration, where Tssubscript๐‘‡๐‘ T_{s}italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT is the sampling interval. In this model, output variables, xโข(k),yโข(k),ฯ•โข(k)๐‘ฅ๐‘˜๐‘ฆ๐‘˜italic-ฯ•๐‘˜x(k),y(k),\phi(k)italic_x ( italic_k ) , italic_y ( italic_k ) , italic_ฯ• ( italic_k ) describe the position and the bearing of the robot, while vโข(k)๐‘ฃ๐‘˜v(k)italic_v ( italic_k ) and ฯ‰โข(k)๐œ”๐‘˜\omega(k)italic_ฯ‰ ( italic_k ) are the inputs. Furthermore, all output variables are also state variables. Many domain theories (ฮฃ,V)ฮฃ๐‘‰(\Sigma,V)( roman_ฮฃ , italic_V ) 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

Nโขeโขaโขrโข(l)โ‰ก(xโˆ’xl)2+(yโˆ’yl)2โ‰คdl๐‘๐‘’๐‘Ž๐‘Ÿ๐‘™superscript๐‘ฅsubscript๐‘ฅ๐‘™2superscript๐‘ฆsubscript๐‘ฆ๐‘™2subscript๐‘‘๐‘™\displaystyle Near(l)\equiv\sqrt{(x-x_{l})^{2}+(y-y_{l})^{2}}\leq d_{l}italic_N italic_e italic_a italic_r ( italic_l ) โ‰ก square-root start_ARG ( italic_x - italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_y - italic_y start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG โ‰ค italic_d start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT (4)

where x,yโˆˆV๐‘ฅ๐‘ฆ๐‘‰x,y\in Vitalic_x , italic_y โˆˆ italic_V, l๐‘™litalic_l is a natural number indexing locations, and xl,yl,dlsubscript๐‘ฅ๐‘™subscript๐‘ฆ๐‘™subscript๐‘‘๐‘™x_{l},y_{l},d_{l}italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT are constants in ฮฃฮฃ\Sigmaroman_ฮฃ. Another useful predicate is

Pโขoโขiโขnโขtโขiโขnโขgโข(l)โ‰ก|ฯ•โˆ’arctanโก(xlโˆ’x/ylโˆ’y)|<el๐‘ƒ๐‘œ๐‘–๐‘›๐‘ก๐‘–๐‘›๐‘”๐‘™italic-ฯ•subscript๐‘ฅ๐‘™๐‘ฅsubscript๐‘ฆ๐‘™๐‘ฆsubscript๐‘’๐‘™\displaystyle Pointing(l)\equiv|\phi-\arctan(x_{l}-x/y_{l}-y)|<e_{l}italic_P italic_o italic_i italic_n italic_t italic_i italic_n italic_g ( italic_l ) โ‰ก | italic_ฯ• - roman_arctan ( italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - italic_x / italic_y start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - italic_y ) | < italic_e start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT (5)

which is true whenever the robot bearing points toward location l๐‘™litalic_l. 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 l๐‘™litalic_l is represented by the predicate

Tโขuโขrโขnโข(l)โ‰กฯ‰โข(k+1)=ฯ‰โข(k)+K1โขeโข(k)โˆ’K2โขTsโขฯ‰โข(k)โขTs๐‘‡๐‘ข๐‘Ÿ๐‘›๐‘™๐œ”๐‘˜1๐œ”๐‘˜subscript๐พ1๐‘’๐‘˜subscript๐พ2subscript๐‘‡๐‘ ๐œ”๐‘˜subscript๐‘‡๐‘ \displaystyle Turn(l)\equiv\omega(k+1)=\omega(k)+K_{1}e(k)-K_{2}T_{s}\omega(k)% T_{s}italic_T italic_u italic_r italic_n ( italic_l ) โ‰ก italic_ฯ‰ ( italic_k + 1 ) = italic_ฯ‰ ( italic_k ) + italic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_e ( italic_k ) - italic_K start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_ฯ‰ ( italic_k ) italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT (6)

where eโข(k)=arctanโก(xlโˆ’xโข(k)/ylโˆ’yโข(k))โˆ’ฯ•โข(k)๐‘’๐‘˜subscript๐‘ฅ๐‘™๐‘ฅ๐‘˜subscript๐‘ฆ๐‘™๐‘ฆ๐‘˜italic-ฯ•๐‘˜e(k)=\arctan(x_{l}-x(k)/y_{l}-y(k))-\phi(k)italic_e ( italic_k ) = roman_arctan ( italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - italic_x ( italic_k ) / italic_y start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT - italic_y ( italic_k ) ) - italic_ฯ• ( italic_k ), and K1subscript๐พ1K_{1}italic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, K2subscript๐พ2K_{2}italic_K start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are positive constants. The (multi-dimensional) reference signal rโข(t)๐‘Ÿ๐‘กr(t)italic_r ( italic_t ) is then captured exactly by the following following conjunction of TQAs and temporal constraints

Tโขuโขrโขnโข(l1)ID๐‘‡๐‘ข๐‘Ÿ๐‘›subscriptsubscript๐‘™1subscript๐ผ๐ท\displaystyle Turn(l_{1})_{I_{D}}italic_T italic_u italic_r italic_n ( italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT end_POSTSUBSCRIPT โˆงNโขeโขaโขrโข(l0)IAโˆงAโขlโขiโขgโขnโข(l0)IBโˆงAโขlโขiโขgโขnโข(l1)IC๐‘๐‘’๐‘Ž๐‘Ÿsubscriptsubscript๐‘™0subscript๐ผ๐ด๐ด๐‘™๐‘–๐‘”๐‘›subscriptsubscript๐‘™0subscript๐ผ๐ต๐ด๐‘™๐‘–๐‘”๐‘›subscriptsubscript๐‘™1subscript๐ผ๐ถ\displaystyle\land Near(l_{0})_{I_{A}}\land Align(l_{0})_{I_{B}}\land Align(l_% {1})_{I_{C}}โˆง italic_N italic_e italic_a italic_r ( italic_l start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT end_POSTSUBSCRIPT โˆง italic_A italic_l italic_i italic_g italic_n ( italic_l start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_POSTSUBSCRIPT โˆง italic_A italic_l italic_i italic_g italic_n ( italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT end_POSTSUBSCRIPT
โˆงIAโŠƒIDโˆงIBโŒขIDโˆงIDโŒขICsuperset-ofsubscript๐ผ๐ดsubscript๐ผ๐ทsubscript๐ผ๐ตโŒขsubscript๐ผ๐ทsubscript๐ผ๐ทโŒขsubscript๐ผ๐ถ\displaystyle\land I_{A}\supset I_{D}\land I_{B}\frown I_{D}\land I_{D}\frown I% _{C}โˆง italic_I start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT โŠƒ italic_I start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT โˆง italic_I start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT โŒข italic_I start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT โˆง italic_I start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT โŒข italic_I start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT

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 Pโขoโขiโขnโขtโขiโขnโขgโข(l0)๐‘ƒ๐‘œ๐‘–๐‘›๐‘ก๐‘–๐‘›๐‘”subscript๐‘™0Pointing(l_{0})italic_P italic_o italic_i italic_n italic_t italic_i italic_n italic_g ( italic_l start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) and Pโขoโขiโขnโขtโขiโขnโขgโข(l1)๐‘ƒ๐‘œ๐‘–๐‘›๐‘ก๐‘–๐‘›๐‘”subscript๐‘™1Pointing(l_{1})italic_P italic_o italic_i italic_n italic_t italic_i italic_n italic_g ( italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) are not exactly synchronized with the end-points of Itโขuโขrโขnsubscript๐ผ๐‘ก๐‘ข๐‘Ÿ๐‘›I_{turn}italic_I start_POSTSUBSCRIPT italic_t italic_u italic_r italic_n end_POSTSUBSCRIPT, as the Pโขoโขiโขnโขtโขiโขnโขg๐‘ƒ๐‘œ๐‘–๐‘›๐‘ก๐‘–๐‘›๐‘”Pointingitalic_P italic_o italic_i italic_n italic_t italic_i italic_n italic_g predicate allows some deviation, bounded by the constant elsubscript๐‘’๐‘™e_{l}italic_e start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT.