DefineKinematicPair

DefineKinematicPair[linkage, type, {vars}, {link1, mx1}, {link2, mx2}]
Inserts a type kinematic pair between link1 and link2 into linkage LinkageData. The homogenous transformation is defined between mx1 and mx2 joint markers of link1 and link2 respectively using {vars} joint variable symbols.
DefineKinematicPair[linkage, type, {vars}, {link1, LLRF1}, {link2, LLRF2}, mx]
Inserts a kinematic pair between link1 and link2 into linkage LinkageData. The local reference frames of the links LLRF1 , LLRF2 and the placement of the joint marker mx are specified w.r.t global reference frame.
DefineKinematicPair[linkage, type, {link1, link2}, {a, d, , }]
Inserts a kinematic pair definition to linkage between link1 and link2 links using the {a, d, , } Denavit-Hartenberg parameters.
  • A kinematic pair definition constrains the movement of the two links. This constraintment is defined by pinning local frames onto the two links ( blue- Local Link Reference Frame, red- Joint Markers) and specify the relative movement of these pinned frame with the type
  • type is a String that specifies the type of the kinematic pair. Possible values values are as follows:
Type Joint variable list
"Rotational"{q1}
"Translational"{x}
"Cylindrical"{x,q2}
"Universal"{q1,q2}
"Spherical"{q1,q2,q3}
"Planar"{x,y,q1}
"Fixed"-
  • link1 and link2 arguments are Strings, that specifies the name of the links. They can be specified either as full name or stripped name.
  • All matrix arguments (mx1, mx2, LLRF1,LLRF2,mx) are 4x4 homogeneous transformation matrices.
  • Each joint variable in {vars} should be defined as unique Symbol.
  • The number of joint variables is equal to the relative degree of freedom of type kinematic pair.
  • In case of loop closing kinematic pair definition DefineKinematicPair function calculate loop closure equation and appends to the $LDDerivedParametersB record of linkage.
  • In case of loop closing kinematic pair definition DefineKinematicPair function calculates the relative degree of freedom of the two links. It defines as many loop equation as the relative degree of freedom of the kinematic pair.
  • The loop closure equations stored in the $LDDerivedParametersB record. The loop closure kinematic pair definition will move n variable from the $LDDrivingVariables record into $LDDerivedParametersB record, where n is the number of loop closure equations. This reflects the change in the global degree of freedom of the linkage.
  • In case of the kinematic pair is defined with Denavith-Hartenberg parameters, the LLRF markers of the corresponding links are placed automatically.
  • With the Denavith-Hartenberg scenario only"Rotational" , "Translational" kinematic pair can be defined.
JointNameAutomatic specifies the name of the kinematic pair in $LDStructure record.
JointLimitsAutomaticspecifies any boolean expression that includes the joint variable. If the expression is evaluated true than the joint variables is within its limit.
JointPoseAutomaticAdditional tag for the joint variables that could be used for offsetting the joint variables.
Parameters{}List of the simple parameters used in the kinematic pair's definition ( e.g {l0→10,l1→3} ).
CandidateLoopVariablesAutomaticList of driving variable that will be used as loop variables in case of loop closing kinematic pair definition.
LockingEnabledFalseEnables or disables kinematic pair definition that locks up the mechanism.
AppendLinkGeometryAutomaticControls the genaration of geometric representations of the links in the kinematic pair.
ConstraintEpsilonAutomaticError limit for accepting the constraint equations.
ConstraintWorkingPrecision16Sets the working precision for the generated loop closing constraint equations.
CheckRedundantEquationsFalseEnables/disables the redundant equation checking.
VerboseFalseEnables/disables verbose definition that prints log messages.
SimplifyEquationTrueEnables/disables simplification of generated transformations and loop closing equations.
ParameterInitialGuessAutomaticDefines the initial guesses for loop variables in case of loop closing kinematic pair definition.
Load LinkageDesigner package
In[1]:=
Click for copyable input
Create LinkageData
In[2]:=
Click for copyable input
Out[2]=
Browse the LinkageData object of t1 linkage
In[3]:=
Click for copyable input
Out[3]=
Define a rotational joint
In[4]:=
Click for copyable input
Out[4]=
Browse the LinkageData object of t2 linkage
In[5]:=
Click for copyable input
Out[5]=
RELATED DEMONSTRATIONS