Spacecraft formation flying in the port-Hamiltonian framework

  • 69 Accesses


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 to check access.

Access options

Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price includes VAT for USA

Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 199

This is the net price. Taxes to be calculated in checkout.

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


  1. 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. 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. 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. 4.

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

  5. 5.

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


  1. 1.

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

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

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

  4. 4.

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

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

  6. 6.

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

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

  8. 8.

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

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

  11. 11.

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

  12. 12.

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

  13. 13.

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

  14. 14.

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

  15. 15.

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

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

  17. 17.

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

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

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

  21. 21.

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

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

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

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

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

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

  27. 27.

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

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

Download references


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

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.


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}$$

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}$$

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}$$

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}$$

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}$$

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}$$

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}$$

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}$$

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}$$

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}$$

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

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 (2020).

Download citation


  • Spacecraft formation flying
  • Port-Hamiltonian systems
  • Trajectory tracking
  • Timed IDA-PBC technique