Controlled jerk in cam-profile

aand74

Member
Join Date
Dec 2005
Location
Deinze
Posts
131
We have an application where the velocity of the axis has to be a function of its own position.
The user must be able to give into the HMI position points and corresponding speed points. Between the points in the cam-profile lineair interpolation must be used. So the cam profile used for the motion will look like different line with different angles attached to each other.
But now we also should like to control the jerk when there is a transition from one line to another.
Any ideas how to calculate the polynomial for the part we should like to insert in the cam now at the transition points between the lines?
 
Any ideas how to calculate the polynomial for the part we should like to insert in the cam now at the transition points between the lines?
Yes, however you can't use linear segments. Linear segments assume the acceleration is constant and then instantly changes when executing the next segment.

Most cam profiles use 3rd order motion segments from point to point. The acceleration changes linearly while the jerk is constant for that segment.

It is possible to limit the jerk to some value + or - and then compute a motion segment to a position but the position is not one you can specify. It is determined by the initial state and the acceleration and jerk parameters.

You need to be more specific and provide example data.
 
As said, in the basic form I will have lines directly connected after each other, but he angle of the lines will depend how the values on the Y-axis will variate (supposing we give in points in XY coordinate system, where X is position and Y is speed).
As an option I should want the transitions from one line to another to be done with a specified jerk. On which point of the line, the strait line is not strait anymore because of the jerk limited transition from one line to another, is not important.
But because for my motion controller I have to insert segments of the cam, I suppose I will have to calculate the start and end point of the jerk limiting transition curve, as also the function for this part of the curve.
 
As said, in the basic form I will have lines directly connected after each other,
This does not make sense. If two lines are connected to each other there will be an instantaneous change in acceleration and jerk. A change of speed in 0 time at the intersection requires infinite acceleration.

As an option I should want the transitions from one line to another to be done with a specified jerk. On which point of the line, the strait line is not strait anymore because of the jerk limited transition from one line to another, is not important.
This makes more sense. You need to know the position and velocity at the end of the previous and line and the beginning of the next line. The curve in between will be defined by a cubic polynomial. If the jerk is set to a maximum or minimum value then the time required between the end of the last line and the beginning of the previous line can be solved but it takes a cube root function and messy math.

But because for my motion controller I have to insert segments of the cam, I suppose I will have to calculate the start and end point of the jerk limiting transition curve, as also the function for this part of the curve.
Yes. The solution is to generate a 3rd order polynomial for the transition curve. You know the initial position and velocity at the end of the first line. Call that x0 and v0. You don't know the initial acceleration a0. You do know j0 which is you jerk limit. You also that this polynomial is equal to the final position at the beginning of the next line. So now you have one equation and two unknowns that are a0 and the time between the two lines T. You need another equation. Take the derivative of the position polynomial and set it equal to the velocity v1 at the beginning of the next line. Now you have two equations and two unknowns. You can solve this system of equations to calculate the a0 and T in terms of x0, v0, x1, v1 and j0. Because there is a cube root function there will be at least 3 symbolic solutions and it stretches across pages.
Warning, it isn't going to be easy and nearly impossible by hand. I solved it using Mathcad in a few minutes.
 

Similar Topics

Hello brothers We are contacting you because an error like [display change is currently controlled remotely] occurred while using the equipment we...
Replies
2
Views
210
All, We have a site that has multiple Altivar 66's that are being controlled by an old Square D Modbus+ network. One of the VFD's has failed...
Replies
2
Views
367
Is there any issue with running a VFD-controlled 3-phase induction motor in torque control mode in the braking region continuously (back-driven by...
Replies
14
Views
4,027
I've been presented with five PF525's with embedded ethernet ip. They need to be controlled by an Idec FC6A plc. I skimmed a PF525 manual when I...
Replies
5
Views
1,241
My boss has come up with the idea of renting machines and charging on a per use / per hour basis, so I'm looking into it - just getting my feet...
Replies
14
Views
3,976
Back
Top Bottom