Mission Planning for Multiple Vehicles with Temporal Specifications using UxAS

Mission Planning for Multiple Vehicles with Temporal Specifications using UxAS

Proceedings, 6th IFAC Conference on Analysis and Design of Hybrid Systems Proceedings, 6th IFAC Conference on Analysis and Design of Hybrid Systems Pr...

631KB Sizes 0 Downloads 55 Views

Proceedings, 6th IFAC Conference on Analysis and Design of Hybrid Systems Proceedings, 6th IFAC Conference on Analysis and Design of Hybrid Systems Proceedings, 6th IFAC on Analysis and of Oxford, UK, July 2018 Proceedings, 6th 11-13, IFAC Conference Conference onAvailable Analysis online and Design Design of Hybrid Systems at www.sciencedirect.com Oxford, UK, July 2018 Hybrid Systems Proceedings, 6th 11-13, IFAC Conference on Analysis and Design of Hybrid Systems Oxford, UK, July 11-13, 2018 Oxford, UK, Hybrid Oxford,Systems UK, July July 11-13, 11-13, 2018 2018 Oxford, UK, July 11-13, 2018

ScienceDirect

IFAC PapersOnLine 51-16 (2018) 67–72 Mission Planning for Multiple Vehicles Mission Planning for Multiple Vehicles Mission Planning for Multiple Vehicles with Temporal Specifications using UxAS Mission Planning for Multiple Vehicles with Temporal Specifications using UxAS Mission Planning for Multiple Vehicles with Temporal Specifications using UxAS with Temporal Specifications using UxAS ∗ ∗∗ ∗∗∗ Luan V. Nguyen Bardh Hoxha Taylor T. Johnson with Temporal Specifications using UxAS ∗ ∗∗ Luan V. Nguyen ∗ Bardh Hoxha ∗∗ Taylor T. Johnson ∗∗∗ ∗∗∗∗ ∗∗∗

