Attitude Synchronization of a Group of Rigid Bodies Using Exponential Coordinates

Currently, managing a group of satellites or robot manipulators requires coordinating their motion and work in a cooperative way to complete complex tasks. The attitude motion coordination and synchronization problems are challenging since attitude motion evolves in non-Euclidean spaces. Moreover, the equation of motions of the rigid body are highly nonlinear. This paper studies the attitude synchronization problem of a group of fully actuated rigid bodies over a directed communication topology. To design the synchronization control law, we exploit the cascade structure of the rigid body’s kinematic and dynamic models. First, we propose a kinematic control law that induces attitude synchronization. As a second step, an angular velocity-tracking control law is designed for the dynamic subsystem. We use the exponential coordinates of rotation to describe the body’s attitude. Such coordinates are a natural and minimal parametrization of rotation matrices which almost describe every rotation on the Special Orthogonal group SO(3). We provide simulation results to show the performance of the proposed synchronization controller.


Introduction
Attitude stabilization and tracking are important objectives in automatic control [1] and robotics, since these problems appear in several tasks, such as aerospace tasks, robot force control, dexterous robot manipulation, assembly tasks, and vehicle orientation [2][3][4][5]. Compared to position trajectory tracking or regulation problems, attitude control is more involved. This is due to the attitude kinematics, and dynamics are nonlinear and evolve in non-Euclidian spaces such as the Special Orthogonal group SO(n) or the n-Sphere S n [6,7].
On the other hand, the coordination of multiple robots or spacecraft has received much attention in recent decades. Nowadays, robotic tasks are more demanding and challenging, requiring multiple robots to perform the task correctly. Cooperative robots take inspiration from the collective behaviors observed in nature, for instance, flocking birds or schooling fish [8,9]. Interesting collective behaviors in robotics include synchronization, flocking, formation, and consensus [10][11][12].
Attitude synchronization is fundamental in spacecrafts swarms. The formation of sensor arrays can expand the range of the system, as in deep-space interferometry [13,14], vision systems [15] and antenna arrays [16], to mention a few. Different approaches are used to represent the attitude of a rigid body, often trying to avoid the singularities produced by the Euler's angle representation. As an example, Sharma and Kar [17] propose an almost global controller in the tangent bundle TSO (3) in order to achieve consensus in a group of rigid bodies under a directed graph communication. In this case, the attitude of the bodies is represented by means of rotation matrices. A quaternion-based synchronization controller for multiple spacecrafts is presented in [18]. The synchronization control law does not depend on the dynamic model of the space craft; however, it only works for a bidirectional ring topology. A novel control strategy for robust global attitude synchronization based on hybrid control theory is proposed in [19]. In this work, the attitude of the rigid body is described by the unit quaternion, and the hybrid controllers avoid the well-known unwinding phenomena. The problem of attitude consensus and velocity synchronization for a multi-agent rigid body system is addressed in [20]. The authors propose nonlinear control laws based on rotation matrices that achieve asymptotic consensus and synchronization. Nevertheless, the controller is limited for undirected graphs. An energy-shaping approach for attitude synchronization is proposed in [21]. The proposed control law works for directed and time-varying connected graphs.
On the other hand, Liu et al. [22] achieved attitude synchronization of spacecraft without needing velocity measurements, which is due to the representation of the rigid bodies by means of modified Rodrigues parameters (MRPs). Furthermore, Abdessameud et al. [10] employed the unit quaternion representation of the attitude of a spacecraft to cope with the attitude synchronization of multiple spacecraft under communication delays. In this case, the authors proposed a leader-follower scheme and also a graph-based scheme to solve the problem. Ref. Liu and Huang [23] also consider the leader-follower synchronization problem of a group of rigid bodies but under switching topologies. To solve this problem, the authors propose a distributed observer in combination with a distributed control law based on unit quaternion representation. Using the modified Rodrigues parameters, Ren [24] proposes two distributed control laws based on the passivity framework that achieves attitude synchronization. On the other hand, Zou [25] addressed the problem of attitude synchronization of rigid bodies when the reference attitude is only available for a few members of the team. The author proposed a discontinuous control law combined with a sliding mode observer.
The main contribution of this paper is the design of a distributed attitude synchronization control law over directed communication topologies for a group of fully actuated rigid bodies. The synchronization controller is obtained exploiting the cascade structure of the kinematic and dynamic model of the rigid body. In this regard, we propose two control loops. First, a kinematic control law (outer-loop controller) based on the exponential coordinates of rotation was design to achieve attitude synchronization. Then, an angular velocity tracking control (inner-loop controller) is proposed for the dynamic model. The stability of the closed-loop equilibrium point was proved by a strict Lyapunov function. The rest of the paper is organized as follows. In Section 2, the kinematic and dynamic models of rigid spacecrafts are presented as well as some key features of graph theory. Section 3 describes the proposed attitude consensus control law for the multi-agent system. Simulation results are reported in Section 4 and, lastly, some conclusions and future work is presented in Section 5.

