Which solution is best for a mechanical simulation for an electric linear actuator 1) Simscape multibody simulation, 2) Co-simulation with Simulink using NX

5 ビュー (過去 30 日間)
I am a bachelor student in Mechatronics engineering whome doing my thesis project, I have the following concerns regards the solution Methdolody selection and need help from an expert.
I would like to pick up the easiest solution that fits with my project requirements.
Problem Description:
The project is about creating a mechanical and electrical Matlab/Simulink model for an electric actuator. The model shall contain a model of the mechanical system including static and dynamic friction. The reason why I want to include the mechanical properties is that I want to have a model close to real life that express the mechanical problems such as friction or backlash.
Things to know:
1) I already have the Simulink control loop designed.
2) I want to choose a methodology where I can easily change the parameters for different actuator types and with different dimensions.
3) I already have the CAD model designed.
4) I want to integrate the Simulink control loop with the actuator model.
Methodologies I thought about:
1) Simscape Multibody
  • Importing a CAD model as an XML file from Autodesk Inventor to SimMechanics using SimMechanics.
  1. The imported model is a black box, I need to go back to the CAD model software whenever I want to perform changes to the parameters/ dimensions right?
  2. I need to specify the material properties clearly inside the CAD model software before importing it to SimMechanics?
  3. Can I apply friction using external force and torque blocks or do I have to go back to the CAD model and apply friction from there?
  4. In my opinion, this method only works when I have standardized mechanical equipments for the actuators so I don't have to go back to the CAD model whenever I want to apply changes right?
  5. The imported CAD model should be an assembly drawing right?, if not which type of CAD model I should use?
  • Importing the CAD model as a single mechanical components, step files using the Brick Solid block in SimMechanics, and make the connections between the solid blocks using joints and frames.
  1. Here I must specify the forces and torques between the connected bodies by myself from inside SimMechanics, and I have more control over the joints and the forces applied between the bodies but I don’t have control over the dimensions of the bodies and to do that I have to go to the CAD software and modify it from the CAD software whenever I choose an actuator with different dimensions right?
  • Building the SimMechanics model from scratch.
  1. Works fine when the system is not too complicated, I read that there is also a library for the complicated components, but this will increase the complexity of the system, and building the model using CAD software is much easier right?
General questions to Simscape multibody:
  1. Can I have the Simscape multibody model inside a subsystem and connect it to the control loop inside the Simulink? The input for the Simscape multibody model will be the load applied and the output will be the position and the speed.
  2. What are the benefits if I use the Embedded coder to auto-generate a code from the Simscape multibody model? someone before me wrote the c code for the Simulink model control loop manually so I am thinking of auto-generated code from the Simmechanics model and import it to the software platform that includes the c code of the, what do you think about this option? could you please explain to me the limitations?
  3. I guess using Simmechanics with Simulink will require me to select a solver that fits with both sim mechanics and Simulink model right?
2) Co-simulation with Simulink using NX
  1. I heard that NX is more user-friendly than Simmechanics, is that correct?
  2. I will have real-time communication between Simulink and NX, what are the limitations? simulation speed? will I face problems with solvers in this situation as both NX and Simulink have their own solvers?
  3. I won't be able to auto-generate a code from the Simulink model that includes NX right?
  4. If I change the dimensions in NX it will automatically update the new information with Simulink right?
  5. Can I add the dynamic and static friction from NX?
Thank you very much in advance for answering my questions and help me to pick up the best solution to my problem.

回答 (2 件)

Steve Miller
Steve Miller 2021 年 9 月 28 日
This is a very long set of questions, and a single post on MATLAB Answers is not the most straightforward way to get all your answers. Some of the answers you are looking for:
  1. You can import CAD geometry and specify the density within Simscape Multibody so that the mass and inertias are calculated within Simscape (you do not have to go back to the CAD system).
  2. Friction, contact forces, actuators, and other effects can be done within Simscape (you do not have to go back to the CAD system).
  3. You can create parts that are parameterized using MATLAB if you want to change lengths or positions of attachment points.
  4. Cosimulation is usually slower than simulating within one environment because you have communication overhead between the two environments and you normally have to simulate with a small step size to ensure the two separate models stay in sync.

Mark Edwards
Mark Edwards 2021 年 12 月 23 日
You're asking the right questions and have already discovered each method has it's limitations.
If the mechanism is trivial best just create in SimMechanics using primatives or the parts builder.
If your assembly has interesting features that you want to see, go with the CAD import - Note multi-body import is not supported from NX and in any case most commercial NX users use TeamCenter, so you have to export the assembly from Teamcenter first to prts for use in SimMechanics (i.e. snapshot which breaks linkage for any future updates). But then you have to deal with all the relationships, joints and offsets manually in SimMechanics.
I'd recommend for any assemblies beyond trivial complexity use Simulink in Co-sim with your CAD package.


Help Center および File ExchangeSimulation and Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by