Motion : quadratic parabolic speed curve

aand74

Member
Join Date
Dec 2005
Location
Deinze
Posts
131
Suppose I want to use a quadratic parabolic speed curve to do a positioning movement. The velocities at the start and the end of the movement will both be 0 (there is a dwell phase before and after the positioning movement).
The speed parabole has to be symmetric. As parameters for the positioning movement I only have a maximum acceleration and a maximum speed I want to use. From these two parameters I should want to know the distance that will be travelled these maximum acceleration and maximum speed will be used.
For the symmetric speed parabole the maximum speed will occur at half the time period of the movement and the maximum acceleration will occur at the start and the end of the movement.
 
Velocity v(t) = at^2 + bt + c

Boundary conditions:
v(0) = 0 -> c = 0
v(final) = 0

peak velocity will occur @ t = -b/2a
v(-b/2a) = (-b^2)/4a = your max velocity

final time will be 2x the time to peak (because it's symmetrical), so final time = -b/a
Position x(t) = integral of v(t) = (at^3)/3 + (bt^2)/2
x(final) - x(0) = x(-b/a) - x(0) = your distance

So if you pick max velocity and distance, you can solve for a and b.

Someone double-check me, still waking up.
 
aand74, do you realize that the acceleration will not be 0 at the start and stop point?

Yes, I know, In my case it is maximum positive at the start and maximum negative at the stop point. The acceleration for the points between start and end point are on a straight line that connect both maxima.

The previous poster Epy, gave some good advice, but the situation that maximum acceleration is input, and also the maximum speed must lay below a given maximum, and the distance must be output.
 
OK, this is how you do it

However, I think the motion profile is very unrealistic because the accelerations change instantly at the start and stop.
A better solution would be to use a 5th order position profile because then the acceleration can be 0 at the end points. However, the peak acceleration would be higher.
In the end I think this is a waste of time.

The pdf file shows the symbolic solution. The results are simple.

aand74. If you are going to be doing a lot of motion control, learn how to use wxMaxima, Sage, maple or Mathematica. Many motion profiles can be solved by using the basic position formula and then taking the derivative as many times as necessary to generate an equation for each unknown. Sometime the solution is simple. Sometimes the solution is so long it is unusable like the solution to your previous question about limiting the jerk. This is the best advice in the whole thread.
 
Outside of the need for some amount of jerk at the start and end of the profile, I'm somewhat surprised that this type of velocity profile isn't used in hydraulic systems as a norm. It would seem to me that, given flow related pressure drops, this profile matches profile acceleration to available pressure at the actuator more closely than other profile types.

Keith
 
It is all due to the physics of the components. It is impossible to change acceleration rates instantly. That would require an instantaneous change in pressure. However, press changes as a function of flow into out off the volume under compression and the volume under compression changes as the piston changes. Flow can't change instantly either because it takes time for the spool to shift. Basically it means that acceleration can't change instantly. That is why we use 5th order motion profiles instead of 3rd like most motor motion controllers. 7th order motion profiles are even better because then the jerks can be 0 at the end points too but the math gets extremely messy. However, we have a new controller, the RMC200 with a dual core Freescale microcontroller. We should be able to do the required messy math for 7th order motion profiles if it makes a significant difference. I have had all the calculations done for over 15 years. I just need to processing power to catch up with the research.
 
Originally posted by Peter Nachtwey:

It is impossible to change acceleration rates instantly. That would require an instantaneous change in pressure.

I, for one, can't argue this point. It is absolutely true. But that's why I led my post with:

Originally posted by kamenges:

Outside of the need for some amount of jerk at the start and end of the profile,...

However, I don't see where you addressed the part about:

Originally posted by kamenges
It would seem to me that, given flow related pressure drops, this profile matches profile acceleration to available pressure at the actuator more closely than other profile types.

This is based on the assumption (and I believe it is a correct one) that for a given hydraulic supply source (motor/pump/accumulator/piping/valving) that a hydraulic cylinder can generate more force at near zero speed than it can at maximum speed due to flow related pressure drops in the supply system. If this is the case wouldn't it make sense to have the most aggressive acceleration at near zero speed and decrease the acceleration rate as the actuator speed increases? Or is the reality that other system limitations prevent the actuator from seeing this decrease in available acceleration?

The velocity profile that aand74 shows is something of a pet profile of the PMAC servo guys. Most air cooled TENV PMAC servos have a continuous torque curve that decreases as the motor speed increases due to additional motor losses as motor speed increases. The "parabolic" profile more closely matches the motors available continuous torque to the torque required by the profile. It could just use some jerk at the V=0 points.

Keith
 
This is based on the assumption (and I believe it is a correct one) that for a given hydraulic supply source (motor/pump/accumulator/piping/valving) that a hydraulic cylinder can generate more force at near zero speed than it can at maximum speed due to flow related pressure drops in the supply system.
I didn't address it because you are absolutely correct. I thought it was too obvious to address but there is still the issue with the valve. A fast valve may open up in 6-8ms. A good one in 20 ms. 20ms is significant.
Every once in a while we get involved in testing systems were people want to oscillate something at 100 Hz. Some valves are much faster.

The velocity profile that aand74 shows is something of a pet profile of the PMAC servo guys. Most air cooled TENV PMAC servos have a continuous torque curve that decreases as the motor speed increases due to additional motor losses as motor speed increases. The "parabolic" profile more closely matches the motors available continuous torque to the torque required by the profile. It could just use some jerk at the V=0 points.
For the most part they are right until you get to bigger motor where there is a R/L time constant as well as the time constant due to the inertia of the motor. In this case torque can't change instantly because current doesn't change instantly.

I have a book that also says the same thing about the parabolic velocity profile. They proved it is the most efficient motion profile in theory. One can approximate the parabolic motion profile with a trapezoidal profile with s-curve with ramps. This gets close to the parabolic motion profile's efficiency but takes into accounts the limitations due to physics.

There is one other thing that is significant. If you are dealing with small motor you can treat is as a single pole system and ignore the R/L time constant. However, hydraulic systems are under damped. They have two complex poles instead of one and being under damped makes controlling hydraulic systems much more difficult. When there is a second open loop pole acceleration cannot change instantly. That is just the way the math and physics work.

So how well does the parabolic velocity profile work? Is there lag at the start and overshoot at the end? I have never considered this to be a viable option for hydraulic because it isn't and I doubt it would work for bigger drives and motors we control.
 

Similar Topics

Bom dia, Estou com uma máquina parada algum tempo, meu servo funciona em modo manual, porém não funciona em automático. Meu equipamento e...
Replies
0
Views
59
Hi currently my existing PLC using AB motor & driver to spin production, however customer want to another set, if this possible we use different...
Replies
1
Views
206
I have always controlled servos in Rockwell motion using position loop. I have an application where one process will push against a servo...
Replies
3
Views
266
Hello Experts, I'm wondering if this has been done before if possible to create an Emulate file that have motion control axis? I tried to...
Replies
0
Views
142
This is not a PLC question, but maybe one of you have seen a product like I am looking for. I have a portable pneumatic misting system that is...
Replies
7
Views
571
Back
Top Bottom