Tjoint Struct Reference Detailed DescriptionConstraints on the relative moments between two links. We store the pointers to the links related by the joint and also their identifiers. This is so because the identifiers are not stored in the links itselfs (they are the indexes of the links as stored in the mechanism). Note that the .world syntax allow to define universal joints. However, we do not have a joint of type universal, since universal joints are two co-punctual revolute joints with orthogonal rotation axes. When we define a universal joint between link1 and link2, we add a ghost link between link1 and link2 with the X axis aligned with the first revolute joint of the universal joint (fixed w.r.t. link1) and the Y axis aligned with the second revolute joint of the universal joint (fixes w.r.t. link2). If we define ranges for the rotations of the universal joint, then the first range refers to the angle between the link1 and the ghost link defined from the joint and the second angle refers to the angle between the ghost link and link2.
Field Documentation
Type of joint: REV_JOINT (revolute joint), PRS_JOINT (prismatic joint), FREE_JOINT (free joint), etc. Definition at line 169 of file joint.h. Referenced by CopyJoint(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateJointSolution(), GetJointDOF(), GetJointDOFName(), GetJointDOFValues(), GetJointName(), GetJointRangeN(), GetJointRangeTopology(), GetJointTransform(), GetJointTransSeq(), GetJointType(), InitJoint(), NewRevLowJoint(), NewRevoluteJoint(), NewRevUpJoint(), NewSphSphLowJoint(), NewSphSphUpJoint(), PrintJoint(), PrintJointAxes(), RegenerateJointBox(), and RegenerateJointSolution().
Unique identifier assigned to the joint. This is used to generate unique names for the variables associated with the joint. Using the names of the links is informative but not enough since we can have several joint between the same couple of links. Definition at line 172 of file joint.h. Referenced by CopyJoint(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateJointSolution(), GetJointID(), GetJointTransSeq(), InitJoint(), RegenerateJointBox(), and RegenerateJointSolution().
Identifiers of the links constrained by the joint. Definition at line 177 of file joint.h. Referenced by CopyJoint(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointSolution(), InitJoint(), JointForceEquation(), JointFromID(), JointToID(), and PrintJointAxes().
Pointers to the links constrained by the joint. Definition at line 178 of file joint.h. Referenced by CopyJoint(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateJointSolution(), GetJointName(), GetJointTransSeq(), InitJoint(), JointForceEquation(), JointFrom(), JointTo(), PrintJoint(), PrintJointAxes(), RegenerateJointBox(), and RegenerateJointSolution().
In general, a joint constraints the relative motion between links stablishing relations between a vector defined in the first link reference frame and a vector defined in the second link reference frame. Definition at line 180 of file joint.h. Referenced by CopyJoint(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GetJointDOFValues(), GetJointPoint(), GetJointTransform(), GetJointTransSeq(), InitJoint(), NewFixJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevoluteJoint(), NewSphericalJoint(), NewUniversalJoint(), PrintJoint(), and PrintJointAxes().
In general, normalized version of the two vectors defined from the points. In this case only 2 vectors are defined. Definition at line 194 of file joint.h. Referenced by CopyJoint(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointSolution(), GetJointDOFValues(), GetJointTransform(), GetJointTransSeq(), InitJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevoluteJoint(), NewUniversalJoint(), and PrintJointAxes().
For IN_PATCH_JOINT the range for the norm of the normal vector to any point in the patch. Not used for other joints. Definition at line 200 of file joint.h. Referenced by CopyJoint(), GenerateJointEquations(), InitJoint(), and NewInPatchJoint().
TRUE if the joint has some limit constraints. Definition at line 203 of file joint.h. Referenced by CopyJoint(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateJointSolution(), GetJointRangeN(), GetJointRangeTopology(), InitJoint(), LimitedJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevoluteJoint(), NewSphericalJoint(), NewUniversalJoint(), and PrintJoint().
Pointer for the joint coupled with this one. This is only not NULL for some revolute joints coupled with the previous joint (revolute too and both joints with limits). Definition at line 204 of file joint.h. Referenced by CopyJoint(), CoupledWith(), GenerateJointRangeEquations(), GetJointDOF(), GetJointDOFValues(), GetJointTransSeq(), InitJoint(), and NewRevoluteJoint().
TRUE if the search process has to be focussed in the center of the valid ranges for the joint Definition at line 208 of file joint.h. Referenced by CopyJoint(), GenerateJointRangeEquations(), InitJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevoluteJoint(), NewSphericalJoint(), NewUniversalJoint(), and PrintJoint().
If avoidLimits is TRUE, this is the strength of the limit avoidance for this joint. Definition at line 210 of file joint.h. Referenced by CopyJoint(), GenerateJointRangeEquations(), InitJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevoluteJoint(), NewSphericalJoint(), and NewUniversalJoint().
Range of valid joint values. Used only if hasLimits is TRUE. Definition at line 212 of file joint.h. Referenced by CopyJoint(), DeleteJoint(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GetJointRange(), GetJointRangeN(), InitJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevoluteJoint(), NewSphericalJoint(), NewUniversalJoint(), and PrintJoint().
For universal joints a second range is used (only if hasLimits is TRUE). Definition at line 213 of file joint.h. Referenced by CopyJoint(), DeleteJoint(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GetJointRangeN(), GetJointSecondRange(), InitJoint(), NewInPatchJoint(), NewUniversalJoint(), and PrintJoint().
Offset for range. Ranges are sometimes zero centered. We store the offset applied to zero-center the ranges to be able to recover the original ranges when necessary. Definition at line 215 of file joint.h. Referenced by CopyJoint(), GetJointRangeN(), InitJoint(), NewRevoluteJoint(), NewSphericalJoint(), and NewUniversalJoint().
Offset for range2. Definition at line 218 of file joint.h. Referenced by CopyJoint(), GetJointRangeN(), InitJoint(), and NewUniversalJoint().
Vectors defining the reference position for rotations, spherical, and universal joints. Definition at line 219 of file joint.h. Referenced by CopyJoint(), GenerateJointRangeEquations(), GenerateJointSolution(), NewRevoluteJoint(), NewSphericalJoint(), NewUniversalJoint(), and PrintJoint().
Transform used to obtain the reference frame of the second link involved in the joint from the first one. In particular this matrix accumulates the constant transforms to be applied before the applying the joint degrees of freedom. Definition at line 222 of file joint.h. Referenced by CopyJoint(), DeleteJoint(), GenerateJointEquations(), GetJointDOFValues(), GetJointTransform(), GetJointTransSeq(), InitJoint(), NewFixJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevLowJoint(), NewRevoluteJoint(), NewRevUpJoint(), NewSphericalJoint(), NewSphSphUpJoint(), NewUniversalJoint(), and PrintJoint().
Transform used to obtain the reference frame of the second link involved in the joint from the first one. In particular this matrix accumulates the constant transforms to be applied after the applying the joint degrees of freedom. Definition at line 226 of file joint.h. Referenced by CopyJoint(), DeleteJoint(), GetJointDOFValues(), GetJointTransform(), GetJointTransSeq(), InitJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevLowJoint(), NewRevoluteJoint(), NewRevUpJoint(), NewSphericalJoint(), and NewUniversalJoint().
Maximum coordinate value used in the joint. Definition at line 230 of file joint.h. Referenced by CopyJoint(), GetJointMaxCoordinate(), InitJoint(), NewFixJoint(), NewFreeJoint(), NewInPatchJoint(), NewPrismaticJoint(), NewRevoluteJoint(), NewSphericalJoint(), and NewUniversalJoint(). |
Follow us!