Coupled control of relative position and attitude for spacecraft proximity operations with input constraints and parameter uncertainties
TAO Jiawei, ZHANG Tao
Department of Automation, Tsinghua University, Beijing 100084, China
Abstract: An coupled control strategy was developed for proximity operations of spacecraft formation flying which tabes into account the unknown but bounded disturbance, parametric uncertainties and actuator saturation. An auxiliary system is used to compensate for the effects of input constraints. The auxiliary system states are applied to the control design and stability analysis. The system was an adaptive updating technique that does not need to know the system parameters and the unknown bound of the external disturbance in advance Lyapunov theory shows that this controller guarantees uniform ultimate boundedness of all the signals in the closed-loop system and that the tracking errors will converge to a small neighborhood of the origin. Finally, a six degree of freedom simulation demonstrates the effectiveness of this control law compared to an approach that does not consider actuator saturation.
Key words: coupled control spacecraft formation     input constraint     robust adaptive control

1 姿轨耦合动力学建模

 $\mathit{\boldsymbol{\dot \sigma }} = \mathit{\boldsymbol{G}}\left( \mathit{\boldsymbol{\sigma }} \right)\mathit{\boldsymbol{\omega }},$ (1)
 $\mathit{\boldsymbol{J\dot \omega }} + {\mathit{\boldsymbol{C}}_{\rm{r}}}\mathit{\boldsymbol{\omega }} + {\mathit{\boldsymbol{n}}_{\rm{r}}} = \mathit{\boldsymbol{\tau }} + {\mathit{\boldsymbol{\tau }}_{\rm{d}}}.$ (2)

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{C}}_{\rm{r}}} = \mathit{\boldsymbol{JS}}\left( {\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right) + \mathit{\boldsymbol{S}}\left( {\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right)\mathit{\boldsymbol{J}} - }\\ {\mathit{\boldsymbol{S}}\left( {\mathit{\boldsymbol{J}}\left( {\mathit{\boldsymbol{\omega }} + \mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right)} \right).} \end{array}$ (3)
 ${\mathit{\boldsymbol{n}}_{\rm{r}}} = \mathit{\boldsymbol{S}}\left( {\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right)\mathit{\boldsymbol{JR}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t + \mathit{\boldsymbol{JR}}_t^p\mathit{\boldsymbol{\dot \omega }}_{i,t}^t.$ (4)

 $\mathit{\boldsymbol{\dot p}} = \mathit{\boldsymbol{v}} + \mathit{\boldsymbol{S}}\left( {{\mathit{\boldsymbol{\omega }}_{i,p}}} \right)\mathit{\boldsymbol{p}},$ (5)
 $\begin{array}{*{20}{c}} {m\mathit{\boldsymbol{\dot v}} = - m\mathit{\boldsymbol{S}}\left( {{\mathit{\boldsymbol{\omega }}_{i,p}}} \right)\mathit{\boldsymbol{v}} - \frac{{m\mu }}{{r_p^3}}\left( {\mathit{\boldsymbol{p}} + \mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{r}}_{i,t}^t} \right) - }\\ {m\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\ddot r}}_{i,t}^t + \mathit{\boldsymbol{f}} + {\mathit{\boldsymbol{f}}_{\rm{d}}}.} \end{array}$ (6)

 ${\mathit{\boldsymbol{x}}_1} = \left[ {\mathit{\boldsymbol{p}};\mathit{\boldsymbol{\sigma }}} \right],\;\;\;{\mathit{\boldsymbol{x}}_2} = \left[ {\mathit{\boldsymbol{v}};\mathit{\boldsymbol{\omega }}} \right].$ (7)

 $\left\{ \begin{array}{l} {{\mathit{\boldsymbol{\dot x}}}_1} = {\mathit{\boldsymbol{C}}_1}{\mathit{\boldsymbol{x}}_1} + \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{x}}_2},\\ \mathit{\boldsymbol{M}}{{\mathit{\boldsymbol{\dot x}}}_2} = - {\mathit{\boldsymbol{C}}_2}{\mathit{\boldsymbol{x}}_2} - \mathit{\boldsymbol{n}} + \mathit{\boldsymbol{d}} + \mathit{\boldsymbol{u}}. \end{array} \right.$ (8)

 ${\mathit{\boldsymbol{C}}_1} = \left[ {\begin{array}{*{20}{c}} { - \mathit{\boldsymbol{S}}\left( {\mathit{\boldsymbol{\omega }}_{i.p}^p} \right)}&{{{\bf{0}}_{3 \times 4}}}\\ {{{\bf{0}}_{4 \times 3}}}&{{{\bf{0}}_{4 \times 4}}} \end{array}} \right],\;\;\;\;{\mathit{\boldsymbol{C}}_2} = \left[ {\begin{array}{*{20}{c}} {m\mathit{\boldsymbol{S}}\left( {\mathit{\boldsymbol{\omega }}_{i.p}^p} \right)}&{{{\bf{0}}_{3 \times 3}}}\\ {{{\bf{0}}_{3 \times 3}}}&{{\mathit{\boldsymbol{C}}_{\rm{r}}}} \end{array}} \right].$

 $\mathit{\boldsymbol{n}} = \left[ {\begin{array}{*{20}{c}} {\frac{{\mu m}}{{r_p^3}}\left( {\mathit{\boldsymbol{p}} + \mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{r}}_{i,t}^t} \right) + m\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\ddot r}}_{i,t}^t}\\ {{\mathit{\boldsymbol{n}}_{\rm{r}}}} \end{array}} \right],\mathit{\boldsymbol{d}} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{f}}_{\rm{d}}}}\\ {{\mathit{\boldsymbol{\tau }}_{\rm{d}}}} \end{array}} \right].$ (9)
