4th 4th IFAC IFAC International International Conference Conference on on 4th Intelligent Control and andConference Automationon Sciences 4th IFAC IFAC International International Conference on Intelligent Control Automation Sciences 4th IFAC International Conference on Intelligent Control and Automation Sciences Available online at www.sciencedirect.com June 1-3, 2016. 2016. Reims, France Intelligent Control and Automation Sciences June 1-3, Reims, France Intelligent Control and Automation Sciences June 1-3, 2016. Reims, France June 1-3, 2016. Reims, France June 1-3, 2016. Reims, France
ScienceDirect
IFAC-PapersOnLine 49-5 (2016) 091–096
An LTL-Based Motion and Action Dynamic An LTL-Based Motion and Action An LTL-Based Motion and Action Dynamic Dynamic Planning Method for Autonomous Robot Planning Method for Autonomous Robot Planning Method for Autonomous Robot
Ning Xu Xu ∗∗∗ Jie Jie Li Li ∗∗∗ Yifeng Yifeng Niu Niu ∗∗∗ Lincheng Lincheng Shen Shen ∗∗∗ Ning ∗ ∗ ∗ Ning Xu Li Niu Shen ∗∗ ∗ Jie ∗ Yifeng ∗ Lincheng Ning Xu Jie Li Yifeng Niu Lincheng Ning Xu Jie Li Yifeng Niu Lincheng Shen Shen ∗ ∗ College of Mechatronic Engineering and Automation, College of Mechatronic Engineering and Automation, ∗ ∗ College of Mechatronic Engineering and Automation, ∗ College of Engineering and Automation, National University of Defense Technology, China National University of Defense Technology, Changsha, China College of Mechatronic Mechatronic Engineering andChangsha, Automation, National University of Defense Technology, Changsha, China National University of Defense Technology, Changsha, China (e-mail:
[email protected]). (e-mail:
[email protected]). National University of Defense Technology, Changsha, China (e-mail:
[email protected]). (e-mail:
[email protected]). (e-mail:
[email protected]). Abstract: LTL-based languages provide aa formal and expressive high-level Abstract: LTL-based languages provide and expressive way way to to specify specify high-level Abstract: LTL-based languages provide aa formal formal and specify high-level Abstract: LTL-based languages provide formalrobots. and expressive expressive way to specify high-level complex motion and action action tasks for for autonomous robots. Based on on way LTL to task specification, complex motion and tasks autonomous Based LTL task specification, aaa Abstract: LTL-based languages provide a formal and expressive way to specify high-level complex motion and action tasks for autonomous robots. Based on LTL task specification, complex motion and action tasks for autonomous robots. Based on LTL task specification, aa method tomotion dynamically generate motion and action action sequences sequences for aa robot robot is proposed. proposed. Firstly, the the method to dynamically generate motion and for is Firstly, complex and action tasks for autonomous robots. Based on LTL task specification, method to dynamically generate motion and action sequences for aa robot is proposed. Firstly, the method to dynamically generate motion and action sequences for robot is proposed. Firstly, the environment knowledge, robot’s action capabilities are described respectively based environment knowledge, robot’s action capabilities described respectively based method to dynamically generate motion and action sequences forare a robot is proposed. Firstly, the environment knowledge, robot’s motion action capabilities are described respectively based environment knowledge, robot’s motion and action capabilities are described respectively based on the partitioned regions. Secondly, aa and weighted finite transition system is constructed from on the partitioned regions. Secondly, weighted finite transition system is constructed from environment knowledge, robot’s motion and action capabilities are described respectively based on partitioned regions. Secondly, weighted transition system is from on the themodels partitioned regions. Secondly, weighted finite finite transition system is constructed constructed from these models to capture capture the robot’s robot’s full aaafunctionality functionality and the the knowledge of environment. environment. Thirdly, these to the full and knowledge of Thirdly, on the partitioned regions. Secondly, weighted finite transition system is constructed from these models to capture the robot’s full functionality and the knowledge of environment. Thirdly, these models to capture the robot’s full functionality and the knowledge of environment. Thirdly, athese dynamic planning framework is full put functionality forward considering considering environment update or or operations operations a dynamic planning framework is put forward environment update models to capture the robot’s and the knowledge of environment. Thirdly, a dynamic planning framework is put forward considering environment update or operations a dynamic planning framework is put forward considering environment update or failure. Finally, a case simulated demonstrate the effectiveness of the approach. failure. Finally, aa fire-fighting fire-fighting case is simulated to demonstrate the effectiveness of the approach. a dynamic planning framework is is put forwardto considering environment update or operations operations failure. Finally, fire-fighting case is simulated to demonstrate the effectiveness of the approach. failure. Finally, a fire-fighting case is simulated to demonstrate the effectiveness of the approach. failure. Finally, a fire-fighting case is simulated to demonstrate the effectiveness of the © 2016, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rightsapproach. reserved. Keywords: LTL, Motion and action planning, Dynamic mission planning. Keywords: LTL, Motion and action planning, Dynamic mission planning. Keywords: LTL, Motion and action planning, Dynamic mission planning. Keywords: Keywords: LTL, LTL, Motion Motion and and action action planning, planning, Dynamic Dynamic mission mission planning. planning. 1. INTRODUCTION INTRODUCTION scription languages languages like like STRIPS. STRIPS. The The approach approach gives gives the the 1. scription 1. INTRODUCTION INTRODUCTION scription languages like STRIPS. The approach gives the 1. scription languages like STRIPS. The approach gives the robot’s mobility mobility abstraction M and and action map B, B, which robot’s abstraction M action map which 1. INTRODUCTION scription languages like STRIPS. The approach gives the robot’s mobility abstraction M and action map B, which robot’s mobility abstraction M and action map B, which are modeled by states and transitions respectively. Then, Recently, a a great great amount amount of of attention attention has has been been devoted devoted robot’s are modeled by states and transitions respectively. Then, mobility abstraction M and action map B, which Recently, are modeled by states and transitions respectively. Then, Recently, great amount amount of of attention attention has been been devoted are modeled by states and respectively. Then, the action map composed with each region of M ,, giving Recently, aa has devoted to temporal-logic-based and action planning for the action map is composed with each region of M giving are modeled by is states and transitions transitions respectively. Then, to temporal-logic-based motion and action planning for Recently, a great great amountmotion of attention has been devoted the action map is composed with each region of M , giving to temporal-logic-based motion and action planning for the action map is composed with each region of M , giving a complete description of robot’s functionalities. It has a a to temporal-logic-based motion and action planning for autonomous robot to execute complex mission. Based a complete description of robot’s functionalities. It has the action map is composed with each region of M , giving autonomous robot to execute complex mission. Based to temporal-logic-based motion and action planning for a complete description of robot’s functionalities. It has a autonomous robot of to robot execute complex mission. Based more aamore complete description of robot’s functionalities. It has a practical description for actions, which gives a good autonomous robot to execute complex Based on the abstraction abstraction system (Alurmission. et al. al. (2000)), (2000)), practical description for actions, which gives a good complete description of robot’s functionalities. It has a on the of robot system (Alur et autonomous robot to execute complex mission. Based more practical description for actions, which gives a good on the abstraction of robot system (Alur et al. (2000)), more practical description for actions, which gives a good reference for approach proposed in this paper. However, on the abstraction of robot system (Alur et al. (2000)), missions are specified specified as temporal temporal logic et formula such more reference for approach proposed in this paper. However, practical description for actions, which gives a good missions are as logic formula such on the abstraction of robot system (Alur al. (2000)), reference for this paper. missions are specified as temporal temporal logic formula such such reference for approach proposed in this However, the actions inapproach mission proposed may have havein effects that However, changing missions are specified as logic formula as Linear Temporal Logic(LTL) and Computation Tree the actions mission may that changing reference for in approach proposed in effects this paper. paper. However, as Linear Temporal Logic(LTL) and Computation Tree missions are specified as temporal logic formula such the actions in mission may have effects that changing as Linear Temporal Logic(LTL) and Computation Tree the actions in mission may have effects that changing system beyond partitioned region or permanently, i.e., as Linear Temporal Logic(LTL) and Computation Tree Logic(CTL)(Karaman and Frazzoli (2008); Partovi and system beyond partitioned region or permanently, i.e., the actions in mission may have effects that changing Logic(CTL)(Karaman and Frazzoli Partovi and as Linear Temporal Logic(LTL) and(2008); Computation Tree the system beyond partitioned region or permanently, i.e., Logic(CTL)(Karaman and Frazzoli (2008); Partovi and the system beyond partitioned region or permanently, i.e., action done in one region may cause effect to another Logic(CTL)(Karaman and Frazzoli (2008); Partovi and Lin (2014)). Many Many of of the the suggested solutions utilize finite finite action done in one region may cause effect to another the system beyond partitioned region or permanently, i.e., Lin (2014)). suggested solutions utilize Logic(CTL)(Karaman and Frazzoli (2008); Partovi and action done in one region may cause effect to another Lin (2014)). Many of the suggested solutions utilize finite action done in one region may cause effect to another region, which can not be handled by above work. Lin (2014)). Many of the suggested solutions utilize finite state transition systems(TS) for abstraction abstraction (Johansson region, which can not be handled by above work. action done in one region may cause effect to another state transition systems(TS) for (Johansson Lin (2014)). Many of the suggested solutions utilize finite region, which can not be handled by above work. state transition systems(TS) for abstraction abstraction (Johansson region, which can be handled above state transition systems(TS) for (Johansson et al. (2013); Tumova and Dimarogonas (2014); Ulusoy region, which can not not be handledofby bypractical above work. work. et al. (2013); Tumova and Dimarogonas (2014); Ulusoy state transition systems(TS) for abstraction (Johansson In another aspect, for problems interest, the In another aspect, for problems of practical interest, the et al. (2013); Tumova and Dimarogonas (2014); Ulusoy et al. (2013); Tumova and Dimarogonas (2014); Ulusoy al. (2012); Guo et al. (2013)), and the discrete plan is In another aspect, for problems of practical interest, the et al. (2012); Guo et al. (2013)), and the discrete plan is al. (2013); Tumova and Dimarogonas (2014); Ulusoy In another aspect, for problems of practical interest, the environment is changeable and the robot should react to environment is changeable and the robot should react to In another aspect, for problems of practical interest, the et al. (2012); Guo et al. (2013)), and the discrete plan is et al. (2012); Guo et al. (2013)), and the discrete plan is synthesized leveraging ideas from model model checking methods environment is changeable and the robot should react to synthesized leveraging ideas from checking methods et al. (2012); Guo et al. (2013)), and the discrete plan is environment is changeable and the robot should react to actual observations. Some existing work considers the case actual observations. Some existing work considers the case environment is changeable and the robot should react to synthesized leveraging ideas from model checking methods synthesized leveraging ideas from model checking methods (Baier and leveraging Katoen (2008)), (2008)), which willchecking be executed executed by actual observations. Some existing work considers the case (Baier and Katoen which will be by synthesized ideas from model methods actual observations. Some existing work considers the case when the the environment is partially partially observed. In Chen Chen etcase al. when environment is observed. In et al. actual observations. Some existing work considers the (Baier and Katoen (2008)), which will be executed by (Baier and Katoen which be by continuous later. Transition can effithe environment is partially observed. In Chen et al. continuous controllers later. Transition system can effi(Baier and controllers Katoen (2008)), (2008)), which will will system be executed executed by when when the environment is In Chen (2012), dynamic environment can be incrementally (2012), the dynamic environment can be incrementally when thethe environment is partially partially observed. observed. In Chen et et al. al. continuous controllers later. Transition Transition system can efficontinuous controllers later. system can efficiently capture the behavior of the system, and reduce (2012), the dynamic environment can be incrementally ciently capture the behavior of the system, and reduce continuous controllers later. Transition system can effi(2012), the dynamic environment can be incrementally learned by automata learning method, which combined learned by automata learning method, which combined (2012), the dynamic environment can be incrementally ciently capture the behavior of the system, and reduce ciently capture the behavior of the system, and reduce the complexity ofthe controller design. Most of existing existing work learned by the complexity controller of work ciently capture of behaviordesign. of theMost system, and reduce learned by automata automata learning method, which combined with Markov Decisionlearning Process method, (MDP) which to find findcombined optimal with Markov Decision Process (MDP) to optimal by automata learning method, which combined the complexity complexity of controller controller design. Most ofand existing work learned the of design. Most of existing work addressed the problem in motion planning, the transiwith Markov Decision Process (MDP) to find optimal addressed the problem in motion planning, and the transithe complexity of controller design. Most of existing work with Markov Decision Process (MDP) to find optimal plan afterwards. afterwards. Jones et et al. (2013) (2013) defined Distribution plan Jones al. defined Distribution with Markov Decision Process (MDP) to find optimal addressed the problem in motion planning, and the transiaddressed the problem in motion planning, and the transition system is constructed from environment partitioning plan afterwards. Jones et al. (2013) defined Distribution tion system is constructed from environment partitioning addressed the problem in motion planning, and the transiplan afterwards. Jones et al. (2013) defined Distribution Temporal Logic for stochastic system with partial state Temporal Logic for stochastic system with partial state plan afterwards. Jones et al. (2013) defined Distribution tion system is constructed from environment partitioning tion system from environment partitioning (Fainekos et is al.constructed (2005); Johansson Johansson et al. al. (2013); (2013); Kloetzer Temporal Logic for stochastic system with partial state (Fainekos et al. (2005); et Kloetzer tion system is constructed from environment partitioning Temporal Logic for stochastic system with partial state information. Instead of finding off-line plan maximizing information. Instead of finding off-line plan maximizing Temporal Logic for stochastic system with partial state (Fainekos et al. (2005); Johansson et al. (2013); Kloetzer (Fainekos et al. (2005); Johansson et al. (2013); Kloetzer and Mahulea (2015)). information. Instead of finding off-line plan maximizing and Mahulea (2015)). (Fainekos et al. (2005); Johansson et al. (2013); Kloetzer information. Instead of finding finding off-line off-line planet maximizing the probability of satisfaction, satisfaction, Johansson etmaximizing al. (2013) (2013) the probability of Johansson al. information. Instead of plan and Mahulea (2015)). and Mahulea (2015)). the probability of satisfaction, Johansson et al. (2013) and Mahulea (2015)). probability of Johansson et proposed an on-line on-line approach to to plan dynamically. dynamically. A For autonomous robot, the the mission mission includes includes not not only only the proposed an approach plan A the probability of satisfaction, satisfaction, Johansson et al. al. (2013) (2013) For autonomous robot, proposed an on-line approach to plan dynamically. A For autonomous robot, the mission includes not only proposed an on-line approach to plan dynamically. A preliminary plan is synthesized based on initial state and For autonomous robot, the mission includes not only motion tasks but but robot, also action action tasks, i.e., i.e., executing cer- proposed preliminary plan is synthesized based on initial state and an on-line approach to plan dynamically. A motion tasks also tasks, executing cerFor autonomous the mission includes not only preliminary plan is synthesized based on initial state and motion tasks but also action tasks, i.e., executing cerpreliminary plan is synthesized based on initial state and initial knowledge of environment and the plan is verified motion tasks but also action tasks, i.e., executing certain action under specific conditions. Therefore, there is initial knowledge of environment and the plan is verified preliminary plan is synthesized based on initial state and tain action under specific conditions. Therefore, there is motion tasks but also action tasks, i.e., executing cerinitial knowledge of environment environment and the the plan is is verified tain action action underactions specificinto conditions. Therefore, there is is initial knowledge of and and revised revised with real-time real-time observation. tain under specific conditions. Therefore, there need for taking account when constructing and with observation. knowledge of environment and the plan plan is verified verified need for taking account when constructing tain action underactions specificinto conditions. Therefore, there is initial and revised with real-time observation. need for taking actions into account when constructing and revised with real-time observation. need for taking actions into account when constructing transition system. Some relevant work can be found that and revised with real-time observation. transition system. Some relevant work can be found that need for taking actions into account paper, aa method is to dynamically In this this paper, is proposed proposed to dynamically gengentransition system. Some relevant relevant work when can be beconstructing found that In transition system. Some work can that integrates motion planning planning and action action planning. In Chen Chen this paper, aa method method proposed to genintegrates motion and In transition system. Some relevant work planning. can be found found that In In this paper, method is proposed to dynamically generate motion and actionis sequences fordynamically an autonomous autonomous erate motion and action sequences for an In this paper, a method is proposed to dynamically genintegrates motion planning and action planning. In Chen integrates motion planning and action planning. In Chen et al. (2012), desired action only need to be executed in erate motion and action sequences for an autonomous et al. (2012), desired action only need to be executed in integrates motion planning and action planning. In Chen erate motion and action sequences for an autonomous robot. Instead of giving the TS directly, the environment robot. Instead of giving the TS directly, the environment erate motion and action sequences for an autonomous et al. (2012), desired action only need to be executed in et al. desired action only need to executed in specific region, thus the action task could represented Instead of giving the TS directly, the environment specific region, thus the action task could represented et al. (2012), (2012), desired action only need to be be executed in robot. robot. Instead of the TS directly, the knowledge, robot’s motion capabilities are deknowledge, robot’s motion and action capabilities are deInstead of giving giving theand TS action directly, the environment environment specific region, thus the action task could be represented specific region, the action task could by motion task thus directly. In Kress-Gazit Kress-Gazit et be al. represented (2009), acac- robot. knowledge, robot’s motion and action capabilities are deby motion task directly. In et al. (2009), specific region, thus the action task could be represented knowledge, robot’s motion and action capabilities are described respectively based on the partitioned environment. scribed respectively based on the partitioned environment. knowledge, robot’s motion and action capabilities are deby motion task directly. In Kress-Gazit et al. (2009), acby motion task directly. In Kress-Gazit et al. (2009), actions can be betask performed atInany any region, independent independent proposcribed respectively based on the partitioned environment. tions can performed at region, propoby motion directly. Kress-Gazit et al. (2009), acscribed respectively based on the partitioned environment. Secondly, a weighted weightedbased transition system is constructed constructed from Secondly, a transition system is from scribed respectively on the partitioned environment. tions can be performed at any region, independent propotions can be performed at any region, independent propositions are created for each action. In Guo et al. (2013), Secondly, a weighted transition system is constructed from sitions are created for each action. In Guo et al. (2013), tions can performed at any region, propo- these Secondly, aa weighted transition system is constructed models to capture the robot’s full and these models to capture the robot’s full functionality and Secondly, weighted transition system is functionality constructed from from sitions arebecreated created for each each action. Inindependent Guo et et al. al. (2013), (2013), sitions are for action. In Guo an approach is proposed to combine model-checking-based these models to capture the robot’s full functionality and an approach is proposed to combine model-checking-based sitions are created for each action. In Guo et al. (2013), these models to capture the robot’s full functionality and knowledge of the environment. Thirdly, a dynamic planknowledge of the environment. Thirdly, a dynamic planthese models to capture the robot’s full functionality and an approach is proposed to combine model-checking-based an approach is proposed to combine model-checking-based motion planning with action action planning using action action dede- knowledge of the environment. Thirdly, a dynamic planmotion planning with planning using an approach is proposed to combine model-checking-based knowledge of the environment. Thirdly, a dynamic planning framework is put forward considering environment ning framework is put forward considering environment of the environment. Thirdly, a dynamic planmotion planning planning with with action action planning planning using using action action dede- knowledge motion ning framework is put putfailure. forward considering environment motion planning with action planning using action de- ning framework is forward considering environment update or operations operations Finally, fire-fighting case update or Finally, aaa fire-fighting case ning framework is putfailure. forward considering environment This This work work was was supported supported by by National National Natural Natural Science Science Foundation Foundation update or operations failure. Finally, fire-fighting case update or operations failure. Finally, a fire-fighting work was supported by National Natural Science Foundation This update or operations failure. Finally, a fire-fighting case case of China (61403410). work was of This China (61403410). This work was supported supported by by National National Natural Natural Science Science Foundation Foundation of China (61403410). of China (61403410). of China (61403410).
Copyright 2016 IFAC IFAC 2405-8963 © 2016, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. Copyright 2016 Copyright 2016 IFAC Copyright © 2016 IFAC Peer review© of International Federation of Automatic Control. Copyright ©under 2016 responsibility IFAC 10.1016/j.ifacol.2016.07.095
IFAC ICONS 2016 92 June 1-3, 2016. Reims, France
Ning Xu et al. / IFAC-PapersOnLine 49-5 (2016) 091–096
is simulated to demonstrate the effectiveness of the approach. The rest of the paper is organized as follows. The essential preliminaries are briefly introduced in section 2. The robot’s motion and action planning problem are modeled in section 3, and the solution to this problem is presented in section 4. In section 5, a simulation case study is presented to illustrate the proposed approach. Conclusions and directions for future research are summarized in section 6.
q0
gather & r1
gather & r1
q2
2. PRELIMINARIES
gather
2.1 Linear temporal logical and B¨ uchi automaton
q1 gather & r2
gather
q3 gather & r2
Fig. 1. B¨ uchi automaton corresponding to ϕgather . “q0” is the initial state and “q3” is the accepting state. (The translating tool is “LTL2BA” (Gastin and Oddoux (2001)), some infeasible transitions are omitted such as “r1 &r2 ”)
Definition 1. (Linear Temporal Logical). Over the atomic propositions Π, an Linear Temporal Logical ϕ can be defined inductively as follows (Baier and Katoen (2008)): ϕ ::= true|α|ϕ1 ∨ ϕ2 |¬ϕ| ϕ|ϕ1 ∪ ϕ2 (1) Where, α ∈ Π is an atomic proposition, ¬ (negation), ∨(disjunction) are standard boolean connectives, and (next) and ∪ (until) are temporal operators. The formula, i.e., ϕ means next clock proposition ϕ will be true, ϕ1 ∪ ϕ2 means ϕ1 will hold true until ϕ2 being true.
corresponding to several sequences (runs). An infinite word over Σ is called accepted to the B¨ uchi automaton if one of the corresponding runs intersects with the accepting states infinitely often. This kind of runs has a common prefix-suffix structure, the prefix part Rpre from Q0 to F , and the suffix part Rsuf from F to F . The accepted run can be represented as follows: ω R = (Rpre , Rsuf ) = Rpre [Rsuf ] ω = q0 q1 q2 ...qf −1 qf (qf +1 ...qn qf )
The full power of LTL is obtained using above propositional and temporal operators. But for convenience, some other operators such as conjunction (∧), implication (⇒), equivalence (⇔), finally (♦), and always()are derived as follows: • • • • •
r1
gather
For any LTL formula ϕ over atomic propositions Π, there exists one b¨ uchi automaton over Σ=2Π , which accepts all and only words satisfy ϕ.The formula ϕgather can be translated as b¨ uchi automaton shown in Fig. 1.
ϕ1 ∧ ϕ2 = ¬ (¬ϕ1 ∨ ¬ϕ2 ) ϕ1 ⇒ ϕ2 = ¬ϕ1 ∨ ϕ2 ϕ1 ⇔ ϕ2 = (ϕ1 ⇒ ϕ2 ) ∧ (ϕ2 ⇒ ϕ1 ) ♦ϕ = true ∪ ϕ ϕ = ¬♦¬ϕ
2.2 Transition System
The LTL languages have a strong power for mission specification, i.e., an persistent surveillance mission can be specified as follows: ϕgather =(♦(gather)) ∧((gather ⇒ (¬gather ∪ r2 ))) ∧((gather ⇒ r1 )) Where proposition “gather” means gathering data and r1 , r2 represent regions. This specification requires the robot gathering data at region one persistently and going to region two after each gathering. Definition 2. (B¨ uchi automaton). B¨ uchi automaton is a tuple (Baier and Katoen (2008)): (2) A = (Q, Q0 , Σ, δ, F ) Where Q is a finite states set, Q0 ⊆ Q is the set of initial states, Σ is an input alphabet, δ ⊆ Q × Σ × Q is a non-deterministic transition relation, F ⊆ Q is a set of accepting states. Definition 3. (Run of Automaton). A run of the automaton over a given input word ω = ω0 ω1 ... is a sequence r = s0 s1 ... such that s0 ⊆ Q0 and (sk , ωk , sk+1 ) ∈ δ, for any k ≥ 0.
Definition 4. (Transition System). A (weighted) transition system (TS) is a tuple (Baier and Katoen (2008)): T = (S, Act, →, S0 , AP, L, W ) (3) Where, S is the set of states, Act is the set of actions, →⊆ S × Act × S is the transition relation, S0 ⊆ S is the initial states set, AP is the atomic proposition set, L : S → 2AP is a labeling function giving the set of all atomic propositions satisfied in a state, W is a map assigning a positive weight to each transition. TS is called finite if S, Act, and AP are finite. A data gather robot in partitioned environment (region R1 and R2 ) can be abstracted as Fig. 2. Definition 5. (Product Automaton). The product automaton Ap = T ⊗ Aϕ between the transition system T and B¨ uchi automaton Aϕ is defined as a tuple (Baier and Katoen (2008)): Ap = (Qp , Act, →p , Qp0 , Fp , Wp ) (4) Where, Qp = {(s, q) |s ∈ S, q ∈ Q} is the set of states, Act is the action set of T , →p is the transition relation, and ((s, q) , (s , q )) ∈ →p iff ∃act ∈ Act, s.t. (s, act, s ) ∈→ and (q, L (s ) , q ) ∈ δ, Qp0 = {(s, q) |s ∈ s0 , q ∈ Q0 } is the initial states set, Fp = {(s, q) |s ∈ Π, q ∈ F } is the set of accepting states, Wp ((s, q) , (s , q )) = W (s, s ) is a map assigning a positive weight to each transition. The product
The transition relation of automaton A may be nondeterministic, i,e,. same input alphabet to the same state may cause different transitions. Thus one input word 92
IFAC ICONS 2016 June 1-3, 2016. Reims, France
Ning Xu et al. / IFAC-PapersOnLine 49-5 (2016) 091–096
r1 / r2 / gather None(1)
s1
Except the knowledge of environment, the robot’s state, i.e, the current position or operation, can be described by proposition set APs . Given the environment model G and APr , APs , robot’s motion capabilities between adjacency regions can be described as a tuple Mmot = (M ov, AP, C, E, P ), where M ov ⊆ ε is the set of motions that can be executed between regions, and (vi , vj ) ∈ M ov means move from vi to vj , AP = APr ∪ APs is the set of propositions describing both the environment and self state, function C : M ov → 2APs × V × 2APr gives the proposition conditions that move (vi , vj ) can be done, function E : M ov → 2APs × V × 2APr represent the effects caused by the motion, function P : M ov → R+ represent the cost of the motion. In order to describe the environment conditions or effects which beyond current region, the formula (vi , ap) is used to represent the proposition in specific region, i.e. (v2 , ball) = f alse means that region v2 doesn’t have the ball. Particularly, local and all represent current region and all regions respectively. The motion can be executed only when the proposition conditions required by C are all satisfied, and then cause corresponding value changes of propositions defined by E. For example, propositions ri represent the robot in region vi , “the motion (vi , vj ) can be executed, if ri = true and door open = true in current region, and the effect is ri = f alse, rj = true” is described as follows:
None(1)
R2 toR1 (2)
Gather (3) None(1)
None(1)
R1toR2 (2)
Gather (3)
R1toR2 (2)
s2
3.2 Robot’s Motion and Action Description
r1 / r2 / gather
R1toR2 (2)
s0
s3
r1 / r2 / gather
r1 / r2 / gather
Fig. 2. A data gather robot in partitioned environment (region R1 and R2 ). AP = {gather, r1 , r2 } is the set of atomic propositions, act(w) tag on each transition means the action and weight (cost). 1
2 1
s0,q0
s1,q0
2
s2,q2
1
2
1
2
1
(vi , vj ) ∈ M ov, C ((vi , vj )) = {ri ∧ (local, door open)} , E ((vi , vj )) = {ri = f alse, rj = true}
s1,q2
2
s0,q2 2
2
s0,q1
3
1
Similar to motion description, the robot’s actions can also be described as a tuple Mact = (Act, AP, C, E, P ), where Act is the set of actions, and the other elements are the same with Mmot . The action “None” is defined to describe “doing nothing”. Unlike motion description, the actions can be described independently of the environment. Considering the motion and action description have the same form, and both are operations executed by robot to fulfill the mission, for convenience, the word “operation” is used to represent both motion and action described above, and the same below.
1 2
93
1 s1,q3
Fig. 3. Product Automaton of Aϕ in Fig. 1 and TS in Fig. 2. The action on each transition is omitted. automaton of Aϕ in Fig. 1 and TS in Fig. 2 is shown in Fig. 3.
3.3 Problem Definition 3. PROBLEM FORMULATION
The robot we consider in this article has sensing or communication ability to be aware of the environmental changes, and also it knows the failure of the operations,i.e., the operation failed just now or can’t be executed anymore. Thus static planning method can not deal with the problem with dynamic features. Based on the model of environment knowledge and operation description introduced above, the initial state of the robot ( the set of true propositions in APs ), then the problem is defined as follows: Problem 1. Given the initial knowledge of the partitioned environment (R0 ), the initial state of the robot (s0 ), operation description (Mmot , Mact ), and the LTL-Based mission specification (ϕ), find the sequences of operations dynamically to fulfill the mission (if there exists), R, Mmot , Mact can be changed during execution but ϕ is static.
3.1 Environment Partition and Knowledge In this paper, the environment is partitioned and abstracted as an undirected graph G = (V, ε), where V is the set of vertexes, each vertex represents a region, ε ⊆ V × V is the set of edges, each edge represents the adjacency relation between regions. The properties of the environment can be described by atomic proposition set APr , thus the robot’s knowledge over the partitioned environment can be represented by R, a map from V to 2APr that gives the propositions of APr which are true in each region, i.e., if region v2 has a ball, then proposition ball ∈ R(v2 ). 93
IFAC ICONS 2016 94 June 1-3, 2016. Reims, France
Ning Xu et al. / IFAC-PapersOnLine 49-5 (2016) 091–096
System
Mission
Model of system
LTL specification
Transition system T
Buchi automaton Bu auto A
changing unexpectedly could make the current sequences infeasible for completing the mission. Dynamic planning is a way to solve this problem. For instance, if operation “R1 toR2 ” can not be executed anymore, finding an alternative way like “R1 toR3 → R3 toR2 ” (if it exists) can still make the mission fulfilled. When the environmental changes or some operations can not be done anymore, the first step is to update the system model and then construct the new wFTS, which gives a new abstraction of current robot system. When the operation fails occasionally for once (just now), the operation descriptions remain unchanged, but the failure may cause environmental change, which also need to rebuild the wFTS.
Product Automaton Ap T A
In mission aspect, since the robot has done part of the job, the new planned sequence must achieve the mission concatenated with the past sequence. A solution to this is to identify the current states in Aϕ , and replan the sequence by taking these states as the initial set. As introduced in section 2.1, same input alphabet to the same state of Aϕ may cause different transitions, thus the current states are not just the state corresponding to the past run, For example, in Fig. 3, when replanning after (s0, q0) → (s2, q2) → (s1, q3), the current states are not just q3. Cause for Ap , starting from (s0, q0) the operation sequence {Gather, R2 toR1 } could also lead to state (s1, q2), so the current state set is {q2, q3}. For dynamic planning in this paper, the executed operation sequence is recorded on Ap , so as to determine the current state set of Aϕ . When replanning after system model update, the new wFTS is constructed and the current state set become the initial set of Aϕ , using LTL planning method to get the new operation sequence, see Algorithm. 1 (the function OptRun() is introduced in Appendix A).
Search for the optimal run
Get the operation sequence Knowledge update or operation failure during execution
Update the system model
Change the set of initial states of A
Fig. 4. Automata-based LTL dynamic planning framework
Algorithm 1 LTL Dynamic Planning Input: Rt , Mmot t , Mact t , s0 t , Q0 t Output: Spre , Ssuf t t 1: T t = TSModel Rt , Mmot , Mact , {s0 t } t t 2: Aϕ = Q, Q0 , Σ, δ, F t 3: Ap = T t ⊗ Aϕ 4: Rpre , Rsuf = OptRun (Ap , α) 5: get Spre , Ssuf from Rpre , Rsuf 6: return Spre , Ssuf
4. PROBLEM SOLUTION 4.1 Automata-Based LTL Dynamic Planning Framework For given LTL mission specifications and the model of robot system, one can use the automata-based LTL planning method, which is leveraging ideas from model checking methods for synthesis rather than verification. This method has been used in many recent works about solving discrete planning problem (Smith et al. (2011); Ulusoy et al. (2012)). As shown in Fig. 4, the part in the dashed box is the LTL planning method. The robot system model is transformed to a weighted finite transition system (wFTS) T , and the LTL specifications are translated to a B¨ uchi automaton Aϕ , then get the product automaton Ap , using graph search algorithm to find the optimal run (minimizing the cost) of prefix-suffix structure and translate to operation sequences afterwards, i.e., searching in weighted graph like Fig. 3, the optimal run (accepted) is that Rpre = {(s0, q0), (s2, q2), (s1, q3)}, Rsuf = {(s0, q0), (s2, q2), (s1, q3)}. Thus the operation sequences corresponding to this is that Spre = {Gather, R1 toR2 }, Ssuf = {R2 toR1 , Gather, R1 toR2 }. This method can quickly find the optimal sequences in the wFTS that is satisfied the LTL specifications, thus is used in this paper.
4.2 Construction of Weighted Finite Transition System As for the method introduced in 4.1, the construction of the wFTS is a very significant part. In many related work addressed on motion planning, the robot system is directly abstracted as a TS to model the motion capabilities, in which the states are regions and transitions are motions between regions. But for problems of practical interest, it may be necessary to perform actions in certain situations. Putting actions into the wFTS is a precondition of solving this problem. Based on the initial state s0 (a subset of APs ), initial knowledge R0 (a region map related to APr ), the state set of wFTS is established with one element (s0 , R0 ), which is also the initial state. Then, the wFTS is built up by the operations described in (Mmot , Mact ), as shown in Fig. 5. The construction is under the assumption that
While executing the planned sequences, the operations’ failure (occasionally or consistently) or the environment 94
IFAC ICONS 2016 June 1-3, 2016. Reims, France
Ning Xu et al. / IFAC-PapersOnLine 49-5 (2016) 091–096
Algorithm 2 Construction of transition system TSModel() Input: R, Mmot , Mact , S0 Output: T 1: Actions = M ov ∪ Act, AP = APr ∪ APs 2: Π = Π0 = {(s0 , R0 )} 3: while 1 do 4: count = 0 5: for each π = (s, R) ∈ Π do 6: L (π) = {s} ∪ {R (current pos)} 7: for each act ∈ Actions do 8: if C (act) satisfied then 9: π = (s , R ) = apply E (act) to π 10: if π ∈ / Π then 11: add π to Π 12: end if 13: e = (π, act, π ) 14: if e ∈ / →act then 15: add e to →act 16: W (π, π ) = P (act) 17: count + + 18: end if 19: end if 20: end for 21: end for 22: if count == 0 then 23: break 24: end if 25: end while 26: return T = (Π, Actions, →act , Π0 , AP, L, W )
s0 , R0
M mot
... M act
...
95
... ... wFTS
Fig. 5. Schematic illustration of the construction of wFTS. The yellow node in red dashed box is the initial state set (one element in this case), other node is extended by the operations described in Mmot , Mact . all the operations will be successful, and node (a) can be extended by a operation if and only if the state of node a, including robot state propositions and environment knowledge, can satisfy it’s conditions, and then the corresponding effects are applied to the state propositions or knowledge of node a, producing a new node or existing one (b). Then a transition relation from a to b is generated. The construction will be repeatedly for every node with every operation, until no more transitions found out in one loop,see Algorithm. 2. Different from the method in Guo et al. (2013), which put the action map into every node of TS (mobility abstraction), this approach can handle the operations requiring conditions or causing effects beyond current region.
at R1. The LTL specification is: ϕ =(((alarm ∧ f ight ability) → ♦¬f ire)) ∧(♦r1 )
5. EXPERIMENT AND CASE STUDIES A fire-fighting case is studied to demonstrate the effectiveness of the approach introduced in section 4. This simulation is carried out under Python environment in Ubuntu 14.04, on a laptop computer (2.5GHz Duo CPU and 8GB RAM).
Table 1. Operation description Mov(act) R1toR2 R2toR3 R3toR1
The simulation scenario is shown in Fig. 6(a). There are three rooms (R1, R2, R3) in the environment, they are connected through doors: D1, D2, D3 and D4. The directions of passing through the doors is the same with the directions of opening and can not be reverse. D1, D2 and D3 are always opened and the state of D4 is determined by proposition “D4 open”. The robot with fire fighting ability (described by proposition “f ight ability”) is in R1 (proposition “r1 ”) initially. R2 is catching the fire (proposition “f ire”), and all the rooms could sound the fire alarm (proposition “alarm”) . The environment propositions AP r = {f ire, alarm, D4 open}, and the state propositions AP s = {f ight, f ight ability, r1 , r2 , r3 }.
R2toR1 F ight
Precond r1 r2 r3 r2 ∧ (R2, D4 open) f ight ability∧ (local, f ire)
Effect r2 = true, r1 = f alse r3 = true, r2 = f alse r1 = true, r3 = f alse
Cost 1 1 1
r1 = true, r2 = f alse
1
(local, f ire) = f alse (all, alarm = f alse
2
The simulation is started with D4 closed, thus the robot can not go through from R2 to R1 directly. The planning result is shown in Fig. 6(b) with red dashed line, and the operation sequences is: Spre = {R1toR2, F ight, R2toR3, R3toR1} Ssuf = {N one} When finishing operation “R1toR2”, the robot knows that D4 is opened, so the knowledge is changed, i.e., R(R2) = {alarm, f ire, D4 open}. Then the replanning is executed and the result is shown in Fig. 6(b) with yellow dashed line. The operation sequences is: Spre = {F ight, R2toR1} Ssuf = {N one} By the search for optimal run of Ap , the total cost of replanning result (4) is less than the initial one (5).
The initial state is s0 = {r1 , f ight ability} and knowledge R about environment is that R(R1) = {alarm}, R(R2) = {alarm, f ire}, R(R3) = {alarm}. Operation description (Mmot , Mact ) are shown in table 1, and especially, operation “f ight” can cause effects beyond current region. The mission in this scenario is: when the fire alarm rang, the robot with fire-fighting ability should go to the room which catching fire and extinguish it, and then stay
95
IFAC ICONS 2016 96 June 1-3, 2016. Reims, France
Ning Xu et al. / IFAC-PapersOnLine 49-5 (2016) 091–096
D2
R3
D2
R2
R3
R2
R3toR1
D3
D4
D1
Fight
R 2toR1
D4
D3
R1
Kress-Gazit, H., Fainekos, G.E., and Pappas, G.J. (2009). Temporal-logic-based reactive mission and motion planning. Robotics IEEE Transactions on, 25(6), 1370–1381. Partovi, A. and Lin, H. (2014). Assume-guarantee cooperative satisfaction of multi-agent systems. In American Control Conference (ACC), 2014, 2053–2058. IEEE. Smith, S.L., Tumova, J., Belta, C., and Rus, D. (2011). Optimal path planning for surveillance with temporal logic constraints. The International Journal of Robotics Research, 1695–1708. Tumova, J. and Dimarogonas, D.V. (2014). A receding horizon approach to multi-agent planning from local ltl specifications. In American Control Conference (ACC), 2014, 1775–1780. Ulusoy, A., Belta, C., and Smith, S.L. (2012). Optimal multi-robot path planning with ltl constraints: Guaranteeing correctness through synchronization. Springer Tracts in Advanced Robotics, 337–351.
R1toR3
D1
R1toR 2
R1
(a) Partitioned simulation (b) Dynamic planning result scenario
Fig. 6. Schematic illustration of fire-fighting case study 6. CONCLUSIONS In this paper, we presented a motion and action dynamic planning method for autonomous robot under LTL mission specifications. The proposed framework can take complex actions into account and is adaptable with changeable system models. Further research will be addressed on the case of multi-robot system modeling and mission decomposition.
Appendix A. THE ALGORITHM OF OP T RU N () Algorithm 3 Searching for best run OptRun() Input: Ap , α Output: Rpre , Rsuf 1: for each q ∈ Fp do 2: path, cost = path search (G, q, q) 3: if cost = inf then 4: for p ∈ Qp0 do 5: path , cost = path search (G, p, q) 6: if cost = inf then 7: T cost = cost + α · cost 8: add (path , path, T cost) to plan 9: end if 10: end for 11: end if 12: end for 13: if Plan is not empty then ∗ 14: find path , path∗ , T cost∗ ∈ P lan that minimizes the Tcost 15: Rpre = path , Rsuf = path 16: else 17: Rpre = Rsuf = null 18: end if 19: return Rpre , Rsuf
REFERENCES Alur, R., Henzinger, T.A., Lafferriere, G., and Pappas, G.J. (2000). Discrete abstractions of hybrid systems. Proceedings of the IEEE, 88(7), 971–984. Baier, C. and Katoen, J.P. (2008). Principles of model checking, volume 26202649. MIT press Cambridge. Chen, Y., Tumova, J., and Belta, C. (2012). Ltl robot motion control based on automata learning of environmental dynamics. Fainekos, G.E., Kress-Gazit, H., and Pappas, G.J. (2005). Hybrid controllers for path planning: A temporal logic approach. In European Control Conference Cdc-ecc 05 IEEE Conference on Decision and Control, 4885 – 4890. Gastin, P. and Oddoux, D. (2001). Fast ltl to b¨ uchi automata translation. In Computer Aided Verification, 53–65. Springer. Guo, M., Johansson, K.H., and Dimarogonas, D.V. (2013). Motion and action planning under ltl specifications using navigation functions and action description language. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 240 – 245. Johansson, K.H., Guo, M., and Dimarogonas, D.V. (2013). Revising motion planning under linear temporal logic specifications in partially known workspaces. Proceedings IEEE International Conference on Robotics and Automation, 5025 – 5032. Jones, A., Schwager, M., and Belta, C. (2013). Distribution temporal logic: Combining correctness with quality of estimation. In Decision and Control (CDC), 2013 IEEE 52nd Annual Conference on, 4719–4724. Karaman, S. and Frazzoli, E. (2008). Complex mission optimization for multiple-uavs using linear temporal logic. In American Control Conference, 2008, 2003– 2009. Kloetzer, M. and Mahulea, C. (2015). Ltl-based planning in environments with probabilistic observations. Automation Science and Engineering, IEEE Transactions on, 12(4), 1407–1420. 96