Skip to main content

ControllerWithRobotModel Class

Declaration​

class moveit_pro_controllers::ControllerWithRobotModel { ... }

Included Headers​

#include <ros2_control_utils.hpp>

Derived Classes​

classJointTrajectoryAdmittanceController
classJointVelocityController
classVelocityForceController

Public Constructors Index​

ControllerWithRobotModel ()=default

Public Member Functions Index​

boolconfigurePlanningGroup (const std::shared_ptr< rclcpp_lifecycle::LifecycleNode > &node, const std::string_view &planning_group_name, bool chain_required=true)
boolconfigureToolFrames (const std::string &controller_name, const std::vector< std::string > &sensor_frames, const std::vector< std::string > &ee_frames)
voidsubscribeToRobotDescription (const std::shared_ptr< rclcpp_lifecycle::LifecycleNode > &node)
tl::expected< void, std::string >loadRobotModel (const std::shared_ptr< rclcpp_lifecycle::LifecycleNode > &node)
voidsetRobotDescription (const std_msgs::msg::String::ConstSharedPtr robot_description)
voidsetRobotDescriptionSemantic (const std_msgs::msg::String::ConstSharedPtr robot_description_semantic)
boolgetJointPositionLimits (const std::vector< std::string > &joint_names, Eigen::VectorNd &lower_position_limits, Eigen::VectorNd &upper_position_limits) const
const moveit_pro::base::RobotModel &getRobotModel () const
const moveit_pro::base::RobotState &getRobotState () const
moveit_pro::base::RobotState &getRobotState ()
const std::string &getPlanningGroupName () const
const std::vector< std::string > &getJointNames () const
std::size_tgetDofCount () const
const moveit_pro::base::JointModelGroup *getJointModelGroup () const
const moveit_pro::base::LinkModel *getBaseLink () const
const moveit_pro::base::LinkModel *getFirstEndEffectorLink () const
std::span< moveit_pro::base::LinkModel const *const >getEndEffectorLinks () const
const moveit_pro::base::LinkModel *getFirstSensorLink () const
std::span< moveit_pro::base::LinkModel const *const >getSensorLinks () const

Private Member Functions Index​

tl::expected< void, std::string >parseRobotDescription (const std::string &robot_description, const std::string &robot_description_semantic)

Private Member Attributes Index​

rclcpp::Subscription< std_msgs::msg::String >::SharedPtrrobot_description_subscription_
rclcpp::Subscription< std_msgs::msg::String >::SharedPtrrobot_description_semantic_subscription_
std::stringrobot_description_
std::stringrobot_description_semantic_
std::mutexrobot_description_mutex_
std::unique_ptr< moveit_pro::base::rdf_loader::RDFLoader >rdf_loader_
std::shared_ptr< moveit_pro::base::RobotModel >robot_model_
std::unique_ptr< moveit_pro::base::RobotState >robot_state_
std::stringplanning_group_name_
std::vector< std::string >joint_names_
std::size_tdof_count_ = 0
const moveit_pro::base::JointModelGroup *joint_model_group_ = nullptr
const moveit_pro::base::LinkModel *base_link_ = nullptr
std::vector< const moveit_pro::base::LinkModel * >ee_links_
std::vector< const moveit_pro::base::LinkModel * >sensor_links_

Public Static Functions Index​

static booldofWithinCapacity (std::size_t dof_count)

Definition at line 180 of file ros2_control_utils.hpp.

Public Constructors​

ControllerWithRobotModel()​

moveit_pro_controllers::ControllerWithRobotModel::ControllerWithRobotModel ()
default

Definition at line 183 of file ros2_control_utils.hpp.

Public Member Functions​

configurePlanningGroup()​

bool moveit_pro_controllers::ControllerWithRobotModel::configurePlanningGroup (const std::shared_ptr< rclcpp_lifecycle::LifecycleNode > & node, const std::string_view & planning_group_name, bool chain_required=true)

Declaration at line 186 of file ros2_control_utils.hpp, definition at line 184 of file ros2_control_utils.cpp.

configureToolFrames()​

