5.9 example - four bar mechanism - upv
TRANSCRIPT
146
MotionView / MotionSolve Fundamentals
5.9 Example - Four Bar MechanismThe example discussed below is also part of your HyperWorks installation.
I. Create a simple rigid body (with its CM located the global origin) which will fall under the influence of gravity.
• Define model units and orientation of gravity
• Create rigid body (with its CM located the global origin) Note, the Point of the global origin is automatically available/predefined; thus there is no need to create this point manu-ally.
The mass and inertia values are not important yet, so these are just dummy values for now.
Mass 1 in the Mass field.
lxx, lyy, and lzz = 1111
Use center of mass coordinate system, as Point select global origin.
147
MotionView / MotionSolve Fundamentals
• Save model as mbd file; free_body.mdl
• Save the model as xml file (in the Run panel), specify the Simulation Parameters t= 1, interval 0.01
• Plot results )activate the Plot option from within the Run panel). Make sure you are in the “Build Plots” menu (marked yellow in the figure below).
Click Body for Y Type (since no specific outputs were created, all solution information is contained within the Y Type: Body, which is the default output from MotionSolve).
Click Part/30102 Free Body for the Y Request and click the Z coordinate as the Y Component.
II. Build a four-bar mechanism
• Create Points: Point1 (0, 0, 0), Point 2(50, 0, 50) & Body CG location (25, 0, 25)
• Create Body: mass =1Kg, Ixx = Iyy= Izz=1000, CG = Body CG point, Inertia frame = same as body CG
Definition of the inertia frame which is the same as the body CG.
148
MotionView / MotionSolve Fundamentals
• Create Geometry : Cylinder references points 1 and 2; radius of the cylinder is set to 2
• Save the model, run the analysis and view the motion of the body with HyperGraph and HyperView. The motion of the body can now be animated in HyperView due to the assigned primitive geometry.
III. Initial Condition and Output
• Assign initial conditions (velocity) to the body: 1000 in the positive Vz direction
• Create an “Output” for specific measurements of interest, here displacement of the body
• Save the model, run the analysis and view the motion of the body with HyperGraph and HyperView.
• Create Joint : Location = Point1, Type = Revolute joint, Joint orientation = Global Y-axis
149
MotionView / MotionSolve Fundamentals
• Run the Check Model Utility
Notice that the degrees-of-freedom removed by the joint is 5. The total estimated degrees-of-freedom remaining is 1.
• Save the model, run the analysis and view the motion of the body with HyperGraph and HyperView.
The near the top in the output/log file can read:
“total number of independent coordinates = 1”, which means that MotionSolve
will use a dynamic analysis to compute the time-evolution of this mechanical system.
150
MotionView / MotionSolve Fundamentals
• Create a motion and run a kinematic analysis
The previous model had one degree of freedom, which means it was a dynamic model. Next, set this model up as a kinematic model in which there are no remaining DOF’s. For this, we use a motion. A motion is similar to a joint in that it is a constraint that affects DOF’s, however, motions are dependent on time.
Also recall: Motions must be connected to joints.
Here: Motion will be of type displacement: `sin(2*pi*time)` applied to the revolution joint.
• Run the Check Model Utility
DOF = 0, indicating that it is a kinematic model
• Save the model, run the analysis and view the motion of the body with HyperGraph and HyperView.
151
MotionView / MotionSolve Fundamentals
Instead of applying a Motion we are now assigning a initial velocity to the revolute joint of 10 Radians per seconddeactivate the motion defined before (in the Model Browser). Make sure that the initial velocity of the body is deactivated as well.
• Save the model, run the analysis and view the motion of the body with HyperGraph and HyperView.
IV. Four-Bar Linkage, Redundant Constraints, Joint Primitives
In the following we will add more points, bodies and three more joints to the model which we built so far in order to create a four-bar mechanism.
Definition: A four-bar linkage, also called a four-bar, is the simplest movable closed chain linkage. It consists of four bodies, called bars or links, connected in a loop by four joints. Generally, the joints are configured so the links move in parallel planes, and the assembly is called a planar four-bar linkage (http://en.wikipedia.org/wiki/Four-bar_linkage)
In the process of creating this, you will also investigate redundant constraints and modify your model to remove them. You will also use a MOTION() function to measure the torque from a motion driving the model and plot this.
• Investigate joint primitives
• Create joints and joint primitives
• Investigate and remove redundant constraints
• Create an Output based on a MOTION function to measure torque of the motion
152
MotionView / MotionSolve Fundamentals
Create additional Points and update existing ones (rename & new coordinates) according to the data listed in the Table below.
Rename Point 0 to Point A, Point 2 to Point C, Point body_cg to Point B
Also, create two more bodies (mass = 1, inertia =1111, dummy values), and assign (implicit) graphics to the new bodies (of type cylinder, radius 2).
Then create 3 more Revolute Joints and finally apply a Motion as shown in the figure below (on Joint 4, with the expression `1*time` (Recall to use the back quotes `).
153
MotionView / MotionSolve Fundamentals
Run Model Check To Check The Model
Tools > Check Model, to check the model.
The estimated DOF for the model is now at -3. The motion created redundant constraints on the model. Each Revolute joint covers 5 degrees of freedom. So 4 joints * 5 dof = 20 dof. Plus there is 1 degree of freedom from a motion. Since there was 18 original degrees of freedom, that leaves -3 for the estimated degrees of freedom.
Moreover, since we know this model should have zero DOF (=kinematic), this means there are redundant constraints in the model.
Running the model and reviewing the LOG file prompts a warning about redundant or over constrained modeling.
Partitioning generalized coordinates...
WARNING: Row Deficiency Detected!
This may indicate a kinematic or over-constrained model. Program will continue with redundant constraints removal.
WARNING: The following redundant constraints were removed: ------------------------------------------------- (1) Joint/301004 : DOT1 between Y of Part/30101 & Z of Part/30104 (2) Joint/301002 : DOT1 between X of Part/30103 & Z of Part/30102 (3) Joint/301002 : SPH_Y between Part/30103 & Part/30102
The message indicates that there are three redundant constraints, but do not identify which joints they belong to, so you will need to go back and investigate your model further to remove them.
Note: Before continuing on with the exercise, go back to your model and consider how to remove the 3 redundant constraints. It is extremely important to understand how the chosen joint constraints the system.
Maybe helpful in this regard is the Joint DOF tables found in the MotionView Joint Panel documentation for assistance.
Help > HyperWorks Desktop > MotionView > MotionView Panels > Joints Panel (also included in this chapter)
154
MotionView / MotionSolve Fundamentals
A possible solution to the above problem (DOF = -3) is to replace a Revolute Joint with an Inline Joint or maybe even with a combination of spherical joint and cylindrical joint ...
2 revolute joints (-10), motion (-1), cylindrical joint (-4), spherical joint (-3)
Tip: Start with the joints which pin the bars to the ground, e.g. revolute joints (-10). The motion takes away another DOF (-1). Now check up the table which lists how many DOFs are removed by which kind of joint ...
3 revolute joints (-15), motion (-1), inline joint (-2)
How does the inline jprim (joint primitiv) fix the redundant constraints in this model?
The inline joint removes 2 translational DOF by constraining two markers (bodies) to move along a line relative to each other (i.e., 1 DOF along the axis that defines this JPRIM). In this model, since each link in the system is already constrained to planar motion by the revolute joints, the inline jprim is only needed to keep a point on the ends of two links in the same location.
Again, understanding how the joints affect the DOF of the system is key!
155
MotionView / MotionSolve Fundamentals
In the video shown below Prakash Pagadala repeats some basic fundamentals by building a four bar mechanism
https://altair-2.wistia.com/medias/9oi8razxei; 22 minutes
156
MotionView / MotionSolve Fundamentals
• Create outputs
(more details about the MOTION command which is used to return the specified component of the force or torque due to the Motion_Joint or Motion_Marker element, are provided earlier in this chapter or see the Help Documentation: Solver--MotioSolve--Motion)
MOTION(id, jflag, comp, RM)
id: The ID of the Motion_Joint or Motion_Marker element.
jflag: jflag equal to 0 or 1 means that forces and moments are reported at the I or J marker, respectively.
comp: 1 - returns the force magnitude.
2 - returns the force x component.
3 - returns the force y component.
4 - returns the force z component.
5 - returns the torque magnitude.
6 - returns the torque x component.
7 - returns the torque y component.
8 - returns the torque z component.
RM: The reference frame in which the components are reported; RM=0 implies the global frame.
Here we will request for the torque component around the Y axis, marker I
157
MotionView / MotionSolve Fundamentals
activate the tab: Properties, and select the idstring of the previously defined Motion.
Delete the other brackets as shown in the image.
Enter 0,7,0 following the comma.
(The first 0 represents the jflag and in this case the forces and moments are reported to the I marker. The 7 returns the torque component around the Y axis. The second 0 implies the Global Reference Frame)
The expression should appear as `MOTION({mot_1.idstring},0,7,0)`
• Save the model, run the analysis and view the motion of the body with HyperGraph.
158
MotionView / MotionSolve Fundamentals
Activate the Statistic icon, and click on to open the Statistics window.
The maximum torque for the analysis is 136.96 N mm.
159
MotionView / MotionSolve Fundamentals
Example: Adding Torques To The Four-Bar Mechanism
In this exercise, you will add a driving torque and a torque to limit the motion of a joint to the four-bar mechanism you have built in previous chapters. You will also compare the results of a kinematic simulation to dynamic simulation to help illustrate their differences.
Build Up A Trunk Lid Mechanism
Four-Bar Mechanism Attached To The Trunk Lid Closer View Of The Four-Bar Mechanism
Schematic Diagram Of The Four-Bar Mechanism
• Add the following points to the existing model:
•
160
MotionView / MotionSolve Fundamentals
We are using the following files in this chapter:
motion_curve.csv, trunk.hm, trunklid.hm, chapter9_exercise_start.mdl
Add new cylinder graphics with radius 2 from (each new graphic is connected to the Parent Body: Body 1)
• E to G
• G to H
• H to I
• Move the CM of Body 1 from Point 4 to Point G.
• Specify a Motion with the definition “Curve” and read in the corresponding data from within the Curve panel (here the curve data are provided).
However, before a curve can be referenced inside the Motion panel, the curve must be defined
Activate the curve panel
Click on in the lower part of the panel
161
MotionView / MotionSolve Fundamentals
• In the Motion panel the Curve needs to be connected to the Revolution Joint 3 (see image above)
• Rename the bodies (see Schematic Diagram Of The Four-Bar Mechanism)
Free Body > Follower
Body 0 > Coupler
Body 1 > Input
• Create outputs
a. Create a Displacement output between Body 1: Input and Body 2: Ground Body.
For Pt on Body 1: Point I and Pt on Body 2: Global Origin point,
Record the displacement on Both points, one relative to the other.
b. Displacement (x-direction) of a particular point G on the input link relative to the global frame (we need to build an Expression); In other words, calculate the X displacement between the markers at the Global Origin and the CM point of input link:
162
MotionView / MotionSolve Fundamentals
To learn more about the Syntax to be used in this Expression, see the Help Documentation --Solver--Motionsolve--DX:
DX(I, J, K)
The DX function computes the X-component of the relative translational displacement of marker I with respect to marker J, as resolved in the coordinate system of marker K. The first argument, marker I, must be specified. The second and third arguments, markers J and K, are optional.
In the Expression Builder we need to activate Motion > DX
then Properties > Bodies/Ground Body/CM > idstring, then comma separated Properties > Bodies/Input/Marker/CM > idstring
Check the mode for any errors (Tools -- Check Model), then save the model.
• Add external graphics and convert a HyperMesh file to an H3D file (here trunk.hm and trunk_lid.hm)
File menu > Import > Geometry > Import CAD or Finite Element Model Only
Connect the new graphics to the Body Input and Body Ground
163
MotionView / MotionSolve Fundamentals
Save the model
Run : perform a kinematic simulation of the mechanism for a simulation time of 4 seconds, with a Print Interval of 0.01.
Review the results in HyperView and HyperGraph
In the HyperGraph plot the magnitude of the displacement of point I relative to the Global Origin is displayed..
164
MotionView / MotionSolve Fundamentals
In the video series below you will learn how to set-up and run a Mass-Spring System (the video series was originally created by our colleagues in Korea and then translated into an English version by Prakash Pagadala).
Part I; 7:12 minutes; https://altair-2.wistia.com/medias/6sh75i9oyn Part II; 7:11 minutes; https://altair-2.wistia.com/medias/28w5c2dpy6
Part III; 7:22 minutes; https://altair-2.wistia.com/medias/59zpq095w5 Part IV; 5:30 minutes; https://altair-2.wistia.com/medias/bqaj6ydhzm
Part V; 6:12 minutes; https://altair-2.wistia.com/medias/2up6uc5u3j