Open access peer-reviewed chapter

Consensus-Based Attitude Maneuver of Multi-spacecraft with Exclusion Constraints

Written By

Innocent Okoloko

Submitted: 30 May 2017 Reviewed: 06 October 2017 Published: 20 June 2018

DOI: 10.5772/intechopen.71506

From the Edited Volume

Space Flight

Edited by George Dekoulis

Chapter metrics overview

1,268 Chapter Downloads

View Full Metrics


Some space missions involve cooperative multi-vehicle teams, for such purposes as interferometry and optimal sensor coverage, for example, NASA Terrestrial Planet Finder Mission. Cooperative navigation introduces extra constraints of exclusion zones between the spacecraft to protect them from damaging each other. This is in addition to external exclusion constraints introduced by damaging or blinding celestial objects. This work presents a quaternion-based attitude consensus protocol, using the communication topology of the team of spacecraft. The resulting distributed Laplacians of their communication graph are applied by semidefinite programming (SDP), to synthesize a series of time-varying optimal stochastic matrices. The matrices are used to generate various cooperative attitude maneuvers from the initial attitudes of the spacecraft. Exclusion constraints are satisfied by quaternion-based quadratically constrained attitude control (Q-CAC), where both static and dynamic exclusion zones are identified every time step, expressed as time-varying linear matrix inequalities (LMI) and solved by semidefinite programming.


  • attitude maneuvre
  • consensus
  • exclusion
  • optimization
  • LMI

1. Introduction

Some current space missions already demanded the deployment of teams of spacecraft which cooperate synergistically for such purposes as interferometry and sensor coverage [1, 2]; and many future missions will. Activities such as interferometry and sensor coverage require cooperative attitude control (AC)—the process of making a team of spacecraft, for example, satellites to point toward a specific direction of interest. This makes attitude control an essential part of space missions [3]. Apart from spacecraft, AC is also important in the navigation of aircraft and robots; therefore, it has been studied extensively in the literature, for example [4, 5, 6, 7, 8, 9, 10, 11].

Basically, AC is a challenging problem, which becomes more challenging when multiple spacecraft are involved, in highly dynamic environments, and subject to external constraints such as blinding celestial objects such as the sun or some bright stars, which can damage onboard sensitive instruments. In addition, because of the close packing of spacecraft in a team, each of which has protruding appendages (e.g. thrusters and antennae), they must be careful with each other when changing attitude, in order to avoid collision with each other. When there is such a team of networked spacecraft which can communicate, then consensus theory based on graph Laplacians can be applied to achieve cooperation among them [12, 13].

The most common method of representing spacecraft attitude dynamics is by unit quaternions, mainly because quaternions do not encounter the singularities associated with other representations such as Euler angles and the Modified Rodriques Parameters (MRP). However, the non-linearity of quaternion dynamics makes it difficult to apply Laplacian-like dynamics directly to quaternions.

We shall now consider some previous work on constrained attitude control (CAC). A brief survey of the main method attitude representation is in [4]. Ref. [5] considers quadratically constrained attitude control (Q-CAC), where the exclusion problems are formulated as a quadratic optimization problem and solved using linear matrix inequalities (LMIs) and semidefinite programming (SDP). It was solved for a single-spacecraft single obstacle in [5] and for two spacecraft in [6]. In [7] an attempt was made to extend [5, 6] to more than two spacecraft and obstacles. In [7, 8, 9, 10], was extended to multiple spacecraft multiple obstacles in different coordinate frames (as the case of real spacecraft will be). An attempt was made in [11] to reduce the control torques required for effective attitude stabilization from three to two. This is applicable to underactuated spacecraft. [12] applies a consensus-based approach to distributed attitude alignment of a team of communicating spacecraft flying in formation, while [14] applies a Laplacian-based protocol to leader-follower attitude control of a team of spacecraft using the modified Rodriquez parameters.

