Abstract
To meet the growing complexity and demands of modern spacecraft missions, analytical solutions to initial value problems see continued use, typically supporting global searches of large trajectory design spaces. These efforts often employ universal two-body orbit propagators for their recognized speed and robustness, but many applications, like active space debris removal, would benefit from a comparable propagator with greater accuracy. Vinti propagators, which consider planetary oblateness, may serve this purpose, but existing Vinti solutions possess computational difficulties in certain orbital regimes. To mitigate these deficiencies, the present study develops and validates an analytical, third-order universal Vinti propagator free of computational difficulties by leveraging standard, oblate spheroidal (OS) universal variables and OS equinoctial orbital elements. Accuracy of the third-order approximation is assessed for multiple examples across an array of orbital regimes. Computational runtime is also evaluated, and performance is directly compared to the benchmark Vinti6 algorithm. On average, the Vinti propagator implemented in this work is only slower than a typical universal Kepler propagator by a factor of 4.0 and slower than Vinti6 by a factor of 1.8, but with greater robustness than the benchmark. The new form of the equations of motion also has favorable implications for the associated boundary value problem.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The Vinti gravitational potential [1, 2], like that of the two-body problem [3, 4], can describe or capture the predominant natural motion of a small object traveling near a large gravitating body. The latter exactly describes satellite motion around a spherically symmetric body or point mass and the former exactly describes motion around an oblate spheroid, which better approximates the Earth’s basic shape. The utility of these gravitational models derives largely from the fact that they admit analytical solutions [4,5,6] to their respective initial value problems (IVPs), furnishing a past or future state given specified initial conditions. The Kepler or two-body prediction problem has been studied for several centuries and is one of the most fundamental problems in astrodynamics [4]. As a natural analogue of the Kepler problem for oblate spheroids and one of the few integrable problems in celestial mechanics, the Vinti problem warrants further study [7]. These gravitational models have merit because, for many of the bodies in the solar system, such as Earth and other planets, these computationally efficient approximations of the actual physics are good enough to support numerous applications, either directly or as building blocks of a larger architecture [8,9,10,11,12]. But the rising complexity and innovation in modern spacecraft missions, like active space debris removal (ASDR), often call for more accuracy than two-body gravity in preliminary trajectory designs. Replacing this model with Vinti’s potential, which reduces the modeling error by three orders of magnitude at Earth [1], is an attractive way to better satisfy these accuracy requirements and provides the incentive to study Vinti’s potential in the current work.
The importance of more accurate models like the Vinti potential motivates the continued refinement of analytical Vinti IVP solutions to improve performance metrics like computational speed and robustness. These metrics are important for complex preliminary mission design applications that require global searches of very large trade spaces, such as those encountered in ASDR, a time-dependent traveling salesman problem with moving nodes [13]. While numerical integration schemes may be simpler than analytical solutions, and more accurate, the integrator may be called on the order of a billion times in an ASDR application, and the implied long runtimes can make a numerical approach unappealing or less viable. In contrast, a hallmark of implemented analytical solutions to both Vinti and Kepler IVPs, accordingly called Vinti and Kepler propagators, is the innately high speed at which they predict or compute a spacecraft’s ballistic trajectory. State-of-the-art Kepler propagators have a runtime of roughly a microsecond and existing Vinti propagators are only five times slower on average [2], noting that those tested in that study also included \(J_3\) through Vinti’s asymmetric potential [14, 15]. A prior study by Biria and Russell [12] found for a low-altitude ASDR application that a 400 times speed-up was attainable with a Vinti propagator, using the “Vinti6” algorithm [2], as compared to an eighth-order Runge-Kutta numerical integrator taking 50 steps per spacecraft revolution over a 10-day transit. Similar speed-ups are expected from the solution proposed in this paper, although algorithm robustness is prioritized over computational speed. Specifically, the novel universal Vinti solution proposed in the current work aims to retain the described high computational speeds while leveraging astrodynamics concepts known to promote robustness.
Having motivated the utility of Vinti propagators, it is worth noting that, like Kepler propagators, a variety of source codes are publicly available. As fundamental tools, many analytical propagator codes are found in textbooks. For Kepler propagators, undergraduate textbooks like Vallado [8] and Curtis [16] offer straightforward implementations. For Vinti propagators, Vinti’s graduate textbook edited by Der and Bonavito [2] contains six source codes in multiple programming languages. More recently, Biria and Russell [11, 12, 17] developed enhanced versions that remove computational difficulties and indeterminate forms, substantially improving accuracy for bounded orbits, especially near the equatorial regime. Their source code is also publicly available online.Footnote 1
Universal solutions to these IVPs, such as those archived by Der and Bonavito [2], are attractive because they should in theory possess no computational difficulties or limitations in validity, being valid for all orbital regimes. As such, while Wiesel [18] and Wright [10] contributed notable advancements to Vinti theory using action-angle variables and numerical methods, the current effort is instead focused on universal techniques. Universal Kepler propagators are ubiquitous, computer programs commonly adopting the implementation of Bate et al. [4] in standard universal variables (UVs), which are notable for their robustness and connection to the Lagrange coefficients. Prior work on universal Vinti propagators [2, 19] use what Herrick [20] called “unified variables”, which, while retaining accuracy near the parabolic orbital regime, still utilize classical orbital elements and are not connected to oblate spheroidal (OS) Lagrange coefficients. Lacking a standard-UV solution to Vinti’s IVP, existing Vinti propagators must rely more on carefully chosen numerical algorithms to create and increase robustness. In contrast, a Vinti propagator based on standard UVs arguably inherits more robustness naturally. While such a formulation may still be paired with the same robust numerical methods, the incorporation of additional robustness by design implies an extra layer of robustness that enhances the entire propagator.
The main contribution of this paper is the development of an analytical third-order solution to the Vinti IVP using an analog of standard UVs adapted to OS geometry. Getchell [19] developed a universal third-order solution with OS “unified variables” (source code is available from Der and Bonavito [2]), but his solution does not remove all of the computational difficulties promised by the introduction of UVs. Note that UVs are not expected to mitigate computational issues for nearly rectilinear Vinti orbits, corresponding to the so-called forbidden zone [21] inside which an analytical solution is not known. Apart from nearly rectilinear orbits, the solution proposed in the current study is valid for all orbital regimes and is free of all computational difficulties, accurately handling circular, equatorial, polar, nearly parabolic, and hyperbolic orbits. To accomplish this result, the approach taken identifies desirable features unique to different analytical solution methods and blends those components together, unifying all of the individual benefits into a single algorithm. Drawbacks of the individual algorithms are circumvented and only the benefits are retained. Specifically, the proposed solution uses the definition of the node from Vinti’s 1969 solution [22], techniques to evaluate the integrals and avoid indeterminate forms at zero energy from Getchell’s 1970 solution [19], and finally, to avoid the computation of singular orbital elements, the solution adopts the standard definition of OS UVs [23] and leverages the OS equinoctial orbital elements (EOEs) developed recently by Biria and Russell [17]. Results are validated against numerically integrated Vinti trajectories to assess the accuracy of the third-order solution, where the third-order approximation refers only to the evaluation of various integrals, not the factoring of the quartics, which is carried out to double-precision accuracy. The presented algorithm’s runtime is also evaluated and compared to earlier findings, and its overall performance is directly compared to the benchmark Vinti6 propagator.
Another important aspect of the current study is the implication that it has for the closely related, congruent boundary value problem (BVP) governed by the Vinti potential. The reformulation of the equations of motion in terms of OS classical orbital element differences and coupling to OS equinoctial elements not only supports the solution of the IVP, but also enables the definition of the BVP, which is explored in related work by the author [24, 25]. In the BVP application, Biria essentially uses the results of the present work to generalize Lambert’s equation to a system of equations that can be solved iteratively, avoiding targeting algorithms and the need for shooting methods that are commonly employed in perturbed Lambert solvers.
2 Kinematic Equations
Vinti’s symmetric potential [1, 6] is written in terms of the oblate spheroidal (OS) coordinates \(\rho ,\phi ,\eta \) as
where \(\mu \) is the gravitational parameter of the central body, \(\rho \) is the OS coordinate equal to the semiminor axis of the instantaneous oblate spheroid, \(\phi \) is the right ascension, and \(\eta \) is the OS coordinate tied to latitude, approximately the sine of declination in an Earth application. The parameter c is fit to the oblateness term, \(J_2\), of the spherical harmonic expansion as \(c^2 = R_e^2 J_2\), where \(R_e\) is the equatorial radius. Formal definitions of these quantities are available in many references [1, 6]. The analytical solution to Vinti’s IVP can be stated as \(\textbf{x}= \textbf{f} ( t, t_0, \textbf{x}_0)\), where \(\textbf{x}= [\textbf{r}^\top \;\;\; \textbf{v}^\top ]^\top = [x\;\;\; y\;\;\; z\;\;\; \dot{x}\;\;\; \dot{y}\;\;\; \dot{z}]^\top \) is the Earth-centered inertial (ECI) state, \(\textbf{r}\) and \(\textbf{v}\) are the position and velocity vectors, t is the time, and the subscript “\(0\)” denotes initial conditions (ICs) or the initial value of a quantity.
Using Getchell’s definitions [19] of the \(R_j\) and \(N_j\) integrals for \(j = 1,2,3\), Vinti’s classical element solution [6] to the IVP in terms of right ascension is given by
where \(R_j\) are defined as
\(N_j\) are defined as
and \(\alpha _j\) and \(\beta _j\) are the constants of integration with \(\tau = -\beta _1\), \(\omega = \beta _2\), and \({\mathrm {\Omega }=\beta _3}\). These quantities are all defined in other references, but for convenience, note that \(\alpha _1\) is the energy integral, \(\alpha _3\) is the polar component of the angular momentum, \(\alpha _2\) is similar to the total angular momentum and obtained from separating the Hamilton-Jacobi equation, \(\tau \) is the time of OS periapsis passage, \(\omega \) is the argument of OS periapsis, and \(\mathrm {\Omega }\) is the right ascension of the OS ascending node (spheroidal RAAN) [12]. Further note that \(F\left( \rho \right) \) and \(G\left( \eta \right) \) are the quartics that must be factored to obtain the classical OS orbital elements a, e, and \(I = \arcsin Q\), which are the OS semimajor axis, eccentricity, and inclination, respectively. For universal variables, a is not directly pursued; instead, when factoring \(F\left( \rho \right) \), two other quantities are obtained: p, the OS semilatus rectum, and \(\gamma \), the inverse of a, where \(\gamma = -1/a\) for elliptical orbits so that \(\gamma < 0\) for elliptical orbits (\(0 \le e < 1\)) and \(\gamma > 0\) for hyperbolic orbits (\(e > 1\)). Orbital elements with a “0” subscript denote the prime constants [2] obtained directly from the \(\alpha _j\) Jacobi constants. For the lower limits of integration, \(\rho _p\) is the OS periapsis radius and Getchell’s lower limit on the \(N_j\) integrals is zero when \(J_3 = 0\) in the potential. In the following, elements should generally be interpreted as spheroidal or OS unless noted otherwise.
Going forward, it is helpful to continue to combine the contributions of Vinti [22] and Getchell [19] because their solutions possess important but different features that enable the current work. To exploit them, the solutions must be merged in some way. Specifically, many of Getchell’s results are desirable because he removes indeterminate forms in the \(R_j\) integrals. It is convenient to use his expressions for \(N_j\) as well. Vinti’s solution in terms of a slowly-varying OS RAAN [22], \(\mathrm {\Omega }^\prime \), is desirable because it enables the coupling of OS equinoctial elements to universal variables, which seems necessary for a solution devoid of angle ambiguities and singular orbital elements. Getchell defined a quantity \(N_4\) without explanation, but it is actually the slow, nonsensitive part of \(N_3\), which means it can be used to write the kinematic equations in terms of \(\mathrm {\Omega }^\prime \) as
where, if \(N_{4_g}\) is Getchell’s definition of \(N_4\), then \(N_4 \equiv \alpha _3 N_{4_g}\) in Eq. (9). This redefinition is made so that \(N_3\) and \(N_4\) have consistent definitions. Using Getchell’s notation, it is straightforward to show that
where \(\psi _1\) and \(\psi _2\) are quantities defined by Getchell [19] and not related to \(\psi \), the true argument of OS latitude. Equation (10) relates \(\phi \) to a different OS RAAN (\(\mathrm {\Omega }^\prime \ne \mathrm {\Omega }\)) and has not previously appeared in the literature.
To express the solution in terms of universal variables [23], a different form of the kinematic equations is required that depends on the difference in anomalistic and other angles. To obtain such a form, it is assumed that Eq. (9) is computed at two different times, t and \(t_0\), and the corresponding equations are then differenced. Since \(\beta _j\) are constants of the motion, the result is
where \(\mathrm {\Delta }\) is shorthand for taking the difference of scalars (\(\mathrm {\Delta }t = t - t_0\)) or long expressions like \(R_j\) and \(N_j\). The \(R_j\) integrals are ultimately a function of anomalistic angles like true and eccentric anomaly, \(f\) and E, respectively, and the \(N_j\) integrals a function of \(\psi = f+ \omega ^\prime \), where \(\omega ^\prime \) is a different OS argument of periapsis (\(\omega ^\prime \ne \omega \)). When differenced, \(\mathrm {\Delta }R_1 \equiv \mathrm {\Delta }R_1 \left( \hat{x}, \mathrm {\Delta }f\right) \), \(\mathrm {\Delta }R_j \equiv \mathrm {\Delta }R_j \left( \mathrm {\Delta }f\right) \) for \(j = 2,3\), and \(\mathrm {\Delta }N_j \equiv \mathrm {\Delta }N_j \left( \mathrm {\Delta }\psi \right) \) for \(j = 1,2,3,4\), where \(\hat{x}\) is the OS universal variable identified by Biria [23]. Notice that the time of flight (TOF), \(\mathrm {\Delta }t\), appears explicitly in Eq. (11). In this new form, Vinti’s IVP is now stated as \(\textbf{x}= \textbf{f} ( \mathrm {\Delta }t, \textbf{x}_0)\).
2.1 Universal Spheroidal Time of Flight Equation
The first kinematic equation in Eq. (11) is the OS time of flight equation. After a considerable amount of algebra, and adopting Izsak’s and Vinti’s conic parameterization [5, 6], this equation can be written to \(O(J_2^3)\) as
with Getchell’s notation, where Biria [23] defines \(\sigma _0\) and the UVs \(\hat{x}\) and \(\hat{z}\) for OS geometry (under Vinti’s potential), and also explains how the Stumpff functions, \(C\left( \hat{z}\right) \) and \(S\left( \hat{z}\right) \), may be adapted to OS UVs. Equation (12), which directly relates TOF to the standard OS UVs for the first time, represents a significant development that is central to all of the present work, for both the IVP and BVP. While Eq. 36 in Getchell [19] requires the computation of the singular orbital element \(\beta _1\) before the root-solve of various orbital elements, Eq. (12) of this paper circumvents the computation of \(\beta _1\) and instead prescribes the root-solve of the orbital element differences discussed in the context of Eq. (11). Note in Eq. (12) that \(\hat{x}= \sqrt{a}\mathrm {\Delta }E\) for elliptical orbits and \(\hat{z}= -\gamma \hat{x}^2\). The symbol \(W_k\) represents a special recursive function defined by Getchell [19], seeded with \(W_0 = f\), \({W_1 = \left( f+ e V_1 \right) /p}\), where \(V_k\) is a different recursive function seeded with \(V_0 = f\), \(V_1 = \sin f\).
Since \(J_3 = 0\), odd \(C_k\) are zero, \(C_0 = 0\), \(C_2 = 1\), \(C_4 = Q_1/2\), and \({C_6 = 3Q_1^2/8}\). Then, only even \(T_k\) matter, and the even \(Q^k T_k\) can be expressed as
by manipulating Getchell’s equations. Substituting for \(Q\sin \psi = \eta \), Eq. (13) can be simplified as
and Eq. (14) can be differenced at two times to obtain \(\mathrm {\Delta }(Q^k T_k)\) as
Computational details for \(\mathrm {\Delta }W_k\) and \(\mathrm {\Delta }T_k\) are discussed in Appendix A.
2.2 Universal Spheroidal Argument of Periapsis or Apsidal Drift Equation
The second kinematic equation in Eq. (11) is the OS argument of periapsis equation, which can be stated as
or, using Getchell’s notation [19], to \(O(J_2^3)\) as
but the drift in the OS argument of periapsis, \(\mathrm {\Delta }\omega ^\prime \), is not apparent or accessible in this form. Note in Eq. (17) that a number of simplifications have been made assuming \(J_3 = 0\). Now, to extract \(\mathrm {\Delta }\omega ^\prime \) from Eq. (17), there are multiple ways to proceed. The simplest option is to substitute \(\mathrm {\Delta }\psi = \mathrm {\Delta }f+ \mathrm {\Delta }\omega ^\prime \) into the isolated \(\mathrm {\Delta }\psi \) term and rearrange Eq. (17) so that \(\mathrm {\Delta }\omega ^\prime \) is on the left-hand side as
or, defining the right-hand side (RHS) in Eq. (18) as \(\tilde{g}_2\), identify a recursive relationship as
For convenience, define \(\mathrm {\Delta }\tilde{N}_2\) as the modified \(\mathrm {\Delta }N_2\) integral in Eq. (18) with \(\mathrm {\Delta }f\) in the secular term. When the constants and \(\mathrm {\Delta }f\) are known, Eq. (18) can be used to iteratively solve for \(\mathrm {\Delta }\omega ^\prime \). If the derivative of \(\tilde{g}_2 \left( \mathrm {\Delta }\omega ^\prime \right) \) with respect to \(\mathrm {\Delta }\omega ^\prime \) has an absolute value less than unity, then the method of successive approximations will converge [26]. To verify this sufficient condition, the derivative is evaluated as
Each derivative in Eq. (20) contains terms either equal to factors of \(Q^2\) or \(\eta ^2\), or the product of multiple trigonometric functions, which all have a maximum absolute value of unity (see Appendix C). Each of these terms has a coefficient of \(Q_1^k\) for \(k = 1,2,3\), where \(Q_1 = O(J_2)\). Therefore, if evaluated from left to right, the terms have maximum values on the order of \(10^{-3}\), \(10^{-6}\), and \(10^{-9}\) for the Earth, respectively. Since \(| \tilde{g}_2^\prime \left( \mathrm {\Delta }\omega ^\prime \right) | < 1\), the method of successive approximations will converge, and because the derivative is small, with \(| \tilde{g}_2^\prime \left( \mathrm {\Delta }\omega ^\prime \right) | < O \left( J_2 \right) \), it will converge rapidly. The maximum error of the nth approximation can be stated as \(|\mathrm {\Delta }\omega ^\prime _n - \mathrm {\Delta }\omega ^\prime | < O \left( J_2^n \right) |\mathrm {\Delta }\omega ^\prime _0 - \mathrm {\Delta }\omega ^\prime |\), which means that for an Earth application with a worst-case initial guess error of 1 radian, the fourth iteration will have an error of roughly \(10^{-12}\) in the approximation of the root \(\mathrm {\Delta }\omega ^\prime \). In practice, the initial error \(|\mathrm {\Delta }\omega ^\prime _0 - \mathrm {\Delta }\omega ^\prime |\) is orders of magnitude smaller than unity, even for a many-revolution (many-rev) orbit, e.g. for a representative low-Earth orbit (LEO) 20-rev scenario inclined 30 degrees, the observed initial error in apse line drift is only \(2.6 \times 10^{-3}\) radians or about 0.15 degrees.
Note that alternatives to Eq. (18) may be obtained. For example, define the secular coefficient for the \(R_2\) integral as \(C_{R_2}\) and subtract \(C_{R_2} \mathrm {\Delta }\omega ^\prime \) from both sides of Eq. (17) to obtain
where \(\left( \mathrm {\Delta }W_k \right) _{p}\) represents the periodic part of each \(\mathrm {\Delta }W_k\) term. Solving Eq. (21) for \(\mathrm {\Delta }\omega ^\prime \) leads to
For convenience, define \(\mathrm {\Delta }\tilde{R}_2\) as the modified \(\mathrm {\Delta }R_2\) integral in Eq. (22) with \(\mathrm {\Delta }\psi \) in the secular term.
2.3 Universal Spheroidal RAAN or Nodal Drift Equation
The third kinematic equation in Eq. (11) is the spheroidal RAAN equation, which in general enables the computation of the spheroidal RAAN drift as
To \(O(J_2^3)\), Eq. (23) can be expressed with Getchell’s notation as
where
\(d_k\) are zero for odd k, \(d_2 = Q_1/2\), \(d_4 = 3 Q_1^2/8\), and \(d_6 = 5 Q_1^3/16\), which means that \(C_{1k}\) and \(C_{2k}\) are nonzero for all k. Observe that using Vinti’s potential with \(J_3 = 0\) has resulted in a number of simplifications and will also cause the \(C_{1k}\) terms to cancel with the \(C_{2k}\) terms for odd k.
3 Universal Vinti Orbit Propagator
The new form of the kinematic equations established in the previous section enables the development of a novel, universal Vinti orbit propagator, but several additional components are required to furnish a complete algorithm. It is helpful to have in Fig. 1 an outline of the author’s computational procedure for the propagator, showing how to initialize the algorithm and how to use UVs and OS equinoctial elements in concert. The computational procedure is discussed in detail in the following sections.
3.1 On the Spheroidal Equinoctial Elements
It seems a nonsingular solution based on the standard UVs, as presented here, would not be possible without the definition of OS equinoctial orbital elements [17], because a nonsingular coordinate transformation between the ECI frame and an orbital frame is required before and after the root-solve. A new, simple method based on vectors is proposed for the computation of the OS equinoctial elements \(p_1\) and \(p_2\), which physically represent the components of the OS ascending node vector [17]. The OS position vector in ECI coordinates is given by
and taking the time derivative gives the OS inertial velocity as
where \(\varvec{\hat{\rho }}\) and \(\varvec{{\dot{{\hat{\rho }}}}}\) denote the OS position unit vector and its inertial velocity, respectively,
the subscripts x, y denote x and y components, and the superscript N denotes the Newtonian or ECI frame. Letting the superscript R denote the rotating frame attached to the OS orbital plane with angular velocity \({\varvec{\omega } = [0 \;\;\; 0 \;\;\; \dot{\mathrm {\Omega }}^\prime ]^\top }\), the OS velocity relative to the R frame attached to the OS orbital plane is given by
where \({}^{R}{\varvec{\dot{\rho }}}\) is constrained to lie in the orbital plane by definition. The OS specific angular momentum vector relative to the OS orbital plane can then be computed as
and the OS equinoctial unit vector \(\hat{\textbf{w}}\) parallel to \({}^{R}{\varvec{h}}\) as \(\hat{\textbf{w}}= {}^{R}{\varvec{h}}/\Vert {}^{R}{\varvec{h}} \Vert \) in ECI coordinates. Note that while \(\Vert {}^{R}{\varvec{h}} \Vert \) can be computed directly from Eq. (30), consideration of its physical meaning as the total angular momentum normal to the OS orbital plane points to a simple expression for the magnitude of \({}^{R}{\varvec{h}}\) as
which can be verified from Eq. (30). Finally, \(p_1\) and \(p_2\) can be computed as
using the same formulas as Danielson et al. [27] with K as the retrograde factor. The guidelines for computing \(\dot{\mathrm {\Omega }}^\prime \) offered by Biria and Russell [17] may be used in Eq. (29), although a better alternative is proposed here that is free of singularities at the poles.
One of the two exact expressions for \(\dot{\mathrm {\Omega }}^\prime \) put forward by Biria and Russell [17] has the following form:
where \(Q_1\) is \(O(J_2)\) and determined from factoring the \(G\left( \eta \right) \) quartic. The \(\alpha _3 / (1 - \eta ^2)\) expression is indeterminate near the poles, but the term it multiplies on the right in Eq. (33) can be manipulated. First, rewrite the right term inside the brackets as
Then, rationalize the numerator and simplify to obtain
so that the problematic \(1 - \eta ^2\) term can be canceled out of the denominator. Substituting the result in Eq. (35) back into Eq. (33) yields a final expression for \(\dot{\mathrm {\Omega }}^\prime \), analogous to those for \(\dot{f}\) or \(\dot{\psi }\), that is exact, always nonsingular, and independent of any method for evaluating the integrals, given by
When obtaining \(\dot{\mathrm {\Omega }}^\prime \) from OS orbital elements, an alternative expression for \(\alpha _3\) may be used to give
where \(c^2 = R_e^2 J_2\) and \(Q_1 = -c^2 \gamma _0/(p_0 S_1)\) have been used to write \(\dot{\mathrm {\Omega }}^\prime \) in a more familiar form. Equation (37) indicates that \(\dot{\mathrm {\Omega }}^\prime \) is \(O(J_2)\) and proportional to \(\cos I\) as expected. All quantities on the right-hand side are constant except for \(\rho \) and \(\eta \), which cause the rate to vary over time. Interestingly, since \(\gamma _0 = 0\) for parabolic orbits, the term on the right inside the brackets does not contribute to \(\dot{\mathrm {\Omega }}^\prime \) in that orbital regime:
The various connections to standard concepts for two-body dynamics evident in Eqs. (30) and (32) highlight the role and utility of OS vectors in a way not previously shown. While the approach by Biria and Russell [17] establishes useful relationships for computing \(p_1\) and \(p_2\) in certain contexts, the physical insight and simplicity offered by the above algorithm is considered an improvement over previous methods. Furthermore, the introduction of an exact, nonsingular expression for \(\dot{\mathrm {\Omega }}^\prime \) in Eq. (36) finally removes all singularities from the OS equinoctial coordinate transformation, greatly simplifying the transformation and making it easier to use.
3.2 Well-Behaved Exact Forms for the Mean Frequencies
Let \(C_{R_j}\) be Getchell’s three secular coefficients for the respective \(R_j\) integrals and \(C_{N_j}\) be his three secular coefficients for the \(N_j\) integrals (see Appendix B). From here, defining a mean-motion-like quantity as
for convenience, the anomalistic and draconitic mean frequencies can be written respectively as
and
From Eqs. (40) and (41), the secular rate for OS argument of periapsis can be obtained as
Similarly, assuming \(\alpha _3\) is factored out of \(C_{R_3}\) and \(C_{N_3}\), the secular rate for OS RAAN can be determined as
where \(\alpha _3 = \sqrt{\mu p_0 \left( 1 - Q_1 S_0 \right) } \cos I\) has been used to make the dependence on \(\cos I\) explicit.
3.3 Initial Guesses for a One-Dimensional, Two-Tier, Nested Root-Solve
Taking an approach analogous to Bate et al. [4], good initial guesses can be derived depending on the orbital regime. By choosing the definition of Vinti UVs proposed by Biria [23], the arguments presented by Bate et al. to derive various initial guesses for \(\hat{x}\) also follow for Vinti dynamics. New arguments are presented to derive initial guesses for \(\mathrm {\Delta }\omega ^\prime \), which is zero under Keplerian dynamics.
For elliptical orbits [23], \(\hat{x}= \sqrt{a} \mathrm {\Delta }E\), which means \({\hat{x}= 2\pi \sqrt{a}}\) after one orbital period in the sense of one revolution of an anomalistic angle. Following Bate et al. [4], note that
where \(t_{p}\) is the anomalistic orbital period. Let \(t_{p}= 2\pi /2\pi \nu _1 = 1/\nu _1\) and solve for \(\hat{x}\) to obtain
Substituting \(2\pi \nu _1\) from Eq. (40) into Eq. (45) and noting that
a good initial guess for \(\hat{x}\) in the elliptical regime can finally be expressed as
Using mean frequencies or Eq. (42), a good guess for \(\mathrm {\Delta }\omega ^\prime \) in the elliptical regime (\(\gamma < 0\)) is given by
For hyperbolic orbits with a large change in hyperbolic eccentric anomaly, the arguments by Bate et al. [4] can be applied to obtain the approximations:
where “e” in this section refers to the exponential function. Recall the universal TOF equation in Eq. (12) and neglect not only the \(\rho _0\hat{x}\) term, as Bate et al. did, but also \(O(J_2)\) and smaller terms, to give
Substituting Eq. (49) into Eq. (50) gives
and solving for \(\sqrt{-\hat{z}}\) leads to
after taking the logarithm. Noting from Bate et al. [4] that \(\hat{x}\) is positive when \(\mathrm {\Delta }t\) is positive, the initial guess for \(\hat{x}\) when dealing with hyperbolic orbits can finally be stated as
Over the span of a typical hyperbolic orbit, \(\omega ^\prime \) will not change much, so the drift \(\mathrm {\Delta }\omega ^\prime \) can be guessed as
For nearly parabolic orbits, the same assumptions are made for Vinti dynamics as for Keplerian dynamics. Accordingly, an appropriate guess for \(\hat{x}\) in this orbital regime is \(\hat{x}_{{\textrm{guess}}} = 0\), which may be applied for nearly parabolic orbits in the bounded or unbounded case, perhaps with a tolerance of \(| \gamma | < 10^{-5}\), depending on how many terms are retained for the approximations of the C and S functions in this regime [4]. When nearly parabolic orbits are escape trajectories (\(\gamma \ge 0\)), then \(\mathrm {\Delta }\omega ^\prime _{{\textrm{guess}}} = 0\) is a good guess, as for hyperbolic orbits.
Striking similarities are observed for the initial guesses of \(\hat{x}\) between Keplerian and Vinti dynamics. While the guess for \(\hat{x}\) is different between elliptical, nearly parabolic, and hyperbolic regimes, the guess for \(\mathrm {\Delta }\omega ^\prime \) is binary: zero for escape trajectories (\(\gamma \ge 0\)), but with a dependence on mean frequencies for bounded trajectories (\(\gamma < 0\)). When employed in a root-solve procedure, these initial guesses for \(\hat{x}\) and \(\mathrm {\Delta }\omega ^\prime \) will speed up convergence and increase robustness of the root-solve in a universal Vinti orbit propagator.
3.4 Initialization and Root-Solve Procedure
An outline of the initialization and root-solve procedure employed in this study and depicted in Fig. 1 is offered here. For the majority of the algorithm’s initialization phase, the procedure developed in Biria and Russell [17] is used to convert an initial ECI state to initial OS equinoctial elements and compute all the intermediate constants. In other words, the first eight steps in the flow chart follow the procedure in that reference, except that \(\dot{\mathrm {\Omega }}^\prime \) is computed from Eq. (36) and \(p_{1_0},p_{2_0}\) from Eqs. (26–32), the improved algorithm developed in an earlier section. Next, since the current propagator uses universal variables, Getchell’s method [19] is used to compute the coefficients of the six integrals and certain initial values, with subtle differences to avoid indeterminate forms. For the \(\mathrm {\Delta }R_j\) integrals, the coefficients \(A_k\) are computed from Getchell’s equations [19] and the initial values \(e^k V_{k_0}\) are computed from Eqs. (72–74) in Appendix A. Additional constant coefficients generated by the recursive functions \(W_k\) in Eq. (69) and \(e^k V_k\) are computed and stored for later use at this stage, noting that \(e^j\) is factored out of each coefficient such that the exponent matches the number of trigonometric functions multiplied together in a given term. The \(e^j\) factors are discarded from the coefficients and accounted for by grouping them with the appropriate terms in \(V_k\). This bookkeeping process avoids divisions by e that could cause issues for nearly circular orbits when \(e \approx 0\). For the \(\mathrm {\Delta }N_j\) integrals, the coefficients \(C_k, C_{1k}, C_{2k}\) and initial values \(Q^k T_{k_0}\) are required. Expressions for coefficients are given explicitly just before Eq. (13) to compute \(C_k\) for \(\mathrm {\Delta }N_1\), explicitly in Eq. (17) for \(\mathrm {\Delta }N_2\), and in Eq. (25) to compute \(C_{1k}, C_{2k}\) for \(\mathrm {\Delta }N_4\). The \(Q^k T_{k_0}\) terms can be computed from Eqs. (14) and (68).
After computing all of the necessary constants, the next step is to initialize the root-solve. Of the three kinematic equations, the root-solve only involves Eq. (12) for \(\hat{x}\) and Eq. (18) for \(\mathrm {\Delta }\omega ^\prime \). Equation (24) for \(\mathrm {\Delta }\mathrm {\Omega }^\prime \) is decoupled and is not used until after the root-solve. The root-solve is initialized by guessing \(\hat{x}\) and \(\mathrm {\Delta }\omega ^\prime \) using the methods developed in the previous section. Guess \(\hat{x}\) from Eq. (47) in the elliptical case or Eq. (53) in the hyperbolic case, or set \(\hat{x}_{\textrm{guess}} = 0\) in the parabolic case. Guess \(\mathrm {\Delta }\omega ^\prime \) from Eq. (48) in the elliptical case or Eq. (54) in the hyperbolic or parabolic case.
A desired root-solve procedure follows the calculation of the two initial guesses described above, where the one-dimensional root-solve depicted in Fig. 1 searches for the value of the universal variable \(\hat{x}\) that solves Eq. (12). It is one-dimensional in the sense of Vinti’s solution [6] or that of Getchell [19], where the equation governing the OS argument of periapsis, \(\omega ^\prime \), is used in an intermediate step. In those references, with \(J_3 = 0\), the equation for \(\omega ^\prime \) is used to sequentially obtain the value of \(\psi \). In the current approach, where the value of \(\mathrm {\Delta }\omega ^\prime \) is unknown but a good initial guess is available, a straightforward method of successive approximations is applied to Eq. (18) to solve for \(\mathrm {\Delta }\omega ^\prime \) at each iteration of the root-solve on \(\hat{x}\). This approach is taken while acknowledging that better alternatives may exist. For the described outer loop, a Newton–Raphson algorithm combined with a bisection method [28] is used, a technique that Press et al. [28] describe as a fail-safe alternative to the less robust Newton–Raphson method. While robustness may improve with a variable order Laguerre’s method [9, 29], its implementation in this framework is left to future work. For iteration \(j = 0\), set \(\hat{x}_j = \hat{x}_{\textrm{guess}}\) and \(\mathrm {\Delta }\omega ^\prime _j = \mathrm {\Delta }\omega ^\prime _{\textrm{guess}}\), and compute \(\hat{z}_j\), \(C_j\), and \(S_j\) from the definitions described in Biria [23], \(\mathrm {\Delta }f_j\) from Eq. (84), and \(\mathrm {\Delta }\psi _j\) from
As a safeguard, a quadrant check is performed to ensure \(\textrm{sgn}\left( \mathrm {\Delta }f_j\right) = \textrm{sgn}\left( \mathrm {\Delta }t\right) \), which could be violated near the full-rev boundary if the derivatives are inaccurate; \(\mathrm {\Delta }f_j\) is appropriately shifted to the range \(\left[ 0, \textrm{sgn}\left( \mathrm {\Delta }t\right) 2\pi \right] \) as necessary. The quantities \(\mathrm {\Delta }R_{1_j}\) and \(\mathrm {\Delta }N_{1_j}\) are required to calculate the right-hand side of Eq. (12). Compute \(\mathrm {\Delta }W_{k_j}\) from Eq. (70) and \(\mathrm {\Delta }R_{1_j}\) from
Also compute \(\mathrm {\Delta }R_{2_j}\) in the outer loop as
To obtain \(\mathrm {\Delta }N_{1_j}\), a converged value of \(\mathrm {\Delta }\omega ^\prime _j\) is required, which is furnished by the method of successive approximations. First, for iteration \(i = 0\), set \(\mathrm {\Delta }\omega ^\prime _{ji} = \mathrm {\Delta }\omega ^\prime _j\) and \(\mathrm {\Delta }\psi _{ji} = \mathrm {\Delta }\psi _j\), and compute \(\mathrm {\Delta }(Q^k T_{k})_{ji}\) from Eqs. (15) and (65–68). Then, compute \(\mathrm {\Delta }\omega ^\prime _{j(i+1)}\) from Eq. (18). If \(|\mathrm {\Delta }\omega ^\prime _{j(i+1)} - \mathrm {\Delta }\omega ^\prime _{ji}| > 10^{-12}\) or a desired tolerance, apply Eq. (55) to update \(\mathrm {\Delta }\psi _{ji}\) to \(\mathrm {\Delta }\psi _{j(i+1)}\), set \(i = i + 1\), and return to Eq. (15). Otherwise, \(\mathrm {\Delta }\omega ^\prime _{j(i+1)}\) has converged to within the desired tolerance, which was found to take only a few iterations in practice since the initial guess is a good estimate. Use Eqs. (55) and (15) to update \(\mathrm {\Delta }\psi _{ji}\) and \(\mathrm {\Delta }(Q^k T_{k})_{ji}\) one more time, respectively, and then compute \(\mathrm {\Delta }N_{1_j}\) as
and the right-hand side of Eq. (12) as \(\mathrm {\Delta }t_j = \mathrm {\Delta }R_{1_j} + c^2 \mathrm {\Delta }N_{1_j}\). The Newton update \(\mathrm {\Delta }\hat{x}_j\) can be obtained from
where
and its derivative
is obtained from Eqs. (86), (92), and (93), with computational details on the first derivatives given in Appendix C, to be calculated in the outer loop. Using a simple stopping criterion like the one in Curtis [16], if the update \(|\mathrm {\Delta }\hat{x}_j| > 10^{-12}\) or a desired tolerance, set \(j = j + 1\), update \(\hat{x}_j\), \(\hat{z}_j\), \(C_j\), \(S_j\), \(\mathrm {\Delta }f_j\), and return to Eq. (55) to update \(\mathrm {\Delta }\psi _j\) and repeat the process, including the evaluation of Eq. (18) as part of the method of successive approximations. Otherwise, \(\hat{x}_j\) has converged to within the desired tolerance and the root-solve is terminated. Then, compute \(\mathrm {\Delta }\mathrm {\Omega }^\prime \) from Eqs. (24–25). Note that any desired one-dimensional root-solve on \(\hat{x}\) could be substituted into the above process, but it must be ensured that any time \(\hat{x}\) is updated, such as right before terminating the root-solve, all derived quantities that flow from \(\hat{x}\) need to be updated as well to be consistent, including \(\mathrm {\Delta }f\), \(\mathrm {\Delta }\psi \), \(\mathrm {\Delta }W_k\), \(\mathrm {\Delta }(Q^k T_{k})\), and the evaluation of Eq. (18) as part of the method of successive approximations.
At this stage in the propagator, differential OS orbital elements have been obtained for the classical OS elements that vary with time: \(\mathrm {\Delta }f\) and UVs for the anomalistic motion, and \(\mathrm {\Delta }\omega ^\prime \) and \(\mathrm {\Delta }\mathrm {\Omega }^\prime \) to describe the total drift of the trajectory within the rotating OS orbital plane and the total drift of the OS orbital plane itself, respectively. The intermediate determination of the secular drift and evolution of the system [6] has been circumvented, and singular elements have been bypassed. If indeterminate calculations are to be avoided, a nonsingular orbital reference frame is required to map the state back to the ECI frame, and the OS equinoctial reference frame can be employed again for this purpose.
3.5 Propagating OS Equinoctial Elements
At the conclusion of the root-solve and after solving for \(\mathrm {\Delta }\mathrm {\Omega }^\prime \), three of the relevant equinoctial elements can be propagated, which amounts to adding \(\mathrm {\Delta }L\) to the initial true longitude \(L_0\) as
and appropriately rotating the OS ascending node vector by \(\mathrm {\Delta }\mathrm {\Omega }^\prime \) as
Then, with the final \(\dot{\mathrm {\Omega }}^\prime \) obtained from Eq. (36) and \(\dot{\rho }\) and \(\dot{\eta }\) from Eqs. 21 and 17 in Vinti [22], respectively, as
where \(e\sin f\) and \(Q\sin \psi \) are computed from angle sum identities and \(\dot{f}\) and \(\dot{\psi }\) from Biria and Russell [17], the transformation to ECI coordinates is almost complete. Finally, the steps outlined in Biria and Russell [17] can be followed to compute the remaining final scalar time derivative, \(\dot{L}\), final OS equinoctial unit vectors, \(\hat{\textbf{f}}\) and \(\hat{\textbf{g}}\), their time derivatives, \(\varvec{\dot{{\hat{\textrm{f}}}}}\) and \(\varvec{\dot{{\hat{\textrm{g}}}}}\), and ultimately the ECI position and velocity.
3.6 Mitigating Degradation of Accuracy in Elliptical Many-Rev Scenarios
In elliptical many-rev scenarios, \(\mathrm {\Delta }t\), \(\hat{x}\), \(\hat{z}\), and root-solved angular quantities can grow very large if a naive approach is adopted that does not leverage knowledge of the orbital period, incurring computational errors that grow over time and become large for ultra-high-rev scenarios. To avoid this degradation of accuracy, a robust version of the universal Vinti orbit propagator should reduce the TOF and angular quantities to a range within a single orbital period. Such a reduction is complicated to achieve under the Vinti potential, but it is possible and has been implemented in this work.
Under Keplerian dynamics, it is trivial to apply the modulo operation to the orbital period to achieve the desired reduction [4]. When this approach is adapted to the Vinti propagator developed in this study, however, the orbital “period” is not constant; it is slightly different for each rev, where the (anomalistic) period is defined here as the time it takes for \(| \mathrm {\Delta }f|\) to go from 0 to 2\(\pi \) for a particular rev. The desired quantity then becomes the time \(\mathrm {\Delta }t_N\) required to complete N revs, which can be found iteratively. The iteration required is nowhere near as complex as the root-solve depicted in Fig. 1, mainly because \(\mathrm {\Delta }\omega ^\prime _N\) is the only unknown, with \(\mathrm {\Delta }f_N = \textrm{sgn}\left( \mathrm {\Delta }t\right) 2\pi N\), \(\hat{x}_N = \textrm{sgn}\left( \mathrm {\Delta }t\right) \sqrt{a} 2\pi N\), \(\hat{z}_N = (2\pi N)^2\), \(C(\hat{z})_N = 0\), and \(S(\hat{z})_N = 1/\hat{z}_N\). The propagator uses the method of successive approximations to iteratively solve Eq. (18) for \(\mathrm {\Delta }\omega ^\prime _N\) with the initial guess \(\mathrm {\Delta }\omega ^\prime _N = \textrm{sgn}\left( \mathrm {\Delta }t\right) \dot{\omega }_s^\prime t_p N_{\textrm{guess}}\), and then, once converged, it is trivial to compute \(\mathrm {\Delta }t_N\) from Eq. (12). Computational details, including a method for guessing N, are provided in Appendix D. The implied small increase in compute time is considered a small sacrifice in exchange for accuracy preservation.
4 Examples: Universal Propagator Accuracy, Speed, and Robustness
Having introduced, in full, a novel Vinti orbit propagator, the performance of the presented algorithm must be assessed in terms of accuracy, runtime, and robustness. First, accuracy is evaluated for a small set of carefully chosen orbital regimes of interest. Then, computational speed is measured from a large set of random initial conditions, from which robustness statistics are also extracted. Finally, additional performance comparisons are made to the benchmark Vinti6 algorithm [2].
4.1 Accuracy
The accuracy of Vinti dynamics has been evaluated against spherical harmonics techniques in multiple prior studies [11, 30, 31] and is not examined further in this work. The modeling of non-conservative forces under Vinti’s potential has been explored as well, Vinti [32] and Tong and Wu [33] taking a generalized approach while Sherrill [34] and Watson et al. [35] focused on atmospheric drag. While perturbations due to non-conservative forces are important for certain applications, they are outside the scope of this work. Instead, the present work focuses on evaluating the accuracy of the third-order approximation of the \(R_j\) and \(N_j\) integrals in different orbital regimes and the computational runtime of the proposed universal Vinti propagator.
The propagator’s accuracy in four different orbital regimes is examined in Fig. 2 to validate the approach and implementation, with ICs for each scenario given in Table 1. Other parameters are \(\mu = 3.986004415 \times 10^{5}\) km\(^3\)/sec\(^2\), \(R_e = 6378.137\) km, and \(J_2 = 1.082636022984 \times 10^{-3}\). Depending on the orbital regime, the trajectories are initialized with Keplerian mean anomaly, \(M_k\), or true anomaly, \(f_k\). The examples include a geostationary orbit (GEO) (Fig. 2a) and a Molniya orbit (Fig. 2b) taken directly from Appendix C in Der and Bonavito [2], in addition to two examples of inclined escape trajectories: an exactly parabolic case (Fig. 2c) and a retrograde hyperbolic case (Fig. 2d). Figure 2 shows the 3D trajectory and log-scale position error for each example. The position error metric is the magnitude of the vector error between the third-order analytical solution and the numerically integrated equations of motion in ECI coordinates [36]. Numerical integration is performed in MATLAB using ode45, a variable-step fourth-order Runge–Kutta method, with a \(2.224 \times 10^{-14}\) relative accuracy tolerance and a \(1.0 \times 10^{-20}\) absolute tolerance. In the Vinti propagator, the tolerance on \(\mathrm {\Delta }\omega ^\prime \) is set to \(10^{-15}\) rad in both the primary and full-rev root-solve algorithms, to extract as much accuracy as possible, and \(\hat{x}\) is iterated upon until the solution cannot be further improved in double precision. The accuracy and reliability of the propagator is found to be high across all orbital regimes, with errors in Fig. 2 seen to be within about \(10^{-8}\) km over a range of flight times for escape trajectories and within roughly \(10^{-6}\) km for long many-rev propagations up to 20 days. OS Lagrange coefficients are used to help assess and monitor convergence [23]. The secular error growth observed may be attributed to two factors: 1) the computation of approximate orbital element coordinates (the momenta are computed to double-precision accuracy), meaning the representation of the Vinti trajectory in orbital element space does not exactly match its representation in initial ECI coordinates; 2) the secular terms in the propagation step are only accurate to the third order in \(J_2\). Additional testing showed that the present algorithm generally matches the accuracy of the Vinti6 algorithm [2] when the many-rev accuracy retention measure is applied. These details are presented in Section 4.3 along with some runtime comparisons.
In accordance with the goals of this work, the long propagation times described above are chosen to assess the algorithm’s performance and identify any limitations, not to demonstrate its performance in practice. For example, while a Vinti GEO propagation of a few days may be useful in preliminary mission design, time spans in a catalog building application may be limited to a day or so and is subject to nonphysical constraints like data processing schedules. That being said, the practicality of long Vinti propagations in GEO depends not only on the application, but also on how the algorithm is used. As noted by Getchell [19], for comparisons to perturbation theories or numerical integration, fitting the Vinti solution to an ephemeris would extract the greatest performance from the algorithm, where principal differences would be due to neglecting equatorial obliquity.
The results above also shed light on some important qualitative differences that can occur between various dynamical models. In particular, Fig. 2c is a notable example of a set of ICs that leads to a qualitative discrepancy between the Kepler and Vinti propagators. Two-body dynamics predict a bounded orbit with \(e_k =\) 0.99998 (see Table 1 for the exact value), while Vinti dynamics predict an escape trajectory with \(e =\) 1.0, which is exactly parabolic. Other tests identified cases where the inverse occurs, where the Keplerian dynamics predict an escape trajectory and the Vinti dynamics predict a bounded one. For objects orbiting oblate bodies, the Vinti theory offers a quick way to evaluate boundedness more accurately, of practical importance for preliminary, interplanetary mission design that typically starts with two-body dynamics. When considering orbit insertion at Saturn, for example, such oblateness effects would be even more pronounced, and employing a universal Vinti propagator would imply a more efficient orbit design process.
4.2 Speed and Robustness
Computational speed and robustness are evaluated on an HP EliteBook 830 G5 laptop computer with an Intel Core i5-8350U CPU operating at a base speed of 1.9 GHz with 16 GB of RAM. The maximum speed at which a single one of these cores is capable of operating is 3.6 GHz, and the CPU operated at this maximum speed during tests, where the universal Vinti propagator is benchmarked in runtime against a universal Kepler propagator. Both algorithms are implemented in Fortran 90 and compiled with Intel Fortran Compiler Classic for Windows in 64-bit mode with O3 and Qip optimization settings enabled. ICs and times of flight are given in Table 2: 1,536,000 ICs spanning a range of orbital regimes are propagated for \(\mathrm {\Delta }t\) values ranging from 1 sec to 1 day, specifically for [1; 10; 100; 1,000; 10,000; 86,400] sec, totaling 9,216,000 function calls. For each of \(r_{p_k}\), \(e_k\), and \(i_k\), 40 samples are randomly chosen from a uniform distribution, except that the exact values \(r_{p_k} =\) 2,500 km, \(e_k =\) (0, 1), and \(i_k =\) (0, 90, 180) deg are explicitly sampled. The value of \(\mathrm {\Omega }_k\) is explicitly set to 60 deg for all ICs because RAAN intuitively should not affect convergence properties or runtime; the values of \(\omega _k\) and \(f_k\) are similarly not random and are explicitly given in Table 2, overall ensuring the inclusion of potential stress cases associated with the following orbit types: nearly circular and/or exactly equatorial (direct and retrograde), exactly polar, initialized exactly on a pole, and nearly parabolic (both elliptical and hyperbolic).
For the described times of flight and ICs, the Vinti algorithm described above only takes \(\approx \) 4.15 \(\upmu \hbox {s}\) on average to compute a set of final ECI position and velocity vectors. The tolerance on \(\mathrm {\Delta }\omega ^\prime \) for this data set is reduced to \(10^{-13}\) rad in the main root-solve because the additional accuracy is not considered worth the trade in runtime. The Vinti propagator produces zero errors and is found to be only \(\approx \) 3.98 times slower than a comparable universal Kepler propagator based on the Bate et al. [4] formulation, which takes an average of \(\approx \) 1.04 \(\upmu \hbox {s}\) on the same machine and also produces zero errors. As before, both algorithms are set up to iterate until the solution cannot be further improved in double precision. Runtimes observed here are consistent with Der and Bonavito’s findings [2], where the Vinti propagators they examined, which add \(J_3\) to the baseline Vinti dynamics via Vinti’s asymmetric potential [14, 15], run five times slower than a Kepler propagator on average. It should be noted that other known universal Vinti propagators [2] require a function call to a universal Kepler propagator to obtain an initial guess for the independent UV in the Vinti algorithm. In contrast, the initial guesses implemented in the current algorithm are simple closed-form expressions that can be computed quickly. Assuming an average 1.04-\(\upmu \hbox {s}\) Kepler call, the current Vinti propagator is saving about \((1 - 4.15~\upmu \textrm{s}/5.19~\upmu \textrm{s}) \times 100 =~20\%\) in runtime relative to an identical implementation using a Kepler initial guess, which highlights the value of the proposed initial guess technique. Note that the baseline Kepler propagators are not identical between the current study and those performed by Der and Bonavito [2]. As such, conclusions on the relative computational speeds of the current algorithm and propagators like Vinti6 cannot be drawn with the given information. The direct runtime comparisons required to assess the efficiency of the Vinti6 algorithm are explored in the following section.
4.3 Comparisons to the Vinti6 Algorithm
For completeness, the presented Vinti propagator is directly compared to the Fortran version of Vinti6 [2] in terms of accuracy, robustness, and computational efficiency. Accuracy and robustness are compared in Fig. 3 using the same four examples defined in Table 1. While Vinti6, which is based on Vinti’s asymmetric potential [14], is capable of modeling both \(J_2\) and \(J_3\), the \(J_3\) effects are omitted (set to zero) to increase the fairness of the accuracy and robustness comparisons, the number of mathematical computations in the code remaining unchanged. Note that, before performing the comparisons, the author corrected an error in the original Vinti6 Fortran code located inside the root-solve, where the code originally exits the loop upon convergence without updating \(\psi \) and subsequently the \(T_k\) functions. The algorithm error is eliminated by removing line 614 and inserting it immediately after line 628 in the code.Footnote 2 Evidently, this correction is only needed in the Fortran version of Vinti6 and not in the C version. Now, to obtain accuracy assessments for Vinti6, the error metric discussed in the previous section is simply applied to the Vinti6 outputs and that error is plotted side-by-side with the error in Fig. 2. Der and Bonavito [2] note that Kepler1, the default Kepler propagator in Vinti6, may be replaced with any UV Kepler propagator, and so it is replaced with the Kepler propagator described in the previous section to make the comparisons as fair as possible. This choice to replace the Kepler algorithm promotes a fair comparison from the perspective of both robustness, since its robustness is demonstrated in the previous section, and runtime, since the measured runtime is recorded in the previous section. The panels in Fig. 3 are arranged in the same order as the panels in Fig. 2 to make comparisons easier.
Focusing first on Fig. 3b, d, which are the Molniya and hyperbolic cases, respectively, Vinti6 is observed to agree almost exactly with the presented algorithm. This level of agreement is expected because the approximations in both algorithms are correct to \(O(J_2^3)\) and both leverage some form of universal variables. However, in Fig. 3a, c, which are the GEO and parabolic cases, respectively, there are some clear discrepancies. Over the chosen time spans, while the presented Vinti propagator maintains millimeter-level or better accuracy, the Vinti6 errors are consistently on the order of a few kilometers for these two examples, representing two orbital regimes that should be easily handled by universal techniques, but which are not handled well by Vinti6. Further investigation suggested that the large Vinti6 errors result from the algorithm converging to poor solutions for the GEO and parabolic examples. Based on the GEO results and a few additional quick tests, the accuracy degradation is found to exist for nearly circular and/or equatorial orbits and is worse for the exactly equatorial scenario. Further study is required to understand the cause of the parabolic discrepancy. The findings not only indicate that the presented Vinti propagator is a significant improvement over a well-known benchmark, but they also suggest that the coupling of UVs to equinoctial orbital elements is a necessary theoretical development for enhancing the robustness of analytical Vinti orbit propagators.
Given the unequal levels of robustness observed between the presented Vinti propagator and Vinti6, it may be considered unfair to perform a runtime comparison of the two algorithms. The lack of robustness in one algorithm raises a number of challenges for runtime comparisons and raises questions on the usefulness of making the assessment. Generally, such a measurement of the computational speed of Vinti6 could be misleading. One area of concern is that when Vinti6 converges to poor solutions, the algorithm may converge more quickly or slowly than average, depending on the situation, which could unfairly benefit or hurt its performance. Further study would be required to determine if the convergence to poor solutions is predictable. Nevertheless, it is considered worthwhile to still evaluate the average Vinti6 runtime for archival purposes. For the times of flight and ICs specified in Table 2, Vinti6 takes an average of \(\approx \) 2.30 \(\upmu \hbox {s}\) to compute final ECI state vectors on the same machine described in Section 4.2. While Vinti6 can potentially compute a solution in 55% of the time as the presented Vinti propagator on average, the presented orbit propagator is much more robust. The practitioner must decide whether trading robustness for speed is acceptable for their application, keeping in mind that the speedup offered by Vinti6 may be less in practice because the runtime measured in this study includes Vinti6 solutions that failed to converge correctly. The speed and robustness of Vinti6 also has a strong dependence on the speed and robustness of the underlying UV Kepler propagator, which must be taken into consideration when deciding which algorithm to use.
5 Conclusions
A universal analytical solution is developed for Vinti’s symmetric, unperturbed dynamical problem, which uses oblate spheroidal (OS) geometry to add planetary oblateness to the dynamics. Standard OS universal variables are meshed with OS equinoctial orbital elements to eliminate all singularities and computational difficulties from the solution, rendering it universally valid for bounded and unbounded trajectories at any inclination, including polar and direct or retrograde equatorial orbits. The forbidden zone associated with nearly rectilinear orbits, a rarely encountered region in practice, remains the only regime for which an analytical solution is not known. Central to this approach, a generalized universal Kepler equation is developed, and a two-tier, nested root-solve is proposed to solve it, where steps are taken to guarantee that the simpler inner root-solve converges in a few iterations. Interestingly, the entire root-solve is viewed as operating in a rotating OS orbital reference frame, and the equinoctial elements enable a nonsingular mapping between this frame and the inertial frame. The algorithm design permits forward or backward propagation.
The presented Vinti solution is obtained with notable simplifications and improvements in accuracy relative to earlier solutions. In particular, the coordinate transformations between inertial position and velocity and OS equinoctial elements are now exact, where they previously relied on approximations to evaluate the transformations near the poles. Exactness is enabled by the derivation of an exact, nonsingular representation of the rate at which the OS ascending node drifts over time. The computation of OS ascending node vector components from inertial coordinates is also simplified using a new approach based on vectors that streamlines the algorithm. Otherwise, the accuracy of the solution is as high as previous analytical solutions, where the quartics are factored to double-precision accuracy and the integrals are evaluated to an accuracy of \(O(J_2^3)\). A technique to preserve solution accuracy in many-rev scenarios is also offered. Ultimately, with these mechanisms in place, the new Vinti propagator is demonstrated to be more robust than the benchmark Vinti6 with \(J_3 = 0\), especially in the nearly circular, equatorial, and parabolic regimes. When applied at Earth, the implemented Vinti algorithm, which includes novel, simple initial guess techniques that do not require a Kepler solution, is only slower than a universal Kepler propagator by a factor of 4.0 on average. The new Vinti algorithm is slower than Vinti6 by an average factor of 1.8, but the increased runtime comes with substantial gains in robustness for popular orbital regimes.
The formulation of a solution to Vinti’s dynamical problem that combines OS universal variables and equinoctial elements implies a level of robustness and efficiency, both expected and observed, that can be passed on to related applications. Depending on the primary body’s shape, preliminary mission design that typically relies on two-body approximations can benefit from the increased accuracy, enjoying a minor sacrifice in compute time relative to two-body propagation and a significant speed boost relative to numerical integration that includes \(J_2\) effects. The solution also prescribes singularity-free partial derivatives and an analytical, universal state transition matrix that is nonsingular for bounded and unbounded orbits in any nondegenerate orbital regime. Finally, the new form of the kinematic equations lends itself to the definition of a boundary value problem as a system of equations, which will be explored in a follow-on study.
Data availability
Not applicable.
Notes
Code is published with the cited journal articles and is also available from this website: https://sites.utexas.edu/russell/publications/code/vinti/
The Fortran code on line 614 in the original Vinti6 algorithm [2] is: if (iflag.eq. 1) go to 60 ! solution converged.
References
Vinti, J.P.: New method of solution for unretarded satellite orbits. J. Res. Natl. Bur. Stand. 63B(2), 105–116 (1959). https://doi.org/10.6028/jres.063B.012
Der, G.J., Bonavito, N.L. (eds.): Orbital and Celestial Mechanics, Progress in Astronautics and Aeronautics, vol. 177. American Institute of Aeronautics and Astronautics, Reston (1998)
Battin, R.H.: An Introduction to the Mathematics and Methods of Astrodynamics. AIAA Education Series, revised American Institute of Aeronautics and Astronautics Inc, Reston (1999)
Bate, R.R., Mueller, D.D., White, J.E.: Fundamentals of Astrodynamics. Dover Publications Inc, Mineola (1971)
Izsak, I.G.: A theory of satellite motion about an oblate planet—I. A second-order solution of Vinti’s dynamical problem. Tech. rep., Smithsonian Institution Astrophysical Observatory, Special Report No. 52 (1960)
Vinti, J.P.: Theory of an accurate intermediary orbit for satellite astronomy. J. Res. Natl. Bur. Stand. 65B(3), 169–201 (1961). https://doi.org/10.6028/jres.065B.017
Mathúna, D.O.: Integrable Systems in Celestial Mechanics. Birkhäuser, Boston (2008)
Vallado, D.A.: Fundamentals of Astrodynamics and Applications, 3rd edn. Microcosm Press, El Segundo (2007)
Der, G.J.: The superior Lambert algorithm. In: Advanced Maui Optical and Space Surveillance Technologies (AMOS) Conference, Maui, HI (2011)
Wright, S.P.: Orbit determination using Vinti’s solution. PhD thesis, Supervisor: Dr. William E. Wiesel, Air Force Institute of Technology, Wright-Patterson Air Force Base, OH (2016)
Biria, A.D., Russell, R.P.: A satellite relative motion model including \(J_2\) and \(J_3\) via Vinti’s intermediary. Celest. Mech. Dyn. Astron. 130(3), 23 (2018). https://doi.org/10.1007/s10569-017-9806-4
Biria, A.D., Russell, R.P.: Analytical solution to the Vinti problem in oblate spheroidal equinoctial orbital elements. J. Astronaut. Sci. 67(1), 1–27 (2020). https://doi.org/10.1007/s40295-019-00179-y
Cerf, M.: Multiple space debris collecting mission—debris selection and trajectory optimization. J. Optim. Theory Appl. 156(3), 761–796 (2013). https://doi.org/10.1007/s10957-012-0130-6
Vinti, J.P.: Invariant properties of the spheroidal potential of an oblate planet. J. Res. Natl. Bur. Stand. 70B(1), 1–16 (1966). https://doi.org/10.6028/jres.070B.002
Vinti, J.P.: Inclusion of the third zonal harmonic in an accurate reference orbit of an artificial satellite. J. Res. Natl. Bur. Stand. 70B(1), 17–46 (1966). https://doi.org/10.6028/jres.070B.003
Curtis, H.D.: Orbital Mechanics for Engineering Students, 4th edn. Butterworth-Heinemann, Oxford (2019)
Biria, A.D., Russell, R.P.: Equinoctial elements for Vinti theory: generalizations to an oblate spheroidal geometry. Acta Astronaut. 153(1), 274–288 (2018). https://doi.org/10.1016/j.actaastro.2017.11.013
Wiesel, W.E.: Numerical solution to Vinti’s problem. J. Guid. Control. Dyn. 38(9), 1757–1764 (2015). https://doi.org/10.2514/1.G000661
Getchell, B.C.: Orbit computation with the Vinti potential and universal variables. J. Spacecr. Rocket. 7(4), 405–408 (1970). https://doi.org/10.2514/3.29954
Herrick, S.: Astrodynamics, vol. 1. Van Nostrand Reinhold Company, London (1971)
Lang, T.J.: Spheroidal solution for unbounded orbits about an oblate planet. Master’s thesis, Massachusetts Institute of Technology, Cambridge, MA (1969)
Vinti, J.P.: Improvement of the spheroidal method for artificial satellites. Astron. J. 74(1), 25–34 (1969). https://doi.org/10.1086/110770
Biria, A.D.: The Lagrange coefficients of Vinti theory. Celest. Mech. Dyn. Astron. 132(5), 26 (2020). https://doi.org/10.1007/s10569-020-09966-4
Biria, A.D.: Using Vinti’s intermediary to define an unperturbed boundary value problem with planetary oblateness. In: AAS/AIAA Astrodynamics Specialist Conference, Univelt, Inc., San Diego, CA, Advances in the Astronautical Sciences, vol. 181, Paper AAS 22-518 (2022)
Biria, A.D.: The Oblate Lambert problem: geometric formulation and solution of an unperturbed, generalized Lambert problem governed by Vinti’s potential. J. Astronaut. Sci. (2023). https://doi.org/10.1007/s40295-023-00388-6
Ford, L.R.: The solution of equations by the method of successive approximations. Am. Math. Mon. 32(6), 272–287 (1925). https://doi.org/10.2307/2299139
Danielson, D.A., Sagovac, C.P., Neta, B., Early, L.W.: Seminanalytic satellite theory. Tech. Rep. NPS Report NPS-MA-95-002, Naval Postgraduate School Department of Mathematics, Monterey, CA (1995)
Press, W.H., Flannery, B.P., Teukolsky, S.A., Vetterling, W.T.: Numerical Recipes. Cambridge University Press, Cambridge (1986)
Conway, B.A.: An improved algorithm due to Laguerre for the solution of Kepler’s equation. Celest. Mech. 39(2), 199–211 (1986). https://doi.org/10.1007/BF01230852
Gordon, R.A., Mistretta, G.D., Watson, J.S.: A comparison of classical analytic theories for the motion of artificial satellites. J. Guid. Control 2(3), 184–189 (1979). https://doi.org/10.2514/3.55859
Bonavito, N.L., Watson, S., Walden, H.: An accuracy and speed comparison of the Vinti and Brouwer orbit prediction methods. Tech. Rep. TN D-5203, National Aeronautics and Space Administration, Washington, DC (1969)
Vinti, J.P.: Gaussian variational equations for osculating elements of an arbitrary separable reference orbit. Celest. Mech. 7(3), 367–375 (1973). https://doi.org/10.1007/BF01227856
Tong, F., Wu, L.: Perturbation equations of the elements of Vinti’s intermediate orbit. Chin. Astron. Astrophys. 5(3), 282–294 (1981). https://doi.org/10.1016/0275-1062(81)90048-5
Sherrill, T.J.: Development of a satellite drag theory based on the Vinti formulation. PhD thesis, Supervisor: Dr. Leland E. Cunningham, University of California, Berkeley, Berkeley, CA (1966)
Watson, J.S., Mistretta, G.D., Bonavito, N.L.: An analytic method to account for drag in the Vinti satellite theory. Celest. Mech. 11(2), 145–177 (1975). https://doi.org/10.1007/BF01230543
Der, G.J., Danchick, R.: Trajectory propagation over very short time spans. In: Proceedings of the AAS/AIAA Astrodynamics Specialist Conference, Univelt, Inc., San Diego, CA, Advances in the Astronautical Sciences, vol. 97, pp. 1331–1347, Paper AAS 97-686 (1998)
Funding
Open access funding provided by SCELC, Statewide California Electronic Library Consortium.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
On behalf of all authors, the corresponding author states that there is no conflict of interest.
Appendices
Appendix A: Computational Details for Kinematic Equations
Recall Eq. (15) as
and observe that
For the \(\mathrm {\Delta }W_k\) terms, note first from Getchell [19] that if \(W_0 = f\) and \(W_1 = (f+ e V_1)/p\), then
Equation (69) can be differenced at two times to obtain \(\mathrm {\Delta }W_k\) as
where powers of eccentricity are grouped with the \(V_k\) terms in the same way that powers of Q are grouped with the \(T_k\) terms to avoid angle ambiguities. Specifically, recalling that Getchell [19] writes the recursive function \(V_k\), seeded with \(V_0 = f\) and \(V_1 = \sin f\), as
the \(e^k V_k\) terms for \(k > 0\) can be expressed as
where
To better see how computations of \(\mathrm {\Delta }W_k\) may be carried out, it is convenient to split \(\mathrm {\Delta }W_k\) into secular and periodic parts. Due to the recursive generation of terms defined in Eqs. (70) and (72), the secular terms contain \(\mathrm {\Delta }f\) with various constant coefficients, while the periodic terms have the form
with different constant coefficients.
Appendix B: Secular Coefficients
Getchell’s secular coefficients [19] are related to Vinti’s coefficients [6] on the left-hand side as
If using these relations to compute the third coefficients, assume \(\alpha _3\) is factored out of \(C_{R_3}\) and \(C_{N_3}\) so that \(\alpha _3\) cancels; Vinti’s “A” coefficients indeed go to zero for parabolic orbits. The secular coefficients are given explicitly to order \(O(J_2^3)\) as
Appendix C: First Derivatives for the Initial Value Problem
In Vinti dynamics, as in Keplerian dynamics, the universal variable \(\hat{x}\) is the variable being root-solved in the solution of the IVP and other variables depend on \(\hat{x}\). Therefore, first derivatives with respect to \(\hat{x}\) are required in any Newton-Raphson procedure. Straightforward derivatives are presented first for completeness, and a simpler, more efficient alternative, which is actually implemented in the propagator, is presented second.
Now, notice that \(\mathrm {\Delta }f\) appears in the kinematic equations, which means its derivative with respect to \(\hat{x}\) is needed. Biria [23] derives a relationship between \(\mathrm {\Delta }f\) and \(\hat{x}\) under the Vinti potential as
Solving Eq. (84) for \(\mathrm {\Delta }f\), taking the derivative with respect to \(\hat{x}\), and simplifying the result yields
after using the \(\hat{S^\prime }^2 - \gamma \hat{S}^2 = 1\) identity, and
after further simplifications. The derivative of \(\mathrm {\Delta }\psi \) with respect to \(\hat{x}\) is also needed because \(\mathrm {\Delta }N_1\) is a function of \(\mathrm {\Delta }\psi \). Noting that \(\mathrm {\Delta }\psi \) is obtained from a root-solve of Eq. (16) given \(\mathrm {\Delta }f\), the derivative of that root-solve procedure can be obtained by setting
and computing the derivative of \(\mathrm {\Delta }\psi \) with respect to \(\mathrm {\Delta }f\) as
where the required derivatives of \(\mathrm {\Delta }R_2\) and \(\mathrm {\Delta }N_2\), respectively, can be obtained explicitly as
and
The simplest way to evaluate the RHS derivatives in Eq. (89) is to note that taking the derivative of \(\mathrm {\Delta }W_k\) with respect to \(\mathrm {\Delta }f\) recovers the original integrand that generates the recursive function. The derivatives can be stated in terms of the integrand, found in Eq. 24 of Getchell [19], as
Equation (91) is the simplest expression for computing the derivative, and it can be further verified if desired by evaluating Eqs. (104) and (105). The RHS partial derivatives in Eq. (90) can be evaluated with Eqs. (96–97). Finally, multiplying Eq. (88) by Eq. (86) yields the desired result as
With Eq. (86) and Eq. (92) established, the first derivative of the OS time of flight equation, Eq. (12), can be pursued with respect to the independent variable, \(\hat{x}\). The first derivative can be stated as
or it can be simplified to
where \(\rho \) has been substituted into the first term in Eq. (12) using the relation
from Biria [23], Eq. (91) has been substituted, and other derivatives can be computed as
and
Noting \({\textrm{d}\mathrm {\Delta }T_0 / \textrm{d}\mathrm {\Delta }\psi = 1}\), Eqs. (96) and (97) can be written explicitly for even k up to \(k = 6\) as
and
As an alternative to verifying Eq. (91), take the derivative of Eq. (70) with respect to \(\mathrm {\Delta }f\) to give
Taking the first derivative of each secular term will leave only the various constant secular coefficients found from Eqs. (70) and (72). For the periodic terms, taking the derivative of Eq. (75) with respect to \(\mathrm {\Delta }f\) yields
which after multiplying by the associated constant periodic coefficients from Eqs. (70) and (72) results in the desired derivatives of the periodic terms. Sum the secular and periodic terms to obtain the total derivative.
While the above derivatives are technically correct, as the exact derivatives of the approximate equations being root-solved, these derivatives can be approximated very well at Earth by the exact derivatives of the actual \(R_j\) and \(N_j\) integrals to yield extensive simplifications. For the \(N_j\) integrals, the simplifications result from the direct application of elliptic integrals. The \(N_1\) and \(N_2\) integrals can be expressed in terms of the incomplete elliptic integrals of the first and second kind as [2]
where
are the incomplete elliptic integrals of the first and second kind, respectively, and the constant modulus q in Vinti’s notation is related to the parameter \(k_1\) in Getchell’s notation [19] as \(k_1 = q^2 = Q_1 Q^2\). Although the derivative \(\textrm{d} \mathrm {\Delta }N_j / \textrm{d} \mathrm {\Delta }\psi \) is desired for \(j = 1,2\), it is equivalent to \(\textrm{d} N_j / \textrm{d} \psi \) because \(\textrm{d} \psi / \textrm{d} \mathrm {\Delta }\psi = 1\) and the integrals evaluated at \(t_0\) are not a function of \(\mathrm {\Delta }\psi \). Substituting Eq. (107) into Eq. (106) and taking the derivative of the resulting equations for \(N_j\) with respect to \(\psi \) yields simple nonsingular expressions as
after applying Leibniz rule and some algebraic manipulation to eliminate indeterminate forms in \(\textrm{d} N_1/\textrm{d} \psi \) for nearly parabolic orbits. The \(R_j\) integrals are treated similarly, expressed in different forms as
where the integrals on the first line in Eqs. (109) and (110) are taken from Getchell [19] and those on the second line are obtained by substituting Getchell’s differential relationships for \(\rho \),
into the original integrals as needed, noting for Getchell’s \(\hat{X}\) variable that \(\textrm{d} \hat{X} = \textrm{d} \hat{x}\). The \(R_1\) integral is written with respect to \(\hat{x}\) because \(\textrm{d} \mathrm {\Delta }t/\textrm{d} \hat{x}\) is ultimately desired, while that of \(R_2\) is written with respect to \(f\) because \(\textrm{d} \mathrm {\Delta }R_2/\textrm{d} \mathrm {\Delta }f\) is required in Eq. (92). Note that \(\textrm{d} \mathrm {\Delta }R_1 / \textrm{d} \hat{x}\) is equivalent to \(\textrm{d} R_1 / \textrm{d} \hat{x}\) and \(\textrm{d} \mathrm {\Delta }R_2 / \textrm{d} \mathrm {\Delta }f\) to \(\textrm{d} R_2 / \textrm{d} f\) for reasons analogous to those cited for the \(N_j\) integrals and because \(\textrm{d} f/ \textrm{d} \mathrm {\Delta }f= 1\). Taking the derivatives of Eqs. (109) and (110) with respect to \(\hat{x}\) and \(f\), respectively, yields simple nonsingular expressions as
and
Finally, the derivative of Eq. (12) can be computed as
by substituting the appropriate expressions from Eqs. (108), (112), (113), (86), and (92), the latter simplifying to
This exact version of Eq. (94) can be written explicitly as
Appendix D: Computational Details for Retaining Propagator Accuracy
The true number of complete revs N traversed in the specified TOF \(\mathrm {\Delta }t\) would ideally be known beforehand, but it is unavailable. Instead, the algorithm requires an initial guess of the number of full revs, \(N_{\textrm{guess}}\), first estimated as \(N_{\textrm{guess}} = \lfloor | \mathrm {\Delta }t | / t_p \rfloor \). If a multiple-rev case is estimated (\(N_{\textrm{guess}} > 0\)), then compute the time \((\mathrm {\Delta }t_N)_{\textrm{guess}}\) required to complete \(N_{\textrm{guess}}\) revs. Once \((\mathrm {\Delta }t_N)_{\textrm{guess}}\) is determined, compute the time remaining after the full revs as \(\mathrm {\Delta }t_R = \mathrm {\Delta }t - (\mathrm {\Delta }t_N)_{\textrm{guess}}\), effectively analogous to a modulo operation on the period. If \({{\,\textrm{sgn}\,}}\mathrm {\Delta }t_R = {{\,\textrm{sgn}\,}}(\mathrm {\Delta }t_N)_{\textrm{guess}}\), then the guess was correct and \(N = N_{\textrm{guess}}\). Otherwise, it is assumed that \(N_{\textrm{guess}} > N\), which would lead to a fatal error if not corrected with \(N = N_{\textrm{guess}} - 1\). The kindred scenario of guessing a number of complete revs that is one less than the true number of complete revs (\(N_{\textrm{guess}} < N\)) is not catastrophic and only slightly degrades the accuracy of the root-solve, comparable to the accuracy obtained when propagating a trajectory between 1 and 2 full revs without performing the modulo operation. A better approach might explicitly determine whether \(N_{\textrm{guess}} > N\) or \(N_{\textrm{guess}} < N\) and treat each case differently, but since the \(N_{\textrm{guess}} < N\) scenario is found to be nearly harmless, the propagation algorithm proceeds with \(N_{\textrm{guess}}\) computed as \(N_{\textrm{guess}} = N_\mathrm {guess_0} - 1\) under either case.
When \(\mathrm {\Delta }t_N\) is obtained, it is essential to also store the values of \(\mathrm {\Delta }\psi _N\) and \(\mathrm {\Delta }\mathrm {\Omega }^\prime _N\), in addition to \((Q^k T_{k_p})_{N}\), the periodic part of \((Q^k T_{k})_{N}\) that serves as the initial value for the reduced problem. It is not necessary to store \((W_k)_N\) because it is 2\(\pi \)-periodic, meaning that \((W_k)_0= (W_k)_N\) if the modulo-2\(\pi \) value of \(f\) is used. As a result, the periodic parts cancel, i.e. \(\mathrm {\Delta }(W_{k_p})_N = 0\), so that \(\mathrm {\Delta }(W_k)_N\) only includes the secular terms: constant coefficients multiplied by \(\mathrm {\Delta }f_N\). In contrast, \(| \mathrm {\Delta }\psi _N | \ne 2\pi N\) in general, typically falling on either side of \(2\pi N\) according to the orbital regime. Note that the subscript “N” notation does not refer to the value obtained after the quantity progresses through N revs, but rather the value obtained after \(\mathrm {\Delta }f\) has progressed through N revs. For example, in a typical application, \(\mathrm {\Delta }t\) is not large enough to cause \(\mathrm {\Delta }\mathrm {\Omega }^\prime \) to even exceed one rev, so that \(| \mathrm {\Delta }\mathrm {\Omega }^\prime _N |\) is much smaller than 2\(\pi N\). With the described mitigation technique, the remainder \(\hat{x}_R\) becomes the root-solved quantity in Eq. (12), and \(\mathrm {\Delta }\omega ^\prime _R\) and \(\mathrm {\Delta }\psi _R\) are adjusted iteratively; \(\mathrm {\Delta }\mathrm {\Omega }^\prime _R\) is obtained at the conclusion of the root-solve, and the full angle differences, computed as
can then be used in Eqs. (62) and (63) to propagate the OS equinoctial elements.
Note that if the Kepler initial guess is used, as in Vinti6 and other Vinti propagation algorithms, the number of complete revs N under Vinti dynamics is actually still unknown. The reason is that if the propagation is in the vicinity of a complete rev, then the \(J_2\) perturbation could actually nudge the number of revs forward or backward, depending on the orbital regime. If the spacecraft has barely completed 3 revs under Keplerian dynamics, for example, it is possible that the spacecraft is just shy of 3 complete revs under Vinti dynamics. Conversely, if the spacecraft is just shy of completing 3 revs under Keplerian dynamics, it is possible that the spacecraft is just beyond 3 complete revs under Vinti dynamics. As such, some calculation would still be required to determine the actual number of complete revs under Vinti dynamics, even if the number of complete revs under Keplerian dynamics is known.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Biria, A.D. Revisiting Universal Variables for Robust, Analytical Orbit Propagation Under the Vinti Potential. J Astronaut Sci 70, 29 (2023). https://doi.org/10.1007/s40295-023-00385-9
Accepted:
Published:
DOI: https://doi.org/10.1007/s40295-023-00385-9