moveit2
The MoveIt Motion Planning Framework for ROS 2.
Public Member Functions | Protected Attributes | List of all members
pilz_industrial_motion_planner::JointLimitsContainer Class Reference

Container for JointLimits, essentially a map with convenience functions. Adds the ability to as for limits and get a common limit that unifies all given limits. More...

#include <joint_limits_container.h>

Public Member Functions

bool addLimit (const std::string &joint_name, JointLimit joint_limit)
 Add a limit. More...
 
bool hasLimit (const std::string &joint_name) const
 Check if there is a limit for a joint with the given name in this container. More...
 
size_t getCount () const
 Get Number of limits in the container. More...
 
bool empty () const
 Returns whether the container is empty. More...
 
JointLimit getCommonLimit () const
 Returns joint limit fusion of all(position, velocity, acceleration, deceleration) limits for all joint. There are cases where the most strict limit of all limits is needed. If there are no matching limits, the flag has_[position|velocity|...]_limits is set to false. More...
 
JointLimit getCommonLimit (const std::vector< std::string > &joint_names) const
 Returns joint limit fusion of all(position, velocity, acceleration, deceleration) limits for given joints. There are cases where the most strict limit of all limits is needed. If there are no matching limits, the flag has_[position|velocity|...]_limits is set to false. More...
 
JointLimit getLimit (const std::string &joint_name) const
 getLimit get the limit for the given joint name More...
 
std::map< std::string, JointLimit >::const_iterator begin () const
 ConstIterator to the underlying data structure. More...
 
std::map< std::string, JointLimit >::const_iterator end () const
 ConstIterator to the underlying data structure. More...
 
bool verifyVelocityLimit (const std::string &joint_name, const double &joint_velocity) const
 verify position limit of single joint More...
 
bool verifyPositionLimit (const std::string &joint_name, const double &joint_position) const
 verify position limit of single joint More...
 

Protected Attributes

std::map< std::string, JointLimitcontainer_
 Actual container object containing the data. More...
 

Detailed Description

Container for JointLimits, essentially a map with convenience functions. Adds the ability to as for limits and get a common limit that unifies all given limits.

Definition at line 51 of file joint_limits_container.h.

Member Function Documentation

◆ addLimit()

bool pilz_industrial_motion_planner::JointLimitsContainer::addLimit ( const std::string &  joint_name,
pilz_industrial_motion_planner::JointLimit  joint_limit 
)

Add a limit.

Parameters
joint_nameName if the joint this limit belongs to
joint_limitLimit of the joint
Returns
true if the limit was added, false if joint_limit.has_deceleration_limit && joint_limit.max_deceleration >= 0

Definition at line 45 of file joint_limits_container.cpp.

Here is the caller graph for this function:

◆ begin()

std::map< std::string, JointLimit >::const_iterator pilz_industrial_motion_planner::JointLimitsContainer::begin ( ) const

ConstIterator to the underlying data structure.

Returns

Definition at line 102 of file joint_limits_container.cpp.

◆ empty()

bool pilz_industrial_motion_planner::JointLimitsContainer::empty ( ) const

Returns whether the container is empty.

Returns
true if empty, false otherwise

Definition at line 72 of file joint_limits_container.cpp.

◆ end()

std::map< std::string, JointLimit >::const_iterator pilz_industrial_motion_planner::JointLimitsContainer::end ( ) const

ConstIterator to the underlying data structure.

Returns

Definition at line 107 of file joint_limits_container.cpp.

◆ getCommonLimit() [1/2]

JointLimit pilz_industrial_motion_planner::JointLimitsContainer::getCommonLimit ( ) const

Returns joint limit fusion of all(position, velocity, acceleration, deceleration) limits for all joint. There are cases where the most strict limit of all limits is needed. If there are no matching limits, the flag has_[position|velocity|...]_limits is set to false.

Returns
joint limit

Definition at line 77 of file joint_limits_container.cpp.

Here is the caller graph for this function:

◆ getCommonLimit() [2/2]

JointLimit pilz_industrial_motion_planner::JointLimitsContainer::getCommonLimit ( const std::vector< std::string > &  joint_names) const

Returns joint limit fusion of all(position, velocity, acceleration, deceleration) limits for given joints. There are cases where the most strict limit of all limits is needed. If there are no matching limits, the flag has_[position|velocity|...]_limits is set to false.

Parameters
joint_names
Returns
joint limit
Exceptions
std::out_of_rangeif a joint limit with this name does not exist

Definition at line 87 of file joint_limits_container.cpp.

◆ getCount()

size_t pilz_industrial_motion_planner::JointLimitsContainer::getCount ( ) const

Get Number of limits in the container.

Returns
Number of limits in the container

Definition at line 67 of file joint_limits_container.cpp.

Here is the caller graph for this function:

◆ getLimit()

JointLimit pilz_industrial_motion_planner::JointLimitsContainer::getLimit ( const std::string &  joint_name) const

getLimit get the limit for the given joint name

Parameters
joint_name
Returns
joint limit
Exceptions
std::out_of_rangeif a joint limit with this name does not exist

Definition at line 97 of file joint_limits_container.cpp.

Here is the caller graph for this function:

◆ hasLimit()

bool pilz_industrial_motion_planner::JointLimitsContainer::hasLimit ( const std::string &  joint_name) const

Check if there is a limit for a joint with the given name in this container.

Parameters
joint_nameName of the joint

Definition at line 62 of file joint_limits_container.cpp.

Here is the caller graph for this function:

◆ verifyPositionLimit()

bool pilz_industrial_motion_planner::JointLimitsContainer::verifyPositionLimit ( const std::string &  joint_name,
const double &  joint_position 
) const

verify position limit of single joint

Parameters
joint_name
joint_position
Returns

Definition at line 118 of file joint_limits_container.cpp.

Here is the call graph for this function:

◆ verifyVelocityLimit()

bool pilz_industrial_motion_planner::JointLimitsContainer::verifyVelocityLimit ( const std::string &  joint_name,
const double &  joint_velocity 
) const

verify position limit of single joint

Parameters
joint_name
joint_position
Returns

Definition at line 112 of file joint_limits_container.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ container_

std::map<std::string, JointLimit> pilz_industrial_motion_planner::JointLimitsContainer::container_
protected

Actual container object containing the data.

Definition at line 153 of file joint_limits_container.h.


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