Among the plethora of AC algorithms, only our works [7, 8, 9, 10] apply consensus theory directly to quaternions, and only [5, 6, 7, 8, 9, 10] tackle the problem of avoidance constraints. In addition, among the works [5, 6, 7, 8, 9, 10] only [8, 9, 10] were developed for spacecraft in different coordinate frames, which has direct practical implementation. The contributions of this chapter are therefore aspects of our previous works [7, 8, 9, 10], which include the following: (i) the development of a quaternion consensus protocol, (ii) incorporating dynamic avoidance constraints into the consensus framework using Q-CAC, (iii) mathematical convergence analysis for the quaternion-based consensus framework and (iv) solving the problem for the realistic scenario of multiple spacecraft in different coordinate frames, thus making it more suitable for practical implementation.

Note: the words obstacle, avoidance, exclusion and exclusion vector may be used interchangeably in this chapter. Table 1 lists frequently used notation in this chapter.

SCi, SCiSpacecraft i
qiAttitude quaternion vector of SCi, SCi, qi = [q1 q2 q3q4]T
qior qiConjugate of qi
q¯iVector part of qi, q¯i=q1q2q3T
q¯i×Antisymmetric of qi
qStacked vector of more than one quaternion vectors
qoffStacked vector of more than one offset quaternion vectors
Ω, ΠQuaternion dynamics plant matrix
PQuaternion dynamics Laplacian-like plant matrix
ωAngular velocity
τControl torque
JInertia matrix
LLaplacian matrix
PLaplacian-like stochastic matrix
InThen n × n identity matrix
SmThe set of m × m positive definite matrices
A~Cone avoidance constraint matrix
RiRotation matrix corresponding to qi
FSCiIFixed coordinate (Inertial) frame with origin at SCi’s center
FSCiBRotational coordinate (Body) frame with origin at SCi’s center
vobsiBVector of obstacle in FSCiB
vobsiIVector of obstacle in FSCiI
vobsi.jIVector of the jth obstacle in FSCiI
vcamiBVector of the SCi’s camera in FSCiB
vcamiIVector of the SCi’s camera in FSCiI
Kronecker multiplication operator
Quaternion multiplication operator
Quaternion difference operator
t0Initial time
tfFinal time
xiPosition vector of SCi, SCi
xStacked vector of n position vectors
(xij)offOffset vector between i and j
xoffStacked vector of n offset vectors
CThe consensus space for q,C=qq1=q2==qn

Table 1.

Frequently used notations in this chapter.


2. Problem statement

The problem of multi-spacecraft attitude control with avoidance constraints can be stated as follows. Given the initial positions xi(t0) ∈ R3i = 1⋯n, initial attitudes represented by quaternions qi(t0), of a set of communicating spacecraft SCi, generate a sequence of attitude consensus trajectories that drive the team to a consensus attitude q(tf) while satisfying avoidance and norm constraints.

The problem stated above consists of two parts: consensus and avoidance. For the consensus problem, it is desired to drive the attitudes of all SCi to a collective consensus attitude or to various formation attitudes. Consensus attitude means that each SCi should eventually point to the same direction, which is the average of the initial quaternions. Formation attitudes means SCi should finally point to various patterns, for example, each spacecraft can point at 5o away from each other about the z-axis. This we developed by introducing relative offset quaternions in the consensus framework. The second problem, avoidance constraints, is also important, because SCi usually have appendages, for example, some SCi have thrusters that emit hot plumes (plume impingement), and some have instruments that can be damaged by blinding celestial objects or by the appendage of another team member.

However, the ordinary consensus protocol violates the non-linearity of quaternion kinematics and the quaternion norm preserving requirement and therefore cannot be applied directly with quaternion dynamics. Also, the protocol ordinarily does not solve the problem of collision avoidance in adversarial situations. Thus, this chapter consists of aspects of our previous works [7, 8, 9, 10], where we developed a consensus theory of quaternions, augmented with Q-CAC-based collision avoidance mechanisms. We employed an optimization approach and cast the problems as a semidefinite program (SDP), augmented with some convex quadratic constraints (avoidance), written as linear matrix inequalities (LMI). The quaternion consensus protocol computes consensus attitude trajectories each time step, and the Q-CAC avoidance procedure decides which of the computed trajectories are safe to follow or not. Unsafe trajectories are discarded, and a new set of quaternion vectors that avoid collision is generated. The cycle repeats until consensus is achieved.

