Abstract
The synthesis of verifiable robot controllers from a set of high-level task specifications provides a valuable tool for creating robot controllers for complex tasks. Such an approach can offer a number of advantages over more traditional programming methods, including the guarantee that the synthesized controller will satisfy all of its underlying specifications when operating with perfect sensing and actuation. This paper relaxes that assumption, and describes a method for probabilistically analyzing the behavior of a robot controller that is synthesized from a set of temporal logic specifications, when the robot operates with uncertainty in its sensing and actuation. The described approach creates a probabilistic model of the system and uses probabilistic model checking techniques to find the probability that it satisfies some set of specifications. In addition, the paper proposes a method which leverages that analysis to provide automated feedback to the user in the form of suggested revisions to the task specification or low-level components, in order to increase the probability that the robot successfully accomplishes its task.
1. Introduction
Recent research in the fields of robotics and automation has adapted techniques from the formal methods community to enable the synthesis of correct-by-construction robot controllers for complex tasks (Loizou and Kyriakopoulos, 2004; Fainekos et al., 2006; Kloetzer and Belta, 2006; Tabuada and Pappas, 2006; Conner et al., 2007; Kress-Gazit et al., 2007b,a). Such techniques take a specification of the desired robot behavior, and create an abstract controller that is guaranteed to satisfy those specifications (if such a controller exists). Doing so offers a number of advantages over a more traditional controller design process.
Synthesis lowers the level of technical expertise required to design and build a controller for a complex task by abstracting away many lower-level details and avoiding traditional programming languages.
Synthesis reduces the time investment typically required to implement a robot controller by allowing the designer to create and edit the controller directly from the task specification.
Synthesis techniques also typically offer guarantees on the behavior of the robot with respect to the specified task; such guarantees ease the burden of validation and testing of the controller.
Research on the synthesis of robot controllers has led to a number of different approaches, each with their own advantages and disadvantages. Fainekos et al. (2007) and Wongpiromsarn et al. (2009), for example, proposed methods that use feedback controllers to control the motion of the robot, while Bhatia et al. (2010) and Karaman and Frazzoli (2009) sacrifice completeness and use sampling-based methods for robots with more complex dynamics. Kloetzer and Belta (2006) and Karaman and Frazzoli (2009) use synthesized controllers to complete complex motion tasks in static environments, while Kress-Gazit et al. (2009) and Wongpiromsarn et al. (2010), by contrast, synthesize controllers that react to dynamic events in the environment.
Each of these proposed approaches provides some guarantee on the execution of the synthesized controller. The approach by Kress-Gazit et al. (2009), for example, synthesizes a controller in such a way that it is guaranteed to satisfy all of the underlying specifications, if one assumes that the abstract sensors and actuators operate without error. Such an assumption is, however, typically infeasible in real-world scenarios. As such, it is important to provide guarantees that account for the errors and uncertainties that occur when operating in complex, real-world environments.
The work described in this paper presents a method for analyzing the probabilistic behavior of a robot operating with errors in its sensing and actuation, as well as a method to leverage that analysis and provide feedback to the user to improve the performance of the robot. First, a formally synthesized controller is composed with probabilistic models of the robot’s environment, and probabilistic models of the errors in the robot’s sensing and actuation. This model is then analyzed using probabilistic model checking software to determine the probability that it satisfies a set of temporal logic formulas describing the robot’s behavior. In addition, a method is presented to automatically generate multiple types of revision suggestions (which are provided to the user) in order to improve the probabilistic behavior of the robot.
Johnson and Kress-Gazit (2011, 2012) assess the impact of errors in the robot’s perception of the environment. In these papers, they create sensor propositions which, in the error-free case, mimic the set of environment event propositions. By probabilistically modeling false positives and false negatives, they include the probability of erroneous sensor values in a discrete model of the overall system. They then use probabilistic model checking techniques to compute the probability that the robot satisfies some set of linear temporal logic (LTL) formulas, and use the analysis to inform design choices for the synthesized controller. They apply this approach to the scenario of an autonomous car in Johnson et al. (2012).
Similarly, Johnson and Kress-Gazit (2013) model errors in the robot’s actuation by the inclusion of probabilistic transitions to unintended states. Again, a discrete, probabilistic model of the system is created, and a probabilistic model checker is used to compute the probability that the robot satisfies some set of LTL formulas. The paper then extends the analysis by providing a preliminary method for the automatic determination of revisions to the original specification that may result in a controller with a higher likelihood of satisfying the given task. This process of computing specification revisions for the user provides a valuable tool in the design of synthesized robot controllers, as it provides the designer with important feedback to improve the probability that the robot exhibits a particular behavior. Furthermore, by including the designer in the feedback loop (i.e. returning the suggested revision to the user, rather than automatically including it in the specification and re-synthesizing), the process helps to prevent the emergence of unexpected or unwanted behavior from the generated revisions.
The work presented in this paper builds upon the authors’ earlier work in Johnson and Kress-Gazit (2011, 2012, 2013). First, this paper discusses composition and analysis of a probabilistic model of the system, which includes both sensor and actuator error. The simultaneous consideration of both sensor and actuator error, which is necessary in real-world applications, requires significant adaptations of the composition algorithms presented in Johnson and Kress-Gazit (2012, 2013); the new algorithms, and the required adaptations are detailed in Section 4. In addition, this paper expands on the preliminary approach described in Johnson and Kress-Gazit (2013) for automatically generating revision suggestions for the original specification. This paper presents an improvement to the revision algorithm described in the authors’ earlier work, as well as presenting three additional methods for generating complimentary revision suggestions.
1.1. Related work
Kloetzer and Belta (2006) present an approach for generating a feedback control strategy from LTL specifications in such a way that all closed-loop trajectories for the controller will satisfy the specification, despite disturbances in the continuous system. Lahijanian et al. (2009, 2010) extend that work by modeling the uncertainty on the outcomes of the low-level motion primitives, and altering the synthesis algorithm such that it generates the motion plan that has the highest probability of satisfying the specification. Ding et al. (2012) improve the computational feasibility of the approach via dynamic programming. Each of these approaches enables the synthesis of a complex control policy that maximizes the probability of satisfying a specification; unlike these works, the approach presented in this paper considers synthesized controllers that react to changes in the robot’s environment, and uses an analysis of the synthesized controller to generate revision specifications which are returned to the user (the cited works directly account the effects of uncertainty in the synthesis step).
Medina Ayala et al. (2012) present a method to maximize the probability of satisfying a specification within a specific time bound. In that work, the synthesized controller reacts to time-varying properties of the environment, which are modeled stochastically. Ding et al. (2011) allow for time-varying observations of the robot’s environment (modeled as propositions that may be either true or false at each vertex in the environment), and generate a controller that maximizes the probability that the robot satisfies some specification (which may be reactive with respect to those observations). Lyons et al. (2013) present a Process-Algebra-based method for probabilistically validating robot mission software in an uncertain environment, described by random variables. The work presented here differs from these papers in the formulation of the uncertainty and errors in the system, and in the abstract, non-motion actions the robot may activate. This formulation allows for a description of the task and errors in sensing and actuation that is general enough to be applied to a wide variety of applications.
In each of the aforementioned works, the probabilistic information about the system is incorporated directly into the synthesis process. In contrast, the approach presented in this paper takes a controller that is synthesized assuming perfect sensing and actuation (the ideal case), and describes a method for assessing the probabilistic performance of that controller, post-synthesis. Such a process provides a different, complimentary method for accounting for errors in the robot’s sensing and actuation, in that it allows for a formal analysis of the controller, and it provides feedback to the user (rather than directly incorporating it into the synthesis process). The additional application of this analysis to generate revisions to be returned to the user provides an alternate method for improving the robot’s behavior. While inclusion of the generated revisions is not guaranteed to optimize the probabilistic behavior of the robot (as the related synthesis approaches do), it has the advantage of involving the user in the process (which may help to avoid possible unintuitive or undesirable behaviors that may result from the optimization process).
The generation of revisions for controller synthesis is, at this point, largely unexplored. In a recent paper, Cizelj and Belta (2013) present a method for the supervised synthesis of and revision of a motion control policy for a Dubins vehicle, where the control policy is synthesized from a temporal logic specification. Furthermore, the algorithms provide the user with suggestions for specification relaxation in order to improve the performance of the robot. The work presented in this paper differs from Cizelj and Belta (2013) in several ways, most notably in the formulation of the problems considered: this work allows for the inclusion of non-motion actions (rather than synthesizing a motion control policy), and assumes that the robot must react to a dynamic (rather than static) environment.
Other related work in the literature is that of Kim et al. (2012) and Fainekos (2011). In these papers, the authors present approaches for revising an unsynthesizable temporal logic specification by relaxing the restrictions on the initial condition of the robot in such a way that the specification becomes synthesizable. Raman and Kress-Gazit (2013) describe techniques for automatically generating a concise explanation for an unsynthesizable LTL specification; the approach provides feedback to the user to aid in debugging the specification and enable the synthesis of a feasible robot controller. In each of these works, the authors address a related but distinct problem in revising an unsynthesizable specification so that it becomes synthesizable. In contrast, this work assumes that the specification is already synthesizable, and suggests revisions to improve the probabilistic behavior of the robot.
The paper is organized as follows. Section 2 presents some necessary background information, and Section 3 formally defines the problem statement. Sections 4 and 5 detail the methods for modeling and analyzing the controllers and for generating revision suggestions. The approach is illustrated by an example in Section 6. Concluding remarks are given in Section 7.
2. Preliminaries
2.1. Linear temporal logic
LTL is a logical formalism that allows for the expression of linear-time temporal properties. An LTL formula ϕ is defined over a set of Boolean propositions Π. The syntax for a formula ϕ is defined recursively as
The semantics of an LTL formula is defined over an infinite sequence of states σ, where a state σi , which occurs at time i in the sequence, is a set of truth assignments to the atomic propositions π ∈ Π. A state σi satisfies an LTL formula (denoted by σi ⊨ϕ) as defined by the following conditions:
A sequence of states σ is said to satisfy a formula ϕ if, for all initial states σ 0, σ 0⊨ϕ.
Intuitively, the formula ◯ϕ is true when ϕ holds true in the next state in the sequence, and
2.2. Controller synthesis
The synthesized controllers used in this work were created using the approach described by Kress-Gazit et al. (2009). That approach requires a set of propositions
The desired task for the robot is then described by an LTL formula that is restricted to the general reactivity (1) class of formulas, as described in Piterman et al. (2006). This class of formulas takes the form
In the above formula, the specification for the robot is given as a desired robot behavior (defined by
Returning to the example of a robot attempting to move through a doorway, the initial condition of the environment might specify whether the door is initially open (
From the abstracted environment
By restricting the specification to the class of general reactivity (1) formulas, the computational cost of the synthesis algorithm is reduced from doubly exponential in the size of the formula to polynomial in the size of the state space. Even with this computational improvement, however, synthesis of a controller can become intractable for large state spaces. Such issues can become apparent when specifying a task for multiple vehicles, or explicitly modeling time (rather than temporal relationships).
2.3. Probabilistic model checking
A number of different options exist for performing probabilistic model checking, depending on the type of model and the type of properties to be checked. The work in this paper relies on model checking a discrete-time Markov chain (DTMC) model against LTL properties. The probabilistic model is defined as a DTMC
While a number of different algorithms and off-the-shelf model checkers exist, the work presented in this paper uses PRISM probabilistic model checker (Kwiatkowska et al., 2011), which offers, among other capabilities, the ability to compute the probability that a DTMC satisfies a particular LTL formula, and is available online.
3. Problem statement
The work presented in this paper considers correct-by-construction controllers such that, when the robot’s sensors and actuators operate without error, the controller is guaranteed to satisfy all of its underlying specifications. This paper investigates the affects of errors in sensing and actuation on the behavior of the robot, and the revision of the controller to improve the behavior of the robot under those erroneous conditions. To include these effects, the behavior of the environment, sensors, and actuation of the robot are all defined probabilistically.
The changes in the environment are described by a set of probabilities P(X′|X,Y) that represent the changes in the abstract environment propositions
To model the sensors, an additional set of propositions
To model the actuation error, changes in the robot configuration are modeled by the set of probabilities
These probabilities each represent a discrete set of probabilities for the changes in the abstract propositions representing the state of the environment, sensors, and robot. That is, each possible change in the state is assigned a single value, representing the probability that the event occurs; the set of these probabilities describes the probabilistic evolution of the state of the system. Each of these sets of probabilities (for the environment, sensors, and robot actuation) can be estimated using statistical data gathered from experiments or simulations. Lahijanian et al. (2010), for example, use experimental data to determine the probabilistic outcomes of different motion primitives during the operation of their robot. Similarly, Johnson et al. (2012) use statistical information gathered from a simulation to model the changes in the abstracted environment and sensors for an autonomous vehicle.
4. Modeling and analysis
An overview of the approach presented in this paper for composing and analyzing a model of the robot with sensor and actuator error is shown in Figure 1. The model of the probabilistic system is composed from the synthesized controller and probabilistic models of the environment, sensors, and actuation; it is then analyzed with a probabilistic model checker to calculate the likelihood that the robot will satisfy a given set of task specifications. Sections 4.1 and 4.2 detail the process of including the sensor error and the actuator error in a probabilistic model of the system. Although both types of error could be incorporated into the model simultaneously, they are presented separately here to simplify both the implementation and the explanation of the process.

Diagram of the approach used to compose and analyze a probabilistic model of the robot, including the effects of sensor and actuator error.
4.1. Sensor error
Algorithm 1 describes the process of composing the environment probabilities and sensor error with the synthesized controller to create a probabilistic model of the system with imperfect sensors. This algorithm is a modified version of that given by Johnson and Kress-Gazit (2012), and has been changed to facilitate the integration of actuator error by including the correspondence between each probabilistic state and its originating automaton state. In addition, the algorithm was changed such that it creates new probabilistic states for any transition with probability greater than zero, and includes transitions to deadlock states and states that correspond to unconnected automaton states. This change allows for arbitrary probabilistic models of the sensors (of the form
Consider the previously introduced scenario, where a robot moves through a doorway. The synthesized automaton, then, would include a state where the robot moves through the open door, and one where the robot waits at the closed door. In including the sensor error, Algorithm 1 would model not only if the door was open but also if the robot sensed that the door was open. The algorithm would create new states that include both the senor values and the state of the environment, and add transitions based on the specified probabilities. As a result, the model would include transitions to a state where the robot attempts to drive through a closed door (which it erroneously senses as open) and to a state where the robot mistakenly waits for the open door (which it senses as closed) to open, as well as to the correct states where it drives through the open door or waits for the closed door to open.
Intuitively, the algorithm loops through each state in the automaton si
(line 3), and extracts the set of propositions for the environment Xi
, which correspond to the incoming transitions (lines 4–8). The algorithm then adds a new state qi
to the probabilistic system, labeled with the environment–sensor–robot configuration
While there are states in the set Q
*, the algorithm selects one (qi
∈ Q
*) and removes it from the set (lines 13–14). It then extracts the appropriate labels for the environment Xi
, sensors
If there exists some state sk
in the synthesized automaton such that there is a transition from si
to sk
that is labeled with the given sensor values
If there is no appropriate transition in the synthesized automaton (out of si ), then the algorithm looks for an identically labeled transition out of another state sh , which shares the same configuration as si (line 28). If any such states exist, the algorithm takes the one with the most closely preceding goal rank Γ (line 29), and creates the appropriate transition. Again, if the destination state is already in the probabilistic system, the algorithm adds a transition to it (lines 30–31); if no such state exists, a new one is created and added to the set Q * (lines 32–36).
Finally, if there are no transitions in the synthesized automaton which match the considered labels, a sink state (with no outgoing transitions) is created, and a transition is added to that state (lines 37–42).
4.2. Actuator error
Algorithm 2 describes a similar process, which introduces the actuation error (in motion and non-motion actions) into the probabilistic model. This algorithm is adapted from that presented by Johnson and Kress-Gazit (2013), and is slightly modified to incorporate the actuation error into an existing DTMC, rather than creating a probabilistic model from the synthesized automaton. These modifications enable the algorithm to account for sensor configurations (in addition to environment and robot configurations), and to include the probabilities that were computed for each transition in Algorithm 1.
The inputs to the algorithm are the DTMC
Consider, again, the scenario where a robot is required to pass through a doorway, when open. The probabilistic model that results from Algorithm 2 would now include the possibility of the robot attempting and failing to exit through the door when it senses that it is open. This involves the creation of new states, in which the robot attempts and fails to move through a doorway it senses to be open. If such states are not planned for in the automaton, they result in deadlock states in the probabilistic model (no outgoing transitions).
This algorithm proceeds by looping through each transition in the input DTMC (line 3) and extracting the propositions associated with each state in the transition (lines 4–5). It then loops through each robot configuration that is a possible outcome of the attempted transition (line 6) and, if that outcome is the intended one, it adjusts the probability of the transition according to the actuation error model, and stores the transition in the new transition function Δ Act (lines 7–8). Otherwise, if the outcome is not the intended one, but matches another state in the system, a new transition is created to the matching state with the most closely preceding goal (lines 9–11). Finally, if no such state exists in the system, a new one is created and added to the system (lines 12–16); in addition, this new state is set to be a sink state, which transitions to itself with probability 1 (line 17).
4.3. Model analysis
The model
As in the previous papers, the PRISM probabilistic model checker (Kwiatkowska et al., 2011) was used to find the probabilities used for the analysis presented in Section 6. It was also used to perform the model-checking functionality in Algorithms 3–6. The PRISM model checking software is available online at http://www.prismmodelchecker.org/.
5. Revision suggestion
An overview of the presented approach for generating revision suggestions is shown in Figure 2. After composing a probabilistic model of the system, as described in Section 4, the model is analyzed with a probabilistic model checker, and used to provide feedback to the user in the form of an additional safety specification, a restriction on the initial condition, a low-level component to refine, or a liveness specification to remove.

Diagram of the presented approach for providing feedback to the user in the form of an additional safety specification, a restriction on the initial condition, a low-level component to refine, or a liveness specification to remove.
5.1. Safety specification revisions
Algorithm 3 describes the process used to provide specification revisions in the form of additional safety formulas (
Returning to the example scenario of a robot attempting to move through an open door, consider a situation in which there are two doorways that lead out of the room. If one of those doorways opens and closes more frequently, Algorithm 3 may detect that attempting to move through that doorway is the most likely source of collisions with a closed door, and return a revision suggestion that requires the robot to always avoid using that particular doorway.
The algorithm proceeds, first, by computing the set of goal states (where the robot satisfies a liveness condition and begins working towards the next one, line 2), and the set of deadlock states (where the robot has no transitions out of that state, line 3). The algorithm then reduces the set of states to check Qcheck (line 4) to only those states that are not initial states (which are considered in Algorithm 4), goal states (which are considered in Algorithm 6), or deadlock states (which are either sink states that are not in the synthesized automaton, or are goal states).
Next, beginning with a value of N = 1, and increasing incrementally, the algorithm loops through each state in the system (lines 5–7). It then sets the initial state of the model to be the current state, and checks for the probability that the model violates ϕ in exactly N steps (lines 8–10). If the calculated probability is non-zero, it adds the state/probability pair to the list Q *.
After this is completed for each state in the system, the algorithm initializes a set of propositions to track which robot and environment propositions are true or false, in an incrementally increasing set of states (line 13). It then loops through the state/probability pairs in Q *, and chooses the one with the highest probability of violating ϕ in N steps (lines 14–15). In lines 16–17, the algorithm reduces each set of propositions to only those propositions which match the value in the current state (i.e. a proposition is removed from X′ T or Y′ T if it is false in the current state, and removed from X′ F or Y′ F if it is true in the current state). The resulting lists contain exactly the set of propositions that have a consistent value (true or false) over every state that is pulled from the list Q *.
After each set is reduced for the current state, if the set of robot propositions (either true or false) are non-empty, a formula ψ = □(◯X′→¬◯Y′) is created (lines 18–19), such that if the environment propositions take the values stored in the lists X′ T and X′ F , the robot is required to avoid the configuration stored in the lists Y′ T and Y′ F . If this equation ψ is not already in the list of safety revisions Ψ, then it is added (lines 20–21). The current state/probability pair is then removed from the list Q * (line 22), and the algorithm continues the while-loop.
After each value of N is checked, if one or more revisions has been found, the algorithm returns the set of LTL formulas Ψ (lines 23–24). If no revisions have been found for the current value of N, the algorithm increments the value and repeats the process. If no results are found for any value 0 ≤ N ≤ Nmax , the algorithm terminates with no revisions (line 25).
The set Ψ that is output by Algorithm 3 is a set of LTL safety formulas that may be added to the original specification, to force the synthesized controller to avoid a certain behavior that is exhibited by the set of state-pairs used to create the formula. The first formula added to the set is the most specific (it corresponds to avoiding a single transition in the original automaton) and each subsequent formula becomes progressively more general (corresponding to avoiding progressively larger sets of transitions).
5.2. Initial-state revisions
Another type of automated feedback is described in Algorithm 4, which provides specification revisions in the form of restrictions on the initial configuration of the robot (
Algorithm 4 proceeds by looping through each initial state q
0 ∈ Q
0 and restricting the probabilistic system to only that initial state (lines 3–4). The algorithm then uses the probabilistic model checker to find the probability that this restricted system satisfies the desired behavior ϕ (line 5). This probability, along with the robot labels on the initial state, are stored in the set P (lines 6–7). After this process is completed for each initial state, the algorithm finds the stored pair with the highest average probability over all elements in the set which share the same labels (line 8). These labels are then used to create a Boolean formula ψ over the set of propositions
The formula ψ that is created by Algorithm 4 can be added to the set of specifications for the robot’s initial configuration
5.3. Low-level component revisions
The third type of automated revision presented in this paper is that of suggesting revisions to a low-level component that is represented by one of the abstract propositions that are used to represent the robot’s sensing or actuation. Algorithm 5 describes the process used to perform a sensitivity analysis on the low-level components, and identify the component (
Algorithm 5 first finds the probability that the nominal model satisfies the input formula ϕ (line 2). It then loops through each low-level component p(·) ∈ P(·) and modifies the transition function in the original model by replacing each occurrence of p(·) with a slightly higher value p(·) + δ, and adjust the other probabilities in Δ accordingly (lines 4–5). The system model is then adjusted for the new transition function, and checked to find the probability that it satisfies the desired behavior ϕ (lines 6–7). The probability, along with the component that was adjusted, is then stored in the set Pδ (line 8). Finally, the algorithm finds the probability/component pair with the largest increase in probability (over the nominal), and returns that component to the user (lines 9–10).
5.4. Liveness condition revisions
The final automated revision discussed in this paper is the identification of a specific liveness condition from the set of liveness formulas (
This algorithm begins by creating a set of probabilities (initialized to 0) to track the probability that the robot violates ϕ while pursuing each particular goal (line 2). It then loops through each state qj in the system, and finds the probability that the first time the robot violates ϕ is while transitioning to that state (lines 3–5). This value is then added to stored value that corresponds to the goal being pursued in state qj (line 6). The algorithm then returns the goal index γ * that has the largest stored value for the probability of causing the initial violation of ϕ (lines 7–8). Note that, because the formula φ that is being analyzed finds the probability that each state is the first to violate ϕ, the sum of all entries in Pg will be no greater than 1.
5.5. Notes on revision suggestions
Algorithms 3–6 describe four complimentary methods for providing feedback to the user in the form of suggested changes to the task specification or low-level components. It should be noted, however, that the suggested safety revisions (Algorithm 3) and the suggested liveness revisions (Algorithm 6) are not guaranteed to result in an improvement of the behavior of the robot. In each case, the suggested revision would alter the behavior of the robot by prohibiting the current most problematic behavior or by removing a behavior that leads to violation of the specifications. Synthesizing a new controller with the suggested revision will change the behavior of the robot, and may be probabilistically worse than the behavior being avoided by the revision. In addition, the addition of a new safety specification may even cause the overall specification to become unsynthesizable. As an example, consider a scenario where the robot must advance down a corridor to reach its goal; if the safety revision identifies this corridor as the most likely source of error (and therefore suggests avoiding it), and there is no other route to the robot’s goal, the resulting specification (after including this revision) would become unsynthesizable. Such an error would be identified by the synthesis algorithm, after the revision was included in the specification.
It is also worth noting that the removal of a liveness condition represents a more significant change in the original specification than the introduction of a safety specification (Algorithm 3) or a restriction of the initial condition (Algorithm 4). In this case, the revision causes a change in the task goals, and so must be handled with care. As such, it is typically better to revise the controller as described in Sections 5.1–5.3 prior to removing a liveness condition from the original task specification. The dramatic impact of such a change also underlines the value of keeping the user involved in the revision process, as an automation of this process would converge to a specification without any liveness conditions, where the robot could easily satisfy the specifications without needing to act.
In addition, note that there is a restriction on the formula ϕ (for the desired behavior) in Algorithms 3 and 6, where ϕ is restricted to a Boolean formula over
Finally, it should be noted that one can easily automate the process of adding or removing specification revisions and synthesizing a new controller, which can be used to create a new probabilistic model; the probabilistic performance of the new model can then be assessed in comparison to the original model, to determine whether the revision results in an improvement in performance. This can then be used to automatically compare and prioritize the different types of revisions and provide the user with only those which provide a significant improvement in the behavior of the robot (as well as to disregard any revisions that would cause the specification to become unsynthesizable). The authors have, in fact, implemented such functionality, although it is not discussed in detail in this paper.
In terms of computation, the most expensive part of each of these algorithms is that of model checking a probabilistic model to find the probability that it satisfies an LTL formula. Such LTL model checking is, in general, exponential in the size of the formula and polynomial in the size of the given model (Courcoubetis and Yannakakis, 1995). As such, Algorithms 3 and 6 are typically the most time consuming to run, as they usually require the most calls to the “ModelCheck” function. Compared with model checking, the other calculations in each of the algorithms have negligible computational costs. In the cases of Algorithms 3 and 6, this corresponds to a call to “ModelCheck” for nearly every state in the model. Such a process is computationally expensive for most realistic problems; the impact of this expense is reduced, however, due to the offline nature of each of these algorithms, which are meant to be run prior to deployment of the robot. A discussion of the run-times of the algorithms for an example problem is included in Section 6.
6. Example

Discretized map of the workspace for the example problem.
A subset of the LTL formulas used to synthesize the controller are given below, where
□♢G 1∧□♢G 2∧□♢G 3.
The synthesized controller has 75 states, with the initial state of the robot being restricted to G 1, G 2, or G 3. When moving from G 1 to G 2, the robot traverses through region R 1 when the adversary is in regions R 2–R 5 and through region R 2 when the adversary is in region R 1. When moving to and from G 3, the robot waits until the adversary traverses to R 1 or R 2 before entering regions R 3–R 5. If the sensing of the adversary’s location and the movement of the robot both execute without failure, the synthesized controller is guaranteed to satisfy the specified behavior; if the robot operates imperfectly, however, it may end up in the same region as the adversary, violating the specification.

Analysis results for the adversarial robot example: probability that the robot avoids the adversary.
These results show that, as the probability that the robot correctly senses the location of the adversary increases, the robot will be more likely to avoid the unwanted contact with the adversary. Owing to the other error present in the model (the motion of the robot), even when the sensor is perfect (i.e. it has a probability of 1.0 of correctly detecting the location of the adversary) the robot has a less than perfect probability of avoiding the adversary over the time bound (0.933).
When analyzed over a range of values for the probability that the robot correctly moves when directed to do so by the automaton, the resulting probabilities show that when the robot can never move correctly it will always avoid the adversary. This can be attributed to the fact that the robot will be completely unable to move and will simply remain in region G 1 where it cannot encounter the adversary, but it will be unable to satisfy its goals. As the likelihood that the robot moves correctly increases (until about 0.4), this probability decreases, before rising again to a value of 0.891 when the robot moves without error. This behavior is due to the additional time required for the robot to reach a dangerous region when the probability of correctly moving is low; if the robot does not move into the central regions (where the adversary patrols), it will not violate the analyzed formula.
By contrast, Figure 5 shows the probability that the robot satisfies all three of the goals at least once, within the given time bound. In this case, the model was analyzed to find the probability that the robot satisfied the following formula:

Analysis results for the adversarial robot example: probability that the robot satisfies all three goals within the time bound.
Figure 5 shows that, due to the likelihood that the robot remains stopped for long portions of time, low probabilities on the motion of the robot result in low likelihoods of satisfying all three goals. By contrast, errors in the sensing of the location of the adversary have relatively little effect on the likelihood that the robot satisfies each of its goals at least once; in this case, the sensor error prevents the robot from satisfying its goals only when causing it to enter deadlock states, for which the synthesized controller has no prescribed transition. This is unlike the first specification that was analyzed (i.e. Figure 4), and illustrates how, due to the complex behaviors exhibited by the controller, different aspects of the task specification can be affected differently by the sensing and actuation errors.
To find safety revisions for the controller specification, the specified undesirable behavior was given by the formula

Analysis results for the revised controller in the adversarial robot example: probability that the robot avoids the adversary.
An initial state revision (Algorithm 4) was found for the formula
Algorithm 5 was used to perform a sensitivity analysis on the low-level components for sensing the location of the adversary, and the motion of the robot. As before, the formula
Finally, Algorithm 6 was used to find the specified goal in pursuit of which the robot was most likely to violate
Each of the revision methods presented in Section 5 gives, for this example, a revision suggestion that results in an improvement in the behavior of the robot. In fact, multiple revisions could be included simultaneously to have a greater impact on the behavior of the robot. In doing so, it is important to consider the effects of each revision. For example, if one were to remove the third liveness condition they would likely not want to restrict the initial condition of the robot to G 3, as the removal of the liveness condition removes the need to use that dangerous corridor at all, unless the robot were to start in region G 3.
Comparison of model sizes and computation times of Algorithm 3. The supplied example is compared with identical problems where the number of adversary-accessible regions (in the center of the map in Figure 3) has been increased and decreased.
As can be seen in this table, variations in the number of adversary-accessible regions has a significant effect on the problem size. More importantly, changes in the size of the synthesized controller have a dramatic effect on the size of the composed model (which adds states to the model, in order to account for errors in the robot’s sensing and actuation), and, in turn, the computation time required. By increasing the number of adversary-accessible regions in the example problem from five to eight, the computation time required to find a safety revision increased from 475 seconds to 3526 seconds.
Owing to the offline nature of the algorithms, such computation times are not prohibitive, though they are noteworthy. The authors have successfully analyzed problems that have over 4000 states in the automaton and nearly 25,000 states in the probabilistic model; for such a model, model checking a formula for an initial state of the system required 28 seconds. When creating revisions, this constitutes the “ModelCheck” step of Algorithms 3–6 and must be applied to most of the states in the model. This process could be parallelized to reduce the computational burden.
7. Conclusion
This paper presents a method for accounting for errors in the sensing and actuation of mobile robots, when controlled by a correct-by-construction automaton that is synthesized from a set of high-level task specifications. The paper discusses the composition of a DTMC model of the system, which includes the probabilistic errors in sensing and actuation, and the analysis of that model with respect to a set of LTL formulas.
Furthermore, four complementary methods are given for providing feedback to the user in a semi-automated fashion. By adding safety specifications, restricting the initial state of the robot, improving the performance of a particular low-level component, or removing a particularly troublesome liveness condition, the user may be able to improve the overall performance of the robot when operating with the modeled error.
The presented approach seeks to advance the field of synthesized robot controllers by relaxing the standard assumption of perfect sensing and actuation. Future work by the authors will focus on improving the revision process, and on incorporating the system uncertainty in the synthesis process to yield a correct-by-construction controller that is more robust to errors in sensing and actuation.
The current implementation of this work is computationally intensive for realistically large problems; this problem is somewhat alleviated by the offline nature of the algorithms, as the computation time is less of a concern than for online algorithms. Future implementations of this work may partially alleviate the computational issues in several different ways. One such method would be to parallelize the “ModelCheck” step in the revision algorithms; this process could be easily parallelized, since each call to the model checker is completed independently of the others, and would save computation time for large problems. Another way to improve the computational efficiency of the algorithms might be through additional reduction of the set of model states that must be checked. Because the “ModelCheck” step is, by far, the most expensive part of the algorithms, a reduction in the number of states to check would have a significant impact on the overall computation time required by the algorithm.
Footnotes
Funding
This work was supported by NSF (grant number CNS-0931686) and DARPA (grant number N66001-12-1-4250).
