Hot answers tagged

33

In 2015, the last original Voyager engineer still on the project, retired. NASA specified that his replacement would have to know FORTRAN. The software was updated regularly after launch: The last true software overhaul was in 1990, after the 1989 Neptune encounter and at the beginning of the interstellar mission. "The flight software was basically ...


15

With the exception of model rockets made of paper, wood, or breakable plastic, that are passively stabilized, that have low thrust and low delta V, and that do not have guidance software, launch vehicles fall under ITAR regulations. The regulations are now much more relaxed once the launch vehicle has achieved its goal and placed its payload into orbit. ...


13

The Voyager spacecraft are not reprogrammed anymore, so the language in which they are programmed is largely irrelevant. The uplink is only 16 bits/second, just enough to send (simple) commands. How these commands are generated is irrelevant to the spacecraft. Any language that can generate a sequence of bits theoretically suffices. This pdf document ...


11

Full disclaimer: I'm the author and main developer of poliastro. The most important step before doing anything is somehow retrieving the positions and velocities of the planets of the Solar System. Astropy, one of the core dependencies of poliastro, ships medium-precision approximate models described in Simon et al "Numerical expressions for precession ...


10

I didn't work on Voyager, but can tell you that deep-space missions tend to retain the original ground hardware, software, language, and build environment, both for continuity/safety as well as budget reasons. There may be little or no funding to continue the mission; it may even fall to outright volunteers. It's amazing and sad to me how much we depend on ...


9

TL; DR: Trajectory optimization for continuous thrust is difficult and this field is very active in research. Edit: Concerning the rotation of your spacecraft, you'll want to plot the in-plane and out-of-plane thrusting angles (with respect to the RNC frame of the spacecraft). That will give you an idea of how much the engines needs to gimbal by before ...


9

First: the main problem with your technique of subtracting the two positions is that it does not account for light-time travel. In the case of the Moon observation that you set up in your code, the error is only about 38 km, which might be well within your tolerances. The way to ask for a relative position that is properly light-time backdated is through the ...


6

I would highly recommend NASA Goddard's GMAT (General Mission Analysis Tool). It is quite user friendly, has a number of tutorials, and has been used in spacecraft operations.


6

This is a problem that has plagued groups of people very knowledgeable about orbital dynamics but who learned using different textbooks: there are two different definitions of "flight path angle"!! In addition to $\gamma$, the angle between the tangential direction and the velocity vector, there is $\beta$, the angle between the radial direction and the ...


6

One thing that may be tripping you up is that the d term in the gravitational formula is the distance between the centers of mass of the objects, not the altitude above Earth's surface. The other thing to keep an eye on is your units. The big G gravitational constant is ~6.67 x 10-11 m3 kg-1 s-2; if you're using that value, make sure you're consistently ...


6

callhorizons is depricated now and refers to the python library astroquery which now seems to be the way to go. astroquery (GitHub, readthedocs) is "an astropy affiliated package that contains a collection of tools to access online Astronomical data. Each web service has its own sub-package.", where making Horizons queries is just one of many options. It's ...


6

For Python and TLE propagation using SGP4 one very handy option is https://rhodesmill.org/skyfield/ As you probably already know a TLE is a strange animal. It does not really contain proper orbital elements, but instead is engineered with one purpose; to be fed into SGP4 so that that will generate reasonable position information for at least a few days ...


5

Disclaimer: I'm the author and lead developer of poliastro. Happy to see many others are recommending it, though! :) I also work for Satellogic, the company that open sourced orbit-predictor. I have personal experience with two libraries: poliastro and orbit-predictor (see disclaimers above). poliastro provides a generic framework for initial orbit ...


4

I used the paper Wavelength dependency of the Solar limb darkening for solar limb darkening data. It uses the following model for the normalized brightness distribution across the disk of the Sun: $$ I(\mu)=1-u(1-\mu^\alpha) $$ Here, $\mu$ is the normalized distance from the limb; when far from the Sun, it can be expressed in terms of the normalized ...


4

The planet calculator lists a J2 of $0.001960454$ for Mars, higher than the Earth's $0.001082627$. That makes sense, as Mars has a smaller mass, but still approximately the same rotation rate. That means achieving a sun-synchronous around Mars is slightly easier than around Earth. However, MOM is not in such an orbit.


4

