Skip to main content
Log in

Unconstrained Direct Optimization of Spacecraft Trajectories Using Many Embedded Lambert Problems

  • Published:
Journal of Optimization Theory and Applications Aims and scope Submit manuscript

Abstract

Direct optimization of many-revolution spacecraft trajectories is performed using an unconstrained formulation with many short-arc, embedded Lambert problems. Each Lambert problem shares its terminal positions with neighboring segments to implicitly enforce position continuity. Use of embedded boundary value problems (EBVPs) is not new to spacecraft trajectory optimization, including extensive use in primer vector theory, flyby tour design, and direct impulsive maneuver optimization. Several obstacles have prevented their use on problems with more than a few dozen segments, including computationally expensive solvers, lack of fast and accurate partial derivatives, unguaranteed convergence, and a non-smooth solution space. Here, these problems are overcome through the use of short-arc segments and a recently developed Lambert solver, complete with the necessary fast and accurate partial derivatives. These short arcs guarantee existence and uniqueness for the Lambert solutions when transfer angles are limited to less than a half revolution. Furthermore, the use of many short segments simultaneously approximates low-thrust and eliminates the need to specify impulsive maneuver quantity or location. For preliminary trajectory optimization, the EBVP technique is simple to implement, benefiting from an unconstrained formulation, the well-known Broyden–Fletcher–Goldfarb–Shanno line search direction, and Cartesian coordinates. Moreover, the technique is naturally parallelizable via the independence of each segment’s EBVP. This new, many-rev EBVP technique is scalable and reliable for trajectories with thousands of segments. Several minimum fuel and energy examples are demonstrated, including a problem with 6143 segments for 256 revolutions, found within 5.5 h on a single processor. Smaller problems with only hundreds of segments take minutes.

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.

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

Similar content being viewed by others

