MotionView User's Guide

MV-1026: Modeling Curve-to-Curve (CVCV) Higher-Pair Constraint

MV-1026: Modeling Curve-to-Curve (CVCV) Higher-Pair Constraint

Previous topic Next topic No expanding text in this topic  

MV-1026: Modeling Curve-to-Curve (CVCV) Higher-Pair Constraint

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

In this tutorial, you will learn how to:

Model a CVCV (curve-to-curve) joint

A CVCV (curve-to-curve) joint is a higher pair constraint. The constraint consists of a planar curve on one body rolling and sliding on a planar curve on a second body.  The curves are required to be co-planar. This constraint can act as a substitute to contact modeling in many cases where the contact occurs in a plane. One such case is the cam-follower system, in which the follower is in the form of a roller. Instead of modeling the contact between the cam and the follower, we can specify a CVCV constraint between their profiles.

mv1026-01

A cam roller mechanism

In this tutorial, we will model a roller type cam-follower mechanism with the help of a CVCV constraint.

Exercise

Copy the files CamProfile.h3d and CamProfile.csv , located in the mbd_modeling\interactive folder, to your <Working directory>.

Step 1: Creating points.

Let’s start with creating points that will help us locate the bodies and joints that we would like to.  We will define points for center of mass of the bodies and joint locations.

1.Start a new MotionView Session. We will work in the default units (kg, mm, s, N).
2.From the Project Browser right-click on Model and select Add Reference Entity > Point (or right-click the Points icon point-24 on the Model-Reference toolbar).

The Add Point or PointPair dialog is displayed.

3.For Label, enter PivotPoint.
4.Accept the default variable name and click OK.
5.Click on the Properties tab and specify the coordinates as X = 0.0 , Y, = 0.0, and Z = 0.0
6.Follow the same procedure for the points specified in the following table:

Point

X

Y

Z

FollowerShaftCM

0.0

67.5

0.0

FollowerTransJoint

0.0

85.0

0.0

FollowerRevJoint

0.0

30.0

0.0

CamCM

0.0

-14.1604

0.0

Step 2: Creating Bodies.

We will have three bodies apart from the ground body in our model visualization: the cam, the follower shaft and the follower roller.  Pre-specified inertia properties will be used to define the bodies.

1.From the Project Browser right-click on Model and select Add Reference Entity > Body (or right-click the Body icon entityMultibodies-24 on the Model-Reference toolbar).

The Add Body or BodyPair dialog is displayed.

2.For Label, enter Cam and click OK.
3.Right-click on Bodies in the Project Browser and select Add Body to define a second body.

The Add Body or BodyPair dialog is displayed.

4.For Label, enter FollowerShaft and click OK.
5.Right-click on Bodies in the Project Browser and select Add Body to define a third body.

The Add Body or BodyPair dialog is displayed.

6.For Label, enter FollowerRoller and click OK.
7.From the Properties tab, specify the following for the three bodies:

Body

Mass

Ixx

Iyy

Izz

Ixy

Iyz

Izx

Cam

0.1724

59.339

62.6192

121.240

0.0

0.0

0.0

FollowerShaft

0.0072

3.4270

0.0144

3.4270

0.0

0.0

0.0

FollowerRoller

0.0030

0.0251

0.0251

0.0375

0.0

0.0

0.0

8.For the Cam body, under the CM Coordinates tab, check the Use CM Coordsys box.
9.Double click on Point.

The Select a Point dialog is displayed.

-Choose CamCM and click OK.
10.Accept defaults for axes orientation properties.
11.For the FollowerShaft body, under the CM Coordinates tab, check the Use CM Coordsys box.
12.Double click on Point.

The Select a Point dialog is displayed.

-Choose FollowerShaftCM and click OK.
13.Accept defaults for axes orientation properties.
14.For the FollowerRoller body, under the CM Coordinates tab, check the Use CM Coordsys box.
15.Double click on Point.

The Select a Point dialog is displayed.

-Choose FollowerRevJoint and click OK.
16.Accept defaults for axes orientation properties.

Step 3: Creating Joints.

Here, we will define all the necessary joints except the CVCV joint which will be defined as a advanced joint later. We require three joints for the model.  The first of them is the revolute joint between the cam and ground body. The second joint we need is a translational joint between the follower shaft and ground body and the third joint is the revolute joint that connects the roller to the shaft.

1.From the Project Browser right-click on Model and select Add Constraint > Joint (or right-click the Joints icon entityJoints-24 on the Model-Constraint toolbar).

The Add Joint or JointPair dialog is displayed.

2.For Label, enter CamPivot.
3.Select Revolute Joint as the type and click OK.
4.From the Connectivity tab, double-click on Body 1.

The Select a Body dialog is displayed.

-Choose Cam and click OK.
5.From the Connectivity tab, double-click on Body 2.

The Select a Body dialog is displayed.

-Choose Ground Body and click OK.
6.Again from the Connectivity tab, double-click on Point.

The Select a Point dialog is displayed.

-Choose PivotPoint and click OK.
7.For Axis click on the arrow and choose Vector.  Now click on Vector.

The Select a Vector dialog is displayed.

-Choose Global Z and click OK.
8.Right-click on Joints in the Project Browser and select Add Joint to define a second joint.

The Add Joint or JointPair dialog is displayed.

9.For Label, enter FollowerTransJoint.
10.Select Translational Joint as the type and click OK.
11.From the Connectivity tab, double-click on Body 1.

The Select a Body dialog is displayed.

-Choose FollowerShaft and click OK.
12.From the Connectivity tab, double-click on Body 2.

The Select a Body dialog is displayed.

-Choose Ground Body and click OK.
13.Again from the Connectivity tab, double-click on Point.

The Select a Point dialog is displayed.

-Choose FollowerTransJoint and click OK.
14.For Axis, click on the arrow and choose Vector.  Now click on Vector.

The Select a Vector dialog is displayed.

-Choose Global Y and click OK.
15.Right-click on Joints in the Project Browser and select Add Joint to define a third joint.

The Add Joint or JointPair dialog is displayed.

16.For Label, enter FollowerRollerJoint.
17.Select Revolute Joint as the type and click OK.
18.From the Connectivity tab, double-click on Body 1.

The Select a Body dialog is displayed.

-Choose FollowerRoller and click OK.
19.From the Connectivity tab, double-click on Body 2.

The Select a Body dialog is displayed.

-Choose FollowerShaft and click OK.
20.Again from the Connectivity tab, double-click on Point.

The Select a Point dialog is displayed.

-Choose FollowerRevJoint and click OK.
21.For Axis click on the arrow and choose Vector.  Now click on Vector.

The Select a Vector dialog is displayed.

-Choose Global Z and click OK.

Step 4: Creating Markers.

Now, we will define markers required for the definition of the CVCV joint.  We need two markers, one associated with the cam and the other associated with the follower roller.

1.From the Project Browser right-click on Model and select Add Reference Entity > Marker (or right-click the Markers icon entityMarkers-24 on the Model-Reference toolbar).
2.For Label, enter CamMarker and click OK.
3.From the Properties tab, double-click on Body.

The Select a Body dialog is displayed.

-Choose Cam and click OK.
4.From the Properties tab, double-click on Point.

The Select a Point dialog is displayed.

-Choose PivotPoint and click OK.
5.Accept the defaults for axes orientation.
6.Right-click on Markers in the Project Browser and select Add Marker to define a second marker.

The Add Marker or MarkerPair dialog is displayed.

7.For Label, enter FollowerMarker and click OK.
8.From the Properties tab, double-click on Body.

The Select a Body dialog is displayed.

-Choose FollowerRoller and click OK.
9.From the Properties tab, double-click on Point.

The Select a Point dialog is displayed.

-Choose FollowerRevJoint and click OK.
10.Accept the defaults for axes orientation.

Step 5: Creating Graphics.

Graphics for the cam have been provided as an h3d file.  We need to associate the h3d with the cam body defined in our model.  The follower shaft and roller can be represented using primitive graphics.  To make the visualization better, we will also create some graphics for the joints.

1.From the Project Browser right-click on Model and select Add Reference Entity > Graphic (or right-click the Graphics icon entityGraphics-24 on the Model-Reference toolbar).

The Add Graphics or GraphicPair dialog is displayed.

2.For Label, enter Cam.
3.Choose File from the drop-down menu.
4.Click on the browser icon mv-tut_folder_icon and select CamProfile.h3d from the model folder.
5.Click Open and then OK.
6.From the Connectivity tab, double-click on Body.

The Select a Body dialog is displayed.

-Choose Cam and click OK.
7.Right-click on Graphics in the Project Browser and select Add Graphic to define a second graphic.

The Add Graphics or GraphicPair dialog is displayed.

8.For Label, enter FollowerShaft.
9.Choose Cylinder from the drop-down menu and click OK.
10.From the Connectivity tab, double-click on Body.

The Select a Body dialog is displayed.

-Choose FollowerShaft and click OK.
11.Double click on Point.

The Select a Point dialog is displayed.

-Choose FollowerShaftCM and click OK.
12.Click on the arrow below Direction and select the Vector option.
13.Click on Vector.

The Select a Vector dialog is displayed.

-Choose Global Y and click OK.
14.From the Properties tab, specify the following values:

Property

Value

Length

75

Offset

-37.5

Radius 1

2.000

Radius 2

2.000

15.For the Cap properties, choose Cap Both Ends.
16.Right-click on Graphics in the Project Browser and select Add Graphic to define a third graphic.

The Add Graphics or GraphicPair dialog is displayed.

17.For Label, enter FollowerRoller.
18.Choose Cylinder from the drop-down menu and click OK.
19.From the Connectivity tab, double-click on Body.

The Select a Body dialog is displayed.

-Choose FollowerRoller and click OK.
20.Double click on Point.

The Select a Point dialog is displayed.

-Choose FollowerRevJoint and click OK.
21.Click on the arrow below Direction and select the Vector option.
22.Click on Vector.

The Select a Vector dialog is displayed.

-Choose Global Z and click OK.
23.From the Properties tab, specify the following values:

Property

Value

Length

5.0

Offset

-2.5

Radius 1

5.000

Radius 2

5.000

24.For the Cap properties, choose Cap Both Ends.

Next, we will add some joint graphics for better visualization and aesthetics.

1.Right-click on Graphics in the Project Browser and select Add Graphic to define another graphic.

The Add Graphics or GraphicPair dialog is displayed.

2.For Label, enter CamPivotGraphicOne (first graphic to show the cam pivot).
3.Choose Cylinder from the drop-down menu and click OK.
4.From the Connectivity tab, double-click on Body.

The Select a Body dialog is displayed.

-Choose Ground Body and click OK.
5.Double click on Point.

The Select a Point dialog is displayed.

-Choose PivotPoint and click OK.
6.Click on the arrow below Direction and select the Vector option.
7.Click on Vector.

The Select a Vector dialog is displayed.

-Choose Global Z and click OK.
8.From the Properties tab, specify the following values:

Property

Value

Length

7.5

Offset

-3.75

Radius 1

4.000

Radius 2

4.000

9.For the Cap properties, choose Cap Both Ends.
10.Right-click on Graphics in the Project Browser and select Add Graphic to define another graphic.

The Add Graphics or GraphicPair dialog is displayed.

11.For Label, enter CamPivotGraphicTwo (second graphic to show the cam pivot).
12.Choose Cylinder from the drop-down menu and click OK.
13.From the Connectivity tab, double-click on Body.

The Select a Body dialog is displayed.

-Choose Cam and click OK.
14.Double click on Point.

The Select a Point dialog is displayed.

-Choose PivotPoint and click OK.
15.Click on the arrow below Direction and select the Vector option.
16.Click on Vector.

The Select a Vector dialog is displayed.

-Choose Global Z and click OK.
17.From the Properties tab, specify the following values:

Property

Value

Length

7.6

Offset

-3.8

Radius 1

2.000

Radius 2

2.000

18.For the Cap properties, choose Cap Both Ends.

Repeat this process for the FollowerRevJoint and label the graphics as:

-RollerPivotGraphicOne on FollowShaft with a length of 7.5 and radius of 2.

and

-RollerPivotGraphicTwo on FollowRoller with a length of 7.6 and radius of 1.
19.Right-click on Graphics in the Project Browser and select Add Graphic to define another graphic.

The Add Graphics or GraphicPair dialog is displayed.

20.For Label, enter FollowerTransJointGraphic (the graphic for the translational joint).
21.Choose Box from the drop-down menu and click OK.
22.From the Connectivity tab, double-click on Body.

The Select a Body dialog is displayed.

-Choose Ground Body and click OK.
23.For Type, choose Center from the drop-down menu.
24.Double-click on Point.

The Select a Point dialog is displayed.

-Choose FollowerTransJoint and click OK.
25.For axis orientation, use the vector Global Z as the Z-axis and the vector Global X to define the ZX plane.
26.From the Properties tab, specify the following properties:

Property

Value

Length X

15

Length Y

10

Length Z

10

At the end of this step, your model should look like the one shown in the figure below:

mv1026-02a

Step 6: Creating the Curves.

The curves that we will use here are the curves that define the profile of the cam and the roller.  The data for the cam profile curve has been provided in csv format.  Since the roller profile is circular - it can be defined using mathematical expressions.

