wrapper to add motion limiting by joint name to a JointMotionLimiter More...
#include <MotionLimiter.h>
Public Member Functions | |
double | getAccelerationLimit (const std::string &jointName) const |
void | getAllLimits (std::vector< std::string > &jointNames_out, std::vector< double > &velLimits_out, std::vector< double > &accLimits_out) |
double | getVelocityLimit (const std::string &jointName) const |
JointNameMotionLimiter () | |
void | reorderLimits (const std::vector< std::string > &jointNames) |
reorder Motion limits based on joint_name | |
void | setJointMotionLimiter (boost::shared_ptr< JointMotionLimiter > motionLimiter_in) |
void | setLimits (const std::vector< std::string > &jointNames, const std::vector< double > &velLimitArray_in, const std::vector< double > &accLimitArray_in) |
set limits based on joint_name | |
void | setLimits (const std::vector< std::string > &jointNames, double velLim, double accLim) |
set all joint limits for jointNames to the values | |
virtual | ~JointNameMotionLimiter () |
Private Member Functions | |
JointNameMotionLimiter (const JointNamePositionLimiter &) | |
Private Attributes | |
std::vector< double > | accLimits |
std::map< std::string, unsigned int > | jointLimitIndices |
std::map< std::string, std::pair< double, double > > | jointNameLimitMap |
std::vector< std::string > | joints |
boost::shared_ptr < JointMotionLimiter > | motionLimiter |
std::vector< double > | velLimits |
wrapper to add motion limiting by joint name to a JointMotionLimiter
Definition at line 174 of file MotionLimiter.h.
JointNameMotionLimiter::JointNameMotionLimiter | ( | ) | [inline] |
Definition at line 177 of file MotionLimiter.h.
virtual JointNameMotionLimiter::~JointNameMotionLimiter | ( | ) | [inline, virtual] |
Definition at line 178 of file MotionLimiter.h.
JointNameMotionLimiter::JointNameMotionLimiter | ( | const JointNamePositionLimiter & | ) | [inline, private] |
Definition at line 214 of file MotionLimiter.h.
double JointNameMotionLimiter::getAccelerationLimit | ( | const std::string & | jointName | ) | const |
Definition at line 397 of file MotionLimiter.cpp.
void JointNameMotionLimiter::getAllLimits | ( | std::vector< std::string > & | jointNames_out, |
std::vector< double > & | velLimits_out, | ||
std::vector< double > & | accLimits_out | ||
) |
Definition at line 412 of file MotionLimiter.cpp.
double JointNameMotionLimiter::getVelocityLimit | ( | const std::string & | jointName | ) | const |
Definition at line 382 of file MotionLimiter.cpp.
void JointNameMotionLimiter::reorderLimits | ( | const std::vector< std::string > & | jointNames | ) |
reorder Motion 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?
set limits for only those in jointNames
joint limit not there
Definition at line 347 of file MotionLimiter.cpp.
void JointNameMotionLimiter::setJointMotionLimiter | ( | boost::shared_ptr< JointMotionLimiter > | motionLimiter_in | ) | [inline] |
Definition at line 180 of file MotionLimiter.h.
void JointNameMotionLimiter::setLimits | ( | const std::vector< std::string > & | jointNames, |
const std::vector< double > & | velLimitArray_in, | ||
const std::vector< double > & | accLimitArray_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 |
add these to a map to keep settings on other joints
go through map and create vectors of all joint names and limits
Definition at line 303 of file MotionLimiter.cpp.
void JointNameMotionLimiter::setLimits | ( | const std::vector< std::string > & | jointNames, |
double | velLim, | ||
double | accLim | ||
) |
set all joint limits for jointNames to the values
velLim | velocity limit |
accLim | acceleration limit |
Definition at line 340 of file MotionLimiter.cpp.
std::vector<double> JointNameMotionLimiter::accLimits [private] |
Definition at line 221 of file MotionLimiter.h.
std::map<std::string, unsigned int> JointNameMotionLimiter::jointLimitIndices [private] |
Definition at line 217 of file MotionLimiter.h.
std::map<std::string, std::pair<double, double> > JointNameMotionLimiter::jointNameLimitMap [private] |
Definition at line 223 of file MotionLimiter.h.
std::vector<std::string> JointNameMotionLimiter::joints [private] |
Definition at line 219 of file MotionLimiter.h.
boost::shared_ptr<JointMotionLimiter> JointNameMotionLimiter::motionLimiter [private] |
Definition at line 215 of file MotionLimiter.h.
std::vector<double> JointNameMotionLimiter::velLimits [private] |
Definition at line 220 of file MotionLimiter.h.