References

  1. Abdelkhalik, O., Mortari, D.: N-impulse orbit transfer using genetic algorithms. J. Spacecr. Rocket. 44(2), 456–460 (2007). https://doi.org/10.2514/1.24701

    Article  Google Scholar 

  2. Abdelkhalik, O., Taheri, E.: Approximate on-off low-thrust space trajectories using Fourier series. J. Spacecr. Rocket. 49(5), 962–965 (2012). https://doi.org/10.2514/1.A32307

    Article  Google Scholar 

  3. Arora, N., Russell, R.P.: A fast and robust multiple revolution lambert algorithm using a cosine transformation. In: AAS/AIAA Astrodynamics Specialist Conference, AAS 13-728. Springfield, VA (2013)

  4. Arora, N., Russell, R.P., Strange, N., Ottesen, D.: Partial derivatives of the solution to the lambert boundary value problem. J. Guid. Control Dyn. 38(9), 1563–1572 (2015). https://doi.org/10.2514/1.G001030

    Article  Google Scholar 

  5. Ascher, U.M., Mattheij, R.M., Russell, R.D.: Numerical solution of boundary value problems for ordinary differential equations. SIAM (1995). https://doi.org/10.1137/1.9781611971231

    Article  MATH  Google Scholar 

  6. Bacon, R.H.: Logarithmic spiral: an ideal trajectory for the interplanetary vehicle with engines of low sustained thrust. Am. J. Phys. 27(3), 164–165 (1959). https://doi.org/10.1119/1.1934788

    Article  MATH  Google Scholar 

  7. Balafoutis, C.A.: A survey of efficient computational methods for manipulator inverse dynamics. J. Intell. Rob. Syst. 9(1), 45–71 (1994). https://doi.org/10.1007/BF01258313

    Article  MATH  Google Scholar 

  8. Battin, R.H.: Lambert’s problem revisited. AIAA J. 15(5), 707–713 (1977). https://doi.org/10.2514/3.60680

    Article  MathSciNet  Google Scholar 

  9. Battin, R.H.: An Introduction to the Mathematics and Methods of Astrodynamics, revised edn. AIAA Education Series. American Institute of Aeronautics and Astronautics, Reston (1999). https://doi.org/10.2514/4.861543

  10. Betts, J.T.: Survey of numerical methods for trajectory optimization. J. Guid. Control Dyn. 21(2), 193–207 (1998). https://doi.org/10.2514/2.4231

    Article  MATH  Google Scholar 

  11. Betts, J.T., Huffman, W.P.: Trajectory optimization on a parallel processor. J. Guid. Control Dyn. 14(2), 431–439 (1991). https://doi.org/10.2514/3.20656

    Article  MATH  Google Scholar 

  12. Bokelmann, K.A., Russell, R.P.: Optimization of impulsive Europa capture trajectories using primer vector theory. J. Astronaut. Sci. (2019). https://doi.org/10.1007/s40295-018-00146-z

    Article  Google Scholar 

  13. Bonnard, B., Janin, G.: Geometric orbital transfer using averaging techniques. J. Dyn. Control Syst. 14(2), 145–167 (2008). https://doi.org/10.1007/s10883-008-9040-1

    Article  MathSciNet  MATH  Google Scholar 

  14. Boyarko, G., Romano, M., Yakimenko, O.: Time-optimal reorientation of a spacecraft using an inverse dynamics optimization method. J. Guid. Control Dyn. 34(4), 1197–1208 (2011). https://doi.org/10.2514/1.49449

    Article  Google Scholar 

  15. Broyden, C.G.: The convergence of a class of double-rank minimization algorithms 1. general considerations. IMA J. Appl. Math. 6(1), 76–90 (1970). https://doi.org/10.1093/imamat/6.1.76

    Article  MATH  Google Scholar 

  16. Buffington, B.: Trajectory design concept for the proposed europa clipper mission. In: AAS/AIAA Astrodynamics Specialist Conference, 2014-4105. San Diego, CA (2014). https://doi.org/10.2514/6.2014-4105

  17. Buffington, B., Strange, N., Smith, J.: Overview of the cassini extended mission trajectory. In: AAS/AIAA Astrodynamics Specialist Conference and Exhibit, AIAA 2008-6752. Honolulu, Hawaii (2008). https://doi.org/10.2514/6.2008-6752

  18. Byrd, R.H., Nocedal, J., Schnabel, R.B.: Representations of quasi-newton matrices and their use in limited memory methods. Math. Program. 63(1–3), 129–156 (1994). https://doi.org/10.1007/BF01582063

    Article  MathSciNet  MATH  Google Scholar 

  19. Conway, B.A.: A survey of methods available for the numerical optimization of continuous dynamic systems. J. Optim. Theory Appl. 152(2), 271–306 (2012). https://doi.org/10.1007/s10957-011-9918-z

    Article  MathSciNet  MATH  Google Scholar 

  20. Dagum, L., Menon, R.: Openmp: an industry standard API for shared-memory programming. Comput. Sci. Eng. IEEE 5(1), 46–55 (1998)

    Article  Google Scholar 

  21. D’Amario, L.A., Bright, L.E., Wolf, A.A.: Galileo trajectory design. Space Sci. Rev. 60(1–4), 23–78 (1992). https://doi.org/10.1007/BF00216849

    Article  Google Scholar 

  22. D’Amario, L.A., Byrnes, D.V., Sackett, L.L., Stanford, R.H.: Optimization of multiple flyby trajectories. Provincetown, MA (1979). https://ntrs.nasa.gov/search.jsp?R=19790063226. Accessed 1 May 2017

  23. D’Amario, L.A., Byrnes, D.V., Stanford, R.H.: A new method for optimizing multiple-flyby trajectories. J. Guid. Control Dyn. 4(5), 591–596 (1981). https://doi.org/10.2514/3.56115

    Article  Google Scholar 

  24. Di Lizia, P., Armellin, R., Lavagna, M.: Application of high order expansions of two-point boundary value problems to astrodynamics. Celest. Mech. Dyn. Astron. 102(4), 355–375 (2008). https://doi.org/10.1007/s10569-008-9170-5

    Article  MathSciNet  MATH  Google Scholar 

  25. Davis, K.E., Anderson, R.L., Scheeres, D.J., Born, G.H.: Optimal transfers between unstable periodic orbits using invariant manifolds. Celest. Mech. Dyn. Astron. 109(3), 241–264 (2011). https://doi.org/10.1007/s10569-010-9327-x

    Article  MathSciNet  MATH  Google Scholar 

  26. Fang, Q., Wang, X., Sun, C., Yuan, J.: A shape-based method for continuous low-thrust trajectory design between circular coplanar orbits. Int. J. Aerosp. Eng. (2017). https://doi.org/10.1155/2017/9234905

  27. Fletcher, R.: A new approach to variable metric algorithms. Comput. J. 13(3), 317–322 (1970). https://doi.org/10.1093/comjnl/13.3.317

    Article  MATH  Google Scholar 

  28. Fletcher, R., Reeves, C.M.: Function minimization by conjugate gradients. Comput. J. 7(2), 149–154 (1964). https://doi.org/10.1093/comjnl/7.2.149

    Article  MathSciNet  MATH  Google Scholar 

  29. Furfaro, R., Mortari, D.: Least-squares solution of a class of optimal space guidance problems via theory of connections. Acta Astronaut. 168, 92–103 (2020). https://doi.org/10.1016/j.actaastro.2019.05.050

    Article  Google Scholar 

  30. Gao, Y., Kluever, C.: Low-thrust interplanetary orbit transfers using hybrid trajectory optimization method with multiple shooting. In: AIAA/AAS Astrodynamics Specialist Conference and Exhibit, AIAA 2004-5088. Providence, RI (2004). https://doi.org/10.2514/6.2004-5088

  31. Gao, Y., Kluever, C.: Analytic orbital averaging technique for computing tangential-thrust trajectories. J. Guid. Control Dyn. 28(6), 1320–1323 (2005). https://doi.org/10.2514/1.14698

    Article  Google Scholar 

  32. Geffroy, S., Epenoy, R.: Optimal low-thrust transfers with constraints-generalization of averaging techniques. Acta Astronaut. 41(3), 133–149 (1997). https://doi.org/10.1016/S0094-5765(97)00208-7

    Article  Google Scholar 

  33. Gill, P.E., Murray, W., Saunders, M.A.: Snopt: an sqp algorithm for large-scale constrained optimization. SIAM 47(1), 99–132 (2005). https://doi.org/10.1137/S0036144504446096

    Article  MathSciNet  MATH  Google Scholar 

  34. Glandorf, D.R.: Lagrange multipliers and the state transition matrix for coasting arcs. AIAA J. 7(2), 363–365 (1969). https://doi.org/10.2514/3.5109

    Article  MATH  Google Scholar 

  35. Goldfarb, D.: A family of variable-metric methods derived by variational means. Math. Comput. 24(109), 23–26 (1970). https://doi.org/10.1090/S0025-5718-1970-0258249-6

    Article  MathSciNet  MATH  Google Scholar 

  36. Gooding, R.H.: A procedure for the solution of Lambert’s orbital boundary-value problem. Celest. Mech. Dyn. Astron. 48, 145–165 (1990). https://doi.org/10.1007/BF00049511

    Article  MATH  Google Scholar 

  37. Goodyear, W.H.: Completely general closed-form solution for coordinates and partial derivative of the two-body problem. Astron. J. 70, 189 (1965). https://doi.org/10.1086/109713

    Article  MathSciNet  Google Scholar 

  38. Graham, K.F., Rao, A.V.: Minimum-time trajectory optimization of multiple revolution low-thrust earth-orbit transfers. J. Spacecr. Rocket. 52(3), 711–727 (2015). https://doi.org/10.2514/1.A33187

    Article  Google Scholar 

  39. Graham, K.F., Rao, A.V.: Minimum-time trajectory optimization of low-thrust earth-orbit transfers with eclipsing. J. Spacecr. Rocket. 53(2), 289–303 (2016). https://doi.org/10.2514/1.A33416

    Article  Google Scholar 

  40. Haberkorn, T., Martinon, P., Gergaud, J.: Low-thrust minimum-fuel orbital transfer: a homotopic approach. J. Guid. Control Dyn. 27(6), 1046–1060 (2004). https://doi.org/10.2514/1.4022

    Article  Google Scholar 

  41. Hager, W.W., Zhang, H.: A new conjugate gradient method with guaranteed descent and an efficient line search. SIAM J. Optim. 16(1), 170–192 (2005). https://doi.org/10.1137/030601880

    Article  MathSciNet  MATH  Google Scholar 

  42. Hager, W.W., Zhang, H.: A survey of nonlinear conjugate gradient methods. Pac. J. Optim. 2(1), 35–58 (2006)

    MathSciNet  MATH  Google Scholar 

  43. Hatten, N., Russell, R.P.: Application of the stark problem to space trajectories with time-varying perturbations. In: AAS/AIAA Astrodynamics Specialist Conference. AAS 14–230, vol. 152, pp. 439–457. Santa Fe, NM (2014)

  44. Hiday-Johnston, L.A., Howell, K.C.: Transfers between libration-point orbits in the elliptic restricted problem. Celest. Mech. Dyn. Astron. 58(4), 317–337 (1994). https://doi.org/10.1007/BF00692008

    Article  MATH  Google Scholar 

  45. Izzo, D.: Lambert’s problem for exponential sinusoids. J. Guid. Control Dyn. 29(5), 1242–1245 (2006). https://doi.org/10.2514/1.21796

    Article  Google Scholar 

  46. Izzo, D.: Revisiting Lambert’s problem. Celest. Mech. Dyn. Astron. 121(1), 1–15 (2015). https://doi.org/10.1007/s10569-014-9587-y

    Article  MathSciNet  MATH  Google Scholar 

  47. Izzo, D., Becerra, V.M., Myatt, D.R., Nasuto, S.J., Bishop, J.M.: Search space pruning and global optimisation of multiple gravity assist spacecraft trajectories. J. Glob. Optim. 38(2), 283–296 (2007). https://doi.org/10.1007/s10898-006-9106-0

    Article  MathSciNet  MATH  Google Scholar 

  48. Jezewski, D.J.: Primer vector theory and applications. Tech. rep., Technical Report NASA TR R-454, Lyndon B Johnson Space Center, Houston, Texas, 77058 (1975). https://ntrs.nasa.gov/search.jsp?R=19760004112

  49. Jezewski, D.J.: Primer vector theory applied to the linear relative-motion equations. Optim. Control Appl. Methods 1(4), 387–401 (1980). https://doi.org/10.1002/oca.4660010408

    Article  MathSciNet  MATH  Google Scholar 

  50. Jezewski, D.J., Rozendaal, H.L.: An efficient method for calculating optimal free-space n-impulse trajectories. AIAA J. 6(11), 2160–2165 (1968). https://doi.org/10.2514/3.4949

    Article  MATH  Google Scholar 

  51. Jones, B.A., Anderson, R.L.: A survey of symplectic and collocation integration methods for orbit propagation. In: 22nd Annual AAS/AIAA Space Flight Mechanics Meeting, AAS 12-214. Charleston, SC (2012). https://ntrs.nasa.gov/search.jsp?R=20130000293

  52. Kéchichian, J.A.: Optimal low-thrust transfer in general circular orbit using analytic averaging of the system dynamics. J. Astronaut. Sci. 57(1–2), 369–392 (2009). https://doi.org/10.1007/BF03321509

    Article  Google Scholar 

  53. Kohlhase, C.E., Penzo, P.A.: Voyager mission description. Space Sci. Rev. 21(2), 77–101 (1977). https://doi.org/10.1007/BF00200846

    Article  Google Scholar 

  54. Landau, D.: Efficient maneuver placement for automated trajectory design. J. Guid. Control Dyn. 41(7), 1531–1541 (2018). https://doi.org/10.2514/1.G003172

    Article  Google Scholar 

  55. Lantoine, G., Russell, R.P.: A hybrid differential dynamic programming algorithm for constrained optimal control problems. Part 1: Theory. J. Optim. Theory Appl. 154(2), 382–417 (2012). https://doi.org/10.1007/s10957-012-0039-0

    Article  MathSciNet  MATH  Google Scholar 

  56. Lantoine, G., Russell, R.P.: A hybrid differential dynamic programming algorithm for constrained optimal control problems. Part 2: Application. J. Optim. Theory Appl. 154(2), 418–442 (2012). https://doi.org/10.1007/s10957-012-0038-1

    Article  MathSciNet  MATH  Google Scholar 

  57. Lawson, C.L., Hanson, R.J., Kincaid, D.R., Krogh, F.T.: Basic linear algebra subprograms for fortran usage. ACM Trans. Math. Softw. 5(3), 308–323 (1979). https://doi.org/10.1145/355841.355847

    Article  MATH  Google Scholar 

  58. Lion, P.M., Handelsman, M.: Primer vector on fixed-time impulsive trajectories. AIAA J. 6(1), 127–132 (1968). https://doi.org/10.2514/3.4452

    Article  MATH  Google Scholar 

  59. Lu, P.: Inverse dynamics approach to trajectory optimization for an aerospace plane. J. Guid. Control Dyn. 16(4), 726–732 (1993). https://doi.org/10.2514/3.21073

    Article  Google Scholar 

  60. Lynam, A.E.: Broad-search algorithms for the spacecraft trajectory design of Callisto–Ganymede–Io triple flyby sequences from 2024 to 2040, part i: Heuristic pruning of the search space. Acta Astronaut. 94(1), 246–252 (2014). https://doi.org/10.1016/j.actaastro.2013.07.018

    Article  Google Scholar 

  61. Lynam, A.E.: Broad-search algorithms for the spacecraft trajectory design of Callisto–Ganymede–Io triple flyby sequences from 2024 to 2040, part ii: Lambert pathfinding and trajectory solutions. Acta Astronaut. 94(1), 253–261 (2014). https://doi.org/10.1016/j.actaastro.2013.07.020

    Article  Google Scholar 

  62. Marchand, B.G., Howell, K.C., Wilson, R.S.: Improved corrections process for constrained trajectory design in the n-body problem. J. Spacecr. Rocket. 44(4), 884–897 (2007). https://doi.org/10.2514/1.27205

    Article  Google Scholar 

  63. Marec, J.P.: Optimal Space Trajectories, vol. 1. Elsevier, New York (1979)

    Book  Google Scholar 

  64. McAdams, J.V., Dunham, D.W., Farquhar, R.W., Taylor, A.H., Williams, B.G.: Trajectory design and maneuver strategy for the messenger mission to mercury. J. Spacecr. Rocket. 43(5), 1054–1064 (2006). https://doi.org/10.2514/1.18178

    Article  Google Scholar 

  65. Mortari, D.: The theory of connections: connecting points. Mathematics 5(4), 57 (2017). https://doi.org/10.3390/math5040057

    Article  MathSciNet  MATH  Google Scholar 

  66. NASA Planetary Data System: Cassini–Huygens Mission Information. Accessed Mar. 3, 2021. https://pds.nasa.gov/ds-view/pds/viewMissionProfile.jsp?MISSION_NAME=CASSINI-HUYGENS

  67. Novak, D.M., Vasile, M.: Improved shaping approach to the preliminary design of low-thrust trajectories. J. Guid. Control Dyn. 34(1), 128–147 (2011). https://doi.org/10.2514/1.50434

    Article  Google Scholar 

  68. Ottesen, D., Russell, R.P.: Space trajectory optimization using embedded boundary value problems. In: AAS/AIAA Astrodynamics Specialist Conference. AAS 17–837, vol. 162, pp. 2271–2290. Stevenson, WA (2017)

  69. Ottesen, D., Russell, R.P.: A piecewise-constant sundman transformation for spacecraft trajectory optimization. In: AAS/AIAA Astrodynamics Specialist Conference. AAS 18–467, vol. 167, pp. 1755–1774. Snowbird, WA (2018)

  70. Pascale, P.D., Vasile, M.: Preliminary design of low-thrust multiple gravity-assist trajectories. J. Spacecr. Rocket. 43(5), 1065–1076 (2006). https://doi.org/10.2514/1.19646

    Article  Google Scholar 

  71. Pellegrini, E., Russell, R.P.: On the computation and accuracy of trajectory state transition matrices. J. Guid. Control Dyn. 39(11), 2485–2499 (2016). https://doi.org/10.2514/1.G001920

    Article  Google Scholar 

  72. Pellegrini, E., Russell, R.P.: Multiple-shooting differential dynamic programming with applications to spacecraft trajectory optimization. Ph.D. thesis (2017)

  73. Peralta, F., Flanagan, S.: Cassini interplanetary trajectory design. Control. Eng. Pract. 3(11), 1603–1610 (1995). https://doi.org/10.1016/0967-0661(95)00171-P

    Article  Google Scholar 

  74. Petropoulos, A., Longuski, J.M.: Automated design of low-thrust gravity-assist trajectories. In: AIAA, p. 4033 (2000). https://doi.org/10.2514/6.2000-4033

  75. Petropoulos, A.E., Longuski, J.M.: Shape-based algorithm for the automated design of low-thrust, gravity assist trajectories. J. Spacecr. Rocket. 41(5), 787–796 (2004). https://doi.org/10.2514/1.13095

    Article  Google Scholar 

  76. Petropoulos, A.E., Sims, J.A.: A review of some exact solutions to the planar equations of motion of a thrusting spacecraft. In: 2nd International Symposium Low Thrust Trajectories. Toulouse, France (2002)

  77. Pitkin, E.T.: Second transition partial derivatives via universal variables. J. Astronaut. Sci. 13, 204–207 (1966)

    Google Scholar 

  78. Polak, E., Ribiere, G.: Note on convergence of conjugate direction meters. ESAIM Math. Model. Numer. Anal. Math. Math. Numer. Anal. 3(R1), 35–43 (1969)

    MATH  Google Scholar 

  79. Rao, A.V.: A survey of numerical methods for optimal control. In: AAS/AIAA Astrodynamics Specialist Conference, AAS 09–334. Pittsburgh, PA (2009)

  80. Roa, J., Peláez, J., Senent, J.: Spiral Lambert’s problem. J. Guid. Control. Dyn. 39(10), 2250–2263 (2016). https://doi.org/10.2514/1.G000342

    Article  Google Scholar 

  81. Russell, R.P.: On the solution to every Lambert problem. Celest. Mech. Dyn. Astron. 131, 50 (2019). https://doi.org/10.1007/s10569-019-9927-z

    Article  MathSciNet  MATH  Google Scholar 

  82. Russell, R.P., Ocampo, C.A.: Optimization of a broad class of ephemeris model earth–mars cyclers. J. Guid. Control. Dyn. 29(2), 354–367 (2006). https://doi.org/10.2514/1.13652

    Article  Google Scholar 

  83. Scheel, W.A., Conway, B.A.: Optimization of very-low-thrust, many-revolution spacecraft trajectories. J. Guid. Control. Dyn. 17(6), 1185–1192 (1994). https://doi.org/10.2514/3.21331

    Article  Google Scholar 

  84. Shanno, D.F.: Conditioning of quasi-newton methods for function minimization. Math. Comput. 24(111), 647–656 (1970). https://doi.org/10.1090/S0025-5718-1970-0274029-X

    Article  MathSciNet  MATH  Google Scholar 

  85. Shannon, J.L., Ozimek, M.T., Atchison, J.A., Hartzell, C.M.: Q-law aided direct trajectory optimization of many-revolution low-thrust transfers. J. Spacecr. Rocket. (2020). https://doi.org/10.2514/1.A34586

  86. Shepperd, S.W.: Universal Keplerian state transition matrix. Celest. Mech. 35(2), 129–144 (1985). https://doi.org/10.1007/BF01227666

    Article  MATH  Google Scholar 

  87. Shirazi, A., Ceberio, J., Lozano, J.A.: Spacecraft trajectory optimization: a review of models, objectives, approaches, and solutions. Prog. Aerosp. Sci. 102, 76–98 (2018). https://doi.org/10.1016/j.paerosci.2018.07.007

    Article  Google Scholar 

  88. Sims, J.A., Finlayson, P.A., Rinderle, E.A., Vavrina, M.A., Kowalkowski, T.D.: Implementation of a low-thrust trajectory optimization algorithm for preliminary design. In: AAS/AIAA Astrodynamics Specialist Conference, AIAA 2006-6746. Keystone, Colorado (2006). https://doi.org/10.2514/6.2006-6746

  89. Smith, J., Buffington, B.: Overview of the cassini solstice mission trajectory. In: AAS/AIAA Advances in the Astronautical Sciences, AAS 2009-351, vol. 135. Pittsburgh, PA (2009)

  90. Strange, N., Goodson, T., Hahn, Y.: Cassini tour redesign for the huygens mission. In: AIAA/AAS Astrodynamics Specialist Conference and Exhibit, AIAA 2002-4720. Monterey, California (2002). https://doi.org/10.2514/6.2002-4720

  91. Taheri, E., Abdelkhalik, O.: Shape-based approximation of constrained low-thrust space trajectories using Fourier series. J. Spacecr. Rocket. 49(3), 535–546 (2012). https://doi.org/10.2514/1.58789

    Article  Google Scholar 

  92. Vasile, M., Ceriotti, M., Radice, G., Becerra, V.M., Nasuto, S.J., Anderson, J.D.: Global trajectory optimisation: can we prune the solution space when considering deep space manoeuvres? (2008)

  93. Velez, C.E., Fuchs, A.J.: Averaging techniques and their application to orbit determination systems. AIAA J. 13(1), 12–16 (1975). https://doi.org/10.2514/3.49622

    Article  MATH  Google Scholar 

  94. Wall, B.J., Conway, B.A.: Shape-based approach to low-thrust rendezvous trajectory design. J. Guid. Control Dyn. 32(1), 95–101 (2009). https://doi.org/10.2514/1.36848

    Article  Google Scholar 

  95. Whiffen, G.J.: Static/dynamic control for optimizing a useful objective (2002). US Patent 6,496,741

  96. Yakimenko, O.A.: Direct method for rapid prototyping of near-optimal aircraft trajectories. J. Guid. Control Dyn. 23(5), 865–875 (2000). https://doi.org/10.2514/2.4616

    Article  Google Scholar 

  97. Yam, C.H., Izzo, D., Biscani, F.: Towards a high fidelity direct transcription method for optimisation of low-thrust trajectories. In: 4th International Conference on Astrodynamics Tools and Techniques, pp. 1–7 (2010)

  98. Yang, G.: Direct optimization of low-thrust many-revolution earth-orbit transfers. Chin. J. Aeronaut. 22(4), 426–433 (2009). https://doi.org/10.1016/S1000-9361(08)60121-1

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David Ottesen.

