Modeling a Piston
Model a piston using multibody dynamics. Bodies, joints, and 3D visualization are defined and simulated.
SimMechanics is used to optimize system-level performance and to create plant models for control design. The models you create support your entire development process, including hardware-in-the-loop simulations.
SimMechanics enables you to create libraries of components that can be reused in many different designs. You define bodies in terms of their mass, inertia, and connection points. To create complex shapes, you assemble sets of simple geometries, such as spheres, cylinders, and extrusions defined in MATLAB, and SimMechanics calculates the resulting mass and inertia automatically. The diagram that defines the body clearly indicates all connections to the body, making it easy to see your system’s topology. Parameters such as length and mass can be calculated using MATLAB scripts and assigned using MATLAB variables.
Parameterize bodies with MATLAB® variables. Reuse components and mechanisms to build a scissor lift.
You connect bodies using joints and constraints. These define the degrees of freedom permitted between the bodies in your system, which dictate how your system can move. You can define and connect actuators to these joints to enable your system to move. Actuating these joints with electrical, hydraulic, pneumatic, or other physical systems modeled using Simscape enables you to model your entire multidomain physical system within the Simulink environment.
Actuating and Sensing Joints
Actuate joints and send measured values to Simulink® scopes. A hydraulic system modeled in Simscape™ actuates a scissor lift.
SimMechanics models can be connected to control systems modeled in Simulink and Stateflow®. You can measure quantities such as force, torque, and velocity, and pass this information to Simulink blocks. Motion, force, and other results calculated in Simulink can be used to control your mechanical system.
You can import a CAD assembly into SimMechanics using SimMechanics Link. The mass and inertia of each part in the assembly are imported as rigid bodies in SimMechanics. Geometry from the CAD assembly is saved to geometry files and associated with the proper body in SimMechanics. The mate definitions in the CAD assembly are imported as joints in the SimMechanics model.
Importing a CAD Suspension Assembly into SimMechanics
Import a CAD assembly to SimMechanics™ using SimMechanics Link. Add tire model and steering system, and automate toe and camber tests using MATLAB®.
For SolidWorks, Pro/ENGINEER, and Autodesk Inventor models, you install a plug-in that lets you save the CAD assembly as an XML file that can be imported into SimMechanics. For other CAD systems, SimMechanics Link provides an API that you can connect to the API of your CAD system. Download SimMechanics Link.
The SimMechanics Import XML Schema enables you to import models into SimMechanics from any CAD system or modeling environment that exports an XML file that follows this schema. View and download SimMechanics Import XML Schema.
SimMechanics provides specialized solver technology for simulating multibody mechanical systems. You can perform different types of analyses, including forward dynamics, inverse dynamics, and kinematics. You can apply forces and torques to your machine and see the resulting motion, or specify motions and calculate the forces and torques required to produce that motion. With these capabilities, you can generate and test requirements for actuation systems, or see how a prosthetic limb would move.
Using state targets, you can guide the assembly of your mechanism, specifying only key information. You can provide optional target joint positions and velocities and specify whether the targets should be met exactly or approximately. SimMechanics uses these values and priorities to automatically assemble and determine the initial state of your mechanism. A report informs you how closely SimMechanics met your state targets and the assembled values.
Guiding Mechanism Assembly
Specify exact and approximate initial states, including positions and velocities. Review assembly results in a model report.
SimMechanics automatically creates a 3D animation during simulation. You can replay it without rerunning the simulation. You can also display your simulation results during simulation using Simulink scopes. You can use MATLAB scripts to postprocess and plot the data.
SimMechanics automatically creates a 3D visualization of all bodies in your model. During simulation, an animation of the machine is generated, showing you the motion of the system. You can replay the animation without rerunning the simulation, and save the animation to a file.
Exploring SimMechanics Models
Replay 3D animations and configure the views. Explore the model from the 3D representation and via the tree browser.
You can adjust the color, opacity, and other visual properties of the bodies. For help in verifying locations and orientations, you can display the frames and the center of mass associated with the body. Multiple view angles can be shown simultaneously, enabling you to see how your mechanism looks and moves from different angles.
To help navigate and explore your model, the 3D view of your mechanism contains a tree browser. You can view the parameters for the elements in your mechanism by selecting them in the tree browser or the 3D view. The combination of the 2D block diagram and 3D visual representation of your mechanism lets you verify connections in your model and see how the system behaves.
You can deploy SimMechanics models using code generated with Simulink Coder. The generated code lets you:
Hardware-in-the-loop (HIL) Testing
Use HIL testing instead of hardware prototypes to test control algorithms. Convert physical model to C code and simulate in real time on controller hardware.
You can share SimMechanics models with Simscape users who have not purchased SimMechanics. Simscape users can view, simulate, and change parameter values in SimMechanics models with the Simscape Editing Modes. As a result, your team can share SimMechanics models with a larger group of engineers who use Simscape.
Sharing Models Using Simscape Editing Mode
Share models without requiring licenses for Simscape™ add-on libraries. Open models in Restricted Mode and perform tasks such as simulation, parameter tests, and code generation.
|Working with SimMechanics Models|
(Purchases Simscape and SimMechanics)
|Log data or change visualization|
|Change numerical parameters|
|Generate code with Simulink Coder|
|Change block parameterization options|
|Make or break physical connections|
SimMechanics can help you teach how theory relates to system behavior. Animations produced from SimMechanics simulations illustrate a system’s motion and give students a better understanding of the laws of physics. To demonstrate how effects such as friction influence the mechanical system represented by your SimMechanics model, you can implement equations for these effects in the Simscape language.
Using simulation, your students can prototype in a virtual environment, which encourages them to try out new designs and to explore the entire parameter space. Simulation enables them to optimize their designs in research projects and student competitions.
Because SimMechanics is used widely across industries such as automotive, aerospace, and robotics, graduating students who have experience with this multibody simulation tool are in demand by employers.
Integrating Physical Systems and Controller
Detect system integration issues in simulation. Mechanical, hydraulic, electrical, and control systems are gradually integrated into a full system model.
Learn more about engaging students with modeling and simulation.
SimMechanics includes both First-Generation and Second-Generation technologies. Second-Generation technology offers a redesigned block diagram language focused on local component definitions to support reusability and library development. It also offers more advanced 3D visualization and animation capabilities that are tightly connected to the block diagram representation. You have the option to create and simulate a mechanical model using First- or Second-Generation technology.
For more information on the difference between these two technologies, see the SimMechanics documentation and Release Notes.
Create part definitions parameterized with MATLAB® for multibody simulation. Reuse parts using copy and paste.