IEEE Robotics & Automation Magazine - September 2011 - 91

algorithms inspired from model checking [3] and temporal logic games [17].
Here, we use LTL to express robotic tasks that include
an aesthetic component, e.g., "go to goal with grace" or,
more specifically, "move in the quick, staccato style of
allegro ballet." These tasks have an objective component,
such as "take ten steps" and also incorporate subjective
qualities like intention and aesthetics, such as "make ten
movements that give the impression of being happy."
Thus, in this article, through a particular approach to
modeling and formal synthesis, we begin to quantify subjective qualities, which are a significant missing link in
human-like robot interaction, by scripting them in the
established language of LTL.
LTL formulas are built from a set of atomic propositions P, Boolean operators : (negation), _ (disjunction),
^ (conjunction), and ! (implication), and temporal operators X (next), U (until), F (eventually), and G (always).
The semantics of LTL formulas are given over infinite
words generated by transition systems, such as TR , TL , and
TP defined in the "A Discrete Model" section. For simplicity, in what follows, we will denote a general transition system and its set of propositions by T and P, respectively. A
word of T is an infinite sequence over the power set of P
that satisfies the transition relation of T. For example,
fp2 gfp7 , Roffground, Rcoronalgfp4 , Roffgroundgfp2 g . . .
is the word generated by a run of TR that starts at qR2 , goes
to qR7 , next to qR10 , and then keeps looping among these
three states.
A word satisfies an LTL formula / if / is true at the first
position of the word; X/ states that at the next state, an
LTL formula / is true; F/ means that / eventually
becomes true in the word; G/ means that / is true at all
positions of the word; and /1 U/2 means /2 eventually
becomes true and /1 is true until this happens. More
expressivity can be achieved by combining the above
temporal and Boolean operators (several examples are
given later in the article). For example, the word given
above satisfies the following LTL formulas: Xp7 À p7 is true
at the next state, Fp4 À p4 will be true eventually, and
GF(p4 ^ Roffground) À p4 and Roffground are always
eventually true.
We use LTL formulas to represent the hard specification. The physical restrictions of the robot and aesthetic
requirements of ballet can be translated to LTL formulas
as is shown in the "Generating Ballet Phrases" section. To
ensure that the hard specifications are achieved in our
system output, we augment the product transition system
defined in the "A Discrete Model" section with an automata-theoretic representation of the specifications. The
resulting structure ensures that a run of our system,
which models a movement phrase, obeys both the physical dynamics (represented by TP ) and LTL specification
(represented by a formula /). More formally, such a
desired movement phrase is a sequence of transitions of
TP that produces a corresponding word satisfying /.

Such a run can be found using techniques inspired
by LTL model checking [3], which checks whether all
the words of a transition system satisfy an LTL formula
/ over its set of propositions. Central to LTL modelchecking problem is the construction of a B€
uchi automaton that accepts all and only words satisfying /. An
off-the-shelf software tool, such as LTL2BA [7], can be
used to generate such a B€
uchi automaton. The product
automaton, A, between the transition system and B€
uchi
automaton accepts all and only the runs of the transition system whose words satisfy /. In other words, this
product automaton captures the movement phrases
satisfying the hard specification; thus, we call these balletic phrases.
Soft Specifications
The soft specifications tweak the viable output sequence
by enumerating aesthetic guidelines that the system is
encouraged (instead of forced) to achieve. We define our
first type of soft specification, denoted by S 1 , as a collection of subsets of PP : S 1 & 2PP [12]. This encodes a set of
desired states as follows: we say a state q 2 QP satisfies S 1
if and only if hP (q) 2 S 1 . To broaden this ability to tweak
the output, we need to specify desired transitions.
Accordingly, we define a new, second type of soft specification as:
S 2 ¼ f(propi , prop0i )g, where propi , prop0i 2 2PP :

(3)

Again, we say a transition (q, q0) 2 !P satisfies S 2 if and
only if (hP (q), (hP (q0)) 2 S 2 . Hence, the collections S 1 and
S 2 model a desire for the robotic system to prefer certain
states (poses) and transitions (movements) more than
others. The technique that allows these specifications to
guide our output is outlined next; the faculty this adds to
our framework is demonstrated in the "Generating Ballet
Phrases" section.
Implementation
We design a (local, real time) receding-horizon controller to find a run that maximizes rewards collected based
on local information obtained at the current state while
guaranteeing the satisfaction of the hard specification.
Using an approach similar to that in [5], where a receding-horizon controller was designed, we employ a
measure of progress toward satisfying the LTL formula
/. If the controller is designed to always increase this
progress, as defined by our measure, then we can show
that / is satisfied. The proposed approach relied on an
assignment of 1) a suitable cost to each state of A (to
ensure that the output sequence adheres to / as the
sequence is selected) and 2) rewards on states and transitions that satisfy the propositions in S1 and S2 (to influence the poses and motions in the output sequence).
As previously discussed, the product automaton A is
uchi
constructed from the transition system TP and B€
SEPTEMBER 2011

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

