moveit::core::FloatingJointModel Class Reference

A floating joint. More...

`#include <floating_joint_model.h>`

Inheritance diagram for moveit::core::FloatingJointModel: [legend]

Public Member Functions

virtual void computeTransform (const double *joint_values, Eigen::Affine3d &transf) const
Given the joint values for a joint, compute the corresponding transform. More...

virtual void computeVariablePositions (const Eigen::Affine3d &transf, double *joint_values) const
Given the transform generated by joint, compute the corresponding joint values. More...

virtual double distance (const double *values1, const double *values2) const
Compute the distance between two joint states of the same model (represented by the variable values) More...

double distanceRotation (const double *values1, const double *values2) const
Get the distance between the rotation components of two states. More...

double distanceTranslation (const double *values1, const double *values2) const
Get the distance between the translation components of two states. More...

virtual bool enforcePositionBounds (double *values, const Bounds &other_bounds) const
Force the specified values to be inside bounds and normalized. Quaternions are normalized, continuous joints are made between -Pi and Pi. Return true if changes were made. More...

FloatingJointModel (const std::string &name)

double getAngularDistanceWeight () const

virtual double getMaximumExtent (const Bounds &other_bounds) const
Get the extent of the state space (the maximum value distance() can ever report) More...

virtual unsigned int getStateSpaceDimension () const
Get the dimension of the state space that corresponds to this joint. More...

virtual void getVariableDefaultPositions (double *values, const Bounds &other_bounds) const
Provide a default value for the joint given the joint variable bounds. Most joints will use the default implementation provided in this base class, but the quaternion for example needs a different implementation. Enough memory is assumed to be allocated. More...

virtual void getVariableRandomPositions (random_numbers::RandomNumberGenerator &rng, double *values, const Bounds &other_bounds) const
Provide random values for the joint variables (within specified bounds). Enough memory is assumed to be allocated. More...

virtual void getVariableRandomPositionsNearBy (random_numbers::RandomNumberGenerator &rng, double *values, const Bounds &other_bounds, const double *near, const double distance) const
Provide random values for the joint variables (within specified bounds). Enough memory is assumed to be allocated. More...

virtual void interpolate (const double *from, const double *to, const double t, double *state) const
Computes the state that lies at time t in [0, 1] on the segment that connects from state to to state. The memory location of state is not required to be different from the memory of either from or to. More...

bool normalizeRotation (double *values) const

virtual bool satisfiesPositionBounds (const double *values, const Bounds &other_bounds, double margin) const
Check if the set of position values for the variables of this joint are within bounds, up to some margin. More...

void setAngularDistanceWeight (double weight) Public Member Functions inherited from moveit::core::JointModel

Notify this joint that there is another joint that mimics it. More...

Get the link that this joint connects to. There will always be such a link. More...

const std::vector< const JointModel * > & getDescendantJointModels () const
Get all the joint models that descend from this joint, in the kinematic tree. More...

Get all the link models that descend from this joint, in the kinematic tree. More...

double getDistanceFactor () const
Get the factor that should be applied to the value returned by distance() when that value is used in compound distances. More...

double getMaximumExtent () const

const JointModelgetMimic () const
Get the joint this one is mimicking. More...

double getMimicFactor () const
If mimicking a joint, this is the multiplicative factor for that joint's value. More...

double getMimicOffset () const
If mimicking a joint, this is the offset added to that joint's value. More...

const std::vector< const JointModel * > & getMimicRequests () const
The joint models whose values would be modified if the value of this joint changed. More...

const std::string & getName () const
Get the name of the joint. More...

const std::vector< const JointModel * > & getNonFixedDescendantJointModels () const
Get all the non-fixed joint models that descend from this joint, in the kinematic tree. More...

Get the link that this joint connects to. The robot is assumed to start with a joint, so the root joint will return a NULL pointer here. More...

JointType getType () const
Get the type of joint. More...

std::string getTypeName () const
Get the type of joint as a string. More...

bool isPassive () const
Check if this joint is passive. More...

JointModel (const std::string &name)
Construct a joint named name. More...

void setDistanceFactor (double factor)
Set the factor that should be applied to the value returned by distance() when that value is used in compound distances. More...

void setMimic (const JointModel *mimic, double factor, double offset)
Mark this joint as mimicking mimic using factor and offset. More...

void setPassive (bool flag)

virtual ~JointModel ()

const std::vector< std::string > & getVariableNames () const
Get the names of the variables that make up this joint, in the order they appear in corresponding states. For single DOF joints, this will be just the joint name. For multi-DOF joints these will be the joint name followed by "/", followed by the local names of the variables. More...

const std::vector< std::string > & getLocalVariableNames () const
Get the local names of the variable that make up the joint (suffixes that are attached to joint names to construct the variable names). For single DOF joints, this will be empty. More...

bool hasVariable (const std::string &variable) const
Check if a particular variable is known to this joint. More...

std::size_t getVariableCount () const
Get the number of variables that describe this joint. More...

