Higher Pair Constraints

In this tutorial, you will learn how to model point-to-curve (PTCV) and a curve-to-curve (CVCV) joint.

A PTCV (point-to-curve) joint is a higher pair constraint. This constraint restricts a specified point on a body to move along a specified curve on another body. The curve may be open or closed, planar or in three-dimensional space. The point may belong to a rigid, flexible or point body. This constraint can help avoid modeling contact in some systems. It may prove advantageous since proper contact modeling (refer to 3D Mesh to Mesh Contact Simulation) in many cases involves fine-tuning of contact parameters. One good example of such a system is a knife-edge cam follower mechanism. Modeling the contact between the cam and follower can be avoided by defining a PTCV joint, with the curve being the cam profile and the point being the tip of the follower.
Figure 1. A Knife-Edge Cam Follower Mechanism


A CVCV (curve-to-curve) joint is another 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 for 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, a CVCV constraint between their profiles can be specified.
Figure 2. Roller Type Cam-Follower Mechanism


In this tutorial, you will model a roller type cam-follower mechanism first using a PTCV and later a CVCV constraint.

Before you begin, copy the file(s) used in this tutorial to your working directory.

Open and Review Model

In this step, you will review the cam-follower roller model.

  1. Start a new MotionView session.
  2. From the Geometry ribbon, select the Open tool.
    Figure 3.


  3. Browse to your working directory, select CamFollower_start.mdl, and click Open.
    The model opens in the modeling window.
    Figure 4. Model Overview


  4. Review the model. It consists of:
    • A Cam, a FollowerRoller, and a FollowerShaft body
    • A CamPivot joint of type Revolute with Ground Body
    • A FollowerTransJoint, which is a Translation joint connecting FollowerShaft with Ground Body
    • A FollowerRoller joint, which fixes the FollowerRoller to the FollowerShaft
    • A point FollowerPoint at the location where the roller sits on the cam
    • Graphics Cam of type CADGraphics
    • Other graphics and points

Create Markers

In this step, you will create markers for the cam-follower model.

  1. Select the Markers tool in one of the following ways.
    • From the Model Browser, right-click on Model and select Add > Reference Entity > Marker from the context menu.
    • From the Geometry ribbon, select the Markers tool.
      Figure 5.
  2. Create the CamMarker.
    1. From the guide bar, verify that the Body option is selected.
      Figure 6.


    2. From the modeling window, select the Cam body.
    3. From the guide bar, verify that the Origin option is now selected.
      Figure 7.


    4. Pick the Global Origin by clicking anywhere in the modeling window.
    5. From the microdialog, click Create to create the Marker.
    6. From the General section of the marker's Entity Editor, enter CamMarker for Label.
    7. From the Orientation section, accept the default values for the axes.
    8. From the microdialog, click to finish editing the current marker.
  3. Create the FollowerMarker.
    1. From the modeling window, select the FollowerRoller body.
    2. Select the FollowerRevJoint point as the Origin.
      Figure 8.


    3. From the microdialog, click Create to create the Marker.
    4. From the General section of the Entity Editor, enter FollowerMarker for Label.
    5. From the Orientation section, accept the default values for the axes.
    6. From the guide bar, click Cancel to exit the Marker context.

Create Curves