Fainekos Luan V. Nguyen Bardh Hoxha T. Johnson ∗Georgios ∗∗ ∗∗∗ ∗∗∗∗ ∗∗ Taylor Luan Bardh Taylor Fainekos Luan V. V. Nguyen Nguyen ∗∗Georgios Bardh Hoxha Hoxha Taylor T. T. Johnson Johnson ∗∗∗ ∗∗ ∗∗∗∗ Georgios Fainekos ∗∗∗∗ ∗∗∗∗ Luan V. Nguyen Georgios Bardh Hoxha Taylor T. Johnson ∗∗∗ Fainekos ∗ Georgios Fainekos at Arlington, Arlington, ∗∗∗∗ TX 76019, USA. ∗ University of Texas Georgios Fainekos ofIllinois Texas University, at Arlington, Arlington, IL TX62901, 76019,USA. USA. ∗∗ ∗ University Carbondale, Texas at Arlington, Arlington, TX 76019, USA. ∗ ∗∗ Southernof ∗ University University of Texas at Arlington, Arlington, TX 76019, USA. Southern Illinois University, Carbondale, IL 62901, USA. ∗∗∗ University of Texas at Arlington, Arlington, TX 76019, USA. University, Nashville, TN 37023, USA. ∗ ∗∗ Illinois University, Carbondale, IL 62901, USA. ∗∗ Southern ∗∗∗ Vanderbilt ∗∗ University of Texas at Arlington, Arlington, TX 76019, USA. Southern Illinois University, Carbondale, IL 62901, USA. Vanderbilt University, Nashville, TN 37023, USA. ∗∗∗∗ Southern Illinois University, Carbondale, IL 62901, USA. ∗∗∗ Arizona State University, Tempe,TN AZ37023, 85287,USA. USA. ∗∗ ∗∗∗∗ University, Nashville, ∗∗∗ ∗∗∗ Vanderbilt Southern Illinois University, Carbondale, IL 62901, USA. Vanderbilt University, Nashville, TN 37023, USA. Arizona State University, Tempe, AZ 85287, USA. Vanderbilt University, Nashville, TN 37023, USA. ∗∗∗∗ ∗∗∗ Arizona State University, Tempe, AZ 85287, USA. ∗∗∗∗ ∗∗∗∗ Vanderbilt University, Nashville, Arizona State State University, Tempe,TN AZ37023, 85287,USA. USA. Arizona University, Tempe, AZ 85287, USA. Abstract: In this ∗∗∗∗ paper, we present extensions Tempe, to Unmanned Systems Arizona State University, AZ 85287, USA. Autonomy Services Abstract: In thismission paper,specifications we present extensions toa Unmanned Systems Autonomy Services (UxAS) to handle that require synchronization of task execution. UxAS Abstract: In this paper, we present extensions to Unmanned Systems Autonomy Services Abstract: In this paper, we present extensions to Unmanned Systems Autonomy Services (UxAS) to handle mission specifications that require a synchronization of task execution. UxAS Abstract: In this paper, we present extensions to Unmanned Systems Autonomy Services uses Process Algebra (PA)specifications as a formal language to specify mission requirements for unmanned (UxAS) to handle mission that require a synchronization of task execution. UxAS Abstract: InAlgebra thismission paper, weapresent extensions Autonomy Services (UxAS) to that require aa Unmanned synchronization of UxAS uses (PA)specifications as formal language to to specify missionSystems requirements unmanned (UxAS) to handle handle mission specifications that require synchronization ofoftask task execution. UxAS aerialProcess vehicle (UAV) operations. However, the current implementation PA execution. in for UxAS utilizes uses Process Algebra (PA) as a formal language to specify mission requirements for unmanned (UxAS) to handle mission specifications that require a synchronization of task execution. UxAS uses Process Algebra (PA) as a formal language to specify mission requirements for unmanned aerial vehicle (UAV) operations. However, the current implementation of PA in UxAS utilizes uses Process Algebra (PA) as a formal language to specify mission requirements for unmanned assigned semantics which does not guarantee the order of task completion and is unable to aerial vehicle (UAV) operations. However, the current implementation of PA in UxAS utilizes uses Process Algebra (PA) as a formal language to specify mission requirements for unmanned aerial vehicle (UAV) operations. However, the current implementation of PA in UxAS utilizes assigned semantics which does not guarantee the order of task completion and is unable to aerial vehicle (UAV) operations. However, the current implementation of PA in UxAS utilizes provide a mission planning required vehicle-synchronization. To enable the capability of UxAS assigned which does not guarantee the order of task completion and is unable to aerial vehicle (UAV) operations. However, the current implementation of PA in UxAS utilizes assigned semantics which does not guarantee the of completion and is to provide a semantics mission planning required vehicle-synchronization. To enable capability ofProcess UxAS assigned semantics which does not guarantee the order of task task completion and is unable unable to in operating synchronized mission specifications, we order introduce a notion ofthe Synchronized provide a mission planning required vehicle-synchronization. To enable the capability of UxAS assigned semantics which does not guarantee the order of task completion and is unable to provide a mission planning required vehicle-synchronization. To enable the capability of UxAS in operating synchronized mission specifications, we introduce a notion of Synchronized Process provide a mission planning required vehicle-synchronization. To enable the capability of UxAS Algebra (SPA) which extends PA by adding a synchronized composition operator to theProcess syntax in operating synchronized mission specifications, we introduce aa notion of Synchronized provide a mission planning required vehicle-synchronization. To enable the capability of UxAS in operating synchronized mission specifications, we introduce notion of Synchronized Process Algebra (SPA) which extends PA by adding a synchronized composition operator to the syntax in synchronized mission introduce a notion Synchronized Process of operating PA. Such anwhich operator allows usspecifications, toadding specify thewetask’s duration and of enforce the next task is Algebra (SPA) extends PA composition operator the syntax in operating synchronized mission specifications, introduce a notion Synchronized Process Algebra (SPA) which extends PA by adding synchronized composition operator to the syntax of PA. Such anthe operator allows usby to specifyaaa synchronized thewe task’s duration and of enforce theto next task is Algebra (SPA) which extends PA by adding synchronized composition operator to the syntax executed after previous one has terminated. Moreover, we provide a new service in UxAS, of PA. Such an operator allows specify the task’s duration and enforce the next task is Algebra (SPA) which extends PAus byto adding a synchronized composition the syntax of PA. Such an operator allows us to specify the task’s duration and the is executed after previous one terminated. Moreover, we provide aoperator new respect service in UxAS, of PA.Temporal Such anthe operator allows us to specify theof task’s duration and enforce enforce thetonext next task is called Service (TS) to has control the flow the planning process with to task timing executed after the previous one has terminated. Moreover, we provide aa with new service in UxAS, of PA. Such an operator allows us to specify the task’s duration and enforce the next task is executed after the previous one has terminated. Moreover, we provide new service in UxAS, called Temporal Service (TS) to control the flow of the planning process respect to timing executed after the previous one has terminated. Moreover, we provide a new service in UxAS, specifications. We apply SPA and TS to specify and operate the mission specification of a forest called Temporal Service (TS) to control the flow of the planning process with respect to timing executed after the previous one has terminated. Moreover, we provide a new service in UxAS, called Temporal Service (TS) to control the flow of the planning process with respect to timing specifications. We apply SPA and TS to specify and operate the mission specification of a forest called Temporal Service (TS) to synchronized control the flow of the process toatiming fire rescue scenario required the arrivals ofplanning multiple UAVs. with respect of specifications. We apply SPA and TS to specify and operate the mission forest called Temporal Service (TS) to synchronized control the flow of the process with respect of toaatiming specifications. We apply SPA and TS to specify and operate the mission specification forest fire rescue scenario required the arrivals ofplanning multiple UAVs.specification specifications. We apply SPA and TS to specify and operate the mission specification of forest fire rescue scenario required the synchronized arrivals of multiple UAVs. Keywords: Motion Planning, Formal Specifications, UxAS, Process Algebra specifications. We apply SPA and TS to specify and operate the mission specification of a forest © 2018, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. fire rescue scenario required the synchronized arrivals of multiple UAVs. fire rescue scenario required the synchronized arrivals of multiple UAVs. Keywords: Motion Planning, Formal Specifications, UxAS, Process Algebra fire rescue scenario required the synchronized arrivals of multiple UAVs. Keywords: Motion Planning, Formal Specifications, UxAS, Process Algebra Keywords: Keywords: Motion Motion Planning, Planning, Formal Formal Specifications, Specifications, UxAS, UxAS, Process Process Algebra Algebra 1. INTRODUCTION been studied in GuoAlgebra and Dimarogonas (2015); Bhatia et al. Keywords: Motion Planning, Formal Specifications, UxAS, Process 1. INTRODUCTION been studied in Guo and Dimarogonas Bhatia et al. (2011); Karaman and Frazzoli (2008). (2015); 1. INTRODUCTION INTRODUCTION studied in and Dimarogonas 1. been studied in Guo Guo and Dimarogonas (2015); Bhatia Bhatia et et al. al. (2011); Karaman and Frazzoli (2008). (2015); One of the fundamental problems in achieving vehicle been 1. INTRODUCTION been studied in Guo and Dimarogonas (2015); Bhatia et al. (2011); Karaman and Frazzoli (2008). One of the fundamental problems in achieving vehicle 1. INTRODUCTION been studied in Guo and Dimarogonas (2015); Bhatia et al. The computational complexity of the aforementioned Karaman and Frazzoli (2008). autonomy is fundamental motion planning. Given aachieving set of tasks, a (2011); (2011); Karaman and Frazzoli (2008). One of the problems in vehicle computational complexity the aforementioned One problems in vehicle autonomy is fundamental motion planning. Given of tasks, One oforthe the fundamental problems in aaachieving achieving vehicleaa The (2011); Karaman Frazzoli (2008). methods may poseand a challenge forof real-world applications singleof multiple robots should be able toset autonomously The computational complexity of the autonomy is fundamental motion planning. Given set of tasks, tasks, The computational complexity of the aforementioned aforementioned One of the problems in achieving vehicle methods may pose a challenge for real-world applications autonomy is motion planning. Given a set of a single or multiple robots should be able to autonomously The computational complexity of the aforementioned autonomy is motion planning. Given a set of tasks, a of motion planing with multiple vehicles and complex execute them with little to no human intervention. Due to methods may pose a challenge for real-world applications single or orthem multiple robots should be able toset autonomously The computational complexity ofreal-world the aforementioned may pose a challenge for applications autonomy is with motion planning. Given ato of tasks, a methods of motion planing with multiple vehicles and complex single multiple robots should be able autonomously execute little to no human intervention. Due to methods may pose a challenge for real-world applications single or multiple robots should be able to autonomously specifications. For instance, the model checking algorithm its significance, this problem has been extensively studied of motion planing with multiple vehicles and complex execute them with little toshould nohas human intervention. Due to to methods may pose awith challenge real-world applications of motion planing multiple vehicles and complex single orthem multiple robots be able to autonomously specifications. For instance, thefor model checking algorithm execute with little to no human intervention. Due its significance, this problem been extensively studied of motion planing with multiple vehicles and complex execute them with little to no human intervention. Due to with respect to LTL specifications is PSPACE-Complete in the past Ryanthis et al. (2004);has LaValle (2006); Shima and specifications. For instance, the model checking algorithm its significance, problem been extensively studied of motion planing with multiple vehicles and complex specifications. For instance, the model checking algorithm execute them with little to no human intervention. Due to with respect to LTL specifications is PSPACE-Complete its significance, this problem has been extensively studied in the past Ryan et al. (2004); LaValle (2006); Shima and specifications. For instance, the model checking algorithm its significance, this problem has been extensively studied Schnoebelen (2002). The algorithm by Kabanza (1995), Rasmussen (2009). Temporal logic such as Linear Tempowith respect to LTL specifications is PSPACE-Complete in the the past Ryan Ryan etTemporal al. (2004);has LaValle (2006); Shima and specifications. For instance, the model checking algorithm with respect to LTL specifications is PSPACE-Complete its significance, this problem been extensively studied Schnoebelen (2002). The algorithm by Kabanza (1995), in past et al. (2004); LaValle (2006); Shima and Rasmussen (2009). logic such as Linear Tempowith respect to LTL specifications is PSPACE-Complete in the past Ryan et al. (2004); LaValle (2006); Shima and in the worst case, is exponential in terms of the size of ral Logic (LTL) is one of the most common formalisms Schnoebelen (2002). The algorithm by Kabanza (1995), Rasmussen (2009). Temporal logic such as Linear Linear Temporespect to LTL specifications isby PSPACE-Complete Schnoebelen (2002). The algorithm Kabanza (1995), in the past(LTL) Ryan etTemporal al. (2004); LaValle (2006); Shima and with in the worst case, is exponential in terms of the size of Rasmussen (2009). logic such as Temporal Logic is one of the most common formalisms Schnoebelen (2002). The algorithm by Kabanza (1995), Rasmussen (2009). Temporal logic such as Linear Tempoinput goal andis greatest action duration. Similarly, usedLogic as a (LTL) specification language for common the motion planing the in the worst case, exponential in terms of the size of ral is one of the most formalisms Schnoebelen (2002). The algorithm by Kabanza (1995), in the worst case, is exponential in terms of the size of Rasmussen (2009). Temporal logic such asmotion Linear Tempothe input goal and greatest action duration. Similarly, ral Logic (LTL) is one of the most common formalisms used as a specification language for the planing in the worst case, is exponential in terms of the sizeare of ral Logic (LTL) is one of the most common formalisms the computational costs of automata-based approaches problem ofspecification single/multi-agent systems. Formal methods the input goal and greatest action duration. Similarly, used as a language for the motion planing in the worst case, is exponential in terms of the size of the input goal and greatest action duration. Similarly, ral Logic (LTL) is one of the most common formalisms computational costs of automata-based approaches are used as a specification language for the motion planing problem of single/multi-agent systems. Formal methods the input goal and greatest action duration. Similarly, used as a specification language for the motion planing rapidly-growing regarding the length of a specification and such as model checking and automata-based abstraction the computational costs of automata-based approaches are problem ofspecification single/multi-agent systems. Formal methods the input goal and greatest action duration. Similarly, computational costs of automata-based approaches are used a language for the motion planing rapidly-growing regarding the length of a specification and problem of single/multi-agent systems. Formal methods such as model checking and automata-based abstraction the computational costs of automata-based approaches are problem of single/multi-agent systems. Formal methods the level of abstraction of the a dynamical can be utilized to addressand motion planning andabstraction controller regarding length of system. aa specification such asutilized model checking automata-based the computational costs of of the approachesand are rapidly-growing regarding length and problem of single/multi-agent systems. Formal methods rapidly-growing level of abstraction aautomata-based dynamical such as model checking automata-based can be to address motion planning andabstraction controller regarding the length of of system. a specification specification and such asutilized model checking and automata-based abstraction synthesis problems withand respect to specifications given rapidly-growing the level of abstraction of a dynamical system. can be to address motion planning and controller rapidly-growing regarding the length of a specification and Karaman et al. (2009) utilize Process Algebra (PA) as the level of abstraction of a dynamical system. such as model checking and automata-based abstraction can be utilized to address motion planning and controller synthesis problems with respect to specifications given level ofetabstraction of a dynamical system. (PA) as a can be utilized to address motion planning andauthors controller as temporal logic formulas. For example, the in the Karaman al. (2009)for utilize Processaerial Algebra a synthesis problems with respect respect to specifications specifications given the level of abstraction of a dynamical system. specification language unmanned vehicle (UAV) can be utilized to address motion planning and controller synthesis problems with to given as temporal logic formulas. For example, the authors in Karaman et al. (2009) utilize Process Algebra (PA) as a synthesis problems withKloetzer respect to specifications given Fainekos et al. (2009); and Belta (2007) conKaraman et al. (2009) utilize Process Algebra (PA) as a specification language for unmanned aerial vehicle (UAV) as temporal logic formulas. For example, the authors in Karaman et al. (2009) utilize Process Algebra (PA) as a mission planning. The proposed algorithm can guarantee synthesis problems withKloetzer respect to specifications given as temporal logic formulas. For example, the authors in Fainekos et al. (2009); and Belta (2007) conspecification language for unmanned aerial vehicle (UAV) as temporal logic formulas. For example, the authors in Karaman et al. (2009) utilize Process Algebra (PA) as a vert LTL specifications to B¨ u chi automata and create specification language for unmanned aerial vehicle (UAV) mission planning. The proposed algorithm can guarantee Fainekos et al. (2009); Kloetzer and Belta (2007) conspecification language for unmanned aerial vehicle (UAV) to generate a feasible plan that satisfies a mission specificaas temporal logic formulas. For example, the authors in Fainekos al. Kloetzer Belta convert LTL et todynamical B¨ uchiand automata and planning. The proposed algorithm can guarantee Fainekos etspecifications al. (2009); (2009); Kloetzer and Belta (2007) (2007) con- mission specification language for unmanned aerial vehicle (UAV) abstraction models for the systems. Then,create they mission planning. The proposed algorithm can guarantee to generate a feasible plan that satisfies a mission specificavert LTL specifications to B¨ u chi automata and create mission planning. The proposed algorithm can guarantee in polynomial time. This approach implemented Fainekos etspecifications al. (2009); Kloetzer and Belta (2007) con- tion vert to B¨ u and create abstraction models for the systems. Then, they to generate aa feasible plan that satisfies aa was mission specificavert LTL specifications todynamical B¨ uchi chi automata and create planning. The proposed algorithm can guarantee utilizeLTL automata-based methods to automata synthesize controllers to generate plan that satisfies mission specification in polynomial time. This approach implemented abstraction models for for the the dynamical systems. and Then, they mission to generate a feasible feasible plan thatAutonomy satisfies a was mission specificain the Unmanned Systems Services (UxAS) vert LTL specifications to B¨ u chi automata create abstraction models dynamical systems. Then, they utilize automata-based methods to synthesize controllers tion in polynomial time. This approach was implemented abstraction models for the dynamical systems. Then, they to generate a feasible plan that satisfies a mission specificafor single-vehicle mission planning. In Ding et al. (2014), tion in polynomial time. This approach was implemented in the Unmanned Systems Autonomy Services (UxAS) 1 utilize automata-based methods to synthesize controllers tion in polynomial time. This approach was implemented framework developed by the Air Force Research Lababstraction models for the dynamical systems. Then, they in utilize automata-based methods to synthesize controllers for single-vehicle mission planning. In Ding et al. (2014), the Unmanned Systems Autonomy Services (UxAS) 1 utilize automata-based methods to synthesize controllers tion in polynomial time. This approach was implemented the authors propose a planning approach that enables in the Unmanned Systems Autonomy Services (UxAS) framework developed by the Air Force Research Labfor single-vehicle mission planning. In Ding et al. (2014), in the Unmanned Systems Autonomy Services (UxAS) 1 oratory (AFRL). UxAS is a collection of software modules utilize automata-based methods to synthesize controllers for single-vehicle mission planning. In al. (2014), the authors propose a planning that enables framework by the Air Force Research Lab1 for single-vehicle mission planning. In Ding Ding et et al. systems (2014), oratory 1 developed in the Unmanned Systems Autonomy Services (UxAS) receding horizon control for finiteapproach deterministic framework developed by the Air Force Research Lab(AFRL). UxAS is a collection of software modules the authors propose a planning approach that enables framework developed by the Air Force Research Labcommunicate on aisshared communication channel, for single-vehicle mission planning. In Ding et al. systems (2014), that 1 the authors propose aaformulas. planning approach that enables receding horizon control for finite deterministic oratory (AFRL). UxAS a collection of software modules the authors propose planning approach that enables framework developed by the Air Force Research Labwith respect to LTL On the other hand, the oratory (AFRL). UxAS is a collection of software modules that communicate on a shared communication channel, receding horizon control for finite deterministic systems oratory (AFRL). UxAS is a collection of software modules generate task on assignments and waypoint paths for the authors propose aformulas. planning approach that enables receding horizon control for finite deterministic systems with respect to LTL On the other hand, the and that communicate aaisshared communication channel, receding horizon control for finite deterministic systems oratory (AFRL). UxAS a collection of software modules motion planning problem of multi-vehicle systems subject that communicate on shared communication channel, and generate task assignments and waypoint paths for with respect respect to LTL LTL formulas. Ondeterministic the other other hand, the one that communicate on asatisfy shareda PA communication channel, or more UAVs that mission specification. receding horizon control for finite systems with to formulas. On the hand, the motion planning problem of multi-vehicle systems subject and generate task assignments and waypoint paths for with respect to LTL formulas. On the other hand, the that communicate on a shared communication channel, to both global LTL specifications for the vehicle team and and generate task assignments and waypoint paths one or more UAVs that satisfy a PA mission specification. motion planning problem of multi-vehicle multi-vehicle systems subject and generate task assignments and waypoint paths for for the PAsatisfy language is mission expressive enough to with respect to LTL formulas. On the vehicle other hand, the Notwithstanding motion planning problem of systems subject to both global LTL specifications for team and one or more UAVs that a PA specification. motion planning problem of multi-vehicle systems subject generate task assignments and waypoint paths for local LTL specifications for eachforindividual vehicle has and one or more that aa PA mission specification. Notwithstanding the PAsatisfy language isits expressive enough to to both global LTL specifications the vehicle vehicle team and one or more UAVs UAVs that satisfy PA mission specification. define many mission specifications, current implemenmotion planning problem of multi-vehicle systems subject to both global LTL specifications for the team and local LTL specifications for each individual vehicle has Notwithstanding the PA language is expressive enough to to both global LTL specifications forindividual the vehicle team and one or many more UAVs that satisfy a PA mission specification. Notwithstanding the PA language is expressive enough to define mission specifications, its current implemenlocal LTL specifications for each vehicle has Notwithstanding the PA language is expressive enough to tation within UxAS does not support cooperative missions to both global LTL specifications for the vehicle team and local LTL specifications for each individual vehicle has define many mission specifications, its current implemenlocal specifications vehicle has define  Notwithstanding thedoes PA not language isits expressive enough to many mission specifications, current implementation within UxAS support cooperative missions The LTL material presented in for this each paperindividual is based upon the work define many mission specifications, its current implemenrequiring task/vehicle-synchronization. In fact, the current  local LTL specifications for each vehicle has tation within UxAS does not support cooperative missions material presented in this paperindividual is based upon the work define many mission specifications, its current implemenperformed at the Summer of Innovation organized by AFRL and tation within UxAS does not support cooperative missions  The requiring task/vehicle-synchronization. In fact, the current tation within UxAS does not support cooperative missions material presented in this paper organized is based upon the work  performed at theOhio, Summer ofThe Innovation by AFRL and  The requiring task/vehicle-synchronization. In fact, the current The presented this paper is upon the work WBI Dayton, 2017.in authors Theatmaterial material presented in this paper sincerely is based basedappreciate upon the Derek work tation within UxAS does not support cooperative requiring task/vehicle-synchronization. In current performed at theOhio, Summer ofThe Innovation organized by AFRL and requiring task/vehicle-synchronization. In fact, fact, the themissions current  1 WBI at Dayton, 2017. authors sincerely appreciate Derek performed at the Summer of Innovation organized by AFRL and The material presented in this paper is based upon the work Kingston and Laura Humphrey for their help in understanding the The tutorial, project description and source codes of UxAS are performed at the Summer of Innovation organized by AFRL and requiring task/vehicle-synchronization. In fact, the current WBI at Dayton, Ohio, 2017. The authors sincerely appreciate Derek 1

