Open access peer-reviewed chapter

Multi-Spacecraft Attitude Path Planning Using Consensus with LMI-Based Exclusion Constraints

Written By

Innocent Okoloko

Submitted: 17 May 2017 Reviewed: 10 October 2017 Published: 26 September 2018

DOI: 10.5772/intechopen.71580

Chapter metrics overview

963 Chapter Downloads

View Full Metrics


Space missions involving multi-vehicle teams require the cooperative navigation and attitude slewing of the spacecraft or satellites, for such purposes as interferometry and optimal sensor coverage. This introduces extra constraints of exclusion zones between the spacecraft, in addition to the default exclusion constraints already introduced by damaging or blinding celestial objects. In this work, we present a quaternion-based attitude consensus protocol by using the communication topology of the spacecraft team. By using the Laplacian matrix of their communication graph and a semidefinite program, a synthesis of a time-varying optimal stochastic matrix P is done, which is used to generate various consensus and cooperative attitude trajectories from the initial attitudes of the spacecraft. The concept of quaternion-based quadratically constrained attitude control is then employed to satisfy cone avoidance constraints, where exclusion zones are identified, expressed as linear matrix inequalities (LMI), and solved by semidefinite programming (SDP).


  • attitude path planning
  • consensus
  • exclusion
  • optimization
  • LMI

1. Introduction

Attitude control is the process of making a spacecraft, e.g. a satellite to point toward a specific direction of interest, and attitude path planning is an essential part of space missions. Some current and future space missions require the deployment of teams of spacecraft for such purposes as interferometry and sensor coverage, e.g. [1, 2]. The general problem of attitude control (AC) is important, not only in the navigation of satellites but also of other spacecraft [3], aircraft, and robots. For this reason, the topic has been studied extensively in the literature, e.g. [4, 5, 6, 7, 8, 9, 10].

Attitude path planning is a challenging problem and becomes more challenging when it involves multiple spacecraft. First, they are moving at very high speed in highly dynamic environments, subject to external constraints such as blinding celestial objects, which can damage onboard sensors. Secondly, because they are in a team, they must be careful with each other when changing attitude, so as not to collide with each other and damage appendages. We consider a team of networked spacecraft, which share some common objectives, where consensus theory based on graph Laplacians can be applied [11, 12].

Spacecraft attitude dynamics is usually represented by unit quaternions because quaternion dynamics do not encounter the singularities associated with other representations. However, quaternion dynamics are non-linear, which makes it difficult to apply Laplacian-like dynamics directly to quaternions.

Next, we consider some previous work on constrained attitude path planning. In [4], attitude control was formulated as a quadratically constrained optimization problem. Linear matrix inequalities (LMIs) and semidefinite programming (SDP) were employed to solve it for a multiple spacecraft scenario in [6]. In [10], spacecraft attitude stabilization on a sphere was studied. The control torques required for effective attitude stabilization were reduced from three to two. In [12], a consensus-based approach was applied in distributed attitude alignment of a team of communicating spacecraft flying in formation. In [13], a Laplacian-based protocol implemented using the modified Rodriquez parameters (MRP) was employed in leader following attitude control of spacecraft.

However, none of these aforementioned works apply consensus theory directly to quaternions, except our previous works [7, 8, 9]. In addition, only [4, 6, 7, 8, 9] tackle the important problem of attitude cone avoidance constraints. Moreover, the works [4, 6, 7] were developed for spacecraft in the same coordinate frame, which does not have a direct practical implementation unless developed further.

To handle the difficulty of nonlinearity in quaternion kinematics, we cast the Q-CAC problem as a semidefinite program, which is subject to convex quadratic constraints, stated as LMI. Then a series of Laplacian-like matrices are synthesized, which satisfy the constraints and enables the spacecraft achieve consensus with exclusion. We employed available optimization software tools such as Sedumi [14] and Yalmip [15] running inside MATLAB®, for simulation.

Moreover, the solution presented here was developed for the realistic scenario of spacecraft in different coordinate frames, making it practical to implement directly. Therefore, the contributions of this chapter are aspects of our previous works [7, 8, 9], which are: (1) development of a quaternion consensus protocol; (2) incorporating dynamic cone avoidance constraints into the consensus framework; (3) providing a mathematical convergence analysis for the quaternion-based consensus framework; (4) extending the approach to multiple spacecraft in any coordinate frames, thereby making it more suitable for practical implementation.

