WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
warptwin::Joint Class Reference

Joint class defining relationship between frames. More...

#include <Joint.h>

Public Member Functions

 Joint ()
 Default constructor for the joint object.
 Joint (joint_type_e joint_type)
 Constructor to set joint type.
 Joint (bool x_free, bool y_free, bool z_free)
 Constructor to set free axes on the joint for the object.
void setFreeAxes (bool x_free, bool y_free, bool z_free)
 Function to set the axes free on this joint.
void setJointType (joint_type_e joint_type)
 Function to set the joint type.
const clockwerk::Matrix< 3, 3 > & freedom () const
 Functions to return freedom or dependency matrix.
const clockwerk::Matrix< 3, 3 > & dependency () const
warptwin::joint_type_e jointType () const
 Getter/setter for joint type.
void jointType (joint_type_e joint_type)

Protected Attributes

joint_type_e _joint_type
clockwerk::Matrix< 3, 3 > _freedom
 Freedom and dependency matrix.
clockwerk::Matrix< 3, 3 > _dependency

Detailed Description

Joint class defining relationship between frames.

The joint class defines the relationship between a frame and its parent for a given motion type (translational or rotational). It defines two matrices: the freedom matrix, which defines whether each axis is a degree of freedom, and the dependency matrix, which is the opposite of the freedom matrix defined as D = I - F.

For now, the joint class is assumed to be fully free or fully locked for simplicity. Updating to reflect configurable degrees of freedom is a TODO

Constructor & Destructor Documentation

◆ Joint() [1/3]

warptwin::Joint::Joint ( )

Default constructor for the joint object.

Note
Assumes fully locked by default

◆ Joint() [2/3]

warptwin::Joint::Joint ( joint_type_e joint_type)

Constructor to set joint type.

Parameters
joint_typeThe type of joint to use

◆ Joint() [3/3]

warptwin::Joint::Joint ( bool x_free,
bool y_free,
bool z_free )

Constructor to set free axes on the joint for the object.

Parameters
x_freeBool indicating whether x should be a degree of freedom (true)
y_freeBool indicating whether y should be a degree of freedom (true)
z_freeBool indicating whether z should be a degree of freedom (true)

Member Function Documentation

◆ dependency()

const clockwerk::Matrix< 3, 3 > & warptwin::Joint::dependency ( ) const
inline

◆ freedom()

const clockwerk::Matrix< 3, 3 > & warptwin::Joint::freedom ( ) const
inline

Functions to return freedom or dependency matrix.

◆ jointType() [1/2]

warptwin::joint_type_e warptwin::Joint::jointType ( ) const
inline

Getter/setter for joint type.

◆ jointType() [2/2]

void warptwin::Joint::jointType ( joint_type_e joint_type)
inline

◆ setFreeAxes()

void warptwin::Joint::setFreeAxes ( bool x_free,
bool y_free,
bool z_free )

Function to set the axes free on this joint.

Parameters
x_freeBool indicating whether x should be a degree of freedom (true)
y_freeBool indicating whether y should be a degree of freedom (true)
z_freeBool indicating whether z should be a degree of freedom (true)

◆ setJointType()

void warptwin::Joint::setJointType ( joint_type_e joint_type)

Function to set the joint type.

Parameters
joint_typeThe type of joint to use

Member Data Documentation

◆ _dependency

clockwerk::Matrix<3, 3> warptwin::Joint::_dependency
protected

◆ _freedom

clockwerk::Matrix<3, 3> warptwin::Joint::_freedom
protected

Freedom and dependency matrix.

◆ _joint_type

joint_type_e warptwin::Joint::_joint_type
protected

The documentation for this class was generated from the following files:
  • /Users/mickey/Documents/Projects/warptwin/cpp/src/frames/Joint.h
  • /Users/mickey/Documents/Projects/warptwin/cpp/src/frames/Joint.cpp