2 控制受限的姿轨耦合控制器设计

 $\mathit{\boldsymbol{\theta }} = {\left[ {\begin{array}{*{20}{c}} m&{\mathit{\boldsymbol{\theta }}_J^{\rm{T}}} \end{array}} \right]^{\rm{T}}}.$ (10)

 $\mathit{\boldsymbol{n}} = {\mathit{\boldsymbol{N}}_1}\theta .$ (11)

 ${\mathit{\boldsymbol{N}}_1} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{N}}_{1,11}}}&{{{\bf{0}}_{3 \times 6}}}\\ {{{\bf{0}}_{3 \times 1}}}&{{\mathit{\boldsymbol{N}}_{1,22}}} \end{array}} \right],$
 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{N}}_{1,11}} = \frac{\mu }{{r_p^3}}\left( {\mathit{\boldsymbol{p}} + \mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{r}}_{i,t}^t} \right) + \mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\ddot r}}_{i,t}^t,}\\ {{\mathit{\boldsymbol{N}}_{1,22}} = \mathit{\boldsymbol{S}}\left( {\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right)\mathit{\boldsymbol{L}}\left( {\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right) + \mathit{\boldsymbol{L}}\left( {\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\dot \omega }}_{i,t}^t} \right).} \end{array}$ (12)

 ${{\mathit{\boldsymbol{\dot x}}}_1} = {\mathit{\boldsymbol{C}}_1}{\mathit{\boldsymbol{x}}_1} + \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{x}}_2},$ (13)
 $\mathit{\boldsymbol{M}}{{\mathit{\boldsymbol{\dot x}}}_2} = - {\mathit{\boldsymbol{C}}_2}{\mathit{\boldsymbol{x}}_2} - {\mathit{\boldsymbol{N}}_1}\mathit{\boldsymbol{\theta }} + \mathit{\boldsymbol{u}} + \mathit{\boldsymbol{d}}.$ (14)

 $\left| {{\mathit{\boldsymbol{d}}_i}} \right| \le {\mathit{\boldsymbol{\rho }}_i},\;\;\;i = 1,2, \cdots ,6.$ (15)

 ${\mathit{\boldsymbol{\theta }}_{\min }} \le \mathit{\boldsymbol{\theta }} \le {\mathit{\boldsymbol{\theta }}_{\max }}.$ (16)

 $0 \le \left| \eta \right| - \eta \tanh \left( {\eta /\varepsilon } \right) \le \delta \varepsilon .$ (17)

