A Planet to Call Home

Our mission? Find a place to land, and then land on it!

We're already in low orbit, orbiting around the equator of the planet, and we will continue to only stay in this space (not moving away from the equator, that is). This is because adding a third coordinate (z) will further complicate the landing process, and this close to our goal, we do not want any mistakes. We record a short clip of the planet's surface while we are in orbit, in order to get an idea of what we can see:

Not shown: The dark side of the planet, and a bunch of clouds. So many clouds.

At this point we are close enough to our planet's surface to be able to study it properly! We orbit the planet a few times, looking for a flat and dry surface, and quickly note that our planet is full of liquid and mountains, as well as clouds that make it hard to see. However, we do manage to find a larger flat surface, and decide that this is a good a landing spot as any.

Bildet kan inneholde: speilbilde, vann, himmel, tre, sky.
Kind of boring, but perfect for what we want.

Perfect! Only problem is that the planet refuses to stand still! Even when we are in its frame of reference, it's still rotating! That bastard. How do we account for this?

Bildet kan inneholde: linje, diagram, sirkel, linjekunst, parallell.
Spherical coordinates. Note that our r is the radius of the planet, and that we only need to move in the direction of \(\phi\).

First, we decide that we want to work in a spherical coordinate system (as seen here), which will make our calculations a bit easier. Planets have this tendency to be spherical, you see, and a spherical coordinate system accounts for this. This means that out of the coordinates \((\theta,\phi,r)\), the only component we need to change is the one rotating the equator, \(\phi\). How much this angle rotates is dependent on the movement of the planet in relation to the spacecraft and on how much time passes.

We can then decide a time \(t_0\) where we decide on a place to land, while we are in a straight line above it. Thanks to our trusty algorithm for orientation, we can easily find the coordinates of our rocket, and we turn these into spherical coordinates. You see, if we are right above the point we want to land, our spherical coordinates are almost the same as the spot's coordinates. After all, the angle around the equator, \(\theta\), is the same, we haven't moved up or down from the equator so \(\phi\) is the same, and we know \(r\), which is simply the radius of the planet!

Unfortunately, as we established, we cannot teleport down at \(t_0\). We need to be able to know the coordinates at a later time \(t_1\). In order to figure this, we need to know the change in the angle \(\phi\), or the velocity of this angle, \(v_\phi\). This is dependent on the angular velocity of the planet, \(\omega=\frac{2\pi}{T}\) where \(T\) is the rotational period of the planet.

Bildet kan inneholde: linje.
The line from the center of the planet and out, moves an angle \(\phi\) across the planet. The whole line moves together, but it moves a longer distance the further away from the center it is- therefore it must go faster the further away it is!

Note here that the rotational velocity \(v_\phi\) is not the same all over, it changes, depending on how far from the center of the spherical system we are. If we imagine a line from the center of the planet, and out, that moves an angle \(\phi\) at the equator, we see that it covers a much smaller space the closer to the center of the planet it is. But we cannot cut the line in half, the top of the line must move with the bottom, and so it will need to cover a larger area in the same amount of time- therefore it will have a higher rotational velocity!

Because of this, we choose to only work with the angular velocity \(\omega\) to make things simpler for ourselves, as this velocity is independent of the distance from the center of the planet. Knowing the angle \(\phi\) and how it changes over time, we can find the new angle after a period of time \(\Delta t\) by calculating \(\phi_{landing} = \phi_{launch} + \omega \Delta t\). (The same way we update the position in an integration loop: \(r_1 = r_0 + v \cdot dt \), if we assume constant speed!)

We can now make a function where we give in \(t_0\), which is the time where we want to launch our lander, and the time it takes to travel from the rocket to the planet \(\Delta t\). We are going to find the time it takes to reach the planet from the rocket later, but for now we assume that it is known. We also need to know the angle at the time of launching our lander. This is easily done, as we have our x- and y-coordinates at this point in time, and our angle will therefore be \(\phi_{launch} =arctan( \frac{y}{x})\). After adding the change in angle \(\omega \Delta t\), we have the new angle \(\phi_{landing}\), which we can convert from spherical coordinates back to Cartesian coordinates like this:

\(x = r \sin(\theta) \cos(\phi) \\ y = r \sin(\theta) \sin(\phi) \\ z = r \cos(\theta)\)

As previously mentioned, \(\theta\) will be constant, and as we are moving around the equator the angle will always be \(\theta = \frac{\pi}{2}\). This means we ignore the z-axis, and we are left with expressions that only depend on \(\phi\)!

 

Av Semya A. T?nnessen, Marie Havre
Publisert 13. nov. 2020 17:51 - Sist endret 13. nov. 2020 17:51