Mike Loucks and I were at agi.com last week in their new studio and we recorded this video blog on YouTube with Josh Poley. We’re talking about some Lunar missions we worked on:
Not sure why this never got posted, but I meant to put this link up 3 years ago during the middle of LADEE OPS. I created a draft version of the post, and then lost track of it.
Anyway, here’s a great article written by Liz Fuller-Wright, an excellent writer from the CSM who interviewed John and me about LADEE during the midst of the phasing loops.
As I was watching the great success of the New Horizons team, I became motivated to do a bit of quick “back of the envelope” calculations to re-create the trajectory. I don’t have to start completely from scratch, because in 2004 I created an STK/Astrogator tutorial giving the basic ideas of how to set up the New Horizons trajectory:
I thought it would be fun to update things and make them closer to what was actually flown. I can easily do so because the New Horizons Astrogator Yanping Guo (along with legendary Astrogator Bob Farquhar) gave me what I need in this paper:
I will refer to this from now on as “Yanping’s paper” just for simplicity, but Farquhar helped write it as well.
I’m going to do this in STK/Astrogator, but the basic idea would be similar in other software. I’ll update my scenario a bit to include the launch portion along with the published B-plane parameters at from Yanping and see if our geometry lines up with hers. (STK/Astrogator was actually used for the New Horizons mission, which makes this even more relevant. It was also used on Messenger, LRO, LCROSS, LADEE, etc… but I digress.)
Firstly, let’s get the launch set up, so that I can hit the right time of the launch coming out of KSC. The Launch vehicle used was an Atlas 551, a beast of an Atlas with 5 solid boosters, a Centaur upper stage, a Star 48B on top and the 5 meter fairing. That’s actually one heck of a stack of stages. Here’s a really cool report of the launch events, according to Jonathan McDowell:
“The powerful Atlas 551 rocket, with five solid boosters, roared off the Florida pad after two days of delays. The solids separated at 1 min 45s into launch, arcing into the mesosphere before falling to Earth. The 5-meter-diameter fairing separated at 3min 23s, followed seconds afterwards by the two pieces of the CFLR (Centaur Forward Load Reactor), a contraption that connects the smaller 3.1m-diameter Centaur to the fairing for structural stiffness. By this time Atlas was in space, with the fairing probably reaching an apogee of 150 km or so. Atlas shut down at 4min 27s, falling away 6s later, and the Centaur second stage ignited at 4min 33s as the trajectory flattened out, reaching orbit insertion at 1910:08 UTC with a 167 x 213 km parking orbit. The vehicle coasted for 20 minutes and restarted over South Africa, with a 9-min burn taking the Centaur to 800 km altitude at a velocity of 12.4 km/s, a hyperbolic Earth orbit which will take the Centaur out to the asteroid belt. At 1939 UTC the spin-table on the forward end of the Centaur began to rotate, and the injection stage with the payload separated. The injection stage is an Alliant (Thiokol) Star 48B solid motor, the same motor used on Delta 2 third stages and on the old Shuttle PAM-D flights. Solid kick motors like to be spinning when they fire to even out any misalignment of the thrust direction, hence the spin table – although the Star 48B also has a set of small hydrazine rockets to correct any unwanted nutation. After the Star 48B burn, the payload had reached escape velocity not only with respect to the Earth but also relative to the Sun (The velocity was 16.2 km/s relative to the Earth and I estimate an asymptotic velocity of 12.3 km/s, corresponding to 42.6 km/s relative to the Sun and leading to a heliocentric eccentricity of around 1.05)”
(You should follow Jonathan on twitter: @planet4589 and you can find the latest version of his “Jonathan’s Space Report” here: Jonathan’s Space Report)
I have to divert a bit from my deep space trajectory because I’m geeking out about the Atlas 551. That’s a sweet rocket. Let’s see a picture of the stack from the launch press kit:
Ok, let’s just look at rocket itself. (You really want to click on this one, it’s a cool rocket!)
The Star 48B is a very reliable (and available) upper stage, and stacking it on top of a Centaur is pretty unusual, but necessary for the high C3 (157.64 km^2/sec^2). That C3 is (as noted by Jonathan) hyperbolic with respect to the Sun!
Let’s take a quick look at the staging profile (also from the press kit):
Our purpose here is to duplicate the interplanetary trajectory, so I’m not compelled to completely duplicate the launch segment. I’m going to model all burns as impulsive burns (I don’t have their engine models anyway) and I’m going to combine the Centaur and Star 48B into one insertion burn. It’s fine to do this, since ultimately the multiple insertion burns are just targeting a single trajectory after launch, with a single defined asymptote. The Centaur and Star48 burns were optimized to hit a single asymptote, so I’ll just model that part.
From my NH tutorial mentioned earlier, I will re-use these asymptote conditions:
These conditions came originally from Trajopt (an old DOS program written at SAIC) and they’ll be good enough. I could have gotten them from a variety of other sources that help you search for planetary swingby opportunities. I’ve used MAnE, Trajopt and “Swingby Calculator”, and there are many others. Regardless, these conditions are plenty good and they ought to get me to the Jupiter swingby, and then I’ll work from there.
So I will launch out of KSC with these conditions:
In STK/Astrogator, we model the launch as a portion of an ellipse that starts at the ground and then meets the launch insertion state. This is a decent estimate of the burnout state. After the launch, we’ll coast in orbit for a bit, and then execute an escape maneuver. The mission control sequence for that looks like this:
So I’ll vary my launch time (to get the orbital plane, or the Right Ascension of the asymptote) , my coast duration before the impulsive escape delta-v (to get the Declination of the asymptote) and the delta-v itself (to get the C3, or energy) to hit the asymptote conditions. When I do that, I get this type of a flyby at Jupiter:
So using the Trajopt asymptote does actually create an encounter with Jupiter, but I don’t get anywhere near Pluto. According to Yanping’s paper, my flyby should look like this:
But if you go into the Jovian system for my flyby, you’ll see this:
So that tells me that the asymptote isn’t going where I want. I can fix that pretty easily. Yanping gives me the B-plane parameters I need at Jupiter to continue on the Pluto. If I match these parameters, I should then be close enough to an encounter with Pluto that Astrogator can target me the rest of the way in. I’ll match them by slightly varying my departure asymptote parameters.
The B-plane is a fictional plane that is used for precise targeting during a gravity assist or for planetary orbit insertion. It can be best thought of as a bulls-eye or target plane attached to the assisting body. The trajectory’s intersection point on the B-plane is where the spacecraft would go if the swingby planet had no gravity. This turns out to be useful because B-plane targets behave very linearly as you move the trajectory around (while targeting) while the actual periapsis point (or closest approach point) doesn’t move very linearly near the planet due to the non-linear force of gravity.
The B-plane is defined to be the plane that contains the focus (usually the center of mass of the body) of an idealized two-body trajectory (assumed to be a hyperbola) that is perpendicular to the incoming asymptote of that hyperbola. The incoming and outgoing asymptotes, S and O, and the focus of the hyperbola are contained in the trajectory plane, which is perpendicular to the B-plane. The intersection of the B-plane and the trajectory plane defines a line in space. The B-vector is defined to lie along this line, starting on the focus and ending at the spot where the incoming asymptote pierces the B-plane. A reference vector (R) is used to externally define the other planar axis. There are different choices to use for R. Typical examples are the planet’s orbit normal, or the planetary pole vector. You can use whatever you want, as long as you specify what it is (so others can duplicate what you’re doing, like I’m about to do)
The vectors T and R lie in the B-Plane and are used as axes. The coordinates of our point in the coordinate system defined by those axes are called BdotT and BdotR, and they are the standard parameters given that allow you to target a swingby.
My initial state from Trajopt gives me the right direction for my transfer trajectory to get close to our B-plane targets (i.e. somewhere in the Jovian system), but I’m going to substitute in the B-plane parameters from Yanping’s paper instead of those that Trajopt originally generated. This should get me close enough to Pluto to hit our B-plane targets later.
I will target the following at Jupiter (From Yanping):
B dot T = 342421 km
B dot R = 2629560 km
Jupiter Periapsis (closest approach) time = 28 Feb 2007 12:00:00.000 UTC
(Jupiter’s North Pole Reference frame)
I’ll use these parameters for now, and then let them be varied later. On the real mission, Yanping used trajectory correction maneuvers (planned for up to 25!), and didn’t try to accurately hit the Pluto B-plane precisely all the way back from launch. I can get away with that here, so I will. If I wanted to simulate how a real mission would do it, I’d truncate off my asymptote solution back at Earth, and our B-plane targets at Jupiter and recover from those errors with TCMs. In a numerical simulation, I can pretend that I can hit targets much more precisely than I can in real life, so I’m going to cheat here and do that.
I will use a double-nested targeter to achieve our goals. The inner targeter varies the Launch Time, the Coast duration, and the Injection delta-v to achieve the asymptote conditions. The outer targeter will vary the asymptote conditions of the inner targeter (RA, Dec and C3 of outgoing asymptote), in order to achieve the desired B-plane parameters and arrival epoch at Jupiter. So I’m going to let the targeter vary my first guess at the outgoing asymptote from Earth (the guess that came from Trajopt) in order to hit the B-plane parameters that Yanping says I need. The Astrogator MCS for this is below:
After this converges, my trajectory looks like this (view at Pluto closest approach):
Which is a lot closer. The Pluto arrival date isn’t exactly right and while it looks close on the solar system scale, I am actually 5.9 million km from Pluto at periapsis. This shouldn’t surprise me though, because I haven’t really targeted anything at Pluto yet. I am relying solely on the Jupiter B-plane parameters to get us there. At the Jupiter flyby, my geometry looks like this:
Which looks a lot more like the encounter geometry that Yanping showed in her paper. So now, I’d like to actually target my Pluto periapsis to the right spot and at the right time to match the encounter.
Again, I’ll rely on Yanping’s paper to tell me what I want to hit:
B dot T = -10910.6 km
B dot R = 2041.9 km
Pluto Periapsis (closest approach) time = 14 Jul 2015 11:58:59 UTC
(Pluto orbit normal frame)
I will target this with a triple nested targeter (highly bogus in terms of trajectory realness in this case, but cool anyway). It looks like this:
2. The second targeter (Target Jupiter Bplane) varies the outgoing asymptote conditions of the deepest targeter in order to hit B-plane parameters at the Jupiter swingby.
3. The outermost targeter (Target Pluto Bplane) varies the B-plane parameters at the Jupiter Swingby in order to hit the desired B-plane parameters at Pluto.
This setup is simple but powerful and gets an answer, but I couldn’t really do this when flying a mission. It essentially has me targeting the Pluto B-plane accurately from conditions all the way back at insertion in Earth orbit! Launch vehicles can’t hit the asymptote RA and Dec within 0.000001 degrees, nor can injection maneuvers be executed with precision of 10e-6 meters. I’m going to ignore that though, since I know I’d have to do midcourses, and just enjoy the coolness of the trajectory.
So in my uber-precise mathematical universe we get this at arrival:
From Yanping’s paper she has the geometry looking like this:
We can also look at both sun occultations to see if they match up:
And they do (which is pretty satisfying!) Of course our fellow Astrogator Yanping Guo had to do things much differently than this, since she had to correct out insertion errors, attitude dumps, and Orbit Determination (OD) errors, etc. all along the trajectory for 9.5 years! In fact while they had planned 25 Trajectory Correction Maneuvers (TCMs), they only had to perform 9, which saved them 2/3 of the planned delta-v. This gives them plenty of delta-v to use to retarget to a Kuiper belt object later this year (pending additional NASA funding). Once they announce the target KBO object, I’ll update and extend my trajectory to match.
Also, I think the final conditions at the encounter may have been slightly off from what I have here (due to TCMs, adjustments, etc. that occurred after the paper was written). Once I get my hands on those conditions, I can trivially re-target things to achieve those states instead of what I hit above. (and I will, and will update here). What I’ve found so far has been conflicting, so I’ll stick with the paper. If someone has better data, pass it on. It’s easy to re-do.
I end this fun with a bit of animation showing the Plutonian system in action. I’d been wanting to see an animation of the system with the dual-planets co-orbiting, so I just made one myself. I love seeing Pluto dancing around the system barycenter. Planet and moon positions come from JPL SPICE files.
Here’s a link to the STK scenario.
If you’d like an ephemeris in a non-STK format, email me and I’ll create one for you.
Interesting stuff, check it out:
The post mentions a previous Astrogator’s Guild posting:
On CNN.com there was a story “Meteorite makes big crater in Nicaragua” by Amanda Barnett. In the article, Amanda wrote: ‘AP quoted government spokeswoman Rosario Murillo as saying they’ve determined it was a “relatively small” meteorite that “appears to have come off an asteroid that was passing close to Earth.”‘ Well, that’s enough to get someone wondering if indeed it could have come off 2014 RC, which just did the flyby this past Sunday, 7 Sep 2014 at 18:15 UTC.
Well, Adam Gorski at Analytical Graphics made this easy by posting an STK scenario on AGI’s website blog: Asteroid 2014 RC flyby on Sunday. Adam got 2014 RC’s ephemeris from the JPL Horizons website, and set everything up. THANK YOU ADAM!
In Amanda’s article, she says “The Nicaragua Dispatch said the hole is in the woods near Managua’s Sandino International Airport and about 1,000 feet (300 meters) from the Camino Real Hotel” which, according to Google Maps is at Latitude 12.148060, Longitude -86.184949. So, I put this into STK as a place object.
Amanda also mentions the time of impact, which is critical to this: “The Today Nicaragua site reported the crater was found after a loud blast about 11:05 p.m. on Saturday. ” Nicaragua is in the Central Time Zone, and from a few web searches seems that they do not use daylight savings time. So the time should be UTC – 6 hours. So, 11:05 pm on Saturday would be 7 Sep 2014 05:05 UTC.
So, with the location and the time, we can see if the Hotel was on the side of the Earth from which the asteroid was coming from:
So, that seems pretty obvious. (Even if the time is off by an hour or so, it’s still on the correct side of Earth.) In this STK view, asteroid 2014 RC is traveling from left-to-right, and the hotel near which the crater was found is on the same side of the Earth. So far this myth is NOT busted; it’s plausible.
So the direction seems reasonable, but we want to see if it’s reasonable that this meteorite could have come off of asteroid 2014 RC. We can use a similar approach that several us did a few years ago investigating a potential space debris collision, as written in the paper “INVESTIGATING ORBITAL DEBRIS EVENTS USING NUMERICAL METHODS WITH FULL FORCE MODEL ORBIT PROPAGATION.” (by Timothy Carrico, John Carrico, Lisa Policastri, Mike Loucks, AAS 08-126.) We can see if a reasonable force applied in the past could have knocked a rock off of 2014 RC, or perhaps another impact caused a chunk to be thrown off.
We can model this in STK/Astrogator by getting an initial state for 2014 RC in the past, and calculate what delta-V (change in velocity) would be needed to divert from 2014 RC’s trajectory to hit near the hotel at the observed time. Not knowing when the meteorite could have left its host, I chose to investigate the case if the rock left the asteroid 10 years ago. So, using our favorite “Follow Segment” in Astrogator, I propagated the initial state of the Asteroid that Adam had found backwards in time for ten years. Then I modeled a small impulsive delta-V, and set up the Astrogator targeter to calculate the delta-V needed to hit the hotel at the specific time. I set up the targeter to hit Earth B-Plane values of B dot T = 0.0, and B dot R = 0.0 (hitting the Earth right in the middle, as seen from the approaching asteroid). And when that profile converged, the next targeting profile targeted the exact latitude and longitude of the hotel.
This converged pretty quickly, and gave a delta-V number of about 90 meters/second. Since an impact velocity of an asteroid could be 10 or more km/second, this low value seemed very reasonable. And, if the rock had come off a hundred, or several thousand years ago, it would take even less delta-V to hit near the hotel. So, once again, the myth is NOT busted, and it’s very plausible that this meteorite came off of asteroid 2014 RC as some point in the past.
The Chang’e 3 Lander is on the surface! What an amazing accomplishment for our Chinese friends. Now that it’s down, let’s take a look back at our guesses of the trajectory and see what we got wrong, and what we know about the real trajectory now that we know the landing site and the time of the landing.
First off, note the real landing site, compared to the landing site that was identified pre-launch
Real landing site/time Lat = 44.12 deg N. Lon = -19.51 W @ 13:11:18 UTC.
Reported site/time Lat = 43.07 deg N. Lon = – 31.05W @ 13:40 UTC
Real landing site with the bullseye to the east, prelaunch reported site to the west.
So what does this tell us?
As we suggested in our earlier posts, the reported landing site could not be achieved at the landing time from a 90 deg inclination orbit. The actual landing site, however, could be (and was) achieved from 90 degrees. Let’s check out then, what it must have been (LRO orbit in magenta, LADEE orbit in Blue, neither on the same side during the landing):
And ten minutes before:
So we didn’t need a different inclination, 90 degrees was fine. With the proper landing time and site, we would have had a really good estimate of the trajectory. It’s all “basic geometry, and we know about that!”
Finally, here’s the local terrain looking from the southwest.
Again, really cool work by the Chinese Chang’e 3 Team!