The rest of the chapter is organized as follows: The problem statement is in Section 2, followed by brief mathematical preliminaries in Section 3. The solution technique and convergence analysis are in Section 4, numerical simulations in Section 5, and conclusion in Section 6. Notations frequently used in this chapter are listed in Table 1. The words obstacle, avoidance, exclusion, exclusion vector may be used interchangeably in this chapter.

SCi, SCiSpacecraft i
qiAttitude quaternion vector of SCi, SCi, qi = [q1 q2 q3q4]T
qi or 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 attitude reconfiguration of a team of communicating spacecraft with avoidance constraints can be stated as follows. Given a set of communicating spacecraft with initial positions at xi(t0) ∈ R3 i = 1⋯n, initial attitudes represented by quaternions qi(t0), generate a sequence of consensus trajectories that drive the team to a consensus attitude q(tf) while satisfying exclusion, avoidance and norm constraints.

There are two aspects of the problem stated above: the first is a consensus problem, wherein it is desired to drive the attitudes to a collective consensus attitude, or to various formation attitudes. For bare consensus, the final consensus is that each spacecraft should eventually point to the average of the initial attitudes. However, relative offset quaternions can be applied so the consensus attitude can be a desired formation attitude, e.g. each spacecraft can point at 5° away from each other about the z axis. The second problem is that of avoidance constraints. This is also important for the team, because spacecraft usually have appendages, some have thrusters that emit plumes, and some have instruments that can be damaged by blinding celestial objects or by the appendage or plume of a team member.

However, the ordinary consensus protocol was not developed for quaternion dynamics. It violates the non-linearity of quaternion kinematics and the quaternion norm preserving requirement. Moreover, the ordinary consensus algorithm also does not incorporate collision avoidance in adversarial situations; this is a Q-CAC problem. Thus, in this paper, we present aspects of our previous works [7, 8, 9, 16], where we combined consensus theory with constrained optimization to solve the problems stated above. We cast the problems as a semidefinite program (SDP), which is augmented with some convex quadratic constraints written as linear matrix inequalities (LMI).

We present a quaternion consensus protocol that computes a consensus attitude trajectory each time step, and a Q-CAC optimization procedure, which decides whether it is safe to follow the computed attitude trajectory or not. When generated trajectories are unsafe, it computes a new set of quaternion vectors that avoid collision and the cycle repeats until consensus is achieved.

To understand the avoidance aspect, we begin with a simpler illustration of the spacecraft Q-CAC problem with a single spacecraft and a single obstacle (exclusion) vector, as shown in Figure 1.

Figure 1.

Constrained attitude control problem for a single-spacecraft single-exclusion scenario.

Let SCi denote spacecraft i, and vcamiIt denote the unit camera vector in FSCiI corresponding to the SCi’s attitude qi (see Table 1 for definitions). Also, let vobsiIt be the attitude quaternion representing the obstacle to be avoided (e.g. the Sun, as shown in Figure 1). It is desired that the time evolution of camera vector vcamiIt0 to vcamiItf should avoid vobsiIt always, while maintaining a minimum angular separation of ∅. The requirement can therefore be stated as




The constraint is non-convex and quadratic and should be convexified for it to be represented as a LMI. The convexification was provided in [4], using the quaternion attitude constraints formulation developed in [3] for a single-spacecraft single-obstacle scenario. For that solution, vobsI was static, vcamiIt was evolving, and both vectors were in the same coordinate frame. This makes it incomplete for practical implementation because, in reality the obstacle and spacecraft are in different coordinate frames.

In [7, 8, 9, 16], we extended the previous avoidance solution to multiple spacecraft. Then we developed a consensus theory of quaternions and appended the new avoidance protocols. We further solved the problem for spacecraft and dynamic obstacles in different coordinate frames to make the solutions more suitable for practical implementation. Next, we present the basic mathematical preliminaries.


3. Mathematical background

In this section, we consider the two basic mathematical theories relevant to this chapter.

3.1. Quaternion-based rotational dynamics

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) because quaternions are not susceptible to the problems of singularities inherent in using Euler angles [17].

The quaternion is a four-element vector


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


where q−2 is the conjugate of q2 and ⊙ is defined in Table 1. Q2 is defined as


