Optimizing a cam mechanism using Adam and MATLAB
The design of a cam for high-speed production machines with various operating criteria imposes various conflicting objectives that must be addressed to optimize the cam’s performance.
This technical case study explains the application of a two-step methodology using the MATLAB and Adam algorithms
in the modeFRONTIER software platform.
The main objective of the optimization was to reduce the stress inside the cam mechanism, first by optimizing the profile and then considering effects such as shock, vibration and pressure.
The design of a cam for high-speed production machines with various operating criteria imposes certain requirements not only on the entire length of the cam profile but on specific zones. These include executing the rise, dwell and return motions of the follower; respecting the positions of the follower roller in the check-points, and ensuring continuity of acceleration at all checkpoints; ensuring permanent contact between the cam and the follower roller; ensuring the minimal contact force in some zones; decreasing the maximum Hertz pressure; maintaining continuity of jerk in acceleration, a minimal pressure angle, a minimal time of return, etc. Clearly, these are conflicting objectives. For this reason, the modeFRONTIER software platform was used for fast process integration and advanced multi-objective optimization.
The law of motion associated with the dynamic model is defined as a curve that verifies some checkpoints to control movement. Fig. 2 shows the checkpoints used to generate the curve, which is a polynomial interpolation between the points. The boundary conditions at the second and third order of each point are the variables for deforming the curve and generating the dynamic response.
The main objective is to reduce the stress in the cam mechanism. There are several factors that can affect it such as Hertz pressure, vibration or shock. Taking this into account, the entire methodology is based on “twostep” optimization.
The first step is dedicated to profile optimization and, for this purpose, a dynamic model which excludes some effects like shock and vibration was used. This part was executed using a MATLAB algorithm which encoded the dynamic response, in addition to another algorithm aimed at generating a law of motion using the pieces of the polynomials function.
Then, in the second step, an Adam optimization algorithm was used for the other phenomena. The mechanism was created in Adam with appropriate contact parameters between the cam and the follower and using values obtained from real tests on the machine.
The MATLAB optimization
There were three objectives related to the zones in which they were located.
The Adam optimization
First-step optimization (MATLAB model)
The first step was to generate the curve with MATLAB and obtain the results for jerk, Hertz pressure and force. Fig.3. shows all the variables used for the creation. The Design variables: X=[xb;xe;xf;ye;y’c;y’d;y’e;y’’c;y’’d;y’’e]; For this part, the value of each variable is not very perceptive physically (eg: the jerk at a point) and the range can be very large eg. +/- 106. The mechanism’s response is multimodal, possibly due to the high number of variables. The constraints on the mechanism were also very difficult to handle; only a small range of combinations of variables can adapt to the constraints. The way to find the best solution is to create a Design of Experiments (DOE) of 30 designs and use a MOGA II as the optimization algorithm with 400 generations to explore the domain. This takes two hours, on average, which is quite fast. The second step is to use an adaptive filter sequential quadratic programming (AFSQP) method on the best design found with MOGA II, which allows one to gain 12% on the cost function.
Fig. 4 shows the Hertz pressure. The reduction is 10 MPa, which increases the angular velocity of the cam’s inlet and consequently the productivity of the machine. Fig. 5 shows that the contact force in the second zone increased to 60%, which ensures permanent and reliable contact between the cam and the follower roller. The optimization also leads to continuity of Jerk, which was the third objective of the multicriteria design optimization.
Second-step optimization (Adam-MATLAB model)
The classic dynamic model is not precise enough to estimate the maximum force generated on the mechanism. In reality, other phenomena such as vibration or shock may appear. A good way to estimate this maximum value is to run a simulation in Adam. To meet the objective of minimizing the maximum force on the mechanism, we must insert Adam into the modeFRONTIER flow, which requires a little adaptation as depicted in Fig.6. The main idea is to use a .cmd file for Adam with the entire mechanism drawn in it and a special part, which is the cam, created on the basis of a spline defined by a point matrix. This point matrix contains all the points of the cam profile. For each design drawing, we have to create a new .cmd file in which the point matrix is modified with the new curve. The .cmd file has a very rigorous structure, so all the modifications must be well oriented to avoid creating errors in the simulation. Then the simulation is run in Adam to obtain the desired data. The key disadvantage of this approach is that the Adam simulation takes some time to execute so it is useful to limit the time of each simulation in the Adam node. This requires being truly aware of the physical behavior of the mechanism. The algorithm used here is only a MOGA II with 30 DOE and 600 generations.
In conclusion, Fig 7 shows that the value of the maximum force has been reduced by 17%, which increases the mechanism’s lifetime by 100 times, on average.
modeFRONTIER provides a seamless coupling with third party engineering tools, enables the automation of the design simulation process, and facilitates analytic decision making.
This technical case study describes how the ROPS and FOPS of a tractor were numerically studied in the early design phase to ensure compliance with OECD Standard Code 4 (for the cabin’s resistance to longitudinal, lateral and vertical energy or force) and Code 10 (for overhead protection from falling objects).
automotive rail-transport ls-dyna