Additional information

Communicated by Mauro Pontani.

Publisher's Note

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

Appendix

Appendix

The appendix contains unconstrained optimizer algorithms, a sensitivity discussion, and performance tables.

1.1 Unconstrained Optimizer and the BFGS Search Direction

The unconstrained optimizer \(\text {FMINUNC}_{\mathrm{UT}}\) is presented in Algorithm 1 along with the BFGS search direction in Algorithm 2 for a line search. The computation of the search direction leverages the efficient BLAS [57] subroutines. There are (s)ymmetric and (p)acked versions of some subroutines where packed takes approximately half the memory as the symmetric version counterpart, enabling the computational feasibility of larger problems but with no parallelization runtime improvements for an increase in thread count as shown in Sect. 4.2. The BLAS subroutines are: ddot for the dot product of two vectors; dsymv or dspmv for the multiplication of a matrix and vector; dsyr and dsyr2 or dspr and dspr2 for two different forms of an outer-product; and dnrm2 for the 2-norm of a vector. The search direction is always one unit in magnitude to conveniently limit the step size in the line search. The quadratic growth of the computation shown in Sect. 4.1 is from dspmv, dspr, and spr2 that require \(2 n^2\), \(n^2\), and \(2 n^2\) floating-point operations, respectively.

Every line search performs three primary computations. First, the minimum is bracketed but with a bounded max step size. Second, the bracketed space is shrunk via a golden ratio method. Third, the minimization is finalized with quadratic interpolation of the three points closest to the minimum. If the denominator in the formula for the quadratic interpolation equals or is close to zero, then the lowest point of the three is chosen as the actual minimum. The algorithm for the line search is not explicitly included for brevity.

