How can a deep-space spacecraft determine in real time the direction of delta-v?

My spacecraft knows it wants to add a certain delta-v in a certain direction to its motion, relative to the stars. It will calculate current mass based on propellant usage history, which hasn't been much so far, and it knows the engine's well-characterized thrust, so taken together, it knows that it needs to burn for a time T in order to produce the correct magnitude of delta-v.

Its internal contents tend to shift, so that the precise location of the spacecraft's center of mass is unpredictable. Luckily the engine is gimbaled, and it can adjust the gimbals continuously during the maneuver to make sure it keeps the center of mass directly on the thrust axis. It does this by detecting rotation with the star cameras and gyros and gimbaling to null the rotation.

How does my spacecraft know if the thrust is actually pointing in the right direction? The stars are very far away and there are no handy planets or asteroids nearby, so while it knows attitude, how can it determine that the direction of the delta-v vector is correct?

I suppose internal accelerometers (inertial guidance) that have been cross-calibrated with the star cameras would be one solution, and exchange of radio communication and doppler information with Earth would be another.

Is that it? Inertial sensors and doppler, or is there any other currently used deep-space spacecraft technology that can measure the direction of delta-v in real time?

I see the caveat of your question... and simultaneosly, I don't.

The problem: randomly, non-deterministically shifting center of mass.

Solution: as craft tries to turn, this is detected and compensated by engine gimbal, so that the thrust vector always points through CoM, unless it's compensating for the tilt right now.

Side effect: discrepancy between heading and bearing; thrust misaligned with ship's geometrical axis (which is misaligned with the misplaced CoM), propelling it in a different direction than originally intended.

Resulting problem: how to determine the value of the error - shift in velocity vs intended?

Solution: using exactly the same software that is used to drive the gimbal.