2.1 不考虑输入饱和的鲁棒自适应控制律

 ${\mathit{\boldsymbol{z}}_1} = {\mathit{\boldsymbol{x}}_1},\;\;\;{\mathit{\boldsymbol{z}}_2} = {\mathit{\boldsymbol{x}}_2} - \mathit{\boldsymbol{\alpha }},$ (18)
 ${{\mathit{\boldsymbol{\dot z}}}_1} = {{\mathit{\boldsymbol{\dot x}}}_1} = {\mathit{\boldsymbol{C}}_1}{\mathit{\boldsymbol{x}}_1} + \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{x}}_2} = {\mathit{\boldsymbol{C}}_1}{\mathit{\boldsymbol{z}}_1} + \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}\left( {{\mathit{\boldsymbol{z}}_2} + \mathit{\boldsymbol{\alpha }}} \right).$ (19)

 $\mathit{\boldsymbol{\alpha }} = - {\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} = {\left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{\alpha }}_p^{\rm{T}}}&{\mathit{\boldsymbol{\alpha }}_q^{\rm{T}}} \end{array}} \right]^{\rm{T}}}.$ (20)

 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot V}}}_1} = \mathit{\boldsymbol{z}}_1^{\rm{T}}{{\mathit{\boldsymbol{\dot z}}}_1} = \mathit{\boldsymbol{z}}_1^{\rm{T}}\left( {{\mathit{\boldsymbol{C}}_1}{\mathit{\boldsymbol{z}}_1} + \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}\left( {{\mathit{\boldsymbol{z}}_2} + \mathit{\boldsymbol{\alpha }}} \right)} \right) = }\\ {\mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{z}}_2} - \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1}.} \end{array}$ (21)

 $\mathit{\boldsymbol{M\dot \alpha }} = {\mathit{\boldsymbol{N}}_{\alpha 1}}\mathit{\boldsymbol{\theta }},\;\;\;{\mathit{\boldsymbol{C}}_2}\mathit{\boldsymbol{\alpha }} = {\mathit{\boldsymbol{N}}_{\alpha 2}}\mathit{\boldsymbol{\theta }}.$ (22)

 $\begin{array}{l} {\mathit{\boldsymbol{N}}_{\alpha 1}} = \left[ {\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot \alpha }}}_p}}&{{{\bf{0}}_{3 \times 6}}}\\ {{{\bf{0}}_{3 \times 1}}}&{\mathit{\boldsymbol{L}}\left( {{{\mathit{\boldsymbol{\dot \alpha }}}_q}} \right)} \end{array}} \right],\\ {\mathit{\boldsymbol{N}}_{\alpha 2}} = \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{S}}\left( {{\mathit{\boldsymbol{\omega }}_{i,p}}} \right)}&{{{\bf{0}}_{3 \times 6}}}\\ {{{\bf{0}}_{3 \times 1}}}&{{\mathit{\boldsymbol{N}}_{\alpha 2,22}}} \end{array}} \right]. \end{array}$ (23)

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{N}}_{\alpha 2,22}} = \mathit{\boldsymbol{L}}\left( {\mathit{\boldsymbol{S}}\left( {\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right){\mathit{\boldsymbol{\alpha }}_q}} \right) + }\\ {\mathit{\boldsymbol{S}}\left( {\mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right)\mathit{\boldsymbol{L}}\left( {{\mathit{\boldsymbol{\alpha }}_q}} \right) + \mathit{\boldsymbol{S}}\left( {{\mathit{\boldsymbol{\alpha }}_q}} \right)\mathit{\boldsymbol{L}}\left( {\mathit{\boldsymbol{\omega }} + \mathit{\boldsymbol{R}}_t^p\mathit{\boldsymbol{\omega }}_{i,t}^t} \right).} \end{array}$ (24)

 $\left\{ \begin{array}{l} {{\mathit{\boldsymbol{\dot z}}}_1} = {\mathit{\boldsymbol{C}}_1}{\mathit{\boldsymbol{z}}_1} + \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{z}}_2} - \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1},\\ \mathit{\boldsymbol{M}}{{\mathit{\boldsymbol{\dot z}}}_2} = - {\mathit{\boldsymbol{C}}_2}{\mathit{\boldsymbol{z}}_2} + \mathit{\boldsymbol{d}} + \mathit{\boldsymbol{u}} - \mathit{\boldsymbol{N\theta }}. \end{array} \right.$ (25)

 $\mathit{\boldsymbol{u}} = - {\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} - {\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{z}}_2} + \mathit{\boldsymbol{N\hat \theta }} - {\rm{Tanh}}\left( {{\mathit{\boldsymbol{z}}_2}} \right)\mathit{\boldsymbol{\hat \rho }},$ (26)

 $\left\{ \begin{array}{l} \mathit{\boldsymbol{\dot {\hat \theta} }} = {\rm{Pro}}{{\rm{j}}_{\hat \theta }}\left( { - {\mathit{\boldsymbol{K}}_\theta }{\mathit{\boldsymbol{N}}^{\rm{T}}}{\mathit{\boldsymbol{z}}_2}} \right),\\ \dot {\hat \rho} = {\mathit{\boldsymbol{K}}_\rho }\left( {{\rm{Tanh}}\left( {{\mathit{\boldsymbol{z}}_2}} \right){\mathit{\boldsymbol{z}}_2} - {k_\rho }\mathit{\boldsymbol{\hat \rho }}} \right), \end{array} \right.$ (27)

 ${\mathit{\boldsymbol{V}}_2} = {\mathit{\boldsymbol{V}}_1} + \frac{1}{2}\mathit{\boldsymbol{z}}_2^{\rm{T}}\mathit{\boldsymbol{M}}{\mathit{\boldsymbol{z}}_2} + \frac{1}{2}{{\mathit{\boldsymbol{\tilde \theta }}}^{\rm{T}}}\mathit{\boldsymbol{K}}_\theta ^{ - 1}\mathit{\boldsymbol{\tilde \theta }} + \frac{1}{2}{{\mathit{\boldsymbol{\tilde \rho }}}^{\rm{T}}}\mathit{\boldsymbol{K}}_\rho ^{ - 1}\mathit{\boldsymbol{\tilde \rho }}.$ (28)

 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot V}}}_2} \le \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{z}}_2} - \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} - \mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{C}}_2}{\mathit{\boldsymbol{z}}_2} + }\\ {\sum\limits_{i = 1}^6 {\left| {{\mathit{\boldsymbol{z}}_{2i}}} \right|{\mathit{\boldsymbol{\rho }}_i}} + \mathit{\boldsymbol{z}}_2^{\rm{T}}\mathit{\boldsymbol{u}} - \mathit{\boldsymbol{z}}_2^{\rm{T}}\mathit{\boldsymbol{N\theta }} + {{\mathit{\boldsymbol{\tilde \theta }}}^{\rm{T}}}\mathit{\boldsymbol{K}}_\theta ^{ - 1}\mathit{\boldsymbol{\dot {\hat \theta} }} + {{\mathit{\boldsymbol{\tilde \rho }}}^{\rm{T}}}\mathit{\boldsymbol{K}}_\rho ^{ - 1}\mathit{\boldsymbol{\dot {\hat \rho} }}.} \end{array}$ (29)

 $\sum\limits_{i = 1}^6 {\left| {{\mathit{\boldsymbol{z}}_{2i}}} \right|{\rho _i}} \le \frac{{{{\left\| \varphi \right\|}^2}}}{2} + \frac{{{{\left\| \rho \right\|}^2}}}{2} + \mathit{\boldsymbol{z}}_2^{\rm{T}}{\rm{Tanh}}\left( {{z_2}} \right)\rho .$ (30)

 $\begin{array}{*{20}{c}} {{\rm{Tanh}}\left( {{\mathit{\boldsymbol{z}}_2}} \right) = {\rm{diag}}\left( {\tanh \left( {{\mathit{\boldsymbol{z}}_{2j}}/{\mathit{\boldsymbol{\varepsilon }}_{2j}}} \right)} \right),}\\ {\mathit{\boldsymbol{\varphi }} = {{\left[ {\delta {\mathit{\boldsymbol{\varepsilon }}_{21}},\delta {\mathit{\boldsymbol{\varepsilon }}_{22}}, \cdots ,\delta {\mathit{\boldsymbol{\varepsilon }}_{26}}} \right]}^{\rm{T}}},}\\ {\mathit{\boldsymbol{\rho }} = {{\left[ {{\mathit{\boldsymbol{\rho }}_1},{\mathit{\boldsymbol{\rho }}_2}, \cdots ,{\mathit{\boldsymbol{\rho }}_6}} \right]}^{\rm{T}}}.} \end{array}$ (31)

 $\left\{ \begin{array}{l} {{\mathit{\boldsymbol{\tilde \theta }}}^{\rm{T}}}\mathit{\boldsymbol{K}}_\theta ^{ - 1}{\rm{Pro}}{{\rm{j}}_{\hat \theta }}\left( { - {\mathit{\boldsymbol{K}}_\theta }{\mathit{\boldsymbol{N}}^{\rm{T}}}{\mathit{\boldsymbol{z}}_2}} \right) + \mathit{\boldsymbol{z}}_2^{\rm{T}}\mathit{\boldsymbol{N\tilde \theta }} \le 0,\\ - {{\mathit{\boldsymbol{\tilde \rho }}}^{\rm{T}}}\mathit{\boldsymbol{\hat \rho }} \le - \left( {{{\left\| {\tilde \rho } \right\|}^2}/2} \right) + \left( {{{\left\| \rho \right\|}^2}/2} \right). \end{array} \right.$ (32)

 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot V}}}_2} = - \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} - \mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{z}}_2} - \left( {{k_\rho }/2} \right){{\left\| {\tilde \rho } \right\|}^2} + }\\ {\frac{1}{2}\left( {{k_\rho } + 1} \right){{\left\| \rho \right\|}^2} + \left( {{{\left\| \varphi \right\|}^2}/2} \right).} \end{array}$ (33)

