Public Member Functions | Public Attributes | List of all members
RobotDynamics::Joint Struct Reference

Describes a joint relative to the predecessor body. More...

#include <Joint.h>

Public Member Functions

 Joint ()
 
 Joint (JointType type)
 
 Joint (JointType type, int degreesOfFreedom)
 
 Joint (const Joint &joint)
 
 Joint (const JointType joint_type, const Math::Vector3d &joint_axis)
 Constructs a joint from the given cartesian parameters. More...
 
 Joint (const Math::SpatialVector &axis_0)
 Constructs a 1 DoF joint with the given motion subspaces. More...
 
 Joint (const Math::SpatialVector &axis_0, const Math::SpatialVector &axis_1)
 Constructs a 2 DoF joint with the given motion subspaces. More...
 
 Joint (const Math::SpatialVector &axis_0, const Math::SpatialVector &axis_1, const Math::SpatialVector &axis_2)
 Constructs a 3 DoF joint with the given motion subspaces. More...
 
 Joint (const Math::SpatialVector &axis_0, const Math::SpatialVector &axis_1, const Math::SpatialVector &axis_2, const Math::SpatialVector &axis_3)
 Constructs a 4 DoF joint with the given motion subspaces. More...
 
 Joint (const Math::SpatialVector &axis_0, const Math::SpatialVector &axis_1, const Math::SpatialVector &axis_2, const Math::SpatialVector &axis_3, const Math::SpatialVector &axis_4)
 Constructs a 5 DoF joint with the given motion subspaces. More...
 
 Joint (const Math::SpatialVector &axis_0, const Math::SpatialVector &axis_1, const Math::SpatialVector &axis_2, const Math::SpatialVector &axis_3, const Math::SpatialVector &axis_4, const Math::SpatialVector &axis_5)
 Constructs a 6 DoF joint with the given motion subspaces. More...
 
Jointoperator= (const Joint &joint)
 
bool validate_spatial_axis (Math::SpatialVector &axis)
 Checks whether we have pure rotational or translational axis. More...
 
 ~Joint ()
 

Public Attributes

unsigned int custom_joint_index
 
unsigned int mDoFCount
 Number of degrees of freedom of the joint. Note: CustomJoints. More...
 
Math::SpatialVectormJointAxes
 The spatial axes of the joint. More...
 
JointType mJointType
 Type of joint. More...
 
unsigned int q_index
 

Detailed Description

Describes a joint relative to the predecessor body.

Note
The construction of a Joint is NOT a realtime safe procedure, so be sure you are not creating temporary joints at runtime. For maximum performance, you should create all joints at config time and just reference those.

This class contains all information required for one single joint. This contains the joint type and the axis of the joint. See Joint Modeling for detailed description.

Definition at line 228 of file Joint.h.

Constructor & Destructor Documentation

RobotDynamics::Joint::Joint ( )
inline

Definition at line 230 of file Joint.h.

RobotDynamics::Joint::Joint ( JointType  type)
inlineexplicit

Definition at line 234 of file Joint.h.

RobotDynamics::Joint::Joint ( JointType  type,
int  degreesOfFreedom 
)
inline

Definition at line 323 of file Joint.h.

RobotDynamics::Joint::Joint ( const Joint joint)
inline

Definition at line 341 of file Joint.h.

RobotDynamics::Joint::~Joint ( )
inline

Definition at line 375 of file Joint.h.

RobotDynamics::Joint::Joint ( const JointType  joint_type,
const Math::Vector3d joint_axis 
)
inline

Constructs a joint from the given cartesian parameters.

This constructor creates all the required spatial values for the given cartesian parameters.

Parameters
joint_typewhether the joint is revolute or prismatic
joint_axisthe axis of rotation or translation

Definition at line 395 of file Joint.h.

RobotDynamics::Joint::Joint ( const Math::SpatialVector axis_0)
inlineexplicit

Constructs a 1 DoF joint with the given motion subspaces.

The motion subspaces are of the format:

\[ (r_x, r_y, r_z, t_x, t_y, t_z) \]

Note
So far only pure rotations or pure translations are supported.
Parameters
axis_0Motion subspace for axis 0

Definition at line 429 of file Joint.h.

RobotDynamics::Joint::Joint ( const Math::SpatialVector axis_0,
const Math::SpatialVector axis_1 
)
inline

