3
\$\begingroup\$

I have a boat traveling at 20 meters/second approaching destination x. Destination x has a range radius of 10 meters. What I would like to do is make sure by the time the boat arrives within 10 meters of destination x (i.e. boat gets to touch the orange circle) the boat speed is brought down to 5 m/s. The boat can decelerate at a rate of 0.5 m/s^2.

enter image description here

My solution:

I believe I need to first calculate the distance required to slow down to 5 m/s.

using the following equation of motion:

v^2 = u^2 + 2as

where:

  • v: final velocity
  • u: initial velocity
  • a: acceleration; -acceleration = deceleration
  • s: displacement or distance

we can rearrange the variables in the formula above like so:

s=(u^2-v^2)/(-2a)

applying the following given variables:

  • v = 5
  • u = 20
  • a = -0.5

we have:

s=(20^2-5^2)/(-2(-0.5)) = (400-25)/1 = 375

this means that at any moment of travel we need a distance of 375 meters to slow down from 20 m/s to 5 m/s. Now adding the fact that we need to slow down before we reach the circumference of the orange circle, we need to make sure we are at least 375 meters away.

Since we know location x, then we calculate distance from boat to (x + 10 meters), call it d.

  • We check if 375 <= d then we start to decelerate the boat?

  • Is the distance required to achieve speed 5 m/s while decelerating from 20 m/s is 375 meters?

  • Is my approach correct? Are my calculations correct?

\$\endgroup\$
  • \$\begingroup\$ Your physics and math is correct according to your model; but your model is not particularly realistic. A better model would calculate drag resistance as the sum of a linear term in speed (dominating at slow speeds) and a quadratic term in speed (dominating at higher speeds). Playing with the two constants would better illustrate the deficiencies of the constant deceleration assumption you have made. \$\endgroup\$ – Pieter Geerkens Mar 27 '16 at 20:54
  • \$\begingroup\$ You may also find this answer useful - it talks about similar acceleration planning for a spaceship \$\endgroup\$ – DMGregory Nov 28 '16 at 16:46
1
\$\begingroup\$

First of all v^2 = u^2 + 2as rearranges to s = (v^2 - u^2)/2a.

We check if 375 <= d then we start to decelerate the boat?

Yes, but this assumes u and a are always known; but, this assumes you're using radial coordinates.

Is the distance required to achieve speed 5 m/s while decelerating from 20 m/s is 375 meters?

Yes, given an initial velocity of 20m/s in the direction of the destination, an initial distance of 375m, and an acceleration of -0.5m/s. Again, this assumes these variables are known at the time of calculation.

Is my approach correct? Are my calculations correct?

Your approach is technically correct; however, what's the use case? All we know is that the boat needs to travel to the specified point with the constraint that it decelerates to 5m/s within 10m of the post. Are you using X-Y Coordinates? if so, then the equations double!

x=(u_x^2-v_x^2)/(-2a_x)

y=(u_y^2-v_y^2)/(-2a_y)

If the boat's initial velocity is arbitrary, then it must be taken into account. If it's initial position is also arbitrary, then that as well must be accounted for!

X = x_target - x_boat

Y = y_target - y_boat

a_x = (v_x^2-u^2)/(2X)

a_y = (v_y^2-u^2)/(2Y)

Reset the boats acceleration to a_x and a_y and you don't have to make any further changes. It will 'naturally' reach the desired point.

If, the initial acceleration is also arbitrary, then you'll need to use an entirely different set of kinematic equations...

\$\endgroup\$
1
\$\begingroup\$

Yes to all three.

However I think it would be more clear to define the condition for deacceleration this way.

r0 = target radius around x (10m here); r = distance from x to boat.

So the condition would be (r - r0) <= 375. A point + a scalar (x + 10 meters) doesn't really make a lot of sense.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.