int getFirstVariableIndex () const
Get the index of this joint's first variable within the full robot state. More...

void setFirstVariableIndex (int index)
Set the index of this joint's first variable within the full robot state. More...

int getJointIndex () const
Get the index of this joint within the robot model. More...

void setJointIndex (int index)
Set the index of this joint within the robot model. More...

int getLocalVariableIndex (const std::string &variable) const
Get the index of the variable within this joint. More...

void getVariableDefaultPositions (double *values) const
Provide a default value for the joint given the default joint variable bounds (maintained internally). Most joints will use the default implementation provided in this base class, but the quaternion for example needs a different implementation. Enough memory is assumed to be allocated. More...

void getVariableRandomPositions (random_numbers::RandomNumberGenerator &rng, double *values) const
Provide random values for the joint variables (within default bounds). Enough memory is assumed to be allocated. More...

void getVariableRandomPositionsNearBy (random_numbers::RandomNumberGenerator &rng, double *values, const double *near, const double distance) const
Provide random values for the joint variables (within default bounds). Enough memory is assumed to be allocated. More...

bool satisfiesPositionBounds (const double *values, double margin=0.0) const
Check if the set of values for the variables of this joint are within bounds. More...

bool enforcePositionBounds (double *values) const
Force the specified values to be inside bounds and normalized. Quaternions are normalized, continuous joints are made between -Pi and Pi. Returns true if changes were made. More...

bool satisfiesVelocityBounds (const double *values, double margin=0.0) const
Check if the set of velocities for the variables of this joint are within bounds. More...

virtual bool satisfiesVelocityBounds (const double *values, const Bounds &other_bounds, double margin) const
Check if the set of velocities for the variables of this joint are within bounds, up to some margin. More...

bool enforceVelocityBounds (double *values) const
Force the specified velocities to be within bounds. Return true if changes were made. More...

virtual bool enforceVelocityBounds (double *values, const Bounds &other_bounds) const
Force the specified velocities to be inside bounds. Return true if changes were made. More...

const VariableBoundsgetVariableBounds (const std::string &variable) const
Get the bounds for a variable. Throw an exception if the variable was not found. More...

const BoundsgetVariableBounds () const
Get the variable bounds for this joint, in the same order as the names returned by getVariableNames() More...

void setVariableBounds (const std::string &variable, const VariableBounds &bounds)
Set the lower and upper bounds for a variable. Throw an exception if the variable was not found. More...

void setVariableBounds (const std::vector< moveit_msgs::JointLimits > &jlim)
Override joint limits loaded from URDF. Unknown variables are ignored. More...

const std::vector< moveit_msgs::JointLimits > & getVariableBoundsMsg () const
Get the joint limits known to this model, as a message. More...

Private Attributes

double angular_distance_weight_ Public Types inherited from moveit::core::JointModel
typedef std::vector< VariableBoundsBounds
The datatype for the joint bounds. More...

enum  JointType {
UNKNOWN, REVOLUTE, PRISMATIC, PLANAR,
FLOATING, FIXED
}
The different types of joints we support. More... Protected Member Functions inherited from moveit::core::JointModel
void computeVariableBoundsMsg () Protected Attributes inherited from moveit::core::JointModel
The link after this joint. More...

std::vector< const JointModel * > descendant_joint_models_
Pointers to all the joints that follow this one in the kinematic tree (including mimic joints) More...

Pointers to all the links that will be moved if this joint changes value. More...

double distance_factor_
The factor applied to the distance between two joint states. More...

int first_variable_index_
The index of this joint's first variable, in the complete robot state. More...

int joint_index_
Index for this joint in the array of joints of the complete model. More...

std::vector< std::string > local_variable_names_
The local names to use for the variables that make up this joint. More...

const JointModelmimic_
The joint this one mimics (NULL for joints that do not mimic) More...

double mimic_factor_
The offset to the mimic joint. More...

double mimic_offset_
The multiplier to the mimic joint. More...

std::vector< const JointModel * > mimic_requests_
The set of joints that should get a value copied to them when this joint changes. More...

std::string name_
Name of the joint. More...

std::vector< const JointModel * > non_fixed_descendant_joint_models_
Pointers to all the joints that follow this one in the kinematic tree, including mimic joints, but excluding fixed joints. More...

The link before this joint. More...

bool passive_
Specify whether this joint is marked as passive in the SRDF. More...

JointType type_
The type of joint. More...

Bounds variable_bounds_
The bounds for each variable (low, high) in the same order as variable_names_. More...

std::vector< moveit_msgs::JointLimits > variable_bounds_msg_

VariableIndexMap variable_index_map_
Map from variable names to the corresponding index in variable_names_ (indexing makes sense within the JointModel only) More...

std::vector< std::string > variable_names_
The full names to use for the variables that make up this joint. More...

Detailed Description

A floating joint.

Definition at line 47 of file floating_joint_model.h.