You know the value of thrust (force), you have a very good idea about mass (fuel mass flow and ship's total mass), and you know the direction of thrust at any point of time, along with direction of the exhaust-CoM vector (calculated from shift vs stars, necessary to drive the gimbal operation.)

Split the thrust vector into component vectors along the exhaust-COM axis and perpendicular. Integrate force $\rightarrow$ acceleration resultant from the parallel component over time to get the velocity change; integrate (2nd degree) displacement from the perpendicular component (perpendicular component of velocity afterwards will be near zero since the rotation is extinguished, and never allowed to grow significantly).

• How can I know the direction of the thrust? With respect to what? Is it a perfect engine and a perfect nozzle and there's a star cam pointing out the nozzle getting a fix? I understand the gimbal control should mostly prevent the spacecraft from spinning out of control, but even if I wanted to target Alpha Centauri and I could see it, how do I know that I'm accelerating in that (essentially) exact direction? Do I need a star/navigation camera that has been previously aligned with respect to a set of accelerometers? Or instructions from Earth based on doppler? Or is there any other option? – uhoh Dec 21 '16 at 14:07
• I'm not questioning your answer, I am just thoroughly flummoxed by my own question. These are the only two things I can think of. 1) Accelerometers pre-aligned to star cameras, or 2) regular updates from Earth (or some proxy) based on doppler measurements relative to a known body for which a good ephemeris exits (e.g. Earth). – uhoh Dec 21 '16 at 14:10
• @Uhoh: The thrust goes according to thrust profile, which is very well known, or your engine would blow up (combustion stability and thrust profile are inexplicably bound; you provide X fuel, Y oxidizer, get Z thrust in void.). As for direction: you drive the gimbal motors! If you tell the gimbal motor to turn by 2.3 degree starboard, your thrust goes 2.3 degree starboard! – SF. Dec 21 '16 at 16:41
• Also: this is to immediately obtain delta-V. To obtain precise locaction and velocity vectors, you use ground contact and get the reply when the signal completes the round-trip. But to get the change in current velocity, you can simply calculate using the thrust from the burn (thrust is very precise as function of fuel dosage - matters of combustion stability) and direction (the gimbals have a very precise feedback on positioning of the nozzle.) – SF. Dec 21 '16 at 16:47
• OK got it! If there are pre-calibrated absolute encoders measuring the 2D angles of the engine/nozzle with respect to the spacecraft frame, and star cameras pre-calibrated with respect to the spacecraft frame, then I have a good estimate of the direction of the thrust with respect to the stars. It's not quite the same as an actual measurement of the direction of the delta-v, but it's going to be quite close. Great! A third method beyond accelerometers and doppler data reported from Earth. Thank you!! – uhoh Dec 22 '16 at 0:56

How does my spacecraft know if the thrust is actually pointing in the right direction? The stars are very far away and there are no handy planets or asteroids nearby.

That the stars are very far away is a huge advantage. Parallax will not be an issue for a star tracker that looks for distant bright stars, at least not within the solar system. The inherent errors in even state-of-the-art star trackers are significantly larger than the errors induced by parallax. Parallax might become an issue in the distant future, but by then our children's children's spacecraft will be using quasar trackers.

So while it knows attitude, how can it determine that the direction of the delta-v vector is correct?

In many cases, the spacecraft does not know that the direction of the delta-v vector is correct. Their flight software is rather primitive. Deep space probes typically receive delta-V commands from Earth. These spacecraft have rather limited autonomy and intelligence, and simply execute the commands transmitted to them. Suppose the Applied Physics Lab had mistaken commanded the New Horizons spacecraft to perform a maneuver that would have made that spacecraft smack into Pluto. The spacecraft would have done exactly what it had been commanded to do.

Making a spacecraft truly autonomous is a task for the next generation of rocket scientists. For now, autonomy is limited to those phases of flight where intervention from Earth is impossible. This includes automated rendezvous; automated entry, descent and landing; and autonomous pointing (e.g., New Horizons pointing towards Pluto). In all of these cases, the vehicle will have more than the standard set of navigation sensors, and the flight software will be rather complex.

• I'm asking how it can measure it's velocity or change in velocity. Stars give attitude. Unless It passes something that's close enough to give substantial parallax and for which It has an ephemeris, cameras won't give any information relating to velocity. – uhoh Nov 30 '16 at 6:41
• @uhoh -- That is not what you asked in either the title or the body of the question. Your question asks about the direction. Now you are asking about the magnitude. Which is it? – David Hammen Nov 30 '16 at 23:22
• OK you are right, I only am asking about the normal of the change in velocity. "direction of delta-v". Thanks. If it's in deep space and executes a burn, but the spacecraft has a center of mass that is uncertain, how can it determine the direction of the change in the velocity vector - "the direction of delta-v"? – uhoh Dec 1 '16 at 0:56
• Actually this is a good and interesting answer for a question about present and future spacecraft autonomy - if it hasn't been asked before I can ask about that explicitly in another question. It may be of greater general interest than this question! – uhoh Dec 1 '16 at 21:59
• David this answer is really interesting, I've asked a spacecraft autonomy question that needs some perspective. – uhoh Dec 3 '16 at 0:28

Generally a spacecraft will use a gyroscopic inertial platform — a set of powered gyroscopes holding a fixed orientation in space, mounted in nested gimbals allowing the spacecraft to rotate around it. The relative rotation of the gimbals is measured several times a second to determine the direction the craft is pointing and how fast the direction is changing, which lets the guidance system adjust the engine gimbal to keep the craft on course in a continuous feedback loop.

• And just to explicitly answer "How does my spacecraft know if the thrust is actually pointing in the right direction", a burn attitude will be computed prior to the burn and fed into the guidance system as the target attitude. The attitude control system as described by @Russell Borogove will then keep the craft pointed in that direction. – Organic Marble Nov 29 '16 at 23:27
• @OrganicMarble is that just wrapping my question with the phrase "calculate a burn attitude"? For a spacecraft with a gimbaled engine and uncertain center of mass due to movement of mass internal to the rigid structure, how exactly would the burn attitude be calculated ahead of time without knowledge of the exact center of mass? – uhoh Nov 30 '16 at 0:59
• If I understand you, yes. – Russell Borogove Nov 30 '16 at 2:13
• Inertial platforms are so last millennium. That's what the Apollo program used. Too expensive, and not that accurate. There are more modern alternatives, all of which were developed in the previous millennium (but post Apollo). – David Hammen Nov 30 '16 at 4:21
• @RussellBorogove -- Strapdown systems. – David Hammen Nov 30 '16 at 23:19