Kingston and Laura Humphrey for their sincerely help in understanding the The tutorial, project description and source codes WBI atsystem Dayton, Ohio, 2017.simulator. The authors appreciate Derek performed at the Summer ofThe Innovation organized by AFRL and UxAS AMASE available at: https://github.com/afrl-rq/OpenUxAS WBI at Dayton, Ohio, 2017. authors appreciate Derek 1 The tutorial, Kingston and and Laura Humphrey for their sincerely help in understanding the project description and source codes 1 UxAS and AMASE available at: https://github.com/afrl-rq/OpenUxAS 1 The Kingston and Laura Humphrey their help in understanding the tutorial, project WBI atsystem Dayton, Ohio, 2017.simulator. Thefor authors sincerely appreciate Derek Kingston and Laura Humphrey for their help in understanding the The tutorial, project description description and and source source codes codes UxAS system and AMASE simulator. available at: https://github.com/afrl-rq/OpenUxAS 1 UxAS AMASE simulator. available at: Kingston and and Laura Humphrey for their help in understanding the The tutorial, project description and source codes UxAS system system and AMASE simulator. available at: https://github.com/afrl-rq/OpenUxAS https://github.com/afrl-rq/OpenUxAS Copyright © 2018 IFAC 67 UxAS system and IFAC AMASE simulator. Federation of Automatic Control) Hosting availablebyat: https://github.com/afrl-rq/OpenUxAS 2405-8963 © (International Elsevier Ltd. All rights reserved. Copyright © 2018, 2018 IFAC 67 Copyright ©under 2018 responsibility IFAC 67 Control. Peer review of International Federation of Automatic Copyright © 2018 IFAC 67 Copyright © 2018 IFAC 67 10.1016/j.ifacol.2018.08.012 Copyright © 2018 IFAC 67