Constructor & Destructor Documentation

 moveit::core::FloatingJointModel::FloatingJointModel ( const std::string & name )

Definition at line 48 of file floating_joint_model.cpp.

Member Function Documentation

 void moveit::core::FloatingJointModel::computeTransform ( const double * joint_values, Eigen::Affine3d & transf ) const
virtual

Given the joint values for a joint, compute the corresponding transform.

Implements moveit::core::JointModel.

Definition at line 217 of file floating_joint_model.cpp.

 void moveit::core::FloatingJointModel::computeVariablePositions ( const Eigen::Affine3d & transform, double * joint_values ) const
virtual

Given the transform generated by joint, compute the corresponding joint values.

Implements moveit::core::JointModel.

Definition at line 224 of file floating_joint_model.cpp.

 double moveit::core::FloatingJointModel::distance ( const double * value1, const double * value2 ) const
virtual

Compute the distance between two joint states of the same model (represented by the variable values)

Implements moveit::core::JointModel.

Definition at line 100 of file floating_joint_model.cpp.

 double moveit::core::FloatingJointModel::distanceRotation ( const double * values1, const double * values2 ) const

Get the distance between the rotation components of two states.

Definition at line 113 of file floating_joint_model.cpp.

 double moveit::core::FloatingJointModel::distanceTranslation ( const double * values1, const double * values2 ) const

Get the distance between the translation components of two states.

Definition at line 105 of file floating_joint_model.cpp.

 bool moveit::core::FloatingJointModel::enforcePositionBounds ( double * values, const Bounds & other_bounds ) const
virtual

Force the specified values to be inside bounds and normalized. Quaternions are normalized, continuous joints are made between -Pi and Pi. Return true if changes were made.

Implements moveit::core::JointModel.

Definition at line 198 of file floating_joint_model.cpp.

 double moveit::core::FloatingJointModel::getAngularDistanceWeight ( ) const
inline

Definition at line 69 of file floating_joint_model.h.

 double moveit::core::FloatingJointModel::getMaximumExtent ( const Bounds & other_bounds ) const
virtual

Get the extent of the state space (the maximum value distance() can ever report)

Implements moveit::core::JointModel.

Definition at line 92 of file floating_joint_model.cpp.

 unsigned int moveit::core::FloatingJointModel::getStateSpaceDimension ( ) const
virtual

Get the dimension of the state space that corresponds to this joint.

Implements moveit::core::JointModel.

Definition at line 193 of file floating_joint_model.cpp.

 void moveit::core::FloatingJointModel::getVariableDefaultPositions ( double * values, const Bounds & other_bounds ) const
virtual

Provide a default value for the joint given the joint variable bounds. Most joints will use the default implementation provided in this base class, but the quaternion for example needs a different implementation. Enough memory is assumed to be allocated.

Implements moveit::core::JointModel.

Definition at line 236 of file floating_joint_model.cpp.

 void moveit::core::FloatingJointModel::getVariableRandomPositions ( random_numbers::RandomNumberGenerator & rng, double * values, const Bounds & other_bounds ) const
virtual

Provide random values for the joint variables (within specified bounds). Enough memory is assumed to be allocated.

Implements moveit::core::JointModel.

Definition at line 253 of file floating_joint_model.cpp.

 void moveit::core::FloatingJointModel::getVariableRandomPositionsNearBy ( random_numbers::RandomNumberGenerator & rng, double * values, const Bounds & other_bounds, const double * near, const double distance ) const
virtual

Provide random values for the joint variables (within specified bounds). Enough memory is assumed to be allocated.

Implements moveit::core::JointModel.

Definition at line 280 of file floating_joint_model.cpp.

 void moveit::core::FloatingJointModel::interpolate ( const double * from, const double * to, const double t, double * state ) const
virtual

Computes the state that lies at time t in [0, 1] on the segment that connects from state to to state. The memory location of state is not required to be different from the memory of either from or to.

Implements moveit::core::JointModel.

Definition at line 123 of file floating_joint_model.cpp.

 bool moveit::core::FloatingJointModel::normalizeRotation ( double * values ) const

Normalize the quaternion (warn if norm is 0, and set to identity); Return true if any change was made

Definition at line 165 of file floating_joint_model.cpp.

 bool moveit::core::FloatingJointModel::satisfiesPositionBounds ( const double * values, const Bounds & other_bounds, double margin ) const
virtual

Check if the set of position values for the variables of this joint are within bounds, up to some margin.

Implements moveit::core::JointModel.

Definition at line 153 of file floating_joint_model.cpp.

 void moveit::core::FloatingJointModel::setAngularDistanceWeight ( double weight )
inline

Definition at line 74 of file floating_joint_model.h.

Member Data Documentation

 double moveit::core::FloatingJointModel::angular_distance_weight_
private

Definition at line 90 of file floating_joint_model.h.

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

moveit_core
Author(s): Ioan Sucan , Sachin Chitta , Acorn Pooley
autogenerated on Mon Jun 10 2019 14:07:18