In this step, you will learn how to extract a curve from the Cam graphics and define the follower roller’s curve using a math expression.

  1. Create a Cam curve.
    1. From the Geometry ribbon, select the Line (Surface/Edge) tool from Lines tool group.
      Figure 9.


    2. From the guide bar, verify that the Faces option is selected.
    3. From the modeling window, click on the Cam body’s surface to select its outer edge.
    4. From the guide bar, click the Play button to create the curve.
      The curve is now highlighted in blue, as shown in Figure 10.
      Figure 10. Cam curve created on the cam's periphery


      Note: For the create Curve graphic, two entities are appended to the Model Browser: a graphic entity CurveGraphic used for visualization and a corresponding Curve entity that contains the curve’s point coordinates.
    5. From the Model Browser, select the entity Curve 0 under Model > Curves.
      Figure 11.


    6. From the General section of the Entity Editor, enter CamProfile for Label and press Enter to confirm entry.
    7. From the Attributes section, enter 5 for X Offset and hit Enter to move the curve to the middle of the Cam’s outer surface.
    8. Clear the Polyline check box, which affects the interpolation in between the curve’s points.
      The CamProfile curve is now set.
      Figure 12.


  2. Create the roller curve.
    Note: The roller curve will be created as a circle using the sin and cos functions in the Y-Z plane.
    1. From the Model Browser, select the Model parent system.
    2. From the Model ribbon, select the Spline2D tool from the Splines tool group.
      Figure 13.


    3. From the guide bar, click the Create and Edit button and then click Cancel .
  3. Configure the roller curve.
    1. From the General section of the curve's Entity Editor, enter FollowerRollerProfile for Label.
    2. From the Properties section, click the first drop-down menu and change the Curve type to 3D Cartesian.
    3. Click the fourth drop-down and set Open to Closed curve.
      Figure 14. Set Follower Roller's profile curve properties


    4. Expand the X section of the Properties section, set Data source to Math to define the curve’s X coordinates by a math expression.
    5. Set Expression to 0.0*(0:1:0.01) and hit Enter.
      Note: The default curly braces in the expression can be removed.
    6. Expand the Y section of the Properties section, set Data source to Math.
    7. Set Expression to 15*sin(2*PI*(0:1:0.01)) and hit Enter.
    8. Expand the Z section of the Properties section, set Data source to Math.
    9. Set Expression to 15*cos(2*PI*(0:1:0.01)) and hit Enter.
      Tip: Click the Edit/Show Curve button to inspect the curve’s coordinates.
      Figure 15. Define Follower Roller curve by math expressions


  4. From Geometry ribbon, select the Graphics tool to open the Add CADGraphic dialog.
    Figure 16.


  5. From the Type section of the Add CADGraphic dialog, select Curve from the drop-down menu.
    Note: The title of the Add CADGraphic dialog will change to Add CurveGraphic upon selecting Curve.
  6. Enter FollowerRollerProfile for Label.
    Figure 17.


  7. Click OK to create the FollowerRoller’s curve graphic and exit the dialog.
  8. From the General section of the FollowerRollerProfile curve graphic's Entity Editor, verify type is set to Body/Point.
  9. Click the Ground Body field and select the FollowerRoller by clicking on it in the modeling window or using the Advanced Selector.
  10. Click the Global Origin field and select the FollowerRevJoint point from the modeling window or using the Advanced Selector.
  11. Select the Unresolved field and click to open the Select a curve dialog.
  12. From the Select a curve dialog, select the FollowerRollerProfile curve under Model > Curves.
    Figure 18.


    Figure 19. Cam and FollowerRoller graphic's curves


    The newly created curves now appear in the modeling window.
  13. From the menu bar, click File > Save As > Model and save the file as CamFollower_PTCV.mdl.

Create the PTCV Joint

In this step, you will create the point-to-curve (PTCV) joint.

  1. Enter the Advanced Joints context through one of the following:
    • From the Model Browser, right-click on Model and select Add > Constraint > Advanced Joint.

      OR

    • From the Model ribbon, select the Advanced Joints tool.
      Figure 20.


  2. Create the PointToCurve advanced joint.
    1. From the guide bar, verify that PointToCurve is selected from the drop-down menu.
    2. Verify that Body 1 is highlighted and, from the modeling window, select the FollowerRoller body.
    3. From the guide bar, verify that Origin is now highlighted.
    4. From the modeling window, select FollowerPoint.
      Figure 21.


    5. From the guide bar, verify that Curve is now highlighted.
    6. Click the Advanced Selector next to Curve to open the Select a Curve dialog (or simply click on the graphic in the modeling window).
    7. Select the CamProfile curve under Model > Curves and click OK.
      Figure 22.


    8. From the microdialog, click Create to set up the Advanced Joint.
      The Entity Editor of the Advanced Joint is displayed.
  3. From the Entity Editor, edit the Properties of the PTCV advanced joint.
    1. From the General section, enter PTCV for Label.
    2. Select the Ref Marker collector and click twice on the Advanced Selector to open the Select a Marker dialog.
    3. From the Select a Marker dialog, select CamMarker under Model > Markers and click OK.
    4. From the guide bar, click Cancel to exit the Advanced Joints context.
    Note: Choosing the correct reference markers will cause the automatic selection of the corresponding bodies, as shown in Figure 23.
    Figure 23. Advanced joint Entity Editor selections


Specify the Cam Motion

In this step, you will specify a motion for the cam using an expression.

  1. Enter the Motion context through one of the following:
    • From the Model Browser, right-click on Model and select Add > Constraint > Motion.

      OR

    • From the Model ribbon, select the Motions tool.
      Figure 24.


  2. From the guide bar, verify that the Joint option is selected.
  3. From the modeling window, select the CamPivot joint.
    Figure 25.


  4. From the microdialog, click Create .
  5. From the General section of the Entity Editor, enter CamMotion for Label.
  6. Verify that Property is set to Displacement.
  7. From the Properties section, set Type to Expression and enter `PI*TIME` in the Expression field.
  8. From the guide bar, click Cancel .
    Figure 26. Cam motion Entity Editor parameters