figure c
figure d

1.2 Sensitivities

The computational sensitivities are essential for a gradient-based, direct optimization method. These partials can be obtained via many methods of varying accuracy, including finite difference methods, complex step methods, automatic differentiation, and more. The variational equations approach in Ref. [71] or Battin’s variational STM implementation [9] on page 467 (implemented in detail in Ref. [4]) is accurate and common in practice. In the current work, the closed-form ivLam for two-body dynamics is faster due to the absence of an integrated solution to an ODE system as shown in examples 1.c and 1.d and visualized in Fig. 4. A variational equation approach to EBVPs is useful to model perturbed two-body dynamics. A faster, but less accurate, alternative is to approximate two-body perturbations as impulsive \(\varDelta \mathbf {v}\) maneuvers [43].

Table 3 EBVP partials in terms of the variational STM
Table 4 Performance of examples 1.a, 1.b, 1.c, and 1.d for the search direction and EBVP solver comparisons
Table 5 Performance of examples 1.e and 1.f for the initial guess demonstrations
Table 6 Performance of ex. 2 that demonstrates a continuation method for a large number of nodes

1.2.1 Cost Partials and Differentials

The following derivation of the cost partials is based off differentials \(d(\cdot )\) to organize dependencies within the system. As mentioned previously, the cost J in Eq. (1) is a function of the impulsive \(\varDelta \mathbf {v}_i\) maneuvers at each node i, so \(J = J ( \varDelta v_1 \left( \varDelta \mathbf {v}_1 \right) , \cdots , \varDelta v_n \left( \varDelta \mathbf {v}_n \right) )\). Using the chain-rule, expand J as a cost differential for nodes 1 to n

$$\begin{aligned} d J = \frac{\partial J}{\partial \varDelta v_1} \frac{\partial \varDelta v_1}{\partial \varDelta \mathbf {v}_1} d \varDelta \mathbf {v}_1 + \cdots + \frac{\partial J}{\partial \varDelta v_n} \frac{\partial \varDelta v_1}{\partial \varDelta \mathbf {v}_n} d \varDelta \mathbf {v}_n \end{aligned}$$
(6)

where the cost partial of node i in terms of the impulsive \(\varDelta \mathbf {v}_i\) maneuver is \(\frac{\partial J}{\partial \varDelta v_i} = 1\) and \(\frac{\partial \varDelta v_i}{\partial \varDelta \mathbf {v}_i} = \frac{\varDelta \mathbf {v}_i^T}{\varDelta v_i}\) for minimum fuel [\(k=1\) in Eq. (1)] or \(\frac{\partial J}{\partial \varDelta v_i} = \varDelta v_i\) and \(\frac{\partial \varDelta v_i}{\partial \varDelta \mathbf {v}_i} = \varDelta \mathbf {v}_i^T\) for minimum energy [\(k=0\) in Eq. (1)] or a hybrid combination for \(0<k<1\) in Eq. (1). The cost differential Eq. (6) currently terminates at the impulsive \(\varDelta \mathbf {v}_i\) maneuver differential \(d \varDelta \mathbf {v}_i\) for each node i, but as previously mentioned, the impulsive \(\varDelta \mathbf {v}_i\) maneuver is a function of the velocity before \(\mathbf {v}_{i-}\) and after \(\mathbf {v}_{i+}\) node i written as \(\varDelta \mathbf {v}_i = \mathbf {v}_{i+} - \mathbf {v}_{i-}\) and these velocities are a function of position and time written as \(\mathbf {v}_{i-} = \mathbf {v}_{i-}(\mathbf {r}_{i-1},\mathbf {r}_i,t_{(i-1)+},t_{i-}) \text {and} \mathbf {v}_{i+} = \mathbf {v}_{i+}(\mathbf {r}_i,\mathbf {r}_{i+1},t_{i+},t_{(i+1)-})\). Thus, the differential of the impulsive \(\varDelta \mathbf {v}_i\) maneuver is \(d \varDelta \mathbf {v}_i = d \mathbf {v}_{i+} - d \mathbf {v}_{i-}\), and the differential of the velocity before \(d \mathbf {v}_{i-}\) and after \(d \mathbf {v}_{i+}\) node i is

