Public Member Functions | Private Attributes
moveit::core::FloatingJointModel Class Reference

A floating joint. More...

#include <floating_joint_model.h>

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

List of all members.

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.
virtual void computeVariablePositions (const Eigen::Affine3d &transf, double *joint_values) const
 Given the transform generated by joint, compute the corresponding joint values.
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)
double distanceRotation (const double *values1, const double *values2) const
 Get the distance between the rotation components of two states.
double distanceTranslation (const double *values1, const double *values2) const
 Get the distance between the translation components of two states.
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.
 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)
virtual unsigned int getStateSpaceDimension () const
 Get the dimension of the state space that corresponds to this joint.
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.
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.
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.
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.
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.
void setAngularDistanceWeight (double weight)

Private Attributes

double angular_distance_weight_

Detailed Description

A floating joint.

Definition at line 47 of file floating_joint_model.h.


Constructor & Destructor Documentation

Definition at line 44 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 218 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 225 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 97 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 110 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 102 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 199 of file floating_joint_model.cpp.

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 89 of file floating_joint_model.cpp.

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

Implements moveit::core::JointModel.

Definition at line 194 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 238 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 255 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 282 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 120 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 166 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 151 of file floating_joint_model.cpp.

Definition at line 74 of file floating_joint_model.h.


Member Data Documentation

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 Jul 24 2017 02:20:44