Change the "Table Settings". You want to select reference plane: Earth mean equator and equinox of reference epoch reference system: ICRF/J2000.0


4

Your variable root is of type IAgStkObjectRoot. If you search the Programming Interface Help, there are five save related methods for this type. These include Save() and SaveAs() So the easiest implementation would be: root.Save() which will save the scenario in the Documents\STK folder. If you want to control the specific location to save to you can try:...


4

You can find a C++ method contained in the source code of Andrew Holme homemade GPS receiver project. The method is called GetXYZ and is the EPHEM (ephemeris) namespace and looks as the following: void EPHEM::GetXYZ(double *x, double *y, double *z, double t) { // Get satellite position at time t // Time from ephemeris reference epoch double t_k = ...


4

Why is acceleration of the engines should not be defined as the current acceleration? alt_burn is not an acceleration. It is, I think, the altitude to start the suicide burn. I don't know why the other poster called it an acceleration. If part of an answer confuses you, it's usually a good idea to ask for clarification from the person who gave you the ...


4

Check out PoliAstro by Juan! It's got great visualisation tools in addition to its propagation. Plyades too, is a library for orbit propagation with visualisation. I have heard that there is a cohesive effort to merge Plyades, PoliAstro and other orbital mechanics Python software (the Python Astrodynamics Project). I have also heard of, but not used, Orekit ...


4

Start with answers to How can I plot a satellite's orbit in 3D from a TLE using Python and Skyfield? Plotting in 3D makes my head hurt too, but for some reason I like it when my head hurts. If you like you can paste python into your question; blocks of text that are indented by 4 spaces appear as a "code block". You can have a look at the 3d plotting in ...


4

This answer doesn't talk about how to do it Python at all: rather how to deal with the rotation. I think once you can do that then turning the maths into Python is simple. Initially I'll assume that you are computing positions in terms of three orthogonal axes, and the positions look like $(x, y, z)$, and you're just projecting these down onto the $(x, y)$ ...


4

For an instantaneous delta V, you definitely want to have the integrator stop exactly at the point in time where the change in velocity is to be applied. Dynamic step sized integrators stop where they want to stop. You'll need to force the issue and make the integrator stop at the desired point in time. You can specify a step size that makes a multistep ...


3

If I understand your question correctly, you might be able to use the location search query option in the API to get content for a particular rectangle specified by the latitude and longitude of the opposite corners. From the API docs: -c <coordinates i.e.: lon1,lat1:lon2,lat2> : coordinates of two opposite vertices of the rectangular area of ...


3

Full disclaimer: I'm the author and main developer of poliastro. In poliastro there are several perturbations already defined, and among them you have zonal harmonics, Solar pressure, and the gravitational effect of the Moon. You can see the full list of perturbations here: http://docs.poliastro.space/en/latest/api.html#module-poliastro.twobody....


3

From the point you are, you need to: Calculate the XYZ coordinates of your ground station Find the line in space between the satellite and the ground station Find the XYZ coordinates of the point at the intersection of that line with the ellipsoid defined by all the points with elevations of 300 km Find the latitude and longitude of that point. For (1) you ...


3

I just ran it, and mine look pretty much like those in the paper. See some coordinates at the bottom. Here are some {x,y} coordinates at the times in the left column: 0. {1.,3.} {-2.,-1.} {1.,-1.} 5. {2.46917,-1.22782} {-2.2782,-0.20545} {0.34106,0.901049} 10. {0.77848,0.141392} {-2.02509,0....


3

This might help to get you started. It's just a 1D radial solver, but you can play with the math. I included a 3D version of the derivative function to show one way to make the acceleration a vector in NumPy. Don't forget to add the rotation of the earth. The idea about starting on top of a mountain like Mt. Kilimenjaro is worth exploring for sure. I just ...


3

The State Transition Matrix (STM) The STM is a linearization procedure of a dynamical system. It can be used for any non-linear dynamical system and is used to approximate the dynamics of a system over short period of times. In astrodynamics, it is used especially for statistical orbit determination (stat OD) and the circular restricted third body problem (...


3

I'll try answering your two questions simply first. If these responses are too simple or miss the mark, let me know, and I'll edit the response. 1) What are the state propagation vector and State Transition Matrix (STM)? The state propagation vector is simply the position & velocity at a given time. The STM is a matrix that captures the sensitivity ...


Only top voted, non community-wiki answers of a minimum length are eligible