Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Sinusoidal vs Trapezoidal Acceleration 3

Status
Not open for further replies.

fritzl65

Electrical
Feb 15, 2005
13
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
 
Replies continue below

Recommended for you

I think you probably mean "S Curve Acceleration." And I think this is badly named. As used in the servo industry

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.
 
Thank you for the response.
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
 
Just as sreid stated.

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.-
 
S Curve; Accelerate with a linearly increasing acceleration.
This isn't right.
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.


 
PNachtwey,

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))
 
Trap acel is use because it's the fastest move possible.
I would be careful here. I can generate a 7th order ramp that will go from an initial to final point in the same time that a 3rd order takes. Also, a 3rd order ramp may not be a trapezoid if vel*jerk<accel^2. In this case the acceleration profile looks like a triangle and the peak acceleration is double that of the linear ramp's acceleration.

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.
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.



 
Hello All!
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
 
Hmmmm I tried to upload an image detailsing what I am trying to convey...
 
8giv5so.jpg
 
Yes, I guess I should have said something like "Trap acceleration is the fastest move assuming a maximum peak acceleration and no other limiting conditions."

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?
 
This is a recent thread about s curves.
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

How would I then calculate the force for the 7 "phase" s-curve profile?
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.
 
HEllo,
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...
 
The maximum acceleration is provided by you. It is part of the move command. The motion profile must conform to the commanded position, velocity, acceleration, decelerations and jerk provided by you.

Calculating the position, velocity and acceleration as a function of time can be done by hand with a little care.


 
Pnachtwey,
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?
 
The maximum accelerations are parameters to the motion command. Therefore the maximum acceleration is provided by you as a limit. If you specify an acceleration that is too high then the motor or actuator will not keep up and following errors, saturating the control output, and over current faults will occur. The purpose of having the maximum acceleration command is to keep these faults from happening.

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.
 
fritzl65,

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
 
Is a first order move a move that starts with a linearly increasing acceleration like

a = kt

and a third order is

a = (k3)t^3 + (k2)t^2 + (k1)t + k0
Not quite right

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.



 
PNachtwey,

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.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor