Jump to content

Finding the right azimuth to launch into for a specified target inclination


VMQ

Recommended Posts

After my own kOS scripts and even MechJeb failed to get me into the exact target inclination, I did some searching and math and came up with the following formalism that gets me right on target. This is mostly based on this website, but adds some derivations and  corrects the part that takes the rotating body into consideration.

The azimuth, or degrees from north dynamically changes during the course of an orbit around a body and depends on the latitude of the object at that time. With some spherical geometry, and especially Napier's rules for right spherical triangles (R8) one finds that:

cos(inclination) = sin(azimuth) cos(latitude)

From this formula one finds that for a given orbit inclination the azimuth is given by (note there are two possible solutions):

azimuth = arcsin(cos(inclination)/cos(latitude))
    or
azimuth = 180 - arcsin(cos(inclination)/cos(latitude))

This is sometimes also referred to as the inertial azimuth. Please see that for latitude 0, on the equator, this becomes the familiar

azimuth = 90 + inclination     or     azimuth = 90 - inclination

Effect of the earth rotation

If the body wouldn't rotate one would be done by now. But the rotating body gives the ship an additional velocity toward the east, so that launching into the calculated azimuth above will still miss the target inclination by a fair amount because an orbit with with orbital velocity v_ob will have the following two components:

v_ox = sin(azimuth) v_ob  // component along the equator
v_oy = cos(azimuth) v_ob  // component perpendicular to the equator

This means, that launching into an inclined orbit will be off slightly because of the additional equatorial velocity that is added at launch. The velocity changes with the latitude of the launch.

v_e = cos(launch latitude) * equatorial surface velocity

Putting this all together means that we need to launch and maintain the azimuth of the rocket during flight so that the surface rotation is taken into account and that the rocket is applying the thrust in a corrected azimuth  direction. The velocity components need to obey:

v_ox = sin(azimuth) v_ob - v_e (1) // component along the equator
v_oy = cos(azimuth) v_ob       (2) // component perpendicular to the equator

The picture at the bottom shows the possible cases (with iAzi = azimuth and cAzi = corrected azimuth) for the velocity vector for v_o that includes the surface velocity that is gained for free and the components v_ox and v_oy that the rocket is getting through the burn.

With this in mind the corrected azimuth (cAzi) can be calculated by:

cAzi = arctan2(v_ox, v_oy)   (3)

The upper left and upper right diagrams are fairly obvious and cover the situation for launching into the ascending node. Equation (3) follows directly from the diagrams. The case is slightly more complicated for azimuths from 90 to 270 (launches into descending node), but symmetry shows that the absolute values for vox and voy are also correct, but that voy needs to come out negative.  This is correct, because cos(180-x) = -cos(x), so that eqn. (2) also holds in those cases and eqn. (3) stays valid.

Effect of the earth rotation (final comment)

In the website referenced at the top the velocity v_ob is assumed to be the velocity of the stable orbit. This is incorrect of the burn is interrupted before the final orbit is reached. Instead the corrected azimuth needs to be maintained until the engine shuts off after the initial burn, hence the horizontal velocity at engine shutoff, usually with an apoapsis higher than the atmosphere, but not a stable orbit yet, determines the v_ob and therefore the corrected azimuth.

For people using kOS it works well to select v_ob that is reached during the initial burn - 1500 m/s usually works well for Kerbin launches - and switch the heading of the rocket from "corrected azimuth" to "azimuth" once the target inclination has been reached.

Let me know if this was helpful, or if someone is interested in my kOS scrip that uses this formalism.

 

Picture to show dependency between corrected and inertial azimuth:

jJYZFp3.jpg

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...