To understand the avoidance (exclusion) problem, let us illustrate with a simpler single-SCi single-obstacle scenario as shown in Figure 1. In the figure, the SCi must avoid (exclude) the Sun while rotating a photosensitive instrument from q0 to qf.

Figure 1.

Constrained attitude control problem for a single-sc single-exclusion scenario. SCi must avoid (exclude) the Sun while rotating a photosensitive instrument from q0 to qf.

Let vcamiIt denote the unit camera vector in FSCiI corresponding to the SCi‘s attitude qi (as defined in Table 1), and let vobsiIt be the attitude quaternion of the obstacle to be avoided (in this case the Sun). Exclusion requires the time evolution of camera vector vcamiI from vcamiIt0 to vcamiItf to avoid vobsiIt all times with a minimum angular separation of ∅. The requirement is.




The constraint is a non-convex quadratic constraint; it was convexified in [4], which made it possible to be represented as a LMI using the quaternion attitude constraint formulation developed in [3] for a single-spacecraft single-obstacle scenario. In [4], vobsI was static, while vcamiIt was evolving; both vectors were in the same coordinate frame. Although solving it in the same coordinate frame somewhat simplified the solution, it was not suitable for practical implementation because, in reality, the obstacle and spacecraft operate in different coordinate frames. Next, we present the basic mathematical preliminaries.


3. Mathematical background

In this section, we shall briefly consider the two basic mathematical theories relevant to this chapter. More comprehensive study and analysis are in [10].

3.1. Quaternion-based rotational dynamics

Because quaternions are free from the problems of singularities inherent in Euler angles and most other ways of representing rotations, it is convenient to use unit quaternions to represent the attitude of a rigid body rotating in three-dimensional space (such as spacecraft or satellite) [15]. The quaternion is a four-element vector:

q=q1 q2 q3|q4T.E3

Here, [q1 q2 q3]T is the vector part, representing the axis of rotation in the Cartesian (x, y, z) coordinates, and q4 is a scalar part, representing the angle of rotation of the quaternion in degrees. The difference between two quaternions q1 and q2 can be represented in multiplication terms as.


where q−2 is the conjugate of q2. We used ⊙ here as a quaternion multiplication operator. And Q2 is defined as


Eq. (4) means that qd is the rotation quaternion that originally transformed q1 to q2 or, alternatively, qd is a rotation quaternion that can transform q1 to q2.

The rotational dynamics for the ith quaternion is.




are the plant matrices of quaternion dynamics.

Euler’s first-order discretization of Eq. (6) yields


The dynamics of the rotational (angular) velocity ωi of qi is


Euler’s first-order discretization of Eq. (10) is


where ωji is the rotational velocity, Jji is the moment of inertia, and τji is the control torque, of the ith rigid body along the three principal axes j = 1, 2, 3. Combining Eqs. (9) and (11) in stacked vector form yields.


The typical task of controller synthesis is to determine the torque τi that stabilizes the system.

3.2. Basic consensus theory

The problem of consensus theory is to create distributed protocols based on communication graphs which can drive the states of a team of communicating agents to a common state or an agreed state. Where the agents i (i = 1, ⋯, n) are represented by vertices of the communication graph; the edges of the graph are the communication links between them. Let the state of agent (vehicle) i be xi, and x is the stacked vector of all the states of the vehicles. For systems modeled by first-order dynamics, the following first-order consensus protocol (or similar protocols) has been proposed, for example [16, 17]:


We know that consensus has been achieved when ‖xi − xj‖ → (xij)off as t → ∞, ∀i ≠ j. A more comprehensive analysis of the mathematical basis of graph theoretic consensus theory can be found in [10].