of of of of of

UxAS UxAS UxAS UxAS UxAS

are are are are are

2018 IFAC ADHS 68 Oxford, UK, July 11-13, 2018

Luan V. Nguyen et al. / IFAC PapersOnLine 51-16 (2018) 67–72

framework utilizes task-assignment semantics, i.e., a task is taken care of if it is assigned. In other words, only the order of task assignment is enforced, not the order of task completion; and this has been done for the sake of finding an optimal plan for a mission composed of independent tasks. However, the current implementation of UxAS makes it difficult to handle either a mission which enforces completion of a part of the mission specification before beginning another, or one requires a synchronized coordination between multiple UAVs.

a mission specification language is that it allows us to efficiently construct a feasible (and potentially optimal) plan that meets the mission specification in polynomial time Karaman et al. (2009). Syntax of PA. Let A be a finite set of actions and P be a set of PA terms defined over A. The syntax of PA is then inductively defined as follows, • each action α ∈ A is in P, • for every p, p ∈ P, we also have p + p ∈ P, p  p ∈ P, and p · p ∈ P.

Contributions. In this work, we extend UxAS to enable more control over timing and task completion for mission specifications that require coordination between vehicles. Indeed, we extend the PA language with a synchronized operator which enforces completion of sub-tasks in UxAS. Based on that, we implement a new service within UxAS to handle a vehicle-synchronization as well as an execution order of complex tasks using multiple UAVs. We demonstrate our contributions with a forest fire rescue mission.

