Launch Window Optimization:
The 2005 Mars Reconnaissance Orbiter (MRO)
By
Elliot Goldman

Abstract:
The 2005 Mars Reconnaissance
Orbiter (MRO)
The MRO
Spacecraft:

Figure 1: An artist’s rendering of the MRO in action
After such a close flyby from the planet Mars, many think they have gotten a close view… they haven’t seen anything yet! The images sent back to Earth from the MRO will be the highest resolution pictures ever taken of a foreign planet ever taken. At an altitude of 300 km, MRO’s highest resolution camera, the High-Resolution Imaging Science Experiment or “HiRISE”(shown below in figure 2), boasts an astounding resolution of 30cm per pixel... and the MRO files as close as 255 km from the Red planet offering even sharper views! The failed 1998 Mars Polar Lander will theoretically be visible as 50 pixels; the world must wait and see if those will be 50 continuous pixels.

Figure 2: The MRO’s payloads.
Imaging is not the only objective of the spacecraft, the MRO is packed with 124 kg of science payload alone! Among it’s arsenal of instruments is a radar device called the Shallow Subsurface RADAR or “SHARAD”, that will probe the subsurface of the red planet for water. This device is very sensitive an will be able to very accurately measure the depth of possible ice and water deposits
The “CRISM”, or Compact Reconnaissance Imaging Spectrometer for Mars will be able to detect many water-related minerals. This high resolution spectrometer will be able to detect these and many other minerals on a very small scale offering much insight into the geographic composition of the red planet.
The MRO is also equipped with instruments that will analyze the atmosphere and provide insight into global weather, the structure and variability of the atmosphere and even the properties of the upper atmosphere. Gravity science devices will also be on board to help improve gravity field models and transient mass change figures.
The MRO
A “wet” (fully fueled) MRO weighs in at a hefty 2180 kg that requires Lockheed’s flagship of rockets: the Atlas V (shown below in Figure 3.)

Figure 3: The Atlas V 400 Series Rocket
The MRO is
scheduled for launch on

Figure 4: MRO
Interplanetary Cruise Trajectory
Upon
entering the sphere of influence of the red planet, the MRO will execute a 1.2
km/s delta v to enter orbit around Mars.
This event is called Mars Orbit Insertion or “MOI.” This maneuver is designed to precisely insert
the spacecraft into an elliptical orbit that, at periapse,
dips just into the atmosphere. Upon each
successive orbit the encounter with the atmosphere slows the spacecraft a
little more, dropping the periapse just a little
more. A decreased periapse
height creates more atmospheric drag and results in yet more slowing. This process of using gradually increasing
atmospheric drag to slow a spacecraft is called “aerobraking” and is
illustrated below in figure 5. This
unconventional form of slowing a spacecraft allows for less fuel to be used to
slow the spacecraft. This allows the
mission designers more freedom to launch at a date that will minimize V
infinity at launch and thus launch C3 because any excess V infinity at arrival
can be removed through aerobraking at little expense (other than time.)

Figure 5: An Aerobraking MRO
Six months, and about 500 aerobraking orbits later, the MRO will have slowed enough to have attained its nearly circular polar observation orbit. The 255 x 320 km polar, sun-synchronous orbit (shown below in figure 6) will have a frozen periapse and be ideal for its science observations.

Figure 6: MROs Polar Orbit
The high accuracy of the MRO’s science instruments will be further strengthened by their low orbit. The MRO will about 125 km lower than the two previous missions the Odyssey and MGS (shown below in figure 7.)

