The revolut joint in simulink had spring stiffness in it. Is the spring used a torsional spring? How do I extract the torsional spring torque and force data from the joint? I don't think the constraint force and torque shows the data of the spring in the joint. Anyone had any idea?
I look through help of the revolut joint, it didn't mention much about the spring.
Related
For my project, I am planning to conduct simulations in Simulink for an investigation on viscoelasticity behaviour that 3D printed plastic coupons seem to exhibit. Viscoelastic behaviour can be represented by different spring-dashpot combinations such as the ones seen in the Maxwell or Kevin-Voigt models.
For this purpose, I will be using Simscape elements to represent the layers of the 3D-printed object using spring, mass and dampers in the system. For my first attempt, I have used just a simple two mass system with spring-dashpot in series and observe their displacement using the scope element. For the the mechanical source, I have tried using both an ideal translational velocity source as well as an ideal force source.
Here is my Simulink diagram:
Initially, I tried using an ideal translational velocity source, I encountered two warnings:
Thus, I attempted to use an ideal force source instead as most of the examples for modelling in spring-mass-damper using Simscape that I found used that as a mechanical source instead, which managed to work. (I only changed the source from an ideal translational velocity to an ideal force source)
However for the purpose of my experiment, it would serve me better to use the ideal translational velocity source instead as the strain testing was conducted at a constant speed of 10mm/s that is to say a constant velocity rather than a constant force which would imply that the speed is changing.
I am not sure whether the warnings obtained when using the ideal translational velocity element would affect my results and how I can deal with the warnings, would really appreciate any help I can get as I am super new to Simulink! :)
I am designing a Particle Swarm Optimization simulator for MATLAB and I have a doubt about the gBest local position.
As I understood reading about the algorithm, gBest value identify the global best value that has EVER discovered by the particles. However, I saw in a pretty bearable implementation that the developer considered gBest as the best value encountered by the particles in the CURRENT generation.
Have I misunderstood the PSO algorithm basics? Was the developer wrong in his implementation or, however, was it just another different approach?
Thanks in advance,
VĂctor.
There are many ways to fine tune the PSO , but the classical algorithm of the PSO uses gBest as the swarm best known position, therefore it is not from current iteration only. In your algorithm you have to implement a memory of some sort in order to calculate the delta used in the velocity update:
Note that I called pbest as the particle best known position and sbest the swarm best known position (your gBest). c1 and c2 are the confidence levels in the particle itself and in the swarm.
I was wondering how a mechanical stop can be modeled most efficiently.
I do a hydraulic simulation with a controlled hydraulic cylinder in OpenModelica. For the hydraulic cylinder I use the sweptVolume model from the Modelica Standard Library.
What bugs me about this model is that there is no mechanical stop if the piston reaches the bottom of the cylinder.
I tried several ideas with no good result. I tried to reset the displacement of the piston to zero, if it hits the bottom, via an if-expression. But this is not really a good option due to the fact that the volume is calculated using the piston's displacement.
I then tried to introduce a force that equals the force applied to the piston, if the piston hits the stop. This option didn't work either, because in this case the pressure inside the cylinder can not be calculated.
The third try was to use the MSL model of MassWithStopAndFriction linked to the translational flange of the sweptVolume model, but this model seems to be broken for me.
Now I count on you as a competent community to bring in some more ideas for me to test.
Depending on your application, you may deploy the Hydraulics library? The library aims to model (compressible) fluid power systems and contains cylinders with end-stops. Its scope is different than the Fluid package you are using.
Using when and/or if statements for this task, I'd strongly discourage from experience. You may get one cylinder to work, but using that in a larger system will definitely get you into numerical problems. Have a look at the Mechanics package and analyse if the ElastoGap can be of any use to you.
I am new to designing real time plant models in simulink, and i have to include a 2 way directional valve in my model, i could take the orifice model and make the pressure differentials zero when direction is from B->A. Can i use an integrator to do the same? or is there a more appropriate block that is less complicated?I am using MATLAB 2012b
Thank you!
I'm simulating a shaft system in Simulink, where I have to find the displacement of a mass. I'm not sure how to model this in Simulink because of the shaft and pulley. I'm looking through the documentation and the closest thing I see to a shaft is the wheel and axle block. But the shafts are connected by a flexible shaft, which is similar to a spring. Any ideas?
This is a fairly trivial task when using SimScape, which is especially made to simulate physical systems. You'll find most of the blocks you need ready from the library.
I've used SimScape to create a model of a complete hybrid truck... In Simulink it can be done, but you'll need to build your own differential equations for the task. In your case, the flexible axle could be translated to another block with a spring/damper system inside.
If you haven't got access to SimScape, you may also consider to use .m (matlab) files to write your differential equations. This can then be used as a block in Simulink, varying (only) a few parameters over time.
Take this step by step:
1. Draw a free body diagram, write out equations for all the forces as a function of displacement, velocity and acceleration of every element (including rotation obviously). For instance, you know that force on the box m will be *c*dy/dt* plus whatever the pulley experiences.
2. Sort out the rotation of the rod first. You know that *T=I*d(omega)/dt* if you get rid of the rest of the system. So, do something analogous to the car engine example of MatLab: Divide the input T by I to get the acceleration, integrate it to get velocity and one more time to get rotational displacement.
3. Keep adding bits one by one. First, you know that there will be a moment proportional to k*(theta_1-theta_2) acting. This will oppose the motion of rod 1 and act to create motion of rod 2. Add a new "branch" to your model to get theta_2 same way you got theta_1.
4. Go on including further elements...