Constructs a 2 DoF joint with the given motion subspaces.

The motion subspaces are of the format:

\[ (r_x, r_y, r_z, t_x, t_y, t_z) \]

Note
So far only pure rotations or pure translations are supported.
Parameters
axis_0Motion subspace for axis 0
axis_1Motion subspace for axis 1

Definition at line 463 of file Joint.h.

RobotDynamics::Joint::Joint ( const Math::SpatialVector axis_0,
const Math::SpatialVector axis_1,
const Math::SpatialVector axis_2 
)
inline

Constructs a 3 DoF joint with the given motion subspaces.

The motion subspaces are of the format:

\[ (r_x, r_y, r_z, t_x, t_y, t_z) \]

Note
So far only pure rotations or pure translations are supported.
Parameters
axis_0Motion subspace for axis 0
axis_1Motion subspace for axis 1
axis_2Motion subspace for axis 2

Definition at line 484 of file Joint.h.

RobotDynamics::Joint::Joint ( const Math::SpatialVector axis_0,
const Math::SpatialVector axis_1,
const Math::SpatialVector axis_2,
const Math::SpatialVector axis_3 
)
inline

Constructs a 4 DoF joint with the given motion subspaces.

The motion subspaces are of the format:

\[ (r_x, r_y, r_z, t_x, t_y, t_z) \]

Note
So far only pure rotations or pure translations are supported.
Parameters
axis_0Motion subspace for axis 0
axis_1Motion subspace for axis 1
axis_2Motion subspace for axis 2
axis_3Motion subspace for axis 3

Definition at line 510 of file Joint.h.

RobotDynamics::Joint::Joint ( const Math::SpatialVector axis_0,
const Math::SpatialVector axis_1,
const Math::SpatialVector axis_2,
const Math::SpatialVector axis_3,
const Math::SpatialVector axis_4 
)
inline

Constructs a 5 DoF joint with the given motion subspaces.

The motion subspaces are of the format:

\[ (r_x, r_y, r_z, t_x, t_y, t_z) \]

Note
So far only pure rotations or pure translations are supported.
Parameters
axis_0Motion subspace for axis 0
axis_1Motion subspace for axis 1
axis_2Motion subspace for axis 2
axis_3Motion subspace for axis 3
axis_4Motion subspace for axis 4

Definition at line 539 of file Joint.h.

RobotDynamics::Joint::Joint ( const Math::SpatialVector axis_0,
const Math::SpatialVector axis_1,
const Math::SpatialVector axis_2,
const Math::SpatialVector axis_3,
const Math::SpatialVector axis_4,
const Math::SpatialVector axis_5 
)
inline

Constructs a 6 DoF joint with the given motion subspaces.

The motion subspaces are of the format:

\[ (r_x, r_y, r_z, t_x, t_y, t_z) \]

Note
So far only pure rotations or pure translations are supported.
Parameters
axis_0Motion subspace for axis 0
axis_1Motion subspace for axis 1
axis_2Motion subspace for axis 2
axis_3Motion subspace for axis 3
axis_4Motion subspace for axis 4
axis_5Motion subspace for axis 5

Definition at line 572 of file Joint.h.

Member Function Documentation

Joint& RobotDynamics::Joint::operator= ( const Joint joint)
inline

Definition at line 351 of file Joint.h.

bool RobotDynamics::Joint::validate_spatial_axis ( Math::SpatialVector axis)
inline

Checks whether we have pure rotational or translational axis.

This function is mainly used to print out warnings when specifying an axis that might not be intended.

Definition at line 598 of file Joint.h.

Member Data Documentation

unsigned int RobotDynamics::Joint::custom_joint_index

Definition at line 635 of file Joint.h.

unsigned int RobotDynamics::Joint::mDoFCount

Number of degrees of freedom of the joint. Note: CustomJoints.

Definition at line 633 of file Joint.h.

Math::SpatialVector* RobotDynamics::Joint::mJointAxes

The spatial axes of the joint.

Definition at line 625 of file Joint.h.

JointType RobotDynamics::Joint::mJointType

Type of joint.

Definition at line 628 of file Joint.h.

unsigned int RobotDynamics::Joint::q_index

Definition at line 634 of file Joint.h.


The documentation for this struct was generated from the following file:


rdl_dynamics
Author(s):
autogenerated on Tue Apr 20 2021 02:25:28