bool moveit_pro_controllers::ControllerWithRobotModel::configureToolFrames (const std::string & controller_name, const std::vector< std::string > & sensor_frames, const std::vector< std::string > & ee_frames)

Declaration at line 190 of file ros2_control_utils.hpp, definition at line 253 of file ros2_control_utils.cpp.

getBaseLink()​

const moveit_pro::base::LinkModel * moveit_pro_controllers::ControllerWithRobotModel::getBaseLink ()
inline

Definition at line 256 of file ros2_control_utils.hpp.

getDofCount()​

std::size_t moveit_pro_controllers::ControllerWithRobotModel::getDofCount ()
inline

Definition at line 246 of file ros2_control_utils.hpp.

getEndEffectorLinks()​

std::span< moveit_pro::base::LinkModel const *const > moveit_pro_controllers::ControllerWithRobotModel::getEndEffectorLinks ()
inline

Definition at line 265 of file ros2_control_utils.hpp.

getFirstEndEffectorLink()​

const moveit_pro::base::LinkModel * moveit_pro_controllers::ControllerWithRobotModel::getFirstEndEffectorLink ()
inline

Definition at line 261 of file ros2_control_utils.hpp.

getFirstSensorLink()​

const moveit_pro::base::LinkModel * moveit_pro_controllers::ControllerWithRobotModel::getFirstSensorLink ()
inline

Definition at line 270 of file ros2_control_utils.hpp.

getJointModelGroup()​

const moveit_pro::base::JointModelGroup * moveit_pro_controllers::ControllerWithRobotModel::getJointModelGroup ()
inline

Definition at line 251 of file ros2_control_utils.hpp.

getJointNames()​

const std::vector< std::string > & moveit_pro_controllers::ControllerWithRobotModel::getJointNames ()
inline

Definition at line 240 of file ros2_control_utils.hpp.

getJointPositionLimits()​

bool moveit_pro_controllers::ControllerWithRobotModel::getJointPositionLimits (const std::vector< std::string > & joint_names, Eigen::VectorNd & lower_position_limits, Eigen::VectorNd & upper_position_limits)

Declaration at line 207 of file ros2_control_utils.hpp, definition at line 417 of file ros2_control_utils.cpp.

getPlanningGroupName()​

const std::string & moveit_pro_controllers::ControllerWithRobotModel::getPlanningGroupName ()
inline

Definition at line 234 of file ros2_control_utils.hpp.

getRobotModel()​

const moveit_pro::base::RobotModel & moveit_pro_controllers::ControllerWithRobotModel::getRobotModel ()
inline

Definition at line 217 of file ros2_control_utils.hpp.

getRobotState()​

const moveit_pro::base::RobotState & moveit_pro_controllers::ControllerWithRobotModel::getRobotState ()
inline

Definition at line 224 of file ros2_control_utils.hpp.

getRobotState()​

moveit_pro::base::RobotState & moveit_pro_controllers::ControllerWithRobotModel::getRobotState ()
inline

Definition at line 229 of file ros2_control_utils.hpp.

getSensorLinks()​

std::span< moveit_pro::base::LinkModel const *const > moveit_pro_controllers::ControllerWithRobotModel::getSensorLinks ()
inline

Definition at line 274 of file ros2_control_utils.hpp.

loadRobotModel()​

tl::expected< void, std::string > moveit_pro_controllers::ControllerWithRobotModel::loadRobotModel (const std::shared_ptr< rclcpp_lifecycle::LifecycleNode > & node)

Declaration at line 199 of file ros2_control_utils.hpp, definition at line 352 of file ros2_control_utils.cpp.

setRobotDescription()​

void moveit_pro_controllers::ControllerWithRobotModel::setRobotDescription (const std_msgs::msg::String::ConstSharedPtr robot_description)

Declaration at line 202 of file ros2_control_utils.hpp, definition at line 338 of file ros2_control_utils.cpp.

setRobotDescriptionSemantic()​

void moveit_pro_controllers::ControllerWithRobotModel::setRobotDescriptionSemantic (const std_msgs::msg::String::ConstSharedPtr robot_description_semantic)