Notation
The space of real numbers is denoted by , and k denotes the k-dimensional Euclidean space with the Euclidean norm defined as x = √ x x ∀x ∈ k where (·) is the transpose operator. The Special Orthogonal group of order 3 is denoted by where I 3 is the 3 × 3 identity matrix. The unit sphere embedded in 3 is defined as

Kinematic and Dynamics
This section introduces the kinematics and dynamics models of a fully actuated rigid body. To begin with, let Σ I = {x I , y I , z I } and Σ B = {x B , y B , z B } denote the inertial and body frames, respectively (see Figure 1). The frames Σ I and Σ B are related by the rotation matrix R ∈ SO(3), which describes the attitude of the rigid body. The kinematics of the rigid body is given by [26] where ω ∈ 3 is the angular velocity resolved in the body frame Σ B and S(·) ∈ 3×3 is a skew-symmetric matrix Alternatively to rotation matrices, the rigid body's attitude can be described by the vector quantity ξ = θn ∈ 3 where n ∈ S 2 is the axis of rotation and θ ∈ is the rotation angle. The vector ξ is called the exponential coordinates of R and represents a minimal parametrization of the rigid body's attitude [27]. The rotation matrix R and the exponential coordinates ξ are related by the exponential map where I 3 ∈ 3×3 is the identity matrix and θ = ξ . Conversely, given R ∈ SO(3), we can compute S(ξ) by means of the logarithmic map defined as where cos θ = (trace(R) − 1)/2 and (R − R )/2 is the skew-symmetric part of R. Finally, ξ is obtained as ξ = vec(log(R)) where vec(·) is the inverse of the matrix operator S(·), i.e., vec(S(a)) = a for all a ∈ 3 . The logarithmic operator (4) maps an element of SO(3) into a vector which is contained in a sphere of radius π and centered at the origin (see Figure 2). The points in the boundary of the sphere are the singularities of (4), i.e., when θ = π, or equivalently, when trace(R) = −1. It is important to remark that the set D = {R ∈ SO(3) | trace(R) = −1} has zero measure; therefore, the exponential coordinates almost cover any rigid body's attitude [28]. This is an important advantage with respect to other attitude parametrization such as Euler angles. The kinematics of the exponential coordinates is given by [29] where the Jacobian matrix J(ξ) ∈ 3×3 is given by and its inverse is given by Notice that if ξ = 0; then, J(ξ) = J −1 (ξ) = I 3 . Morevoer, the Jacobian matrix J(ξ) and its inverse are well-defined for all ξ < 2π. The time derivatives of J(ξ) and J −1 (ξ) are, respectively, given byJ whereθ = ξ ξ /θ. On the other hand, the equation of motion of a rigid body can be described by the Newton-Euler formalism [30], where M = M ∈ 3×3 is the constant inertia matrix and τ ∈ 3 is the input torque, both quantities are expressed in the body frame.