Figure 7: A Comparison of Science Orbits: MRO, MGS and Odyssey.
Launch Window
Optimization:
The use of aerobraking reduces the pressure on mission planners to minimize excess V infinity upon arrival at the targeted planet. This allows them to focus their effort on reducing V infinity at launch and thus reducing launch C3. The process of minimizing the launch C3 for a certain window of interplanetary transfer is somewhat complicated.
Before any transfer trajectory can be calculated the location of the two planets in question must be known. Firstly, accurate planetary orbital elements must be know; these were found through ssd.jpl.nasa.gov. Propagating Kepler elements forward in time calculated the position and velocity of both planets and thusly allowed the orbits of each planet to be created.
A Gauss targeter was then constructed that consisted of two parts:
1) The Gauss “core” that forces an orbit between any two points and determines how much time the section of the orbit takes (both in the long and short directions of travel.)
2) The Gauss “targeter” that contains a root solver which takes the desired time to make the transfer and zeroes out the difference between the desired and possible times for each transfer.
Using this Gauss targeter, a launch C3 “porkchop plot” was created for 2005 Earth-Mars launch window (shown below in figure 8.) The porkchop plot was made by looping through each arrival and departure date combination over a portion of the 2005 window with the Gauss targeter and creating the resulting transfer trajectory. The launch V infinity of each transfer was calculated which easily gives the launch C3 (Vinf(dep)^2). The minima that appear in the plot of C3 for each arrival and departure date vaguely resembles a porkchop.

Figure 8: C3 Porkchop Plot of 2005 Earth-Mars Launch Window
At the rarest section of the chops, the minima, we find the departure and arrival dates that would require the least C3. Plotting the planned arrival and departure dates, August 10 and March 10 respectively (shown in magenta in figure 8 above), we surprisingly find that they do not coincide at a minimum, but only nearby. The planed launch C3 was calculated to be 16.15 km^2/s^2, nearly the 16.4 km^2/s^2 that will be provided by the Atlas V.
Solving for the closest minima to the planned launch and arrival times (in red in figure 8 above) shows that the lowest launch C3 of 15.42 km^2/s^2 can be achieved by launching on Aug6 and arriving on Feb16, 2005. The resulting transfer trajectory, along with the planned transfer trajectory, is shown below in figure 9.

