Optimal synthesis for function generation of double-loop planer four-bar mechanism using genetic algorithm
- 168 Downloads
Abstract
The present study focused on function generation task of mechanism. To achieve flexibility and high accuracy in function generation task, two loops of four-bar mechanism are considered. Both loops are connected with each other. The output of first loop becomes input for the second loop, and the output of second loop becomes desired generated output. Error in function generation task is minimized into two stages. The first loop partially minimizes error, and the second loop can tune error for precise function generation. Total function y = f(x) is subdivided into two stages as w = g(x) in the first loop and y = h(w) = h(g(x)) in the second loop. Freudenstein’s equations are used to generate mathematical models for both loops. Desired precision points for the function generation task are calculated based on Chebychev spacing theorem. In double-loop configuration of mechanism, total six-link length is required to find out. Due to the higher number of parameters, genetic optimization technique is adopted to find out optimal solution. Numerical examples are discussed and obtained results compared with the available literature.
Keywords
Double-loop four-bar mechanism Synthesis of mechanism Genetic algorithm Function generationList of symbols
- a
Length of crank link in the first loop
- b
Length of coupler link in the first loop
- c
Length of rocker link in the first loop
- d
Length of fixed link in the first loop
- θ_{0}
Inclination of the second loop w.r.t. first loop
- α
Adjustment angle for input of the second loop
- a1
Length of crank link in the first loop
- b1
Length of coupler link in the first loop
- c1
Length of rocker link in the first loop
- d1
Length of fixed link in the first loop
- ϕ
Rocker link angle of the second loop w.r.t. horizontal
- θ_{s}
Input starting angle for crank of the first loop w.r.t. horizontal
- θ_{f}
Input finishing angle for crank of the first loop w.r.t. horizontal
- ϕ_{s}
Output starting angle for rocker of the second loop w.r.t. horizontal
- ϕ_{f}
Output finish angle for rocker of the second loop w.r.t. horizontal
- θ_{d}
Desired crank angle
- ϕ_{d}
Desired rocker angle
- θ_{g}
Generated crank angle
- ϕ_{g}
Generated rocker angle
1 Introduction
In the literature survey, different kinds of methodology and modifications are found for four-bar mechanism. Polynomial approximation methods such as interpolation, least square and Chebychev approximation methods are commonly used to get better function generation work. Also modifications are found like to vary link length of crank, coupler or rocker or by providing adjustment with fixed pivot for creating flexibility in mechanism to achieve accurate function generation task.
Firstly, Levitskii et al. [1] had carried out a modification with four-bar mechanism. Author has replaced turning joint between coupler link and rocker with sliding bar. Slider can move along coupler link. Addition of sliding pair increases accuracy for function generation, but mechanism is converted into 2 degrees of freedom (DOF). Simionescu and Beale [2] had replaced rigid coupler link of four-bar mechanism by elastic body using springs, due to the modification, accuracy of mechanism increased, but mechanism converted into five-bar 2 DOF. Zhou [3] had used a concept to adjust the fixed pivot of rocker and fixed link. With this, modification accuracy of function generation is increased. The parallelogram linkage mechanism is used for adjustment of fixed pivot. Due to the modification, four-bar 1-DOF mechanism is converted into 7-bar 2-DOF mechanism. Soong and Chang [4] have used the concept of variable driver link length in four-bar mechanism for precise function generation synthesis. For that, joint between driver and coupler link is replaced with slider. Slider bar can move on driving link. Specific guide slot is used for guiding adjustable moving pivot on driving link in specific contour with fixed link, so the mechanism will possess a single degree of freedom and no other separate adjustment is required for moving pivot on driving link.
In all modifications stated above, function generation task has the following drawback. (1) Operation of mechanism becomes complex, due to conversion of mechanism from 1 DOF to 2 DOF. (2) Soong and Chang [4] have modified mechanism by providing a guiding groove and converted mechanism into 1 DOF, but due to the fact that the use of sliding pair in mechanism will decrease its accuracy by wearing effect of the slider.
The function generating accuracy of mechanism is improved by increasing number of design variables. Function generation quality is improved significantly using the following strategies: (a) by placing new reference position for the crank or rocker of the mechanism [5]; (b) additionally by considering the quantity of displacements of the crank or the rocker link [6]; (c) by introducing gear as extra members combined with links [7]; (d) by introducing new design parameters in modeling for adding extra flexibility [8]; and (e) by introducing additional loops for a in mechanism [9]. Several authors have worked on six-link mechanisms. Svoboda [10] has considered six-bar linkage mechanism with 9 design variables. He used decomposition method for function generation task. He shows different methods for synthesis task from mechanism. Kinzel et al. [11] have considered geometric constraint programming (GCP) for synthesizing a Stephenson III configuration of mechanism which is having six links and have considered 11 precision points for function generation task. He used both graphical and analytical approaches to find solution for task. Author has used CAD software package for geometric constrained programming. Hwang and Chen [12] have worked on Stephenson II-type configuration of the mechanism. The author has used constrained optimization techniques for synthesis work. He has used constraints for input angle sequence and branch defects. Sancibrian [13] has used reduced gradient optimization technique to find the optimum solution for function generation. The author has used Stephenson II, III and Watt II-type configuration of the mechanism for the function generation task. Kiper et al. [14] have worked on Watt II-type configuration for function generation work and proposed 3 different methods for synthesis task. The author has done all computations in Microsoft excel sheet. The advantage from his work is that one can generate several solutions in a small time span as compared with other methods. But having a drawback in his proposed method is that it can give solution for up to three precision points only.
Literature survey mentioned above is based on modifications and methodologies used by different authors to increase accuracy in function generation task of mechanism. Here robust side of the proposed method in this work is that the mechanism is having 1 DOF. The proposed method can be used to mechanism synthesis for more than three precision points of the function generation task. Due to two loops considered, error tuning for function generation is possible in two steps. As compared to other configurations of the mechanism, two-loop configuration can generate function more accurately.
2 Mathematical modeling
2.1 Mathematical formulation
For considering the second four-bar loop, rocker angle (θ_{out}) generated from the first loop will become input crank angle for the second loop.
3 Objective function formulation
For function generation work, desired function is selected and is used to relate crank angle with rocker angle. Common formulation for function generation is as follows.
Precision points for function generation are considered based on Chebychev spacing theorem.
3.1 Objective function
3.2 Variables in synthesis task
List of variables
Variable | Symbol | No. of variables |
---|---|---|
Length of crank link in the first loop | a | 1 |
Length of coupler link in the first loop | b | 1 |
Length of rocker link in the first loop | c | 1 |
Length of fixed link in the first loop | d | 1 |
Length of crank link in the second loop | a1 | 1 |
Length of coupler link in the second loop | b1 | 1 |
Length of rocker link in the second loop | c1 | 1 |
Length of fixed link in the second loop | d1 | 1 |
Inclination of the second loop with respect to the first loop position | θ _{0} | 1 |
Adjustment angle for input of the second loop | α | 1 |
Start crank angle | θ _{s} | 1 |
Star rocker angle | ϕ _{s} | 1 |
Angular position of crank in the first loop | θ _{2} | Depend on number of precision points ‘n’ |
3.3 Constraints in synthesis task
First constraint in synthesis task is to maintain sequence between input crank angle for the first loop of mechanism as follows. θ_{21} < θ_{22} < θ_{23} < ………….. < θ_{2n} or θ_{21} > θ_{22} > θ_{23} > ………….. > θ_{2n} depend on required rotation direction of the crank.
Second constraint in generation of mechanism and minimization of error is to avoid branching defect in the mechanism. This defect can be avoided by considering those populations of algorithm only which can satisfy equation as B^{2} − 4AC > 0 for avoiding branching defect in the first loop and E^{2} − 4DF > 0 for avoiding branching defect in the second loop according to Freudenstein’s equation. If values of B^{2} − 4AC and E^{2} − 4DF will be less than zero, then according to Eqs. (4) and (9), the values of θ_{out} and θ_{4} become undefined. So close loop will not be formed.
4 Genetic optimization algorithm
- 1.
GA can encode decision variable as operational object.
- 2.
In GA objective function is considered directly to search solution.
- 3.
It can use to search information at several points at the same time.
- 4.
It can use probability search technique so can have less running time as compared with other global search techniques.
GA generates population and applies on objective function, the best fittest population is considered for the next generation, and best fittest population algorithm makes genetic changes, which can give diversity to search best approximate solution and reapply those populations again with objective function and try to minimize objective function. To search best solution initially, GA creates random population. And then after the next generation GA successively improves population and uses to search solution. GA work is based on binary system. GA has the following three stages for running algorithm and finding best solutions.
4.1 Reproduction
In this function best population is selected based on their values of objective function and acts as a parent population to generate new population for the next generation of algorithm.
4.2 Crossover
Crossover creates new population by combining information from the parent population. Combination of parent population is randomly done. After converting parent population in binary system single crossover point taken randomly in each of two strings and information of strings crossed over and create new generation of population.
4.3 Mutation
In this stage randomly any population selected and change any binary string from whole string and change its value from 0 to 1 or from 1 to 0, due to this newly generated population get biological diversity to search solution in global space.
5 Numerical examples
All equations obtained in Sect. 2 of mathematical modeling are implemented in MATLAB by creating MATLAB code. Optimization is carried out using the GA tool of MATLAB. A new configuration of mechanism is tested by different examples of function generation task. Different functions considered for function generation tasks are logarithmic, exponential and trigonometric functions. And obtained results are compared with the available literature of function generation task.
In the first example work is carried out on function Y = X^{2}, for the range of X is taken as 1 ≤ X ≤ 5. In the second example function Y = log_{10}(X) is considered, for the range of x is taken as 1 ≤ X ≤ 2. And in the third example function Y = sin(X) is considered. For range of x is taken as 0 ≤ X ≤ π/2.
Functionwise precision points
Function with input domain | Angle | Precision points | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
Y = X^{2} | θ _{2d} | 30 | 34.0192 | 60 | 85.9808 | 90 |
1 ≤ X ≤ 5 | ϕ _{d} | 30 | 31.5192 | 50 | 83.4808 | 90 |
Y = log(X) | θ _{2d} | 30 | 34.0192 | 60 | 85.9808 | 90 |
1 ≤ X ≤ 2 | ϕ _{d} | 30 | 35.6126 | 65.0978 | 87.0511 | 90 |
Y = sin(X) | θ _{2d} | 30 | 34.0192 | 60 | 85.9808 | 90 |
0 ≤ X ≤ π/2 | ϕ _{d} | 30 | 36.3018 | 72.4264 | 89.6681 | 90 |
Obtained results for various functions
Variable | Function Y = X^{2} | Function Y = log(X) | Function Y = sin(X) |
---|---|---|---|
a | 50.2340987 | 34.3530471 | 57.70657541 |
b | 98.9704682 | 44.06393759 | 58.72538148 |
c | 50.1180717 | 19.82540737 | 67.02333956 |
d | 98.5576146 | 56.60902001 | 67.68099995 |
a1 | 40.5440501 | 45.5013055 | 44.93474831 |
b2 | 68.5517459 | 30.51354931 | 61.71815921 |
c3 | 36.9912404 | 65.42098578 | 27.69050692 |
d4 | 99.0289189 | 45.73822271 | 47.78045897 |
θ _{0} | 18.5245793 | − 19.27795232 | 34.79240087 |
Α | 69.9219464 | − 77.11362284 | 30.76477968 |
θ _{s} | 89.2030812 | − 10.43126715 | 107.0683473 |
Φ _{s} | 74.6067667 | 71.73685855 | 46.28784111 |
Total error | 2.22 × 10^{−10} | 2.268 × 10^{−9} | 4.4599 × 10^{−10} |
|δmax| | 9.676 × 10^{−6} | 5.825 × 10^{−6} | 7.323 × 10^{−6} |
Examples discussed above have best results obtained as function Y = log10(X) is %ε = 1.93 × 10^{−3}, function Y = X^{2} is %ε = 2.79 × 10^{−6}, function Y = sin(X) is %ε = 7.32 × 10^{−4}, and function Y = e^{0.5X} is %ε = 4.31 × 10^{−5}.
Kinzel et al. [11] have synthesis of Stephenson III-type mechanism for function generation task. He used function Y = log_{10}(X) with the range of X as 1 ≤ X ≤ 2. %ε in his work is 0.0054%. For the same function generation task with double-loop four-bar mechanism configuration, %ε obtained is 1.93 × 10^{−3} % and total error is minimized up to 2.268 × 10^{−9} % for five precision points which is lower than Kinzel [11]. Hwang and Chen [12] have synthesized mechanism for function Y = X^{2} and %ε in his task is 0.83. In comparison with Hwang and Chen [12], %ε in obtained results for double-loop four-bar mechanism configuration with the same function is 4.03 × 10^{−5} % which is lower than Hwang and Chen [12]. Kiper et al. [14] have worked with double-loop configuration of mechanism, but having limitation of his mathematical model is limitation of precision point up to 3. If more than 3 precision points required, the methodology of author is not applicable. In results comparison with Kiper et al. [14] with the same kind of configuration for function Y = sin(X), obtained %ε is 7.32 × 10^{−4} % which is lower than Kiper et al. [14].
Results comparison with available literature
References | Function | Input range | Mechanism configuration | %ε |
---|---|---|---|---|
Kinzel et al. [11] | Y = log_{10}(X) | 1 ≤ X ≤ 2 | Stephenson III | 0.0054% |
Hwang and Chen [12] | Y = X^{2} | − 1 ≤ X ≤ 1 | Stephenson III | 0.83% |
Kiper et al. [14] | Y = sin(X) | 0 ≤ X ≤ π/2 | Double-loop configuration | 0.139% |
Hitesh et al. | Y = log_{10}(X) | 1 ≤ X ≤ 2 | Double-loop configuration | 1.93 × 10^{−3} % |
Hitesh et al. | Y = X^{2} | 1 ≤ X ≤ 5 | Double-loop configuration | 4.03 × 10^{−5} % |
Hitesh et al. | Y = sin(X) | 0 ≤ X ≤ π/2 | Double-loop configuration | 7.32 × 10^{−4} % |
6 Conclusions
In this study, the double-loop planer four-bar mechanism is used. As compared to single loop, double-loop planer four-bar mechanism can tune functions in two stages, and due to that better function generation is possible. Comparison study between single-loop and double-loop four-bar mechanism is carried out by Kiper et al. [14] and has proved that double-loop planer four-bar mechanism can generate function better than the single-loop four-bar mechanism. But limitation of the methodology adopted by him is that it can apply only with three precision points, which is eliminated in this work. In the present study, decomposition for function generation is successfully applied with the use of Freudenstein’s equations and optimization is carried out using genetic algorithm. From results comparison, it is clear that with double-loop six-bar configuration of mechanism, function generation task is performed more accurate than other kinds of configuration. Here study is carried out for five precision points in each example. It is possible to use more than five precision points to get better precise function generation using demonstrated methodology.
Synthesis method discussed herein can be applied to all kinds of function generation task which can be performed with single-loop four-bar mechanism and also gives better results compared to it.
Notes
Compliance with ethical standards
Conflict of interest
On behalf of all authors, the corresponding author states that there is no conflict of interest.
References
- 1.Levitskii NI, Sarkissyan YL, Gekchian GS (1972) Optimum synthesis of four-bar function generating mechanism. Mech Mach Theory 7:387–398CrossRefGoogle Scholar
- 2.Simionescu PA, Beale D (2002) Optimum synthesis of the four-bar function generator in its symmetric embodiment: the Ackermann steering linkage. Mech Mach Theory 37:1487–1504CrossRefGoogle Scholar
- 3.Zhou H (2009) Synthesis of adjustable function generation linkages using the optimal pivot adjustment. Mech Mach Theory 44:983–990CrossRefGoogle Scholar
- 4.Soong R-C, Chang S-B (2011) Synthesis of function-generation mechanisms using variable length driving links. Mech Mach Theory 46:1696–1706CrossRefGoogle Scholar
- 5.Alizade RI, Gezgin E (2011) Synthesis of function generating spherical four bar mechanism for the six independent parameters. Mech Mach Theory 46:1316–1326CrossRefGoogle Scholar
- 6.Norton RL (2004) Design of machinery: an introduction to the synthesis and analysis of mechanisms and machines, 3rd edn. McGraw-Hill, New YorkGoogle Scholar
- 7.Rao AVM, Sandor GN (1971) Extension of Freudenstein’s equation to geared linkages. J Eng Ind 93(1):201–210CrossRefGoogle Scholar
- 8.Alizade RI, Kiper G, Bağdadioğlu B, Dede MİC (2014) Function synthesis of Bennett 6R mechanisms using Chebyshev approximation. Mech Mach Theory 81:62–78CrossRefGoogle Scholar
- 9.Ali H, Murray AP, Myszka DH (2015) Reducing structural error in function generating mechanisms via the addition of large numbers of four-bar mechanisms. In: Proceedings ASME 2015 international design engineering technical conferences and computers and information in engineering conference. August 2–5, Boston, Massachusetts, USA, DETC2015-47457Google Scholar
- 10.Svoboda A (1948) Computing mechanisms and linkages, vol 6. Dover Publications, New York, p 8Google Scholar
- 11.Kinzel EC, Schmiedeler JP, Pennock GR (2007) Function generation with finitely separated precision points using geometric constraint programming. ASME J Mech Des 129:1185–1190CrossRefGoogle Scholar
- 12.Hwang WM, Chen YJ (2010) Defect-free synthesis of Stephenson-II function generators. ASME J Mech Rob 2(4):041012CrossRefGoogle Scholar
- 13.Sancibrian R (2011) Improved GRG method for the optimal synthesis of linkages in function generation problems. Mech Mach Theory 46(10):1350–1375CrossRefGoogle Scholar
- 14.Kiper G, Dede MİC, Maa-roof OW, Özkahya M (2017) Function generation with two loop mechanisms using decomposition and correction method. Mech Mach Theory 110:16–26CrossRefGoogle Scholar
- 15.Alotto PG, Eranda C, Brandstatter B, Furntratt G, Magele C, Molinari G, Nervi M, Preis K, Repetto M, Richter KR (1998) Stochastic algorithms in electromagnetic optimization. IEEE Trans Magn 34(5):3674–3684CrossRefGoogle Scholar