Family of Controllers for Attitude Synchronization on the Sphere

Report 2 Downloads 21 Views
Family of Controllers for Attitude Synchronization on the Sphere

arXiv:1503.06326v4 [cs.SY] 21 Jul 2015

Pedro O. Pereira and Dimos V. Dimarogonas Abstract— In this paper we study a family of controllers that guarantees attitude synchronization for a network of elements in the unit sphere domain, i.e., S 2 . We propose distributed continuous controllers for elements whose dynamics are controllable (i.e., control with torque as command), and which can be implemented by each individual agent without the need of a common global orientation frame among the network, i.e., it requires only local information that can be measured by each individual agent from its own orientation frame. The controllers are specified according to arbitrary distance functions in S 2 , and we provide conditions on those distance functions that guarantee that i) a synchronized network of agents is locally asymptotically stable for an arbitrary connected network topology; ii) a synchronized network can be achieved for almost all initial conditions in a tree graph network. We also study the equilibria configurations that come with specific types of network graphs. The proposed strategies can be used in attitude synchronization of swarms of fully actuated rigid bodies, such as satellites.

I. I NTRODUCTION Decentralized control in a multi-agent environment has been a topic of active research for the last decade, with applications in large scale robotic systems. Attitude synchronization in satellite formations is one of those applications [1], where the control goal is to guarantee that a network of fully actuated rigid bodies can acquire a common attitude. Coordination of underwater vehicles in ocean exploration missions can also be casted as an attitude synchronization problem [2]. In the literature of attitude synchronization, solutions for consensus in the special orthogonal group can be found [1], [3]–[10], which focus on complete attitude synchronization. In this paper, we focus on incomplete attitude synchronization, which has not received the same attention: in this scenario each rigid body has a main direction and the global objective is to guarantee alignment of all rigid bodies’ main directions; the space orthogonal to each main direction can be left free of actuation or controlled to accomplish some other goals. Complete attitude synchronization requires more measurements when compared to incomplete attitude synchronization, and it might be the case that a rigid body (such as a satellite) is not fully actuated but rather only actuated in the space orthogonal to a specific direction, in which case incomplete attitude synchronization is still feasible. The authors are with the ACCESS Linnaeus Center, School of Electrical Engineering, KTH Royal Institute of Technology, SE-100 44, Stockholm, Sweden. {ppereira, dimos}@kth.se. This work was supported by the EU H2020 (AEROWORKS) project and the Swedish Research Council (VR).

In [4], attitude control in a leader-follower network of rigid bodies has been studied, with the special orthogonal group being parametrized with Modified Rodrigues Parameters. The proposed solution guarantees attitude synchronization for connected graphs, but it requires all rigid bodies to be aware of a common and global orientation frame. In [5], [6], a controller for a single-leader single-follower network is proposed that guarantees global attitude synchronization at the cost of introducing a discontinuity in the control laws. In [7], attitude synchronization in a leader-follower network is accomplished by designing a non-linear distributed observer for the leader. In another line of work, in [3], [8], attitude synchronization is accomplished without the need of a common orientation frame among agents. Additionally, in [3], a controller for switching and directed network topologies is proposed, and local stability of consensus in connected graphs is guaranteed, provided that the control gain is sufficiently high. In this paper, we provide a stronger result, by describing the basin of attraction of a synchronized network for a family of controllers. In [1], attitude synchronization is accomplished with controllers based on behavior based approaches and for a bidirectional ring topology. The special orthogonal group is parametrized with quaternions, and the proposed strategy also requires a common attitude frame among agents. In [11], a quaternion based controller is proposed that guarantees a synchronized network of rigid bodies is a global equilibrium configuration, provided that the graph network is acyclic. This comes at the cost of having to design discontinuous (hybrid) controllers. In [9], controllers for complete attitude synchronization and for switching topologies are proposed, but this is accomplished at the kinematic level, i.e., by controlling the agents’ angular velocity (rather than their torque). This work is extended in [10] by providing controllers at the torque level, and similarly to [1], stability properties rely of high gain controllers. In this paper, we propose a distributed control strategy for synchronization of elements in the unit sphere domain. Unlike the special orthogonal group domain, and to the best of our knowledge, the unit sphere domain has received little attention. The controllers for accomplishing synchronization are described as functions of arbitrary distance functions, and, in order to exploit results from graph theory, we impose a condition on those distance functions that will restrict them to be invariant to rotations. As a consequence, the proposed controllers can be implemented by each agent

without the need of a common orientation frame. We restrict the proposed controllers to be continuous, which means that a synchronized network of agents cannot be a global equilibrium configuration, since S 2 is a non-contractible set [12]. Our main contribution lies in finding conditions on the distance functions that guarantee that i) a synchronized network is locally asymptotically stable for arbitrary connected network topologies; ii) a synchronized network can be achieved for almost all initial conditions in a tree graph network. Additionally, we provide explicit domains of attraction for the network to converge to a synchronized network; and we characterize the equilibria configurations for some general, yet specific, types of graph networks. Finally, when performing synchronization along a principal axis, we propose a controller that does not require full torque, but rather torque orthogonal to that principal axis. A preliminary and reduced version of this work was submitted to the 2015 IEEE Conference on Decision and Control [13]. With respect to this preliminary version, this paper presents significantly more details on the derivation of the main theorems and provides additional results. In particular, the domain of attraction of the synchronized equilibrium has been extended; further results on stability, or lack thereof, of some non-synchronized equilibria are provided; results on convergence to a constant unit vector are also provided; and additional examples on possible distance functions, and their properties, are provided. The remainder of this paper is structured as follows. In Section III, the problem statement is described; in Section IV, the proposed solution is presented; in Sections V and VI, convergence to a synchronized network is discussed for tree and non-tree graphs, respectively; in Section VII an alternative constrained control law is proposed; and, in Section VIII, simulations are presented that support the theoretical results. II. N OTATION Given a matrix A ∈ Rn×m , A:j denotes the j th column of A, for all j ∈ {1, · · · , m}, and Ai: denotes the ith row of A, for all i ∈ {1, · · · , n}. 0n ∈ Rn and 1n ∈ Rn denote the zero column vector and the column vector with all components ¯ n ∈ Rn denotes a column vector in equal to 1, respectively; 1 n {x ∈ R : xi = 1 ∨ xi = −1, ∀i = {1, · · · , n}} (i.e., vector whose elements are either 1 or −1); when the subscript n is omitted, the dimension n is assumed to be of appropriate size. In ∈ Rn×n stands for the identity matrix, and we omit its subscript when n = 3. ¯In ∈ Rn×n is a diagonal matrix whose diagonal elements are either 1 or −1. The matrix S (x) ∈ R3×3 is a cross product skew-symmetric matrix and it satisfies S (a) b = a × b, for any a, b ∈ R3 . The map Π(x) : {x ∈ R3 : xT x = 1} 7→ R3×3 yields a matrix that represents the orthogonal projection operator onto the subspace perpendicular to x, and it satisfies Π (x) = I − xxT . We denote the Kronecker product between A ∈ Rm×n and B ∈ Rs×t by A ⊗ B ∈ Rm s×n t . For a function f (·) parametrized in t, we denote f |t=t′ as f evaluated at t′ . For

two vectors a, b ∈ Rn , a = ±b means that either a = b or a = −b. Two non-zero vectors a, b ∈ Rn have the same direction if there exists λ ∈ R such that b = λa. For e ∈ Rn , ei stands for the ith component of e; and for e ∈ RM n , T  ei , eM (i−1)+1 · · · eM i (n, M ∈ N). We say a function f : (a, b) 7→ R is of class C n if its first n+ 1 derivatives (i.e., f (0) , f (1) , · · · , f (n) ) exist and are continuous on (a, b). We also use the generic notation {ai }i={1,··· ,N } , {a1 , · · · , aN } where ai ∈ A for all i ∈ {1, · · · , N } and some N ∈ N, and where A is an arbitrary space (for example, S 2 or R3 or N); finally, we denote |{ai }i={1,··· ,N }| = N . III. P ROBLEM S TATEMENT We consider a group of N agents, indexed by the set N = {1, · · · , N }, operating in the unit sphere domain S 2 = {x ∈ R3 : xT x = 1}. The group of agents network can be modeled as an undirected static graph, G = {N , E}, with N as the vertices set indexed by the team members, and E as the edges set. For every pair of agents, i ∈ N and j ∈ N \{i}, that are aware of each other’s relative attitude, we say agent j is a neighbor of agent i, and vice-versa; also, we denote Ni ⊂ N as the neighbor set of agent i. Each agent i has its own orientation frame (w.r.t. an unknown inertial orientation frame), represented by Ri ∈ SO(3). Let the unit vector ni ∈ S 2 be a direction along ¯ i , where n ¯ i ∈ S 2 is a agent’s i orientation, i.e., ni , Ri n constant unit vector, specified in the agent i body orientation frame, and known by agent i. In this paper, the goal of attitude synchronization is not that all agents share the same complete orientation, i.e., R1 = · · · = RN , but rather that all agents share the same orientation along a specific direction, i.e., n1 = · · · = nN . Figure 1 illustrates the concept of incomplete synchronization for two agents. Notice that agent i is not aware of ni (since this is specified w.r.t. an unknown inertial orientation frame); instead, agent i is aware of its ¯ i – fixed in its own orientation frame – and the direction n relative attitude between its orientation and its neighbors’ own orientation. For example, in a group of satellites that ¯ = [1 0 0]T for all satellites, must align their first axis, n and the desired synchronized network of satellites satisfies ¯. ¯ = · · · = RN n R1 n A rotation matrix R ∈ SO(3) evolves with kinematics

˙ n = S (Rω) R¯ R˙ = RS (ω) ⇒ R¯ n ⇔ n˙ = S (Rω) n, (1) where ω ∈ R3 is the body-framed angular velocity, and n = ¯ ∈ S 2 . For a rigid body with moment R¯ n for some constant n T of inertia J = J ∈ R3×3 , the body-framed angular velocity dynamics are given by d (RJω) = RT ⇔ dt ⇔J ω˙ = −S (ω) Jω + T,

(2) (3)

with T ∈ R being a torque expressed in the body attitude frame, and that can be actuated. 3

IV. P ROPOSED S OLUTION A. Preliminaries R1 u 3 R1 u 2

R2 u 2

R2 u 3

¯1 n 1 ≡ R1 n ¯2 n 2 ≡ R2 n R1 u 1

R2 u 1

(a) Two non-synchronized rigid bodies.

R1 u 3

R2 u 3

R1 u 2

R2 u 2 ¯1 n 1 ≡ R1 n

¯2 n 2 ≡ R2 n

R1 u 1

R2 u 1

(b) Two synchronized rigid bodies (where R1 = R2 ).

R2 u 2

R1 u 3 R1 u 2

R2 u 3 ¯1 n 1 ≡ R1 n

¯2 n 2 ≡ R2 n R2 u 1

R1 u 1

We first present some definitions and results from graph theory that will be used in later sections [14]. A graph G = {N , E} is said to be connected if there exists a path between any two vertices in N . G is a tree if it is connected and it contains no cycles. An orientation on the graph G is the assignment of a direction to each edge (i, j) ∈ E, where each edge vertex is either the tail or the head of the edge. For brevity, we denote N = |N |, M = |E| and M = {1, · · · , M }. Additionally, and for notational convenience in the analysis that follows, consider the sets E = {(i, j) ∈ N × N : j ∈ Ni }, i.e., the set of edges of the graph G; and E¯ = {(i, j) ∈ E : j > i}. For undirected graph networks, we can construct an injective function κ ¯ : E¯ 7→ M from which it is possible to construct a second, now surjective, function κ : E 7→ M, which satisfies κ(i, j) = κ ¯ (i, j) when j > i and κ(i, j) = κ ¯ (j, i) when j < i. As such, by construction, for every (i, j) ∈ E, κ(i, j) = κ(j, i), since we consider undirected graphs. The function κ(·, ·) thus assigns an edge index to every unordered pair of neighbors {i, j}. The incidence matrix B ∈ RN ×M of G is the {0, ±1} matrix, such that for (i, j) = κ ¯ −1 (k) and for all k ∈ M, Bik = 1, Bjk = −1 and Blk = 0 for all l ∈ N \{i, j}. Example 1: In Fig. 2, three graphs with equivalent incidence matrices are presented. (Two matrices D, E ∈ Rn×m are said to be equivalent iff there exist non-singular P ∈ Rn×n and Q ∈ Rm×m such that D = P EQ [15].) The incidence matrix in Fig. 2(a) is given by B1 =

