4. Solutions

We present solutions to the problem statement in Section 2 [7–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

$$\mathbf{P}(t) = \underbrace{\begin{bmatrix} \Lambda^1(t) & \cdots & 0\\ \vdots & \ddots & \vdots\\ 0 & \cdots & \Lambda^n(t) \end{bmatrix}}\_{\Lambda(t)} \underbrace{\begin{bmatrix} l\_{11}\mathbf{I}\_4 & \cdots & l\_{1n}\mathbf{I}\_4\\ \vdots & \ddots & \vdots\\ l\_{n1}\mathbf{I}\_4 & \cdots & l\_{nn}\mathbf{I}\_4 \end{bmatrix}}\_{\Gamma = \mathbf{I}\_4 \otimes \mathbf{I}\_4},\tag{15}$$

where Λ<sup>i</sup> (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

$$\mathbf{S}^T \mathbf{A} \mathbf{S} = \text{diag}(a\_1, \dots, a\_n) = D\_{A\nu} \tag{16}$$

$$\mathbf{S}^T \mathbf{B} \mathbf{S} = \text{diag}(b\_1, \dots, b\_n) = D\_\mathcal{B}. \tag{17}$$

Moreover, Asi = λiBsi for i = 1, ⋯, n, where λ<sup>i</sup> = ai/bi.

Lemma 1: For any time t, the eigenvalues of P(t) are γiηi(t). Here, γ<sup>i</sup> 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

$$
\Gamma \mathbf{s} = \lambda \Lambda^{-1}(t) \mathbf{s}.\tag{18}
$$

Eq. (18) defines a symmetric-definite generalized eigenvalue problem (SDGEP), where <sup>Γ</sup> � <sup>λ</sup>Λ�<sup>1</sup> (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]<sup>T</sup> ∀ i). Note, when <sup>q</sup> has entered the consensus space <sup>C</sup> <sup>¼</sup> <sup>q</sup>jq<sup>1</sup> <sup>¼</sup> <sup>q</sup><sup>2</sup> <sup>¼</sup>; <sup>⋯</sup>; <sup>¼</sup> qn , then <sup>q</sup>\_ <sup>¼</sup> 0. <sup>C</sup> 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 = q<sup>T</sup> Γq;V>0 unless q∈C. Then,

$$\begin{aligned} \dot{V} &= \mathbf{q}^T \Gamma \dot{\mathbf{q}} + \dot{\mathbf{q}}^T \Gamma \mathbf{q} \\ &= -\mathbf{q}^T \Gamma \mathbf{P}(t) \mathbf{q} - \mathbf{q}^T \mathbf{P}(t)^T \Gamma \mathbf{q} \\ &= -\mathbf{q}^T \Gamma \Lambda(t) \Gamma \mathbf{q} - \mathbf{q}^T \Gamma \Lambda(t) \Gamma \mathbf{q} \\ &= -2\mathbf{q}^T \Gamma \Lambda(t) \Gamma \mathbf{q} \\ &= -2z^T \Lambda(t) z \end{aligned} \tag{19}$$

where z = Γq 6¼ 0 for q∉C. 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 i th spacecraft, e.g. a camera, whose pointing direction is v<sup>I</sup> cami in inertial frame, can be transformed to the spacecraft fixed body frame by the rotation

$$
\boldsymbol{\upsilon}\_{\text{cam}\_i}^{\mathcal{B}}(t) = \mathcal{R}\_i^{-1}(t) \boldsymbol{\upsilon}\_{\text{cam}\_i}^l(t), \tag{20}
$$

where

When <sup>k</sup>xi

found in [16].

proposed in [7]

in the next sections.

4. Solutions

where Λ<sup>i</sup>

� xj

k! (xij )

52 Advanced Path Planning for Mobile Entities

where P(t) is a Laplacian-like matrix and q(t)=[q<sup>1</sup>

integration for consensus based Q-CAC.

4.1. Synthesis of consensus attitudes for multiple spacecraft

Λ1

2 6 4

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

Moreover, Asi = λiBsi for i = 1, ⋯, n, where λ<sup>i</sup> = ai/bi.

ð Þt ⋯ 0 ⋮ ⋱⋮ <sup>0</sup> <sup>⋯</sup> <sup>Λ</sup><sup>n</sup>ð Þ<sup>t</sup>


that all the theorems, lemmas and proofs in this section had been presented in [7].

Laplacian L = [lij] (i, j = 1, ⋯, n), which gives P(t) its Laplacian-like behavior.

PðÞ¼ t

off as <sup>t</sup>! <sup>∞</sup>, <sup>∀</sup><sup>i</sup> 6¼ <sup>j</sup> then consensus has been achieved. A more comprehen-

<sup>q</sup>\_ðÞ¼� <sup>t</sup> <sup>P</sup>ð Þ<sup>t</sup> <sup>q</sup>ð Þ<sup>t</sup> <sup>⊝</sup>q�off � �, (14)

. More analysis of P(t) follows

, (15)

(t)]<sup>T</sup>

sive presentation of the mathematical basis of consensus (including graph theory), can be

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

We present solutions to the problem statement in Section 2 [7–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)

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

> 3 7 5

2 6 4

(t) > 0 is an unknown positive definite optimization matrix variable, whose compo-

nents are chosen by the optimization process. Matrix Γ is composed of components of the

We shall now prove the stability of P(t), i.e. that Eq. (14) does indeed achieve consensus. Note

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

l11I<sup>4</sup> ⋯ l1nI<sup>4</sup> ⋮ ⋱⋮ ln1I<sup>4</sup> ⋯ lnnI<sup>4</sup>


STA<sup>S</sup> <sup>¼</sup> diagð Þ¼ <sup>a</sup>1; <sup>⋯</sup>; an DA, (16)

STB<sup>S</sup> <sup>¼</sup> diagð Þ¼ <sup>b</sup>1; <sup>⋯</sup>; bn DB: (17)

3 7 5

(t), q<sup>2</sup>

(t)⋯qn

$$\mathcal{R}\_i(t) = \left(\left(2\eta\_4^i(t)\right)^2 - 1\right)\mathbf{I}\_3 + 2\overline{\eta}^i(t)\overline{\eta}^i(t)^T - 2\eta\_4^i(t)\overline{\eta}^i(t)^\times \tag{21}$$

is the rotation matrix corresponding to the qi (t) at time t; qi ð Þt � is the antisymmetric matrix [21]. For simplicity let us consider a single SCi with a single camera, vI cami , and m (possibly, timevarying) obstacles, vI obsi:<sup>j</sup> ð Þ <sup>j</sup> <sup>¼</sup> <sup>1</sup>; <sup>⋯</sup>; <sup>m</sup> , defined in <sup>F</sup><sup>I</sup> SCi , to be avoided by vI cami when SCi is reorientating. Then according to [3], the resulting attitude constraint of Eq. (2) can be written as

$$q^i(t)^T \widetilde{A}\_j^i(t) q^i(t) \le 0. \tag{22}$$

Its LMI equivalent according to [4] is

$$
\begin{bmatrix}
\mu & q^i(t)^T \\
 q^i(t) & \left(\mu \mathbf{I}\_4 + \tilde{A}\_j^i(t)\right)^{-1}
\end{bmatrix} \ge 0. \tag{23}
$$

In Eq. (23), <sup>μ</sup> is chosen to ensure <sup>μ</sup>I<sup>4</sup> <sup>þ</sup> <sup>A</sup>~<sup>j</sup> i tð Þ is positive definite, and

$$
\widetilde{A}\_j^i(t) = \begin{bmatrix} A\_j(t) & b\_j(t) \\ b\_j(t)^T & d\_j(t) \end{bmatrix} \in \mathbb{R}^{4 \times 4},\tag{24}
$$

whereby the intersection defines vI

Figure 2. Q-CAC problem in different frames.

changes its attitude from q<sup>0</sup> to qf, vI

SCi and SCj in <sup>F</sup><sup>I</sup>

intersection between a vector emanating from F<sup>I</sup>

Given SCi in F<sup>I</sup>

obsi:j

other spacecraft.

first order discretization of Eq. (14) is

qi <sup>k</sup>þ<sup>1</sup> <sup>¼</sup> qi

then v<sup>I</sup>

4.3. Determination of obstacle vectors in different coordinate frames

SCj

intersection with a sphere centered at p<sup>3</sup> with radius r [22]. Thus, for any v<sup>I</sup>

an intersection point p(t) exists at time t with the sphere centered on F<sup>I</sup>

originating at p<sup>1</sup> and terminating at p2, a point p = [px py pz]

ðÞ¼ <sup>t</sup> p tð Þ; otherwise, one can set vI

The decentralized dynamics for any SCi is therefore

<sup>k</sup> � <sup>Δ</sup>t yΛ<sup>i</sup>

<sup>1</sup>ðÞ� <sup>t</sup> <sup>Λ</sup><sup>i</sup>

obs2:<sup>1</sup> in the frame of SC2. The requirement is that as SC<sup>2</sup>

, with emanating vectors, one can easily determine an

T

SCj with the sphere centered on <sup>F</sup><sup>I</sup>

obs2:<sup>1</sup>∀t ∈ t0; tf

http://dx.doi.org/10.5772/intechopen.71580

on [p1, p2] can be tested for

obsj

ð Þt , to show that no constraints

ð Þ<sup>t</sup> in <sup>F</sup><sup>I</sup>

SCi with radius r,

, (29)

� �.

55

SCi by

SCj , if

cam<sup>2</sup> must avoid the cone created around vI

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

using onboard sensors, or by application of computational geometry. Given a line segment

obsi:j

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

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

<sup>2</sup>ð Þ<sup>t</sup> <sup>⋯</sup> � <sup>Λ</sup><sup>i</sup>

h i


<sup>y</sup>ð Þt

qT <sup>1</sup> ð Þ<sup>t</sup> qT

ðÞ¼� <sup>t</sup> <sup>v</sup><sup>I</sup>

cami

<sup>q</sup><sup>k</sup>þ<sup>1</sup> <sup>¼</sup> <sup>q</sup><sup>k</sup> <sup>þ</sup> <sup>Δ</sup>tq\_ <sup>k</sup> <sup>¼</sup> <sup>q</sup><sup>k</sup> � <sup>Δ</sup>tPð Þ<sup>t</sup> <sup>q</sup>k: (28)

<sup>2</sup> ð Þ<sup>t</sup> <sup>⋯</sup>q<sup>T</sup> <sup>y</sup> ð Þt

h i<sup>T</sup>

where

$$A\_{\uparrow}(t) = \boldsymbol{\upsilon}\_{\text{cam}\_{\text{i}}}^{\mathcal{B}}(t)\boldsymbol{\upsilon}\_{\text{obs}\_{\text{i}};j}^{I}(t)^{T} + \boldsymbol{\upsilon}\_{\text{obs}\_{\text{i}};j}^{I}(t)\boldsymbol{\upsilon}\_{\text{cam}\_{\text{i}}}^{\mathcal{B}}(t)^{T} - \left(\boldsymbol{\upsilon}\_{\text{cam}\_{\text{i}}}^{\mathcal{B}}(t)^{T}\boldsymbol{\upsilon}\_{\text{obs}\_{\text{i}};j}^{I}(t) + \cos\Theta\right)\mathbf{I}\_{3\prime} \tag{25}$$

$$b\_j(t) = -\upsilon\_{cam\_l}^{\mathcal{B}}(t) \times \upsilon\_{obs\_i,j}^{I}(t),\tag{26}$$

$$d\_{\circ}(t) = v\_{cam\_i}^{\mathcal{B}}(t)^T v\_{obs\_i,j}^{I}(t)\_{\prime} \tag{27}$$

for j = 1, ⋯, m.

Eq. (22) defines the set of attitude quaternions q<sup>i</sup> (t) to satisfy the constraint vI cami ð Þt T vI obsi:j ð Þt ≥ ∅ ∀t ∈[t0, tf], so it is used to find a collision-free vI cami ð Þt . However, in practical situations, another SC (SCj) can be near SCi, then another obstacle vector vI obsj ð Þt (e.g. a thruster vector emanating from SCj) defined in F<sup>I</sup> SCj should be avoided by SCi. To address such a practical issue, we present a mechanism to calculate vI obsi:<sup>j</sup> (defined in <sup>F</sup><sup>I</sup> SCi ) corresponding to vI obsj (defined in <sup>F</sup><sup>I</sup> SCj ) (vI obsi:<sup>j</sup> means the obstacle vector originated from the rotating frame of SCj but defined in <sup>F</sup><sup>I</sup> SCi ). Essentially, the mechanism determines the intersection point of vI obsj ð Þt with the sphere of radius r, centered on SCi. If such an intersection exists, it defines vI obsi:<sup>j</sup> which can be used to define an attitude constraint represented as Eq. (22) to be avoided by SCi.

Figure 2 illustrates the scenario. SC<sup>1</sup> and SC<sup>2</sup> are in their different coordinate frames relative to Earth. A thruster attached to SC<sup>1</sup> body frame is at vI obs<sup>1</sup> , while the circles around SC<sup>1</sup> and SC<sup>2</sup> are spheres representing the coordinate frames from which their attitude evolves. If both spacecraft are close enough, then vector vI obs<sup>1</sup> may intersect a point on the sphere of SC2, Multi-Spacecraft Attitude Path Planning Using Consensus with LMI-Based Exclusion Constraints http://dx.doi.org/10.5772/intechopen.71580 55

Figure 2. Q-CAC problem in different frames.

For simplicity let us consider a single SCi with a single camera, vI

obsi:<sup>j</sup> ð Þ <sup>j</sup> <sup>¼</sup> <sup>1</sup>; <sup>⋯</sup>; <sup>m</sup> , defined in <sup>F</sup><sup>I</sup>

qi ð Þ<sup>t</sup> TAe<sup>i</sup> j ð Þ<sup>t</sup> qi

μ qi

ð Þ<sup>t</sup> <sup>μ</sup>I<sup>4</sup> <sup>þ</sup> <sup>A</sup><sup>~</sup> <sup>i</sup>

qi

2 4

Aei j ðÞ¼ t

ð Þ<sup>t</sup> <sup>T</sup> <sup>þ</sup> vI

obsi:j ð Þ<sup>t</sup> <sup>v</sup><sup>B</sup> cami

bjðÞ¼� <sup>t</sup> vB

djðÞ¼ <sup>t</sup> <sup>v</sup><sup>B</sup>

cami

cami ð Þt T vI obsi:j

cami

obsi:<sup>j</sup> (defined in <sup>F</sup><sup>I</sup>

obsi:<sup>j</sup> means the obstacle vector originated from the rotating frame of SCj but defined in <sup>F</sup><sup>I</sup>

Figure 2 illustrates the scenario. SC<sup>1</sup> and SC<sup>2</sup> are in their different coordinate frames relative to

are spheres representing the coordinate frames from which their attitude evolves. If both

SCi

orientating. Then according to [3], the resulting attitude constraint of Eq. (2) can be written as

ð Þt T

Ajð Þt bjð Þt bjð Þ<sup>t</sup> <sup>T</sup> djð Þ<sup>t</sup> " #

j ð Þt � ��<sup>1</sup> 3

∈ R<sup>4</sup>�<sup>4</sup>

cami ð Þt T vI obsi:j

(t) to satisfy the constraint vI

) corresponding to vI

obsj

SCi

obs<sup>1</sup>

SCj should be avoided by SCi. To address such a practical issue, we

i tð Þ is positive definite, and

ð Þ<sup>t</sup> <sup>T</sup> � vB

ðÞ� <sup>t</sup> vI obsi:j

varying) obstacles, vI