The operators (+), (), (·) respectively indicate the alternative, parallel, and sequential relationships between two PA terms p and p . Intuitively, the composition p + p specifies that it can either execute a behavior of p or p . The composition p  p specifies that both PA terms should execute at the same time. The composition p · p will first execute p, and then execute p right after p terminates. α

→ p represents that a Semantics of PA. A transition p − process p evolves to a process p by executing α. A special process, denoted as , represents the terminated process that has no action to execute and cannot evolve to any other process. Also, each action can be considered as a PA term; a process p corresponds to a term α ∈ A such as p = α, can execute α and then terminate which is denoted as α → . A sequence of actions λ = {α1 , α2 , ..., αn } is called α− a trace of a PA term p0 if there exists a set of processes αn α1 α2 p1 −→ ... −−→ pn , p1 , p2 , ..., pn ∈ P such that p0 −→ where pn = . Intuitively, a trace of a process represents a behavior of the process specified over a sequence of actions leading to termination. We denote Λp0 as a set of all traces that a process p0 can execute.

2. BACKGROUND 2.1 UxAS Framework UxAS is a comprehensive software system architecture that enables autonomous capabilities on-board unmanned systems 1 . UxAS has been developed by the AFRL for more than a decade. The system provides a list of modular services that share a single, broadcast, channel of communication. All messages are specified as xml files. To accomplish a mission, UxAS takes the following inputs: • Vehicle Configuration: describing operating speed, altitude, and maximum bank angle as well as the sensor configurations of a vehicle, • Vehicle State: specifying the state information of the vehicles such as position, actual speed, current waypoint, current active task, and the state of the sensors, • Task Configuration: including task’s ID, eligible vehicle assigned to the task and all requirements of the task that need to be satisfied, • Automation Request: a script initializes UxAS and requests a set of tasks to be completed by a set of eligible vehicles in a particular airspace configuration, and specifies a relationship between tasks defined in a PA string which needs to be satisfied.

Following, given α ∈ A and p1 , p1 , p2 , p2 ∈ P, the operational semantics of PA can be defined as follows, α

p1 − → α

α

→ p1 p1 − α

α

α

→ p2 p2 −

p2 − → α

α

p 1 + p2 − →  p1 + p 2 − → p1 p1 + p2 − →  p1 + p 2 − → p2 α

p1 − → α

α

p1 − → p1 α

α

α

p2 − → p2

p2 − → α

α

p1  p 2 − → p2 p 1  p 2 − → p1  p2 p1  p2 − → p1 p1  p 2 − → p1  p2 α

p1 − → α

p1 · p2 − → p2

α

p1 − → p1 α

p1 · p2 − → p1 · p2

.

For each transition rule, the numerator specifies a set of premises which is a set of possible transitions of a PA term; and the denominator describes a conclusion which is a transition allowed to execute by the above premises.

The plan builder service in UxAS calculates a cost matrix and constructs different mission plans for all of the task assignments. The final plan will then be published in an automation response. UxAS provides a set of complex, automated search tasks that handle common search and surveillance patterns such as point search, line search, area search, pattern search, etc. Each automated task is constructed based on its specific waypoint-based path planning and sensor steering handling that can be customized by changing its parameter values such as a sensor view angle, standoff distance, particular angle of approach (for details see Kingston et al. (2016)).

3. PROCESS ALGEBRA SPECIFICATION IN UXAS In this section, we review how PA is utilized to specify mission specifications for multiple UAVs within UxAS. Mission specifications are sent to UxAS through an automation request. This automation request includes the relationship between multiple tasks in which each of them is a combination of different atomic objectives. Definition 3.1. An atomic objective is a tuple θ {Lsθ , Leθ , Tθe , vθ , Ivθ , Fvθ } such that:

2.2 Process Algebra



=

• Lsθ ∈ R2 is the starting point where a vehicle has to reach in order to start a task execution, • Leθ ∈ R2 is the exit point which represents the location that a vehicle should reach after executing a task,

UxAS uses Process Algebra (PA) as a formal language to specify mission requirements for UAV operations Baeten (2004); Fokkink (2013). One of the advantages of PA as 68

2018 IFAC ADHS Oxford, UK, July 11-13, 2018

Luan V. Nguyen et al. / IFAC PapersOnLine 51-16 (2018) 67–72

• Tθe ∈ R≥0 is the total execution time, • vθ ∈ V is the eligible vehicle to accomplish a task, • Ivθ , Fvθ ∈ QV is the vehicle’s configuration and state before and after executing a task, respectively, where QV is the set of all configurations and states of V. Examples of atomic objectives in UxAS include point search, area search, classification, attack, object tracking, etc. (see Rasmussen and Kingston (2008)). Moreover, UxAS allows a mission specification that involves logical and temporal constraints to be specified as a combination of individual tasks, where each task is represented by a PA term defined on a set of atomic objectives.

69

provides the whole basis for our extensions to UxAS presented in Section 4 to handle mission specifications that requires the synchronized arrivals of multiple UAVs. Definition 3.4. Let Θ be a set of atomic objectives and V be a list of UAVs, a single schedule sv of a UAV v ∈ V is a sequence of atomic objective and instance of execution time pairs, written as sv = ((θ1 , tθ1 ), ..., (θk , tθk )) such that • θi ∈ Θ, tθi ∈ R≥0 for i ∈ {1, 2, . . . , k}, and • tθi+1 − tθi ≥ Tθei + Tθti+1 for i ∈ {1, 2, . . . , k − 1},