(c) Two synchronized rigid bodies (where R1 6= R2 ).

Fig. 1: In incomplete synchronization, n rigid bodies, indexed by i = {1, · · · , n}, synchronize the unit vectors ¯ i , where n ¯ i is fixed in rigid body i. In ni , Ri n ¯1 = n ¯ 2 = √13 [1 1 1]T (u1 ,u2 and u3 stand Figs. 1(a)-1(c), n for the canonical basis vectors of R3 ).

Definition 1: Two unit vectors n1 , n2 ∈ S 2 are diametrically opposed if nT1 n2 = −1, and synchronized if nT1 n2 = 1. A group of unit vectors {ni }i∈N is synchronized if all unit vectors are synchronized with each other.

1 −1 0

 0 1 1 0 . −1 −1

˜1 ∈ RN ×M , and a Consider a graph, with incidence matrix B ˜ second graph, with incidence matrix B2 ∈ RN ×M , obtained ˜2¯I, ˜ 1 = Γ1 B from the previous after a swap of nodes. Then B N ×N where Γ1 ∈ R is a permutation matrix corresponding to the swap of nodes (permutation of rows) and ¯I ∈ RM ×M is a diagonal matrix with diagonal elements ±1 (column k ∈ M needs to be multiplied by −1 when, after permutation of rows, i becomes larger than j with (i, j) = κ ¯ −1 (k)). The graph in Fig. 2(b) is obtained from that in Fig. 2(a) by swapping nodes 1 and 2, and, as such, its incidence matrix is given by   0 1 0 1 0 0 0 −1 1 0 0 1 0 −1   −1 1 0 −1  1 0 1  0 0 −1 −1 0

B2 = Γ1 B1¯I = 1 =

Problem 1: Given a set of dynamic agents with unit vectors {ni }i∈N , angular velocities {ωi }i∈N and moments of inertia {Ji }i∈N satisfying (1) and (2), design distributed control laws for the torques {Ti }i∈N , in the absence of a common inertial orientation frame, that guarantee that all unit vectors are synchronized with each other.



 1 −1 0 0  0 1 −1 0 0   0 0 1 1 0 = −1 0 1 0

 0 0 1

 1 0 0 1 , −1 −1

where column 1 needs to be multiplied by -1 since rows 1 and 2 have swapped and κ ¯ (1, 2) = 1. Consider again a graph, ˜1 ∈ RN ×M , and a second graph, with with incidence matrix B ˜2 ∈ RN ×M , obtained from the previous incidence matrix B ˜1 = B ˜ 2 Γ2 , after a swap of edges (edges’ numbers). Then B

n2 κ ¯ (1, 2) = 1

κ ¯ (2, 3) = 2

n3

n1

κ ¯ (1, 3) = 3

κ ¯ (1, 3) = 2

n3

n1

(a) Graph with incidence matrix B1

κ ¯ (1, 2) = 1

κ ¯ (2, 3) = 3

n2

(b) Same graph as in Fig. 2(a) apart from a swap between nodes 1 and 2 (incidence matrix B2 )

n3

κ ¯ (1, 2) = 3

κ ¯ (2, 3) = 1

Fig. 2: Three graphs with equivalent incidence matrices

where Γ2 ∈ RM ×M is a permutation matrix corresponding to the swap of edges (permutation of columns). The graph in Fig. 2(c) is obtained from that in Fig. 2(b) by swapping edges 1 and 3, and, as such, its incidence matrix is given by B3 = B2 Γ 2 =

1 1 −1 0 0 −1

 0 0 1 0 −1 1



n2

(c) Same graph as in Fig. 2(b) apart from a swap between edges 1 and 3 (incidence matrix B3 )





Bc ,

n1 κ ¯ (1, 3) = 2

Since [Bc¯ Bc1 ] is a tree, it must be positive definite (see Proposition 1); thus, it follows that the null space of B has dimension 1, i.e., |N (B)| = 1, and there exists a unique (up to a scalar multiplication) non-zero vector e ∈ RM such that Be = 0. Without loss of generality, assume that

   0 1 0 1 1 1 0 =  1 0 −1 . 0 0 −1 −1 0

Proposition 1: If G is a tree, then B T B is positive definite [16]. The same conclusion holds for (B ⊗ I)T (B ⊗ I). Proposition 2: If G is connected but not a tree, then the null space of the incidence matrix, i.e., N (B), is non-empty, and it corresponds to the cycle space of G (Lemma 3.2 in [17]). When m ≥ 3 edges form a cycle, we denote by C ⊆ {1, · · · , M } the set of indices that correspond to the cycle edges. Consider a network with n ∈ N cycles, {Ci }i={1,··· ,n} . A cycle Ci is said to be independent if Ci ∩ Cj = ∅ for all j ∈ {1, · · · , n}\{i}. In Fig. 3(a), a graph with two independent cycles is presented. Additionally, we say two cycles C1 and C2 share only one edge when |C1 ∩C2 | = 1 and C1 ∪ C2 contains edges from only the following three cycles (in {Ci }i={1,··· ,n} ): C1 , C2 and C = C1 ∪ C2 \{C1 ∩ C2 }, with |C| = |C1 | + |C2 | − 2. Figures 3(b) and 8(c) present graphs with two cycles that share only one edge. Proposition 3: Consider a graph G with m independent cycles, {Ci }i={1,··· ,m} . Then the null space of B is given by N (B) = {e ∈ RM : ek = ±el , ∀k, l ∈ Ci , i = {1, · · · , m}}; and the null space of B ⊗ In is given by N (B ⊗ In ) = {e ∈ RM n : ek = ±el , ∀k, l ∈ Ci , i = {1, · · · , m}}. Proof: Without loss of generality, consider a graph with only one cycle composed of Mc edges. Then, its associated incidence matrix B can be divided in two parts, i.e., B , [Bc¯ Bc ]: Bc corresponds to all edges that are part of the cycle; and Bc¯ corresponds to all other edges. Bc can be further partitioned in two parts, i.e., Bc , [Bc1 Bc2 ], where Bc2 is a single column matrix corresponding to a single edge of the cycle and such that [Bc¯ Bc1 ] corresponds to a tree.

Bc1

Bc2



=

         

1 −1 0 .. . 0 0 0

··· ··· ··· .. .

0 0 0 .. .

0 ··· 0 ··· 0 0

1 −1 0

0 1 −1 .. .

1 0 0 .. .



     ,  0   −1  0

