Family of Controllers for Attitude Synchronization on the Sphere

Family of Controllers for Attitude Synchronization on the Sphere

Pedro O. Pereira and Dimos V. Dimarogonas The authors are with the ACCESS Linnaeus Center, School of Electrical Engineering, KTH Royal Institute of Technology, SE-100 44, Stockholm, Sweden. {ppereira, dimos} This work was supported by the EU H2020 (AEROWORKS) project and the Swedish Research Council (VR).
July 3, 2019

In this paper we study a family of controllers that guarantees attitude synchronization for a network of agents in the unit sphere domain, i.e., . 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 constructed as functions of distance functions in , 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 graph; ii) a synchronized network is asymptotically achieved for almost all initial conditions in a tree network graph. When performing synchronization along a principal axis, we propose controllers that do not require full torque, but rather torque orthogonal to that principal axis; while for synchronization along other axes, the proposed controllers require full torque. 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 under actuated rigid bodies, such as satellites.



I Introduction

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 acquires 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, different solutions for consensus in the special orthogonal group are found [1, 3, 4, 5, 6, 7, 8, 9, 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 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. Incomplete attitude synchronization is also denoted synchronization on the sphere in [11, 12, 13, 14, 15, 16], where the focus has been on kinematic or point mass dynamic agents, i.e., dynamical agents without moment of inertia.

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 [17, 18], a combination of a tracking input and a synchronization input is used; the tracking input adds robustness if connectivity is lost and it is designed in the spirit of leader-following, where the leader is a virtual one and it encapsulates a desired trajectory; however, this strategy requires all agents to be aware of a common and global reference frame. In another line of work, in [8, 3], 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 [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 [19], a quaternion based controller is proposed that guarantees a synchronized network of rigid bodies is a global equilibrium configuration, provided that the network graph is acyclic. This comes at the cost of having to design discontinuous (hybrid) controllers. A discrete time protocol for complete synchronization of kinematic agents is found in [20]. The authors introduce the notion of reshaping function, and a similar concept is presented in this manuscript. The protocol provides almost global convergence to a synchronized configuration, which relies on proving that all other equilibria configurations, apart from the equilibria configuration where agents are synchronized, are unstable. 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 [11, 12], incomplete synchronization of kinematic agents on the sphere is studied, with a constant edge weight function for all edges. In particular, in [12], incomplete synchronization is used for accomplishing a flocking behavior, where a group of agents moves in a common direction. In [13], dynamic agents, which move at constant speed on a sphere, are controlled by a state feedback control law that steers their velocity vector so as to force the agents to attain a collective circular motion; since the agents are mass points, the effect of the moment of inertia is not studied. In [14], dynamic point mass agents, constrained to move on a sphere, are controlled to form patterns on the sphere, by constructing attractive and repelling forces; in the absence of repelling forces, synchronization is achieved. Also, the closed-loop dynamics of these agents are invariant to rotations, or symmetry preserving, as those in [11, 12], in the sense that two trajectories, whose initial condition – composed of position and velocity – differs only on a rotation, are the same at each time instant apart from the previous rotation. In our framework this property does not hold, since our dynamic agents have a moment of inertia, unlike the agents in [11, 12, 14], which is another novelty of the paper in hand.

We propose a distributed control strategy for synchronization of elements in the unit sphere domain. The controllers for accomplishing synchronization are constructed as functions of distance functions (or reshaping functions as denoted in [20]), 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 of their arguments. 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 is a non-contractible set [21]. Our main contributions lie in proposing for the first time a controller that does not require full torque when performing synchronization along a principal axis, but rather torque orthogonal to that axis; in finding conditions on the distance functions that guarantee that a synchronized network is locally asymptotically stable for arbitrary connected network graphs, and that guarantee that a synchronized network is achieved for almost all initial conditions in a tree graph; in providing explicit domains of attraction for the network to converge to a synchronized network; and in characterizing the equilibria configurations for some general, yet specific, types of network graphs. A preliminary version of this work was submitted to the 2015 IEEE Conference on Decision and Control [22]. 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 concept of cone has been modified, with a clearer intuitive interpretation; the proof for the proposition that supports the result on local stability of the synchronized network has been simplified; further details on the condition imposed on the distance functions are provided; additional examples on possible distance functions, and their properties, are presented; and supplementary simulations are provided which further illustrate the theoretical results.

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 arbitrary graphs, respectively; and, in Section VII, simulations are presented that illustrate the theoretical results.

Ii Notation

and denote the zero column vector and the column vector with all components equal to 1, respectively; denotes a column vector in ; when the subscript is omitted, the dimension is assumed to be of appropriate size. stands for the identity matrix, and we omit its subscript when . The matrix is a skew-symmetric matrix and it satisfies , for any . The map , defined as , yields a matrix that represents the orthogonal projection operator onto the subspace perpendicular to . We denote the Kronecker product between and by . Given , for some , we denote (direct sum of matrices) as the block diagonal matrix with block diagonal entries to . Given , ; additionally, we say and have the same direction if there exists such that . We say a function is of class , or equivalently , if its first derivatives (i.e., , , , ) exist and are continuous on . Finally, given a set , we use the notation for the cardinality of .

Iii Problem Statement

We consider a group of agents, indexed by the set , operating in the unit sphere domain, i.e., in . The agents’ network is modeled as an undirected static graph, , with as the vertices’ set indexed by the team members, and as the edges’ set. For every pair of agents , that are aware of and can measure each other’s relative attitude, we say that agent is a neighbor of agent , and vice-versa; also, we denote as the neighbor set of agent .

Each agent has its own orientation frame (w.r.t. an unknown inertial orientation frame), represented by . Let the unit vector be a direction along agent’s orientation, i.e., , where is a constant unit vector, specified in the agent’s  body orientation frame, and known by agent  and its neighbors. In this paper, the goal of attitude synchronization is not that all agents share the same complete orientation, i.e., that , but rather that all agents share the same orientation along a specific direction, i.e., that . For example, in a group of satellites that must align their principal axis associated to the smallest moment of inertia, it follows that, for each , with as the satellite’s moment of inertia and with as the smallest eigenvalue of ; and that the desired synchronized network of satellites satisfies . Figures 1 and 2 illustrate the concept of incomplete synchronization for two agents. Notice that agent is not aware of , since this is specified w.r.t. an unknown inertial orientation frame; instead, agent is aware of its own direction – fixed in its own orientation frame – and the projection of its neighbors directions onto its own orientation frame.

(a) Two non-synchronized rigid bodies.
(b) Two synchronized rigid bodies.
Fig. 1: In incomplete synchronization, rigid bodies, indexed by , synchronize the unit vectors , where is fixed in rigid body . In Figs. 1(a)-1(b), (, and stand for the canonical basis vectors of ).
(a) Two non-synchronized rigid bodies.
(b) Two synchronized rigid bodies (where ).
(c) Two synchronized rigid bodies (where ).
Fig. 2: In incomplete synchronization, rigid bodies, indexed by , synchronize the unit vectors , where is fixed in rigid body . In Figs. 2(a)2(c), (, and stand for the canonical basis vectors of ).

Consider then any agent , with rotation matrix , unit vector where , body-framed angular velocity , moment of inertia (), and body frame torque . The rotation matrix evolves according to


where is defined as


while each unit vector evolves according to , where is defined as


The previous results follows from the fact that for some constant , and therefore . Finally, the body-framed angular velocity evolves according to the dynamics


and therefore , where is defined as

Definition 1

Two unit vectors are diametrically opposed if , and synchronized if . A group of unit vectors is synchronized if for all .

Problem 1

Given a group of rotation matrices , with angular velocities and moments of inertia satisfying (III.1) and (III.5), design distributed control laws for the torques , in the absence of a common inertial orientation frame, that guarantee that the group of unit vectors is asymptotically synchronized.

For the purposes of analysis, we consider the state , and the control input ; where evolves according to where


with and .

Remark 1

Given our choice of state, the corresponding vector field in (III.7) depends explicitly on time. The explicit time dependency encapsulates the effect of the space orthogonal to on the kinematics of . Therefore, in the analysis we would have to consider the effect of initializing the system at different time instants , corresponding to different initializations of the space orthogonal to . In general, that initialization does have an effect on a trajectory of , but, as shall be verified later, it does not affect the attainment of the goal defined in Problem 1. Therefore, we assume that the initial time instant is always , i.e., .

Iv Proposed Solution

Iv-a Preliminaries

We first present some definitions and results from graph theory that are used in later sections [23]. A graph is said to be connected if there exists a path between any two vertices in . is a tree if it is connected and it contains no cycles. An orientation on the graph is the assignment of a direction to each edge , where each edge vertex is either the tail or the head of the edge. For brevity, we denote , and . Additionally, and for notational convenience in the analysis that follows, consider the sets , i.e., the set of edges of the graph ; and . For undirected network graphs, we can construct an injective function from which it is possible to construct a second, now surjective, function , which satisfies when and when . As such, by construction, for every , , since we consider undirected graphs. The function thus assigns an edge index to every unordered pair of neighbors. The incidence matrix of is such that, for every and for , , and for all . Finally, for each edge and , we denote and , i.e., we identify an agent by its node index but also by its edges’ indexes ( if is the tail of edge , and if is the head of edge ).

Proposition 2

If is a tree, then and are positive definite [24].

Proposition 3

If is connected but not a tree, then the null space of the incidence matrix, i.e., , is non-empty, and it corresponds to the cycle space of (Lemma 3.2 in [25]).

Denote by the set of indices corresponding the edges that form a cycle. Consider a network with cycles, . A cycle is said to be independent if for all . In Fig. 3(a), a graph with two independent cycles is presented. Additionally, we say two cycles and share only one edge when and contains edges from only the following three cycles (in ): , and , with . Figures 3(b) and 8(c) present graphs with two cycles that share only one edge.

Proposition 4

Consider a graph with independent cycles, . Then the null space of is given by ; and the null space of is given by .

Notice that, for an incidence matrix , there are edges and these belong to . On the other hand, for the incidence matrix (with ), there are edges, but, since the agents operate in an -dimensional space, those edges belong to . With that in mind, under the conditions of Proposition 4, means that is the space where all edges of an independent cycle have the same absolute value. On the other hand, means that is the space where all edges of an independent cycle have the same direction and norm (or are all zero).

Proposition 5

Consider a graph with independent cycles, , and pairs of cycles that share only one edge, . Then the null space of is given by ; and the null space of is given by .

The results of Proposition 5 can be interpreted as follows: is the space where, for each cycle, all its edges (), except the one that is shared, have the same absolute value; while is the space where, for each cycle, all its edges (), except the one that is shared, have the same direction and norm (or are all zero). Some examples that illustrate Propositions 4 and 5, and details on equivalent incidence matrices are found in C. Also, proofs of Propositions 4 and 5 are found in Appendix D. These Propositions are useful in a later section, where we prove that for network graphs that satisfy the conditions of either Proposition, the agents converge to a configuration where all unit vectors belong to a common plane.

(a) Graphs two independent cycles.

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

We now present a definition and some results that will prove useful in a later section.

Definition 2

We say that a group of unit vectors belongs to an open (closed) cone, denoted by (), if there exists a unit vector such that () for all .

The concept of open -cone is exemplified In Fig. 4, with three unit vectors , and contained in a -cone formed by a unit vector . In fact, any group of unit vectors contained in the sphere surface region marked in bold is contained in a -cone associated to the unit vector .

The following propositions follow from Definition 2 and Proposition 27 in Appendix A.

Proposition 6

If , for some , then .

This proposition follows immediately after Proposition 27.

Proposition 7

If, given , holds for some , then .

A proof of Proposition 7 is found in Appendix A.

Fig. 4: Three unit vectors , and in a -cone associated to the unit vector .

Iv-B Distance in

Consider an arbitrary distance function between unit vectors , satisfying . We say that , if, for all , it satisfies the partial differential equation


Let us motivate the introduction of (IV.1). Given , it follows that, along along a trajectory of (III.7), (for brevity, we omit the time dependencies below)


where we identify an incidence matrix corresponding to an edge between unit vectors and . Motivated by (IV.4), let us define two functions. Firstly, consider distance functions , one for each edge . Define then as


to be the error of edge , and for each ,. Define also as


Define, also, as


named, hereafter, total distance function in the network of unit vectors. Note that , which means Problem 1 is solved, if along a trajectory of (III.7), . It follows from (IV.4) that, if for all , then, along a trajectory of (III.7),


Notice that (IV.8) follows from (IV.1), which is the reason for imposing such condition. Now, the point in question is what types of distance functions satisfy (IV.1). In Proposition 28, in Appendix, we prove that a distance function satisfies (IV.1), i.e. , if and only if there exits , with , such that . Physically, only distance functions that are functions of the angle between two unit vectors satisfy (IV.1) (where the angle between and can be defined as , with ). Moreover, distance functions that satisfy (IV.1) are invariant to rotations of their arguments, i.e., for any . This property guarantees that the proposed controllers can be implemented without the need of a common inertial orientation frame, a property that is verified later.

To summarize, there are distance functions , one for each edge , and, therefore, there are , one for each edge , such that . For reasons that will become apparent later, we restrict the previous functions to satisfy some more properties.

Definition 3

Consider a function , satisfying i) , ii) , and iii) . Denote and . We say

  • if and if ,

  • if , and if ,

  • if ,

  • if ,

  • if is of any of the previous classes.