It follows that the transformation of q1 to q2 was achieved by the rotation quaternion qd.

The rotational dynamics for the ith quaternion is




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


The dynamics of the rotational velocity ωi is


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


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


It is the task of controller synthesis to determine the Ξi and Ψi to obtain the torque τi that stabilizes the system.

3.2. Basic consensus theory

The Consensus-based algorithms are distributed protocols based on communication graphs, which can drive the states of a team of communicating agents to an agreed state or a common state. The agents (or vehicles) i (i = 1, ⋯, n) are represented by vertices of the graph and the edges of the graph are the communication links between them. Denote the state of a vehicle i as xi; x is the stacked vector of the states all vehicles in the team, then for systems modeled by first-order dynamics, the following first-order consensus protocol (or similar protocols) have been proposed, e.g. [18, 19]


When ‖xi − xj‖ → (xij)off as t → ∞, ∀i ≠ j then consensus has been achieved. A more comprehensive presentation of the mathematical basis of consensus (including graph theory), can be found in [16].

However, the basic consensus protocol Eq. (13) cannot admit quaternions directly. Thus, to extend Eq. (13) to attitude quaternions, the following consensus protocol for quaternions was proposed in [7]


where P(t) is a Laplacian-like matrix and q(t) = [q1(t), q2(t)⋯qn(t)]T. More analysis of P(t) follows in the next sections.


4. Solutions

We present solutions to the problem statement in Section 2 [7, 8, 9, 16]. The solution involves four steps: (1) synthesis of consensus attitudes for multiple spacecraft; (2) formulation of Q-CAC in different coordinate frames; (3) determining obstacle vectors in different coordinate frames; (4) integration for consensus based Q-CAC.

4.1. Synthesis of consensus attitudes for multiple spacecraft

To develop consensus for quaternions, we adopt an optimization approach. The Laplacian-like stochastic matrix P(t) in Eq. (14) is synthesized (by an optimization process) at each time step to drive q(t) to consensus while satisfying quaternion kinematics. The components of P(t) are


where Λi(t) > 0 is an unknown positive definite optimization matrix variable, whose components are chosen by the optimization process. Matrix Γ is composed of components of the Laplacian L = [lij] (i, j = 1, ⋯, n), which gives P(t) its Laplacian-like behavior.

We shall now prove the stability of P(t), i.e. that Eq. (14) does indeed achieve consensus. Note that all the theorems, lemmas and proofs in this section had been presented in [7].

Recall the following standard result on a matrix pencil [20].

Theorem 1: For a symmetric-definite pencil A − λB, there exists a nonsingular S = [s1, ⋯, sn] such that


Moreover, Asi = λiBsi 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 s


Eq. (18) 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). One can also easily observe that due to the property of the Laplacian matrix L, P(t) has positive eigenvalues except for four eigenvalues. This proves the claim.

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

Proof: for simplicity, let us assume that there are no offsets, i.e. qoff = 0 (or (qoff)i = [0 0 0 1]T ∀ i). Note, when q has entered the consensus space C=qq1=q2==qn, then q̇=0. C is the nullspace of P(t), i.e. the set of all q such that P(t)q = 0. Therefore, once q enters C it stays there.

Suppose that q has not entered C, then consider a Lyapunov candidate function V = qTΓq; V > 0 unless qC. Then,


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

4.2. Formulation of Q-CAC in different coordinate frames

Any rigid appendage attached to the body of the ith spacecraft, e.g. a camera, whose pointing direction 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¯it× is the antisymmetric matrix [21].

For simplicity let us consider a single SCi with a single camera, vcamiI, and m (possibly, time-varying) obstacles, vobsi.jIj=1m, defined in FSCiI, to be avoided by vcamiI when SCi is re-orientating. Then according to [3], the resulting attitude constraint of Eq. (2) can be written as


Its LMI equivalent according to [4] is


In Eq. (23), μ is chosen to ensure μI4+A~jit is positive definite, and




for j = 1, ⋯, m.