PM −1 which means, Bc2 = i=1c (Bc1 )i . Consequently, the non1]T belongs to the nullzero vector e = [0TM −Mc 1TMc −1 − P M −1 1 2 space of B, since [Bc¯ Bc Bc ]e = i=1c (Bc1 )i − Bc2 = 0. For B ⊗ In , its null-space is spanned by the columns of e ⊗ In = [0 In · · · In − In ]T . In general, the incidence matrix will be of the form B = Γ1 [Bc¯ Bc1 Bc2 ]¯I Γ2 , with Γ1 ∈ RN ×N and Γ2 ∈ RM ×M as permutation matrices and ¯I ∈ RM ×M as a diagonal matrix with diagonal elements ±1; i.e., the incidence matrix B will be equivalent to [Bc¯ Bc1 Bc2 ] apart from a reordering of nodes’ and edges’ numbering. In that case, the null space of B will be spanned by ΓT2 ¯I[0TM −Mc 1TMc −1 − 1]T , or, alternatively, N (B) = {e ∈ RM : ek = ±el , ∀k, l ∈ C}, where C is the set of the edges that form the cycle. For m independent cycles, {Ci }i={1,··· ,m} , i.e., cycles that do not share edges, N (B) = {e ∈ RM : ek = ±el , ∀k, l ∈ Ci , i = {1, · · · , m}}. Similar conclusions extend to N (B ⊗ I). Notice that for an incidence matrix B ∈ RN ×M , there are M edges and these belong to R. On the other hand, for the incidence matrix B ⊗ In (with B ∈ RN ×M ), there are M edges, but, since the agents operate in an n-dimensional space, those edges belong to Rn . With that in mind, under the conditions of Proposition 3, N (B) = {e ∈ RM : ek = ±el , ∀k, l ∈ Ci , i = {1, · · · , m}} means that N (B) is the linear space where all edges of an independent cycle have the same absolute value. On the other hand, N (B ⊗ In ) = {e ∈ RM n : ek = ±el , ∀k, l ∈ Ci , i = {1, · · · , m}} means that N (B ⊗ In ) is the linear space where all edges of an independent cycle have the same direction and norm (or are all zero). Example 2: Figure 3(a) displays a graph with two independent cycles, with incidence matrix and its null space in (4). 

1 0 −1 1  B1 =   0 −1  0 0 0 0

     0  1    1 1 1 0    1  0          0 0 0 0       0 −1  ,  . −1 0 0 0 , N (B ) = span 1  0  1        0 −1 0 1     0 −1     0 0 −1 −1   1 0

(4)

Proposition 4: Consider a graph G with m1 independent cycles, {Di }i={1,··· ,m1 } , and m2 pairs of cycles that share only one edge, {(Ei1 , Ei2 )}i={1,··· ,m2 } . Then the null space of B is given by N (B) = {e ∈ RM : ek = ±el , ∀k, l ∈ Di , i = {1, · · · , m1 }} ∪ {e ∈ RM : ek = ±el , ∀k, l ∈ Ei1 \{Ei1 ∩ Ei2 }, ep = ±eq , ∀p, q ∈ Ei2 \{Ei1 ∩ Ei2 }, i = {1, · · · , m2 }}; and the null space of B ⊗ In is given by N (B ⊗ In ) =

{e ∈ RM n : ek = ±el , ∀k, l ∈ Di , i = {1, · · · , m1 }} ∪ {e ∈ RM n : ek = ±el , ∀k, l ∈ Ei1 \{Ei1 ∩ Ei2 }, ep = ±eq , ∀p, q ∈ Ei2 \{Ei1 ∩ Ei2 }, i = {1, · · · , m2 }}.

n2

Proof: Without loss of generality, consider a graph with only one pair of cycles that share only one edge. Similarly to the proof of Proposition 3, we partition the incidence matrix as B , [Bc¯ Bc ] and through a similar argument we conclude that |N (B)| = 2. In this scenario, Bc is decomposed in three parts. Without loss of generality, assume that   Bc , Bc1 Bc2 Badj 

=

1  −1   ..  .   0   0   0    0    0    0 0

−1 0 0 0

··· ··· .. .

0 0 .. .

··· 0 0

1 −1 0

0

···

0

0 1

0 0

0 0 0 −1

0 0 .. .

··· ··· .. .

0 0 .. .

1 0 .. .

0 0 1

0

−1

··· 0 ··· .. .

0 0 0 .. .

0 0 0 .. .

0 .. .

0 .. .

0

0

0 0

1 0

0

0 0 1 0 .. .

···

0

0

··· ···

0 0

−1 0

..

.

1

0

. ···

−1 0

−1 0

..

κ ¯ (4, 5) = 6

n5 κ ¯ (1, 5) = 5

n2 κ ¯ (2, 3) = 2

n3

n4

κ ¯ (1, 2) = 1

κ ¯ (1, 3) = 3

κ ¯ (3, 6) = 8

κ ¯ (1, 4) = 4

κ ¯ (4, 5) = 6

n5

n1 κ ¯ (1, 5) = 5 κ ¯ (1, 6) = 7

n6

(b) Graph with one independent cycle and two cycles that share only one edge (graph in Fig. 3(a) with one extra node and two extra edges).

Fig. 3: Two graphs, one with two independent cycles and another with one independent cycle and two cycles that share only one edge.

where [Bc1 Badj ] corresponds to one cycle (of dimension Mc1 ≥ 3), [Bc2 Badj ] corresponds to the second cycle (of dimension Mc2 ≥ 3),Pand Badj corresponds PM −1to the shared −1 M edge. As such, Badj = i=1c1 (Bc1 )i = i=1c2 (Bc2 )i , which means that N (B) is given by     0 0       0Mc −1  1 Mc1 −1 1  , , (5) span  0Mc −1  1Mc −1     2 2   −1 −1 while N (B ⊗ In ) is spanned by the columns of     0 0 1Mc −1 ⊗ In  0Mc −1 ⊗ In  1 1     0Mc −1 ⊗ In  , 1Mc −1 ⊗ In  . 2 2 −In −In

κ ¯ (1, 3) = 3

κ ¯ (1, 4) = 4

n1

(a) Graphs two independent cycles.



         ,         

κ ¯ (1, 2) = 1

κ ¯ (2, 3) = 2

n3

n4

(6)

The null space in (5) can be equivalently written as [0T α1TMc1 −1 β1TMc2 −1 − (α + β)]T for any α, β ∈ R. In general, the incidence matrix will be of the form B = Γ1 [Bc¯ Bc1 Bc2 Badj ]¯I Γ2 , with Γ1 ∈ RN ×N and Γ2 ∈ RM ×M as permutation matrices and ¯I ∈ RM ×M as a diagonal matrix with diagonal elements ±1; i.e., the incidence matrix B will be equivalent to [Bc¯ Bc1 Bc2 Badj ] apart from a reordering of nodes’ and edges’ numbering. With that in mind, the null space in (5) can also be written as N (B) = {e ∈ RM : ek = ±el , ∀k, l ∈ E 1 \{E 1 ∩ E 2 }, ep = ±eq , ∀p, q ∈ E 2 \{E 1 ∩E 2 }, } , with E 1 = {M −Mc1 −Mc2 +1, . . . , M − Mc2 − 1} ∪ {M } and E 2 = {M − Mc2 , . . . , M − 1} ∪ {M } (i.e, E 1 corresponds to the set of edges of one cycle, and E 2 corresponds to the set of edges of the other cycle, where the M th edge is the shared edge). Including independent cycles or other pairs of cycles that share only one edge does not affect the previous conclusions regarding the null space, and, therefore, the conclusions of the Proposition follow.

The results of Proposition 4 can be interpreted as follows. From (5) it follows that N (B) is the linear space where, for each cycle, all its edges (∈ R), except the one that is shared, have the same absolute value; while, from (6), it follows that N (B ⊗ In ) is the linear space where, for each cycle, all its edges (∈ Rn ), except the one that is shared, have the same direction and norm (or are all zero). Example 3: Figure 3(b) displays a graph with one independent cycle and two cycles that share only one edge, with incidence matrix and its null space in (7) (B1 defined in (4)). 

   B1 B=    0

1 0 0 0 0 1 0 0 0 0 −1 −1



   ,   

      1 0 0                1  0  0   −1  1  0             0  0  1       N (B) = span   ,   ,   . (7)   0  0 −1     0  0  1                0 −1  0       0 1 0

B. Distance in S 2 Consider an arbitrary distance function between unit vectors d(n1 , n2 ) : S 2 × S 2 → R+ 0 , satisfying d(n1 , n2 ) ≥ 0; d(n1 , n2 ) = 0 ⇔ n1 = n2 ; and d(n1 , n2 ) = d(n2 , n1 ). In order to exploit the results in Propositions 1-3, the following condition is imposed, S (n1 )

∂d(n1 , n2 ) ∂d(n1 , n2 ) = −S (n2 ) , ∂n1 ∂n2

(8)

1 ,n2 ) is the gradient of the distance function w.r.t. where ∂d(n ∂n1 the first argument. By imposing such condition, it follows

that

max = ∞

˙ 1 , n2 ) = n˙ ∂d(n1 , n2 ) + n˙ T ∂d(n1 , n2 ) (9) d(n 2 ∂n1 ∂n2 ∂d(n1 , n2 ) ∂d(n1 , n2 ) =ω1T RT1 S (n1 ) + ω2T RT2 S (n2 ) (10) ∂n1 ∂n2  T  T     ∂d(n1 , n2 ) ω R1 0 1 (11) = 1 ⊗I 0 RT2 ω2 −1 ∂n1  T where we find an incidence matrix 1 −1 corresponding to an edge between unit vectors n1 and n2 (agent 1 as the tail and agent 2 as the head of the edge). From (9) to (10), the unit vectors kinematics (1) have been used, and from (10) to (11) condition (8) has been used.

g g g g

T 1

It can be verified that distance functions d(n1 , n2 ) = f (arccos(nT1 n2 )), for any f : [0, π] → R of class C 1 in (0, π), satisfy (8). Since d(n1 , n2 ) is positive semi-definite and zero iff n1 = n2 (i.e., a boundary condition d(n, n) = 0 for all n ∈ S 2 is required), the function f (θ) is constrained to be positive definite and zero iff θ = 0. In fact, d(n1 , n2 ) = f (arccos(nT1 n2 )) are the only functions that satisfy (8) (see Appendix X-C). Moreover, distance functions of the form d(n1 , n2 ) = f (arccos(nT1 n2 )) are invariant to rotation of their arguments, i.e., d(Rn1 , Rn2 ) = d(n1 , n2 ) for any R ∈ SO(3). This property guarantees that the proposed controllers can be implemented without the need of a common inertial orientation frame. A simple distance function is found by choosing f (θ) = θ, in which case we define dθ (n1 , n2 ) : S 2 ×S 2 → [0, π] as dθ (n1 , n2 ) = arccos(nT1 n2 ), and whose gradient is given by −1 −1 ∂dθ (n1 , n2 ) = p n2 .(12) n2 = ∂n1 kS (n1 ) n2 k 1 − (nT1 n2 )2

The gradient of an arbitrary distance function, d(n1 , n2 ) = f (dθ (n1 , n2 )), can be obtained from (12) as ∂dθ (n1 , n2 ) ∂d(n1 , n2 ) = f ′ (dθ (n1 , n2 )) ∂n1 ∂n1 f ′ (dθ (n1 , n2 )) f ′ (dθ (n1 , n2 )) =− n2 = − p n2 kS (n1 ) n2 k 1 − (nT1 n2 )2 f ′ (dθ (n1 , n2 )) n2 = −p 1 − cos2 (dθ (n1 , n2 )) , −g(dθ (n1 , n2 ))n2 .

(13)

For reasons that will become apparent later, the distance functions are constrained to d(n1 , n2 ) = f (dθ (n1 , n2 )), with f (·) as an increasing function in (0, π) and of class C 2 in (0, π) (see Remark 5). Under this constraint, the distance between unit vectors is maximum when two unit vectors are diametrically opposed, i.e., d(n1 , −n1 ) =

max d(v1 , v2 ) , dmax , ∀n1 ∈ S 2 .(14)

v1 ,v2 ∈S 2

Definition 2: Consider a function g : [0, π] → R+ 0 of class C in (0, π), that satisfies 0 < g(θ) < +∞ for all θ ∈ (0, π), and limθ→0+ g(θ) , g 0 < ∞ and limθ→π− g(θ) , g π ≥ 0. 1

min = 0

∈ ∈ ∈ ∈

P P0 P 0,∞ P∞

1 π 2

0

π

Fig. 4: Four functions for each of the classes introduced in Definition 2.

We say g(θ) is of •









class class class class class

P if g 0 > 0 and g π < +∞, P ∞ if g 0 > 0 and g π = +∞, P 0 if g 0 = 0 and g π < +∞, P 0,∞ if g 0 = 0 and g π = +∞, P¯ if it is of any of the previous classes.

Figure 4 illustrates the four different classes introduced in Definition 2. In what follows, all functions introduced can depend on the edge index of the network graph, given by the function κ : E 7→ M, i.e., (possibly) different distance functions are assigned to different edges. For each edge k = κ(i, j) = κ(j, i) ∈ M, we use the notation dk (·, ·) = dκ(i,j) (·, ·) = dκ(j,i) (·, ·) interchangeably; also, we denote dmax as the maximum of dk (·, ·) (as defined in (14)); k fk (·) as the function f (·) associated to dk (·, ·); and gk (·) as the function g(·) associated to dk (·, ·). For all k ∈ M, ¯ Figure 5 illustrates this we restrict gk (·) to be of class P. concept. C. Solution to Problem 1 Recall, from Section IV, that κ(i, j) stands for the edge formed by agents i and j. In our framework, since the distance function can depend on the edge (see Figure 5), dk (·, ·) stands for the distance on edge k = κ(i, j) = κ(j, i). For edge k, where κ ¯−1 (k) = (i, j), we denote its tail by ¯ n = nj (see also Fig. 5). In k n = ni , and its head by k order to accomplish the goal in Problem 1, we propose the following decentralized control law for Ti , X ∂dκ(i,j) (ni , nj ) , (15) Ti = −σ(ωi ) − RTi S (ni ) ∂ni j∈Ni X (13) = −σ(ωi ) + gκ(i,j) (dθ (¯ ni , RTi nj ))S (¯ ni ) RTi nj , j∈Ni

n2 , ¯1 n

κ ¯ (1, 2) = 1

n1 , 1 n , 2 n

d1 (n1 ,n2 )=1−nT 1 n2 f1 (θ)=1−cos(θ) g1 (θ)=1∈P dmax =2 1

κ ¯ (2, 3) = 2 d2 (n2 ,n3 )=2 tan2 (arccos(nT 2 n3 )/2) f2 (θ)=2 tan

2

n3 , ¯2 n

θ 2

( )

g2 (θ)=sec4 ( θ ∈P ∞ 2) dmax =∞ 2

Fig. 5: Network with two edges and different distance functions for each edge. For each edge k = κ ¯ (i, j), ni , k n and nj , k¯ n, i.e., a node can be denoted by its node number or by an edge number appended with a subscript that distinguishes between the tail or the head.

with σ(x) : R3 → R3 denoting a direction preserving function with possibly bounded norm, i.e. kσ(·)k ≤ σ max ; where kσ(x)k ≤ σs kxk with σs < ∞; and also, Dσ(x) , ∂σ(x) ∂x is assumed upper bounded, i.e., kDσ(·)k ≤ σ ′max < ∞ (i.e., σ(x) is Lipschitz, see Lemma 3.1 in [18]). Stacking all torque vectors Ti , (15) can be rewritten as       T1 σ(ω1 ) e1  ..   ..   ..  T T ,  .  = −  .  − R (B ⊗ I)  . , (16) TN

σ(ωN )

eM | {z } ,e

where R is a block diagonal matrix with rotation matrices R1 to RN as its diagonal elements; and where ek , ¯ n) k stands for the error associated to edge S (k n) ∂dk (∂kkn, n k, and e is the stack variable of all edge errors. As such, from (13), it follows that kek k = gk (dθ (k n, k¯ n))) kS (k n) k¯ nk ,

(17)

which means that this norm can grow unbounded only if two neighboring unit vectors are diametrically opposed, since ¯ Moreover, if gk is of class P ∪ P 0 , then gk is of class P. π kek k ≤ gk < ∞, and additionally kek k = 0 if and only if two neighboring unit vectors are aligned or diametrically opposed. The proposed torque exhibits three properties worth em∂d (ni ,nj ) phasizing. First, notice that RTi S (ni ) κ(i,j) = ∂ni T T T gκ(i,j) (dθ (¯ ni , Ri nj ))S (¯ ni ) Ri nj , where Ri nj can be measured by agent i in its own reference frame. This means the control law (15) can be implemented in the absence of a common orientation frame among agents. Secondly, if gκ(i,j) is of class P ∞ ∪ P 0,∞ , the control law may be ill defined (an indeterminate form of the type ∞ × 0 exists, for example, if f (θ) = θ2 is chosen) and care must be taken in those cases, as is done in Theorem 7. Finally, notice that Ti can be bounded by kTi k ≤ σ max + |Ni | maxj∈Ni (max0≤θ≤π gκ(i,j) (θ)) (if gκ(i,j) is an increasing π function, then max0≤θ≤π gκ(i,j) (θ) = gκ(i,j) ). As such, the proposed control law, for each agent i, can be implemented with bounded actuation provided that σ max < ∞, and provided that all gκ(i,j) are of class P ∪ P 0 for all j ∈ Ni . For the remainder of this paper, we dedicate efforts in studying the equilibria configurations induced by this control law (for different types of graphs), their stability (or lack

thereof), and what is the effect of the chosen distance functions. ¯ for all k ∈ Remark 5: Restricting gk (·) to be of class P, M, is twofold. First, it implies that the edge error between two neighboring unit vectors (i.e., ek for all k ∈ M) can be zero only if two neighboring unit vectors are aligned or diametrically opposed. Secondly, since g 0 < ∞, it follows that the control law (15) is well defined when two neighboring unit vectors are aligned. For example, if f (θ) = θ, then 1 ¯ since g 0 = ∞ (for which is not of class P, g(θ) = sin(θ) this choice, the control law (15) would be ill defined for a synchronized network). Remark 6: Guaranteeing that two neighbors {i, j} use the same distance function for the edge κ(i, j) = κ(j, i) can be accomplished in many different ways. If we assume each agent i ∈ {1, · · · , N } has its own distance function di , a possible approach is for agent i to select the distance function d +d dκ(i,j) = i 2 j for the edge formed by itself and each of its neighbors j ∈ Ni . This step must be performed before the synchronization is initiated. D. Lyapunov Function All results that follow are based on the same Lyapunov function. It is defined as V =

