<< Click to Display Table of Contents >> Navigation: General Design Information > Mechanism Synthesis > Function Generation 
The Freudenstein Equation is applied to a Fourbar Mechanism. It is often of engineering importance to design (synthesize) a fourbar mechanism that gives angular positions of an output part (usually a oscillating shaft) that are a function of the angular positions of the input part (usually a oscillating shaft). This is called 'Function Generation'. The mechanism is called a 'Function Generator'. Example Functions that you might want to generate are: y = sin(x) ; y = 1/x ; y = x2 ; y = 1 / x2; ; y = ex ; y = log10x . etc... The first step is generate a table in which the input and output shaft angles are specified from the mathematical function. In this tutorial, you must use Excel, or equivalent, to calculate the input and output shaft angles. You then select three 'precision points' from the table. 'Precision Points' are those angles that you want the input and output shaft to match exactly. The angles of the shafts at other angles, will not be exactly the same as those in the table. You can minimize the differences by cleverly choosing the three precisionpoints. 

The 'Standard' Image to show the input and output shafts and variables mapped onto the shaft rotations. 
The Freudenstein Equation Freudenstein published a famous paper in 1955 that gave the equation to calculate the lengths of each part in a fourbar mechanism to give functional relationship between the input and output shafts. The Freudenstein Equation is: K1cosΦ + K2cosΨ + K3 = cos ( Φ  Ψ ) .... Freudenstein 's Equation Where: Φ = angle of input shaft relative to the frame; Ψ = angle of output shaft relative to the frame K1 = r1/r4 ; K2 = r1/r2 ; K3 = r32  r12  r22 r42 /2r2r4 r1 = length of frame Part; r2 = length of input Part; r3 = length of coupler Part; r4 = length of output Part Find a solution for the three unknowns, K1, K2 are K3, by entering three sets of input and output shaft angles (Φi ,Ψi) ; i = 1,2,3. 
Let us say we want a mechanism where the output shaft rotates as a function of the input shaft with the following functional relationship: y = log10(x) ....the 'Function'. 
The range for the independent x and the dependent y values are not suitable to use as joint angles for the input and output shafts. Why is this? Are the angles degrees or radians? A range of angles for x from 1º to 2º, will give an output for y as 0º to 0.3010º. Are these suitable values? Probably not. We must 'map' the x values to Φ values, and y values to Ψ values. The process of finding suitable shaft angles,Φ and Ψ , for a function value, x and y, is called Mapping. 

We must map three values of x onto three values for Φ  the input shaft angle We must map three values of y onto three values for Ψ  the output shaft angle Why three? Because, in the Freudenstein Equation there are three parameters, K1, K2 are K3. To find three unknowns, we need three simultaneous equations. 

Given the Values in the Table above, we can calculate the corresponding input and output shaft angles at each point between the Start and End of the X range. Use Equation 1 and Equation 2  see right ...>>> The Table below gives the numbers for 10 Points from 1.0 to 2.0. We only need three Points. Which three Points?!?

Input Shaft Angles To get three angles, Φi (i=1, 2, 3) we can use the equation: Φi  Φs / Φf  Φs = xi  xs / xf  xs ..... Equation 1 We can transpose this to calculate Φi , the angle of the input shaft that corresponds to the value xi. You must specify three values for xi within the range xs to xf . To use Equation 1 , you must also specify: Φs = Start Angle of the Input shaft Φf = End Angle of the Input Shaft xf = Maximum value of x at which to calculate yf xs = Minimum value of x at which to calculate ys Output Shaft Angles To get three angles, Ψi (i=1, 2, 3) , we can use the equation: Ψi  Ψs / Ψf  Ψs = yi  ys / yf  ys .... Equation 2 We can transpose this to calculate Ψi , the angle of the output shaft that corresponds to the value yi. Calculate three values of yi at the related three values for xi . Calculate yf and ys . Use the Function, and xf and xs . To use Equation 2 , you must also specify: Ψs = Start angle of the Output shaft Ψf = End Angle of the Output Shaft Note, that the values in the table to the left are dependent on six values you choose for: xf , xs , Φs , Φf , Ψf , Ψs Some experience may be necessary to choose them. We only need three Points. Which three Points?!? 
Precision Points A Precision Point is an angle we give to the input shaft at which we precisely get the output shaft angle. We can choose three arbitrary values for the input to the function. How do we select the three Precision Points , x13 The selections might be: x13 = 1.0, 1.5, 2.0. Given y = log10x, then , y13 = 0.0, 0.1761, 0.3010 x13 = 1.0, 1.1, 2.0. Given y = log10x, then , y13 = 1.0, 0.0414, 0.3010 The selections are endless. What would make a good selection? There are two general cases. You might want to make a selection: A.Without regard to other positions within the range B.With regard to the other positions within the range In the case B, you can look to minimize the RMS of the error between the actual angles and the real angles of the output shaft, over the actual range . This error is called the 'RMS Structural Error'. Chebyshev Spacing Chebyshev Spacing gives us a good first estimate for the three choices we can make for x as the input, to get the corresponding y values. 


Without explanation, I can tell you that Chebyshev Spacing suggests the values we should choose for x, to minimise 'Structural Errors', when the x range is 1–2, are: x1 = 1.0667, to give a Input Shaft Angle of 44.0141 x2 = 1.5, to give a Input Shaft Angle of 70.0000 x3 = 1.933, to give a Input Shaft Angle of 95.98 The corresponding values for y are: y1 = 0.0280, to give a Output Shaft Angle of 0.0045 y2 = 0.1761, to give a Output Shaft Angle of 29.4919 y3 = 0.2862, to give a Output Shaft Angle of 51.4410 

Solving for Link Lengths Now we have the actual angles for the Input Shaft and the Output Shafts, we can findr the Link Lengths. We have two methods: Method 1 Use the three different angles for the input and output shafts calculated at the Chebyshev Spacing, in the Freudenstein Equation. K1cosΦ1 + K2cosΨ1 + K3 = cos ( Φ1  Ψ1 ) K1cosΦ2 + K2cosΨ2 + K3 = cos ( Φ2  Ψ2 ) K1cosΦ3 + K2cosΨ3 + K3 = cos ( Φ3  Ψ3 ) Method 2 Use the Constraint Based Sketch Editor in MechDesigner! 
We can use the Constraint Based Sketch Editor to find the link lengths. In the PartEditor we find the lengths of lines. We then map these lengths on to Parts in the MechanismEditor 

In the PartEditor... Add a Part for the Frame. Make it fixed length, say 100mm This is the 'Frame' in the Mechanism. 

Add three Lines, starting at the left of the Line. They represents the input shaft / Part. Use the Equal Constraint tool, to make the three Lines equal length. Add three Lines starting at the right of the Line. They represents the output shaft / Part. Use the Equal Constraint tool, to make the three Lines equal length. The values in the table we have calculated for the angles of the Input Shaft and the Output Shaft increase together in the same rotation direction. Therefore, think of the Lines as 1 to 3 in the counterclockwise directions. 

Add the Angular Dimensions between the first and second Lines on the Input Shaft (25.986) Add the Angular Dimensions between the second and third Lines on the Input Shaft (25.986) Add the Angular Dimensions between the first and second Lines on the Output Shaft (29.4873) Add the Angular Dimensions between the second and third Lines on the Output Shaft (21.9491) 

Add a 'Coupler' Line between the Line 1 on the input shaft and Line 1 on the output shaft. Then, a different Line between the Line 2 on the input shaft and Line 2 on the output shaft. Then a different Line between the Line 3 on the input shaft and Line 3 on the output shaft. Make the three Coupler Lines equal length with the Equal Constraint tool. At this Point, the Mechanism is acting as a Function Generator. However, we can also specify the Start Angles of the Input and Output Parts. 

Add the Angular Dimensions between the first Line at the input shaft and the Frame (44.0140) Add the Angular Dimension between the first Line at the output shaft and the Frame (0.0046) The sketch goes black to indicate it is fully defined. Unfortunately, in the PartEditor, you cannot add dimensions to find the lengths of the Lines. However, we can add Measurement FBs in the MechanismEditor.


The Length of the Frame Part is 100mm. In the MechanismEditor, we can find the: •Length of the Input Part is 97.44 •Length of the Output Part is 216.67 •Length of the Coupler is 255.71 You can scale the length of the Parts to give the size of the mechanism you need for your application. 

Five Position Function Generation. If you do not specify the Initial Angles of the mechanism, and possibly leave one of the angles free, it is possible to add two more positions to the Function Generator. The image to the left shows five positions. 