Declaration at line 203 of file ros2_control_utils.hpp, definition at line 344 of file ros2_control_utils.cpp.

subscribeToRobotDescription()​

void moveit_pro_controllers::ControllerWithRobotModel::subscribeToRobotDescription (const std::shared_ptr< rclcpp_lifecycle::LifecycleNode > & node)

Declaration at line 194 of file ros2_control_utils.hpp, definition at line 306 of file ros2_control_utils.cpp.

Private Member Functions​

parseRobotDescription()​

tl::expected< void, std::string > moveit_pro_controllers::ControllerWithRobotModel::parseRobotDescription (const std::string & robot_description, const std::string & robot_description_semantic)

Declaration at line 283 of file ros2_control_utils.hpp, definition at line 317 of file ros2_control_utils.cpp.

Private Member Attributes​

base_link_​

const moveit_pro::base::LinkModel* moveit_pro_controllers::ControllerWithRobotModel::base_link_ = nullptr

Definition at line 305 of file ros2_control_utils.hpp.

dof_count_​

std::size_t moveit_pro_controllers::ControllerWithRobotModel::dof_count_ = 0

Definition at line 301 of file ros2_control_utils.hpp.

ee_links_​

std::vector<const moveit_pro::base::LinkModel*> moveit_pro_controllers::ControllerWithRobotModel::ee_links_

Definition at line 306 of file ros2_control_utils.hpp.

joint_model_group_​

const moveit_pro::base::JointModelGroup* moveit_pro_controllers::ControllerWithRobotModel::joint_model_group_ = nullptr

Definition at line 304 of file ros2_control_utils.hpp.

joint_names_​

std::vector<std::string> moveit_pro_controllers::ControllerWithRobotModel::joint_names_

Definition at line 300 of file ros2_control_utils.hpp.

planning_group_name_​

std::string moveit_pro_controllers::ControllerWithRobotModel::planning_group_name_

Definition at line 299 of file ros2_control_utils.hpp.

rdf_loader_​

std::unique_ptr<moveit_pro::base::rdf_loader::RDFLoader> moveit_pro_controllers::ControllerWithRobotModel::rdf_loader_

Definition at line 294 of file ros2_control_utils.hpp.

robot_description_​

std::string moveit_pro_controllers::ControllerWithRobotModel::robot_description_

Definition at line 289 of file ros2_control_utils.hpp.

robot_description_mutex_​

std::mutex moveit_pro_controllers::ControllerWithRobotModel::robot_description_mutex_

Definition at line 291 of file ros2_control_utils.hpp.

robot_description_semantic_​

std::string moveit_pro_controllers::ControllerWithRobotModel::robot_description_semantic_

Definition at line 290 of file ros2_control_utils.hpp.

robot_description_semantic_subscription_​

rclcpp::Subscription<std_msgs::msg::String>::SharedPtr moveit_pro_controllers::ControllerWithRobotModel::robot_description_semantic_subscription_

Definition at line 288 of file ros2_control_utils.hpp.

robot_description_subscription_​

rclcpp::Subscription<std_msgs::msg::String>::SharedPtr moveit_pro_controllers::ControllerWithRobotModel::robot_description_subscription_

Definition at line 287 of file ros2_control_utils.hpp.

robot_model_​

std::shared_ptr<moveit_pro::base::RobotModel> moveit_pro_controllers::ControllerWithRobotModel::robot_model_

Definition at line 295 of file ros2_control_utils.hpp.

robot_state_​

std::unique_ptr<moveit_pro::base::RobotState> moveit_pro_controllers::ControllerWithRobotModel::robot_state_

Definition at line 296 of file ros2_control_utils.hpp.

sensor_links_​

std::vector<const moveit_pro::base::LinkModel*> moveit_pro_controllers::ControllerWithRobotModel::sensor_links_

Definition at line 307 of file ros2_control_utils.hpp.

Public Static Functions​

dofWithinCapacity()​

bool moveit_pro_controllers::ControllerWithRobotModel::dofWithinCapacity (std::size_t dof_count)
static

Declaration at line 214 of file ros2_control_utils.hpp, definition at line 412 of file ros2_control_utils.cpp.


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


Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.