54 Advanced Path Planning for Mobile Entities

where

for j = 1, ⋯, m.

(vI

from SCj) defined in F<sup>I</sup>

present a mechanism to calculate vI

Its LMI equivalent according to [4] is

In Eq. (23), <sup>μ</sup> is chosen to ensure <sup>μ</sup>I<sup>4</sup> <sup>þ</sup> <sup>A</sup>~<sup>j</sup>

AjðÞ¼ <sup>t</sup> <sup>v</sup><sup>B</sup>

cami ð Þ<sup>t</sup> vI obsi:j

Eq. (22) defines the set of attitude quaternions q<sup>i</sup>

∀t ∈[t0, tf], so it is used to find a collision-free vI

SC (SCj) can be near SCi, then another obstacle vector vI

Earth. A thruster attached to SC<sup>1</sup> body frame is at vI

spacecraft are close enough, then vector vI

Essentially, the mechanism determines the intersection point of vI

radius r, centered on SCi. If such an intersection exists, it defines vI

define an attitude constraint represented as Eq. (22) to be avoided by SCi.

cami

ð Þt ≤ 0: (22)

5 ≥ 0: (23)

, (24)

I3, (25)

ð Þt ≥ ∅

SCj )

SCi ).

ð Þþ t cos θ

ð Þt , (26)

