All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.

Description

Hybrid Control of Multi-robot Systems Using Embedded Graph Grammars Meng Guo, Magnus Egerstedt and Dimos V. Dimarogonas Abstract We propose a distributed and cooperative motion and task control scheme

Transcript

Hybrid Control of Multi-robot Systems Using Embedded Graph Grammars Meng Guo, Magnus Egerstedt and Dimos V. Dimarogonas Abstract We propose a distributed and cooperative motion and task control scheme for a team of mobile robots that are subject to dynamic constraints including inter-robot collision avoidance and connectivity maintenance of the communication network. Moreover, each agent has a local high-level task given as a Linear Temporal Logic (LTL) formula of desired motion and actions. Embedded graph grammars (EGGs) are used as the main tool to specify local interaction rules and switching control modes among the robots, which is then combined with the model-checking-based task planning module. It is ensured that all local tasks are satisfied while the dynamic constraints are obeyed at all time. The overall approach is demonstrated by simulation and experimental results. I. INTRODUCTION The control of multi-robot systems could normally consist of two goals: the first is to accomplish high-level system-wise tasks, e.g., formation and flocking [21], task assignment [20] and collaboration [19]; the second is to cope with constraints that arise from the inter-robot interactions, e.g., collision avoidance [5] and communication maintenance [21]. These two goals are often dependent and heavily coupled since it is essential to consider one when trying to fulfill another. For instance, it is unlikely that a multi-robot formation method would work if the inter-robot collision is not addressed, nor a collaborative task assignment scheme would work if the communication network among the robots is not ensured to be connected. Thus in this work, we tackle some aspects of both goals at the same time. Regarding the high-level task, we rely on Linear Temporal Logic (LTL) as the formal language that can describe planning objectives more complex than the well-studied point-to-point navigation problem. The task is specified as a LTL formula with respect to an abstraction of the robot motion [1], [3]. Then a high-level discrete plan is found by off-the-shelf model-checking algorithms [2], which is then implemented through the low-level continuous controller [6], [7]. [10] extends this framework by allowing both robot motion and actions in the task specification. Similar methodology has also been applied to multi-robot systems [4], [12], [20]. Two different formalisms have appeared that one focuses on decomposing a global temporal task into bisimilar local ones in a top-down approach, which The first and third authors are with the KTH Centre for Autonomous Systems and ACCESS Linnaeus Center, EES, KTH Royal Institute of Technology, SE , Stockholm, Sweden. The second author is with the Department of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA, USA. This work was supported by the Swedish Research Council (VR). The work by the second author was supported by Grant N from the U.S. Office of Naval Research. can be then assigned and implemented by individual robots in a synchronized [4] or partially-synchronized [11] manner; another is to assume that there is no pre-specified global task and individual temporal tasks are assigned locally to each robot [8], [9], [19], which favors a bottom-up formulation. These local tasks can be independent [9] or dependent [8] due to collaborative tasks. We favor the second formulation as it is useful for multi-robot systems where the number of robots is large, the robots are heterogeneous and each robot has a specific task assignment. However, most of the aforementioned work neglects the second goal to cope with inter-robot dynamic constraints, e.g, inter-robot collision is not handled formally in [9], [19] and connectivity of the communication network is taken for granted in [8], [9], [20]. Here we take advantage of Embedded Graph Grammars (EGGs) to tackle these constraints, as initially introduced in [14], [15]. It allows us to encode the robot dynamics, local information exchange and switching control modes in a unified hybrid scheme. Successful applications to multi-robot systems can be found in, e.g., coverage control [15], self-reconfiguration of modular robots [17], and autonomous deployment [18]. Only local interactions or communication are needed for the execution of EGGs, making it suitable for large-scale multi-robot systems. The proposed solution combines the temporal-logic-based task planning with the EGGs-based hybrid control, which overall serves as a distributed and cooperative control scheme for multi-robot systems under local temporal tasks and motion constraints. The main contribution lies in the proposed EGGs that ensure the fulfillment of all local tasks, while guaranteeing no inter-robot collision and the communication network being connected at all time, given the robots limited capabilities of communication and actuation. The rest of the paper is organized as follows: Section II briefly introduces essential preliminaries. In Section III, we formally state the problem. Section IV presents the proposed solution. Numerical and experimental examples are shown in Section V. We conclude in Section VI. II. PRELIMINARIES A. Embedded Graph Grammars Here we review some basics of Embedded Graph Grammars (EGGs). For a detailed description, see [14], [15]. Let Σ be a set of pre-defined labels. A labeled graph is defined as the quadruple G = (V, E, l, e), where V is a set of vertices, E V V is a set of edges, l : V Σ is a vertex labeling function, and e : E Σ is an edge labeling function. Given a continuous state space X for the vertices, an embedded graph is given by γ = (G, x), where G is a labeled graph and x : V X is a realization function. We use G γ, x γ to denote the labeled graph and continuous states associated with γ. The set of allowed embedded graphs being considered is denoted by Γ. Furthermore, an embedded graph transition is a relation A Γ Γ such that (γ 1, γ 2 ) A implies x γ1 = x γ2 and G γ1 G γ2. The rules and conditions associated with the transitions are called graph grammars. B. Linear Temporal Logic The basic ingredients of a Linear Temporal Logic (LTL) formula are a set of atomic propositions AP and several boolean or temporal operators, formed by the syntax [2]: ϕ ::= a ϕ 1 ϕ 2 ϕ ϕ ϕ 1 U ϕ 2, where a AP and (True), (next), U (until). Other operators like (always), (eventually), (implication) and the semantics of LTL formulas can be found in Chapter 5 of [2]. There is a union of infinite words that satisfy ϕ: Words(ϕ) = {σ (2 AP ) ω σ = ϕ}, where = (2 AP ) ω ϕ is the satisfaction relation. LTL formulas can be used to specify various control tasks, such as safety ( ϕ 1, globally avoiding ϕ 1 ), ordering ( (ϕ 1 (ϕ 2 ϕ 3 )), ϕ 1, ϕ 2, ϕ 3 hold in sequence), response (ϕ 1 ϕ 2, if ϕ 1 holds, ϕ 2 will hold in future), repetitive surveillance ( ϕ, ϕ holds infinitely often). A. Robot Dynamics III. PROBLEM FORMULATION Consider a team of N mobile robots (agents) in an obstacle-free 2D workspace, indexed by N = {1, 2,, N}. Each agent i N satisfies the unicycle dynamics: ẋ i = v i cos(θ i ), ẏ i = v i sin(θ i ), θi = w i, (1) where s i = (x i, y i, θ i ) R 3 is the state with position p i = (x i, y i ) and orientation θ i ; and u i = (v i, w i ) R 2 is the control input as linear and angular velocities, bounded by v max and w max. Agent i has reference linear and angular velocities V i v max and W i w max, respectively. Each agent occupies a disk area of {p R 2 p p i r}, where r 0 is the radius of its physical volume. A safety distance d 2r is the minimal inter-agent distance to avoid collisions. Moreover, agents i, j N can only communicate if p i p j d, where d d is the communication radius. Definition 1: Agents i, j N are: in collision if p i (t) p j (t) d; neighbors if p i (t) p j (t) d. Given the agent states, an embedded graph γ(t) is defined as γ(t) = (G(t), p(t)), where G(t) = (N, E(t)) with (i, j) E(t) if p i (t) p j (t) d, i, j N, i j; p(t) is the stack vector of all p i (t). Then we define the set of allowed embedded graphs Γ d as follows: Definition 2: An embedded graph γ(t) = (G(t), p(t)) is allowed that γ(t) Γ d if (i) p i (t) p j (t) d, i, j N, i j; and (ii) the graph G(t) is connected. B. Local Task Specification over Motion and Actions For each agent i N, there is a set of points of interest in the workspace, denoted by Z i = {z i1, z i2,, z imi }, where z il R 2, l = 1, 2,, M i, where M i 0. Each point satisfies different properties. Furthermore, it is capable of performing a set of actions, described by the action primitives Σ i = {a 1, a 2,, a Ki }. Combining these two aspects, we can derive a complete motion and action model for agent i as a finite transition system (FTS) M i = (Π i, i, Π i,0, AP i, L i ), where Π i = Z i Σ i is the set of states; i : Π i 2 Πi is the transition relation; Π i,0 Π i is the set of initial states; AP i is the set of atomic propositions over workspace property and action primitives; L i : Π i 2 APi is the labeling function that returns the set of propositions satisfied at each state. We omit the details about how to construct M i here due to limited space and refer the readers to [8], [10]. The local task for each agent i N is specified as an LTL formula ϕ i over AP i as described in Section II-B. Definition 3: The task ϕ i is satisfied if there exists a sequence of time instants t i0 t i1 t i2 and a sequence of states π il0 π il1 π il2 such that: π ilk = (z ilk, a ilk ) where z ilk Z i and a ilk Σ i ; at time t ik, p i (t ik ) z ilk c i where c i 0 is a given threshold for reaching a point of interest and the action a ilk is performed at z ilk, k = 0, 1, 2, ; and L i (π il0 )L i (π il1 )L i (π il2 ) = ϕ i. C. Problem Statement Design a distributed motion control scheme such that ϕ i is satisfied, i N, while at the same time γ(t) Γ d, t 0. IV. SOLUTION The proposed solution consists of two major parts: the embedded graph grammars (EGGs) design and the local task coordination, of which the details are given in the sequel. Then we combine them as the complete solution, where we also prove the correctness formally. A. EGGs Design The design of EGGs involves: (i) the workspace discretization; (ii) essential building blocks; (iii) graph grammars. 1) Workspace Discretization: The 2-D workspace is discretized into uniform grids by a quantization function, through which we transform the collision avoidance and connectivity constraints into relative-grid positions. Definition 4: Given a point (x, y) R 2, its grid position is given by the function GRID : R 2 Z 2 : (g x, g y ) GRID(x, y) ([ x d ], [y ]), (2) d where [ ] is the round function that returns the closest integer ([0.5] = 1) and d is the safety distance introduced earlier. Given that p i (t) = (x i (t), y i (t)) at time t 0, the grid position of agent i is given by g i (t) (gi x(t), gy i (t)) = GRID(x i (t), y i (t)). Now consider two agents i and j whose grid positions are given by g i (t) and g j (t). Definition 5: The collision function COLLIDE : Z 2 Z 2 B satisfies: COLLIDE(g i (t), g j (t)) if gi x gx j 2 or g y i gy j 2; otherwise, COLLIDE(g i(t), g j (t)). The neighboring function NEIGHBOR : Z 2 Z 2 B satisfies: NEIGHBOR(g i (t), g j (t)) if it holds that ( gi x gx j + 1, gy i gy j + 1) λ d, where λ d d/d 1; otherwise, NEIGHBOR(g i (t), g j (t)). Lemma 1: By Definition 1, agents i and j are collisionfree at time t 0 if COLLIDE(g i (t), g j (t)) = ; they are connected if NEIGHBOR(g i (t), g j (t)) =. Proof: Simple algebra based on Definitions 4 and 5. 2) Building Blocks: We introduce five building blocks in this part that are essential for the construction of EGGs. (I) Labels on vertices and edges. The first building block is the modified embedded graph γ(t) = (G(t), p(t)) where G(t) = (N, E(t), l, e), where l and e are the vertex and edge labeling functions. Each vertex has a label with three named fields {id, mode, data}, where id is the agent ID; mode is the agent status, including {check, static, move}; and data stores data for the execution, which has three sub-fields {nb, pt, gi}, where nb saves the a set of other agents IDs; pt saves a tentative path; and gi saves a positive gain parameter. Moreover, the edge between neighbors has the named field id, i.e., the edge from agent i to j has the id as (i, j). We use dot notation to indicate the value of label fields. An agent is static if its mode is static or active if its mode is move. To start with, we need the notion of a local sub-graph for agent i N, denoted by G i (t) = (V i (t), E i (t)), where (i) V i (t) = {i} N i (t), where N i (t) = {j N (i, j) E(t)}; (ii) (j, k) E i (t) if (j, k) E(t), j, k V i (t). Clearly, G i (t) is a sub-graph of G(t) and it can be constructed locally by agent i. Clearly if G(t) is connected, then G i (t) is connected, i N. (II) Neighbor marking scheme. The second building block is the mechanism to maintain graph connectivity while the agents are moving. The main idea is to choose locally some agents to be static and the others be active. Assume that agent i N satisfies i.mode = move. We denote by Ni s(t) = {j N i(t) j.mode = static} the set of static neighbors; Ni a (t) the set of active neighbors; and the others are in the check mode. A marking scheme of agent i at time t 0 marks a subset of its neighbors, denoted by Ni m (t) N i (t), as the potential agents to become static. Definition 6: The marked set of neighbors Ni m (t) is allowed if: (i) for any neighbor j N i (t), it holds that either j Ni m (t) or there exists g Ni m (t) that (j, g) E i (t); (ii) Ni s(t) N i m (t) and Ni m (t) Ni a (t) =. Definition 7: The marked sub-graph G m i (t) (Vi m (t), Ei m m (t)) has Vi (t) = {i} Ni m (t) and (j, k) Ei m(t) if (j, k) E i(t), j, k Vi m. (III) Potential path synthesis. The third building block is the synthesis algorithm to derive a local path for an active agent i N to move towards its point of interest z il = (zil x, zy il ) Z i while keeping connected and collision-free to all its marked neighbors in Ni m. Denote by p i the tentative discrete path of agent i with length L i 1 that obeys the following structure: p i = q 0 i q 1 i q l i q Li i (3) where qi l = (s l i, tl i, vl i ) is a 3-tuple with the desired state s l i = (x l i, yl i, θl i ) R3, the approximated time t l i when s l i will be reached, and the linear velocity vl i at ql i when heading towards q l+1 i, l = 0, 1,, L i. Notice that qi 0 (s i(t), 0, V i ) initially, where V i is the reference linear velocity. Moreover, the position p l i = (xl i, yl i ) of sl i should correspond to the center of a grid gi l = GRID(pl i ) and two consecutive positions p l i, pl+1 i correspond to two adjacent grids, l = 0, 1,, L i 1. Given the current state s i (t) of agent i, the potential cost of p i is given by COST(p i ) Li 1 ( l=0 p l i p l+1 i + α θi l θl+1 i ), where the first term is the total traveled distance and the second term is the total turned angles; α 0 is the chosen weight on turning cost. To synthesize p i, we consider the following problem: min pi (p Li ix zx il, p Li iy zy il ) + β COST(p i), (4) such that G m i (t) remains connected if p i = p l i, and COLLIDE(gi l, g j(t)) =, l = 0, 1,, L i and j Ni m (t), where the first term is the tentative progress; β 0 is a tuning parameter; and the conditions say that along p i, G m i should remain connected and collision-free. The solution contains four steps: (i) determine the general search area. Given the positions of the marked agents, the general search area S i Z 2 satisfies that g s = (gs x, gs y ) S i if NEIGHBOR(g b, g j (t)) =, for at least one neighbor j Ni m (t); (ii) remove any grid g s S i that G m i (t) is not connected if g i = g s or COLLIDE(g s, g j (t)) = for any neighbor j Ni m (t). Thus all elements of p i should belong to this general search area; (iii) the augmented-graph construction. We augment the states in S i with robot orientations and compute the transition cost based on function COST( ); (iv) shortest path search. We search for the shortest paths from n 0 to every other node in n i by Dijkstra s algorithm. At last, find the destination n d n i that minimizes the cost in (4). Denote the shortest path from n 0 to n d by p Ξ i = n 0 n 1 n 2 n Li 1n d, where n l = (g l, θ l ) n i and L i is the length of this path. Give the shortest path p Ξ i above, each element qi l = (sl i, tl i, vl i ) of p i can be derived by setting s l i = (gx l d, gy l d, θ l) and vi l = V i, l = 0,, L i, and t l i is + θl+1 i θ l i W i, l = 1, 2,, L i, computed by: t l+1 i = t l i + d vi l which accumulates the time for agent i to move from s l i to s l+1 i with linear velocity vi l and angular velocity W i. If a solution to (4) exists, the results are the tentative path p i and the associated Ni m. Moreover, its tentative gain is given by χ i = p Li i z il p i (t) z il. For the ease of notation, we denote this local path synthesis procedure by a single function: (p i, χ i ) = CHECK(s i (t), N i (t), z il, Ni m ). As a result, agent i executes its tentative path p i by following and staying within the sequence of grids along p i. Lemma 2: Assume that (4) has a solution at time t 0 0. If all marked neighbors in Ni m executes p i until t 1 t 0, then G m i remain static and agent i (t) remains connected and all agents within Vi m (t) are collision-free, t [t 0, t 1 ]. Proof: Follows directly from the formulation of (4). (IV) Path adaptation. The fourth building block is the path adaptation algorithm for any active agent while executing its tentative path. Assume that at time t 0 an active agent i may detect another agent j N that does not belong to Ni m, when its state s i (t) corresponds to q w0 where 0 w 0 L i. We consider two cases below: i p i in (3), If j.mode = static, then agent i only needs to check if its future path segment is in collision with this static agent j. Its future path segment is given by p i [w 0 :L i ] = q Li i, where qi l = (sl i, tl i, vl i ) is defined in (3). Therefore if COLLIDE(gi w, g j(t)) =, w = w 0, w 0 + 1,, L i, it means they will not collide and p i remains unchanged; otherwise, p i is adapted by repeating the synthesis procedure, but with the new neighboring set N i (t). If j.mode = move, then agent j is also moving and executing its path p j. In this case, it is more complicated to check whether they will be in collision. We assume that agent j s position s j (t) corresponds to q v0 j p j, q w0 i q w0+1 i where 0 v 0 by p j [v 0 :L j ] = q v0 j L j. Its future path segment is given qv0+1 j q Lj j, where qj l = (sl j, tl j, vl j ) from (3). Given p i [w 0 :L i ] and p j [v 0 :L j ], a potential collision between agents i and j can be detected by the function: COLLIDEPATH(p i, p j ) =, (5) if COLLIDE(p w i, pv j ) = and tw i t v j t, for any p w i p i [w 0 :L i ] and any p v j p j [v 0 :L j ], where t 0 is a design parameter as the allowed time difference. Then agents i and j keep their current paths unchanged; otherwise, COLLIDEPATH(p i, p j ) = means that the paths may collide. For now, we assume that agent i is chosen to change its path p i. Let w c {w 0, w 0 + 1,, L i } be the smallest index within p i [w 0 :L i ] that a potential collision could happen by (5) and the associated index within p j [v 0 :L j ] is v c {v 0, v 0 + 1,, L j }. Then agent i would avoid this collision by reducing its speed within the segment p i [w 0 :w c ], while p i [w c :L i ] remains unchanged. To find a suitable linear velocity ν v max for elements in p i [w 0 :w c ], we consider the optimization problem: min 0 ν vmax V i ν such that vi l = ν, l = w 0,, w c ; COLLIDE(p w i, pv s) = and t w i tv s t, p w i p i [w 0 :L i ] and p v j p j[v 0 :L j ], where V i is the reference velocity. The conditions above ensure that p i and p j will not collide after adjusting the velocity

Advertisements

Related Documents

Aug 1, 2018

Aug 3, 2018

Related Search

We Need Your Support

Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks

SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...Sign Now!

We are very appreciated for your Prompt Action!

x