August 22

A More Immersive Space Mod – Orbital Mechanics (Part 3)

To add more realism to a Space mod, it would be interesting to consider some measure of realistic orbital mechanics. This is something that other space mods lack, in that they don’t consider the planets orbits to determine the optimal time to launch a rocket or spacecraft. You simply launch, and can travel to your destination planet, consuming a bit of fuel in the process.

Lets start with considering the most realistic scenario: planets have elliptical orbits, and aren’t co-planar. The reference orbital plane is known as the ecliptic, that is, the orbital plane of the Earth around the sun. All other orbits of planets are inclined relative to the ecliptic plane, by what’s known as the inclination angle (one of the orbital elements used to describe a Keplerian orbit). For most planets, this inclination is small enough that they can be considered co-planar, with the exception of Pluto, which has a high inclination angle (and also a bizarre orbital shape that occasionally brings it closer than Neptune). Other orbital elements define the elliptical nature of the orbits, as well as their orientation.

The problem isn’t necessarily with the orbits themselves. They are well defined, the orbital elements are known, the changes in the orbital elements over long periods of time are also known, and all of these parameters can be used to determine a planet’s position at any given time in the future.

The problem arises when determining the most optimal trajectory between two planets. The most fuel efficient trajectory is known as a Hohmann Transfer – an elliptical orbit that has one planet at its periapsis (the originating planet, which is closer to the sun) and the other planet at the apoapsis (the destination planet, which is furthest from the sun). The limitation of a Hohmann Transfer is that it only really works between two circular, co-planar orbits, which is not the case for all planets in our solar system. Because the distance between the planets and the sun varies with time, determining the optimal distance between the two planets that will minimize the travel time required in an elliptical transfer orbit is non-trivial (side note: minimizing the size of the transfer orbit is important to minimize velocities, or changes in velocities, which is proportional to fuel consumption; that is, the higher the increase in velocity required to achieve a transfer orbit, the more fuel is consumed). The problem cannot be solved analytically by solving a series of equations – it needs to be solved numerically using supercomputers.

The obvious simplification that can be made is to treat all planetary orbits as circular and co-planar, with a radius that is the average distance between the planet and the sun. These numbers are well documented. The calculations required are vastly simplified, as the orbital velocity of a circular orbit is easily determined. Defining an elliptical transfer orbit between two circular orbits is easily solved analytically, as the semi-major axis of this elliptical orbit is constant, and the change in velocity required at the different points of the transfer orbit (one at the originating planet, and one at the destination planet) is easily determined analytically. The orbital period of the transfer orbit is also easily determined from Kepler’s third law, which can then be used to calculate the travel time between the planets. This will become important.

Launch windows will still be important though, even when considering the simplest case of circular orbits. Because of the different orbital periods, it is important to predict where a planet will be some time in the future, to ensure that both the spacecraft and the planet arrive at that point at the exact same time. The other way of looking at it: knowing the starting position, the ending position, and the travel time, we can determine where the destination planet needs to be at the time of launch in order for it to be at the destination location at the end of the travel time. The optimal launch window may only occur once every few “Minecraft” years, which will need to be monitored and tracked in order to achieve a successful launch. Some scaling factors may need to be applied, as a Minecraft year is 121 hours, or 5 days. Saturn’s orbit would be 27 Minecraft years, or 135 real days. The numbers are much higher for Neptune and Pluto. How often this happens can be calculated knowing the relative positions of the originating and destination planets based on their orbital periods. This can be part of the research aspect involved before traveling to a destination planet. A probe can be sent to the planet, and by monitoring the position of the probe (approximately the position of the destination planet), it would be possible to determine the information needed to calculate the launch window.

Once we have launch windows, and a means to define the elliptical transfer orbit, the fuel consumption is fairly easy to compute. The velocities at the periapsis and apoapsis of the transfer orbit are easily calculated from the orbital parameters, which can then allow us to easily determine the change in velocity at both points of the transfer orbit (assuming that the velocity of the spacecraft is equal to Earth’s velocity at the periapsis, and the velocity of the spacecraft needs to be equal to the destination planet’s velocity at the apoapsis). This is directly correlated to fuel consumption, and for the sake of the transfer orbit, we will consider parameters in a vacuum to calculate the change in velocity (example, specific impulse and effective exhaust velocity are different in a vacuum vs. in an atmosphere – that is a separate topic in itself).

It’s unfortunate having to make that many simplifications, but the math is far too complex to be properly simulated in a video game. Especially for a game like Minecraft, where simplifications need to be made for the sake of sanity.

Copyright 2019. All rights reserved.

Posted 2018-08-22 by rashy in category "Misc

Leave a Reply

Your email address will not be published. Required fields are marked *