M P

dk (k n, k¯ n) +

k=1

=

P

N P

l=1

1 T 2 ω l Jl ω l

dκ(i,j) (ni , nj ) +

(i,j)∈E¯

N P

l=1

,

M P

dk (k n, k¯ n) + H

(18)

k=1

1 T 2 ω l Jl ω l

,

P

dκ(i,j) (ni , nj ) + H ,

(i,j)∈E¯

PN 1 T where H , l=1 2 ωl Jl ωl stands for the total rotational kinetic energy of  T  the network. For brevity, we denote ω , T T ω1 · · · ωN as the stack vector of all angular velocities. The time derivative of the Lyapunov function (18) is given P T by V˙ = ω T RT (B ⊗ I)e + N ω T l , where property (8) l=1 l has been used(see similarity of ω T RT (B ⊗ I)e and (11)). When V˙ is composed with the proposed control law in (16), it follows that V˙ = −

N X l=1

ωlT σ(ωl ) ≤ 0.

(19)

Assume now that V˙ and ω˙ l (for all l ∈ N ) are uniformly

continuous. In that case, uniform continuity of V˙ guarantees that V˙ converges to 0 (by invoking Barbalat’s Lemma), which in turn guarantees that ωl converges to 0 (for all l ∈ N ). On the other hand, convergence of ωl to 0 and uniform continuity of ω˙ l guarantee that ω˙ l also converges to 0 (again, by invoking Barbalat’s Lemma), which, together with (3), implies that Tl converges to 0 (for all l ∈ N ). From (16), it then follows that (B⊗I)e converges to 0, which is the ultimate conclusion that will be used in guaranteeing convergence to a synchronized network. All this discussion was based on the assumption that both V˙ and ω˙ l (for all l ∈ N ) are uniformly continuous. Next, conditions that ¨ l k (for all l ∈ N ) guarantee boundedness of kV¨ k and kω are provided, which in turn guarantee uniform continuity of V˙ and ω˙ l . The time derivative of V is given by V¨ = PN second T − l=1 (σ (ωl ) + ωlT Dσ(ωl )) ω˙ l , which is upper bounded by (see (2)) kV¨ k ≤

N X l=1

(kσ(ωl )k + kDσ(ωl )k kωl k) × · · · 

−1 · · · × λmin (Jl ) kTl k + λmax (Jl ) kωl k2



N  X kωl k  2 kTl k + λmax (Jl ) kωl k . ≤(σs + σ ′max ) λmin (Jl )

V. T REE G RAPHS Let us focus first on static tree graphs. For these graphs, Proposition 1 states that the null space of B ⊗ I is the empty set. For brevity, in what follows we denote mink∈M (dmax ), k ) and H(0) , H0 . min(dmax k Theorem 7: Consider a static tree topology for a group of unit vectors with kinematics (1) and dynamics (2). Also, consider the control law (16), where gk is of class P¯ for all k ∈ M. For all initial conditions satisfying H0 0 (otherwise all unit vectors are synchronized and n = ni , for any i ∈ N , suffices to complete the proof) and take (k, l) = nk −nl arg max(i,j)∈N ×N dθ (ni , nj ). Consider then n = kn k −nl k (well defined since dθ (nk , nl ) > 0). By construction, it follows that dθ (nk , n) = dθ (nl , n) = dθ (n2k ,nl ) . From Proposition 17, it follows that, for any j ∈ N , dθ (nj , n) ≤ dθ (nj , nk ) + dθ (nk , n) ≤ dθ (nl , nk ) + dθ (nk ,n) <  3 2 0 π , 2 dθ (nk , n). Thus, if dθ (nk , nl ) < 3 α, for some α ∈ then dθ (nj , n) < α for all k ∈ N , and the Proposition’s conclusion follows. Example 4: Consider the distance functions d(n1 , n2 ) =  α arccos(nT 1 n2 ) a for a > 0 and α ≥ 2. For these, dmax = a π and g is of class P ∞ for α = 2 and of class P 0,∞ for α > 2. Suppose all agents select the same distance

1 0.8 0.6 0.4

n3

z

0.2 I

(S 2 )N : ∃i∈{1,··· ,N } ∃j∈{1,··· ,N }\inTi nj = −1} as the space where one or more pairs of neighboring agents are initially diametrically opposed. Since Ω0 corresponds to a set of zero measure in the space of all initial conditions, i.e., (S 2 )N , convergence for almost all initial conditions is guaranteed for min(dmax ) = ∞. k

0

n1

n2

n

-0.2 -0.4 -0.6 -1

-0.8 -1 -1

-0.5 0 0.5 -0.5

0

0.5 I

1

1

I

x

y

Fig. 6: Three unit vectors n1 , n2 and n3 is a 30◦ -cone associated to unit vector n.

function for some α and assume H0 = 0.  In that  case, d(k n,k ¯ n)|t=0 1 π T < M ⇒ k n k¯ n > cos for all if 1 dmax Mα edges k, then all unit vectors converge to each other under Theorem’s 7 conclusions. Notice that by increasing α the upper bound on the angular errors can be made arbitrarily close to π. However, increasing α comes at the cost of slowing down convergence. If 0 < H0 < a, condition (21) becomes equivalent to  α1 !   H 1 0 T 1− , cos (2γ ⋆ ) , (23) π ¯ n > cos kn k M a and, by increasing a, convergence for arbitrary initial values of rotational kinetic energy can be guaranteed. A sufficient (though not necessary) condition for (23) to be satisfied for all edges, is that all unit vectors are initially contained in an open γ ⋆ -cone (if γ ⋆ ∈ [0, π2 ]) or an open π2 -cone (if γ ⋆ > π2 ) – see Proposition 9. Finally, notice that the limit (22) is given by  α−1 a α arccos(nT1 n2 ) S (n1 ) n2 lim , n1 →−n2 π π kS (n1 ) n2 k

and is not well-defined, which means the controller is illdefined if two neighboring unit vectors are ever diametrically opposed. (Under Theorem’s 7 conditions, this will however be avoided).

Example 5: Consider the distance function d(n1 , n2 ) = T 2 a tan2 arccos(n1 n2 )/2 , for which dmax = ∞ and g is ∞ of class P . If all edges have this distance function, then convergence to a synchronized network in a tree graph is guaranteed for almost all initial conditions. Theorem 11: Consider a static tree topology for a group of unit vectors with kinematics (1) and dynamics (2). Also, consider the control law (16), where gk is of class P ∪ P 0 for all k ∈ M. For all initial conditions satisfying H0 < n, min(dmax ) k

for some n ∈ M, and dk (k n, k¯ n)|t=0 min(dmax ) k

  H0 1 n− , ∀k ∈ M,(24) < M min(dmax ) k

the group of unit vectors converges to a configuration where no more than n−1 neighboring unit vectors are diametrically ¯ for some k ∈ M, the conclusion opposed. If gk is of class P, still holds, provided that dmax = ∞. k Proof: Following the same procedure as in the proof of Theorem 7, one concludes that kek k = gk (dθ (k n, k¯ n)) kS (k n) k¯ nk converges to zero for all edges. However, under the Theorem’s conditions, since gk is of class P ∪ P 0 , then ek is zero not only when two neighboring unit vectors are synchronized, but also when two neighboring unit vectors are diametrically opposed (notice that if gk is of class P ∞ ∪ P 0,∞ , the previous conclusion does not necessarily hold). Also, since gk is of class P ∪ P 0 , it follows that the control law (15) is always well-defined, even if two neighboring unit vectors are diametrically opposed. Following the sameP procedure as in the proof of Theorem 7, M one concludes that k=1 dk (k n, k¯ n)|t ≤ V (t) ≤ V (0) < n min(dmax ) for all time t ≥ 0, which implies that no more k than n− 1 neighboring unit vectors can ever be diametrically opposed. By invoking Barbalat’s Lemma, it follows that V˙ converges asymptotically to 0, which means that e converges to 0 as well (remember that N (B ⊗ I) = ∅), which, in turn, is satisfied if every pair of neighboring unit vectors are either synchronized or diametrically opposed. Since no more than n − 1 neighboring unit vectors can be diametrically opposed, then the group of unit vectors converges to a configuration where that is also the case. For the final statement in the Theorem, assume that, for an edge k ∈ M, gk is of class P¯ and dmax = ∞. Since V (t) ≤ k V (0) < ∞, it follows that dk (k n, k¯ n)|t ≤ V (t) ≤ V (0) < dmax for all t ≥ 0, which means the unit vectors that form k edge k will never be diametrically opposed. As such, (15) is always well-defined and the group of unit vectors converges to a configuration where no more than n − 1 neighboring unit vectors are diametrically opposed.

Example 6: α Consider the distance functions d(n1 , n2 ) =  1−nT 1 n2 for positive a and α ≥ 1. For these functions, a 2 dmax = a, and g is of class P for α = 1 (g 0 = g π = a2 ) and of class P 0 for α > 1 (g 0 = 0 and g π = a2α ). For these distance functions, control law (15) is well defined for any configuration. Also, condition (24) is equivalent to  α1   H0 1 T , cos(2γ ⋆ ). (25) n− ¯n > 1 − 2 kn k M a By increasing a, we can accommodate any initial rotational energy, and, by increasing α, we can guarantee convergence for a large set of initial conditions (i.e., if all edges possess this distance function with the same a and α, then (25) is satisfied for all edges, if all unit vectors are initially contained

in an open γ ⋆ -cone – if γ ⋆ ∈ [0, π2 ] – or an open if γ ⋆ > π2 ).

π 2 -cone



Under Theorem’s 11 conditions, the group of agents can converge to configurations where one or more pairs of neighbors are diametrically opposed. However, it does not provide any insight on whether these equilibrium configurations are stable or unstable. An initial examination is performed in Section X-A, where the angular velocities ωi (for all i ∈ N ) are assumed to be the control variables, rather than the torques Ti , and an equilibrium configuration with two or more diametrically opposed unit vectors is proved unstable. On the contrary, for an equilibrium configuration with all unit vectors synchronized, the equilibrium e = 0 is locally asymptotically stable. The analysis is based on the assumption that the agents angular velocities are controlled under the control law ω = RT (B ⊗ I)e. A rigorous analysis of the equilibria stability under the control law (16) is a subject of on-going research, but this preliminary analysis suggests a lack of stability for any configuration with diametrically opposed neighbors. Finally, notice that if limt→∞ n1 (t) = · · · = limt→∞ nN (t), Theorems 7 and 11 do not provide any insight on whether the limits limt→∞ ni (t) (for all i ∈ N ) actually exist; i.e., if the unit vectors converge to each other, it is not known whether those unit vectors converge to a constant unit vector or a time-varying unit vector. For the kinematic case (actuation in angular velocity ω), provided that the distance function satisfies some mild conditions, we can prove that, for a tree graph, all unit vectors converge to a constant unit vector (see details in Section X-B). For the dynamical case (actuation in torque T), the result applies, if we can find a Lyapunov function whose time derivative is negative with kωk and kek. VI. N ON -T REE G RAPHS In this section, we study the equilibria configuration induced by some more general, yet specific, graph topologies. Also, we study the local stability properties of the synchronized configuration for arbitrary graphs. We first give the following definition. Definition 4: Given n vectors xi ∈ R3 , for i ∈ {1, · · · , n}, we say that {xi }i∈{1,··· ,n} belong to a common plane if there exists a unit vector ν ∈ S 2 such that Π (ν) xi = xi for all i ∈ {1, · · · , n}. Let us first discuss a property that is exploited later in this section. Consider three unit vectors n1 , n2 and n3 , and assume that n1 6= ±n2 and n2 6= ±n3 . Under these assumptions, if S (n2 ) n3 S (n1 ) n2 =± , kS (n1 ) n2 k kS (n2 ) n3 k