$$\begin{aligned} d \mathbf {v}_{i-} = {}&\left\langle \frac{\partial \mathbf {v}_{i-}}{\partial \mathbf {r}_{i-1 }} \right\rangle d \mathbf {r}_{i-1 } + \left\langle \frac{\partial \mathbf {v}_{i-}}{\partial \mathbf {r}_{i }} \right\rangle d \mathbf {r}_{i } + \left\langle \frac{\partial \mathbf {v}_{i-}}{\partial t_{(i-1)+}} \right\rangle d t_{(i-1)+} + \left\langle \frac{\partial \mathbf {v}_{i-}}{\partial t_{i- }} \right\rangle d t_{i- } \end{aligned}$$
(7)
$$\begin{aligned} d \mathbf {v}_{i+} = {}&\left\langle \frac{\partial \mathbf {v}_{i+}}{\partial \mathbf {r}_{i }} \right\rangle d \mathbf {r}_i + \left\langle \frac{\partial \mathbf {v}_{i+}}{\partial \mathbf {r}_{i+1 }} \right\rangle d \mathbf {r}_{i+1 } + \left\langle \frac{\partial \mathbf {v}_{i+}}{\partial t_{i+ }} \right\rangle d t_{i+ } + \left\langle \frac{\partial \mathbf {v}_{i+}}{\partial t_{(i+1)-}} \right\rangle d t_{(i+1)-} \end{aligned}$$
(8)

where the \(\left\langle \cdot \right\rangle \) represents the EBVP partials that assume position continuity is enforced by design by using EBVPs, not the optimizer. Before substitution of Eqs. (7) and (8) in Eq. (6), careful consideration must be made toward the first node 1 and the last node n. The initial and final nodes are constrained by design, not the optimizer, because they are prescribed by a user-defined path, in this current work this path is a two-body orbit. Thus, the differentials for position at the initial and final orbits are \(d \mathbf {r}_1 = \mathbf {v}_{1-} d \tilde{t}_{1-}\) and \(d \mathbf {r}_n = \mathbf {v}_{n+} d \tilde{t}_{n+}\) and the differentials for velocity are \(d \mathbf {v}_{1-} = \mathbf {a}_{1-} d \tilde{t}_{1-}\) and \(d \mathbf {v}_{n+} = \mathbf {a}_{n+} d \tilde{t}_{n+}\). The time-like \(\tilde{t}\) to parameterize an orbit is not associated with the time of flight of the transfer trajectory. Furthermore, for every segment \((i+1)i\) from node i to \(i+1\), the time of flight is defined to be \(\varDelta t = t_{(i+1)-} - t_{i+}\) and the time of flight differential is \(d \varDelta t = d t_{(i+1)-} - d t_{i+}\). For convenience, the initial time \(t_{i+}\) of segment \((i+1)i\) is designed to be zero, so the time of flight \(\varDelta t\) is the final time \(t_{(i+1)-}\) of segment \((i+1)i\), i.e., \(\varDelta t = t_{(i+1)-}\). The initial time \(t_{i+}\) can conveniently be zero because time does not explicitly show up in the dynamics. In other words, for time-free unconstrained spacecraft trajectory optimization problems, only the time of flight \(\varDelta t\) of each segment \((i+1)i\) is needed, not the initial and final times of each segment. Thus, when computing the velocity differentials at node i shown in Eqs. (7) and (8), the time of flight differential is \(d \varDelta t = d t_{i-} = d t_{(i+1)-}\) because \(d t_{(i-1)+} = d t_{i+} = 0\).

