The following table contains the common relations to use for elliptic motion. Equation of ellipse is \(\frac {x^{2}}{a^{2}}+\frac {y^{2}}{b^{2}}=1\)
term to find |
relation |
conversion between \(E\) and \(\theta \) |
\(\begin {aligned} \tan \left (\frac {\theta }{2}\right ) &=\sqrt {\frac {1+e}{1-e}}\tan \left ( \frac {E}{2}\right ) \\ \cos E &= \frac {e+\cos \theta }{1+e\cos \theta }\\ \cos \theta &= \frac {e-\cos E}{e\cos E-1} \end {aligned} \) |
position of satellite at time \(t\) Solve for \(E\), then find \(\theta \). \(\tau \) here is time at \(perigee\) and \(n\) is mean satellite speed. |
\(E-e\sin E=n\left ( t-\tau \right )\) |
eccentricity \(e\) |
\(e=\frac {c}{a}=\frac {r_{a}-r_{p}}{r_{a}+r_{p}} =\sqrt {1+\frac {2\mathcal {E}h^{2}}{\mu ^{2}}}\) |
Major axes \(a\) |
\(\begin {aligned} a &= \frac {r_p (1+e)}{1-e^2} \\ &= \frac {r_a (1-e)}{1-e^2} \\ &= -\frac {\mu }{2\mathcal {E}}\\ &= \sqrt {b^{2}+c^{2}}\\ &= \frac {p}{1-e^{2}} \end {aligned} \) |
Minor axes \(b\) |
\(\begin {aligned} b &=a\sqrt {1-e^{2}} \end {aligned} \) |
\(r_p\) |
\(\begin {aligned} r_p &= \frac {a (1-e^2)}{1+e}\\ &= a(1-e) \end {aligned} \) |
\(r_a\) |
\(\begin {aligned} r_a &= \frac {a (1-e^2)}{1-e}\\ &= a\left ( 1+e\right ) \\ &=\frac {h^{2}}{\mu }\frac {1}{1-e} \end {aligned} \) \(\frac {r_{p}}{r_{a}} =\frac {1-e}{1+e}\) |
\(p\) |
\(p=a\left ( 1-e^{2}\right ) =\frac {h^{2}}{\mu }=r_{p}\left ( 1+e\right ) =r_{a}\left ( 1-e\right ) \) |
specific angular momentum \(h\) |
\(\begin {aligned} h &= r_{p}v_{p}=r_{a}v_{a}=\vec {r}\times \vec {v}=\sqrt {p\mu }\\ h &=\sqrt {\mu r} \quad \text {(circular orbit)} \end {aligned} \) |
Total Energy \(\mathcal {E}\) |
\(\mathcal {E}=\frac {v^{2}}{2}-\frac {\mu }{r} =-\frac {\mu }{2a}\) |
velocity \(v\) |
\(\begin {aligned} v &= \sqrt {\mu \left ( \frac {2}{r}-\frac {1}{a}\right ) } \quad \text {(vis-viva)}\\ v_{escape} &=\sqrt {\frac {2\mu }{r}} \quad \text {(escape velocity for parabola)}\\ v_{radial} &=\sqrt {\frac {\mu }{p}}e\sin \theta \\ v_{normal} &=\sqrt {\frac {\mu }{p}}\left ( 1+e\cos \theta \right ) \end {aligned} \) |
\(v_{perigee}\) (closest) |
\(\begin {aligned} v_p &= \sqrt {\frac {\mu }{a}\left ( \frac {1+e}{1-e}\right ) }\\ &= \sqrt {\frac {\mu }{p}}(1+e)\\ &= \sqrt {\mu \left (\frac {2}{r_p} - \frac {1}{a} \right )} \end {aligned} \) |
\(v_{apogee}\) (furthest) |
\( \begin {aligned} v_{a} &= \sqrt {\frac {\mu }{a}\left ( \frac {1-e}{1+e}\right ) }\\ &= \sqrt {\frac {\mu }{p}}(1-e) \\ &= \sqrt {\mu \left (\frac {2}{r_a} - \frac {1}{a} \right )} \end {aligned} \) |
magnitude of \(\vec {r}\) |
\(\begin {aligned} r &= \frac {a\left ( 1-e^{2}\right ) }{1+e\cos \theta }=\frac {h^{2}}{\mu }\frac {1}{1+e\cos \theta }\\ r\cos \theta &= a\left ( \cos E-e\right ) \\ r &= a\left ( 1-e\cos E\right ) \quad \text {(eq 4.2-14 Bate book)} \end {aligned} \) |
period \(T\) |
\(T = \frac {2}{h}\pi ab=2\pi \sqrt {\frac {a^{3}}{\mu }}\) |
mean satellite speed \(n\) |
\(n=\frac {2\pi }{T}=\sqrt {\frac {\mu }{a^{3}}}\) |
eccentric anomaly \(E\) |
\(\tan \frac {\theta }{2}=\sqrt {\frac {1+e}{1-e}}\tan \frac {E}{2}\) |
area sweep rate |
\(\frac {dA}{dt}=\frac {h}{2}\) |
equation of motion |
\(\ddot {\vec {r}}+\frac {\mu }{r^{3}}\vec {r}=0\) |
spherical coordinates relation |
\(\cos (i) = \sin (A_z) \cos (\phi )\) where \(i\) is the inclination and \(A_z\) is the azimuth and \(\phi \) is latitude 1 |
|
|
|
|
Notice in the above, that the period \(T\) of satellite depends only on \(a\) (for same \(\mu \))
In the above, \(\mu =GM\) where \(M\) is the mass of the body at the focus of the ellipse and \(G\) is the gravitational constant. \(h\) is the specific mass angular momentum (moment of linear momentum) of the satellite. Hence the units of \(\frac {h^{2}}{\mu }\) is length.
To draw the locus of the satellite (the small body moving around the ellipse, all what we need is the eccentricity \(e\) and \(a\), the major axes length. Then by changing the angle \(\theta \) the path of the satellite is drawn. I have a demo on this here
See http://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html for earth facts
This table below is from my class EMA 550 handouts (astrodynamics, spring 2014)
\begin {align*} v & =\left \vert \boldsymbol {\vec {v}}\right \vert =\sqrt {\left \vert \boldsymbol {\vec {v}}_{r}\right \vert ^{2}+\left \vert \boldsymbol {\vec {v}}_{n}\right \vert ^{2}}\\ & =\sqrt {\mu \left ( \frac {2}{r}-\frac {1}{a}\right ) } \end {align*}
To find \(\gamma \), if \(r\) is given then use
\[ \cos \gamma =\sqrt {\frac {ap}{r\left ( 2a-r\right ) }}=\sqrt {\frac {a^{2}\left ( 1-e^{2}\right ) }{r\left ( 2a-r\right ) }} \]
If \(\theta \) is given, then use
\[ \tan \gamma =\frac {e\sin \theta }{1+e\cos \theta } \]
This diagram shows the parabolic trajectory
This diagram shows the hyperbolic trajectory
This diagram below from Orbital mechanics for Engineering students, second edition, by Howard D. Curtis, page 109
Showing that energy \(\mathcal {E}=\frac {v^{2}}{2}-\frac {\mu }{r}\) is constant.
Most of such relations starts from the same place. The equation of motion of satellite under the assumption that its mass is much smaller than the mass of the large body (say earth) it is rotating around. Hence we can use \(\nu =GM \) and the equation of motion reduces to \[ \ddot {\vec {r}} + \frac {\mu }{r^{3}} \vec {r} = 0 \] In the above equation, the vector \(\vec {r}\) is the relative vector from the center of the earth to the center of the satellite. The reason the center of earth is used as the origin of the inertial frame of reference is due to the assumption that \(M\gg {m}\) where \(M\) is the mass of earth (or the body at the focal of the ellipse) and \(m\) is the mass of the satellite. Hence the median center of mass between the earth and the satellite is taken to be the center of earth. This is an approximation, but a very good approximation.
The first step is to dot product the above equation with \(\dot {\vec {r}}\) giving
\begin {align} \dot {\vec {r}} \cdot \ddot {\vec {r}} + \dot {\vec {r}} \cdot \frac {\mu }{r^{3}} \vec {r} & = 0 \tag {1} \end {align}
And there is the main trick. We look ahead and see that \(\dot {\vec {r}}\cdot \ddot {\vec {r}}=\dot {r}\ddot {r}\) but \(\dot {r}\ddot {r}=\frac {d}{dt}\left ( \frac {\dot {r}^{2}}{2}\right ) \) and we also see that \(\dot {\vec {r}}\cdot \frac {\mu }{r^{3}}\vec {r}=\mu \frac {\dot {r}}{r^{2}}\) but \(\mu \frac {\dot {r}}{r^{2}}=\frac {d}{dt}\left ( \frac {-\mu }{r}\right ) \) Hence equation 1 above can be written as \[ \frac {d}{dt}\left ( \frac {v^{2}}{2}-\frac {r}{\mu }\right ) =0 \] Hence \[ \mathcal {E}=\frac {v^{2}}{2}-\frac {r}{\mu } \] Where \(\mathcal {E}\) is a constant, which is the total energy of the satellite.
This diagram shows the Hohmann transfer
two cases: Hohmann transfer, 2 burns, or semi-tangential. All burns at equator.
The following are the steps to accomplish the above. The first stage is getting into the Hohmann orbit from planet 1, then reaching the sphere of influence of the second planet. Then we either do a fly-by or do a parking orbit around the second planet. These steps below show how to reach the second planet and do a parking orbit around it.
The input is the following.
Given the above input, there are the steps to achieve the above maneuver
The above completes the first stage, now the satellite is in the Hohmann transfer orbit. Assuming it reached the orbit of the second planet ahead of it as shown in the diagram above. Now we start the second stage to land the satellite on a parking orbit around the second planet at altitude \(alt_{2}\) above the surface of the second planet. These are the steps needed.
An example implementation is below
hohmannRendezvousSameOrbit[\[Theta]00_, r_, alt_, mu_] := Module[{\[Theta]0 = \[Theta]00*Pi/180, n = 1, delT, v1, v2, period, a, rp, ra, done = False, vBefore, vAfter}, ra = r + alt; period = 2 Pi Sqrt[ra^3/mu]; While[Not[done], delT = (n - \[Theta]0 /(2 Pi)) period ; a = First@Select[a /. NSolve[delT == 2 Pi Sqrt[a^3/mu], a], Element[#, Reals] &]; rp = 2 a - ra; If[rp < r,(*we hit the earth, try again*) n = n + 1, done = True ] ]; vBefore = Sqrt[mu/h]; vAfter = Sqrt[mu (2/h - 1/a)]; {delT, 2 (vAfter - vBefore)} (*return value*) ]
And calling the above
mu = 324859; alt = 1475.776; r = 6052; \[Theta]0 = 3.80562; (*degree*) hohmannRendezvousSameOrbit[\[Theta]0, r, alt, mu]
gives
{7123.89, -0.0467913}
An example implementation is below (in Maple)
hohmann_rendezvous_1:= proc({ theta::numeric:=0, r1::numeric:=0, r2::numeric:=0, mu::numeric:=3.986*10^5}) local theta0,thetaH,TOF,a,omega1,omega2,wait_time; theta0 := evalf(theta*Pi/180); a := (r1+r2)/2; TOF := Pi*(sqrt(a^3/mu)); omega1 := sqrt(mu/r1^3); omega2 := sqrt(mu/r2^3); thetaH := evalf(Pi*(1-((r1+r2)/(2*r2))^(3/2))); if theta0 <= thetaH then theta0 := theta0+2*Pi; fi; wait_time := TOF+(theta0-thetaH)/(omega1-omega2); eval(wait_time); end proc:
And calling the above for two different cases gives (times in hrs)
TOF:=hohmann_rendezvous_1(r1=6678,r2=6878,theta=0): evalf(TOF/(60*60)); 35.23480353
And
TOF:=hohmann_rendezvous_1(r1=6678,r2=6878,theta=280): evalf(TOF/(60*60)); 27.49212919
In this transfer, the lower (fast satellite) does not have to wait for phase lock as in the case with Hohmann transfer. The transfer can starts immediately. There is a free parameter \(N\) that one select depending on fuel cost requiments or any limitiation on the first transfer orbit semi-major axes distance required. One can start with \(N=0\) and adjust as needed.
An example implementation is below in Maple
hohmann_rendezvous_2:= proc({ theta::numeric:=0, r1::numeric:=0, r2::numeric:=0, N::nonnegint:=0, mu::numeric:=3.986*10^5}) local theta0,thetaH,TOF; theta0 := theta*Pi/180; thetaH := Pi*(1-((r1+r2)/(2*r2))^(3/2)); if theta0 = thetaH and N = 0 then proc() local a:=(r1+r2)/2; TOF:= Pi*(sqrt(a^3/mu)); end proc() else proc() local t2,a1,a2,rt,omega2; omega2 := sqrt(mu/r2^3); t2 := ((2*Pi-theta0)+2*Pi*N)/omega2; a1 := (rt+r1)/2; a2 := (rt+r2)/2; TOF := Pi*(sqrt(a1^3/mu)+sqrt(a2^3/mu)); rt := op(select(is, [solve(t2=TOF,rt)], real)); end proc() fi; eval(TOF); end proc:
And calling the above for two different cases gives
TOF:=hohmann_rendezvous_2(theta=0,r1=6678,r2=6878,N=0): evalf(TOF/(60*60)); #in hrs 1.576892101 TOF:=hohmann_rendezvous_2(theta=160,r1=6678,r2=6878,N=1): evalf(TOF/(60*60)); #in hrs 2.452943266
1Image is from my class notes, page 7-9, EMA 550, Univ. Of Wisconsin, Madison by professor S. Sandrik