# Acceleration through curved paths

• I
I would really appreciate some help with a challenge I have. It is illustrated in the figure below:

Scenario: The moving object moves with linear velocity until it reaches P1. When it reaches P1, I need to create the motion of the blue dashed path. Whilst the object follows the blue dashed path, it needs to uniformly accelerate from Velocity(start) to Velocity(end).

The following pieces of information are known:
• Velocity (start), e.g. 5 m/s
• Velocity (end), e.g. 10 m/s
• The locations of the four points P1 - P4
• The location of the centre of the circle
Can anyone please advise how I should go about calculating this path and how to perform the uniform acceleration? Clearly the linear acceleration equations do not apply here since it is not a straight line, but I am not sure how to make use of the angular accelerations since the object is not following a circular orbit.

• Separating the path into three separate arcs using bezier curves. This has been partially successful - I can approximate the path but with constant speed. I do not understand how to achieve acceleration through the curves. Also, the bezier method uses additional control points to approximate the arcs; it would be better if I could define the R1-3 values and somehow achieve precisely that motion, but I do not know how to do this.
For some extra context, I am tackling this in software to create actual motion. It is not a homework assignment on paper etc. Any help or advice would be greatly appreciated!

Note: The figure is merely a sketch and thus the curving of the arcs is a rough approximation. In reality, the arcs should connect with a more natural curvature, without the abrubt changes in direction.

Last edited:

Lnewqban
Gold Member
You will need to know the value of the radius of the circle, plus R1, R2 and R3.
You will have centripetal and tangential accelerations along that blue path.

You will need to know the value of the radius of the circle, plus R1, R2 and R3.
You will have centripetal and tangential accelerations along that blue path.
I do know the radius since I know the centre of the circle and the four points.

Knowing R1,R2,R3 is a bit more difficult. Since I am using Bezier curves, I am placing an additional control point for each arc some distance away to approximate the shape of the arcs and therefore R1,R2,R3. So these values are not actually known until the motion takes place. Perhaps using Bezier curves is a bad way of doing it? Ideally I would be able define the R1-3 values and then create the motion for those values specifically, but I know of no way to achieve this.

Do you know if there is a better way for creating the motion? And even if this was not an issue, which equations would adequately describe the accelerations you mention.

Lnewqban
Gold Member
The problem is not specific about the points of inflection, but at least P2 and P3 should not have the abrupt changes of direction shown in the picture.
If so, those points should be contained in a straight line that connects the centers of two contiguos semicircles.

The problem is not specific about the points of inflection, but at least P2 and P3 should not have the abrupt changes of direction shown in the picture.
If so, those points should be contained in a straight line that connects the centers of two contiguos semicircles.
You are absolutely right regarding the abrubtness of the changes in direction. The diagram is simply an approximate sketch and poor drawing on my part. In reality, the arcs should smoothly connect for a more natural curvature. I will update the OP.

That being said, do you have any comments on how to tackle the challenge?

Lnewqban
Gold Member
I would resolve it geometrically.
Perhaps other members could offer a mathematical approach pretty soon.
Is this for a computer simulation?

Staff Emeritus
That being said, do you have any comments on how to tackle the challenge?
1. Find the equation of the path you want.
2. Differentiate it twice.

Uniform acceleration will not give you what you want. It's outward at R1 and inward at R2.

PeroK
robphy
Homework Helper
Gold Member
Scenario: The moving object moves with linear velocity until it reaches P1. When it reaches P1, I need to create the motion of the blue dashed path. Whilst the object follows the blue dashed path, it needs to uniformly accelerate from Velocity(start) to Velocity(end).

As @Vanadium 50 suggests, a "uniform acceleration" vector does not apply since the directions are changing.
However, one can have the speed vary uniformly, as a function of time. So, the velocity vector is tangent to the path, but its magnitude grows at a constant rate as a function of time.

So, as @Vanadium 50 says, first find the equation that describes the path.

As @Vanadium 50 suggests, a "uniform acceleration" vector does not apply since the directions are changing.
However, one can have the speed vary uniformly, as a function of time. So, the velocity vector is tangent to the path, but its magnitude grows at a constant rate as a function of time.

So, as @Vanadium 50 says, first find the equation that describes the path.

Yes you are both right, what I meant by uniform acceleration was ramping the velocity at a uniform rate, as a function of time. So the moving body starts P1 at Vstart and hits P4 at Vend.

I'm sorry if this is an elementary question but how should I go about finding the equation of the path? I assume it involves finding the angles of the various arcs?

@Lnewqban Yes it is for simulating motion in a 3D environment. A 2D co-ordinate system is fine though as the motion is viewed from top down and the vertical axis is frozen.

Lnewqban
robphy
Homework Helper
Gold Member
Technically, you want to ramp the tangential-component-of-the-velocity[-vector].

You mentioned that you wanted a smooth transition at $P_1$, $P_2$, etc...

It seems that a sequence of your Bezier curves could do that.

Is this a planar path that cuts through points on a circle?

DaveC426913
Gold Member
Is gravity involved at any point here? The circle isn't any kind of celestial body, is it?