(26)

then we can infer that n1 , n2 and n3 belong to a common plane (notice that kS (n1 ) n2 k = 6 0 and kS (n2 ) n3 k = 6 0). In S(n1 )n2 ∈ S2. order to prove this statement, consider ν , kS(n 1 )n2 k It follows immediately that Π (ν) n1 = n1 and Π (ν) n2 =

V2 1 0.8

1 0.6

0.5

0.4

V1

z-Axis

0.2 0

π 9

V3

V6

I

I

y-Axis

0 −0.5

-0.2 V5

-0.4

−1 1

-0.6

0.5 0 −0.5 I

−1

−1

y-Axis

−0.5 I

0.5

0

1

-0.8 -1

-1

x-Axis

-0.5

V4 I

0

0.5

1

x-Axis

(a) Equilibrium configuration with graph network shown in Fig. 8(c)

(a) Triangular configuration

V1 1

1 0.8 V2 0.6

0.5

5π 9

0 y-Axis

0.2

I

z-Axis

0.4

0

V3

V6

I

−0.5

-0.2 -0.4

−1 1 0 I

y-Axis

−1

−1

−0.5 I

0

0.5

1

-0.6 V4 -0.8

x-Axis

-1

-1

-0.5

V5 I

0

0.5

1

x-Axis

(b) Tetrahedron configuration

Fig. 7: Equilibrium configurations in a complete graph (K3 in Fig. 7(a) and K4 in Fig. 7(b)), with the same distance function for all edges (in Example 6 with α = 1)

(b) Equilibrium configuration with graph network shown in Fig. 8(c) n2

n3

n4

n5

n1 n6

n2 . It also follows that Π (ν) n3 = (I − νν T ) n3 = n3 − ν(ν T n3 ) = n3 , where ν T n3 = 0 follows from taking the inner product of (26) with n3 . Since Π (ν) n3 = n3 , it follows that n1 , n2 and n3 belong to a common plane. The following result then follows. Proposition 12: Consider the unit vectors n1 , . . . , nn , with |nTi ni+1 | 6= 1 for all i = {1, · · · , n − 1}. If S (nn−1 ) nn S (n1 ) n2 = ··· = ± , kS (n1 ) n2 k kS (nn−1 ) nn k

then all unit vectors belong to a common plane.

Theorem 13: Consider a group of unit vectors with kinematics (1) and dynamics (2). Also, consider the control law (16) where gk is of class P ∪ P 0 for all k ∈ M. If the graph network contains only independent cycles, then for each cycle, all its unit vectors converge to a common plane. Proof: Following the same steps as in the proof of Theorem 7, it follows that e converges to the null space of B ⊗ I. Now, consider a graph with only independent cycles and recall Proposition 3. Without loss of generality, consider that there is only one independent cycle and that the first n ≥ 3 edges form that cycle. Two possibilities exist: i) e converges to 0 and all unit vectors are either synchronized or some are diametrically opposed to others (in either case all unit vectors converge to a common plane); ii) e converges to some non-zero vector that, due to the network topology, belongs to N (B⊗I). From Proposition 3, it follows

(c) Graph with two cycles that share only one edge

Fig. 8: Two equilibrium configurations for group with network graph shown in Fig. 8(c), with the same distance function for all edges (in Example 6 with α = 1)

that ±e1 = · · · = ±en . In particular, all edges must have the same direction, which implies that S(1 n)¯1 n/kS(1 n)¯1 nk = · · · = ±S(n n)n¯ n/kS(n n)n¯ nk. As such, from Proposition 12, it follows that all unit vectors that form the cycle belong to a common plane when (B ⊗ I)e = 0. Figure 7(a) exemplifies the statement in Theorem 13, where three agents are connected to each other (in a complete graph with three agents there is one independent cycle) and the distance function is the same for all edges. In this scenario, and because the distance function is the same for all edges, the unit vectors form an equilateral triangle. In Fig. 7(b), four agents form a complete graph, which does not fit the conditions of Theorem 13 (a complete graph with fours agents has three cycles, but they all share edges with each other, i.e., they are not independent); for this scenario, we can find non-planar equilibrium configurations, and, in Fig. 7(b), an equilibrium configuration is shown where the four agents form a tetrahedron. Theorem 14: Consider a group of unit vectors with kinematics (1) and dynamics (2). Also, consider the control law (16) where gk is of class P ∪ P 0 for all k ∈ M. If the

graph network contains only independent cycles or cycles that share only one edge, then all unit vectors belonging to each independent cycle converge to a common plane, while all unit vectors belonging to each pair of cycles that share only one edge also converge to a common plane. Proof: For graph networks with only independent cycles, the proof is the same the proof of Theorem 13. Thus, and w.l.o.g, consider graphs with only two cycles that share only one edge, and recall Proposition 4 (adding other cycles does not affect the following conclusions, as long as those cycles are not formed by edges that also form the two previously mentioned cycles). W.lo.g, consider the first n = q + s − 1 ≥ 5 edges are part of the two cycles that share only one edge, where the edges {1, · · · , q − 1, q} form the first cycle (|{1, · · · , q − 1, q}| = q), while the edges {q, q+1, · · · , n} form the second cycle (|{q, q+1, · · · , n}| = s), and with the q th edge as the shared edge between cycles (for brevity, we denote q − 1 = p and q + 1 = r). Under the Theorem’s conditions, and similarly to the proof of Theorem 7, it follows that e converges to the null space of B ⊗ I. As such, two possibilities exist: i) e converges to 0 and all unit vectors are either synchronized or some are diametrically opposed to others (in either case, this corresponds to a scenario where all unit vectors belong to a common plane); ii) e converges to some non-zero vector that, due to the graph network topology, belongs to N (B⊗I), where, from (6),  ¯ q−1 )T (α ⊗ 1

(α + β)T

¯ s−1 )T (β ⊗ 1

0

 T T

,

for any α, β ∈ R spans N (B ⊗ I) (see Proposition 4). 3

Suppose q n 6= ±q¯n (recall that q n and q¯n are the head and tail unit vectors that form the edge q), then eq 6= 0 and therefore α + β 6= 0 ⇒ α 6= 0 ∨ β 6= 0. If α = 0 (or β = 0), it follows that the unit vectors in the first (or second) cycle belong to a common plane, since they are either all synchronized or some are diametrically opposed to others. Also, if α = 0 (or β = 0), it follows that β 6= 0 (or α 6= 0), and we follow the steps in the proof of Theorem 13 to conclude that all unit vectors in the second (or first) cycle belong to a common plane. However, since the unit vectors of the first (or second) cycle are either all synchronized or some are diametrically opposed to others, it follows that all unit vectors in both cycles belong to a common plane Consider now the case where α 6= 0 and β 6= 0, which implies that ±e1 = · · · = ±ep 6= 0 as well as ±er = · · · = ±en 6= 0. In particular, this implies that all edges in each cycle (except perhaps the shared edge) have the



same direction, i.e., S(1 n)¯1 n/

S(1 n)¯1 n

= · · · = ±S p np¯n/

S p np¯n

as well as S(r n)r¯n/kS(r n)r¯ nk = · · · = ±S(n n)n¯ n/kS(n n)n¯ nk. Thus, by Proposition 12, it follows that all unit vectors in each cycle belong to a common plane (since edges 1 to p = q−1 contain the same unit vectors as edges 1 to q; and edges r = q + 1 to n contain the same unit vectors as edges q to n). However,

recall that edge q is formed by two unit vectors (q n and q ¯n) that belong simultaneously to both cycles; additionally, since, by assumption, eq 6= 0, it follows that q n and q¯n form a unique plane, which consequently implies that all unit vectors in both cycles belong to a common plane (given by the unit vectors of the shared edge) when (B ⊗ I)e = 0. Suppose now that q n = ±q¯n. Then eq = 0, and it follows that α + β = 0 ⇒ α = −β 6= 0 ∨ α = β = 0. If α = β = 0, then e = 0 and the Theorem’s conclusions follow. If, however, α = −β 6= 0, then all edges in the two cycles (except the shared edge) must have the same direction and norm, i.e., ±e1 = · · · = ±eq−1 = ±eq+1 = · · · = ±en 6= 0. Once again, by Proposition 12, this implies that all unit vectors in both cycles belong to a common plane. Figure 8 exemplifies the statement in Theorem 14, where six agents form the graph in Fig. 8(c) and the distance function is the same for all edges (distance function in Example 6 with α = 1). In this scenario, there are two cycles that share only one edge, one cycle composed of unit vectors {n1 , n2 , n3 , n4 , n5 }, a second cycle composed of unit vectors {n1 , n5 , n6 }, and where the shared edge is formed by {n1 , n5 }. There are at least two equilibria configurations (apart from configurations where ni = ±nj for all i, j), which are given in Fig. 8(a) and Fig. 8(b), where in both cases all unit vectors belong to a common plane. Studying the stability of the equilibria that comes with graphs that are not trees is a topic for future research. Equilibria configurations for arbitrary graphs is a topic of current research. For these, we can find equilibria configurations as exemplified in Fig. 7(b), where four agents in a complete graph are at equilibrium when forming a tetrahedron. We now present a proposition, which will be useful in guaranteeing local asymptotic stability of attitude synchronization for arbitrary graphs. Proposition 15: Consider a group of unit vectors {ni }i∈N contained in an open π2 -cone for all time t ≥ 0, and assume that i) the network graph is connected; ii) e ∈ N (B ⊗ I), where e has been defined in (16). This takes place if and only if ni = nj for all i, j ∈ N . Proof: For the sufficiency statement, it follows that, if ni = nj for all i, j ∈ N , then all unit vectors are contained in a π2 -cone; moreover, e = 0 ⊆ N (B ⊗ I). For the necessity statement, the proof is as follows. For a tree graph, the corresponding incidence matrix has an empty null space, in which case (B ⊗ I)e = 0 ⇔ e = 0 follows. This implies that ni = ±nj for all (i, j) ∈ N × Ni , but since all ni ’s are contained in an open π2 -cone, it follows that ni = nj for all (i, j) ∈ N × Ni . In a connected graph, this implies that ni = nj for all (i, j) ∈ N × N . For an arbitrary graph, the corresponding incidence matrix does not necessarily have an empty null space. In that case, (B ⊗ I)e = 0, i.e., e ∈ N (B ⊗ I), can be satisfied for e 6= 0.

This means that, for every i ∈ N (in our notation Ai: stands for the ith row of A), P 0 = (Bi: ⊗ I)e = S (ni ) gκ(i,j) (dθ (ni , nj ))nj . (27) j∈Ni

By assumption, the group of unit vectors {ni }i∈N contained in an open π2 -cone for all time t ≥ 0, which means that there exists a unit vector n (possibly time varying, but, for brevity, the time dependency is omitted) such that nT ni > 0 for all i ∈ N and for all t ≥ 0. Taking the inner P product of (27) with S (ni ) n, it follows that nT Π (ni ) j∈Ni gκ(i,j) (dθ (ni , nj ))nj = 0, which can be expanded into X gκ(i,j) (dθ (ni , nj )) (nT nj − (nT ni )nTi nj ) = 0. (28) j∈Ni

Now, consider the set T = {i ∈ N : i = arg maxi∈N (1 − nT ni )}, which corresponds to the set of agents that are the furthest away from n. Choose k ∈ T and notice that by construction 0 < nT nk ≤ nT nj for all j ∈ N . As such, it follows from (28) with i = k that P nT nk j∈Nk gκ(k,j) (dθ (nk , nj )) (1 − nTk nj ) ≤ P T T T (29) j∈Nk gκ(k,j) (dθ (nk , nj )) (n nj − (n nk )nk nj ) = 0.

Notice that the lower bound (on the left side of (29)) is nonnegative (recall that nT nk > 0) and zero if and only all neighbors of agent k are synchronized with itself. But, then, all neighbors of agent k are contained in T (their distance to n is the same as from nk to n). As such, the same procedure as before can be followed for the neighbors of agent k, to conclude that the neighbors of the neighbors of of agent k are all synchronized. In a connected graph, applying the previous reasoning N − 1 times, suffices to conclude that all unit vectors are synchronized. Before we introduce our final result, let us define the quantity     2π 1 −1 ⋆ > 0, min fk d = min fk min fk k k k 32 N −1