where Tθti+1 denotes a time for a UAV v travels from the exit point of θi to the starting point of θi+1 . From the above definition, an atomic objective θi ∈ Θ is scheduled Example 3.2. Consider the following scenario. An avalanche to be executed at time instance ti ∈ R≥0 by vehicle v if has occurred and we need to search for missing hikers. There are two particular points of interest A, B and (θi , tθi ) ∈ sv . Also, we note that tθi+1 must be computed an area C where there is a high probability of finding and chosen so that a UAV has enough time to complete the missing hikers. A set of three UAVs {v1 , v2 , v3 } are the previous atomic objective θi and travel to the starting sv can be accomplished available to execute the mission in an order such that both point of θi+1 . Each single schedule c e of A and B locations can be searched at the same time with a completion time τsv = tθk + Tθk , where θk is the last atomic objective assigned to v. before doing an area search at C. Also, either v1 or v2 can go to A, only v3 can go to B, and all of UAVs can travel We call ζ as a complete schedule, which is a set of single to C. Then, a process algebra string Φ that represents a vehicle schedules that contains exactly one single vehicle high-level specification of the mission can be expressed as: schedule for each UAV. We can associate ζ with different Φ = ((θA∗v1 + θA∗v2 )  θB∗v3 ) · (θC∗v1 + θC∗v2 + θC∗v3 ), types of cost functions to design some optimal mission where θA∗v1 denotes the atomic objective of searching the planning. One instance of that is to find the minimum location A using v1 and the rest of atomic objectives can value of the total completion time of all UAVs:  be interpreted in the same fashion. Ω(ζ) = min (1) τscv v∈V Remark 3.3. The PA semantics currently implemented in UxAS is assigned semantics. Such semantics does not guar- Definition 3.5. An observation δ of a complete schedule ζ antee the order of task completion and is unable to provide is a sequence of atomic objectives, i.e., δ = (θ1 , θ2 , ..., θk ) a mission planning required vehicle-synchronization. In which satisfies the following conditions, other words, a task starts immediately whenever there is • ∀θ ∈ δ, θ is scheduled in ζ, i i an eligible vehicle that is ready to execute the task. As an α • ∃t¯i ∈ R≥0 so that tθi ≤ t¯i ≤ tθi + Tθei , → cannot be applied as example, the semantic rule p1 − α • t¯i < t¯j if θi precedes θj in δ, p1 ·p2 − → p2 p2 may start before the termination of p1 . This implemen¯ ¯ tation is for the sake of achieving an optimal plan for a where ti , tj are time instances associated with θi and θj , respectively. We note that the observation of a complete mission comprised of independent tasks. In the previous schedule may not be unique; and for all atomic objective example, there is always a case such as the area search at ¯ C is executed before either the point search tasks at A or B θi in δ, there exists one or more time instance ti within the execution interval of θ such that the ordering of those time i are completed. This will be an issue if we strictly want each instances is the same as that of their corresponding atomic task to execute following the order specified by a PA string. objectives in δ. We denote the set of all observations of a Moreover, because this semantics does not ensure that a task can be executed in a synchronized way, it limits the given complete schedule ζ as Πζ . capability of UxAS in providing cooperative task planning Problem 3.6. Given a set of atomic objectives Θ, a list of for multi-UAVs systems. For instance, suppose that there UAVs V, the problem of finding an optimal planning that is a heavy snowfall at the area C that significantly reduces satisfies a PA specification pˆ is to find a complete schedule the quality of an image captured by a camera attached on ζ such that: one UAV, it is essential that all UAVs can synchronize at • any observation δ of ζ is a trace of pˆ, i.e., Πζ ⊆ Λpˆ, C, and then execute the area search together to acquire an adequately high-resolution image. As a result, it motivates • the cost function Ω(ζ) is optimized. the work of applying synchonization and adding a new Branch-and-bound Algorithm. To solve the optimal service into UxAS to handle a vehicle-synchronization as planning for PA specifications using multiple UAVs, UxAS well as an execution order for complex tasks using multiple exploits the branch-and-bound tree search algorithm proUAVs. posed by Rasmussen and Shima (2006). Briefly, in this 3.1 Optimal Planning for Non-synchonized Process Algebra Specifications in UxAS Next, we review the algorithm used to find a feasible (may be optimal for some extant) planning for non-synchronized mission specifications by Karaman et al. (2009), which 69

algorithm, a PA specification pˆ is constructed as a tree structure where each node represents a pair of atomic objective and its associated UAV. Each node of the tree except leaf nodes may contain one or more child nodes that branch the tree into the more specific sub-trees. A path of the tree which represents a possible assignment

2018 IFAC ADHS 70 Oxford, UK, July 11-13, 2018

Luan V. Nguyen et al. / IFAC PapersOnLine 51-16 (2018) 67–72

enforces synchronous execution of the parallel processes. The semantic rule of S is defined as follows,

(i.e., a trace of pˆ) is a sequence of connected nodes starting from the trunk node to a leaf node. Hence, the twophases algorithm incorporating a greedy, best-first search heuristic with branch-and-bound mechanism can be used to efficiently determine the optimal path.

α

p1 − → p1

α

p2 − → p2

α

S(p1  p2 ) − → p1  p2

,

where α is a synchronized action. Also, the PA string p1 Sp2 in UxAS enforces the sequential relationship between p1 and p2 specified in Section 2.2, which means p1 should completely terminate before p2 can start. We note that in UxAS, beside S operator, we can use a notation of Sδ to specify a synchronized mission which all of its parallel atomic objectives will execute simultaneously with a delay time δ. Such a notation allows us to modify task duration, enables more control over timing and task completion.

The search is started from the trunk node of the tree. For each node, the shortest Euclidean distances between it and the set of atomic objectives associated with different UAVs that can be possibly assigned in the next layer of the tree are calculated. The best node in the current layer of the tree which yields the smallest distance, i.e., the minimum time complete schedule will be chosen. The process repeats until it reaches a leaf node representing a candidate optimal plan. Such a solution will be served as an upper bound of the cost of a PA specification and used to perform a branch and bound evaluation. The bestfirst search procedure is then reversibly applied starting from the leaf node associated with the candidate optimal solution to obtain a lower bound on the cost of the same specification using a different UAV in the group. These upper and lower bounding search procedures iteratively traverse upwards and downwards of the tree to prune out all infeasible solutions and improve the candidate solution. The algorithm is terminated with the actual optimal solution, i.e., the most efficient task ordering after all nodes of the tree have either been pruned or evaluated Rasmussen and Shima (2006).

Consider a mission specification similar to Example 3.2 which requires all of the UAVs to be synchronized at C before executing the area search together, such a specification can be written as: Φ = ((θA∗v1 + θA∗v2 )  θB∗v3 )S(θC∗v1  θC∗v2  θC∗v3 ). Here, the operator S enforces that both the point search tasks at A and B are accomplished completely before the next tasks are initialized. Then, the area search tasks at C with all vehicles v1 , v2 , and v3 are executed in a synchronous manner. Next, we will present how to compute a loitering time for each UAV when executing a synchronized task. 4.2 Synchronized Process Algebra Specification Planning

