Skip to main content
Log in

Spacecraft formation flying in the port-Hamiltonian framework

  • Original paper
  • Published:
Nonlinear Dynamics Aims and scope Submit manuscript

Abstract

The problem of controlling the relative position and velocity in multi-spacecraft formation flying in the planetary orbits is an enabling technology for current and future research. This paper proposes a family of tracking controllers for different dynamics of Spacecraft Formation Flying (SFF) in the framework of port-Hamiltonian (pH) systems through application of timed Interconnection and Damping Assignment Passivity-Based Control (IDA-PBC). The leader–multi-follower architecture is used to address this problem. In this regard, first we model the spacecraft motion in the pH framework in the Earth Centered Inertial frame and then transform it to the Hill frame which is a special local coordinate system. By this technique, we may present a unified structure which encompasses linear/nonlinear dynamics, with/without perturbation. Then, using the timed IDA-PBC method and the contraction analysis, a new method for controlling a family of SFF dynamics is developed. The numerical simulations show the efficiency of the approach in two different cases of missions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Notes

  1. Due to positive semi-definiteness of R(x), simple calculations show that the relation \({{\dot{H}}} \le y^\mathrm{T}u\) is satisfied. Therefore, port-Hamiltonian systems have cyclo-passivity property. Furthermore, if Hamiltonian function is positive semi-definite, then, by considering of H as storage function, it is result that the system is passive. In this paper, we assume, that H is bounded from below. In this case, via some possibly algebraic modification, Hamiltonian function can be considered in the cast of storage function, and consequently, the port-Hamiltonian system considered here is passive.

  2. As more than one follower spacecraft is considered in our models, j denotes the number of the follower spacecraft \(s_j\), for N follower spacecraft \(s_j\), we have \(j=1,\ldots ,N\).

  3. The eccentricity (e) is one of the orbital parameters which measures the amount of the deviation from a circular orbit shape. The eccentricity of zero shows a circular orbit and values between 0 and 1 demonstrate an elliptical orbit.

  4. Where \(\nu \) and w denote the orbital parameters called true anomaly and argument of perigee, respectively.

  5. The parameters of this potential energy are introduced in Sect. 3