representing a critical distance between two neighboring unit vectors, satisfying fk−1 (d⋆ ) ≤ 32 π2 N1−1 for all k ∈ M. This quantity is well defined, since all fk (·) are increasing functions. Theorem 16: Consider an arbitrary graph topology for a group of unit vectors with kinematics (1) and dynamics (2). Also, consider the control law (16), where gk is of class P¯ 0 for all k ∈ M. For all initial conditions satisfying H d⋆ < 1 and   H0 dk (k n, k¯ n)|t=0 1 1 − ⋆ , ∀k ∈ M, ≤ d⋆ M d the group of unit vectors converges to a configuration where all unit vectors are synchronized. Proof: Once more, using the Lyapunov function V in (18) and following the same steps as in the proof of Theorem 7, it follows that e converges asymptotically to the

null space of B ⊗ I. Also, since the Lyapunov function is non-increasing, it follows that V (t) ≤ V (0) for all t ≥ 0. Given the Theorem’s conditions it follows that XM dk (k n, k¯ n)|t=0 + H0 < d⋆ . (30) V (0) = k=1

Since V (t) ≤ V (0), it follows that dk (k n, k¯ n)|t ≤ V (t) < d⋆ for all time t ≥ 0 and for all edges k ∈ M. This implies that the angular displacement between any two neighbors is smaller than 23 π2 N 1−1 , i.e., dθ (k n, k¯ n) ≤ fk−1 (d⋆ ) for all k ∈ M. Since the angular displacement between any two unit vectors i, j ∈ N in a connected graph satisfies dθ (ni , nj ) ≤ (N − 1) maxk∈M dθ (k n, k¯ n) (see Proposition 17), it follows that dθ (ni , nj ) < 23 π2 for all time t ≥ 0 and between any two unit vectors i, j ∈ N . As such, under the Theorem’s conditions, all unit vectors are contained in a π2 -cone for all time (see Proposition 10). Since all agents are contained in an open π2 -cone, two neighbors will never be diametrically opposed, which means the control law (16) is well defined ¯ Finally, we invoke Proposition 15, which for gk of class P. implies that all unit vectors converge to one another. VII. C ONSTRAINED T ORQUE

The control law proposed in (15) requires full torque actuation, i.e., it requires torque on the plane orthogonal to ¯ i (spanned by the columns of S (¯ n ni ) as well as of Π (¯ ni )) ¯ i (since ωi can have a component but also torque along n ¯ i ), i.e., along n X ∂dκ(i,j) (ni , nj ) . (31) S (¯ ni ) RTi Ti = − σ(ωi ) − | {z } ∂ni j∈N {z } | i ¯i 6⊥n ⊥¯ ni

A natural constraint in a physical system is to require ¯ i . In satellites, thrusters the torque to be orthogonal to n ¯ i might be unavailable; also, that provide torque along n ¯ i can be left as an controlling the space orthogonal to n additional degree of freedom, in order to accomplish some ¯ i at a specific angular other goals (say, to rotate around n velocity). A possible approach is to modify the control law into X ∂dκ(i,j) (ni , nj ) Ti = −σ(Π (¯ ni ) ω i ) − S (¯ ni ) RTi (32) , ∂ni j∈Ni

and, therefore, 

 σ(Π (¯ n1 ) ω i )   .. T T = −  − R (B ⊗ I)e, .

(33)

σ(Π (¯ nN ) ω N )

which, when composed with the Lypunov function (18) time derivative, yields V˙ = −

N X i=1

ωiT σ(Π (¯ ni ) ω i ) = −

N X i=1

ωiT Π (¯ ni ) σ(ωi ) ≤ 0. (34)

Since V will be bounded by its initial condition, all ωi are also bounded (notice that V depends on kωi k and not on kΠ (¯ ni ) ωi k), and we can invoke uniform continuity of V˙ (assume also that kek is bounded) to conclude that V˙ converges to 0, and consequently to conclude that Π (¯ ni ) ω i also converges to 0 (see (34)). Following the same steps as ¨ i k is bounded, and, thus, in Section IV-D, it follows that kω ω˙ i is uniformly continuous for all i ∈ N . Our concern is to determine whether (B ⊗ I)e converges to 0, and, from (33), that is the case provided that T converges to 0 (Π (¯ ni ) σ(ωi ) is already known to converge to 0). Since Π (¯ ni ) ωi converges to a constant (namely 0), we invoke uniform continuity of ω˙ i (ωi and kek bounded) to conclude ¯ i is a constant that Π (¯ ni ) ω˙ i converges to 0 (remember that n unit vector). As such, it follows that ¯ i (¯ lim Π (¯ ni ) ωi = 0 ⇒ lim ωi = lim n nTi ωi ), (35)

t→∞

t→∞

t→∞

¯ i (¯ lim Π (¯ ni ) ω˙ i = 0 ⇒ lim ω˙ i = lim n nTi ω˙ i ). (36)

t→∞

t→∞

t→∞

Then, recalling the dynamics of ω˙ i , Ji ω˙ i = −S (ωi ) Ji ωi + Ti , and evaluating them with the help of (35) and (36)), it follows that ¯ i lim (¯ ¯ i lim (¯ nTi ωi )2 + lim T(37) nTi ω˙ i ) = −S (¯ n i ) Ji n Ji n i. t→∞

t→∞

t→∞

¯ i , it follows If we take the inner product of (37) with n ¯i+ ¯ i lim (¯ ¯ T S (¯ ¯ Ti Ji n nTi ω˙ i ) = − lim (¯ nTi ωi )2 n n i ) Ji n n t→∞ t→∞ | i {z }

theorems previously presented still hold for this alternative control strategy. VIII. S IMULATIONS We now present simulations that illustrate some of the results presented previously. For the simulations, we have a group of ten agents, whose network graph is that presented in Fig. 11. The moments of inertia were generated by adding a random symmetric matrix (between −I and I) to the identity matrix. For the initial conditions, we have chosen H0 = 0 and we have randomly ¯i = generated two sets of 10 rotation matrices. For Fig. 9, n [1 0 0]T for all 10 agents, and since these are not necessarily ¯i principal axes, we apply control laws (15). For Fig. 10, n is the principal axis of Ji , with largest eigenvalue, for i = {1, 2, 3, 4, 5}, and since these are principal axis, we apply ¯ i = [1 0 0]T for i = {6, 7, 8, 9, 10}, control laws (32); and n and since these are not necessarily principal axes, we apply control laws (15). For edge 1, we have chosen d(n1 , n2 ) = arccos(nT 1 n2 ) 5 tan2 . For the other edges, we have 2 chosen d(n1 , n2 ) = 5(1 − nT1 n2 ) (g π = 5). Notice that we have chosen a distance function (for edge 1) that grows unbounded when two unit vectors are diametrically opposed. As such, it follows from our previous results that agents 1 and 6 will never be diametrically opposed, under the condition that they are not initially diametrically opposed.

0

¯ Ti Ti , + lim n t→∞ | {z } 0

