A universal joint constrains all 3 translations and 1 rotation. More...
#include <dynJoint.h>
Public Member Functions | |
virtual void | getConstraints (char *c) |
Allows rotation around two axes. | |
virtual transf | getNextTrans () |
virtual int | getNumConstraints () |
virtual transf | getPrevTrans () |
virtual DynamicJointT | getType () |
Returns the type of this dynamic joint. | |
UniversalDynJoint (Joint *j1, Joint *j2, DynamicBody *pLink, DynamicBody *nLink, const transf &pFrame=transf::IDENTITY, const transf &nFrame=transf::IDENTITY) | |
virtual void | updateValues () |
Private Attributes | |
Joint * | joint1 |
Revolute joint connected to the end of the prevLink. | |
Joint * | joint2 |
Revolute joint connected to the start of the nextLink. |
A universal joint constrains all 3 translations and 1 rotation.
A universal joint consits of two co-located revolute joints with perpendicular axes. It constrains the relative translational motion between the two connected links as well as relative rotations about an axis perpendicular to the two joint axes.
Definition at line 211 of file dynJoint.h.
UniversalDynJoint::UniversalDynJoint | ( | Joint * | j1, | |
Joint * | j2, | |||
DynamicBody * | pLink, | |||
DynamicBody * | nLink, | |||
const transf & | pFrame = transf::IDENTITY , |
|||
const transf & | nFrame = transf::IDENTITY | |||
) | [inline] |
Initializes the class with pointers and transfroms of the two links connected to this joint. It also requires a pointer to the 2 joints in the kinematic chain that this dynJoint is associated with.
Definition at line 226 of file dynJoint.h.
virtual void UniversalDynJoint::getConstraints | ( | char * | c | ) | [inline, virtual] |
transf UniversalDynJoint::getNextTrans | ( | ) | [virtual] |
Returns the transform from the next link to the coordinate system of this joint
Implements DynJoint.
Definition at line 335 of file dynJoint.cpp.
virtual int UniversalDynJoint::getNumConstraints | ( | ) | [inline, virtual] |
Returns the number of constrained DOF's for this joint.
Implements DynJoint.
Definition at line 231 of file dynJoint.h.
transf UniversalDynJoint::getPrevTrans | ( | ) | [virtual] |
Returns the transform from the previous link to the coordinate system of this joint
Implements DynJoint.
Definition at line 329 of file dynJoint.cpp.
virtual DynamicJointT UniversalDynJoint::getType | ( | ) | [inline, virtual] |
Returns the type of this dynamic joint.
Implements DynJoint.
Definition at line 245 of file dynJoint.h.
void UniversalDynJoint::updateValues | ( | ) | [virtual] |
After a timestep has been completed, this computes the current joint angles and velocities from the relative positions and velocities of the connected links.
Implements DynJoint.
Definition at line 272 of file dynJoint.cpp.
Joint* UniversalDynJoint::joint1 [private] |
Revolute joint connected to the end of the prevLink.
Definition at line 214 of file dynJoint.h.
Joint* UniversalDynJoint::joint2 [private] |
Revolute joint connected to the start of the nextLink.
Definition at line 217 of file dynJoint.h.