Sinusoidal vs Trapezoidal Acceleration
Sinusoidal vs Trapezoidal Acceleration
(OP)
Hello All,
why would one choose one over the other?
I know that a sinusoidal has less "jerk" than a trapezoidal, but what other factors are there?
Thank you
why would one choose one over the other?
I know that a sinusoidal has less "jerk" than a trapezoidal, but what other factors are there?
Thank you





RE: Sinusoidal vs Trapezoidal Acceleration
Trapezodial; accelerate at a constant acceleration. Hold at a constant velocity. Decelerate at a constant acceleration. This makes the velocity profile trapezodial.
S Curve; Accelerate with a linearly increasing acceleration. Hold at a constant velocity. Decelerate at a linearily decreasing acceleration. This makes the velocity profile have an "S" shape during accel and decel.
With Trap accel/decel, the acceleration waveform is a square wave with odd harmonics equal to the recriprical of the frewuency (3'd harmonic = 1/3 the fundamental).
With S curve accel/decel, the acceleration waveform is a triangle and with odd harmonics equal to the recriprical of the square of the frequency (3'd harmonic = 1/9 the fundamental).
So there are still harmonics with S curve but they are much lower in amplitude.
RE: Sinusoidal vs Trapezoidal Acceleration
From what I gather from the servo amplifier user manual
the acc/dec of both types of "curves" can be programmed for any particular move.
The "angle" is determined by the parameters of acc/dec.
What I would like to know since both types (s-curve/sinusoidal and trapezoidal) are available, the s-curve having less "jerk" why would one choose a trapezoidal curve?
I hope that I am able to convey my thoughts well enough..
Thank you
Fritz
RE: Sinusoidal vs Trapezoidal Acceleration
If you want constant acceleration use the trapezoidal.
If you want a smoother take off and stop use the sinusoidal.
Keith Cress
Flamin Systems, Inc.- http://www.flaminsystems.com
RE: Sinusoidal vs Trapezoidal Acceleration
1. The increase doesn't need to be linear.
2. The acceleration must decrease to 0 to be at constant velocity for the constant velocity phase of the motion profile.
The sinusoidal method will generate s-curves too. Actually, the velocity profile is a -cosine profile. The sine profile works well with 16 bit DSPs and micro-controllers where cubing time can result in numbers that are too big or too small. More advanced ramps use 3rd or 5th or even 7th order motion profiles during ramping. It is best to have floating point for these.
The advantage of the polynomial method over the sine method is that it is easier to match the position, velocity, acceleration and jerk if the motion profile needs to change during a ramp. This often happens when ramping down to a stop and the stop point changes.
The main reason not to use linear ramps or a trapezoidal motion profile is that it is impossible to change acceleration instantly. One a motor the current through the armature would have to change instantly which is impossible due to the inductance, RL time constant, of the windings. On a hydraulic system it is impossible to change to pressure instantly. The oil must be compressed or decompressed to change the force that moves the load.
If it is impossible to change the acceleration instantly then there will be following errors. There is also a higher probability that the high frequency components of the control signal will excite non-linearities or higher unmodeled poles that will make control more difficult.
You down get something for nothing. The area under the acceleration profile must be the same whether the linear or s ramp is used if the ramp is going to take the same time. This means that the peak acceleration is going to be higher for a s ramp than for a linear ramp. The ratios are as follows.
1. Sine s ramp, 1.57 time higher than a linear ramp.
2. 3rd order s ramp. 2 times higher.
3. 5th order s ramp. 1.5 times higher
4. 7th order s ramp. 1.875 times higher.
These peaks may cause the drives to trip if torque or current limited. In that case the ramp would need to be lengthened.
RE: Sinusoidal vs Trapezoidal Acceleration
The linear accel ramp is the simpliest and the most often used S curve and I didn't want to complicate the explanation.
I agree with everything else you said.
Fritzl65. Trap acel is use because it's the fastest move possible. S curve is used to keep from exciting resonances in the machine (often to minimize acoustical noise) or to soften impact loads on the mechanics.
I did not know that anyone was doing a "Cosine Move." I had though of doing this years ago because at first it would appear that the move contains only the fundamental frequency. But since the move is; accel = offset cosine and the decel = inverted ofset cosine, the move contains odd harmonics.
One interesting move with known harmonics (third) is
a = sine(Theta)- 1/3(sine(3(Theta))
RE: Sinusoidal vs Trapezoidal Acceleration
Yes, but a trapezoid accel ramp ( 3rd order ) does work so well for second order underdamped systems where the closed loop transfer function is a fourth order system. In this case a higher order ramp is required if the system is going to settle quickly.
Our second generaton motion controllers used a sine ramp function. There are no third harmonics. Just the fundamental frequency. You must be doing something different. The limiting factor when using sine ramps is that the jerk can not force to be 0 at the beginning and ending of the ramp. It is also hard to match all the states if there is a new command issued while ramping up or ramping down.
RE: Sinusoidal vs Trapezoidal Acceleration
Thanks for reading and chiming in on this little question of mine.
PNachtwey, are you Peter Nachtwey on PLCS.net? If so I read a psot of yours that is helping me get to the bottom of where I am going with my question.
The ultimate goal is to compare the s-curve to the trapezoidal. I will also need to illustrate with force equations...
One of the best (illustrative) depictions I found is an article by Chuck Lewin. He states that the trapezoidal "curve" can be divided into 3 distinct "phases".
from this I can deduce the force calculation for each phase fo the profile.
F1=M x a + fric
F2=fric
F3=M x (-a) + fric
As can be seen this rather straight forward (linear pun not intended) equation the trapezoidal calulation is known
How would I then calculate the force for the 7 "phase" s-curve profile?
again thank you all for your replies and help
Fritz
RE: Sinusoidal vs Trapezoidal Acceleration
RE: Sinusoidal vs Trapezoidal Acceleration
Keith Cress
Flamin Systems, Inc.- http://www.flaminsystems.com
RE: Sinusoidal vs Trapezoidal Acceleration
RE: Sinusoidal vs Trapezoidal Acceleration
I am curious to see what kind of cubic, quintic, etc. polynomials are used for accel/decel in point to point moves.
Sine move and harmonics. I'm assuming the the accel is given by the equation
a = -Acos(wt)+A from 0 to 2pi. And the decel is the inverse of this curve. Is that correct?
RE: Sinusoidal vs Trapezoidal Acceleration
http://www
Notice that no one chose to solve for the seven segment motion profile.
You should also note that the maximum acceleration may not be reached if the maximum jerk is low or the velocity is low. This occurs when v*j<a*a
You need to know the load and the acceleration at each point along the motion profile. You also need to know the frictional forces too as you pointed out above. If the load or inertia doesn't change then the hard part is computing the acceleration at each point.
If you just need the peak force then just use the maximum acceleration.
Peter Nachtwey
The same one as on plcs.net.
RE: Sinusoidal vs Trapezoidal Acceleration
this brings up some more questions:
What is the maximum acceleration calculation for a S-Curve profile?
What is the maximum acceleration calculation for a trapezoidal profile?
What is the maximum acceleration calculation for a triangular profile?
Its been 15 years since I have had to do calculus.
please advise... perhaps some has the equations.. i have tried to search for them and mostly come accross links to patentsonline.. etc...
RE: Sinusoidal vs Trapezoidal Acceleration
Calculating the position, velocity and acceleration as a function of time can be done by hand with a little care.
RE: Sinusoidal vs Trapezoidal Acceleration
I do not follow you. I am looking for the way to calculate these...
I have found some more rticles and now I am a little further along. I believe that what I am asked to find is a first order and a third order motion profile.
And from these I must derive the max accelerations...
Is this correct?
RE: Sinusoidal vs Trapezoidal Acceleration
You must remember that the motion controller is really just shuffling electrons around. It doesn't really care what the acceleration really is. An acceleration can be 1000 m/s^2 or 1000 mm.s^2. To the controller it is all the same. You need to specify the limits so the controller doesn't try to apply more torque or force than what the drive and motor can deliver.
RE: Sinusoidal vs Trapezoidal Acceleration
We need to specifically know what you are looking for.
Is a first order move a move that starts with a linearly incresing acceleration like
a = kt
and a third order is
a = (k3)t^3 + (k2)t^2 + (k1)t + k0
RE: Sinusoidal vs Trapezoidal Acceleration
p(t)=p0+v0*t+(a0/2)*t^2+(j0/6)*t^3
v(t)=v0+a0*t+(j0/2)*t^2
a(t)=a0+j0*t
These are the equations for 1 segment of a third order, seven segment motion profile. There are seven sets of equations like the one above, one set for each segment. Not all segments need the acceleration or jerk terms. In some cases the maximum acceleration may not be reached because the velocity or jerk are too low. In this case there may be only five segments. Each segment must match the position, velocity and acceleration at the end points.
RE: Sinusoidal vs Trapezoidal Acceleration
Now I think I understand your terminology. The polynomial order refers to the highest order of the position equations.
A seven segment move refers to an S-Curve move where the seven segments are the number of segments required if there is acceleration and velocity limiting.
RE: Sinusoidal vs Trapezoidal Acceleration
PNachtwey,
Thank you for those equations.
Please tell me wht the
p(t) term is.
I believe that v(t) is velocity with respect to time and that a(t) is acceleration with respect to time.
Is this correct?
Fritz
P.S. I am so very gratefule to all for their posts and willingness to share.
RE: Sinusoidal vs Trapezoidal Acceleration
Gunnar Englund
www.gke.org
--------------------------------------
100 % recycled posting: Electrons, ideas, finger-tips have been used over and over again...
RE: Sinusoidal vs Trapezoidal Acceleration
RE: Sinusoidal vs Trapezoidal Acceleration
Here is something relavant to the original question. I saw in my ftp site that I did a while back.
ftp://ftp
fritzl65, do you understand that the velocity and acceleration parameters are just limits to keep the controller from asking the machine to do what it can't? The mechanical engineers and the one who select the drives and motors are the one that determine what the acceleration and velocity parameters should be.
RE: Sinusoidal vs Trapezoidal Acceleration
I do understand that these parameters are to limit the physical system.
I am interested on how to calculate the 3 separate oves.
Thankk you again... especially fro the 2 pages.
RE: Sinusoidal vs Trapezoidal Acceleration
p1=p0+v0*t01+(a0/2)*t01^2+(j/6)*t01^3
v1=v0+a0*t01+(j/2)*t01^2
a1=a0+j*t01
p2=p1+v1*t12+(a/2)*t12^2+(j/6)*t12^3
v2=v1+a*t12+(j/2)*t12^2
a2=a+j*t12
etc until you get to point 7.
a1=a2=a is the max acceleration and j is the max jerk
I think there are 17 or 19 instead of the obvious 21 simultaneous equations to solve because not all segments have a non zero jerk and acceleration. You can do it by hand using substitution.
t01 is the time it takes to go from point 0 to point 1.
Solving for the simultaneous equations is easy. The problem is that there are so many cases. For instance the motion profile may not reach the max acceleration or deceleration. It may not even reach the maximum velocity in the case of short moves. Then what. What happens when you issue a new command while ramping up or ramping down or the position is now in the opposite direction from the current one.
After all the positions, velocities, accelerations and times are work out you can build a state machine with a switch or case statement where each state has the position, velocity and acceleration formulas for each segment.