ð Þt , (27)

ð Þt . However, in practical situations, another

obsj

obs<sup>1</sup> may intersect a point on the sphere of SC2,

cami ð Þt T vI obsi:j

obsj (defined in <sup>F</sup><sup>I</sup>

ð Þt with the sphere of

obsi:<sup>j</sup> which can be used to

ð Þt (e.g. a thruster vector emanating

, while the circles around SC<sup>1</sup> and SC<sup>2</sup>

� �

, to be avoided by vI

, and m (possibly, time-

cami when SCi is re-

whereby the intersection defines vI obs2:<sup>1</sup> in the frame of SC2. The requirement is that as SC<sup>2</sup> changes its attitude from q<sup>0</sup> to qf, vI cam<sup>2</sup> must avoid the cone created around vI obs2:<sup>1</sup>∀t ∈ t0; tf � �.

#### 4.3. Determination of obstacle vectors in different coordinate frames

Given SCi in F<sup>I</sup> SCi and SCj in <sup>F</sup><sup>I</sup> SCj , with emanating vectors, one can easily determine an intersection between a vector emanating from F<sup>I</sup> SCj with the sphere centered on <sup>F</sup><sup>I</sup> SCi by using onboard sensors, or by application of computational geometry. Given a line segment originating at p<sup>1</sup> and terminating at p2, a point p = [px py pz] T on [p1, p2] can be tested for intersection with a sphere centered at p<sup>3</sup> with radius r [22]. Thus, for any v<sup>I</sup> obsj ð Þ<sup>t</sup> in <sup>F</sup><sup>I</sup> SCj , if an intersection point p(t) exists at time t with the sphere centered on F<sup>I</sup> SCi with radius r, then v<sup>I</sup> obsi:j ðÞ¼ <sup>t</sup> p tð Þ; otherwise, one can set vI obsi:j ðÞ¼� <sup>t</sup> <sup>v</sup><sup>I</sup> cami ð Þt , 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

$$\mathbf{q}\_{k+1} = \mathbf{q}\_k + \Delta t \dot{\mathbf{q}}\_k = \mathbf{q}\_k - \Delta t \mathbf{P}(t)\mathbf{q}\_k. \tag{28}$$

The decentralized dynamics for any SCi is therefore

$$\boldsymbol{q}\_{k+1}^{i} = \boldsymbol{q}\_{k}^{i} - \Delta t \underbrace{\left[\boldsymbol{y}\boldsymbol{\Lambda}\_{1}^{i}(t) - \boldsymbol{\Lambda}\_{2}^{i}(t)\cdots - \boldsymbol{\Lambda}\_{y}^{i}(t)\right]}\_{\mathbf{P}^{i}(t)} \left[\boldsymbol{q}\_{1}^{T}(t) \ \boldsymbol{q}\_{2}^{T}(t)\cdots \boldsymbol{q}\_{y}^{T}(t)\right]^{T} \tag{29}$$

where q<sup>T</sup> <sup>1</sup> ð Þ<sup>t</sup> qT <sup>2</sup> ð Þ<sup>t</sup> <sup>⋯</sup>qT <sup>y</sup> ð Þt 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:

$$
\eta\_k^i T \left( \eta\_{k+1}^i - \eta\_k^i \right) = 0 \tag{30}
$$

vB

vB

vB

SC<sup>2</sup> is at

vB

obs1:<sup>1</sup> by 50�

A single thruster of SC<sup>2</sup> in F<sup>B</sup>

obs<sup>2</sup> to avoid vI

avoidance constraints. Note that vI

and from �1 indicate times when any of vI

SC<sup>2</sup> and therefore was replaced with �v<sup>I</sup>

reconfigure exactly to the desired q<sup>2</sup>

We want vI

avoidance graph.

vI obs1:<sup>2</sup>, vI obs1:<sup>1</sup> ¼ �½ � <sup>0</sup>:<sup>2132</sup> � <sup>0</sup>:0181 0:<sup>9768</sup> <sup>T</sup>

(35)

57

while both are maneu-

<sup>f</sup> due to the

obs1:<sup>1</sup>,

(37)

obs1:<sup>2</sup> <sup>¼</sup> ½ � <sup>0</sup>:314 0:<sup>283</sup> � <sup>0</sup>:<sup>906</sup> <sup>T</sup>

, and avoid v<sup>I</sup>

SC<sup>1</sup> and SC<sup>2</sup> during reorientation to Earth: SC<sup>2</sup> cannot reconfigure to the desired q<sup>2</sup>

obs1:i

obs2:<sup>1</sup>, <sup>v</sup><sup>I</sup>

resolve this, it is necessary to change either the position of SC<sup>2</sup> or SC1.

5.2. Consensus-based dynamic avoidance in different coordinate frames

FI

FI

FI

obs1:<sup>3</sup> ¼ �½ � <sup>0</sup>:<sup>112</sup> � <sup>0</sup>:<sup>133</sup> � <sup>0</sup>:<sup>985</sup> <sup>T</sup>

vering to their desired final attitudes. Figure 3(a) shows the avoidance between thrusters of

obs2:<sup>2</sup>, vI

obs1:<sup>1</sup>, vI

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), SC<sup>2</sup> cannot

In this experiment, SC1, SC2, and SC<sup>3</sup> will maneuver to a consensus attitude. The initial positions are

SC<sup>1</sup> ¼ �½ � <sup>202</sup> <sup>T</sup>

SC<sup>2</sup> <sup>¼</sup> ½ � <sup>0</sup>:<sup>502</sup> <sup>T</sup>

SC<sup>3</sup> <sup>¼</sup> ½ � <sup>302</sup> <sup>T</sup>

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

obs1:<sup>3</sup> with SC2. Figure 3(b) satisfaction of avoidance constraints: the sudden jumps to

, i ¼ 1, ⋯, 3.

obs1:<sup>2</sup>, <sup>v</sup><sup>I</sup>

obs<sup>2</sup> <sup>¼</sup> ½ � <sup>0</sup>:02981 0:0819 0:<sup>9962</sup> <sup>T</sup> (36)

obs1:<sup>3</sup> by 30�

<sup>f</sup> due to the satisfaction of the avoidance constraints. To

obs2:<sup>3</sup> are the points of intersections of vI

obs1:<sup>3</sup> lost intersection with the sphere of

http://dx.doi.org/10.5772/intechopen.71580

obs1:<sup>2</sup> and vI

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

Eq. (30) is the discrete time version of qi ð Þt T q\_i ðÞ¼ <sup>t</sup> 0 or <sup>q</sup>ð Þ<sup>t</sup> <sup>T</sup> q\_ðÞ¼ t 0. This guarantees that qi (t) T qi (t) = 1 or q(t) T <sup>q</sup>(t) = <sup>n</sup> for SC, iff <sup>k</sup>q<sup>i</sup> (0)k = 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:

$$q\_{k+1}^i = q\_k^i - \Delta t \mathbf{P}^i(t) q\_{k'}^i \qquad \text{quaternion consensus dynamics constraint} \tag{31}$$

$$q\_k^i T \left( q\_{k+1}^i - q\_k^i \right) = 0,\qquad \text{norm constraint}\tag{32}$$

$$\begin{bmatrix} \mu & q^i(t)^T \\ q^i(t) & \left(\mu \mathbf{I}\_4 + \tilde{A}\_j^{\hat{i}}(t)\right)^{-1} \end{bmatrix} \ge 0 \quad \text{exclusion constraints} \tag{33}$$

Once the next safe quaternion trajectory q<sup>i</sup> safe has been determined, the control torque <sup>τ</sup><sup>i</sup> and angular velocity ω<sup>i</sup> to rotate the SCi optimally to q<sup>i</sup> safe can be determined by using the normal quaternion dynamics Eq. (12).
