How do you plot an intercept course?

I’m in my space ship. There’s another ship some distance away. I want to catch up to him and then match velocities, presumably requiring two manoevers.

The other ship is distance D away at angle T It is travelling at relative velocity vector V possibly with zero magnitude (i.e. at rest relative to me), and accellerating with the vector A, which also might have zero magnitude.

Naturally, my ship has a maximum magnitude of acceleration in any arbitrary direction.

How do I compute the two accelleration vectors to match speed and direction with the other ship? Assume my ship can accellerate faster than the other ship, there is no gravity and it takes no time to change the orientation of the thrust.

Either polar or cartesian coordinates will do. If it’s easier to explain in two dimensions instead of three, that’s fine too. :slight_smile:

Thanks in advance for your help. My vector algebra is just too weak for me to set up the problem correctly, much less answer it. I do know basic vector algebra, so you don’t have to explain the operations, just how to set up and solve the problem.


Catapultam habeo. Nisi pecuniam omnem mihi dabis, ad caput tuum saxum immane mittam.

To plot an intercept course, you say to your helmsman, “Helmsman, plot an intercept course.” Works every time.

I like Otto’s answer. To do it the hard way, see below.

The equation of motion (for constant acceleration) is:
s(t)=si +vit + 0.5a*t^2
where s(t) means the position vector as a function of time; si means initial position vector; vi means initial velocity vector; a means the (constant) acceleration vector.

At the point of interception, s for the pursued and pursuer will be the same (i.e., the will be at the same place.) Chose an inertial reference frame so that the pursuer’s initial position and velocity are zero. Therefore:
si + vit + 0.5at^2 = 0 + 0 + 0.5b*t^2, where the left side describes the pursued and the right side describes the pursuer. Here b is the (constant) vector acceleration of the pursuer.

Solving for b, we have
b = t^-2 * [2*(si + vit + 0.5a*t^2)]

Now plug in the value of t that is the time you want the interception to happen and the equation gives the value of the vector b needed to effect that interception. There are an infinite number of interception trajectories, but only one for each value of time t of interception. The equation can also be solved for t in terms of b. You can then determine t for any given value of b (e.g., the maximum acceleration of the pursuer’s ship).

Work is the curse of the drinking classes. (Oscar Wilde)

I like Otto’s answer. To do it the hard way, see below:

The equation of motion (for constant acceleration) is:
s(t)=si +vit + 0.5a*t^2
where s(t) means the position vector as a function of time; si means initial position vector; vi means initial velocity vector; a means the (constant) acceleration vector.

At the point of interception, s for the pursued and pursuer will be the same (i.e., the will be at the same place.) Chose an inertial reference frame so that the pursuer’s initial position and velocity are zero. Therefore:
si + vit + 0.5at^2 = 0 + 0 + 0.5b*t^2, where the left side describes the pursued and the right side describes the pursuer. Here b is the (constant) vector acceleration of the pursuer.

Solving for b, we have
b = t^-2 * [2*(si + vit + 0.5a*t^2)]

Now plug in the value of t that is the time you want the interception to happen and the equation gives the value of the vector b needed to effect that interception. There are an infinite number of interception trajectories, but only one for each value of time t of interception. The equation can also be solved for t in terms of b. You can then determine t for any given value of b (e.g., the maximum acceleration of the pursuer’s ship).

Work is the curse of the drinking classes. (Oscar Wilde)

Actually, you’d probably want your quartermaster to do the plotting. The helmsman (at least in the Navy, but we all know that when interstellar travel becomes a reality, it will operate just like the Navy currently does) doesn’t have any training in plotting, and besides, he’s rather busy with driving the ship.

Anyways, I can do these sorts of problems for things moving at constant velocities, but it invloves manœvering boards and it would be really hard to explain it without pictures. SingleDad, if you want, I’ll try to whip up a graphical representation tonight and post it on my web space. Let me know, classes are all but over, so I’ve really nothing better to do.


“It is not from the benevolence of the butcher, the brewer, or the baker that we expect our dinner, but from their regard to their own interest.” - Adam Smith

Thanks bib! :slight_smile:

I assume since your equations don’t have a direction in them, should I understand that you’re actually computing the magnitude of the acceleration along one component vector? So I would repeat the equation for the component in each dimension (x, y, and z for space).