91



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2011

IEEE Robotics & Automation Magazine - September 2011 - Cover1
IEEE Robotics & Automation Magazine - September 2011 - Cover2
IEEE Robotics & Automation Magazine - September 2011 - 1
IEEE Robotics & Automation Magazine - September 2011 - 2
IEEE Robotics & Automation Magazine - September 2011 - 3
IEEE Robotics & Automation Magazine - September 2011 - 4
IEEE Robotics & Automation Magazine - September 2011 - 5
IEEE Robotics & Automation Magazine - September 2011 - 6
IEEE Robotics & Automation Magazine - September 2011 - 7
IEEE Robotics & Automation Magazine - September 2011 - 8
IEEE Robotics & Automation Magazine - September 2011 - 9
IEEE Robotics & Automation Magazine - September 2011 - 10
IEEE Robotics & Automation Magazine - September 2011 - 11
IEEE Robotics & Automation Magazine - September 2011 - 12
IEEE Robotics & Automation Magazine - September 2011 - 13
IEEE Robotics & Automation Magazine - September 2011 - 14
IEEE Robotics & Automation Magazine - September 2011 - 15
IEEE Robotics & Automation Magazine - September 2011 - 16
IEEE Robotics & Automation Magazine - September 2011 - 17
IEEE Robotics & Automation Magazine - September 2011 - 18
IEEE Robotics & Automation Magazine - September 2011 - 19
IEEE Robotics & Automation Magazine - September 2011 - 20
IEEE Robotics & Automation Magazine - September 2011 - 21
IEEE Robotics & Automation Magazine - September 2011 - 22
IEEE Robotics & Automation Magazine - September 2011 - 23
IEEE Robotics & Automation Magazine - September 2011 - 24
IEEE Robotics & Automation Magazine - September 2011 - 25
IEEE Robotics & Automation Magazine - September 2011 - 26
IEEE Robotics & Automation Magazine - September 2011 - 27
IEEE Robotics & Automation Magazine - September 2011 - 28
IEEE Robotics & Automation Magazine - September 2011 - 29
IEEE Robotics & Automation Magazine - September 2011 - 30
IEEE Robotics & Automation Magazine - September 2011 - 31
IEEE Robotics & Automation Magazine - September 2011 - 32
IEEE Robotics & Automation Magazine - September 2011 - 33
IEEE Robotics & Automation Magazine - September 2011 - 34
IEEE Robotics & Automation Magazine - September 2011 - 35
IEEE Robotics & Automation Magazine - September 2011 - 36
IEEE Robotics & Automation Magazine - September 2011 - 37
IEEE Robotics & Automation Magazine - September 2011 - 38
IEEE Robotics & Automation Magazine - September 2011 - 39
IEEE Robotics & Automation Magazine - September 2011 - 40
IEEE Robotics & Automation Magazine - September 2011 - 41
IEEE Robotics & Automation Magazine - September 2011 - 42
IEEE Robotics & Automation Magazine - September 2011 - 43
IEEE Robotics & Automation Magazine - September 2011 - 44
IEEE Robotics & Automation Magazine - September 2011 - 45
IEEE Robotics & Automation Magazine - September 2011 - 46
IEEE Robotics & Automation Magazine - September 2011 - 47
IEEE Robotics & Automation Magazine - September 2011 - 48
IEEE Robotics & Automation Magazine - September 2011 - 49
IEEE Robotics & Automation Magazine - September 2011 - 50
IEEE Robotics & Automation Magazine - September 2011 - 51
IEEE Robotics & Automation Magazine - September 2011 - 52
IEEE Robotics & Automation Magazine - September 2011 - 53
IEEE Robotics & Automation Magazine - September 2011 - 54
IEEE Robotics & Automation Magazine - September 2011 - 55
IEEE Robotics & Automation Magazine - September 2011 - 56
IEEE Robotics & Automation Magazine - September 2011 - 57
IEEE Robotics & Automation Magazine - September 2011 - 58
IEEE Robotics & Automation Magazine - September 2011 - 59
IEEE Robotics & Automation Magazine - September 2011 - 60
IEEE Robotics & Automation Magazine - September 2011 - 61
IEEE Robotics & Automation Magazine - September 2011 - 62
IEEE Robotics & Automation Magazine - September 2011 - 63
IEEE Robotics & Automation Magazine - September 2011 - 64
IEEE Robotics & Automation Magazine - September 2011 - 65
IEEE Robotics & Automation Magazine - September 2011 - 66
IEEE Robotics & Automation Magazine - September 2011 - 67
IEEE Robotics & Automation Magazine - September 2011 - 68
IEEE Robotics & Automation Magazine - September 2011 - 69
IEEE Robotics & Automation Magazine - September 2011 - 70
IEEE Robotics & Automation Magazine - September 2011 - 71
IEEE Robotics & Automation Magazine - September 2011 - 72
IEEE Robotics & Automation Magazine - September 2011 - 73
IEEE Robotics & Automation Magazine - September 2011 - 74
IEEE Robotics & Automation Magazine - September 2011 - 75
IEEE Robotics & Automation Magazine - September 2011 - 76
IEEE Robotics & Automation Magazine - September 2011 - 77
IEEE Robotics & Automation Magazine - September 2011 - 78
IEEE Robotics & Automation Magazine - September 2011 - 79
IEEE Robotics & Automation Magazine - September 2011 - 80
IEEE Robotics & Automation Magazine - September 2011 - 81
IEEE Robotics & Automation Magazine - September 2011 - 82
IEEE Robotics & Automation Magazine - September 2011 - 83
IEEE Robotics & Automation Magazine - September 2011 - 84
IEEE Robotics & Automation Magazine - September 2011 - 85
IEEE Robotics & Automation Magazine - September 2011 - 86
IEEE Robotics & Automation Magazine - September 2011 - 87
IEEE Robotics & Automation Magazine - September 2011 - 88
IEEE Robotics & Automation Magazine - September 2011 - 89
IEEE Robotics & Automation Magazine - September 2011 - 90
IEEE Robotics & Automation Magazine - September 2011 - 91
IEEE Robotics & Automation Magazine - September 2011 - 92
IEEE Robotics & Automation Magazine - September 2011 - 93
IEEE Robotics & Automation Magazine - September 2011 - 94
IEEE Robotics & Automation Magazine - September 2011 - 95
IEEE Robotics & Automation Magazine - September 2011 - 96
IEEE Robotics & Automation Magazine - September 2011 - 97
IEEE Robotics & Automation Magazine - September 2011 - 98
IEEE Robotics & Automation Magazine - September 2011 - 99
IEEE Robotics & Automation Magazine - September 2011 - 100
IEEE Robotics & Automation Magazine - September 2011 - 101
IEEE Robotics & Automation Magazine - September 2011 - 102
IEEE Robotics & Automation Magazine - September 2011 - 103
IEEE Robotics & Automation Magazine - September 2011 - 104
IEEE Robotics & Automation Magazine - September 2011 - 105
IEEE Robotics & Automation Magazine - September 2011 - 106
IEEE Robotics & Automation Magazine - September 2011 - 107
IEEE Robotics & Automation Magazine - September 2011 - 108
IEEE Robotics & Automation Magazine - September 2011 - 109
IEEE Robotics & Automation Magazine - September 2011 - 110
IEEE Robotics & Automation Magazine - September 2011 - 111
IEEE Robotics & Automation Magazine - September 2011 - 112
IEEE Robotics & Automation Magazine - September 2011 - 113
IEEE Robotics & Automation Magazine - September 2011 - 114
IEEE Robotics & Automation Magazine - September 2011 - 115
IEEE Robotics & Automation Magazine - September 2011 - 116
IEEE Robotics & Automation Magazine - September 2011 - 117
IEEE Robotics & Automation Magazine - September 2011 - 118
IEEE Robotics & Automation Magazine - September 2011 - 119
IEEE Robotics & Automation Magazine - September 2011 - 120
IEEE Robotics & Automation Magazine - September 2011 - 121
IEEE Robotics & Automation Magazine - September 2011 - 122
IEEE Robotics & Automation Magazine - September 2011 - 123
IEEE Robotics & Automation Magazine - September 2011 - 124
IEEE Robotics & Automation Magazine - September 2011 - 125
IEEE Robotics & Automation Magazine - September 2011 - 126
IEEE Robotics & Automation Magazine - September 2011 - 127
IEEE Robotics & Automation Magazine - September 2011 - 128
IEEE Robotics & Automation Magazine - September 2011 - 129
IEEE Robotics & Automation Magazine - September 2011 - 130
IEEE Robotics & Automation Magazine - September 2011 - 131
IEEE Robotics & Automation Magazine - September 2011 - 132
IEEE Robotics & Automation Magazine - September 2011 - 133
IEEE Robotics & Automation Magazine - September 2011 - 134
IEEE Robotics & Automation Magazine - September 2011 - 135
IEEE Robotics & Automation Magazine - September 2011 - 136
IEEE Robotics & Automation Magazine - September 2011 - Cover3
IEEE Robotics & Automation Magazine - September 2011 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com