Now we state the limitations of consensus theory that motivates our work. First, the basic consensus protocol Eq. (13) does not admit quaternions directly because quaternion dynamics are highly nonlinear. It violates quaternion unit norm requirements, and therefore we cannot practically apply Eq. (6) with consensus directly. To extend Eq. (13) to attitude quaternions, we proposed the following consensus protocol for quaternions [7, 8, 9, 10]:


Here, P(t) is a Laplacian-like stochastic matrix whose values are partially unknown, but a Laplacian-like structure is imposed on it by optimization, and q(t) = [q1(t), q2(t)⋯qn(t)]T. We present more analysis of P(t) in the “Solutions” section.


4. Solutions

We present a four-step solution to the problem statement in Section 2 [7, 8, 9, 10], listed as follows: (1) development of a consensus protocol for quaternions, (2) development of collision avoidance behavior for quaternion consensus, (3) determining obstacle vectors in different coordinate frames and (4) integration of quaternion consensus with Q-CAC avoidance.

4.1. Development of a consensus protocol for quaternions

To handle the difficulty of non-linearity in quaternion kinematics, we develop a consensus protocol especially for quaternions. We adopt an optimization approach and cast the problem as a semidefinite program, which is subject to convex quadratic constraints, stated as linear matrix inequalities (LMI). Based on the current communication graph of any SCi, a series of Laplacian-like matrices Pi(t) are synthesized each time step to drive qi(t) to consensus while satisfying quaternion kinematics:


where q1Ttq2TtqyTt are the quaternions of the y other neighboring SC which SCi can communicate with at time t. Euler’s first-order discretization of Eq. (15) is


where Λi(t) > 0 is an unknown positive definite optimization matrix variable, whose components are chosen by the optimization process. For analysis purposes, we shall now reconsider the collective quaternion consensus dynamics Eq. (14). The components of P(t) are


where Γ is composed of components of the Laplacian L = [lij] (i, j = 1, ⋯, n), which gives P(t) its Laplacian-like behavior, and Λi(t) > 0 is as previously defined.

We now present the proof of stability of P(t), that is, that Eq. (14) does indeed achieve consensus. Different versions of all the theorems, lemmas and proofs in this section had been presented in [7, 8, 9, 10]. Let us begin by recalling the following standard result on a matrix pencil [18].

Theorem 1: For a symmetric-definite pencil A − λB, there exists a nonsingular Z = [z1, ⋯, zn] such that


Moreover, Azi = λiBzi for i = 1, ⋯, n, where λi = ai/bi.

Lemma 1: For any time t, the eigenvalues of P(t) are γiηi(t). Here, γi are the eigenvalues of Γ and ηi(t) the eigenvalues of Λ(t). It can therefore be observed that P(t) has only four zero eigenvalues; the rest of its eigenvalues are strictly positive.

Proof: To find the eigenvalues of P(t), consider a scalar λ such that for some nonzero vector z:


Eq. (20) defines a symmetric-definite generalized eigenvalue problem (SDGEP), where Γ − λΛ1(t) defines a matrix pencil. Theorem 1 therefore immediately implies that the eigenvalues of P(t) are γiηi(t). It is also easy to observe (or show numerically) that due to the property of the Laplacian matrix L, P(t) has positive eigenvalues except for four zero eigenvalues. This proves the claim.

Theorem 2: The time-varying system Eq. (14) achieves consensus.

Proof: For simplicity, we shall assume no offsets are defined, that is, qoff = 0 (or (qoff)i = [0 0 0 1]T ∀ i). By consensus theory, when q has entered the consensus space C = {q|q1 = q2=, ⋯, =qn}, then q̇ = 0 (i.e. no vehicles are moving anymore). C is the nullspace of P(t), that is, the set of all q such that P(t)q = 0. Therefore, q stays in C once it enters there.

Suppose that q has not entered C (i.e. q̇0), then consider a Lyapunov candidate function V = qTΓq; V > 0 unless q ∈ C. Then:


where s = Γq ≠ 0 for q ∉ C, which implies that q approaches a point in C as t → ∞. This proves the claim. Eq. (21) is true as long as L is nonempty, that is, some vehicles can sense, see or communicate with each other all the time.

4.2. Development of collision avoidance behavior for quaternion consensus

Eq. (15) or (16) will indeed generate a consensus qi(t) for any SCi, but the system still needs to determine whether the trajectory is safe or not. This brings us to the issue of avoidance. Any rigid appendage attached to the body of SCi, for example, a camera, whose direction vector is vcamiI in inertial frame, can be transformed to the spacecraft fixed body frame by the rotation:




is the rotation matrix corresponding to the qi(t) at time t; q¯i(t)× is the antisymmetric matrix [19]. For a simpler analysis, let us consider a single SCi with a single camera, vcamiI, and m (possibly, time-varying) obstacles, vobsi.jIj=1m, defined in FSCiI. We want vcamiI to avoid all vobsi.jI when SCi is re-orientating. Then following Eq. (3), the resulting attitude constraint of Eq. (2) can be written as


Its LMI equivalent [5] is






for j = 1, ⋯, m.

Eq. (24) defines the set of attitude quaternions qi(t) to satisfy the constraint vcamiItTvobsi.jIttt0tf, so it is used to find a collision-free vcamiIt. In Eq. (25), μ is chosen to ensure that μI4+A˜jit is positive definite.

However, the solution presented above assumes that vcamiBtT and vobsi.jIt are in the same coordinate frame and that vobsi.jIt is static, so t is constant. In reality, this is not so. To address such a practical issue, we present a mechanism to calculate vobsi.jI (defined in FSCiI) corresponding to vobsjI (defined in FSCjI) (vobsi.jI means the obstacle vector originated from the rotating frame of SCj but defined in FSCiI). This is essentially a mechanism to determine the intersection point of vobsjIt with the sphere of radius r, centerd on SCi. If indeed such an intersection exists, it defines vobsi.jI which can be used to define an attitude constraint represented as Eq. (24) to be avoided by SCi.

The scenario is illustrated in Figure 2, whereSC1 and SC2 are shown in their different coordinate frames relative to Earth. A thruster attached to SC1 body frame is at vobs1I, while the circles around SC1 and SC2 are spheres representing the coordinate frames from which their attitude evolves. If both spacecraft are close enough, then vector vobs1I may intersect a point on the sphere of SC2, whereby the intersection defines vobs2.1I in the frame of SC2. The requirement is that as SC2 changes its attitude from q0 to qf, vcam2I must avoid the cone created around vobs2.1Itt0tf.

Figure 2.

Q-CAC problem in different frames. SC2 must maneuver from q0 to qf, while vcam2I must avoid vobs2.1I by at least ∅ ∀ t ∈ [t0, tf].

4.3. Determination of obstacle vectors in different coordinate frames

Pursuing the issue of practicality further, given SCi in FSCiI and SCj in FSCjI with emanating vectors, an intersection between vectors emanating from FSCjI with the sphere centered on FSCiI can be determined, either by using onboard sensors or by application of computational geometry. Given a line segment [p1, p2], originating at p1 and terminating at p2, a point p = [px py pz]T on [p1, p2] can be tested for intersection with a sphere centered at an external point p3 with radius r [20]. Therefore, for any vobsjIt in FSCjI, if an intersection point p(t) exists at time t with the sphere centered on FSCiI with radius r, then vobsi.jIt=pt; otherwise, one can set vobsi.jIt=vcamiIt to show that no constraint violation has occurred. The value of r will thus depend on the current application but must be proportional to the urgency of avoiding obstacle vectors originating from other spacecraft. The above formulation effectively completes the decentralization of the avoidance problem which has already been partly decentralized by Eq. (16). Eq. (16) will be written in a semidefinite optimization program, which gives us the privilege to apply further constraints. Therefore, the norm constraints required by quaternion kinematics can be enforced as follows:


Essentially, Eq. (30) is the discrete time version of qi(t)Tq̇i(t) = 0 or q(t)Tq̇(t) = 0. This guarantees that qi(t)Tqi(t) = 1 or q(t)Tq(t) = n for nSC, iff ‖qi(0)‖ = 1 ∀ i.

4.4. Integration of quaternion consensus with Q-CAC avoidance

The integration of the quaternion consensus protocol with the Q-CAC collision avoidance in different coordinate frames is a two-stage process. First, the quaternion consensus protocol generates a set of consensus quaternion trajectories using Eq. (15) or (16). Then Eq. (25) tests whether the generated sequence is safe or not. If the next safe quaternion trajectory qsafei has been determined, the control torque τi and angular velocity ωi to rotate the SCi optimally to qsafei can be determined by using the normal quaternion dynamics Eq. (12). Otherwise, Eq. (25) adjusts the qunsafei to generate a qsafei, which will be close to but not be exactly qsafei. The cycle repeats until consensus is achieved.

Using semidefinite programming, the solutions presented previously are cast as an optimization problem, augmented with a set of LMI constraints and solved for collision-free consensus quaternion trajectories. We consider the algorithm in discrete time. Given the initial attitude qi(0) of SCi, (i = 1, ⋯, n), find a sequence of consensus quaternion trajectories that satisfies the following constraints:


5. Simulation results

We shall present only three results for attitude multi-path planning in different coordinate frames due to limitation of space. These results will partly be found in [7, 8, 9, 10]. For the SDP programming and simulation, we used the available optimization software tools SeDuMi [21] and YALMIP [22] running inside Matlab®.

5.1. Q-CAC avoidance in different coordinate frames without consensus

In this experiment SC1and SC2 are changing their orientation to point an instrument to Earth. They are close to each other, and their thrusters can cause plume impingements to damage each other. Their initial quaternions are q01=q02=[0001]T. The desired final quaternions are.


Three thrusters of SC1 in FSC1B are


A single thruster of SC2 in FSC2B is


It is desired that vobs2I avoid vobs1.1I by 50o and avoid vobs1.2I and vobs1.3I by 30o, while both are maneuvering to their desired final attitudes. The trajectories obtained are shown in Figure 3 (a) and (b). This experiment demonstrates that when both constraints are in conflict, the avoidance constraint is superior to the desired final quaternion constraint. As seen from (a), SC2 cannot reconfigure exactly to the desired qf2 due to the satisfaction of the avoidance constraints. This can be resolved by changing either the position of SC2 or SC1.

Figure 3.

(a) shows the avoidance between thrusters of SC1and SC2 during reorientation to Earth: SC2 cannot reconfigure to the desired qf2 due to the avoidance constraints. Note that vobs2.1I, vobs2.2I and vobs2.3I are the points of intersections of vobs1.1I, vobs1.2I and vobs1.3I with SC2. (b) Satisfaction of avoidance constraints: the sudden jumps to and from −1 indicate times when any of vobs1.1I, vobs1.2I and vobs1.3I lost intersection with the sphere of SC2 and therefore was replaced with vobs1.iI,i=1,,3.

5.2. Consensus with Q-CAC avoidance in different coordinate frames

In this experiment SCi (i = 1, 2, 3) will maneuver to a consensus attitude. Each carries a sensitive instrument vcamiI, pointing in the direction SCi‘s initial attitude quaternion. In addition, each SCi has only one thruster pointing to the opposite (rear) of SCi‘s initial attitude. It is desired that the time evolution of the attitude trajectory of the sensitive instrument avoids the thruster plumes emanating from each of the two other SC by 30o. From the generated initial quaternions, there is possibility of intersection of the thrusters of SC1 and SC3, with SC2, and the thruster of SC2 may impinge on SC1 or SC3 at any time k.

The initial positions are

FSC1I=2 0 2TFSC2I=0.5 0 2TFSC3I=3 0 2T.E35