The main advantage of using this branch-and-bound algorithm is that it can provide a feasible plan within a polynomial time bound corresponding to the length of a PA specification. However, the current implementation of the algorithm in UxAS does not support a specification that requires vehicle-synchronization. To acquire a feasible plan for a synchronized mission, we must take account of a loitering time required for each UAV to be synchronized with others before executing the task. As a result, the planning algorithm should be computed with respect to the constraint such that the assigned UAV has enough time to complete its previous atomic objective, fly to the entry point of the next one, and wait there until other UAVs are synchronized. Thus, adding the capability to determine a feasible plan with respect to the synchronized arrivals of multiple UAVs is a contribution of this paper.

Definition 4.1. (Vehicle Loitering Action). A vehicle loitering action of vθ is an atomic objective θ such that Lsθ ≡ Leθ ∧ Ivθ ≡ Fvθ . Intuitively, a vehicle loitering action is a maneuver added to the flightpath of a vehicle in order to enable more complex mission specifications that require synchronization. Here, the starting point where a vehicle has to come to start a loitering task and the exit point where it should reach after executing a loitering task must be the same. Moreover, the vehicle’s state and configuration are not changed before and after the loitering task execution. Theorem 4.2. Given a set of eligible vehicles V that can execute φ1 and φ2 , if there exists a feasible plan for φ1 with the vehicle’s state and configuration before and after executing φ1 given as {IVφ1 , FVφ1 } and for φ2 given as {IVφ2 , FVφ2 }, where FVφ1 ≡ IVφ2 , then there exists a feasible plan for φ1 Sφ2 with respect to {IVφ1 , FVφ2 }.

4. SYNCHRONIZED PROCESS ALGEBRA SPECIFICATION IN UXAS

Proof. The correctness of the above theorem is clear from the semantics of PA. Let p1 , p2 and ps be PA terms representing φ1 , φ2 and loitering behavior defined by an operator S. Since p1 is feasible, p1 can always evolve to ps after executing some action α1 , i.e., a transition p1 · α1 ps is valid. Moreover, because p2 is feasible and ps −→ executing ps does not change the initial configurations and states of UAVs for executing p2 , so the process ps · p2 can terminate. As a result, the process p1 · ps · p2 can also terminate, i.e., φ1 Sφ2 is feasible.

In this section, we present an extension of PA specification language and a new service to enable the definition of more complex tasks with respect to timing. 4.1 Synchronized Process Algebra We introduce a notion of Synchronized Process Algebra (SPA), which is an extension of PA to specify the duration of a task and enforce that the next task is executed after the previous task has terminated. The general idea of SPA is to enable a more expressive language to define synchronized mission specifications. In fact, SPA is extend from PA with a synchronization functionality, which defines the point where the vehicles should synchronize, i.e., complete all their previous tasks so that they can initialize the next task together. We define a new sequential composition operator S (besides the parallel composition) in SPA, which

Given a mission specification Φ expressed as a sequence of sub-tasks in which some of them require vehiclesynchronization and a list of UAVs, the procedure that computes the loitering time for each UAV before executing a synchronous task together and returns a feasible plan 70

2018 IFAC ADHS Oxford, UK, July 11-13, 2018

Temporal Service Luan V. Nguyen et al. / IFAC PapersOnLine 51-16 (2018) 67–72

Initialized Task Configuration

Message Control Interface

71

Temporal Service Temporal Automation Request Process Algebra String: Φ = !" !$ … !& Temporal Automation Response

Temporal Formula Parser Waypoint Adjustment

Query: !" , !$ , … , !&

Route Calculation

Waypoint Lists: '" , '$ , … , '&

'"+ , '′$ , … , '′&

Fig. 1. An overview of the Temporal Service timing specifications. The Temporal Service (TS) includes Algorithm 1 Synchronized Process Algebra Planning two sub-services: the Temporal Formula Parser1 (TFP) ASU UT VU Mission Planning Group Input: a synchronized PA string Φ, a list of UAVs V, Output: a feasible planning with a completion time Ψ(Φ) and the Waypoint Adjustment (WPA). The core service description of TS is shown in Figure 1, and further 1: procedure Computed a synchronized mission interpreted as follows. 2: Ψ(Φ) ← 0 (1) The TS receives a temporal automation request that 3: {φ1 , φ2 , . . . , φn } ← Partition(Φ) includes a list of all tasks and their timing relationships 4: for all φi do specified by a temporal formula Φ. 5: Ω(ζφi ) ← Branch-and-bound(φi ) 6: if i < n ∧ φi+1 requires synchronization then (2) Next, the TFP built inside the TS will truncate Φ into 7: Determine a set of eligible UAVs Vφi+1 ⊆ a collection of sub-formulas φi . Each of them will be V for executing a synchronized task φi+1 sent to the existing Route Calculation service in UxAS to retrieve a corresponding waypoint list πi that will be 8: Compute a loitering times Tφki+1 for each fed into the WPA later on. Here, πi is determined based UAV vk ∈ Vφi+1 on i) the task completion time of φi computed by the 9: else branch-and-bound algorithm implemented in the RC 10: Tφki+1 ← 0 service, and ii) the configurations and states of UAVs 11: end if that are eligible to execute φi . k 12: Ψ(Φ) ← Ψ(Φ) + Ω(ζφi ) + max Tφi+1 + δi+1 vk ∈Vφi+1 (3) Depending on the target where the vehicles should synchronize before executing a next task, WPA will 13: end for first calculate a loitering time required for each vehicle, 14: return Ψ(Φ) and then generate new waypoint lists π1 , π2 , ..., πn . 15: end procedure Each waypoint list can be represented as πi = πi |i , where (|) is a list concatenation operator and i is a associated with Φ is shown in Algorithm 1, and is further waypoint list that defines a loitering behavior of each interpreted as follows. vehicle that should wait. • First, we partition a PA string φ into a collection PA sub-strings with respect to synchronization. For (4) Finally, the TS will publish a temporal automation response including synchronized waypoint lists with instance, a mission specification Φ in Example 3.2 can respect to the original automation request. be truncated into two sub-strings φ = (θ +θ ) 1

A∗v1

A∗v2

θB∗v3 and φ2 = θC∗v1  θC∗v2  θC∗v3 . • For each sub-string φi , we utilize a branch-and-bound algorithm to calculate the minimum value of the total completion time for φi . If the next task φi+1 requires synchronization, we determine the loitering time for each UAV to wait until all required UAVs are synchronized to execute φi+1 . Such computation is based the distance between the current position and the synchronized location, and the actual speed of each UAV. • Finally, we return a feasible plan with the completion time inductively accumulated by the sum of three quantities, the completion time computed by the branch-andbound algorithm, the maximum loitering times, and the given delays.

