Part 2: GN&C
Once you understand the dynamics of a spacecraft, you can then design software and algorithms to bend those dynamics to your will and achieve a desired outcome.
Broadly speaking, the design of the algorithms that run on-board spacecraft is called spacecraft GNC or Guidance, Navigation, and Control.
Each of these topics are a study in of themselves. Guidance typically refers to defining / designing the path, trajectory, or outcome that you want your spacecraft to follow. Think about this as opening google maps, defining your desired end destination, and it suggesting three different paths for getting there.
Next is Navigation, which is the set of algorithms that localize the spacecraft's current position / state. You can think about this as the magical algorithm that google maps runs in the background to track your car's location on the highway as you drive. This estimated position can then be compared to the desired position and used to recommend some action, or control -- i.e. you're approaching an intersection in your car, and you need to turn to stay on track.
Using this analogy, spacecraft GNC can aptly be thought of as "Google Maps for Space".
Navigation
In more technical terms, you'll often hear spacecraft navigation referred to as orbit determination, or OD. This is a specific instantiation of State Estimation.
State Estimation
State estimation is the process of fusing information that you have beforehand, with new information that you collect on the fly to estimate an object's state. For example, let's say you have a current guess of the spacecraft position + an approximate model of its dynamics. This information can be used to predict where the spacecraft might be at a future moment, assuming the dynamics are a perfect representation of the true system. The reality is that we often don't know the exact dynamics. As discussed, there are many types of perturbations that affect the motion of the satellite that we simply can't capture with with our simple models, but that's okay because we can use other sources of information (measurements) to help correct our prediction.
This information might be a measure of:
- distance between a radio telescope on the Earth (ground station) that is either:
- a) actively pinging your spacecraft and waiting for a signal back (two-way ranging)
- b) passively listening (one-way ranging) for any signal directly from the spacecraft,
- an image of the body that the spacecraft is orbiting
- An image of the celestial sphere where the spacecraft is pointing
- Many more
Like with the dynamics, we also have ways to predict what our measurements should look, assuming we know our spacecraft position. Without getting into all of the mathematical details, there are statistically optimal ways to fuse our measurements with our predictions to get the best estimate of the spacecraft state. These statistically optimal algorithms are referred to as Kalman Filters, of which there are many (Extended KF, Unscented KF, Particle Filter, etc). In general, these filters can be designed to make fewer assumptions, but this often increases their computational costs.
Kalman Filter + Least Squares
Interestingly, you'll find that Kalman filters are the generalization to least-squares fitting to time-varying systems. Put differently, if you have a system that doesn't evolve with time (no dynamics), then you can estimate the system state by just doing least-squares inversion of the measurements.
Taken together, Kalman filters applied to spacecraft using measurements taken on-board and on the ground is referred to as Orbit Determination. In these problems, you are trying to construct the spacecraft position (which through conversion to orbital elements, "determines the orbit").
Control
The control part of GNC is a very large area of research, not only for spacecraft, but any autonomous vehicle or system. In general, control simply adds an extra force term to the dynamics of the spacecraft. This control term can be used to actuate the spacecraft to the desired end state. There are many types of actuators for spacecraft, both for attitude and translational motion. For attitude control, spacecraft often carry reaction wheels, or RW, on-board. These are like very thick CDs that can vary their speed. If you have enough of these reaction wheels on-board and configured in proper orientations, then you can use them and Netwon's third law (equal and opposite reactions) to induce a desired rotation / torque on the spacecraft to change the direction it points its antenna (or camera, or other instrument). There are also other attitude actuators like Variable Speed Control Moment Gyroscopes, or VSCMGs. These are far larger and more complex than reaction wheels, but they can induce greater torques in a more compact form (these are what are flown on the ISS).
Regarding translational control, spacecraft typically have three types of actuators: DV thrusters, RCS Thrusters, and Low-Thrust Actuators. DV Thrusters are the big bulky thrusters that you see on a spacecraft, and they are used to change the spacecrafts velocity / orbit through an impulsive change in velocity or "Delta Velocity (DV)". These are typically fired only a few times during a missions lifecycle, most likely for entering or exiting orbit around some body. RCS Thrusters are reaction control system thrusters. These are much smaller thrusters that can perform small corrections for translational or attitude control. RCS thrusters are also used to desaturate reaction wheels. This is a phenomenon where over time, the reaction wheels perform enough actions that there speeds get to high and they need to dump momentum (spin down) without destablizing the spacecraft. RCS thrusters are often used to offset this momentum dumping by firing while the wheels spin down. Finally Low-Thrust actuators, which include things like electric propulsion, don't impart large instantaneous changes to velocity, but instead apply a small amount of force continuously. These are often much more efficient, and can have "infinite" amounts of fuel as they are charged by the solar panels.
The actual theory that goes into control is extraordinarily rich. In short, engineers typically talk about time- or fuel-optimal control. Time-optimal control typically refers to making the control as quick as possible, such as designing spacecraft maneuvers that get the spacecraft from one planet to another in the least amount of time. Fuel-optimal cares less about time, and instead tries to preserve the most fuel by leveraging the natural dynamics of the system wherever possible. Realistically some middle ground is desired, so engineers will construct objective functions which is some function that is to be minimized or maximized. For simple objective functions and simple dynamical systems, analytic solutions for the control can be constructed. For more complex systems, analytic solutions can occasionally be reached (Lyopanov Control Theory), but more often than not, various non-linear optimization algorithms must be used instead. This gets into the study of linear, non-linear, and mixed-integer programming, or more advanced techniques like reinforcement learning.
Guidance
Guidance is more of an art than science. Everyone has different ways to define what a good path or trajectory actually is. The most commonly cited example of a guidance algorithm is called a Lambert Solver. Lambert Solvers are algorithms used to solve Lambert's Problem which is posed as having two positions and a desired time between them. Lambert solvers will take this information can can propose a desired velocity that can be used to transfer between those two points assuming 2BP dynamics. This solution will yield some velocity vector which, when combined with the initial position, forms a desired orbit, that can then be used as the spacecraft's reference trajectory. Beyond Lambert's problem, guidance might entail path-planning algorithms which help identify efficient candidate trajectories through complex spaces.
Other Areas of Research
Beyond spacecraft GNC, there exist other topics that are slightly more specialized but very active in the broader research community.
Relative Motion / Formation Flying
When there are more than one spacecraft trying to fly in some coordinated fashion, you enter the realm of formation flying. The underlying premise is that you have some chief spacecraft and one or more deputy spacecraft. The goal is to keep the deputy's in some desired formation or position relative to the chief, therefore in relative motion dynamics, the states are typically defined relative to relative to the chief \(\delta \mathbf{r} = \mathbf{r}_d - \mathbf{r}_c\). When you plug in these values into the 2BP and carry out all of the math, you end up with the Clohessy-Wiltshire Equations, or CW Equations.
Generally, formation flying refers to the coordination of a relatively small set of different spacecraft, but if this number grows large, then you can get into the topic of satellite constellations, examples of which include things like GPS constellations, Starlink, OneWeb, etc.
Rendezvous and Proximity Operations
In contrast with formation flying, sometimes spacecraft need to interact with one another (e.g. docking, servicing, debris removal, etc). This interaction is often referred to as RPOD: Rendezvous, Proximity Operations, and Docking. Often you'll have a target spacecraft which is getting followed by some chaser spacecraft. The target may be cooperative, and it expects and wants to be interacted with. Other spacecraft may be uncooperative, be it uncontrolled or adversarial. RPOD has historically been human-in-the-loop --- i.e. astronauts docking their capsule to the ISS --- but recent efforts are exploring ways to do this autonomously. This gets into contact dynamics.
Satellite Operations
Once a spacecraft is designed, built, and launched, people on the ground still need to operate the vehicle. They need to decide when the satellite should be pointing to the sun and charing its batteries, when it should downlink its data to the nearest ground station, identify which target to image next, etc. These decisions are referred to as Satellite Operations, and the engineers who make these decisions are Satellite Operators. Typically these are the people who are working the control room wearing those silly headsets and awkward high-fives during launch. When the satellite is far away, or simply does not have constant access to the ground, then operators need to build schedules of satellite operations that can be uplinked to the spacecraft for on-board execution. This sequencing is called Satellite Scheduling.
This is a surprisingly painful process as it requires scientists and engineers to negotiate priorities on a weekly or daily basis. Considerable effort has gone into automating this process using reinforcement learning.