Specify Gravity

In this step, you will specify gravity for the model in the negative Z direction.

  1. From the Geometry ribbon, select the Gravity tool from the Setup group.
    Figure 27.


  2. From the microdialog, verify that the Enabled check box is selected.
  3. Verify X is set to 0.
  4. Verify Y is set to 0.
  5. Verify Z is set to -9810.
    Figure 28.


Specify Output Requests

In this step, you will specify output requests.

  1. Enter the Output context through one of the following:
    • From the Model Browser, right-click on Model and select Add > General MDL Entity > Output.

      OR

    • From the Analyze ribbon, select the Requests tool from the Outputs tool group.
      Figure 29.


  2. From the guide bar, click the Displacement drop-down menu and select Expressions.
  3. Click the Create and Edit icon .
  4. From the General section of the Entity Editor, enter PTCV Reaction for Label.
  5. From the Properties section, select the field next to F2 and click to open the Expression Builder dialog.
  6. From the Expression Builder, enter `PTCV({aj_0.idstring},0,2,0)`.
    Figure 30.


  7. Click OK.
  8. Repeat steps 5 - 7 for F3, F4, F6, F7, and F8 by changing the third parameter in the expression to 3, 4, 6, 7, and 8 accordingly.
    Figure 31.


    Note: The PTCV (id, jflag, comp, ref_marker) function returns the reaction on the PTCV joint:
    id
    ID of the PTCV joint
    jflag
    0 returns reaction on the I-marker and 1 on the J-marker of the joint.
    comp
    Component of the reaction
    1
    Force magnitude
    2
    Force in X
    3
    Force in Y
    4
    Force in Z
    5
    Torque magnitude
    6
    Torque in X
    7
    Torque in Y
    8
    Torque in Z
    ref_marker
    Reference marker (0 implies Global Frame).
  9. Right-click in the empty space of the modeling window and select to exit the Output tool.
  10. Save the model .

Run the Model

The PTCV Cam follower model is ready to solve.

  1. From the Model Browser, select Default Analysis.
  2. From the Analysis Parameter section of the Entity Editor, enter 4 seconds for End Time.
  3. From the Analyze ribbon, select the Check Model tool to check the model for errors.
    Figure 32.


  4. From the Analyze Ribbon, select the Analysis settings tool from the Run tool group to open the Run Motion Analysis dialog.
    Figure 33.


  5. From the Run Motion Analysis dialog, configure the Motion Analysis settings.
    1. Enter CamFollower_PTCV for Run name.
    2. Set Output directory to your <working directory>.
      Figure 34. Run Motion Analysis window


    3. Click Run to initiate a live simulation, the progress of which can be viewed from the Run Status dialog.

View Results

In this step, you will learn how to view the animation and plot the vertical displacement of the follower roller.

  1. Once the solver has finished and the Review Run Results context is active , navigate to the Animation toolbar and click Play to start the animation.
  2. From the Run Status dialog, click Plot to open HyperGraph in a new page.
    The Create Curves by File dialog opens with the result CamFollower_PTCV.abf file pre-selected.
  3. Plot the vertical displacement of the follower roller.
    1. Under Types, select Body.
    2. Under Request, select Part/30103 FollowerRoller.
    3. Under Component, select Z.
    4. Click Plot to plot the Z profile of the center of mass of the follower roller.
    Figure 35. Create Curves by File


  4. Once the plot is created, click Cancel.
    The profile for the Z displacement of the follower is displayed as in Figure 36.
    Figure 36. Follower body Z-displacement plot


Check the Model for Potential Lift-Off

In this step, you will check the cam-follower mechanism for potential lift-off by plotting the Z profile of the PTCV reaction on the follower roller.

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 with a PTCV will give you incorrect results because the joint constrains the follower point to always be on the curve (and hence cannot model lift-offs). For such cases, you must use contact modeling. However, you will want to start with a PTCV model since it is a lot easier than modeling contact. Given this scenario, model the system using a PTCV joint and monitor the PTCV joint reaction. If the reaction on the follower is a ‘pulling’ reaction, this indicates lift-off would have occurred and you must switch to a contact model. Otherwise, the contact model is unnecessary. Now, you will check the model you used in the tutorial. The follower is moving along the Z-axis, so any negative reaction along the Z-axis is a 'pulling' reaction.

  1. From the Page Controls toolbar, click and then to enable a vertical 2 window layout.
    Figure 37.


    Two windows are shown side by side.

  2. Click on the right window to set it as active.
  3. From the Line Chart ribbon, click the Open icon to open the Create Curves by File dialog.
  4. Configure the Create Curves by File dialog settings.
    1. Under Types, select Expressions.
    2. Under Request, select REQ/7000000 PTCV Reaction.
    3. Under Component, select F4.
  5. Click Plot and then Cancel.
    The Z profile of the PTCV reaction on the follower roller is as shown in Figure 38.
    Figure 38. Z profile of the PTCV reaction on the follower roller


    The Z component of the PTCV reaction on the Follower Roller is almost always positive. Therefore, only a very slight tendency for lift-off is evident in the simulation, so the PTCV model is deemed partly acceptable for analyzing this mechanism.