If so, how do they add up? Since the components are mutually perpendicular, do the accelerations just add up linearly? Or do I have to use trig to sum them properly? To ask a different way, given that my maximum acceleration is a constant, how do I allocate it among the dimensions?


Catapultam habeo. Nisi pecuniam omnem mihi dabis, ad caput tuum saxum immane mittam.

Also, waterj2, I’m trying to program this into a computer. I understand the problem reasonably well, but I need the correct formulas in algebraic form to actually computer the correct numbers.


Catapultam habeo. Nisi pecuniam omnem mihi dabis, ad caput tuum saxum immane mittam.

I always look for a smashed bug on the windshield, turn my bus so that the interceptee is behind the bug, then modify speed so that the interceptee does not move relative to the bug. Eventually we meet. (In space or winter where there are few bugs on the windshield, I sometimes have to resort to sticking a thumbprint over the interceptee on the windshield.)


Tom~

You can have a QB for the NY Giants throwing the ball. This is a plot for many interceptions, and I have a vast array of statistical evidence on my side…


Yer pal,
Satan

http://www.raleighmusic.com/board/Images/devil.gif

I HAVE BEEN SMOKE-FREE FOR:
Two weeks, one day, 20 hours, 14 minutes and 19 seconds.
633 cigarettes not smoked, saving $79.22.
Life saved: 2 days, 4 hours, 45 minutes.

Otto, tomndebb, & Satan. If I’d wanted comments from the peanut gallery, I would have posted in MPSIMS! :stuck_out_tongue:


Catapultam habeo. Nisi pecuniam omnem mihi dabis, ad caput tuum saxum immane mittam.

SingleDad, you’ve bitten of a BIG bite! {grin}

Technically, what you’ve proposed is a nonlinear boundary value differential equation problem. It’s a “boundary value” problem because you are specifying the conditions at more than one point (known conditions at t=0 and matching position and velocity at some other time). It’s nonlinear because the desired final position and velocity themselves are a function of one of the variables (time). And it’s a differential equation problem because the governing equations are differential. Well, you could re-cast it as an integral equation problem, but I won’t get into that …

Bibliophage solved an initial value problem, but that’s not what you want. Using bibliophage’s solution, the two space ships will be at the same point at some time; but they will virtually certainly be traveling at different speeds and in different directions at that point.

So, how do you solve the problem? It’s been a long, long time since I did any such problems, and I only have a few comments.

The problem is under-constrained. Either an infinite number of solutions exist, or no solution exists (e.g. if you and the other spaceship are traveling along the same line, and you are behind the other spaceship, and the other spaceship chooses to accelerate at the maximum rate that you can accelerate). You have to choose one or more additional constraints to obtain a solution. Some typical constraints you might choose:

  1. Minimize total elapsed time.

  2. Minimize total change in velocity (that is, minimize fuel usage).

  3. Choose the time at which the intercept occurs.

  4. Minimize the total elapsed time while using no more than some specified amount of fuel.

I doubt that an analytic closed-form solution exists. I could be wrong.

It can certainly be solved numerically. A finite element method or finite differences method might be appropriate. Writing such programs requires significant expertise in numerical methods. I don’t know of any free programs, but there might be some.

Solving the problem numerically has pitfalls; if it is important that the answer is correct, you’ll need some expertise to evaluate the results.

I have a cousin with a PhD in this sort of stuff, and I could ask him about it (if you are interested in pursuing this further).


jrf

Uh, it goes beyond the simple kinomatics equations. Simply put, there are energy and momentum equations which must be satisfied.


“They’re coming to take me away ha-ha, ho-ho, hee-hee, to the funny farm where life is beautiful all the time… :)” - Napoleon IV

I’ve made up a halfway decent explanation of how to do plot an intercept course for ships moving at constant speeds complete with diagrams. You can see it here: www.rpi.edu/~waterj2/intercept/

While it certainly doesn’t answer the OP, it should provide a start. Let me know if I’ve glossed over anything important.


“It is not from the benevolence of the butcher, the brewer, or the baker that we expect our dinner, but from their regard to their own interest.” - Adam Smith

waterj2: That actually makes sense. :slight_smile: I’ll have to consider it more carefully when I’ve had more than 2 hours sleep. But I understand things better algebraically than geometrically.