References

  1. Alfriend, K., Gurfil, P.: Spacecraft Formation Flying: Dynamics, Control and Navigation, ser. Astrodynamics Series. Elsevier, Amsterdam (2010)

    Google Scholar 

  2. Aoues, S., Cardoso-Ribeiro, F.L., Matignon, D., Alazard, D.: Modeling and control of a rotating flexible spacecraft: a port-hamiltonian approach. IEEE Trans. Control Syst. Technol. 27, 355–362 (2017)

    Article  Google Scholar 

  3. Chung, S.-J., Ahsun, U., Slotine, J.-J.E.: Application of synchronization to formation flying spacecraft: Lagrangian approach. J. Guid. Control Dyn. 32, 512–526 (2009)

    Article  Google Scholar 

  4. Curtis, H.: Orbital Mechanics: For Engineering Students, ser. Aerospace Engineering. Elsevier, Amsterdam (2015)

    Google Scholar 

  5. De Queiroz, M.S., Kapila, V., Yan, Q.: Adaptive nonlinear control of multiple spacecraft formation flying. J. Guid. Control Dyn. 23(3), 385–390 (2000)

    Article  Google Scholar 

  6. Donaire, A., Perez, T.: Dynamic positioning of marine craft using a port-Hamiltonian framework. Automatica 48(5), 851–856 (2012)

    Article  MathSciNet  Google Scholar 

  7. Donaire, A., Romero, J.G., Perez, T.: Trajectory tracking passivity-based control for marine vehicles subject to disturbances. J. Frankl. Inst. 354(5), 2167–2182 (2017)

    Article  MathSciNet  Google Scholar 

  8. Duindam, V., Macchelli, A., Stramigioli, S., Bruyninckx, H.: Modeling and Control of Complex Physical Systems: The Port-Hamiltonian Approach. Springer, Berlin (2009)

    Book  Google Scholar 

  9. Eyer, J.K.: A dynamics and control algorithm for low earth orbit precision formation flying satellites. Ph.D. dissertation, University of Toronto (2009)

  10. Gui, H., Vukovich, G.: Dual-quaternion-based adaptive motion tracking of spacecraft with reduced control effort. Nonlinear Dyn. 83(1–2), 597–614 (2016)

    Article  MathSciNet  Google Scholar 

  11. Hui, L., Li, J.: Terminal sliding mode control for spacecraft formation flying. IEEE Trans. Aerosp. Electron. Syst. 45(3), 835–846 (2009)

    Article  Google Scholar 

  12. Jian, M.: Formation flying of spacecrafts for monitoring and inspection. Master’s thesis, Lulea University of Technology (2009)

  13. Lanczos, C.: The Variational Principles of Mechanics, ser. Dover Books on Physics. Dover Publications, New York (1986)

    Google Scholar 

  14. Lee, T., Leok, M., McClamroch, N.H.: Global Formulations of Lagrangian and Hamiltonian Dynamics on Manifolds. Springer, Berlin (2017)

    MATH  Google Scholar 

  15. Liu, G.-P., Zhang, S.: A survey on formation control of small satellites. Proc. IEEE 106(3), 440–457 (2018)

    Article  Google Scholar 

  16. Mitchell, J.W., Richardson, D.L.: Invariant manifold tracking for first-order nonlinear hill’s equations. J. Guid. Control Dyn. 26(4), 622–627 (2003)

    Article  Google Scholar 

  17. Ortega, R., Garca-Canseco, E.: Interconnection and damping assignment passivity-based control: a survey. Eur. J. Control 10(5), 432–450 (2004)

    Article  MathSciNet  Google Scholar 

  18. Ortega, R., van der Schaft, A., Maschke, B.: Interconnection and damping assignment passivity-based control of port-controlled hamiltonian systems. Automatica 38(4), 585–596 (2002)

    Article  MathSciNet  Google Scholar 

  19. Reyes-Báez, R., van der Schaft, A., Jayawardhana, B., Donaire, A., Pérez, T.: Tracking control of marine craft in the port-hamiltonian framework: a virtual differential passivity approach. In: 2019 18th European Control Conference (ECC), pp. 1636–1641. IEEE, 2019

  20. Schweighart, S.A., Sedwick, R.J.: High-fidelity linearized J model for satellite formation flight. J. Guid. Control Dyn. 25(6), 1073–1080 (2002)

    Article  Google Scholar 

  21. Sherrill, R.: Dynamics and control of satellite relative motion in elliptic orbits using Lyapunov-Floquet theory. Ph.D. dissertation (2013)

  22. Vaddi, S.S., Vadali, S.R., Alfriend, K.T.: Formation flying: accommodating nonlinearity and eccentricity perturbations. J. Guid. Control Dyn. 26(2), 214–223 (2003)

    Article  Google Scholar 

  23. van der Schaft, A., Jeltsema, D., et al.: Port-hamiltonian systems theory: an introductory overview. Found. Trends® Syst. Control 1(2–3), 173–378 (2014)

    Article  Google Scholar 

  24. Vos, E., Scherpen, J.M., van der Schaft, A.J.: Equal distribution of satellite constellations on circular target orbits. Automatica 50(10), 2641–2647 (2014)

    Article  MathSciNet  Google Scholar 

  25. Wang, D., Wu, B., Poh, E.K.: Satellite Formation Flying: Relative Dynamics, Formation Design, Fuel Optimal Maneuvers and Formation Maintenance, vol. 87. Springer, Berlin (2016)

    Google Scholar 

  26. Xia, K., Huo, W.: Robust adaptive backstepping neural networks control for spacecraft rendezvous and docking with uncertainties. Nonlinear Dyn. 84(3), 1683–1695 (2016)

    Article  MathSciNet  Google Scholar 

  27. Yaghmaei, A., Yazdanpanah, M.J.: Trajectory tracking for a class of contractive port hamiltonian systems. Automatica 83, 331–336 (2017)

    Article  MathSciNet  Google Scholar 

  28. Zhao, L., Jia, Y.: Decentralized adaptive attitude synchronization control for spacecraft formation using nonsingular fast terminal sliding mode. Nonlinear Dyn. 78(4), 2779–2794 (2014)

    Article  Google Scholar 

