SimMechanics users, the first time you opened the Simulink Library Browser in R2012a, you probably noticed a big change: SimMechanics Second Generation
SimMechanics Second Generation is a complete redesign of SimMechanics. Let's see what this means.
A new way of thinking: Frame Centered
In the First Generation, all rigid body coordinate systems are defined in the Body block, using a dialog. Coordinate systems can be defined relative to different frames, including both local and the global World frame.
In SimMechanics Second Generation, each coordinate frame is defined locally, using a Rigid Transform block:
Notice that the lines in the diagram correspond to coordinate frames in your model. This makes reusing coordinate frames much easier – you just branch the line any time you want to connect something new to that frame.
Let's look at the dialog of the Revolute Joint:
We can see that:
- Standard Z axis: In SimMechanics Second Generation, the revolute joint has a standard convention for its degree of freedom that is always defined locally by the parts it connects. This local definition makes it easy to reuse mechanisms in other configurations. Other joints have similar standardized axes, following the standards used in robotics.
- State Target Priority: When designing complex closed-loop mechanisms, it can be difficult to specify the initial condition of joints consistently. With the low priority, you can specify a value close to the desired configuration and SimMechanics will calculate the exact consistent initial condition for you.
- Internal Mechanics: No more need to connect sensors and actuators to add stiffness and damping to your joints!
- Integrated Sensors: No need for joint sensor blocks anymore.
Compared to the First Generation visualization, the Mechanics Explorer offers a lot advantages:
- Speed: Negligible effect on the simulation speed. No more need to close the visualization to speed up your simulation.
- Control Animation Speed: Many options to display the animation: as fast as possible, real-time, step-by step, etc.
- Replay: Replay the animation without re-running the simulation... this can save a lot of time!
- Multiple Views Simultaneously: You can view your system from multiple viewpoints at the same time.
- Tree Browser: Easily navigate through complex models with a tree structure that matches your block diagram hierarchy
Here is what it looks like:
Interface to Simscape
SimMechanics Second Generation is built on the Simscape Engine. This means that you can directly connect Simscape components to SimMechanics joints, without going through Simulink signals.
I am not going into details here because I am planning a future post on this topic, but I think this is a significant advantage.
In need to warn you that some features from First Generation are not yet available in Second Generation.
Before converting your models to Second Generation, I recommend going through the documentation to verify it meets your needs.
Now it's your turn
Give SimMechanics Second Generation a try by opening some demonstration models, including sm_stewart_platform and sm_wing_landing gear.comment here.
22 CommentsOldest to Newest
Simmechanics second generation is great, but it misses an important feature to be very competitive as a multibody tool: the position actuator, that it was present in the first generation. Hopefully to have it in the next release.
That’s true. Without position actuator I cannot evaluate even basic kinematic simulation with 2nd generation. This actuator doesn’t appear in 2012b again.
I would like to use the SimMechanics, gen 2, for my class, but it doesn’t have a position actuator. When will that be available?
I am not able to say when motion actuation will be available in SimMechanics Second Generation. this is also a feature I miss.
All I can say is that we are working actively to provide motion actuation as soon as possible.
I need to create a multibody model where I need to actuate few joints in terms of displacement, but simmechanics 2nd generation doesn’t allow it. Since simmechanics 1st generation allows it, is it possible to connect 1st gen block with 2nd gen ones?
As a temporary workaround for a lack of position actuation one can implement simple high-gain tracking controller.
Sorry for double post.
Feature I really miss in second generation is reaction forces sensing. Do you know if such functionality will be ever possible in second generation?
@Jakub: We are working very hard to provide motion actuation and reaction forces in SimMechanics Second Generation as soon as possible. I cannot guarantee in which release this will be available, but I will definitely publish a post on this blog when it is.
For now, you need to use the temporary workaround of implementing a controller to get the desired motion. This also applies to reaction forces.
Hello. I have a problem of visualization with Matlab 2013b. There is no graphics in the windows mechanics Explorer.
Can you help me ?
@Le Corre: Did you verify that you video drivers are up-to-date? I recommend contacting technical support for issues like that.
Thanks for the great work done in the second generation. It is very powerful. But I met some problems at the force sensing and friction application. Is there an alternative way I can sense the force and apply the friction effect?
hello every body, i have a question want to asked some people ,
when i connect Second Generation Block when i simulation ,but i can’t conect them,
i don’t understand why it is not connect, the picure when i simulation below: http://s30.postimg.org/kpwe2rm35/Untitled.png
if you know please help me!!! thanks for reading and help me.
you can see the red line i can’t connect beetwen the PS-Simulink Converter with (intergrator1 and Scope )
The design of the second generation is really better. But I wonder if there is any plan to add the time-varying mass and inertia feature.
@Melih: I don’t know yet when this will happen, but we are definitely considering adding time-varying mass and inertia sometimes soon.
Excusame, i have a problem trying to understand the second generation, can you give me the link of a tutorial of it?, or may be you can give me an example that contains a motor, i don’t know how to introduce a motor in a simulation using the blocks of the second generation.
@Rodrigo: I recommend looking at the webinars in the following page. They will teach you how to introduce a motor in your SimMechanics simulation:
Can u please see the modelling i have done in simmechanics, i have posted some doubts on it in matlab central. Requesting your help and your valuable suggestion
below is the link for the copy of the model i have made
I love it. About those how have questions on ‘reaction forces sensing’ I should say that for example in translation domain by using force and velocity as an input and output out of a joint respectively, plus some sources and sensors available in simscape foundation library, you can easily make an interface and connect them to all actuators available in simscape library as you can see this method has been used frequently in Matlab Second Generation examples. with the name of ‘interface” blocks.
how can i convert a model in first generation to second generation, is there any cinversion tool?
I want to simulate gear joint in matlab simulink, which I have created in solidworks. I tried with both 1st generation and 2nd generation while exporting to simulink. But both the time its showing gear joint is not there , it is taken as welded joint
What should I do?
How to get force output from the cg of a body in simscape second gen, please help!!!!