Figure 9: Planed and Optimized Transfer Orbits
This begs the question: why did the MRO mission designers forgo the C3 savings of 0.73 km^2/s^2? Were Lockheed’s mission designers slacking on the job? Were they getting kickbacks from the Atlas division? Is this another “units issue?!”
The likely answer is: probably not. One must keep in mind that we have only optimized launch conditions. Arrival velocity was not considered in our calculations. If the MRO were instead the MRL (a hypothetical “Mars Reconnaissance Lander”), the optimized dates would be the most appropriate choice. For most landers, arrival velocity is of little importance as it is only the atmosphere that will be slowing the craft. The MRO, however, is not as fortunate as the MRL. Due to the constraints of its science orbit, the MRO must precisely locate its orbital plane and accurately achieve its orbital period. The higher the V infinity at arrival, the more expensive any necessary orbital changes would be. Trade-offs must be made, and oftentimes they come at the expense of launch C3. It can be appreciated that, while expensive, extra launch C3 may be cheaper than the extra fuel needed at arrival (and extra hardware needed for the extra fuel... and perhaps extra C3 needed for the extra fuel and hardware.)
Summary and
Conclusions:
The 2005 Mars Reconnaissance Orbiter is a remarkable spacecraft. It will offer a new, highly detailed look at our nearest neighbor. With its wide array of scientific instruments, MRO will help us discover where and when water was on the surface of mars and if it lasted long enough for life to have developed. We will gain new knowledge of present and past climate and geological processes that have affected Mars. This may afford us insight into life on our planet and potential for life elsewhere in the Universe.
Through Gauss targeting and the creation of a C3 porkchop plot of the 2005 Earth-Mars launch window, launch C3 was minimized. The planned and optimized interplanetary trajectories were mapped. Reasons behind the mission designers’ choice to forgo the C3 reduction of .73 km^2/s^2 were proposed. It was concluded that trade-offs must be made in mission design, and oftentimes they come at the expense of launch C3. Many dynamic factors were overlooked in this analysis, yet valuable insight has been gained into the optimization of mission design.
References:
Bate, R; Mueller,
D; and White, J. Fundamentals of Astrodynamics.
[http://ssd.jpl.nasa.gov/elem_planets.html]; Planetary
Orbital Elements,
[http://www.jsc.nasa.gov/bu2/ELV_US.html]; US Expendable
Launch Vehicle Data for Planetary Missions
Lockheed Martin Co.; The Mars
Reconnaissance Orbiter
Vallado, D. Fundamentals of Astrodynamics and Applications. 2nd ed.

Code:
function driver
close all
t1nominal=2453593
t2nominal=2453805
hold on
porkchop([t1nominal-75:5:t1nominal+75],[t2nominal-100:5:t2nominal+350])
plot(t1nominal-2450000,t2nominal-2450000,'m*')
new_launch=fminsearch(@a2a,[t1nominal,t2nominal])
plot(new_launch(1)-2450000,new_launch(2)-2450000,'r*')
C3_planned=a2a([t1nominal,t2nominal])
C3_new=a2a(new_launch)
C3_savings=C3_planned-C3_new
legend('Planned Launch','Optimized Launch',4)
Title('Porkchop Plot: C3 for Mars 2005 Launch Window')
function porkchop(t1,t2)
for i=1:length(t1)
for j=1:length(t2)
c3(i,j)=min(a2(t1(i),t2(j)),30);
end
end
[c,h] = contour(t1-2450000,t2-2450000,c3')
clabel(c,h)
xlabel('Depart (JD-2450000)');
ylabel('Arrive (JD-2450000)');
%figure
%surf(t1-2450000,t2-2450000,c3)
%xlabel('depart');
%ylabel('arrive');
%function a1
close all
t1=2453584+9;
t2=2453796+9;
mu_s=1.37212428e11*86400*86400;
time=t1:t2;
[r_m,v_m]=mars_prop(time);
[r_e,v_e]=earth_prop(time);
plot3(0,0,0,'y*');
hold on
plot3(r_m(:,1),r_m(:,2),r_m(:,3),'r')
plot3(r_e(:,1),r_e(:,2),r_e(:,3),'b')
axis equal
per_m=1.88071105*365.25;
per_e=365.25;
t3_e=t2+per_e-(t2-t1);
t3_m=t2+per_m-(t2-t1);
rest_of_time_e=t2:t3_e;
rest_of_time_m=t2:t3_m;
[r2_m,v2_m]=mars_prop(rest_of_time_m);
[r2_e,v2_e]=earth_prop(rest_of_time_e);
plot3(r2_m(:,1),r2_m(:,2),r2_m(:,3),'k--');
plot3(r2_e(:,1),r2_e(:,2),r2_e(:,3),'k--');
[v1,v2]=gauss(r_e(1,:),r_m(end,:),(t2-t1),+1);
% [pv,av,ev,iv,Omegav,wv,nuv,w_truev,lambda_truev]=elorb(r_e(1,:),v1,mu_s);
% n_sc=sqrt(mu_s/av^3)*180/pi
% [t_sat,state]=keplerprop(n_sc,av,ev,iv,Omegav,wv,nuv,[0:(t2-t1)])
state0=[r_e(1,:),v1];
[t,state]=ode45(@twoBody,[0:(t2-t1)],state0);
r_sat=state(:,1:3);
v_sat=state(:,4:6);
plot3(r_sat(:,1),r_sat(:,2),r_sat(:,3),'g')
view([0,90])
v_e1=v_e(1,:)
vinf_depart=(v1-v_e1)/86400
c3=norm(vinf_depart)^2
v_m2=v_m(end,:)
vinf_arrive=(v2-v_m2)/86400
hold on
t1=2453588.98872384
t2=2453784.00469219
mu_s=1.37212428e11*86400*86400;
time=t1:t2;
[r_m,v_m]=mars_prop(time);
[r_e,v_e]=earth_prop(time);
%plot3(0,0,0,'y*');
hold on
%plot3(r_m(:,1),r_m(:,2),r_m(:,3),'r')
%plot3(r_e(:,1),r_e(:,2),r_e(:,3),'b')
axis equal
per_m=1.88071105*365.25;
per_e=365.25;
t3_e=t2+per_e-(t2-t1);
t3_m=t2+per_m-(t2-t1);
rest_of_time_e=t2:t3_e;
rest_of_time_m=t2:t3_m;
[r2_m,v2_m]=mars_prop(rest_of_time_m);
[r2_e,v2_e]=earth_prop(rest_of_time_e);
%plot3(r2_m(:,1),r2_m(:,2),r2_m(:,3),'k--');
%plot3(r2_e(:,1),r2_e(:,2),r2_e(:,3),'k--');
[v1,v2]=gauss(r_e(1,:),r_m(end,:),(t2-t1),+1);
% [pv,av,ev,iv,Omegav,wv,nuv,w_truev,lambda_truev]=elorb(r_e(1,:),v1,mu_s);
% n_sc=sqrt(mu_s/av^3)*180/pi
% [t_sat,state]=keplerprop(n_sc,av,ev,iv,Omegav,wv,nuv,[0:(t2-t1)])
state0=[r_e(1,:),v1];
[t,state]=ode45(@twoBody,[0:(t2-t1)],state0);
r_sat=state(:,1:3);
v_sat=state(:,4:6);
plot3(r_sat(:,1),r_sat(:,2),r_sat(:,3),'m')
view([0,90])
v_e1=v_e(1,:)
vinf_depart=(v1-v_e1)/86400
c3=norm(vinf_depart)^2
v_m2=v_m(end,:)
vinf_arrive=(v2-v_m2)/86400
legend('a','b','c','d','e','Planned Transfer','Optimized Transfer')
title('Flight Paths')
xlabel('km');
ylabel('km');
function [r,v]=mars_prop(t)
a=1.52366231*149597870;
e=0.09341233;
i=1.85061;
O=49.57854;
o_tilda=336.04084;
L=355.45332 ;
L_dot_as_per_cent=68905103.78;
n=(L_dot_as_per_cent/36525)/60/60;
o=o_tilda-O;
M=L-o_tilda;
v=mean2true(M,e);
t=t-2451545;
[t,state]=keplerprop(n,a,e,i,O,o,v,t);
r=state(:,1:3);
v=state(:,4:6);
function [r,v]=earth_prop(t)
a=1.00000011*149597870;
e=0.01671022;
i=0.00005;
O=-11.26064;
o_tilda=102.94719;
L=100.46435;
L_dot_as_per_cent=129597740.63;
n=(L_dot_as_per_cent/36525)/60/60;
o=o_tilda-O;
M=L-o_tilda;
v=mean2true(M,e);
t=t-2451545;
[t,state]=keplerprop(n,a,e,i,O,o,v,t);
r=state(:,1:3);
v=state(:,4:6);
function [v1,v2]=gauss(r1,r2,t,dm)
supDU=149597870;
supTU=58.132440906;
r1=r1/supDU;
r2=r2/supDU;
t=t/supTU;
delta_nu=acos(dot(r1,r2)/(norm(r1)*norm(r2)));
%A=(sqrt(norm(r1)*norm(r2))*sin(delta_nu))/(sqrt(1-cos(delta_nu)))
A=dm*sqrt((norm(r1)*norm(r2))*(1+cos(delta_nu)));
z=fzero(@gauss_core,0,[],t,r1,r2,A);
[junk,y]=gauss_core(z,t,r1,r2,A);
f=1-y/norm(r1);
g=A*sqrt(y);
g_dot=1-y/norm(r2);
v1=(r2-f*r1)/g*supDU/supTU;
v2=(g_dot*r2-r1)/g*supDU/supTU;
function [t_diff,y]=gauss_core(z,t,r1,r2,A)
ss=s(z);
cc=c(z);
y=norm(r1)+norm(r2)-A*(1-z*ss)/sqrt(cc);
x=sqrt(y/cc);
t_calc=(x^3*ss+A*sqrt(y));
if ~isreal(t_calc)
t_calc=-real(t_calc);
end
t_diff=t_calc-t;
function [t,state]=keplerprop(n,a,e,i,Omega,w,nu0,t)
M0=nu2M(nu0,e);
%n=sqrt(mu/(a^3));
mu=(n*pi/180)^2*a^3;
p=a*(1-e^2);
state=zeros(length(t),6);
for ii=1:length(t)
M=M0+n*t(ii);
nu=M2nu(M,e);
[Rijk,Vijk]=randv(mu,p,e,i,Omega,w,nu);
state(ii,1:6)=[Rijk',Vijk'];
end
function s=s(z)
if z>0
s=(sqrt(z)-sin(sqrt(z)))./z.^(3/2);
else
if z<0
s=(sinh(sqrt(-z))-sqrt(-z))./(-z).^(3/2);
else
s=1/6;
end
end
function c=c(z)
if z>0
c=(1-cos(sqrt(z)))./z;
else
if z<0
c=(1-cosh(sqrt(-z)))./z;
else
c=1/2;
end
end