Graph Theory
We use tools of graph theory to model the communication between the rigid bodies. A graph G is composed by the set N = {1, . . . , N} which contains the nodes (rigid bodies) and the set of edges (links) denoted E ⊆ N × N . For a directed graph or digraph, the edge set E is composed of ordered pairs of nodes; namely, the edge (i, j) ∈ E implies that the robot i obtains information from j but not vice versa. The adjacency matrix A = [a ij ] ∈ N×N for a directed graph is defined as (11) where N i is the set of neighbors transmitting information to rigid body i. The Laplacian The Laplacian matrix has the eigenvector 1 N = 1 . . . 1 ∈ N associated to the eigenvalue λ 1 = 0. For a directed graph, the rest of the spectrum of L has a positive real part. If there exists a sequence of edges (undirected path) that joins any pair of node, we say that the graph is connected [31]. A digraph is strongly connected if there is a directed path that connects every pair of nodes. If the eigenvalue λ 1 = 0 has an algebraic multiplicity of one, then the graph is connected [32][33][34].

Attitude Synchronization
Consider N rigid bodies with the state variables (ξ i , ω i ) and equation of motion described byξ with i = 1, . . . , N. Let is an auxiliary control input and ω r i ∈ 3 is an angular reference velocity that will be defined later. Based on the definitions given above, Equations (13) and (14) can be written as followsξ whereω i = ω i − ω r i ∈ 3 is the angular velocity error. In this work, the attitude synchronization problem can be stated as follows: design the reference velocity ω r i and the auxiliary control input u i such that where ξ d (t) ∈ 3 is the desired exponential coordinates which corresponds to the desired attitude R d (t) ∈ SO(3), namely, ξ d (t) = vec(log(R d (t))) and ω d (t) ∈ 3 is the desired angular velocity. The desired attitude satisfies the following kinematic equationṡ The proposed attitude synchronization control law is given by whereξ i = ξ i − ξ d (t) ∈ 3 is the attitude error in exponential coordinates, ϕ i ∈ 3 is an additional state, k i , γ i , and α ∈ are positive constants, c ∈ is the positive coupling strength, and a ij denotes the elements of the adjacency matrix A. The time derivate of the reference angular velocity is given bẏ . (21) Notice that the time derivative of the angular velocity ω r i does not depend on the angular velocities of the other rigid bodies.
The following proposition summarizes the main contribution of this paper. (13) and (14) and assume that the communication graph G is directed and connected. Then, the dynamic control law (18)- (20) in closed loop with (15) and (16) achieves attitude synchronization in the sense of (17).

Proposition 1. Consider a group of N rigid bodies described by
Proof. Substituting the synchronization control law (18)- (20) in (15) and (16) yieldṡ To proceed with the stability analysis, we introduce the auxiliary state whose time derivative is given bẏ Finally, using the properties of the Kronecker product [35] and by taking into account (22)- (24) and (26), the closed-loop dynamics readṡ where ⊗ denotes the Kronecker product, ϕ, ξ andω ∈ 3N are stacked vectors, L ∈ N×N is the Laplacian matrix, J(ξ) = blockdiag{J 1 (ξ 1 , . . . , J N (ξ N ))} ∈ 3N×3N is the block diagonal matrix and K = diag{k 1 , . . . , k N } ∈ N×N , Γ = diag{γ 1 , . . . , γ N } ∈ N×N . Since the communication graph is connected by assumption and the matrix K is positive definite, the spectrum of K + L has a positive real part (see [36] for further details), and hence, the matrix −(K + L) ⊗ I 3 is Hurwitz. Therefore, it can be shown that the origin (ϕ, r,ω) = (0, 0, 0) is the unique equilibrium point of (27)- (29). To analyze the stability of the equilibrium point, consider the canidate Lyapunov function where µ ∈ is a positive constant. The candidate Lyapunov function can be lower and upper bounded as where x = ϕ r ω ∈ 9N and a 1 = 1 2 min{µ, α, 1} a 2 = 1 2 max{µ, α, 1}. The time derivative of V along (27)-(29) is given bẏ (32) where the last two terms cancel each other out. The time derivate of V satisfieṡ where k = min{k 1 , . . . , k N }, γ = min{γ 1 , . . . , γ N }. By selecting the parameter µ as the symmetric matrix Q ∈ 2×2 is positive definite and henceV is a negative definite function. This in turn implies that the closed-loop variables are bounded and the origin is asymptotically stable in the sense of Lyapunov. It is important to remark that µ is not a controller parameter, and it can be made arbitrarily small to satisfy (34). By taking into account (31) and (34), it followṡ where a 3 = min{λ min {Q}, γ}. The inequality (35) implies that the origin (ϕ, r,ω) = (0, 0, 0) is also an exponentially stable equilibrium point [37,38]. Since the exponential coordinates almost cover any rotation in SO (3), the domain of attraction of the equilibrium point is almost global. The exponential convergence to zero of r(t) and ϕ(t) implies The exponential converge ofω(t) to zero also implies that This concludes the proof.