In this paper’s scope, each sub-formula φi represents a PA term. However, we note that TS was not only designed to work with PA, but also set the groundwork for future implementations of temporal specification language such as LTL, Metric Temporal Logic (MTL), etc. 5. CASE STUDY: FOREST FIRE RESCUE MISSION

In this section, we demonstrate our extensions to UxAS in specifying and operating the mission specification of a forest fire scenario involving multiple UAVs 2 . Consider a forest fire rescue mission shown in Figure 2. There are four vehicles (V1 , V2 , V3 , and V4 ) and two water supply locations (W1 and W2 ). To stop a fire, the vehicles need to pump the water at W1 and W2 , synchronize at A, B, C, D, and then simultaneously disperse water in a parallel formation. The mission specification of this scenario is expressed

4.3 Temporal Service To implement the synchronization functionality, we added a new service, called Temporal Service, into UxAS to control the flow of the planning process with respect to

2

The proposed extensions as well as the case study presented in this paper are implemented under the mission planning branch of UxAS: https://github.com/afrl-rq/OpenUxAS/tree/missionplanning.

71

2018 IFAC ADHS

Luan V. Nguyen et al. / IFAC PapersOnLine 51-16 (2018) 67–72

72 Oxford, UK, July 11-13, 2018 Scenario

not be executing their flight plans within the pre-computed flight times. Thus, we also plan to enable online updates on mission goals during plan execution. For example, we can apply a requirement rewriting technique proposed in Ro¸su and Havelund (2005) to generate new plans while ensuring that the old ones will be satisfied. REFERENCES Baeten, J.C. (2004). Applications of process algebra, volume 17. Cambridge university press. Bhatia, A., Maly, M.R., Kavraki, L.E., and Vardi, M.Y. (2011). Motion planning with complex goals. IEEE Robotics & Automation Magazine, 18(3), 55–64. Ding, X., Lazar, M., and Belta, C. (2014). Ltl receding horizon control for finite deterministic systems. Automatica, 50(2), 399–408. Fainekos, G., Girard, A., Kress-Gazit, H., and Pappas, G.J. (2009). Temporal logic motion planning for dynamic robots. Automatica, 45(2), 343–352. Fokkink, W. (2013). Introduction to process algebra. Springer Science & Business Media. Guo, M. and Dimarogonas, D.V. (2015). Multi-agent plan reconfiguration under local ltl specifications. The International Journal of Robotics Research, 34(2), 218– 235. Kabanza, F. (1995). Synchronizing multiagent plans using temporal logic specifications. In V. Lesser (ed.), Proceedings of the First International Conference on Multi– Agent Systems, 217–224. MIT Press, San Francisco, CA. Karaman, S. and Frazzoli, E. (2008). Complex mission optimization for multiple-uavs using linear temporal logic. In American Control Conference, 2008, 2003– 2009. IEEE. Karaman, S., Rasmussen, S., Kingston, D., and Frazzoli, E. (2009). Specification and planning of uav missions: a process algebra approach. In American Control Conference, 2009. ACC’09., 1442–1447. IEEE. Kingston, D., Rasmussen, S., and Humphrey, L. (2016). Automated uav tasks for search and surveillance. In Control Applications (CCA), 2016 IEEE Conference on, 1–8. IEEE. Kloetzer, M. and Belta, C. (2007). Temporal logic planning and control of robotic swarms by hierarchical abstractions. Robotics, IEEE Transactions on, 23(2), 320– 330. LaValle, S.M. (2006). Planning algorithms. Cambridge university press. Rasmussen, S.J. and Kingston, D. (2008). Assignment of heterogeneous tasks to a set of heterogenous unmanned aerial vehicles. In AIAA Guidance, Navigation, and Control Conference and Exhibit, volume 1447. Rasmussen, S.J. and Shima, T. (2006). Branch and bound tree search for assigning cooperating uavs to multiple tasks. In American Control Conference, 2006, 6–pp. IEEE. Ro¸su, G. and Havelund, K. (2005). Rewriting-based techniques for runtime verification. Automated Software Engineering, 12(2), 151–197. Ryan, A., Zennaro, M., Howell, A., Sengupta, R., and Hedrick, J.K. (2004). An overview of emerging results in cooperative uav control. In Decision and Control, 2004. CDC. 43rd IEEE Conference on, volume 1, 602– 607. IEEE. Schnoebelen, P. (2002). The complexity of temporal logic model checking. Advances in modal logic, 4(393-436), 35. Shima, T. and Rasmussen, S. (2009). UAV cooperative decision and control: challenges and practical approaches. SIAM.

𝑉𝑉2

W1

ations A

W1 and W2 , C, and D perse water in n

𝑉𝑉1

B

𝑉𝑉3

C D 𝑉𝑉4

W2

Fig. 2. Forest Fire Rescue Scenario Mission Planning Group

1

Fig. 3. Simulation of a forest fire rescue mission. Left: without synchronization, Right: with synchronization as: Φ = (θW1 ∗V1  θW1 ∗V2  θW2 ∗V3  θW2 ∗V4 )S(θA∗V1  θB∗V2  θC∗V3  θD∗V4 ). Figure 3 shows the simulations of the mission without and with vehicle-synchronization using AMASE 3 , where UAVs 400, 500, 600, 700 correspondingly represent for V1 , V2 , V3 and V4 . A loitering path is defined as a hexagon in which the radius is proportional to a waiting time for a vehicle-synchronization. In case with the UAV-synchronization, UAV 400 is the first vehicle that arrives at the synchronized point. As a result, it has a longest waiting time illustrated via the biggest hexagon. UAV 500 does not have a loitering behavior as it is the last vehicle arriving at the synchronized point. 6. CONCLUSION AND FUTURE WORK In this paper, we proposed extensions to UxAS to enable a mission planning that requires vehicle-synchronization as well as enforces the order of task completion. We introduced a notion of SPA to define synchronized mission specifications and added a new service into UxAS to control the flow of the planning process with respect to timing specifications. We demonstrated our extensions to UxAS through the case study of a forest fire rescue scenario that requires the synchronization of multiple UAVs. Future Work. We plan to extend the TS not only to support vehicle-synchronization using SPA but also to enable mission planning for multiple vehicles with timing constraints specified by temporal logic formulae. Consider the MTL specification “every time a vehicle enters region R, then within 20 seconds v1 will execute a surveillance task θ”, written as G[0,100] (R =⇒ F[0,20] θR−v1 ). Such a specification can be described in an automation request, and the TS will correspondingly generate waypoint paths satisfying the specification. In real missions, a UAV will 3

AMASE is simulation-based framework developed the Aerospace Vehicles Technology Assessment & Simulation Branch of AFRL. AMASE can display a mission planning with simulated objects, waypoints path, communication channels, etc. AMASE is available at: https://github.com/afrl-rq/OpenAMASE.

72