¯ i > 0). As which means limt→∞ (¯ nTi ω˙ i ) = 0 (¯ nTi Ji n such, (37) reduces to ¯ i lim (¯ nTi ωi )2 . lim Ti = S (¯ n i ) Ji n

t→∞

t→∞

¯ Ti ωi is not necessarily 0, the only way Since limt→∞ n ¯ i = 0; this, in limt→∞ Ti = 0 is by requiring that S (¯ n i ) Ji n ¯ i is an eigenvector of Ji . turn, is only the case if n ¯ i is not an eigenvector of Ji , control law (31) As such, if n ¯ i is necessary. On the must be applied and torque along n ¯ i is an eigenvector of Ji , control law (33) can other hand, if n ¯ i is not necessary. Physically, be applied and torque along n this means that synchronization of principal axis does not require full torque, while synchronization of other axis does require full torque. ¯i = To sum up, for agents i in Np = {i ∈ N : ∃λi s.t. Ji n ¯ i } we propose control law (33), while for agents i in λi n ¯p = N \Np we propose control law (31). In that case, it N follows P the Lyapunov function P V in (18) has time derivative nk ) σ(ωk ) and V˙ V˙ = − l∈Np ωlT σ(ωl ) − k∈N¯p ωkT Π (¯ is uniformly continuous. Following a similar procedure as previously, one can conclude that limt→∞ Ti = 0, for all i ∈ N , and therefore limt→∞ (B ⊗ I)e = 0. As such, all the

σx x with 2 +xT x σx max

We have also chosen σ(x) = k √

k = 10 and

σx = 1. For this choice, we find that σ = kσx = 10. As such, for all agents, except 1 and 6, an upper bound on the norm of their torque is given by σ max + 2 g π = 20 (the factor 2 relates to the fact that all agents, except 1 and 6, have two neighbors). For agents 1 and 6, no upper bound can be found (more precisely, a bound can be found, but it depends on the initial conditions). For these choices, d⋆ ≈ 0.008, which means that if the initial distance between every pair d⋆ ≈ 0.0008, of neighboring unit vectors is smaller than M then convergence to a synchronized network is guaranteed (condition (30) in Theorem 16). This critical value can be made larger by choosing other distance functions, but it comes at the cost of increasing the upper bound on the norm of the torque. The trajectories of the unit vectors for the two sets of initial conditions are presented in Figs. 9 and 10. Notice that despite not satisfying conditions of Theorem 16 (the unit vectors are not always in a π2 -cone), attitude synchronization is still achieved. This can be verified in Figs. 9(c)-9(d) and 10(c)10(d), which present the angular error between neighbor agents. It is worthwhile mentioning that, for this graph, we know that the only equilibria configurations are those where all unit vectors belong to a common plane. In both Figs. 9(a)

n3

n2 1

1

0.5

0.5

n4

n5

z-Axis

z-Axis

κ ¯ (1,6)=1

n6

n1

0

I

I

0 −0.5

−0.5

n10 −1 1 −0.5

0 I

0.5

−1

0 1

−1

I

x-Axis

0

180

160

160

140

140

120

120

100 80

0.5

0 1

−1

I

x-Axis

y-Axis

(b) Trajectories of unit vectors in unit sphere #2

Degrees (◦ )

Degrees (◦ )

−0.5

I

180

100 80

60

60

40

40

20

20

0 0

5

10

15 Time

20

25

0 0

30

(c) Error angle between neighboring unit vectors #1

5

10

15 Time

20

25

30

(d) Error angle between neighboring unit vectors #2

1

1

0.8

0.8

0.6

0.6

0.4

0.4

z-Axis

z-Axis

Fig. 9: Synchronization in network of 10 unit vectors for two sets of differential initial conditions (set #1 and #2)

0.2

0.2 0

I

I

0 -0.2

-0.2

-0.4

-0.4

-0.6

-0.6 -0.8

-0.8

-1

-1 1

-1 0

x-Axis

1

0

I

-1

y-Axis

I

180

180

160

160

140

140

120

120

100 80

40

40

20

20

20

25

30

x-Axis

1

-0.5 I

-1

y-Axis

X. A PPENDIX Proposition 17: Consider three unit vectors n1 , n2 and n. The following triangular inequality applies dθ (n1 , n2 ) ≤ dθ (n1 , n) + dθ (n, n2 ).

80 60

15

graph network; ii) a synchronized network can be achieved for almost all initial conditions in a tree graph network. We imposed conditions on the distance functions that guarantee these are rotation invariant, which means that the proposed control laws can be implemented by each individual rigid body in the absence of a global common orientation frame, i.e., by using only local information. Additionally, if the direction to be synchronized is a principal axis of the rigid body, we proposed a control law that does not require full torque actuation, and, more specifically, it only requires torque in the plane orthogonal to the principal axis. We also studied the equilibria configurations that come with certain type of graph networks. Directions for future work include studying the stability of all equilibria configurations, apart from the synchronized configuration, and to determine whether a synchronized network convergences to a constant unit vector in a fixed, though unknown, orientation frame.

100

60

10

Fig. 11: Graph with 10 agents, where edge 1 is formed by agents 1 and 6

(b) Trajectories of unit vectors in unit sphere #2

Degrees (◦ )

Degrees (◦ )

n7

0 0.5

-0.5

(a) Trajectories of unit vectors in unit sphere #1

5

0.5

-0.5

0 0.5

I

1

-1

0.5

-0.5

0

n8

1

y-Axis

(a) Trajectories of unit vectors in unit sphere #1

0

n9

−1 −1

0

Proof: Since n1 and n2 can be written as 0

5

Time

10

15

20

25

n1 = cos(dθ (n1 , n))n + sin(dθ (n1 , n))ν1 , n2 = cos(dθ (n2 , n))n + sin(dθ (n2 , n))ν2 ,

30

Time

(c) Error angle between neighboring unit vectors #1

(d) Error angle between neighboring unit vectors #2

Fig. 10: Synchronization in network of 10 unit vectors for two sets of differential initial conditions (set #1 and #2) and where blue agents perform synchronization of principal axis and black agents synchronization of their first axis ¯ i = [1 0 0]T ). (i.e., n

where ν1 , ν2 ∈ S 2 are unit vectors orthogonal to n, then nT1 n2 = = cos(dθ (n1 , n)) cos(dθ (n2 , n)) + sin(dθ (n1 , n)) sin(dθ (n2 , n))ν1T ν2 = cos(dθ (n1 , n) + dθ (n2 , n)) + sin(dθ (n1 , n)) sin(dθ (n2 , n)) (1 + ν1T ν2 ) | {z } ≥0

≥ cos(dθ (n1 , n) + dθ (n2 , n)).

and 9(b), a visual inspection indicates that all unit vectors are indeed converging to a common plane.

As such, dθ (n1 , n2 ) ≤ dθ (n1 , n) + dθ (n2 , n). A. Instability

IX. C ONCLUSIONS In this paper, we proposed a distributed control strategy that guarantees attitude synchronization of unit vectors, representing a specific body direction of a rigid body. The proposed control torque laws depend on distance functions in S 2 , and we provide conditions on these distance functions that guarantee that i) a synchronized network is locally asymptotically stable in an arbitrary connected undirected

Under Theorem’s 11 conditions, a configuration where two (or more) neighboring unit vectors are diametrically opposed, with all the other neighboring unit vectors synchronized, is an equilibrium solution. In fact, consider a constant unit vector n⋆ , ω = 0 and ni = ±n⋆ for all i ∈ N . Under these circumstances, Ti = 0 for all i ∈ N (see (15)), implying that all those configurations correspond to equilibrium configurations. Multiple equilibria exist because the control laws (15)

are continuous and the states ni (for all i ∈ N ) evolve in a non-contractible set (see [12]). Notice, however, that the equilibrium ω = 0 and ni = n⋆ for all i ∈ N is guaranteed to be (locally) asymptotically stable (see Theorem 16). For all other equilibria, their stability, or lack thereof, is a subject of current research. In this section, we consider simpler dynamical agents and study the stability of equilibria where two (or more) neighboring unit vectors are diametrically opposed. Consider then agents ni , for i ∈ N , with kinematics (1), and whose angular velocities ωi are assumed to be controllable (intuitively, this corresponds to controlling single integrators rather than doublePintegrators). Consider also the Lyapunov M function V = n, k¯ n), whose time derivative k=1 dk (k P T ˙ yields V = ω R(B ⊗ I)e M k=1 dk (k n, k¯ n). This  motivates T T the choice of the control law ω1T . . . ωN = ω = 2 −RT (B ⊗ I)e, since it implies that V˙ = − k(B ⊗ I)ek ≤ 2 T −λmin (B B) kek . Since V˙ (t) is uniformly continuous, Barbalat’s Lemma suffices to conclude that e converges to 0, which, in turn, implies that there exists a (possibly timevarying) unit vector n⋆ (t) such that limt→∞ (ni (t)±n⋆ (t)) = 0, for all i ∈ N . Let us focus on the equilibria configuration where n⋆ is time invariant, i.e, focus on scenarios where all the unit vectors converge a constant unit vector, either +n⋆ or −n⋆ (the study of stability, or lack thereof, for time-varying n⋆ (t) is a subject of current research). For the remaining part of this section, it is shown that the previous equilibrium configuration is unstable whenever two (or more) neighboring unit vectors are diametrically opposed. This conclusion follows from a linearization procedure, which is described next.

ally, from (42), it follows that q q 2 ⋆ 2 T T ni nk = (si 1 − kxi k n + xi ) (sk 1 − kxk k n⋆ + xk ) = si sk

for all i, k ∈ N , and where the fact that, for all i ∈ N , xi is orthogonal to n⋆ has been used. For xi = xk = 0, si sk = sign ((nTi n⋆ )(nTk n⋆ )) = 1 if ni and nk are synchronized and si sk = sign ((nTi n⋆ )(nTk n⋆ )) = −1 if ni and nk are diametrically opposed. Thus, by continuity, for small kxi k and kxk k, si sk = sign ((nTi n⋆ )(nTk n⋆ )) = 1 if ni and nk are almost synchronized (i.e., 1 − nTi nk is small) and si sk = sign ((nTi n⋆ )(nTk n⋆ )) = −1 if ni and nk are almost diametrically opposed (i.e., −1 − nTi nk is small). Since n⋆ is constant, it follows from (38) that x˙ i = Π (n⋆ ) n˙ i = Π (n⋆ ) (−S (ni ) ωi ) = Π (n⋆ ) −S (ni ) S (ni )



=

=

si , sign (n n ) ,

(39)



for all i ∈ N . From (38) and (39), it is possible to reconstruct ni , since T i







ni = (n n )n + Π (n ) ni = (nTi n⋆ )n⋆ + xi q 2 = sign (nTi n⋆ ) 1 − kxi k n⋆ + xi q 2 = si 1 − kxi k n⋆ + xi

(40) (41) (42)

2

where the relation (n1 n2 )2 + kΠ (n1 ) n2 k = (n1 n2 )2 + 2 kS (n1 ) n2 k = 1 has been used from (40) to (41). Since T ⋆ ni n can only change sign when ni is orthogonal to n⋆ , it follows that s˙ i = 0, (43) p if kxi k < 1 for all time (kxi k = 1 − (nTi n⋆ )2 ). Addition-

X

gκ(i,k) (dθ (ni , nk ))nk

k∈Ni

!

X

gκ(i,k) (dθ (ni , nk )) (xj − (nTi nk )xi )

X

+ (38)

T i

gκ(i,k) (dθ (ni , nk ))nk

k∈Ni

!

gκ(i,k) (dθ (ni , nk )) (Π (n⋆ ) nk − (nTi nk )Π (n⋆ ) ni )

k∈Ni

=

X

X

k∈Ni

For a constant n⋆ , consider the variables xi , Π (n ) ni ,

T i

= Π (n ) (I − ni n )

k∈Ni



q q 1 − kxi k2 1 − kxk k2 + xTi xk ,

gκ(i,k) (dθ (ni , nk )) (xj − xi ) +

X

k∈Ni

gκ(i,k) (dθ (ni , nk )) (1 − (nTi nk )) xi ,

(44)

where ni and as in (42).  nk can be expressed T  By stacking all T xi as x , xT1 . . . xTN and si as s , sT1 . . . sTN , (43) and (44) can be written compactly as x˙ = − (B ⊗ I)D1 (x, s)(B ⊗ I)T x + D2 (x, s)x , A(x, s)x, (45) s˙ =0 if kxi k < 1 for all i ∈ N (46) with D1 (x, s) = Diag (g1 (dθ (1 n, ¯1 n)), . . . , gM (dθ (M n, M¯ n))) ⊗ I  P D2 (x, s) = Diag gκ(1,k) (dθ (n1 , nk )) (1 − (nT1 nk )) , . . . , k∈N1  P gκ(N,l) (dθ (nN , nl )) (1 − (nTN nl )) ⊗ I, l∈NN

where both D1 (x, s) and D2 (x, s) are positive semi-definite. ¯ ∈ {z ∈ RN : As expected, the states x⋆ = 0 and s⋆ = 1 z2i = 1, ∀i = {1, · · · , N }} are equilibria of the system with dynamics (45) and (46). The linearized system for (45)

and (46), and around each equilibrium, is given by      x˙ A(0, s⋆ ) 0 x = s˙ 0 0 s    (B ⊗ I)D1 (0, s⋆ )(B ⊗ I)T − D2 (0, s⋆ ) 0 x =− 0 0 s (47) where the condition kxi k < 1, for all i ∈ N , is dropped since the linearization is performed around x⋆ = 0. Notice that (1N ⊗ 13 )T ((B ⊗ I)D1 (0, s⋆ )(B ⊗ I)T − D2 (0, s⋆ )) (1N ⊗ 13 ) = = −(1N ⊗ 13 )T D2 (0, s⋆ )(1N ⊗ 13 )T P P π (1 − s⋆l s⋆k )gκ(l,k) = −3 l∈N k∈Nl

is zero if and only if s⋆ = 1N and negative otherwise (this includes all scenarios where at least two neighboring unit vectors are diametrically opposed), as long as gkπ > 0 for all k ∈ M. As such, the matrix in (47), which is symmetric, is not positive semi-definite for s⋆ 6= 1N (which means it has at least one eigenvalue with negative real part – Theorem 4.1.8 in [?]), which means any equilibrium where two neighboring unit vectors are diametrically opposed is unstable. On the other hand, the matrix in (47) is positive semi-definite for s⋆ = 1N (this corresponds to the scenario where all unit vectors are synchronized), and the linearization cannot be used to infer stability of this equilibrium (nonetheless, this equilibrium is asymptotically stable).

19: Consider a function R b h(x) on [a, b]. If R Proposition b h(x)dx [?]. |h(x)|dx is convergent, then so is a a

Proposition 20: Consider a unit vector n with angular velocity ω. If ω converges exponentially fast to zero, then n converges to a constant unit vector. Proof: Consider an arbitrary constant unit vector e ∈ S 2 (for example, the standard basis vectors in R3 ). Then eT n(t) is a scalar function of time, and it satisfies Z t T e n(t) = eT S (ω(τ )) n(τ )dτ. 0

Since |e S (ω(τ )) n(τ )| ≤ kω(τ )k ≤ C exp(−λτ ) (for some positive C and λ), it follows from Propositions 18 and 19 that lim eT n(t) exists. Finally, since e is an arbitrary t→∞ unit vector, lim n(t) also exists. T

t→∞

The goal in this section is to study whether a network that converges to a synchronized configuration actually converges to a constant unit vector (in an unknown fixed orientation frame). An analysis for the dynamic case (control at the torque level) is not performed, but rather an analysis for the kinematic case (control at the angular velocity level). Consider then that ω is the control variable chosen as ω = RT (B ⊗ I)e. Consider that gk is of class P ∪ P 0 for all k ∈ M. Also, assume that, for each edge k, there exists an interval I = [0 b], for some 0 < b < π, such that if dθ (k n, k¯ n) ∈ I then 2

B. Convergence to Constant Unit Vector Theorem 7 provides conditions for convergence to a synchronized network, but it does not provide any insight on whether lim ni (t) exists, i.e., whether the synchronized t→∞ network converges to a constant unit vector or if it converges to a time-varying unit vector. Example 7: Consider the following unit vector,  T n = cos(ln(t))) sin(ln(t))) 0

whose limit as time grows to infinity does not exist. Nonetheless, its time derivative is given by      − sin(ln(t))) 0 − 1t 0 cos(ln(t))) 1 0 0  sin(ln(t)))  cos(ln(t))) =  1t n˙ = t 0 0 0 0 0   T 1 0 0 1 =S n , S (ω) n t

where ω converges to 0. This means that convergence of ω to 0 does not guarantee convergence of its unit vector to a constant unit vector.

2

αk kek k ≤ dk (k n, k¯ n) ≤ α ¯ k kek k , where ek = gk (dθ (k n, k¯ n))S (k n) k¯ n.

