http://www.baen.com/rendezvous
http://www.baen.com/readonline/index/read/sku/9781625792785
chapter 5 & 6

rendezvousISS.m


gm=398602753920000.0 
Rearth = 6378137

T=92.65*60
R=(gm/(2*Pi/T)^2)^(1/3)
V=Sqrt[gm/R]
Out[32]= 7666.1

R-Rearth 
Out[30]= 404386.

10 km back, seek shorter orbit:
t=10000/V 
1.30444
T1=T-t

a1=(gm/(2*Pi/T1)^2)^(1/3)
e1=R/a1-1
V1=Sqrt[(1-e1)/(1+e1) gm/a1]
V1-V
Out[45]= -0.599769

100 km back
t=100000/V 
Out[46]= 13.0444

T2=T-t

a2=(gm/(2*Pi/T2)^2)^(1/3)
e2=R/a2-1
V2=Sqrt[(1-e2)/(1+e2) gm/a2]
V2-V
Out[51]= -6.01039

make it up in 10 minutes

10 km back:
v1b=10000/(10*60)
we are now at perigee of this orbit

in physisical space the target will have advanced
phi=(V*10*60+10000)/R

10 km back:

v1b=10000/(10*60)
e1b=(1+v1b/V)^2-1
a1b=R/(1-e1b)
r1b[p_]=a1b(1-e1b^2)/(1+e1b Cos[p])

Plot[{R- Rearth,r1b[p]- Rearth},{p,0,phi}]

find phi1b after 10 minutes:
FindRoot[{u - e1b*Sin[u]== Sqrt[gm/a1b^3] * 600},{u, phi}]

phi1b=2 ArcTan[Sqrt[(1+e1b)/(1-e1b)] Tan[u/2]] /. %
(phi1b-phi)*R                                                                                 

Out[66]= -3002.62

aim low:

FindRoot[{u - e*Sin[u]== Sqrt[gm/a^3] * 300,                                                  
         R==a*(1-e^2)/(1+e*Cos[phi/2]),                                                                  
         Tan[phi/4]==Sqrt[(1+e)/(1-e)] Tan[u/2]},{u,phi/2},{e,0},{a,R},MaxIterations->1000000]
                                                         6
Out[73]= {u -> 0.338496, e -> 0.00397508, a -> 6.80805 10 }

{a1c,e1c,u1c} = {a,e,u} /. %
r1c[p_]=a(1-e^2)/(1+e Cos[p]) /. %%

Plot[{R- Rearth,r1c[p]- Rearth},{p,-phi/2,phi/2}]

V0=V{Sin[phi/2],Cos[phi/2]}
vo=Sqrt[gm/a1c/(1-e1c^2)]

Vf=vo{Sin[phi/2],Cos[phi/2]}+vo e1c{0,1}

Norm[Vf-V0]                                                                                   

Out[83]= 17.5716

ArcCos[(Vf-V0).V0/Norm[Vf-V0]/Norm[V0]] *180/Pi
Out[86]= 35.2376

100 km
phi=(V*10*60+100000)/R

FindRoot[{u - e*Sin[u]== Sqrt[gm/a^3] * 300,                                                  
         R==a*(1-e^2)/(1+e*Cos[phi/2]),                                                                  
         Tan[phi/4]==Sqrt[(1+e)/(1-e)] Tan[u/2]},{u,u1c},{e,e1c},{a,a1c},MaxIterations->1000000]
                                                        6
Out[88]= {u -> 0.333119, e -> 0.0399947, a -> 7.04895 10 }

{a2c,e2c,u2c} = {a,e,u} /. %
r2c[p_]=a(1-e^2)/(1+e Cos[p]) /. %%

Plot[{R- Rearth,r2c[p]- Rearth},{p,-phi/2,phi/2}]

V0=V{Sin[phi/2],Cos[phi/2]}
vo=Sqrt[gm/a2c/(1-e2c^2)]

Vf=vo{Sin[phi/2],Cos[phi/2]}+vo e2c{0,1}

Norm[Vf-V0]    
Out[99]= 175.658
ArcCos[(Vf-V0).V0/Norm[Vf-V0]/Norm[V0]] *180/Pi
Out[100]= 35.5809

1 km back:
phi=(V*10*60+1000)/R

FindRoot[{u - e*Sin[u]== Sqrt[gm/a^3] * 300,                                                  
         R==a*(1-e^2)/(1+e*Cos[phi/2]),                                                                  
         Tan[phi/4]==Sqrt[(1+e)/(1-e)] Tan[u/2]},{u,u1c},{e,e1c},{a,a1c},MaxIterations->1000000]
                                                          6
Out[12]= {u -> 0.339023, e -> 0.000397261, a -> 6.78507 10 }

{a3c,e3c,u3c} = {a,e,u} /. %
r3c[p_]=a(1-e^2)/(1+e Cos[p]) /. %%

Plot[{R- Rearth,r3c[p]- Rearth},{p,-phi/2,phi/2}]

V0=V{Sin[phi/2],Cos[phi/2]}
vo=Sqrt[gm/a3c/(1-e3c^2)]

Vf=vo{Sin[phi/2],Cos[phi/2]}+vo e3c{0,1}

Norm[Vf-V0]    
Out[19]= 1.75722

ArcCos[(Vf-V0).V0/Norm[Vf-V0]/Norm[V0]] *180/Pi
Out[20]= 35.2033