2.2 考虑输入饱和的鲁棒自适应控制律

 $\left\{ \begin{array}{l} {{\mathit{\boldsymbol{\dot z}}}_1} = {\mathit{\boldsymbol{C}}_1}{\mathit{\boldsymbol{z}}_1} + \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{z}}_2} - \mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1},\\ \mathit{\boldsymbol{M}}{{\mathit{\boldsymbol{\dot z}}}_2} = - {\mathit{\boldsymbol{C}}_2}{\mathit{\boldsymbol{z}}_2} + \mathit{\boldsymbol{d}} + {\mathit{\boldsymbol{u}}_c} + \Delta u - \mathit{\boldsymbol{N\theta }}. \end{array} \right.$ (34)

 ${{\mathit{\boldsymbol{\dot e}}}_u} = \left\{ \begin{array}{l} - {\mathit{\boldsymbol{K}}_3}{\mathit{\boldsymbol{e}}_u} - \frac{{f\left( {\Delta \mathit{\boldsymbol{u}},{\mathit{\boldsymbol{z}}_2}} \right){\mathit{\boldsymbol{e}}_u}}}{{{{\left\| {{\mathit{\boldsymbol{e}}_u}} \right\|}^2}}} - \Delta \mathit{\boldsymbol{u}},\;\;\;\;\;\;\;\left\| {{\mathit{\boldsymbol{e}}_u}} \right\| \ge {\sigma _1},\\ {\bf{0}},\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left\| {{\mathit{\boldsymbol{e}}_u}} \right\| < {\sigma _1}. \end{array} \right.$ (35)

 $\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{u}}_c} = - {\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} - {\mathit{\boldsymbol{K}}_2}\left( {{\mathit{\boldsymbol{z}}_2} - {\mathit{\boldsymbol{e}}_u}} \right) + \mathit{\boldsymbol{N\hat \theta }} - }\\ {{\rm{Tanh}}\left( {{\mathit{\boldsymbol{z}}_2}} \right)\mathit{\boldsymbol{\hat \rho }} - \frac{{{\mathit{\boldsymbol{z}}_2}g\left( \mathit{\boldsymbol{z}} \right)}}{{{\zeta ^2} + {{\left\| {{\mathit{\boldsymbol{z}}_2}} \right\|}^2}}}.} \end{array}$ (36)

 $\mathit{\boldsymbol{\dot \zeta }} = \left\{ \begin{array}{l} - \frac{{g\left( {{\mathit{\boldsymbol{z}}_2}} \right)\mathit{\boldsymbol{\zeta }}}}{{{\mathit{\boldsymbol{\zeta }}^2} + {{\left\| {{\mathit{\boldsymbol{z}}_2}} \right\|}^2}}} - {k_4}\mathit{\boldsymbol{\zeta }},\;\;\;\;\;\left\| {{\mathit{\boldsymbol{z}}_2}} \right\| \ge {\sigma _2},\\ {\bf{0}},\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left\| {{\mathit{\boldsymbol{z}}_2}} \right\| < {\sigma _2}. \end{array} \right.$ (37)
 $g\left( {{\mathit{\boldsymbol{z}}_2}} \right) = 1/2\mathit{\boldsymbol{z}}_2^{\rm{T}}\mathit{\boldsymbol{K}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{z}}_2} + {\left\| \varphi \right\|^2}/2.$ (38)

 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot V}}}_2} \le \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{z}}_2} - \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} - \mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{C}}_2}{\mathit{\boldsymbol{z}}_2} + }\\ {\sum\limits_{i = 1}^6 {\left| {{\mathit{\boldsymbol{z}}_{2i}}} \right|{\mathit{\boldsymbol{\rho }}_i}} + \mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{u}}_c} + \mathit{\boldsymbol{z}}_2^{\rm{T}}\Delta \mathit{\boldsymbol{u}} - \mathit{\boldsymbol{z}}_2^{\rm{T}}\mathit{\boldsymbol{N\theta }} + }\\ {{{\mathit{\boldsymbol{\tilde \theta }}}^{\rm{T}}}\mathit{\boldsymbol{K}}_\theta ^{ - 1}\mathit{\boldsymbol{\dot {\hat \theta} }} + {{\mathit{\boldsymbol{\tilde \rho }}}^{\rm{T}}}\mathit{\boldsymbol{K}}_\rho ^{ - 1}\mathit{\boldsymbol{\dot {\tilde \rho} }}.} \end{array}$ (39)

 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot V}}}_2} \le - \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} - \mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{z}}_2} - \left( {{k_\rho }/2} \right){{\left\| {\tilde \rho } \right\|}^2} + }\\ {\mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{e}}_u} - \frac{{g\left( \mathit{\boldsymbol{z}} \right){{\left\| {{\mathit{\boldsymbol{z}}_2}} \right\|}^2}}}{{{\mathit{\boldsymbol{\zeta }}^2} + {{\left\| {{\mathit{\boldsymbol{z}}_2}} \right\|}^2}}} + \mathit{\boldsymbol{z}}_2^{\rm{T}}\Delta \mathit{\boldsymbol{u}} + }\\ {1/2\left( {{k_\rho } + 1} \right){{\left\| \mathit{\boldsymbol{\rho }} \right\|}^2} + {{\left\| \varphi \right\|}^2}/2.} \end{array}$ (40)

 ${\mathit{\boldsymbol{V}}_3} = {\mathit{\boldsymbol{V}}_2} + 1/2\mathit{\boldsymbol{e}}_u^{\rm{T}}{\mathit{\boldsymbol{e}}_u} + 1/2{\mathit{\boldsymbol{\zeta }}^2}.$ (41)

 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot V}}}_3} = - \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} - \mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{z}}_2} - \mathit{\boldsymbol{e}}_u^{\rm{T}}{\mathit{\boldsymbol{K}}_3}{\mathit{\boldsymbol{e}}_u} - {k_4}{\zeta ^2} - }\\ {\left( {{k_\rho }/2} \right){{\left\| {\tilde \rho } \right\|}^2} + 1/2\left( {{k_\rho } + 1} \right){{\left\| \rho \right\|}^2} + }\\ {\left( {\mathit{\boldsymbol{z}}_2^{\rm{T}}\Delta \mathit{\boldsymbol{u}} - \left| {\mathit{\boldsymbol{z}}_2^{\rm{T}}\Delta \mathit{\boldsymbol{u}}} \right|} \right) - 1/2\mathit{\boldsymbol{z}}_2^{\rm{T}}\mathit{\boldsymbol{K}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{z}}_2} + }\\ {\left( {\mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{e}}_u} - \mathit{\boldsymbol{e}}_u^{\rm{T}}\Delta \mathit{\boldsymbol{u}} - 1/2\Delta {\mathit{\boldsymbol{u}}^{\rm{T}}}\Delta \mathit{\boldsymbol{u}}} \right).} \end{array}$ (42)

 $\mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{e}}_u} - \mathit{\boldsymbol{e}}_u^{\rm{T}}\Delta \mathit{\boldsymbol{u}} - \frac{1}{2}\Delta {\mathit{\boldsymbol{u}}^{\rm{T}}}\Delta \mathit{\boldsymbol{u}} \le \frac{1}{2}\mathit{\boldsymbol{z}}_2^{\rm{T}}\mathit{\boldsymbol{K}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{z}}_2} + \mathit{\boldsymbol{e}}_u^{\rm{T}}{\mathit{\boldsymbol{e}}_u}.$ (43)

 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot V}}}_3} = - \mathit{\boldsymbol{z}}_1^{\rm{T}}\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}{\mathit{\boldsymbol{K}}_1}{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{\rm{T}}}{\mathit{\boldsymbol{z}}_1} - \mathit{\boldsymbol{z}}_2^{\rm{T}}{\mathit{\boldsymbol{K}}_2}{\mathit{\boldsymbol{z}}_2} - }\\ {\mathit{\boldsymbol{e}}_u^{\rm{T}}\left( {{\mathit{\boldsymbol{K}}_3} - {\mathit{\boldsymbol{I}}_3}} \right){\mathit{\boldsymbol{e}}_u} - {k_4}{\zeta ^2} - \left( {{k_\rho }/2} \right){{\left\| {\tilde \rho } \right\|}^2} + }\\ {1/2\left( {{k_\rho } + 1} \right){{\left\| \rho \right\|}^2}.} \end{array}$ (44)