1.From the Project Browser right-click on Model and select Add Reference Entity > Curve (or right-click the Curves icon entityCurves-24 on the Model-Reference toolbar).

The Add Curve dialog is displayed.

2.For Label, enter CamProfile and click OK.
3.From the Properties tab, use the first drop-down menu to change the curve from 2D Cartesian to 3D Cartesian.
4.From the Properties tab, click on the x radio button.
5.Click on the file browser icon mv-tut_folder_icon and select CamProfile.csv.  Click Open.
6.Choose the properties of the curve as shown in the figure below:

mv1026-03

7.From the Properties tab, click on the y radio button.
8.Click on the file browser icon mv-tut_folder_icon and select CamProfile.csv.  Click Open.
9.Choose the properties of the curve as shown in the figure below:

mv1026-04

10.From the Properties tab, click on the z radio button.
11.Click on the file browser icon mv-tut_folder_icon and select CamProfile.csv.  Click Open.
12.Choose the properties of the curve as shown in the figure below:

mv1026-05

Notice the different column numbers used for the x, y and z properties.

13.From the Properties tab, use the fourth drop-down menu to set the curve type to Closed Curve.
14.Right-click on Curves in the Project Browser and select Add Curve to define another curve.

The Add Curve dialog is displayed.

15.For Label, enter FollowerRollerProfile and click OK.
16.From the Properties tab, use the first drop-down menu to change the curve from 2D Cartesian to 3D Cartesian.
17.From the Properties tab, click on the x radio button.
18.Select Math from the second drop-down menu on the left.
19.Enter 5*sin(2*PI*(0:1:0.01)) in the Expression Builder.
20.From the Properties tab, click on the y radio button.
21.Select Math from the second drop-down menu on the left.
22.Enter 5*cos(2*PI*(0:1:0.01)) in the Expression Builder.
23.From the Properties tab, click on the z radio button.
24.Select Math from the second drop-down menu at the left.
25.Enter 0.0*(0:1:0.01) in the Expression Builder.
26.From the Properties tab, use the fourth drop-down menu to change the curve from Open Curve to Closed Curve.

We now have both of the curves defined.

Step 7: Creating the CVCV Joint.

Now, we will create the CVCV joint.

1.From the Project Browser right-click on Model and select Add Constraint > Advanced Joint (or right-click the Advanced Joints icon entityAdvancedJoints-24 on the Model-Constraint toolbar).

The Add AdvJoint dialog is displayed.

2.For Label, enter CVCV.
3.Choose CurveToCurveJoint from the drop-down menu and click OK.
4.From the Connectivity tab, double-click on Curve 1.

The Select a Curve dialog is displayed.

-Choose CamProfile and click OK.
5.From the Connectivity tab, double-click on Curve 2.

The Select a Curve dialog is displayed.

-Choose FollowerRollerProfile and click OK.
6.From the Connectivity tab, double-click on Ref Marker 1.

The Select a Marker dialog is displayed.

-Choose CamMarker and click OK.
7.Again from the Connectivity tab, double-click on Ref Marker 2.

The Select a Marker dialog is displayed.

-Choose FollowerMarker and click OK.

Step 8: Specifying the Cam Motion.

After we have the topology and constraints specified, we need to provide the cam motion.  The most natural choice here is a uniform motion imposed on the revolute joint.

1.Click  the Project Browser right-click on Model and select Add Constraint > Motions (or right-click the Motions icon entityMotions-24 on the Model-Constraint toolbar).

The Add Motion or MotionPair dialog is displayed.

2.For Label, enter CamMotion and click OK.
3.From the Connectivity tab, double-click on Joint.  Choose CamPivot and click OK.
4.From the Properties tab, specify the properties as `10*TIME`.

mv1026-06

Step 9: Specifying Gravity.

Since our shaft is along the Y-axis, we want the gravity to be in the negative Y direction. To specify this:

1.Click the Forms icon entityForms-24 on the Model-General toolbar.

The Forms panel is displayed.

2.Select Gravity and specify the following values:

Direction

Value

X

0

Y

-9810

Z

0

Step 10: Specifying Output Requests.

We would like to monitor the reaction on CVCV joint since it can help us verify the correctness of our results. This will be discussed in detail towards the end of the tutorial where we will also discuss lift-offs.

1.From the Project Browser right-click on Model and select Add General MDL Entity > Output (or right-click the Outputs icon entityOutputs-24 on the Model-General toolbar).

The Add Output dialog is displayed.