Modify Joint to Enable Follower-Roller Rotation

In this step, you will prepare the model for simulating the cam follower with the CVCV (curve-to-curve) joint.

  1. Return to the MotionView model page.
  2. From the Model Browser, select the FollowerRollerJoint under Model > Joints to display its properties in the Entity Editor.
  3. From the General section of the Entity Editor, set Type to Revolute.
  4. From the Orientation section, verify Method is set to Vector.
  5. Click the Global Z field and then to open the Select a Vector dialog.
  6. From the Select a Vector dialog, select the Global X vector under Model > Vectorsand then click OK.

Create CVCV Joint

In this step, you will create the CVCV (curve-to-curve) joint.

  1. Enter the Advanced Joints guide bar by doing one of the following:
    • From the Model Browser, right-click on Model and select Add > Constraint > Advanced Joint.

      OR

    • From the Model ribbon, select the Advanced Joints tool.
      Figure 39.


  2. From the guide bar, click the PointToCurve drop-down menu and select the CurveToCurve option.
    Figure 40.


  3. From the modeling window, select FollowerRollerProfile for Curve 1.
  4. Select CamProfile for Curve 2.
  5. From the microdialog, click Create to set up the Advanced Joint and open the Entity Editor.
  6. From the General section of the Entity Editor, enter CVCVfor Label.
  7. Click the Global Frame field next to Ref marker 1 and then to open the Select a Marker dialog.
  8. From the Select a Marker dialog, select FollowerMarker under Model > Markers and click OK.
  9. Repeat steps 7 and 8 for Ref marker 2 and select CamMarker instead of FollowerMarker.
  10. From the guide bar, click Cancel to exit the Advanced Joints guide bar.
  11. Create output for CVCV.
    1. From the Model Browser, select PTCV Reaction under Model > Outputs and press Ctrl + C to copy it.
    2. Select the Model system and press Ctrl + V to paste it.
      Output 1 is created under Model > Outputs.
    3. From the Entity Editor, rename Output 1 to CVCV Reaction.
    4. For expressions F2 to F8, change the text PTCV to CVCV and aj_0 to aj_1.
      For instance, F8 expression should read `CVCV({aj_1.idstring},0,8,0)`.
      Figure 41.


  12. Deactivate the PTCV joint and output.
    1. From the Model Browser, select the PTCV advanced joint under Model > Advanced Joints.
    2. From the General section of the Entity Editor, clear the Active check box.
    3. Repeat steps 12.a and 12.b for the PTCV Reaction under Model > Outputs.

Run the Model

In this step, you will run the cam-follower roller model.

  1. From the Model ribbon, select the Check Model tool and check the model for errors.
    Figure 42.


  2. From the Analyze ribbon, select Save to save the model before running the analysis.
    Figure 43.


  3. From the Analyze Ribbon, select the Analysis settings tool from the Run tool group to open the Run Motion Analysis dialog.
    Figure 44.


  4. From the Run Motion Analysis dialog, configure the Motion Analysis settings.
    1. Enter CamFollower_CVCV for Run name.
    2. Set Output directory to your <working directory>.
    3. Click Run to initiate a live simulation, the progress of which can be viewed from the Run Status dialog.

View Results

Review and compare the results.

  1. Once the solver has finished, navigate to the previously created plot window for roller Z displacement in HyperGraph.
  2. Click on the left window to set it as active.
  3. From the Line Chart ribbon, select the Open file icon and, from the Create Curves by File dialog, click next to Choose Data File.
  4. Navigate to your working directory and select the CamFollower_CVCV.abf file.
  5. Plot the Z displacement of the FollowerRoller.
    1. Under Types, select Body.
    2. Under Requests, select Part/30103 FollowerRoller.
    3. Under Components, select Z.
  6. Click the right window to set it as active.
  7. Overlay the reaction force of the CVCV joint with that of the PTCV joint in the other window.
    1. Under Types, select Expressions.
    2. Under Request, select REQ/7000000 PTCV Reaction.
    3. Under Component, select F4.
    Figure 45. Z profile of the PTCV reaction on the follower roller


  8. From the menu bar, click File > Session > Save and save the file as sess_cam_follower.mvw.