- the math behind polynomial cam motion -

 

homewho we serveour methodsservicesabout ussite map

 

 

 

 

 

- back to "the cam page" -

 

The function for a cam motion described by a polynomial is:

 

 

 

 

Where f(x) represents the displacement, x is the fraction of the way through the subject motion, Cn are the (initially unknown) coefficients of x, n the ordered subscripts of the coefficients - which also coincide with the powers of x - and k is the order of the polynomial, which is always one less than the number of parameters requiring control.  One always wants to at a minimum control beginning and ending displacement, velocity, and acceleration, yielding 6 parameters or a 5th order polynomial.

The first derivative of the displacement function - expressed as a linear measure per degree (or radian) -  will eventually be used to calculate the velocity - keep in mind we have yet to "plug in" time (aka speed) here:

 

 

 

 

The second derivative of the displacement function - expressed as a linear measure per degree squared (or radian squared) -that will eventually be used to calculate the acceleration is:

 

 

 

 

Lastly, the third derivative of the displacement function - expressed as a linear measure per degree cubed (or radian cubed) - that will eventually be used to calculate the pulse (or jerk) is:

 

 

 

 

OK, so now what???

Well, let us return to the simple "bare minimum" case of wanting to control beginning and ending displacement, velocity, and acceleration.  Expanding the polynomial sum for the displacement function yields, in this particular case, a fifth degree polynomial, or the number of constraints minus 1:

 

 

This is our polynomial equation for the displacement; we just do not yet know the values of C, nor have we specified the cam angle (the angle over which the motion traverses) .  In order to determine the coefficients, let us continue by expanding the first and second derivatives - we will stay away from the third in this example (we are not considering the pulse) just to keep things simpler:

 

 

 

 

 

 

 

So far, so good.  Let us now look at the beginning of the motion, where x=0.  The f(x) function above is going to simplify very nicely by substituting 0 for all the x's:

 

 

However, we desire a specific displacement here - which could be anything - so to keep it flexible, we will call it f0, therefore:

 

 

and subsequently:

 

 

We have hardly "done anything" and we already know the value of C0 for our polynomial cam motion: it is our initial displacement, f0.  Next let us consider the beginning first derivative, which will ultimately be used to calculate the velocity.  We will use the term f', exchanging it with f'(x):

 

 

 

Substituting zeros again yields:

 

 

Let us denote our desired beginning first derivative as  f '0:

 

 

therefore

 

 

Another coefficient bites the dust.  Lastly, applying all this same logic to the second derivative:

 

 

 

 

 

 

 

 

 

 

 

 

 

Yet another coefficient uncovered. So far we know that:

 

 

 

We just need the other 3 C's.

Let us now move our attention to the end of this motion as f(1) (remember this is the fraction through the motion, therefore the end must be one).  Therefore:

 

 

 

 

 

 

 

 

 

However we desire specific ending values for these three functions, which we will designate as f1, f'1, and f''1:

 

 

 

 

 

 

therefore

 

 

 

 

 

 

 

 

 

HOWEVER, we still need to account for the angle over which this motion will traverse.  This angle is meaningless to the displacement function, but is important to all the derivatives, as they are all measured in linear measure per degree (radian); or linear measure per degree squared (radian square); or linear measure per degree cubed (radian cubed) for the velocity, acceleration, and pulse:

  

 

 

 

 

 

 

 

 

Simplifying yields:

 

 

 

 

 

 

 

In this case we are simply dealing with 3 simultaneous equations.  However, in real life we can end up with several more desired constraints, yielding far more complicated systems of equations.  We will here demonstrate the most simple method to solve even the largest systems.  Simplifying the above into Linear Algebra notation yields:

 

 

 

 

 

 

 

Solving for the coefficients:

 

 

 

 

 

 

 

 

 

 

 

 

 

but Genesis is one of those a "Six Sigma" companies; why cams? - click here -

 

 

 

 

 

 

 

The values for these coefficients may appear intimidating, but they are simply arithmetic manipulations of the desired constraints.