2.For Label, enter CVCV Reaction and click OK.
3.From the Properties tab, choose Expressions from the drop-down menu.
4.Click in the F2 expression box.
5.Click on the mv1025-icon13 button.

The Expression Builder dialog is displayed.

6.Populate the expression as 'CVCV({aj_0.idstring},1,2,0)'.

mv1026-07

7.Click OK.
8.Repeat the process for F3, F4, F6, F7, F8 by changing the third parameter to 3, 4, 6, 7, and 8 accordingly.

The CVCV (id, jflag, comp, ref_marker) function returns the reaction on the CVCV joint:

id

ID of the CVCV joint

jflag

0 gives reaction on the I-marker and 1 on J-marker

comp

component of the reaction

ref_marker

reference marker (0 implies Global Frame)

Step 11: Running the Model.

We have the model defined completely and it is now ready to run.

1.Click the Run icon run-24 on the Model-Main toolbar.

The Run panel is displayed.

2.From the Main tab, specify values as shown below:

mv1026-08

3.Choose the Save and run current model radio button.
4.Click on the browser icon file_open_icon_new_mv and specify a file name of your choice.
5.Click Save.
6.Click the Check Model button check_model_icon_mv on the Model Check toolbar to check the model for errors.
7.To run the model, click the Run button on the panel.

The solver will get invoked here.

Step 12: Viewing the Results.

1.Once the solver has finished its job, the Animate button will be active.  Click on Animate.

The animationStart-24 icon can be used to start the animation, and the animationPause-24 icon can be used to stop/pause the animation.

One would also like to inspect the displacement profile of the follower in this mechanism.  For this, we will plot the Y position of the center of mass of the follower.

2.Use the Page Layout drop-down menu page_window_layout_icon on the Page Controls toolbar to select the three-window layout pageLayout3SplitRight-24.
3.Highlight the lower right window and use the Select application drop-down menu to change the application from MotionView clientMotionView-24 to HyperGraph 2D clientHyperGraph-24.
4.Click the Build Plots plotsCreate-24 icon on the Curves toolbar.
5.Click on the browser icon mv1025-icon24 and load the result.abf file.
6.Make selections for the plot as shown below:

mv1026-09

We are plotting the Y profile of the center of mass of the follower.

7.Click Apply.

The profile for the Y-displacement of the follower should look like the one shown below:

mv1026-10

If we set the X-axis properties to zoom in on one cycle, the profile will look as shown below:

mv1026-11

The profile of the cam has been designed to obtain the above Y-profile for the follower.

Now, we come to the discussion on ‘lift-offs’.  In some cases, the dynamics of the system may cause the follower to lose contact with the cam - this is called ‘lift-off’.  In such cases, modeling the system using a CVCV joint will give us incorrect results.  This is because the CVCV joint constrains the follower point to be always on the curve.  For such cases, contact modeling has to be used.  However one would like to start with a CVCV model whenever applicable,  since modeling a CVCV joint is a lot easier than modeling contact. Given this scenario, the following modeling steps should be followed:

1.Model the system using a CVCV joint.
2.Monitor the CVCV joint reaction. If the reaction on the follower is a ‘pulling’ reaction, it means that 'lift-off' would have occurred and one needs to go for a contact model.  Otherwise, the CVCV model is good enough.

Now, let’s check if our CVCV model is good enough.  For this, we need to plot the reaction profile on the follower roller.  Since the follower is moving along the Y-axis, any negative reaction along the Y-axis is a ‘pulling’ reaction.  So, let’s plot the Y-reaction on the follower roller. For this:

3.Add a new page to the session by clicking on the Add Page icon pageNew-24 .
4.Choose HyperGraph 2D clientHyperGraph-24 and click on Build Plots plotsCreate-24.
5.Click on the browser icon mv1025-icon29 and load the result.abf file.
6.Make selections for the plot as shown below:

mv1026-12

We are plotting the Y profile of the CVCV reaction on the follower roller.

7.Click Apply.

The profile should look like the one shown below:

mv1026-13

If we zoom in on one cycle by scaling the X-axis, the profile looks like this:

mv1026-14

We see that the Y component of the CVCV reaction on the follower is always positive, and hence it is never a ‘pulling’ reaction.  Thus, our CVCV model is good enough to model the dynamics since there is no expected lift-off.

In this tutorial, we learned how to model a CVCV joint and use it to model a cam-follower mechanism.  We also discussed 'lift-offs' and ways of verifying the suitability of a CVCV joint model for modeling the dynamics of a particular system.