JonF:

For the purposes of the exercise we’re assuming that the pursuer has a higher maximum acceleration than the pursued. Also, we’re assuming a “Dean Drive” so we don’t have to account for changes in mass as acceleration ensues. We can also change the direction of acceleration instantaneously. I’m also assuming non-relativistic velocities in euclidean space.

For the first cut, we want to minimize total elapsed time until velocity matching. Presumably if we want to get two pursuers to a rendezvous point at the same time, we find the pursuer with the longer time to intercept, and slow down the pursuer with the shorter time to make them match up.

It doesn’t seem like a differential equation. My very intuitive guess, supported by waterj2’s analysis is that we’re dealing with simultaneous solutions of several vector additions.

In one dimension, the pursued will arrive at the rendezvous point Pr with velocity Vr after time Tr. This point can be calculated by adding his initial position Pi, his initial velocity Vi * Tr, and his acceleration, Ai * Tr^2 (or is it (Ai * Tr^2) / 2?). The pursuer will arrive at the rendezvous point Pr after time T by adding the “catch up” acceleration A1 * T1^2 and the “matching” acceleration A2 * T2^2.

Obviously, since you’re starting off measuring everything relative to the pursuer, his initial distance and velocity are 0.

Since you’re wanting to make the rendezvous point, T1 + T2 = T, and since you want to match velocity, A1 * T1 + A2 * T2 = Vr. Also, since we want to do this as fast as possible, A1 is a constant (our maximum accelleration) and A2 = -A1 (we want to slow down as quickly as possible).

So it seems if we have the equations set up correctly, we should have enough information to solve a set of simultaneous equations to find the general case in one dimension.

Going to more than one dimension seems to add the complexity of “distributing” the acceleration over the dimensions. We want to calculate the “catch up” and “match” accelerations for each dimension, but make sure that the magnitude of each resultant acceleration vector in all dimensions equals our maxiumum acceleration. Thus for two dimensions, Am = magnitude (Ax vector-add Ay) for the “catch up” and “match” accelerations. I don’t know the correct equation; does it need a sine or cosine?


Catapultam habeo. Nisi pecuniam omnem mihi dabis, ad caput tuum saxum immane mittam.

SingleDad, your problem phrased in the original form will have infinitely many solutions, just by the simple fact that you have not specified the allowed magnitudes of acceleration. Let me give you a quantitative example. Suppose you allow infinite acceleration, and instantaneous change of the direction and magnitudes of acceleration. This implies that plotting an intercept course is as simple as pointing yourself in the direction of the target, activate your super engines and move right next to the target, redirect the engines to stop yourself, and then accelerate in the direction the target is moving, all done in an infinitely small time frame. So, as JonF has already mentioned, you’ll have to be a lot more specific than you originally were. Specifying constant acceleration and starting velocities for both bodies, requiring minimum path length (for you or the target), and minimum time is probably a better idea.

Well, it is indeed a differential equation system (velocity is the time derivative of position, acceleration is the time derivative of velocity), but in one dimension we can certainly look at it as an algebraic system … almost. It’s probably much more efficient to look at it as differential equations.

The original statement didn’t include the minimum-time constraint, but that one certainly simplifies the problem, so let’s have at it it one dimension. Relative to the frame of the initial state of the pursuing ship, the pursued ship starts Pi away from the pursuer, moving at velocity Vi and accelerating at Ai. The maximum acceleration of the pursuer is A, and the pursuer always accelerates as much as it can. We see intutitively that the pursuer should always accelerate.

There are five unkown quantities:

Pr (the position at the time of interception)
Vr (the velocity at the time of interception)
T1 (the initial acceleration time of the pursuer)
T2 (the final deceleration time of the pursuer)
T (the total time)

And let’s start writing equations:

The pursued ship arrives at Pr after time T:

Pr = Pi + ViT + Ai(T)^2/2

The pursuer arrives at Pr after time T:

Pr = A*(T1^)^2/2 - A*(T2)^2/2

At interception, the pursued ship and the pursuer have the same velocity:

Vr = Vi + Ai*T (the pursued ship)

Vr = AT1 - AT2 (the pursuer)

The pursuer is always accelerating:

T1 + T2 = T

So we have five equations in five unknowns, and there may be a solution (since three of the variables apppear non-linearly, a solution is not guaranteed, and there may be spurious solutions). Note that we don't know the *sign[/] of A *a priori*, although we can figure it out from the sign of Pi. I don't have MathCAD here, or I'd take a shot at a solution. Unfortunately, there doesn't appear to be a linear subset of the equations.

OK, three dimensions. We have fifteen unknowns (Prx, Pry, Prz, Vrx, Vry, Vrz, T1, T2, and T plus the three initial pursuer accelerations A1x, A1y, and A2z and the three final pursuer accelerations A2x, A2y, and A2z). I don’t think that we can assume that A1x = -A2x and so on. We have fifteen equations:

Prx = Pix + VixT + Aix(T)^2/2
Pry = Piy + ViyT + Aiy(T)^2/2
Prz = Piz + VizT + Aiz(T)^2/2

Prx = A1x*(T1^)^2/2 + A2x*(T2)^2/2
Pry = A1y*(T1^)^2/2 + A2y*(T2)^2/2
Prz = A1z*(T1^)^2/2 + A2z*(T2)^2/2

Vrx = Vix + AixT
Vry = Viy + Aiy
T
Vrz = Viz + Aiz*T

Vrx = A1xT1 + A2xT2
Vry = A1yT1 + A2yT2
Vrz = A1zT1 + A2zT2

(these are just the 3D vector versions of the first four equations of the one dimensional case)

T1 + T2 = T

sqrt(A1x^2 + A1y^2 + A1z^2) = A (the maximum possible)
sqrt(A2x^2 + A2y^2 + A2z^2) = A

(the last two are just 3D Pythagoras), so it looks conceivably solvable … I’d prefer not to do it! I’d probably try to do it numerically, but I don’t see immediately how.


jrf

Actually, I think that tomndebb’s solution is the best offered so far, peanuts aside: smash a bug at the “straight ahead” point on your windshield, throttle your engines to max, straight ahead, and continually adjust heading so that the bug stays right on target. It has three advantages that I can see: It’s simple to implement, it makes near-maximum use of engine thrust, and hence near-minimum time, and unlike the other proposed methods, it’ll still get you there if your target performs evasive maneuvers. The only problem is matching velocities at the end, but I’m sure there’s a simple way around that, too.


“There are only two things that are infinite: The Universe, and human stupidity-- and I’m not sure about the Universe”
–A. Einstein

Cleaning up JonF’s post for him:
And let’s start writing equations:

The pursued ship arrives at Pr after time T:

Pr = Pi + ViT + Ai(T)²/2

The pursuer arrives at Pr after time T:

Pr = A*(T1)²/2 - A*(T2)²/2

At interception, the pursued ship and the pursuer have the same velocity:

Vr = Vi + Ai*T (the pursued ship)

Vr = AT1 - AT2 (the pursuer)

The pursuer is always accelerating:

T1 + T2 = T
:Snip:

:Snip:
We have fifteen equations:

Prx = Pix + VixT + Aix(T)²/2
Pry = Piy + ViyT + Aiy(T)²/2
Prz = Piz + VizT + Aiz(T)²/2

Prx = A1x*(T1)²/2 + A2x*(T2)²/2
Pry = A1y*(T1)²/2 + A2y*(T2)²/2
Prz = A1z*(T1)²/2 + A2z*(T2)²/2

Vrx = Vix + AixT
Vry = Viy + Aiy
T
Vrz = Viz + Aiz*T

Vrx = A1xT1 + A2xT2
Vry = A1yT1 + A2yT2
Vrz = A1zT1 + A2zT2

(these are just the 3D vector versions of the first four equations of the one dimensional case)

T1 + T2 = T

sqrt(A1x² + A1y² + A1z&#178 :wink: = A (the maximum possible)
sqrt(A2x² + A2y² + A2z&#178 :wink: = A

Damn smilies! Here’s what those last two lines should look like:

sqrt(A1x² + A1y² + A1z²) = A (the maximum possible)
sqrt(A2x² + A2y² + A2z²) = A

This is starting to make sense :slight_smile: I think we’re almost there!


Catapultam habeo. Nisi pecuniam omnem mihi dabis, ad caput tuum saxum immane mittam.