Now, substitute Eqs. (7) and (8) in Eq. (6), the aforementioned differentials for time and position, and group similar differential terms to get a cost differential of the form

$$\begin{aligned} d J = \frac{\partial J}{\partial \tilde{t}_{1-}} d \tilde{t}_{1-} + \frac{\partial J}{\partial \tilde{t}_{n+}} d \tilde{t}_{n+} + \frac{\partial J}{\partial \varDelta t} d \varDelta t + \frac{\partial J}{\partial \mathbf {r}_2} d \mathbf {r}_2 + \cdots + \frac{\partial J}{\partial \mathbf {r}_{n-1}} d \mathbf {r}_{n-1} \end{aligned}$$
(9)

where the cost partials are the coefficients of each differential of the initial time-like variable on the initial orbit \(\tilde{t}_{1-}\), the final time-like variable on the final orbit \(\tilde{t}_{n+}\), the time of flight \(\varDelta t\) of each segment \((i+1)i\), and all intermediate positions \(\mathbf {r}_i\) from node 2 to \(n-1\). The cost partials are

$$\begin{aligned} \frac{\partial J}{\partial \tilde{t}_{1-}} = {}&\frac{\partial J}{\partial \varDelta v_1} \frac{\partial \varDelta v_1}{\partial \varDelta \mathbf {v}_1} \left( \left\langle \frac{\partial \mathbf {v}_{1+}}{\partial \mathbf {r}_1} \right\rangle \mathbf {v}_{1-} - \mathbf {a}_{1-} \right) + \frac{\partial J}{\partial \varDelta v_2} \frac{\partial \varDelta v_2}{\partial \varDelta \mathbf {v}_2} \left( -\left\langle \frac{\partial v_{2-}}{\partial r_1} \right\rangle \mathbf {v}_{1-} \right) \\ \frac{\partial J}{\partial \tilde{t}_{n+}} = {}&\frac{\partial J}{\partial \varDelta v_{n-1}} \frac{\partial \varDelta v_{n-1}}{\partial \varDelta \mathbf {v}_{n-1}} \left( \left\langle \frac{\partial \mathbf {v}_{(n-1)+}}{\partial \mathbf {r}_n} \right\rangle \mathbf {v}_{n+} \right) + \frac{\partial J}{\partial \varDelta v_n} \frac{\partial \varDelta v_n}{\partial \varDelta \mathbf {v}_n} \left( \mathbf {a}_{n+} - \left\langle \frac{\partial \mathbf {v}_{n-}}{\partial \mathbf {r}_n} \right\rangle \mathbf {v}_{n+} \right) \\ \frac{\partial J}{\partial \varDelta t} = {}&\frac{\partial J}{\partial \varDelta v_1} \frac{\partial \varDelta v_1}{\partial \varDelta \mathbf {v}_1} \left\langle \frac{\partial \mathbf {v}_{1+}}{\partial \varDelta t} \right\rangle + \sum _{i=2}^{n-1} \frac{\partial J}{\partial \varDelta v_i} \frac{\partial \varDelta v_i}{\partial \varDelta \mathbf {v}_i} \left( - \left\langle \frac{\partial \mathbf {v}_{i-}}{\partial \varDelta t} \right\rangle + \left\langle \frac{\partial \mathbf {v}_{i+}}{\partial \varDelta t} \right\rangle \right) \\ {}&+ \frac{\partial J}{\partial \varDelta v_n} \frac{\partial \varDelta v_n}{\partial \varDelta \mathbf {v}_n} \left( -\left\langle \frac{\partial \mathbf {v}_{n-}}{\partial \varDelta t} \right\rangle \right) \\ \frac{\partial J}{\partial \mathbf {r}_i} = {}&\frac{\partial J}{\partial \varDelta v_{i-1}} \frac{\partial \varDelta v_{i-1}}{\partial \varDelta \mathbf {v}_{i-1}} \left\langle \frac{\partial \mathbf {v}_{(i-1)+}}{\partial \mathbf {r}_i} \right\rangle + \frac{\partial J}{\partial \varDelta v_i} \frac{\partial \varDelta v_i}{\partial \varDelta \mathbf {v}_i} \left( \left\langle \frac{\partial \mathbf {v}_{i+}}{\partial \mathbf {r}_i} \right\rangle - \left\langle \frac{\partial \mathbf {v}_{i-}}{\partial \mathbf {r}_i} \right\rangle \right) \\ {}&+ \frac{\partial J}{\partial \varDelta v_{i+1}} \frac{\partial \varDelta v_{i+1}}{\partial \varDelta \mathbf {v}_{i+1}} \left( - \left\langle \frac{\partial \mathbf {v}_{(i+1)-}}{\partial \mathbf {r}_i} \right\rangle \right) \end{aligned}$$

Note the following useful identities between velocity partials that relates flight time \(\varDelta t\) and time t before and after node i: \( \left\langle \frac{\partial \mathbf {v}_{i-}}{\partial \varDelta t} \right\rangle = \left\langle \frac{\partial \mathbf {v}_{i-}}{\partial t_{i-}} \right\rangle \text { and } \left\langle \frac{\partial \mathbf {v}_{i+}}{\partial \varDelta t} \right\rangle = \left\langle \frac{\partial \mathbf {v}_{i+}}{\partial t_{(i+1)-}} \right\rangle \). Also note, if the problem is fixed-state to fixed-state, not orbit-to-orbit, then the initial and final time-like variables that parameterize the initial and final orbits do not vary, i.e., \(d \tilde{t}_{1-} = 0\) and \(d \tilde{t}_{n+} = 0\) and the associated cost partials are zero, i.e., \( \frac{\partial J}{\partial \tilde{t}_{1-}} = 0 \text {and} \frac{\partial J}{\partial \tilde{t}_{n+}} = 0 \). Likewise, though not explored in this current work, the time of flight cost partial is zero, \(\frac{\partial J}{\partial \varDelta t} = 0\), if the total time of flight is fixed.

