spatial-dyn
Public Types | Public Member Functions | List of all members
spatial_dyn::Joint Class Reference

#include <joint.h>

Public Types

enum class  Type {
  kUndefined , kRx , kRy , kRz ,
  kPx , kPy , kPz
}
 

Public Member Functions

 Joint ()
 
 Joint (Type type)
 
 Joint (const std::string &type)
 
Type type () const
 
void set_type (Type type)
 
bool is_prismatic () const
 
bool is_revolute () const
 
const SpatialMotiondsubspace () const
 
double q_min () const
 
void set_q_min (double q_min)
 
double q_max () const
 
void set_q_max (double q_max)
 
void set_q_limits (double q_min, double q_max)
 
double dq_max () const
 
void set_dq_max (double dq_max)
 
double fq_max () const
 
void set_fq_max (double fq_max)
 
double f_coulomb () const
 
void set_f_coulomb (double f_coulomb)
 
double f_viscous () const
 
void set_f_viscous (double f_viscous)
 
double f_stiction () const
 
void set_f_stiction (double f_stiction)
 
Eigen::Isometry3d T_joint (double q) const
 

Detailed Description

Joint struct for spatial_dyn.

See also
Python: spatialdyn.Joint

Member Enumeration Documentation

◆ Type

Joint types.

Enumerator
kUndefined 

Undefined.

kRx 

Revolute about X.

kRy 

Revolute about Y.

kRz 

Revolute about Z.

kPx 

Prismatic along X.

kPy 

Prismatic along Y.

kPz 

Prismatic along Z.

Constructor & Destructor Documentation

◆ Joint() [1/3]

spatial_dyn::Joint::Joint ( )
inline

Default constructor. Sets joint type to Type::UNDEFINED.

◆ Joint() [2/3]

spatial_dyn::Joint::Joint ( Joint::Type  type)

Constructor that sets the joint type.

Parameters
typeJoint type.

◆ Joint() [3/3]

spatial_dyn::Joint::Joint ( const std::string &  type)

Constructor that sets the joint type from a string.

Valid values: "undefined", "rx", "ry", "rz", "px", "py", "pz".

Parameters
typeJoint type string.
See also
Python: spatialdyn.Joint.__init__()

Member Function Documentation

◆ dq_max()

double spatial_dyn::Joint::dq_max ( ) const
inline
Returns
Maximum joint velocity. Defaults to infinity.
See also
Python: spatialdyn.Joint.dq_max

◆ f_coulomb()

double spatial_dyn::Joint::f_coulomb ( ) const
inline
Returns
Coulomb friction coefficient used as f_coulomb * signum(dq). Defaults to 0.
See also
Python: spatialdyn.Joint.f_coulomb

◆ f_stiction()

double spatial_dyn::Joint::f_stiction ( ) const
inline
Returns
Stiction coefficient. Defaults to 0.
See also
Python: spatialdyn.Joint.f_stiction

◆ f_viscous()

double spatial_dyn::Joint::f_viscous ( ) const
inline
Returns
Viscous friction coefficient used as f_viscous * dq. Defaults to 0.
See also
Python: spatialdyn.Joint.f_viscous

◆ fq_max()

double spatial_dyn::Joint::fq_max ( ) const
inline
Returns
Maximum joint torque. Defaults to infinity.
See also
Python: spatialdyn.Joint.fq_max

◆ is_prismatic()

bool spatial_dyn::Joint::is_prismatic ( ) const
Returns
Boolean indicating whether the joint is prismatic.
See also
Python: spatialdyn.Joint.is_prismatic

◆ is_revolute()

bool spatial_dyn::Joint::is_revolute ( ) const
Returns
Boolean indicating whether the joint is revolute.
See also
Python: spatialdyn.Joint.is_revolute

◆ q_max()

double spatial_dyn::Joint::q_max ( ) const
inline
Returns
Upper joint limit. Defaults to infinity.
See also
Python: spatialdyn.Joint.q_max

◆ q_min()

double spatial_dyn::Joint::q_min ( ) const
inline
Returns
Lower joint limit. Defaults to negative infinity.
See also
Python: spatialdyn.Joint.q_min

◆ set_dq_max()

void spatial_dyn::Joint::set_dq_max ( double  dq_max)

Set the maximum joint velocity. Throws an error if dq_max < 0.

Parameters
dq_maxMaximum joint velocity

◆ set_f_coulomb()

void spatial_dyn::Joint::set_f_coulomb ( double  f_coulomb)

Set the Coulomb friction coefficient. Throws an error if f_coulomb < 0.

Parameters
f_coulombCoulomb friction coefficient.

◆ set_f_stiction()

void spatial_dyn::Joint::set_f_stiction ( double  f_stiction)

Set the stiction coefficient. Throws an error if f_stiction < 0.

Parameters
f_stictionStiction coefficient.

◆ set_f_viscous()

void spatial_dyn::Joint::set_f_viscous ( double  f_viscous)

Set the viscous friction coefficient. Throws an error if f_viscous < 0.

Parameters
f_viscousViscous friction coefficient.

◆ set_fq_max()

void spatial_dyn::Joint::set_fq_max ( double  fq_max)

Set the maximum joint torque. Throws an error if fq_max < 0.

Parameters
fq_maxMaximum joint torque.

◆ set_q_limits()

void spatial_dyn::Joint::set_q_limits ( double  q_min,
double  q_max 
)

Set the lower and upper joint limits. Throws an error if q_min > q_max.

Parameters
q_minLower joint limit.
q_maxUpper joint limit.

◆ set_q_max()

void spatial_dyn::Joint::set_q_max ( double  q_max)

Set the upper joint limit. Throws an error if q_max > q_min.

Parameters
q_maxUpper joint limit.

◆ set_q_min()

void spatial_dyn::Joint::set_q_min ( double  q_min)

Set the lower joint limit. Throws an error if q_min > q_max.

Parameters
q_minLower joint limit.

◆ set_type()

void spatial_dyn::Joint::set_type ( Joint::Type  type)

Set the joint type.

Parameters
typeJoint type.

◆ subspace()

const SpatialMotiond& spatial_dyn::Joint::subspace ( ) const
inline
Returns
Motion subspace spatial vector, determined by the joint type.
See also
Python: spatialdyn.Joint.subspace

◆ T_joint()

Eigen::Isometry3d spatial_dyn::Joint::T_joint ( double  q) const

Compute the transform from the joint frame to its parent rigid body's frame.

Parameters
qJoint position.
Returns
Transform given q.
See also
Python: spatialdyn.Joint.T_joint()

◆ type()

Type spatial_dyn::Joint::type ( ) const
inline
Returns
Joint type.
See also
Python: spatialdyn.Joint.type

The documentation for this class was generated from the following files: