wrapper to add position limiting by joint name to a JointPositionLimiter More...
#include <MotionLimiter.h>
Public Member Functions | |
bool | getLimits (const std::string &jointName, std::pair< double, double > &limits) const |
double | getMaxPosition (const std::string &jointName) const |
bool | getMaxVelocity (const std::string &jointName, double &lim) const |
double | getMinPosition (const std::string &jointName) const |
bool | hasLimits (const std::string &jointName) const |
JointNamePositionLimiter () | |
bool | limit (const std::string &jointName, double &value) const |
bool | limitVelocity (const std::string &jointName, double &value) const |
void | reorderLimits (const std::vector< std::string > &jointNames) |
reorder limits based on joint_name | |
void | setJointPositionLimiter (boost::shared_ptr< JointPositionLimiter > positionLimiter_in) |
void | setLimits (const std::vector< std::string > &jointNames, const std::vector< double > &minPositionArray_in, const std::vector< double > &maxPositionArray_in, const std::vector< double > &maxVelocityArray_in) |
set limits based on joint_name | |
virtual | ~JointNamePositionLimiter () |
Private Member Functions | |
JointNamePositionLimiter (const JointNamePositionLimiter &) | |
Private Attributes | |
std::map< std::string, unsigned int > | jointLimitIndices |
std::vector< std::string > | joints |
boost::shared_ptr < JointPositionLimiter > | positionLimiter |
wrapper to add position limiting by joint name to a JointPositionLimiter
Definition at line 124 of file MotionLimiter.h.
JointNamePositionLimiter::JointNamePositionLimiter | ( | ) | [inline] |
Definition at line 127 of file MotionLimiter.h.
virtual JointNamePositionLimiter::~JointNamePositionLimiter | ( | ) | [inline, virtual] |
Definition at line 128 of file MotionLimiter.h.
JointNamePositionLimiter::JointNamePositionLimiter | ( | const JointNamePositionLimiter & | ) | [inline, private] |
Definition at line 162 of file MotionLimiter.h.
bool JointNamePositionLimiter::getLimits | ( | const std::string & | jointName, |
std::pair< double, double > & | limits | ||
) | const |
Definition at line 231 of file MotionLimiter.cpp.
double JointNamePositionLimiter::getMaxPosition | ( | const std::string & | jointName | ) | const |
Definition at line 201 of file MotionLimiter.cpp.
bool JointNamePositionLimiter::getMaxVelocity | ( | const std::string & | jointName, |
double & | lim | ||
) | const |
Definition at line 216 of file MotionLimiter.cpp.
double JointNamePositionLimiter::getMinPosition | ( | const std::string & | jointName | ) | const |
Definition at line 186 of file MotionLimiter.cpp.
bool JointNamePositionLimiter::hasLimits | ( | const std::string & | jointName | ) | const [inline] |
Definition at line 152 of file MotionLimiter.h.
bool JointNamePositionLimiter::limit | ( | const std::string & | jointName, |
double & | value | ||
) | const |
Definition at line 247 of file MotionLimiter.cpp.
bool JointNamePositionLimiter::limitVelocity | ( | const std::string & | jointName, |
double & | value | ||
) | const |
Definition at line 274 of file MotionLimiter.cpp.
void JointNamePositionLimiter::reorderLimits | ( | const std::vector< std::string > & | jointNames | ) |
reorder limits based on joint_name
jointNames | vector of joint names |
reorders the array of of jointlimits to match the order in jointNames
do we need to do anything?
first collect the limits specified by jointNames
add any others that were in the map
Definition at line 129 of file MotionLimiter.cpp.
void JointNamePositionLimiter::setJointPositionLimiter | ( | boost::shared_ptr< JointPositionLimiter > | positionLimiter_in | ) | [inline] |
Definition at line 130 of file MotionLimiter.h.
void JointNamePositionLimiter::setLimits | ( | const std::vector< std::string > & | jointNames, |
const std::vector< double > & | minPositionArray_in, | ||
const std::vector< double > & | maxPositionArray_in, | ||
const std::vector< double > & | maxVelocityArray_in | ||
) |
set limits based on joint_name
jointNames | vector of joint names |
limArray_in | vector of joint limits |
logic | error jointNames and limArray_in have different lengths |
Definition at line 102 of file MotionLimiter.cpp.
std::map<std::string, unsigned int> JointNamePositionLimiter::jointLimitIndices [private] |
Definition at line 165 of file MotionLimiter.h.
std::vector<std::string> JointNamePositionLimiter::joints [private] |
Definition at line 167 of file MotionLimiter.h.
boost::shared_ptr<JointPositionLimiter> JointNamePositionLimiter::positionLimiter [private] |
Definition at line 163 of file MotionLimiter.h.