A set of initial quaternions were randomly generated, with the following data:

q0I=0.5101 0.61120.31870.5145Tq02=0.9369 0.27040.18360.124Tq03=0.14480.1151 0.1203 0.9753T.E36

Figure 4 (a) shows the solution trajectories while (b) shows the avoidance graph; no constraints are not violated; (c) shows the consensus graph. The final consensus quaternion is qf = [−0.8167 0.4807 − 0.2396 0.2112]T, which is the normalized average of the initial attitude quaternions. This proves that consensus is indeed achieved by Eq. (16).

Figure 4.

(a) Reorientation to consensus attitude with intervehicle thruster plume avoidance, (b) avoidance constraints graph and (c) attitude consensus graph.

5.3. Consensus-based attitude formation acquisition with avoidance

This experiment is to test the capability of the quaternion consensus algorithm in attitude formation acquisition. SCi (i = 1, 2, 3) will maneuver to a consensus formation attitude, with relative offset quaternions defined to enable the sensitive instruments to point at 30ooffsets from each other about the z-axis. The previous set of initial data for q0i and FSCiI were used. Like the previous experiment, it is desired that the sensitive instruments avoid the thruster plumes emanating from each of the two other SC by an angle of 30o.

The relative offsets are defined as

q1off=0 0 0 1Tq2off=0 0 0.2588 0.9659Tq3off=0 0 0.5 0.866T.E37

Figure 5 (a) shows the trajectories, while (b) shows the avoidance graph; no constraints are violated. Finally, (c) shows the consensus graph. The final consensus quaternions are.

qf1=0.6926 0.64680.2798 0.1541Tqf2=0.8364 0.44550.2303 0.2212Tqf3=0.9232 0.21380.1652 0.2733T.E38

Figure 5.

(a) Reorientation to consensus formation attitude with intervehicle thruster plume avoidance, (b) avoidance constraints graph and (c) attitude consensus graph.

The differences of these quaternions are 30o apart about the same axis. Clearly, the algorithm is capable of attitude formation acquisition with avoidance.


6. Conclusion

In this chapter, a method of consensus with quaternion-based attitude maneuver with avoidance, of multiple networked communicating spacecraft, was presented. The presentation is composed of aspects of solutions we previously developed, by combining consensus theory and Q-CAC optimization theory. The solutions enable a team of spacecraft to point to the same direction or to various formation patterns, while they avoid an arbitrary number of attitude obstacles or exclusion zones in any coordinate frames. The proof of stability of the Laplacian-like dynamics was also presented. Simulation results also demonstrated the effectiveness of the algorithm. We hope to implement the algorithms using rotorcraft and specialized hardware.


  1. 1. Blackwood G, Lay O, Deininger B, Gudim M, Ahmed A, Duren R, Noeckerb C, Barden B. The StarLight mission: A formation-flying stellar interferometer. In: SPIE 4852, Interferometry in Space; 22 August; Waikoloa, Hawaii. SPIE Digital Library; 2002. DOI: 10.1117/12.460942
  2. 2. Beichman CA. NASA's terrestrial planet finder. In: Darwin and Astronomy: The Infrared Space Interferometer; 17–19 November; Stockholm, Sweden. The Netherlands: Noordwijk; 2000. p. 29-30. DOI: ISSN/ISBN:03796566
  3. 3. Ahmed A, Alexander J, Boussalis D, Breckenridge W, Macala G, Mesbahi M, Martin MS, Singh G, Wong E. Cassini Control Analysis Book. Pasadena, CA: Jet Propulsion Laboratory, CALTECH technical report; 1998 NA p. DOI: NA
  4. 4. Wen JT, Kreutz-Delgado K. The attitude control problem. IEEE Transactions on Automatic Control. 1991;36(10):1148-1162. DOI: 10.1109/9.90228
  5. 5. Kim Y, Mesbahi M. Quadratically constrained attitude control via semidefinite programming. IEEE Transactions on Automatic Control. 2004;49:731-735. DOI: 10.1109/TAC.2004.825959
  6. 6. Kim Y, Mesbahi M, Singh G, Hadaegh FY. On the convex parameterization of constrained spacecraft reorientation. IEEE Transactions on Aerospace and Electronic Systems. 2010;46(3):1097-1109. DOI: 10.1109/TAES.2010.5545176
  7. 7. Okoloko I, Kim Y. Distributed constrained attitude and position control using graph laplacians. In: ASME Dynamic Systems and Control Conference; 13–15 September; Cambridge, Massachusetts. ASME; 2010. p. 377-383. DOI: 10.1115/DSCC2010-4036
  8. 8. Okoloko I, Kim Y. Attitude synchronization of multiple spacecraft with cone avoidance constraints. In: IEEE Aerospace Conference; 3–10 March; Big Sky, Montana. IEEEXplore; 2012. p. 1-10. DOI: 10.1109/AERO.2012.6187119
  9. 9. Okoloko I, Kim Y. Attitude synchronization of multiple spacecraft with cone avoidance constraints. Systems & Control Letters. 2014;69:73-79. DOI:
  10. 10. Okoloko I. Multi-Path Planning and Multi-Body Constrained Attitude Control [dissertation]. Stellenbosch, South Africa: PhD Thesis: Stellenbosch University; 2012. p. 185. Available from:
  11. 11. Bullo F, Murray R M, Sarti A. Control on the sphere and reduced attitude stabilization. In: IFAC symposium on nonlinear control systems; 25-28 June; Tahoe City, CA. Elsevier; 1995. p. 495-501. DOI:
  12. 12. Ren W. Distributed attitude alignment in spacecraft formation flying. International Journal of Adaptive Control and Signal Processing. 2006;21(2–3):95-113. DOI: 10.1002/acs.916
  13. 13. Fax AJ. Optimal and Cooperative Control of Vehicle Formations [thesis]. Pasadena, CA: PhD Thesis: CALTECH; 2002. p. 135. Available from:
  14. 14. Dimarogonas DV, Tsiotras P, Kyriakopoulos KJ. Leader-follower cooperative attitude control of multiple rigid bodies. Systems and Control Letters, DOI. 2009;58(6):429-435
  15. 15. Kuipers JB. Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace and Virtual Reality. 1st ed. Princeton, NJ: Princeton University Press; 2002. p. 371. ISBN-13:978–0691102986
  16. 16. Peng L, Zhao Y, Tian B, Zhang J, Bing-Hong W, Hai-Tao Z, Zhou T. Consensus of self-driven agents with avoidance of collisions. Physical Review. 2009;79(E). DOI: 10.1103/PhysRevE.79.026113
  17. 17. Olfati-Saber R. Flocking for multi-agent dynamic systems: Algorithms and theory. IEEE Transactions on Automatic Control. 2006;51(3):401-420. DOI: 10.1109/TAC.2005.864190
  18. 18. Golub GH, Van Loan CF. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press; 1996. p. 699. ISBN-13: 978–0801854149
  19. 19. Hughes PC. Spacecraft Attitude Dynamics. 2nd ed. Mineola, NY: Dover Publications Inc; 2004. p. 592. ISBN13:9780486439259
  20. 20. Eberly DH. 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics. 2nd ed. London, UK: Taylor & Francis; 2012. p. 1015. DOI: ISBN: 978-0-12-229063-3
  21. 21. Sturm JF. Using SeDuMi 1.02, a Matlab toolbox for optimization over symmetric cones. Optimization methods and software. 1998;11(12):625-653. DOI:
  22. 22. Lofberg J. Yalmip: A toolbox for modelling and optimization in Matlab. In: IEEE CACSD Conference; 2–4 Sept.; Taipei, Taiwan. IEEEXplore; 2004. p. 284-289. DOI: 10.1109/CACSD.2004.1393890

Written By

Innocent Okoloko

Submitted: 30 May 2017 Reviewed: 06 October 2017 Published: 20 June 2018