Four Bar Linkage Optimization in Simscape

version (1.76 MB) by Steve Miller
Four-bar linkage lengths are optimized using MATLAB to follow a desired trajectory.


Updated 5 Apr 2022

From GitHub

View License on GitHub

This example shows a four-bar linkage modeled in Simscape Multibody that is optimized using MATLAB so that the tip of the linkage follows a desired trajectory.
Mechanical designers often wish to design mechanisms that will enable an end effector to follow a certain path. The lengths of the links and the position of the end effector influence the trajectory of the end effector in a complex kinematic relationship. Optimization algorithms can be used to tune those lengths to achieve the desired motion.
The process is similar to what is described in the video “Computational Design of Mechanical Characters”
In this example, a parameter sweep is performed to see which trajectories are possible when varying a subset of the lengths. Then those lengths are tuned using MATLAB optimization algorithms until the resulting trajectory is within tolerances of the desired trajectory.
Please read the file to get started.
Use the "Download" button above to get files compatible with the latest release of MATLAB.
Use the links below to get files compatible with earlier releases of MATLAB.
See how to use Simscape Multibody to model a cam-follower mechanism:
Learn more about multibody simulation with Simscape Multibody by watching this webinar
Find other Simscape examples by searching posts for the keyword "physical modeling"
Try these free, hands-on tutorials to learn how to use Simscape:
Learn more about MathWorks Simscape Products:

Cite As

Steve Miller (2022). Four Bar Linkage Optimization in Simscape (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2022a
Compatible with R2017a to R2022a
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.