Download references

Acknowledgements

The authors would like to thank members of ACSL (Advanced Control Systems Laboratory) of University of Tehran, Mohammad Javanmardi and Maziar Sharbafi for the fruitful discussion on the subject.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad Javad Yazdanpanah.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest concerning the publication of this manuscript.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A

Consider that the position vector of the point mass—follower spacecraft \(s_j\)—is described with the vector \(Q_j\in {\mathbb {R}}^3\) in the ECI frame. The kinetic energy of the point mass unit is given by

$$\begin{aligned} {\mathcal {T}}_j\left( {Q_j,\dot{Q}_j} \right) = \frac{1}{2}{\left\| {\dot{Q}_j} \right\| ^2}. \end{aligned}$$
(50)

The potential energyFootnote 5 of this particle which is including the effect of \(J_2\) as presented below [1]:

$$\begin{aligned} {\mathcal {U}}_j(Q_j)=- \frac{\mu }{R_j}\left[ {1 - \frac{{{J_2}}}{2}\frac{{R_e^2}}{{{R_j^2}}}\left( {3\frac{{{Z_j^2}}}{{{R_j^2}}} - 1} \right) } \right] . \end{aligned}$$
(51)

So, the Lagrangian function is

$$\begin{aligned} {{{{\mathcal {L}}}}_j(Q_j,\dot{Q}_j)} = {\mathcal {T}}_j - {\mathcal {U}}_j = \frac{1}{2}{\left\| {\dot{Q}_j} \right\| ^2} - {\mathcal {U}}_j\left( Q_j \right) .\nonumber \\ \end{aligned}$$
(52)

and the forced Euler-Lagrange equation for the point mass dynamics is given by

$$\begin{aligned}&\frac{{\mathrm{d}}}{{{\mathrm{d}}t}}\left( {\frac{{\partial {{{{\mathcal {L}}}}_j}}}{{\partial \dot{Q}_j}}} \right) - \frac{{\partial {{{{\mathcal {L}}}}_j}}}{{\partial Q_j}} \nonumber \\&\quad = {u_j} \Rightarrow {\ddot{Q}}_j = -{\nabla _{Q_j}}{\mathcal {U}}_j\left( Q_j \right) + {u_j}, \end{aligned}$$
(53)

where \(u_j\) is the control signal for the follower spacecraft \(s_j\). These dynamics can be expressed in the Hamiltonian framework. To this aim, we define \(P_j\triangleq \dot{Q_j}\). The Hamiltonian function—the sum of the kinetic and potential energy—is defined

$$\begin{aligned} {\mathcal {H}}_j(Q_j,\dot{Q}_j) = {\mathcal {T}}_j + {\mathcal {U}}_j = \frac{1}{{2}}{P_j^T}P_j + {\mathcal {U}}_j\left( Q_j \right) . \end{aligned}$$

Accordingly, the Hamiltonian structure of this system in the ECI frame is as follows:

$$\begin{aligned} \begin{aligned} \left[ { \begin{array}{*{20}{c}} {\dot{Q}_j}\\ {\dot{P}_j} \end{array}} \right]&= \left[ { \begin{array}{*{20}{c}} {P_j}\\ { - {\nabla _{Q_j}}{\mathcal {U}}_j\left( Q_j \right) } \end{array}} \right] + gu_j \\&= \left[ { \begin{array}{*{20}{c}} 0&{}\quad {{I_3}}\\ { - {I_3}}&{}\quad 0 \end{array}} \right] \left[ { \begin{array}{*{20}{c}} {{\nabla _{Q_j}}{{ {\mathcal {H}}}_j} }\\ {{\nabla _{P_j}}{{{\mathcal {H}}}_j} } \end{array}} \right] + gu_j, \end{aligned} \end{aligned}$$

where \( \small g=\left[ { \begin{array}{*{20}{c}}0\\ {{I_3}} \end{array}} \right] \). For more information refer to [14, Chapter 3].

Appendix B

The position vector of the point mass in the ECI frame is related to the position vector of it in the LVLH frame by

$$\begin{aligned} Q_j=T{\bar{q}}_j. \end{aligned}$$
(54)

According to the (14), the velocity vector of the point mass in the ECI frame is defined as below:

$$\begin{aligned} \dot{Q}_j = T\,\dot{{\bar{q}}}_j + \dot{T}\,{\bar{q}}_j = T(\dot{{\bar{q}}}_j + S(\omega ){\bar{q}}_j). \end{aligned}$$
(55)

So, the kinetic energy (50) can be defined in the LVLH frame by

$$\begin{aligned} {\mathcal {T}}_j({\bar{q}}_j,\dot{{\bar{q}}}_j) = \frac{1}{2}{\left\| {\dot{Q}_j} \right\| ^2} = \frac{1}{2}{\left\| {\dot{{\bar{q}}}_j + S(\omega ){\bar{q}}_j} \right\| ^2}. \end{aligned}$$
(56)

Also, the potential energy of the spacecraft without \(J_2 \) perturbation is obtained from (51) by considering \(J_2=0\) and is defined in the LVLH frame as follows:

$$\begin{aligned} {{{\mathcal {E}}}_j}(T{\bar{q}}_j)=- \frac{\mu }{r_j}, \end{aligned}$$
(57)

where \( r_j = {\left\| {{{\bar{q}}_j}} \right\| _2}\). Thus, the Lagrangian function is (52) redefined as

$$\begin{aligned} {{{{\mathcal {L}}}}_j({\bar{q}}_j,\dot{{\bar{q}}}_j)}= & {} {\mathcal {T}}_j -{\mathcal {E}}_j \nonumber \\= & {} \frac{1}{2}{\left\| {\dot{{\bar{q}}}_j + S(\omega ){\bar{q}}_j} \right\| ^2} - {\mathcal {E}}_j\left( {T{\bar{q}}_j} \right) . \end{aligned}$$
(58)

Dynamics equations of the spacecraft motion in the LVLH frame can be expressed by forced Euler-Lagrange equation in the form of below:

$$\begin{aligned} \begin{aligned}&\frac{{\mathrm{d}}}{{{\mathrm{d}}t}}\left( {\frac{{\partial {{{{\mathcal {L}}}}_j} }}{{\partial \dot{ {\bar{q}}}_j }}} \right) - \frac{{\partial {{{{\mathcal {L}}}}_j} }}{{\partial {\bar{q}}_j}} = {u_j}\\&\quad \Rightarrow \ddot{ {\bar{q}}}_j + 2S(\omega )\dot{ {\bar{q}}}_j + S(\omega )S(\omega ){\bar{q}}_j\\&\quad + S({{\dot{\omega }}} ){\bar{q}}_j = -{\nabla _{{\bar{q}}_j}}{\mathcal {E}}_j\left( {T{\bar{q}}_j} \right) {+u_j}.\ \end{aligned} \end{aligned}$$
(59)

By defining \({\bar{p}}_j\triangleq \dot{{\bar{q}}}_j\) and applying (59), the pH structure can be obtained as follows:

$$\begin{aligned} \begin{aligned} \left[ { \begin{array}{*{10}{c}} {\dot{{\bar{q}}}_j}\\ {\dot{{\bar{p}}}_j} \end{array}} \right]&=\left[ { \begin{array}{*{10}{c}} {{{{{\bar{p}}}}_j}}\\ { - 2S(\omega ){{\dot{{{\bar{q}}}}}}_j - S(\omega )S(\omega ){{{{\bar{q}}}}_j} - S({{\dot{\omega }}} ){{{{\bar{q}}}}}_j - {\nabla _{{{{{\bar{q}}}}_j}}}{\mathcal {E}}_j\left( {T\,{{{{\bar{q}}}}_j}} \right) } \end{array}} \right] \\&\quad +{gu_j}= \left[ { \begin{array}{*{10}{c}} 0&{}{{I_3}}\\ { - {I_3}}&{}{-2S(\omega )-{\bar{R}}_j} \end{array}} \right] \left[ { \begin{array}{*{10}{c}} {{\nabla _{{{{{\bar{q}}}}_j}}}{{{H}_j} }}\\ {{\nabla _{{{{{\bar{p}}}}_j}}}{{H}_j} } \end{array}} \right] + {gu_j}. \end{aligned} \end{aligned}$$

where \( \small g=\left[ { \begin{array}{*{20}{c}}0\\ {{I_3}} \end{array}} \right] \). The Hamiltonian function and \({\bar{R}}_j\) are defined in (18), (19), receptively. For more information refer to [14, Chapter 3].

Appendix C

Similar to“Appendix B”, we can choose \({\bar{p}}_j\triangleq \dot{ {{\bar{q}}}}_j+S(\omega ){\bar{q}}_j\) and by considering Eq. (59) for the potential energy \({\mathcal {U}}_j(T{\bar{q}}_j)\), the Hamiltonian form of these dynamics is as follows:

$$\begin{aligned} \begin{aligned} \left[ { \begin{array}{*{20}{c}} {\dot{{\bar{q}}}_j}\\ {\dot{{\bar{p}}}_j} \end{array}} \right]&= \left[ { \begin{array}{*{20}{c}} {{\bar{p}}_j - S(\omega ){\bar{q}}_j}\\ {{S^T}(\omega ){\bar{p}}_j - {\nabla _{{\bar{q}}_j}}{\mathcal {U}}_j\left( {T\,{\bar{q}}_j} \right) } \end{array}} \right] +gu_j \\&= \left[ { \begin{array}{*{20}{c}} 0&{}\quad {{I_3}}\\ { - {I_3}}&{}\quad 0 \end{array}} \right] \left[ { \begin{array}{*{20}{c}} {{\nabla _{{\bar{q}}_j}}{{H}_j} }\\ {{\nabla _{{\bar{p}}_j}}{{H}_j} } \end{array}} \right] +gu_j, \end{aligned} \end{aligned}$$

and the Hamiltonian function is

$$\begin{aligned} {{H}_j} = \frac{1}{2}{{\bar{p}}_j^\mathrm{T}}{\bar{p}}_j - {{\bar{p}}_j^\mathrm{T}}S(\omega ){\bar{q}}_j + {\mathcal {U}}_j(T\,{\bar{q}}_j) \end{aligned}$$

where the potential energy with \(J_2\) effects in the LVLH frame can be obtained from (51) as below:

$$\begin{aligned} {\mathcal {U}}_j(T{\bar{q}}_j)=- \frac{\mu }{r_j}\left[ {1 - \frac{{{J_2}}}{2}\frac{{R_e^2}}{{{r_j^2}}}\left( {3\frac{{\varphi _z{_j}^2}}{{{r_j^2}}} - 1} \right) } \right] .\ \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Javanmardi, N., Yaghmaei, A. & Yazdanpanah, M.J. Spacecraft formation flying in the port-Hamiltonian framework. Nonlinear Dyn 99, 2765–2783 (2020). https://doi.org/10.1007/s11071-019-05445-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11071-019-05445-0

Keywords

Navigation