Eq. (22) defines the set of attitude quaternions qi(t) to satisfy the constraint vcamiItTvobsi.jItt ∈ [t0, tf], so it is used to find a collision-free vcamiIt. However, in practical situations, another SC (SCj) can be near SCi, then another obstacle vector vobsjIt (e.g. a thruster vector emanating from SCj) defined in FSCjI should be avoided by SCi. 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). Essentially, the mechanism determines the intersection point of vobsjIt with the sphere of radius r, centered on SCi. If such an intersection exists, it defines vobsi.jI which can be used to define an attitude constraint represented as Eq. (22) to be avoided by SCi.

Figure 2 illustrates the scenario. SC1 and SC2 are 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.

4.3. Determination of obstacle vectors in different coordinate frames

Given SCi in FSCiI and SCj in FSCjI, with emanating vectors, one can easily determine an intersection between a vector emanating from FSCjI with the sphere centered on FSCiI by using onboard sensors, or by application of computational geometry. Given a line segment originating at p1 and terminating at p2, a point p = [px py pz]Ton [p1, p2] can be tested for intersection with a sphere centered at p3 with radius r [22]. Thus, 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 constraints violation has occurred. The value of r will therefore depend on the application at hand, but must be proportional to the urgency of avoiding obstacle vectors originating from other spacecraft.

The above formulation effectively decentralizes the problem. Therefore, each spacecraft can solve the problem by communicating with its neighbors and/or using its own sensors. Euler first order discretization of Eq. (14) is


The decentralized dynamics for any SCi is therefore


where q1Ttq2TtqyTt are the quaternions of the y other neighboring SC, which SCi can communicate with at time t. Moreover, since we are going to apply consensus quaternion protocol Eq. (29), norm constraints must be enforced as follows:


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

4.4. Integration for consensus based Q-CAC

Using semidefinite programming, the solutions presented previously be cast as an optimization problem, augmented with a set of LMI constraints, and solved for optimal 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:

qk+1i=qkitPitqki,quaternion consensus dynamics constraintE31
μqitTqitμI4+A~jit10exclusion constraintsE33

Once 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).


5. Simulation results

Due to limitation of space, we present three results for attitude multi-path planning in different coordinate frames. More results can be found in [7, 8, 16].

5.1. Dynamic avoidance in different coordinate frames without consensus

In this experiment, SC1 and SC2 are attempting a reconfiguration to Earth (either changing orientation to Earth or pointing an instrument to Earth). The initial quaternions of SC1 and SC2 are q01=q02=0001T. The desired final quaternions are


Three thrusters of SC1 in FSC1B are


A single thruster of SC2 in FSC2B is at


We want vobs2I to avoid vobs1.1I by 50°, and avoid vobs1.2I and vobs1.3I by 30° while both are maneuvering to their desired final attitudes. Figure 3(a) shows the avoidance between thrusters of SC1 and SC2 during reorientation to Earth: SC2 cannot reconfigure to the desired qf2 due to the avoidance constraints. Note that vobs2.1I, vobs2.2I, vobs2.3I are the points of intersections of vobs1.1I, vobs1.2I, vobs1.3I with SC2. Figure 3(b) satisfaction of avoidance constraints: the sudden jumps to and from −1 indicate times when any of vobs1.1I, vobs1.2I, vobs1.3I lost intersection with the sphere of SC2 and therefore was replaced with vobs1.iI,i=1,,3.

Figure 3.

Reconfiguration of two spacecraft with avoidance in different coordinate frames: (a) the trajectories, (b) the avoidance graph.

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. To resolve this, it is necessary to change either the position of SC2 or SC1.

5.2. Consensus-based dynamic avoidance in different coordinate frames

In this experiment, SC1, SC2, and SC3 will maneuver to a consensus attitude. The initial positions are


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


In the direction of the initial attitude q0i of each SCi, a sensitive instrument vcamiI is attached. Also, each SCi has a thruster pointing to the opposite of q0i. It is desired that vcamiI avoids the thruster plumes emanating from each of the two other SC by 30° during the entire period of the maneuvers. 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 damage SC1 or SC3 at any time k. Figure 4(a) shows the solution trajectories; (b) shows the avoidance graph, which shows that constraints are not violated; (c) shows the consensus graph. The final consensus quaternion is qf = [−0.8167 0.4807 − 0.2396 0.2112]T. This is the normalized average of the initial attitude quaternions, which proves that consensus is achieved.

Figure 4.

Consensus-based dynamic avoidance in different coordinate frames. (a) Reorientation to consensus attitude with intervehicle thruster plume avoidance, (b) avoidance constraints graph, (c) attitude consensus graph.