Staff Emeritus
Gravity alone won't do this. (Of course if you are free to add another arbitrary force, you are free to add gravity too. It's just an unnecessary complication. Adding other bodies makes this even more complicated and constrained)

But...

If you want epicylcles, write down equations for epicycles and differentiate twice. If you don't like the acceleration that comes out, isn't that the fault of the problem?

jbriggs444
Homework Helper
the equation of the path
Any smooth path from starting point to ending point will do.

With the path in hand you can consider its length and the egress energy to determine the required (constantly increasing) tangential acceleration to do that much work over that much tangential displacement.

With the path and the tangential acceleration in hand, you can determine position versus time and recover the required tangential acceleration as well.

Cato11
Thank you everyone for the replies, I appreciate it.

@robphy As mentioned the bezier curves do allow a pretty good approximation. Here is a demo of my code running a bezier curve. It joins two discrete arcs to create a fairly smooth curving motion (it is not the same path as the OP but it illustrates the point of being able to create a curved motion):

Essentially I compute a position using the formula:

pos =
oneMinusT * oneMinusT * p0 +
2f * oneMinusT * t * p1 +
t * t * p2;

where t is the elapsed time. However as mentioned, the speed is constant and I do not know how to get the yellow dot to accelerate between a "start" and "end" velocity as it performs the motion. Perhaps I need to find the second derivative of the above formula? I am simply not sure how I can create the ramp in a controlled manner. The other problem with the Bezier method is I cannot define the R1-3 values, since Bezier curves rely on additional control points to approximate the path. Ideally if I could create a precise path with my own R1-3 values that would be ideal.

@DaveC426913 No, gravity is not involved. We can consider this as a weightless object in free space, so that should hopefully simplify matters.

@Vanadium 50 I was not aware of epicycles so thanks for suggesting that. If it is a circular motion then I'm not sure it will help but after searching it, it looks like it deals with swirling paths so I shall try to investigate this a bit further. To be honest my calculus is a bit rusty!

@jbriggs444 I'm sorry but what you said went right over my head! Are there any equations that you can post to substantiate this? I think I get the gist of what you mean but I am not sure how to execute it in practice.

PhDeezNutz
jbriggs444
Homework Helper
I'm sorry but what you said went right over my head! Are there any equations that you can post to substantiate this? I think I get the gist of what you mean but I am not sure how to execute it in practice.
I apologize. The relevant ideas are straightforward, but rely on concepts from vector calculus.

Consider an object on a defined path. A locomotive on a railroad track. A bead on a wire. A car on a highway. A bullet in a rifle barrel. Even a parcel of water in a garden hose.

We can ignore the curves that the path makes and consider only motion along the path. Position along the path. Velocity along the path. Acceleration along the path. Everything reduces to a one-dimensional problem.