1.2.2 Variational State Transition Matrix

The EBVP partials, designated by \(\left\langle \cdot \right\rangle \), can be derived either directly when using ivLam, or through the variational STM via integration for rk7sh and rk78sh or by forming the Keplerian submatrices, e.g., via Battin’s Kepler variational STM implemented in Arora et al. [4], or other analytic forms of two-body dynamics by Shepperd [86], Goodyear [37], Pitkin [77], Glandorf [34], and more.

The variational STM solves the following variational equations of motion for a segment \(\delta \dot{\mathbf {x}} = \mathbf {F} \delta \mathbf {x}\) for dynamics of the form \(\dot{\mathbf {x}} = \mathbf {f}(\mathbf {x})\) so \(\mathbf {F} = \partial \mathbf {f}/\partial \mathbf {x}\). The variational STM can then be written as:

$$\begin{aligned} \delta \mathbf {x}_{(i+1)-} = \varvec{\varPhi }(t_{(i+1)-},t_{i+}) \delta \mathbf {x}_{i+} \end{aligned}$$
(10)

for segment \((i+1)i\) from \(t_{i+}\) to \(t_{(i+1)-}\) or node i to \(i+1\). The variational STM \(\varvec{\varPhi } = \varvec{\varPhi }(t_{(i+1)-},t_{i+})\) describes the effect of the sensitivity of the initial state, time-fixed variation \(\delta \mathbf {x}_{i+} = \delta \mathbf {x}(t_{i+})\) on a final state, time-fixed variation \(\delta \mathbf {x}_{(i+1)-} = \delta \mathbf {x}(t_{(i+1)-})\).

The variational STM is then either numerically integrated with \(\dot{\varvec{\varPhi }} = \mathbf {F} \varvec{\varPhi }\) or analytically known. The integrated solution is decomposed into sub-matrix form as:

$$\begin{aligned} \varvec{\varPhi } = \frac{\partial \mathbf {x}_{(i+1)-}}{\partial \mathbf {x}_{i+}} = \begin{bmatrix} \frac{\partial \mathbf {r}_{(i+1)-}}{\partial \mathbf {r}_{i+}} &{} \frac{\partial \mathbf {r}_{(i+1)-}}{\partial \mathbf {v}_{i+}}\\ \frac{\partial \mathbf {v}_{(i+1)-}}{\partial \mathbf {r}_{i+}} &{} \frac{\partial \mathbf {v}_{(i+1)-}}{\partial \mathbf {v}_{i+}} \end{bmatrix} = \begin{bmatrix} \mathbf {A}_{(i+1)i} &{} \mathbf {B}_{(i+1)i} \\ \mathbf {C}_{(i+1)i} &{} \mathbf {D}_{(i+1)i} \end{bmatrix} \end{aligned}$$
(11)

where the sub-matrices \(\mathbf {A}_{(i+1)i}\), \(\mathbf {B}_{(i+1)i}\), \(\mathbf {C}_{(i+1)i}\), and \(\mathbf {D}_{(i+1)i}\) are defined for notational simplicity. A closed-form variational STM for two-body dynamics by Battin is not reproduced here for compactness but can be found in Ref. [4] via Eqs. 38–50. A similar form of the variational STM can be made for segment \(i(i-1)\). The EBVP partials in terms of the variational STM sub-matrices are shown in Table 3. The expressions in Table 3 are primarily for perturbed two-body dynamics; however, the submatrices can be found analytically as previously mentioned for the two-body problem to give the partials of the Lambert problem.

1.2.3 Mass-Leak

The partials of Eq. (1) of minimum fuel include a singularity because the partial \(\partial \varDelta v_i/\partial \varDelta \mathbf {v}_i = \varDelta \mathbf {v}_i^T/\varDelta v_i\) for node i has a denominator that can go to zero. A “mass-leak" is termed and eliminates the singularity by including a small constant quantity \(\epsilon \)

$$\begin{aligned} \varDelta v_i = \sqrt{\varDelta v_{x_i}^2 + \varDelta v_{y_i}^2 + \varDelta v_{z_i}^2 + \epsilon ^2} \end{aligned}$$
(12)

where \(\varDelta v_{x_i}\), \(\varDelta v_{y_i}\), and \(\varDelta v_{z_i}\) are the x, y, and z-components of the impulsive \(\varDelta \mathbf {v}_i\) maneuver. Practical choices for \(\epsilon \) are approximately \(\epsilon = 10^{-6}\) to \(10^{-4}\) when the magnitude of velocity is near unity. In practice, the optimizer decreases the value of the impulsive \(\varDelta \mathbf {v}_i\) maneuver magnitudes, modified according to Eq. (12), to approximately \(\epsilon \) if the maneuver is not needed for minimum fuel solutions. Minimum energy solutions do not need the mass-leak.

1.3 Performance Tables for Examples 1 and 2

The performance tables are for examples 1 and 2 (see Fig. 4). Tables 4, 5 and 6 show total runtime per iteration, total runtimes, number of iterations that update the decision state, function calls, cost, and optimality tolerances. Function call counts are for the computation of the cost, the cost plus partials, and the search direction, respectively.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ottesen, D., Russell, R.P. Unconstrained Direct Optimization of Spacecraft Trajectories Using Many Embedded Lambert Problems. J Optim Theory Appl 191, 634–674 (2021). https://doi.org/10.1007/s10957-021-01884-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10957-021-01884-1

Keywords

Navigation