Fig. 5: Relation between properties of and the classes it belongs to.

Figure 6 illustrates the different classes introduced in Definition 3 while Fig. 5 illustrates how the properties that satisfies affects the classes it belongs to (see Remark 33 in Appendix). In [20], the notion of reshaping function is introduced, whose definition is within the same spirit as that of Definition 3. For the rest of this manuscript, we assume that, for each edge , there exists a function where ; in particular, plays the role of an edge weight. In e.g. [11, 12], and , for all ( is the weight of edge and it is denoted by in [11], where ). As such, (IV.7) and (IV.5) can be rewritten as (see (IV.12))


and as


respectively. Note that is well defined for all if , and if , note that does not exist. Note that the total distance function (IV.9) depends on , for all , while (IV.6) depends on , for all . As such, a distance function may or may not be defined when two unit vectors are diametrically opposed, depending on whether or ; similarly, an edge error may or may not be defined when two unit vectors are diametrically opposed, depending on whether or . Thus, the domains of (IV.7) and of (IV.6) depend on the classes belongs to, for all . In particular, and , where


and where we emphasize that , since (see Fig. 5). These domains play a role later on, since is used in constructing a Lyapunov function, while is used in constructing the control law. As such, the Lyapunov function can be well defined, while the control law is not, while if the control law is well defined, so is the Lyapunov function. Consequently, it is important to guarantee that along trajectories of the closed-loop system, the control law is well defined. Additionally, notice that (IV.10) provides some insight on why we denote as edge error of edge . Indeed, if , it follows that implies that , i.e., it implies that the neighbors that form edge are either synchronized or diametrically opposed. Moreover, if , the distance between unit vectors is supremum when two unit vectors are diametrically opposed, i.e., for each , (denote )


For convenience, denote


which plays an important role in this and the following sections.

Proposition 8

Consider the total edge error in (IV.6) and the total distance function in (IV.9). Consider as , where is compact for all positive (where refers to a set-valued function). Then, it follows that


and that there are no diametrically opposed neighbors, i.e.,