5.3. Consensus-based attitude formation acquisition with avoidance

To test the capability of the consensus algorithm in formation acquisition, SC1, SC2, and SC3 will maneuver to a consensus formation attitude. Relative offset quaternions were defined to enable the sensitive instruments to point at 30° offsets from each other about the z-axis. The previous set of initial data for q0i and FSCiI were used. The relative offsets are


Like the previous experiment, we want the sensitive instruments to avoid the thruster plumes emanating from each of the two other SC by an angle of 30°. The trajectories are shown in Figure 5(a) and (b) shows the avoidance graph; no constraints are violated, and (c) shows the consensus graph. The final consensus quaternions are


Figure 5.

Consensus-based attitude formation acquisition with avoidance. (a) Reorientation to consensus formation attitude with intervehicle thruster plume avoidance, (b) avoidance constraints graph, (c) attitude consensus graph.

The differences of these quaternions are 30° apart about the same axis.


6. Conclusion

We presented a solution, which we previously developed, to the problem of attitude path planning for multiple spacecraft with avoidance of exclusion zones, by combining consensus theory and Q-CAC optimization theory. Using the solutions, a team of spacecraft can 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. We also provided the proof of stability of the Laplacian-like matrix used for the attitude synchronization. Simulation results demonstrated the effectiveness of the algorithm. Current work is underway to implement the algorithms using rotorcraft.


  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. Bellingham WA, USA: 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. pp. 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. 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
  5. 5. Wen JT, Kreutz-Delgado K. The attitude control problem. IEEE Transactions on Automatic Control. 1991;36(10):1148-1162. DOI: 10.1109/9.90228
  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. NY, USA: ASME; 2010. pp. 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. NY, USA: IEEEXplore; 2012. pp. 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.1016/j.sysconle.2014.04.008
  10. 10. Bullo F, Murray RM, Sarti A. Control on the sphere and reduced attitude stabilization. In: IFAC Symposium on Nonlinear Control Systems; 25-28 June; Tahoe City, CA. Atlanta GA, USA: Elsevier; 1995. pp. 495-501. DOI: 10.1016/S1474-6670(17)46878-9
  11. 11. Fax AJ. Optimal and cooperative control of vehicle formations [thesis]. Pasadena, CA: PhD Thesis, CALTECH; 2002. 135 p. Available from:
  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. Dimarogonas DV, Tsiotras P, Kyriakopoulos KJ. Leader-follower cooperative attitude control of multiple rigid bodies. Systems and Control Letters. 2009;58(6):429-435. DOI: 10.1016/j.sysconle.2009.02.002
  14. 14. Sturm JF. Using SeDuMi 1.02, a Matlab toolbox for optimization over symmetric cones. Optimization Methods and Software. 1998;11(12):625-653. DOI: 10.1080/10556789908805766
  15. 15. Lofberg J. Yalmip: A toolbox for modelling and optimization in Matlab. In: IEEE CACSD Conference; 2-4 Sept.; Taipei, Taiwan. NY, USA: IEEEXplore; 2004. pp. 284-289. DOI: 10.1109/CACSD.2004.1393890
  16. 16. Okoloko I. Multi-path planning and multi-body constrained attitude control [dissertation]. Stellenbosch, South Africa: PhD Thesis, Stellenbosch University; 2012. 185 p. Available from:
  17. 17. Kuipers JB. Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace and Virtual Reality. 1st ed. Princeton, NJ: Princeton University Press; 2002. 371 p. ISBN: 13: 978-0691102986
  18. 18. 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):026113. DOI: 10.1103/PhysRevE.79.026113. Available from:
  19. 19. 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
  20. 20. Golub GH, Van Loan CF. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press; 1996. 699 p. ISBN: 13: 978-0801854149
  21. 21. Hughes PC. Spacecraft Attitude Dynamics. 2nd ed. Mineola, NY: Dover Publications Inc; 2004. 592 p. ISBN: 13: 9780486439259
  22. 22. Eberly DH. 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics. 2nd ed. London, UK: Taylor & Francis; 2012. 1015 p. DOI: ISBN: 978-0-12-229063-3

Written By

Innocent Okoloko

Submitted: 17 May 2017 Reviewed: 10 October 2017 Published: 26 September 2018