
Citation: | Xiao-Yi Wang and Guang-Ren Duan. A Direct Parametric Approach to Spacecraft Attitude Tracking Control. International Journal of Automation and Computing, vol. 14, no. 5, pp. 626-636, 2017. DOI: 10.1007/s11633-017-1089-4 |
Spacecraft attitude control has been a hot problem for several years as a significant part of spacecraft navigation control. Many different methods are applied on the problem of spacecraft and aircraft attitude control [1-20]. For instance, Parlos and Sunkel [4] used linear quadratic Gaussian (LQG) control to solve a type of large spacecraft attitude angular maneuver. Bang et al. [5] designed a new sliding model control method which can deal with flexible spacecraft attitude maneuver problem. Singh and Zhang [6] utilized adaptive output feedback control method to track the flexible spacecraft attitude. Additionally, Guan [1, 2, 21] raised a direct parametric approach to stabilize the nonlinear second-order spacecraft attitude model, and the controller can turn the original model into a stable linear constant system.
According to the research background of spacecraft attitude control, spacecraft attitude tracking needs further research and has more profound applications. Compared with Euler representation, quaternion representation can describe large-angle attitude tracking without singular points which should appear when the changing of Euler angle is bigger than 90°. Moreover, this paper raises a fully-actuated second-order system based on the spacecraft attitude dynamical and kinematical differential equations. Although most of methods deal with the spacecraft attitude control problem by the first-order models, this paper takes advantage of the fully-actuated second-order model and makes the process of controller design easier and clearer than methods based on the first-order models. Finally, this paper builds up a control model for the spacecraft attitude tracking through the error equation between controlled object and the mobile target. According to the direct parametric approach provided by Duan in [1, 2, 22-24], a controller is designed to stabilize the control model, which means the controlled spacecraft successfully tracks the target. To design the controller, the first step is to compensate the nonlinear term
In this section, a second-order spacecraft attitude control model is built by attitude dynamical equations and kinematical equations. Additionally, that model is described by quaternion and without any approximation. The problem of quaternion-based spacecraft attitude tracking is raised based on the attitude control model.
According to the attitude dynamics and kinematics of a rigid spacecraft in the inertial frame, the error attitude dynamics of a rigid spacecraft relative to a mobile tracking target in the inertial frame is given by
J˙ωe=−ω×Jω+J(ω×C(qe)ωr−C(qe)˙ωr)+u+d |
(1) |
where
J=diag(Jx,Jy,Jz) |
(2) |
is the rotating inertia matrix of the spacecraft,
In addition,
C(qe)=[C1(qe) C2(qe) C3(qe)] |
(3) |
where
C1(qe)=[q2e1−q2e2−q2e3+q2e02(qe1qe2−qe3qe0)2(qe1qe3+qe2qe0)] |
(4) |
C2(qe)=[2(qe1qe2+qe3qe0)−q2e1+q2e2−q2e3+q2e02(qe2qe3−qe1qe0)] |
(5) |
C3(qe)=[2(qe1qe3−qe2qe0)2(qe2qe3+qe1qe0)−q2e1−q2e2+q2e3+q2e0] |
(6) |
qe=[qe0qe1qe2qe3]T. |
(7) |
The variable
ωe=ω−C(qe)ωr. |
(8) |
Then, the kinematics of a rigid spacecraft in the inertial frame based on error quaternion is given by
[˙qe0˙qe1˙qe2˙qe3]=12[−qe1−qe2−qe3qe0−qe3qe2qe3qe0−qe1−qe2qe1qe0][ωexωeyωez] |
(9) |
where
When the system is stable, this means
{lim |
(10) |
To stabilize the controlled system, a suitable controller
{u} = f\left( {{{\omega _e}}, {q_{e0}}, {q_{e1}}, {q_{e2}}, {q_{e3}}, t} \right). |
(11) |
When the controlled system is stable, the spacecraft error attitude
Generally, the error quaternion
{q_{e0}}^2 + q_{e1}^2 + q_{e2}^2 + q_{e3}^2 = 1\ |
(12) |
{e}={\left[{\begin{array}{*{20}{c}} {{e_1}} & {{e_2}} & {{e_3}} \end{array}} \right]^{\rm T}}={\left[{\begin{array}{*{20}{c}} {{q_{e1}}} & {{q_{e2}}} & {{q_{e3}}} \end{array}} \right]^{\rm T}}.\ |
(13) |
Additionally,
{q_{e0}} = {e_0} = \sqrt {1 - \left( {e_1^2 + e_2^2 + e_3^2} \right)}. |
(14) |
With the expression of
\dot e = \frac{1}{2}T\left( e \right){\omega _e} = \frac{1}{2}\left[{\begin{array}{*{20}{c}} {{e_0}} & {-{e_3}} & {{e_2}}\\ {{e_3}} & {{e_0}} & {-{e_1}}\\ {-{e_2}} & {{e_1}} & {{e_0}} \end{array}} \right]{\omega _e}. |
(15) |
Taking derivative of (15) with respect to time t gives
\ddot{ {e}}= \frac{1}{2}\frac{{{\rm d}{{T}}\left( {e} \right)}}{{{\rm d}t}}{{\omega _e}} + \frac{1}{2}{ {T}}\left( { {e}} \right){\dot {{\omega _e}}}. |
(16) |
The expression for
\begin{array}{*{35}{l}} {{\omega }_{e}}= & 2\left[ -\dot{e}\left( e \right){{T}^{\text{T}}}\left( e \right) \right]{{\left[ -\frac{1}{2}{{e}^{\text{T}}}\omega \dot{e} \right]}^{\text{T}}}= \\ {} & 2\left( \frac{1}{2}e{{e}^{\text{T}}}{{\omega }_{e}}+{{T}^{\text{T}}}\left( e \right)\dot{e} \right)= \\ {} & e{{e}^{\text{T}}}{{\omega }_{e}}+2{{T}^{\text{T}}}\left( e \right)\dot{e}= \\ {} & 2{{\left( {{I}_{3}}-e{{e}^{\text{T}}} \right)}^{-1}}{{T}^{\text{T}}}\left( e \right)\dot{e}= \\ {} & 2\Phi \left( e \right){{T}^{\text{T}}}\left( e \right)\dot{e} \\ \end{array} |
(17) |
where
{\Phi} \left( {e} \right) = {\left( {{{I}_3} - {e{e^{\rm T}}}} \right)^{ - 1}} = \left[{\begin{array}{*{20}{c}} {{\Phi _1}\left( e \right)}\\ {{\Phi _2}\left( e \right)}\\ {{\Phi _3}\left( e \right)} \end{array}} \right]. |
(18) |
Thus,
\left\{ \begin{array}{*{35}{l}} {{\omega }_{ex}}=2{{\Phi }_{1}}\left( e \right){{T}^{\text{T}}}\left( e \right)\dot{e} \\ {{\omega }_{ex}}=2{{\Phi }_{2}}\left( e \right){{T}^{\text{T}}}\left( e \right)\dot{e} \\ {{\omega }_{ex}}=2{{\Phi }_{3}}\left( e \right){{T}^{\text{T}}}\left( e \right)\dot{e}. \\ \end{array} \right. |
(19) |
The next step is to summarize the second-order spacecraft control model through (1) and (16). First of all, because of
{\omega } = {\omega _e} - {C}\left( {e} \right){\omega _r}. |
(20) |
Equation (1) can be written as
\begin{array}{*{35}{l}} J{{{\dot{\omega }}}_{e}}= & -\left( {{\omega }_{e}}-C\left( e \right){{\omega }_{r}} \right)\times J\left( {{\omega }_{e}}-C\left( e \right){{\omega }_{r}} \right)+ \\ {} & J\left( \left( {{\omega }_{e}}-C\left( e \right){{\omega }_{r}} \right)\times C\left( {{q}_{e}} \right){{\omega }_{r}}-C\left( {{q}_{e}} \right){{{\dot{\omega }}}_{r}} \right)+ \\ {} & u+d. \\ \end{array} |
(21) |
Then, the expression of
\begin{array}{*{35}{l}} {{{\dot{\omega }}}_{e}}= & {{J}^{-1}}\left[ {{\omega }_{e}}\times \left( J{{\omega }_{e}} \right) \right]- \\ {} & {{J}^{-1}}\left\{ {{\omega }_{e}}\times \left[ JC\left( e \right){{\omega }_{r}} \right] \right\}- \\ {} & {{J}^{-1}}\left\{ \left[ C\left( e \right){{\omega }_{r}} \right]\times \left[ J{{\omega }_{e}} \right] \right\}- \\ {} & {{J}^{-1}}\left\{ \left[ C\left( e \right){{\omega }_{r}} \right]\times \left[ JC\left( e \right){{\omega }_{r}} \right] \right\}+ \\ {} & \left[ {{\omega }_{e}}\times \left( C\left( e \right){{\omega }_{r}} \right) \right]-C\left( e \right){{{\dot{\omega }}}_{r}}+ \\ {} & {{J}^{-1}}\left( u+d \right). \\ \end{array} |
(22) |
Denote
{\Gamma \left( {J, e, \dot e} \right)} = \left[{\begin{array}{*{20}{c}} 0 & 0 & {{\Gamma _c}}\\ {{\Gamma _a}} & 0 & 0\\ 0 & {{\Gamma _b}} & 0 \end{array}} \right]\ |
(23) |
\left\{ \begin{array}{l} {\Gamma _a} = \dfrac{{{J_z} - {J_x}}}{{{J_y}}}{{\Phi _3}}\left( {e} \right){{T^{\rm T}}}\left( {e} \right)\dot {{e}}\\ {\Gamma _b} = \dfrac{{{J_x} - {J_y}}}{{{J_z}}}{{\Phi _1}}\left( {e} \right){{T^{\rm T}}}\left( {e} \right)\dot {{e}}\\ {\Gamma _c} = \dfrac{{{J_y} - {J_z}}}{{{J_x}}}{{\Phi _2}}\left( {e} \right){{T^{\rm T}}}\left( {e} \right)\dot {{e}} \end{array} \right.\nonumber\\[-5mm] |
(24) |
G = \left[{\begin{array}{*{20}{c}} {{G_1}}\\ {{G_2}}\\ {{G_3}} \end{array}} \right] = \left[{\begin{array}{*{20}{c}} {{{\left[{JC\left( e \right){\omega _r}} \right]}_x}}\\ {{{\left[{JC\left( e \right){\omega _r}} \right]}_y}}\\ {{{\left[{JC\left( e \right){\omega _r}} \right]}_z}} \end{array}} \right]\ |
(25) |
and
{H} = \left[{\begin{array}{*{20}{c}} {{H_1}}\\ {{H_2}}\\ {{H_3}} \end{array}} \right] = {\left[{\begin{array}{*{20}{c}} {{{\left[{C\left( e \right){\omega _r}} \right]}_x}}\\ {{{\left[{C\left( e \right){\omega _r}} \right]}_y}}\\ {{{\left[{C\left( e \right){\omega _r}} \right]}_z}} \end{array}} \right]}. |
(26) |
The expression for
\begin{array}{*{35}{l}} {{{\dot{\omega }}}_{e}}= & 4\Gamma \left( J,e,\dot{e} \right)\Phi \left( e \right){{T}^{\text{T}}}\left( e \right)\dot{e}- \\ {} & {{J}^{-1}}\left[ \begin{matrix} {{G}_{3}}{{\Phi }_{2}}-{{G}_{2}}{{\Phi }_{3}} \\ {{G}_{1}}{{\Phi }_{3}}-{{G}_{3}}{{\Phi }_{1}} \\ {{G}_{2}}{{\Phi }_{1}}-{{G}_{1}}{{\Phi }_{2}} \\ \end{matrix} \right]2{{T}^{\text{T}}}\dot{e}- \\ {} & {{J}^{\text{-}1}}\left[ \begin{matrix} {{H}_{2}}{{J}_{z}}{{\Phi }_{3}}-{{H}_{3}}{{J}_{y}}{{\Phi }_{2}} \\ {{H}_{3}}{{J}_{x}}{{\Phi }_{1}}-{{H}_{1}}{{J}_{z}}{{\Phi }_{3}} \\ {{H}_{1}}{{J}_{y}}{{\Phi }_{2}}-{{H}_{2}}{{J}_{x}}{{\Phi }_{1}} \\ \end{matrix} \right]2{{T}^{\text{T}}}\dot{e}+ \\ {} & \left[ \begin{matrix} {{H}_{2}}{{\Phi }_{3}}-{{H}_{3}}{{\Phi }_{2}} \\ {{H}_{3}}{{\Phi }_{1}}-{{H}_{1}}{{\Phi }_{3}} \\ {{H}_{1}}{{\Phi }_{2}}-{{H}_{2}}{{\Phi }_{1}} \\ \end{matrix} \right]2{{T}^{\text{T}}}\dot{e}- \\ {} & {{J}^{-1}}\left[ H\times \left( JH \right) \right]-C\left( e \right){{{\dot{\omega }}}_{r}}+ \\ {} & {{J}^{-1}}\left( u+d \right). \\ \end{array} |
(27) |
Substituting (17), (22) and (26) into (16) gives
\begin{array}{*{35}{l}} \ddot{e}= & \frac{1}{2}\frac{\text{d}T\left( e \right)}{\text{d}t}{{\omega }_{e}}+\frac{1}{2}T\left( e \right){{{\dot{\omega }}}_{e}}= \\ {} & \frac{1}{2}\frac{\text{d}T\left( e \right)}{\text{d}t}\left[ 2\Phi \left( e \right){{T}^{\text{T}}}\left( e \right)\dot{e} \right]= \\ {} & \left( \begin{array}{*{35}{l}} \frac{\text{d}T}{\text{d}t}\Phi \left( e \right)+2T\Gamma \left( J,e,\dot{e} \right)\Phi \left( e \right)+ \\ {{J}^{-1}}T\left[ \begin{matrix} {{G}_{3}}{{\Phi }_{2}}-{{G}_{2}}{{\Phi }_{3}} \\ {{G}_{1}}{{\Phi }_{3}}-{{G}_{3}}{{\Phi }_{1}} \\ {{G}_{2}}{{\Phi }_{1}}-{{G}_{1}}{{\Phi }_{2}} \\ \end{matrix} \right]+ \\ {{J}^{\text{-}1}}T\left[ \begin{matrix} {{H}_{2}}{{J}_{z}}{{\Phi }_{3}}-{{H}_{3}}{{J}_{y}}{{\Phi }_{2}} \\ {{H}_{3}}{{J}_{x}}{{\Phi }_{1}}-{{H}_{1}}{{J}_{z}}{{\Phi }_{3}} \\ {{H}_{1}}{{J}_{y}}{{\Phi }_{2}}-{{H}_{2}}{{J}_{x}}{{\Phi }_{1}} \\ \end{matrix} \right]- \\ T\left[ \begin{matrix} {{H}_{2}}{{\Phi }_{3}}-{{H}_{3}}{{\Phi }_{2}} \\ {{H}_{3}}{{\Phi }_{1}}-{{H}_{1}}{{\Phi }_{3}} \\ {{H}_{1}}{{\Phi }_{2}}-{{H}_{2}}{{\Phi }_{1}} \\ \end{matrix} \right] \\ \end{array} \right){{T}^{\text{T}}}\left( e \right)\dot{e}- \\ {} & \frac{1}{2}T\left\{ {{J}^{-1}}\left[ H\times \left( JH \right) \right]-C\left( e \right){{{\dot{\omega }}}_{r}} \right\}+ \\ {} & \frac{1}{2}T{{J}^{-1}}\left( u+d \right). \\ \end{array} |
(28) |
In addition, the second-order spacecraft attitude tracking control model (28) can be written in the second-order form as
\left\{ \begin{array}{l} {{A_2}\left( {\theta, e, \dot e} \right)\ddot e} + {{A_1}\left( {\theta, e, \dot e} \right)\dot e} +\\ {{A_0}\left( {\theta, e, \dot e} \right)e} + {\xi} \left( {{\theta}, {e}, {\dot{ e}}, t} \right) \end{array} \right\} = {B\left( {\theta, e, \dot e} \right)u} |
(29) |
where
{{A_2}\left( {\theta, e, \dot e} \right)} = {I_3} |
(30) |
\begin{align} & {{A}_{1}}\left( \theta ,e,\dot{e} \right)= \\ & \quad \quad \quad \left( \begin{array}{*{35}{l}} \frac{\text{d}T}{\text{d}t}\Phi \left( e \right)+2T\Gamma \left( J,e,\dot{e} \right)\Phi \left( e \right)+ \\ {{J}^{-1}}T\left[ \begin{matrix} {{G}_{3}}{{\Phi }_{2}}-{{G}_{2}}{{\Phi }_{3}} \\ {{G}_{1}}{{\Phi }_{3}}-{{G}_{3}}{{\Phi }_{1}} \\ {{G}_{2}}{{\Phi }_{1}}-{{G}_{1}}{{\Phi }_{2}} \\ \end{matrix} \right]+ \\ {{J}^{\text{-}1}}T\left[ \begin{matrix} {{H}_{2}}{{J}_{z}}{{\Phi }_{3}}-{{H}_{3}}{{J}_{y}}{{\Phi }_{2}} \\ {{H}_{3}}{{J}_{x}}{{\Phi }_{1}}-{{H}_{1}}{{J}_{z}}{{\Phi }_{3}} \\ {{H}_{1}}{{J}_{y}}{{\Phi }_{2}}-{{H}_{2}}{{J}_{x}}{{\Phi }_{1}} \\ \end{matrix} \right]- \\ T\left[ \begin{matrix} {{H}_{2}}{{\Phi }_{3}}-{{H}_{3}}{{\Phi }_{2}} \\ {{H}_{3}}{{\Phi }_{1}}-{{H}_{1}}{{\Phi }_{3}} \\ {{H}_{1}}{{\Phi }_{2}}-{{H}_{2}}{{\Phi }_{1}} \\ \end{matrix} \right] \\ \end{array} \right)\times {{T}^{\text{T}}}\left( e \right)\dot{e} \\ \end{align} |
(31) |
{{A_0}\left( {\theta, e, \dot e} \right)} = {0_3} |
(32) |
{B\left( {\theta, e, \dot e} \right)} = \frac{1}{2}{T\left( e \right){J^{ - 1}}} |
(33) |
{\xi} \left( {{\theta}, {e}, {\dot e}, t} \right) = \frac{1}{2}{T}\left\{ \begin{array}{l} {{J^{ - 1}}\left[{H \times \left( {JH} \right)} \right]}- \\ {C\left( e \right){{\dot \omega }_r} - {J^{ - 1}}d} \end{array} \right\} |
(34) |
where
When the second-order system is stable, which means
\left\{ {\begin{array}{*{20}{l}} {\mathop {\lim }\limits_{t \to \infty } {\mkern 1mu} {e_1} = 0,\mathop {\lim }\limits_{t \to \infty } {\mkern 1mu} {e_2} = 0,\mathop {\lim }\limits_{t \to \infty } {\mkern 1mu} {e_3} = 0}\\ {\mathop {\lim }\limits_{t \to \infty } {\mkern 1mu} {{\dot e}_1} = 0,\mathop {\lim }\limits_{t \to \infty } {\mkern 1mu} {{\dot e}_2} = 0,\mathop {\lim }\limits_{t \to \infty } {\mkern 1mu} {{\dot e}_3} = 0.} \end{array}} \right. |
(35) |
To stabilize the controlled system (28), a suitable controller
u = f\left( {{e_1}, {e_2}, {e_3}, t} \right). |
(36) |
When the controlled system is stable, the spacecraft error attitude
To use the direct parametric approach provided by Duan in [1] to design controller for the control model, there are three assumptions needed to satisfy.
Assumption 1. The values of the system parameter
Define the parameter
{\theta} \left( t \right) = \left[{\begin{array}{*{20}{c}} {{J_x}\left( t \right)} & {{J_y}\left( t \right)} & {{J_z}\left( t \right)} \end{array}} \right] |
(37) |
where
Particularly, the case of space capturing is considered. It is supposed that the two spacecrafts are joined together at the time t1, then they departed from each other at time t2. The rotational inertia can be defined as
{{J}_{i}}\left( t \right)=\left\{ \begin{array}{*{35}{l}} \begin{matrix} {{J}_{i1}}, & t<{{t}_{1}} \\ \end{matrix} \\ \begin{matrix} {{J}_{i2}}, & {{t}_{1}}\le t<{{t}_{2}} \\ \end{matrix} \\ \begin{matrix} {{J}_{i3}}, & t\le {{t}_{2}} \\ \end{matrix} \\ \end{array} \right.i=x,y,z |
(38) |
where
Assumption 2. det(
According to (29), det (
Assumption 3.
According to
{B} = \frac{1}{2}{T\left( e \right){J^{ - 1}}} |
(39) |
\det \left( {B} \right) = \frac{1}{{8{J_x}{J_y}{J_z}}}{e_0}. |
(40) |
Assumption 3 is equivalent to
{e_0} = \sqrt {1 - \left( {e_1^2 + e_2^2 + e_3^2} \right)} |
(41) |
where
e_1^2 + e_2^2 + e_3^2 < 1. |
(42) |
Although this condition cannot be satisfied all the time, it can be met when the initial values of
A controller
{u} = {u_c} + {u_f} |
(43) |
where
\quad {u_c} = {\left( {\frac{1}{2}{T}\left( {e} \right){{{J}}^{ - 1}}} \right)^{ - 1}}\frac{1}{2}{T}\left\{ \begin{array}{l} {{J}^{ - 1}}\left[{H \times \left( {JH} \right)} \right] +\\ {C}\left( {e} \right){{\dot \omega }_r} - {{J^{ - 1}}d} \end{array} \right\}.\quad |
(44) |
In addition,
{u_f} = {K_0}\left( {\theta, e, \dot e} \right){e} + {K_1}\left( {\theta, e, \dot e} \right)\dot {{e}} + {v} |
(45) |
where
Then, a parametric controller
Define
{F} = \left\{ \begin{array}{l} \left. {F} \right|{F} \in {{\bf R}^{2n \times 2n}}, {\rm and}~\exists {Z} \in {{\bf R}^{2n \times 2n}}\\ {\rm s.t.}~~\det \left[ {\begin{array}{*{20}{c}} {Z}\\ {ZF} \end{array}} \right] \ne 0 \end{array} \right\} |
(46) |
where
Step 1. Find the Sylvester equation for the control model (29).
Denote
{{V^{ - 1}}{A_c}\left( {\theta, e, \dot e} \right)V} = {F} |
(47) |
{{V}_{2n \times 2n}} = \left[{\begin{array}{*{20}{c}} {{{\left( {{V_0}} \right)}_{n \times 2n}}}\\ {{{\left( {{V_1}} \right)}_{n \times 2n}}} \end{array}} \right] = \left[{\begin{array}{*{20}{c}} {{V_0}}\\ {{V_0}F} \end{array}} \right] |
(48) |
and
\det \left( {V} \right) \ne 0 |
(49) |
where
Through the direct parametric approach, the relative Sylvester equation for the system (29) can be given by
\left\{ \begin{array}{l} {{A_2}\left( {\theta, e, \dot e} \right){V_0}{F^2}} +\\ {{A_1}\left( {\theta, e, \dot e} \right){V_0}F} +\\ {{A_0}\left( {\theta, e, \dot e} \right){V_0}} \end{array} \right\} = {B\left( {\theta, e, \dot e} \right)W} |
(50) |
where
Step 2. Solve the Sylvester equation and gain the expression for feedback controller
It is suggested by the direct parametric approach that the solution for the Sylvester equation is
\left\{ \begin{array}{*{35}{l}} V=\left[ \begin{array}{*{35}{l}} {{N}_{0}}Z \\ {{N}_{0}}ZF \\ \end{array} \right]=\left[ \begin{matrix} Z \\ ZF \\ \end{matrix} \right] \\ W={{B}^{-1}}\left( {{A}_{2}}Z{{F}^{2}}+{{A}_{1}}ZF+{{A}_{0}}Z \right) \\ \end{array} \right. |
(51) |
and
{u_f} = {{K_0}\left( {\theta, e, \dot e} \right)e} + {{K_1}\left( {\theta, e, \dot e} \right)\dot e} + {v} |
(52) |
where
{K_F} = \left[{\begin{array}{*{20}{c}} {{K_0}} & {{K_1}} \end{array}} \right] = {W}{{V}^{ - 1}}. |
(53) |
Denote
{X} = \left[{\begin{array}{*{20}{c}} {e}\\ {\dot e} \end{array}} \right]. |
(54) |
Then, the closed-loop system can be converted into the first-order form:
{\dot X} = {{A_c}X} + {{B_c}v} |
(55) |
where
{A_c} = \left[{\begin{array}{*{20}{c}} {0} & {{I_n}}\\ {{-{A_2}^{-1}A_0^c}} & {{-{A_2}^{ - 1}A_1^c}} \end{array}} \right] |
(56) |
{B_c} = \left[{\begin{array}{*{20}{c}} {0}\\ {{{A_2}^{-1}\left( {\theta, e, \dot e} \right)B\left( {\theta, e, \dot e} \right)}} \end{array}} \right] |
(57) |
and
\qquad \left\{ \begin{array}{l} {A_0^c\left( {\theta, e, \dot e} \right)} = {{A_0}\left( {\theta, e, \dot e} \right) - B\left( {\theta, e, \dot e} \right){K_0}\left( {\theta, e, \dot e} \right)}\\ {A_1^c\left( {\theta, e, \dot e} \right)} ={ {A_1}\left( {\theta, e, \dot e} \right) - B\left( {\theta, e, \dot e} \right){K_1}\left( {\theta, e, \dot e} \right)}. \end{array}\qquad \right. |
(58) |
Step 3. Optimize the controller
To maintain the robustness of performance and robustness of stability for a controlled system with uncertain parameters, the beneficial method is to minimize the closed-loop eigenvalues sensitivities given by [21]. As the closed-loop system should be a constant stable linear system, the optimizing index could be chosen as
\begin{matrix} {{J}_{opt}}={{J}_{opt}}\left( F,Z \right)=\left\| V \right\|\left\| {{V}^{-1}} \right\|= \\ \qquad \left\| \left[ \begin{matrix} Z \\ ZF \\ \end{matrix} \right] \right\|\left\| {{\left[ \begin{matrix} Z \\ ZF \\ \end{matrix} \right]}^{-1}} \right\|. \\ \end{matrix} |
(59) |
Furthermore, the constrained nonlinear programming problem can be described as
\begin{array}{*{35}{l}} \min {{J}_{opt}}\left( F,Z \right) \\ \rm{s}.\rm{t}.\left\{ \begin{array}{*{35}{l}} \det \left( \begin{matrix} Z \\ ZF \\ \end{matrix} \right)\ne 0,~Z\in {{\bf{R}}^{n\times 2n}} \\ {{\lambda }_{i}}\in {{C}^{-}},~i=1,2,\cdots ,2n. \\ \end{array} \right. \\ \end{array} |
(60) |
Besides, to simplify the optimizing process, the parameter F can be considered as
{F} ={\rm diag} \left( {{\lambda _1},{\lambda _2}, \cdots ,{\lambda _{2n}}} \right) |
(61) |
where
Step 4. Simulation.
Put the controller
A set of practical spacecraft attitude system control data example is provided for the simulation [3].
The rotational inertia of the spacecraft is
{J} = \left[{\begin{array}{*{20}{c}} {{J_x}} & 0 & 0\\ 0 & {{J_y}} & 0\\ 0 & 0 & {{J_z}} \end{array}} \right] = \left[{\begin{array}{*{20}{c}} {18} & 0 & 0\\ 0 & {21} & 0\\ 0 & 0 & {24} \end{array}} \right]{\rm kg\cdot{m^2}} |
The disturbance torque
{d} = 1.0 \times {10^{ - 3}}\left[{\begin{array}{*{20}{c}} {\cos \left( {0.01t} \right)-0.3}\\ {0.3\cos (0.02t) + 0.6}\\ {0.5\sin (0.02t)} \end{array}} \right]{\rm{N}} \cdot {\rm{m}}. |
The initial attitude quaternion of controlled spacecraft
{q_d}\left( 0 \right) = {\left[{\begin{array}{*{20}{c}} 1 & 0 & 0 & 0 \end{array}} \right]^{\rm T}}. |
The initial attitude quaternion of target spacecraft
{q_r}\left( 0 \right) = {\left[{\begin{array}{*{20}{c}} {0.668\, 3} & {-0.554\, 6} & {0.399\, 9} & {0.293\, 1} \end{array}} \right]^{\rm T}}. |
As
{q_e}\left( 0 \right) = {\left[{\begin{array}{*{20}{c}} {0.668\, 3} & {{\rm{0}}{\rm{.554\, 6}}} & {{\rm{-0}}{\rm{.399\, 9}}} & {{\rm{-0}}{\rm{.293\, 1}}} \end{array}} \right]^{\rm T}}. |
Thus, the initial state
{e}\left( 0 \right) = {\left[{\begin{array}{*{20}{c}} {{\rm{0}}{\rm{.554\, 6}}} & {{\rm{-0}}{\rm{.399\, 9}}} & {{\rm{-0}}{\rm{.293\, 1}}} \end{array}} \right]^{\rm T}} |
and
{\dot e}\left( 0 \right) = \left[{\begin{array}{*{20}{c}} {{\rm{0}}{\rm{.071\, 5}}} & {{\rm{0}}{\rm{.104\, 7}}} & {{\rm{0}}{\rm{.060\, 9}}} \end{array}} \right]. |
In addition, the target spacecraft is mobile and its angular rate
{\omega _r} = 0.01\left[{\begin{array}{*{20}{c}} {\sin \left( {0.02t} \right)}\\ {-2\sin \left( {0.02t} \right)}\\ {\sin \left( {0.02t} \right)} \end{array}} \right]{\rm rad/s}. |
First of all, the controller
\begin{align} & u={{u}_{c}}+{{u}_{f}}= \\ & \quad \ \ {{B}^{-1}}\left( \theta ,e,\dot{e} \right)\xi \left( \theta ,e,\dot{e},t \right)+ \\ & \quad \ \ {{K}_{0}}\left( \theta ,e,\dot{e} \right)e+{{K}_{1}}\left( \theta ,e,\dot{e} \right)\dot{e}+v. \\ \end{align} |
(62) |
Moreover, the controller should be optimized by the
\begin{array}{*{35}{l}} \min {{J}_{opt}}\left( F,Z \right) \\ \rm{s}.\rm{t}.\left\{ \begin{array}{*{35}{l}} \det \left( \begin{matrix} Z \\ ZF \\ \end{matrix} \right)\ne 0,~~Z\in {{\bf{R}}^{n\times 2n}} \\ {{\lambda }_{i}}\in {{C}^{-}},~~i=1,2,\cdots ,2n. \\ \end{array} \right. \\ \end{array} |
(63) |
Then, to simplify the optimization, the parameter
\begin{align} & F=\text{diag}\left( {{\lambda }_{1}},{{\lambda }_{2}},\cdots ,{{\lambda }_{6}} \right)= \\ & \quad \ \ \text{diag}\left( \text{-0}.\text{1},\text{-0}.\text{15},\text{-0}.\text{2},\text{-0}.\text{25},\text{-0}.\text{3},\text{-0}.\text{35} \right). \\ \end{align} |
The initial
{Z}\left( 0 \right) = \left[{\begin{array}{*{20}{c}} 2 & 0 & 0 & 1 & 0 & 0\\ 0 & 2 & 0 & 0 & 1 & 0\\ 0 & 0 & 2 & 0 & 0 & 1 \end{array}} \right]. |
Additionally, initial
Thus, the final optimal parameter
{Z} = {\left[{\begin{array}{*{20}{c}} {1.385\, 6} & {-0.001\, 1} & {0.000\, 3}\\ {0.001\, 3} & {1.474\, 2} & {-0.000\, 1}\\ {-0.000\, 6} & {0.000\, 0} & {1.335\, 9}\\ {1.199\, 1} & { - 0.000\, 9} & {0.001\, 2}\\ { - 0.000\, 4} & {1.163\, 1} & {0.000\, 0}\\ { - 0.000\, 2} & {0.000\, 1} & {1.285\, 9} \end{array}} \right]^{\rm{T}}}. |
Additionally, the final
Note that
{Z{F^2}{V^{ - 1}}} = {\left[{\begin{array}{*{20}{c}} {{\rm{-}}0.025\, 0} & {{\rm{-}}0.000\, 0} & {0.000\, 0}\\ {{\rm{-}}0.000\, 0} & {{\rm{ - }}0.045\, 0} & {{\rm{ - }}0.000\, 0}\\ {0.000\, 0} & {{\rm{ - }}0.000\, 0} & {{\rm{ - }}0.070\, 0}\\ {{\rm{ - }}0.350\, 0} & {{\rm{ - }}0.0001} & {0.000\, 1}\\ {{\rm{ - }}0.000\, 0} & {{\rm{ - }}0.450\, 0} & {{\rm{ - }}0.000\, 0}\\ {0.000\, 0} & {{\rm{ - }}0.000\, 0} & {{\rm{ - }}0.550\, 0} \end{array}} \right]^{\rm{T}}}. |
Because of the expression
{V{V^{ - 1}}} = \left[{\begin{array}{*{20}{c}} {Z}\\ {ZF} \end{array}} \right]{V^{ - 1}} = \left[{\begin{array}{*{20}{c}} {Z{V^{-1}}}\\ {ZF{V^{-1}}} \end{array}} \right] = {I_6} |
(64) |
these equations can be derived as
{{A_1}\left( {\theta, e, \dot e} \right)ZF{V^{ - 1}}} = \left[{\begin{array}{*{20}{c}} {{0_3}} & {{A_1}\left( {\theta, e, \dot e} \right)} \end{array}} \right] |
(65) |
{ZF{V^{ - 1}}} = \left[{\begin{array}{*{20}{c}} {{0_3}} & {{I_3}} \end{array}} \right] |
(66) |
\begin{align} & {{K}_{F}}=\left[ {{K}_{0}}~~~~{{K}_{1}} \right]=W{{V}^{-1}}= \\ & \quad \quad B{{\left( \theta ,e,\dot{e} \right)}^{-1}}\left( Z{{F}^{2}}+{{A}_{1}}\left( \theta ,e,\dot{e} \right)ZF \right){{V}^{-1}}= \\ & \quad \quad B{{\left( \theta ,e,\dot{e} \right)}^{-1}}\left( Z{{F}^{2}}{{V}^{-1}}+{{A}_{1}}\left( \theta ,e,\dot{e} \right)ZF{{V}^{-1}} \right)= \\ & \quad \quad B{{\left( \theta ,e,\dot{e} \right)}^{-1}}\left( Z{{F}^{2}}{{V}^{-1}}+\left[ {{0}_{3}}~~~~{{A}_{1}}\left( \theta ,e,\dot{e} \right) \right] \right). \\ \end{align} |
(67) |
Furthermore, with the controller
Based on Figs. 1 and 2, the variable
Additionally, to justify the relative attitude quaternion between
According to Fig. 4, the controller is stable which is pointed out by the stable curve, and it can be utilized for the control model. Furthermore, there is a limitation of 2 N
We verify whether the closed-loop system is a linear constant system as
{\dot X }= {{A_c}X + {B_c}v} |
(68) |
where
{A_c} = \left[{\begin{array}{*{20}{c}} 0 & 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 0 & 0 & 1\\ {{\rm{-}}0.025\, 0} & {{\rm{-}}0.000\, 0} & {0.000\, 0} & {{\rm{-}}0.350\, 0} & {{\rm{ - }}0.000\, 0} & {0.000\, 0}\\ {{\rm{ - }}0.000\, 0} & {{\rm{ - }}0.045\, 0} & {{\rm{ - }}0.000\, 0} & {{\rm{ - }}0.000\, 1} & {{\rm{ - }}0.450\, 0} & {{\rm{ - }}0.000\, 0}\\ {0.000\, 0} & {{\rm{ - }}0.000\, 0} & {{\rm{ - }}0.070\, 0} & {0.000\, 1} & {{\rm{ - }}0.000\, 0} & {{\rm{ - }}0.550\, 0} \end{array}} \right] |
{B_c} = \left[{\begin{array}{*{20}{c}} 0\\ {\dfrac{1}{2}{T}\left( {e} \right){J^{-1}}} \end{array}} \right]. |
The state variable response curve of that linear constant system is plotted in Matlab by Fig. 5.
This linear constant system is stable as Fig. 5 describes. Although the state response of closed-loop linear system is similar to the stated response of variable
state\_error\left( i \right) = {\left\| {{{\left[{\begin{array}{*{20}{c}} {e\left( i \right)} & {\dot e\left( i \right)} \end{array}} \right]}^{\rm T}} - {{\left[{X\left( i \right)} \right]}^{\rm T}}} \right\|_2}. |
(69) |
The response of the sate error is plotted in Fig. 6.
According to Fig. 6, the state error between practical system and theoretical system is quite small which is of 10-14 level. Therefore, the controller
A controller is designed by the direct parametric approach and applied on a practical spacecraft attitude system. In this paper, the nonlinear and non-approximated spacecraft attitude control model is turned into a stable closed-loop linear constant system by the controller
The first author hereby extends her thanks to all the classmates in the Center for Control Theory and Guidance Technology in Harbin Institute of Technology, because of their help in the academic research and daily life. Additionally, the first author thanks professor Bin Zhou for his help of academic paper writing.
G. R. Duan. Quaternion-based satellite attitude controlA direct parametric approach. In Proceedings of the 14th International Conference on Control, Automation and Systems, IEEE, Seoul, Korea, pp. 935-941, 2014. http://www.nsfc.gov.cn/Portals/0/fj/fj20160106_01.xls
|
G. R. Duan. Satellite attitude control-A direct parametric approach. In Proceedings of the 11th World Congress on Intelligent Control and Automation, IEEE, Shenyang, China, pp. 3989-3996, 2014. http://ieeexplore.ieee.org/xpl/abstractKeywords.jsp?reload=true&arnumber=7053383
|
C. Y. Gao, Q. Zhao, G. R. Duan. Robust actuator fault diagnosis scheme for satellite attitude control systems. Journal of the Franklin Institute, vol. 350, no. 9, pp. 2560-2580, 2013. doi: 10.1016/j.jfranklin.2013.02.021
|
A. G. Parlos, J. W. Sunkel. Adaptive attitude control and momentum management for large-angle spacecraft maneuvers. Journal of Guidance, Control and Dynamics, vol. 15, no. 4, pp. 1018-1028, 1992. doi: 10.2514/3.20937
|
H. Bang, C. K. Ha, J. Hyoung Kim. Flexible spacecraft attitude maneuver by application of sliding mode control. Acta Astronautica, vol. 57, no. 11, pp. 841-850, 2005. doi: 10.1016/j.actaastro.2005.04.009
|
S. N. Singh, R. Zhang. Adaptive output feedback control of spacecraft with flexible appendages by modeling error compensation. Acta Astronautica, vol. 54, no. 4, pp. 229-243, 2004. doi: 10.1016/S0094-5765(03)00030-4
|
A. Tayebi. Unit quaternion-based output feedback for the attitude tracking problem. IEEE Transactions on Automatic Control, vol. 53, no. 6, pp. 1516-1520, 2008. doi: 10.1109/TAC.2008.927789
|
D. Bustan, S. K. H. Sani, N. Pariz. Adaptive faulttolerant spacecraft attitude control design with transient response control. IEEE/ASME Transactions on Mechatronics, vol. 19, no. 4, pp. 1404-1411, 2014. doi: 10.1109/TMECH.2013.2288314
|
R. Kristiansen, P. J. Nicklasson. Satellite attitude control by quaternion-based backstepping. In Proceedings of American Control Conference, IEEE, Portland, USA, vol. 2, pp. 907-912, 2005. https://www.infona.pl//resource/bwmeta1.element.ieee-art-000004554017
|
D. Doody. Spacecraft attitude control. Deep Space Craft, D. Doody, Ed., Berlin Heidelberg, Germany:Springer, pp. 87-118, 2009.
|
A. Grewal, V. J. Modi. Robust attitude and vibration control of the space station. Acta Astronautica, vol. 38, no. 3, pp. 139-160, 1996. doi: 10.1016/0094-5765(96)00073-2
|
K. F. Lu, Y. Q. Xia. Adaptive attitude tracking control for rigid spacecraft with finite-time convergence. Automatica, vol. 49, no. 12, pp. 3591-3599, 2013. doi: 10.1016/j.automatica.2013.09.001
|
A. L. Herman, B. A. Conway. Optimal spacecraft attitude control using collocation and nonlinear programming. Journal of Guidance, Control and Dynamics, vol. 15, no. 5, pp. 1287-1289, 1992. doi: 10.2514/3.20983
|
B. Wie, K. W. Byun, V. W. Warren, D. Geller, D. Long, J. Sunkel. New approach to attitude/momentum control for the Space Station. Journal of Guidance, Control and Dynamics, vol. 12, no. 5, pp. 714-722, 1989. doi: 10.2514/3.20466
|
J. D. Schierman, D. G. Ward, J. R. Hull, N. Gandhi, M. Oppenheimer, D. B. Doman. Integrated adaptive guidance and control for re-entry vehicles with flight test results. Journal of Guidance, Control and Dynamics, vol. 27, no. 6, pp. 975-988, 2004. doi: 10.2514/1.10344
|
H. J. Shen, P. Tsiotras. Optimal two-impulse rendezvous using multiple-revolution lambert solutions. Journal of Guidance, Control and Dynamics, vol. 26, no. 1, pp. 50-61, 2003. doi: 10.2514/2.5014
|
F. Zhang, G. R. Duan. Optimal integrated relative position and attitude control of spacecraft in proximity operation missions. International Journal of Automation and Computing, vol. 9, no. 4, pp. 342-351, 2012. doi: 10.1007/s11633-012-0654-0
|
H. Du, G. L. Fan, J. Q. Yi. Nonlinear longitudinal attitude control of an unmanned seaplane with wave filtering. International Journal of Automation and Computing, vol. 13, no. 6, pp. 634-642, 2016. doi: 10.1007/s11633-016-0962-x
|
W. K. Liu. Research on Attitude Maneuver and Tracking for Flexible Spacecraft, Master dissertation, Harbin Institute of Technology, China, 2014. (in Chinese)
|
L. Zhang, G. R. Duan, Y. A. Zhang. Nonlinear dynamic model and control of three-axis stabilized liquid-filled spacecraft attitude system. Journal of Harbin Institute of Technology (New Series), vol. 19, no. 5, pp. 107-112, 2012. http://www.cqvip.com/QK/86045X/201205/43848684.html
|
G. R. Duan. Direct parametric control of fully-actuated second-order nonlinear systems-The normal case. In Proceedings of the 33rd Chinese Control Conference, IEEE, Nanjing, China, pp. 2406-2413, 2014. http://www.nsfc.gov.cn/Portals/0/fj/fj20160106_01.xls
|
G. R. Duan, B. Zhou. Solution to the second-order Sylvester matrix equation MVF2+ DVF + KV=BW. IEEE Transactions on Automatic Control, vol. 51, no. 5, pp. 805-809, 2006. doi: 10.1109/TAC.2006.874989
|
G. R. Duan. Generalized Sylvester Equations:Unified Parametric Solutions, New York, USA:CRC Press, pp. 15-393, 2015.
|
G. R. Duan. Parametric eigenstructure assignment in second-order descriptor linear systems. IEEE Transactions on Automatic Control, vol. 49, no. 10, pp. 1789-1794, 2004. doi: 10.1109/TAC.2004.835580
|
1. | Xiaoyi Wanga, Lingling Shi, Jayantha Katupitiya. Coordinated Control of a Dual-arm Space Robot to Approach and Synchronise with the Motion of a Spinning Target in 3D Space. Acta Astronautica, 2020. DOI:10.1016/j.actaastro.2020.02.028 |
2. | Zhanyu Gao, Yingying Gu, Yaoyu Lv, et al. A Monocular Vision Measurement System of Three-Degree-of-Freedom Air-Bearing Test-Bed Based on FCCSP. Photonic Sensors, 2018, 8(2): 119. DOI:10.1007/s13320-018-0420-1 |