Then, if the network converges to a synchronized configuration, i.e. n1 = · · · = nN , it follows that lim ni (t) = n⋆ t→∞ for some constant n⋆ and for all i ∈ N . In order to come to this conclusion, consider the Lyapunov PM function V = ¯ n) whose time derivative is k=1 dk (k n, k rendered V˙ = − k(B ⊗ I)ek ≤ 0 by the chosen control law. If the network converges to the equilibrium configuration where n1 = · · · = nN , it follows that V (t) converges asymptotically to zero, and consequently, for all edges k ∈ M, dθ (k n, k¯ n) will eventually enter the set I (which has non-zero measure). Say T is the time instant when, for all edges k ∈ M, dθ (k n, k¯ n) ∈ I for all t ≥ T . From the previous discussion, a finite T exists, and for t ≥ T one can say min(αk ) kek2 ≤ k

M P

k=1

αk kek k2 ≤ V ≤

M P

k=1

α ¯ k kek k2 ≤ max(¯ αk ) kek2 . k

Since V˙ = − k(B ⊗ I)ek ≤ −λmin (B T B) kek , it follows that kek converges exponentially fast to 0 (tree graph), and so does ωi (since ω = RT (B ⊗ I)e) for all i ∈ N . As such, it follows from Proposition 20 that all ni converge to a constant unit vector. 2

Proposition 18: Consider two functions on [a, b], h1 (x) and h2 (x), such R b that 0 ≤ h1 (x) ≤ h2 (x) for R b all x ∈ [a, b]. Then, if a h2 (x)dx is convergent, so is a h1 (x)dx (comparison test) [?].

(48)

2

We can perform a very similar analysis for the dynamic case, but we need to construct a different Lyapunov function (than that provided in Section IV-D), specifically one whose time derivative depends on both k(B ⊗ I)ek and kωi k. We do not present such Lyapunov function in this paper. Convergence to a constant vector in arbitrary graphs is also a topic for future research. We present next an example of a distance function that satisfies conditions (48). Example 8: Consider the distance function presented in Example 6 with α = 1, i.e., d(n1 , n2 ) = a(1 − nT1 n2 ). For this distance function g = a and kek = a kS (n1 ) n2 k. This distance function satisfies 1 1 kek2 2 ≤ d(n1 , n2 ) ≤ kek a 2 a for dθ (n1 , n2 ) ∈ [0, π2 ].

The partial differential equation (8) is a restriction imposed on the distance functions d(n1 , n2 ). The question that follows is what distance functions d(n1 , n2 ) satisfy (8). Distance functions of the type d(n1 , n2 ) = f (nT1 n2 ) (with f (·) of class C 1 in (−1, 1)) satisfy (8). In fact, those are the only type of distance functions that satisfy (8), as we show next. Proposition 21: Consider two orthogonal unit vectors, i.e., (v1 , v2 ) ∈ Ω , {(n1 , n2 ) ∈ S 2 × S 2 : nT1 n2 = 0}. Additionally, consider a function η : R3 × R3 7→ R (of class C 1 ) that satisfies ∂η(v1 , v2 ) ∂η(v1 , v2 ) + S (v2 ) = 0, ∂v1 ∂v2

(49)

for all (v1 , v2 ) ∈ Ω. Then, η(v1 , v2 ) is constant for all (v1 , v2 ) ∈ Ω. Proof: The function η(v1 , v2 ) is constant for all (v1 , v2 ) ∈ Ω, if the differential dη(v1 , v2 ) is zero for all (v1 , v2 ) ∈ Ω. This condition is proved next. Taking the inner product of (49) with vi (i ∈ {1, 2} and j = {1, 2}\{i}), it 1 ,v2 ) 1 ,v2 ) follows that viT S (vj ) ∂η(v = 0, which means ∂η(v ∂vj ∂vj is orthogonal to both S (v1 ) v2 and S (v2 ) v1 . Since v1 , v2 and S (v1 ) v2 form a basis of R3 , it then follows that     ∂η(v1 ,v2 ) 1 ,v2 ) 1 ,v2 ) = v1T ∂η(v v1 + v2T ∂η(v v2 ∂v1 ∂v1 ∂v1

, h1 (v1 , v2 )v1 + h3 (v1 , v2 )v2 , (50)     T ∂η(v1 ,v2 ) T ∂η(v1 ,v2 ) v1 ∂v2 v1 + v2 ∂v2 v2

∂η(v1 ,v2 ) = ∂v2

, h4 (v1 , v2 )v1 + h2 (v1 , v2 )v2 .

Proposition 22: Consider a function η : R3 × R3 7→ R (of class C 1 ) that satisfies S (n1 )

∂η(n1 , n2 ) ∂η(n1 , n2 ) + S (n2 ) = 0, ∂n1 ∂n2

(52)

for all (n1 , n2 ) ∈ S 2 × S 2 . Then, η(n1 , n2 ) = h(nT1 n2 ) for (n1 , n2 ) ∈ S 2 × S 2 and for any h : [−1, 1] 7→ R function of class C 1 in (−1, 1). Proof: Condition (52) is satisfied for (n1 , n2 ) ∈ S 2 × S , and, in particular, it is satisfied for (n1 , n2 ) ∈ Θ , {(v1 , v2 ) ∈ S 2 × S 2 : (v1T v2 )2 6= 1} which is a set of full measure w.r.t. S 2 × S 2 . For (n1 , n2 ) ∈ Θ, consider the variables n1 + n2 n1 − n2 v1 = , v2 = , v3 = nT1 n2 , kn1 + n2 k kn1 − n2 k 2

C. Uniqueness

S (v1 )

1 ,v2 ) h(·, ·)dv1T v2 , and, from (51), it follows that dv2T ∂η(v = ∂v2 T T T h(·, ·)dv2 v1 + h2 (·, ·)dv2 v2 = h(·, ·)dv2 v1 . Since 1 ,v2 ) 1 ,v2 ) + dv2T ∂η(v = dη(v1 , v2 ) = dv1T ∂η(v ∂v1 ∂v2 T T h(v1 , v2 ) (dv1 v2 + dv2 v1 ) = 0, the Proposition’s conclusion follows.

(51)

By replacing (50) and (51) in (49), it follows that h3 (v1 , v2 ) = h4 (v1 , v2 ) , h(v1 , v2 ) for all (v1 , v2 ) ∈ Ω (notice that S (v1 ) v2 6= 0). Now, recall that (v1 , v2 ) ∈ Ω means that v1T v1 = 1, v2T v2 = 1 and v1T v2 = 0. In turn, this implies that dv1T v1 = 0, dv2T v2 = 0 and dv1T v2 + dv2T v1 = 0. From (50), it follows 1 ,v2 ) that dv1T ∂η(v = h1 (·, ·)dv1T v1 + h(·, ·)dv1T v2 = ∂v1

and notice that, by construction, n1 and n2 canpbe obtained from v1 , v2 and v3 (indeed, n1,2 = v3 v1 ± 1 − v32 v2 ), meaning that a bijection exists between (n1 , n2 ) and (v1 , v2 , v3 ); moreover, v1 is orthogonal to v2 , i.e., v1T v2 = 0. The proof hereafter explores the previous change of variables. First, notice that there exists a function h(·, ·, ·) such that η(n1 , n2 ) = h(v1 (n1 , n2 ), v2 (n1 , n2 ), v3 (n1 , n2 )) or alternatively η(n1 (v1 , v2 , v3 ), n2 (n1 , n2 , v3 )) = h(v1 , v2 , v3 ). Then, from (52), it follows that (for simplicity, all arguments in the equations below are omitted)   ∂v2 ∂h ∂v3 ∂h ∂v1 ∂h + ··· + + S (n1 ) ∂n ∂v ∂n1 ∂v2 ∂n1 ∂v3  1 1  ∂v1 ∂h ∂v2 ∂h ∂v3 ∂h S (n2 ) = 0 (53) + + ∂n2 ∂v1 ∂n2 ∂v2 ∂n2 ∂v3   ∂v1 ∂h ∂v1 + S (n2 ) + ··· ⇔ S (n1 ) ∂n1 ∂n2 ∂v1   ∂v2 ∂v2 ∂h S (n1 ) + S (n2 ) + ··· ∂n1 ∂n2 ∂v2 ∂h (S (n1 ) n2 + S (n2 ) n1 ) =0 (54) ∂v3 ∂h ∂h + S (v2 ) =0 (55) ⇔S (v1 ) ∂v1 ∂v2 where the chain rule has been applied to derive (53) from  (52);  and  from (54) to (55), the relations (recall that x 1 x xT ∂ = I − ∂x kxk kxk kxk kxk ) ∂v1 1 = (I − v1 v1T ) , for i ∈ {1, 2}, ∂ni kn1 + n2 k ∂v2 1 = ± (I − v2 v2T ) , for j ∈ {1, 2}, ∂nj kn1 − n2 k

together with the relations S (n1 ) v1 + S (n2 ) v1 = 0 and S (n1 ) v2 − S (n2 ) v2 = 0 have been used. It follows from Proposition 21 and from (55), that h(v1 , v2 , v3 ) does not

depend on v1 and v2 , and, as such, η(n1 , n2 ) = h(nT1 n2 ).

R EFERENCES [1] J. R. Lawton and R. W. Beard, “Synchronized multiple spacecraft rotations,” Automatica, vol. 38, no. 8, pp. 1359–1364, 2002. [2] N. Leonard, D. Paley, F. Lekien, R. Sepulchre, D. Fratantoni, and R. Davis, “Collective motion, sensor networks, and ocean sampling,” Proceedings of the IEEE, vol. 95, no. 1, pp. 48–74, Jan 2007. [3] A. Sarlette, R. Sepulchre, and N. E. Leonard, “Autonomous rigid body attitude synchronization,” Automatica, vol. 45, no. 2, pp. 572–577, 2009. [4] D. V. Dimarogonas, P. Tsiotras, and K. Kyriakopoulos, “Leader– follower cooperative attitude control of multiple rigid bodies,” Systems & Control Letters, vol. 58, no. 6, pp. 429–435, 2009. [5] A. K. Bondhus, K. Y. Pettersen, and J. T. Gravdahl, “Leader/follower synchronization of satellite attitude without angular velocity measurements,” in IEEE Conference on Decision and Control and European Control Conference, 2005, pp. 7270–7277. [6] T. Krogstad and J. Gravdahl, “Coordinated attitude control of satellites in formation,” in Group Coordination and Cooperative Control. Springer, 2006, pp. 153–170. [7] H. Cai and J. Huang, “The leader-following attitude control of multiple rigid spacecraft systems,” Automatica, vol. 50, no. 4, pp. 1109–1115, 2014. [8] S. Nair and N. Leonard, “Stable synchronization of rigid body networks,” Networks and Heterogeneous Media, vol. 2, no. 4, p. 597, 2007. [9] J. Thunberg, W. Song, E. Montijano, Y. Hong, and X. Hu, “Distributed attitude synchronization control of multi-agent systems with switching topologies,” Automatica, vol. 50, no. 3, pp. 832–840, 2014. [10] W. Song, J. Thunberg, X. Hu, and Y. Hong, “Distributed high-gain attitude synchronization using rotation vectors,” Journal of Systems Science and Complexity, vol. 28, no. 2, pp. 289–304, 2015. [11] C. Mayhew, R. Sanfelice, J. Sheng, M. Arcak, and A. Teel, “Quaternion-based hybrid feedback for robust global attitude synchronization,” IEEE Transactions on Automatic Control, vol. 57, no. 8, pp. 2122–2127, Aug 2012. [12] D. Liberzon, Switching in systems and control.

Springer, 2003.

[13] P. O. Pereira and D. V. Dimarogonas, “Family of controllers for attitude synchronization in S 2 ,” in IEEE Conference on Decision and Control, 2015 (submitted). [14] C. D. Godsil, G. Royle, and C. Godsil, Algebraic graph theory. Springer New York, 2001, vol. 207. [15] D. Zwillinger, Table of integrals, series, and products. Elsevier, 2014. [16] D. Dimarogonas and K. Johansson, “Further results on the stability of distance-based multi-robot formations,” in American Control Conference. IEEE, 2009, pp. 2972–2977. [17] S. Guattery and G. L. Miller, “Graph embeddings and laplacian eigenvalues,” SIAM Journal on Matrix Analysis and Applications, vol. 21, no. 3, pp. 703–723, 2000. [18] H. K. Khalil and J. Grizzle, Nonlinear systems. Prentice hall Upper Saddle River, 2002, vol. 3. [19] J.-J. E. Slotine and W. Li, Applied nonlinear control. Englewood Cliffs, NJ, 1991, vol. 199, no. 1.

Prentice-Hall