3 仿真验证与分析

 $\mathit{\boldsymbol{p}}\left( 0 \right) = {\left[ {35, - 50,35} \right]^{\rm{T}}}{\rm{m}},$
 $\mathit{\boldsymbol{v}}\left( 0 \right) = {\left[ {15, - 5,10} \right]^{\rm{T}}}{\rm{m}}/{\rm{s}};$
 $\mathit{\boldsymbol{\sigma }}\left( 0 \right) = {\left[ { - 0.3143,0.4825,0.3473} \right]^{\rm{T}}};$
 $\boldsymbol{\omega} (0) = {[0.01, - 0.02,0.01]^{\rm{T}}}\;{\rm{rad}}/{\rm{s}}.$

 图 1 相对轨道

 图 2 相对姿态

 图 3 相对速度

 图 4 相对角速度

 图 5 X轴控制力

 图 6 Y轴控制力

 图 7 Z轴控制力

4 结论

 [1] 吴云华, 曹喜滨, 张世杰, 等. 编队卫星相对轨道与姿态一体化耦合控制[J]. 南京航空航天大学学报, 2010, 42(1): 13–20. WU Y H, CAO X B, ZHANG S J, et al. Relative orbit and attitude integrated coupled control for formation satellite[J]. Journal of Nanjing University of Aeronautics & Astronautics, 2010, 42(1): 13–20. (in Chinese) [2] WANG J, SUN Z. 6-DOF robust adaptive terminal sliding mode control for spacecraft formation flying[J]. Acta Astronautica, 2012, 73(2): 76–87. [3] YU N, LIU S, YI X, et al. Nonlinear robust adaptive trajectory tracking control for spacecraft proximity operations[J]. Proceedings of the Institution of Mechanical Engineers, Part G:Journal of Aerospace Engineering, 2015, 179(2): 344–353. [4] HANUS R, KINNAERT M, HENROTTEJ L. Conditioning technique, a general anti-windup and bumpless transfer method[J]. Automatica, 1987, 23(6): 729–739. DOI:10.1016/0005-1098(87)90029-X [5] KOTHARE M V, CAMPO P J, MORARI M, et al. A unified framework for the study of anti-windup designs[J]. Automatica, 1994, 30(12): 1869–1883. DOI:10.1016/0005-1098(94)90048-5 [6] 吕建婷, 马广富, 高岱. 考虑控制饱和的卫星姿态控制器设计[J]. 宇航学报, 2008, 29(4): 33–36. LV J T, MA G F, GAO D. Output feedback controller design for satellite attitude regulation subject to control saturation[J]. Journal of Astronautics, 2008, 29(4): 33–36. (in Chinese) [7] 吕跃勇, 胡庆雷, 马广富, 等. 带有控制受限的卫星编队飞行六自由度自适应协同控制[J]. 控制理论与应用, 2011, 28(3): 321–328. LV Y Y, HU Q L, MA G F, et al. Adaptive synchronized control with 6 degrees of freedom and bounded input for satellite formation flight[J]. Control Theory & Applications, 2011, 28(3): 321–328. (in Chinese) [8] 张保群, 宋申民, 陈兴林. 考虑控制饱和的编队飞行卫星姿态协同控制[J]. 宇航学报, 2011, 32(5): 1060–1069. ZHANG B Q, SONG S M, CHEN X L. Attitude coordination control of formation flying satellites under control saturation[J]. Journal of Astronautics, 2011, 32(5): 1060–1069. (in Chinese) [9] DIXON W E, QUEIROZ M S D, ZHANG F, et al. Tracking control of robot manipulators with bounded torque inputs[J]. Robotica, 1998, 17(2): 2013–2014. [10] POLYCARPOU M M, IOANNOU P A. A robust adaptive nonlinear control design[J]. Automatica, 1993, 32(3): 423–427. [11] CHEN M, GE S S, REN B. Adaptive tracking control of uncertain MIMO nonlinear systems with input constraints[J]. Automatica, 2011, 47(3): 452–465. DOI:10.1016/j.automatica.2011.01.025