Our Expertise | AUTOMOTIVE

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

Newsletter EnginSoft Year 16 n°1
By Léo Moussafir, Sidel GROUP | Vito Primavera, EnginSoft
<p>Optimizing a cam mechanism using Adam and MATLAB</p>

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.

Initial problem

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.

Fig. 2 - The cam mechanism’s current law of motion must be optimized.

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 maximum Hertz pressure, in the first zone of the curve for t ∈ [0; 0.4s] (Fig. 5) had to be minimized in order to increase the cam’s inlet rotation velocity and consequently the productivity of the machine.
  • The minimum contact force between the cam and the roller, in the second zone of the curve for t ∈ [0.04s; 0.06s] had to be maximized to ensure permanent contact. Observations had shown that a loss of contact was possible in this zone.
  • The Jerk, in the third zone of the curve for t ∈ [0.09s; 0.18s], where constraints were rather weak, had to be minimized to reduce vibration.

The Adam optimization

  • The maximum value of the force between the cam and the follower had to be minimized. There are four constraints defined for the reliable operation of a cam mechanism.- The maximum displacement |y|<58 mm, due to the permissible extension of the spring.
  • F >50 N over the entire profile to ensure permanent contact between the cam and the follower roller.- Hertz Pressure must be less than 900 MPa over the entire profile due to the mechanical limitations of the materials in contact.- The radius of curvature of the cam must be greater than the radius of the roller at all points.

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 - Hertz pressure generated by the previous and optimized laws of motion

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)

Fig. 5 - Contact force generated by the previous and optimized laws of motion

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.

Fig. 6 - Creation algorithm for the cam profile
Fig. 7 - Flow associated with the Adam view
Fig. 1 - Cam mechanism with spring, assuming contact between the cam and the follower roller.
Fig. 8 - Maximum value of force estimated by Adam for each design

Find out more


Lucid Motors boosts electric vehicle performance with modeFRONTIER

Performing multi-objective inverter cooling system optimization with modeFRONTIER

This brief article summarises how California-based electric car company, Lucid Motors, used the CAE application, ModeFRONTIER for performing Computational Fluid Dynamics (CFD)

automotive optimization modefrontier


Stay connected with us: news, analysis and trends from our experts.



Scroll through our Media Center to view all the videos, video-tutorials and recorded webinars.

Media Center  


Filming the Bloodhound Super Sonic Car Land Speed Record

Using CAE to optimise the design of a prototype for a super sonic filming drone

This detailed technical case study describes how the students arrived at a supersonic aircraft drone prototype using MATLAB and modeFRONTIER in order to reduce the time and costs of numerical and wind-tunnel testing.

automotive modefrontier optimization