If you know the energy with which the object enters the path (##E_1=\frac{1}{2}mv_0^2##) and the energy with which it leaves the path (##E_4=\frac{1}{2}mv_4^2##) then you know that the work done along the path is equal to the change in energy. That is the work-energy theorem. Or conservation of energy. Whichever way you like to think about it.

The work done along the path is the "path integral" of instantaneous force applied multiplied by incremental distance moved: ##W=\int_S \vec{F} \cdot \vec{ds}##.

Looking back at the original post, you want a constant tangential acceleration from one end of the path to the other. That means that F is a constant. So that means that the above integral simplifies to ##W=F \times L## where L is the length of your chosen path.

That means that position (along the path) will come from your first year SUVAT equations: ##s=v_0t +\frac{1}{2}at^2##

Last edited:
Cato11 and Lnewqban
@jbriggs444 Thank you so much for taking the time to explain that. I did not know that we could reduce this to a one-dimensional problem using the SUVAT equations. That is quite a revelation! So effectively I need to find the path length 's', and solve your last equation for 'a' where V0 is the initial velocity and 't' is the time taken travel the entire path. This will give me the rate of constant acceleration. Have I got that right?

@robphy and @A.T. Thank you for sharing the link, approximating the length of the curve was going to be my next issue so that link helps a lot!

I will attempt to make some progress on this when I get home and report back the results. Thanks again for the help!

Lnewqban
Gold Member
@Lnewqban Yes it is for simulating motion in a 3D environment. A 2D co-ordinate system is fine though as the motion is viewed from top down and the vertical axis is frozen.
I have no idea about how the magic of animation is achieved.
Could you make your input equations work by using simple circles and polar coordinates in this problem?
Must the moving object hit point P1 perpendicularly respect to the circle?
Could R1, R2 and R3 be the radii of the circular paths rather than the distance to the big circle?

jbriggs444
Homework Helper
@jbriggs444 Thank you so much for taking the time to explain that. I did not know that we could reduce this to a one-dimensional problem using the SUVAT equations. That is quite a revelation! So effectively I need to find the path length 's', and solve your last equation for 'a' where V0 is the initial velocity and 't' is the time taken travel the entire path. This will give me the rate of constant acceleration. Have I got that right?
You would solve for acceleration ##a## based on ##v_4^2-v_0^2=2as##. That particular SUVAT equation is one that I never bother memorizing because I always think about it in terms of work and energy ##\frac{1}{2}mv_4^2-\frac{1}{2}mv_0^2=Fs## (divide out ##\frac{1}{2}m## and *voila*).

With the acceleration in hand then you can then solve for ##t## using the other equation.

Alternately, you could realize that because acceleration is constant, average velocity is the mean of initial velocity and final velocity. So ##v_\text{avg} = \frac{v_0+v_4}{2}## and ##t=\frac{s}{v_\text{avg}}##. Then with ##t## in hand you can solve for ##a##.

As long as what you are concerned with is tangential acceleration then the one dimensional approach is fine.

If, instead, you want to keep the magnitude of total acceleration (radial and tangential combined) constant then the problem becomes much more difficult.

Last edited:
Cato11
robphy
Homework Helper
Gold Member
Possibly enlightening...
https://pomax.github.io/bezierinfo/
Also possibly enlightening
https://math.stackexchange.com/ques...ath-and-minimum-curvature-path-implementation
and has a screenshot of a section at

https://en.wikipedia.org/wiki/Dubins_path

Once you construct the path you wish, then you can implement the ideas mentioned before by others:
you have a 1-D constant acceleration problem along the arc-length of the path.

It may be useful to parametrize your path by a parameter T which is 0 at P1 and 1 at P4.

(I was trying to implement your path in #14 in Desmos... but didn't have time to debug the error in my attempt.)

Cato11
As I understand your problem, you are looking to solve for motion with a constraint like ##|\dot{\vec{r}}|=bt+c##.

You could take a polar parametrization like ##r(t)=R_0(1+d\sin{\theta(t)})##, substitute it into the polar form of the constraint, ##|\dot{\vec{r}}|=\sqrt{\dot{r}(t)^2+r^2\dot{\theta}(t)^2}=bt+c##, and then, probably numerically, integrate for ##\theta(t)##.

bob012345
Gold Member
Why do you want this?

PeterO
Homework Helper
I would really appreciate some help with a challenge I have. It is illustrated in the figure below:

View attachment 290622
Scenario: The moving object moves with linear velocity until it reaches P1. When it reaches P1, I need to create the motion of the blue dashed path. Whilst the object follows the blue dashed path, it needs to uniformly accelerate from Velocity(start) to Velocity(end).

The following pieces of information are known:
• Velocity (start), e.g. 5 m/s
• Velocity (end), e.g. 10 m/s
• The locations of the four points P1 - P4
• The location of the centre of the circle
Can anyone please advise how I should go about calculating this path and how to perform the uniform acceleration? Clearly the linear acceleration equations do not apply here since it is not a straight line, but I am not sure how to make use of the angular accelerations since the object is not following a circular orbit.

• Separating the path into three separate arcs using bezier curves. This has been partially successful - I can approximate the path but with constant speed. I do not understand how to achieve acceleration through the curves. Also, the bezier method uses additional control points to approximate the arcs; it would be better if I could define the R1-3 values and somehow achieve precisely that motion, but I do not know how to do this.
For some extra context, I am tackling this in software to create actual motion. It is not a homework assignment on paper etc. Any help or advice would be greatly appreciated!

Note: The figure is merely a sketch and thus the curving of the arcs is a rough approximation. In reality, the arcs should connect with a more natural curvature, without the abrubt changes in direction.
Sorry to come in so late BUT.,
It looks like the incoming path is meeting the circle (at P1) along a normal (perpendicular to the tangent).
Is that true, and is that also true for P2 , P3 and P4?
If that is true, the centre of each blue arc is at the intersection of tangents drawn at P1 & P2, P2 & P3 and P3 & P4.

Is P4 intended to be opposite P1 (on opposite ends of a diametre)?
If so, are P1, P2, P3 and P4 intended to be 1/3 of a circle away from each other?

If all that is true, I think the length of the dotted blue line is 8.(sqrt3).pi,R/9 where R is the Radius of the black circle. (4 times the first dotted blue arc).

Is the dotted blue line in my graphic the sort of path you were after?

Peter

Last edited:
Cato11 and Lnewqban
@jbriggs444 (#20) Thank you for the extra clarification!

@robphy (#21) I think what you mention is the real key here. I need to reparametrize the path with a new T between 0 and 1. I have found quite a lot of discussion on arc length parametrization. I spent about 6 hours on it yesterday without much progress (argh!). I will keep working on it and hopefully post the results back here soon.

@PeterO Yes you are correct about the P1 and P4 being 180 degrees apart. It looks like your path is the Dubins Path method someone else mentioned here earlier. The curvature of this path is not exactly what I was after, as the bulge of the centre circle is beyond what I was looking for. I think the bezier curve method works best, if I can only figure out how to properly reparametrize the spline (three separate arc curves joined together). Thank you for the suggestion though.

Thanks again to everyone who is offering their advice. My progress is slow but I will keep chipping away. I hope to post a full solution here soon.