Simulations
This section presents simulation results to show the performance of the synchronization control law developed in Section 3. In the simulation, we consider a network of four rigid bodies whose inertia matrices are given by From the Rodrigues' rotation formula, the attitude of the four rigid bodies can be expressed as We recall that (θ i , n i ) are the angle/axis of rotation. The initial attitude as a function of the angle/axis parameters is described in Table 1. The four rigid bodies start at the rest position; this implies that the initial angular velocity is zero, i.e., ω i (0) = 0 ∈ 3 [rad/s].
In the simulation, the control gains were selected as where I 4 is a 4 × 4 identity matrix. The communication topology is depicted in Figure 1, and its corresponding Laplacian matrix is given by The graph is connected and the spectrum of L is given by σ{L} = {0, 1.5 ± √ 3/2j, 2}. The desired angular velocity and its time derivative are given by The desired exponential coordinates are given by ξ In order to perform the simulation, the kinematic and dynamic models of the rigid body were discretized as follows where R k = R(kT), ω k = ω(kT), τ k = τ(kT), and T = 0.01 [ms] is the time step size with k = 0, 1, 2, . . . , N. Since the matrix exponential exp(S(Tω k )) is in fact a rotation matrix (see Equation (3)), at each integration step, the structure and properties of R k are preserved. The desired attitude R d is computed in a similar fashion, i.e., The trajectory of the exponential coordinates is shown in Figure 3. As seen in Figure 3, the proposed control law achieved attitude synchronization; after the transient response, the exponential coordinates of each rigid body converge to the desired attitude ξ d (t). The time evolution of the attitude errorξ i (t) and relative attitude error ξ i (t) − ξ j (t) for all i, j ∈ N are shown in Figures 4 and 5, respectively. As it can be appreciated in both figures, the attitude errors converge exponentially to zero with a very similar convergence rate.
To obtain a better insight of the attitude synchronization, we compute the angle of rotation and desired angle as follows for all i ∈ N . The time evolution of the angle of rotation of each rigid body is depicted in Figure 6. After the transient response, the angles of rotation converge to the desired rotation angle θ d (t).
On the other hand, Figure 7 shows the components of the angular velocities for each agent, which converge exponentially to the desired angular velocity, meaning that the attitude synchronization objective is reached. Finally, the magnitude of the control input torque generated by the synchronization control law is shown in Figure 8.

Conclusions
In this work, we proposed a control law based on the exponential coordinates of rotation to solve the attitude synchronization problem of a group of fully actuated rigid bodies over directed communication topologies. To design the synchronization controller, we exploit the cascade structure between the rigid body's kinematics and dynamics. In this regard, we divided the problem into an outer-loop controller (kinematic controller) and an inner-loop controller (velocity tracking controller). The former controller was designed to achieve attitude synchronization using a reference angular velocity as the virtual control input. On the other hand, for the latter controller, we designed a trajectory tracking controller that drives the angular velocity error to zero. The proposed controller for rigid body i achieves attitude synchronization using only its angular velocity and the attitude of its neighbors. The neighbors' angular velocity is not required to achieve attitude synchronization. By means of a strict Lyapunov function, we showed that the equilibrium point of the closed-loop dynamics is exponentially stable. Numerical simulation shows the effectiveness of the proposed approach. As future work, we will consider communication delays and parameter uncertainties in the dynamic model.