Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
moveit_ros_control_interface::MoveItMultiControllerManager Class Reference

MoveItMultiControllerManager discovers all running ros_control node and delegates member function to the corresponding MoveItControllerManager instances. More...

Inheritance diagram for moveit_ros_control_interface::MoveItMultiControllerManager:
Inheritance graph
[legend]

Public Member Functions

virtual void getActiveControllers (std::vector< std::string > &names)
 Read all active, managed controllers from discovered interfaces. More...
 
virtual moveit_controller_manager::MoveItControllerHandlePtr getControllerHandle (const std::string &name)
 Find appropriate interface and delegate handle creation. More...
 
virtual void getControllerJoints (const std::string &name, std::vector< std::string > &joints)
 Find appropriate interface and delegate joints query. More...
 
virtual void getControllersList (std::vector< std::string > &names)
 Read all managed controllers from discovered interfaces. More...
 
virtual ControllerState getControllerState (const std::string &name)
 Find appropriate interface and delegate state query. More...
 
virtual bool switchControllers (const std::vector< std::string > &activate, const std::vector< std::string > &deactivate)
 delegates switch to all known interfaces. Stops of first failing switch. More...
 
- Public Member Functions inherited from moveit_controller_manager::MoveItControllerManager
 MoveItControllerManager ()
 
virtual ~MoveItControllerManager ()
 

Private Types

typedef std::map< std::string, moveit_ros_control_interface::MoveItControllerManagerPtr > ControllerManagersMap
 

Private Member Functions

void discover ()
 Poll ROS master for services and filters all controller_manager/list_controllers instances Throttled down to 1 Hz, controller_managers_mutex_ must be locked externally. More...
 

Static Private Member Functions

static std::string getNamespace (const std::string &name)
 Get namespace (including leading and trailing slashes) from controller name. More...
 

Private Attributes

ControllerManagersMap controller_managers_
 
boost::mutex controller_managers_mutex_
 
ros::Time controller_managers_stamp_
 

Detailed Description

MoveItMultiControllerManager discovers all running ros_control node and delegates member function to the corresponding MoveItControllerManager instances.

Definition at line 404 of file controller_manager_plugin.cpp.

Member Typedef Documentation

typedef std::map<std::string, moveit_ros_control_interface::MoveItControllerManagerPtr> moveit_ros_control_interface::MoveItMultiControllerManager::ControllerManagersMap
private

Definition at line 406 of file controller_manager_plugin.cpp.

Member Function Documentation

void moveit_ros_control_interface::MoveItMultiControllerManager::discover ( )
inlineprivate

Poll ROS master for services and filters all controller_manager/list_controllers instances Throttled down to 1 Hz, controller_managers_mutex_ must be locked externally.

Definition at line 415 of file controller_manager_plugin.cpp.

virtual void moveit_ros_control_interface::MoveItMultiControllerManager::getActiveControllers ( std::vector< std::string > &  names)
inlinevirtual

Read all active, managed controllers from discovered interfaces.

Parameters
names

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 499 of file controller_manager_plugin.cpp.

virtual moveit_controller_manager::MoveItControllerHandlePtr moveit_ros_control_interface::MoveItMultiControllerManager::getControllerHandle ( const std::string &  name)
inlinevirtual

Find appropriate interface and delegate handle creation.

Parameters
name
Returns
handle

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 467 of file controller_manager_plugin.cpp.

virtual void moveit_ros_control_interface::MoveItMultiControllerManager::getControllerJoints ( const std::string &  name,
std::vector< std::string > &  joints 
)
inlinevirtual

Find appropriate interface and delegate joints query.

Parameters
name
joints

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 515 of file controller_manager_plugin.cpp.

virtual void moveit_ros_control_interface::MoveItMultiControllerManager::getControllersList ( std::vector< std::string > &  names)
inlinevirtual

Read all managed controllers from discovered interfaces.

Parameters
names

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 484 of file controller_manager_plugin.cpp.

virtual ControllerState moveit_ros_control_interface::MoveItMultiControllerManager::getControllerState ( const std::string &  name)
inlinevirtual

Find appropriate interface and delegate state query.

Parameters
name
Returns

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 532 of file controller_manager_plugin.cpp.

static std::string moveit_ros_control_interface::MoveItMultiControllerManager::getNamespace ( const std::string &  name)
inlinestaticprivate

Get namespace (including leading and trailing slashes) from controller name.

Parameters
name
Returns
extracted namespace or / is none is found

Definition at line 453 of file controller_manager_plugin.cpp.

virtual bool moveit_ros_control_interface::MoveItMultiControllerManager::switchControllers ( const std::vector< std::string > &  activate,
const std::vector< std::string > &  deactivate 
)
inlinevirtual

delegates switch to all known interfaces. Stops of first failing switch.

Parameters
activate
deactivate
Returns

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 551 of file controller_manager_plugin.cpp.

Member Data Documentation

ControllerManagersMap moveit_ros_control_interface::MoveItMultiControllerManager::controller_managers_
private

Definition at line 407 of file controller_manager_plugin.cpp.

boost::mutex moveit_ros_control_interface::MoveItMultiControllerManager::controller_managers_mutex_
private

Definition at line 409 of file controller_manager_plugin.cpp.

ros::Time moveit_ros_control_interface::MoveItMultiControllerManager::controller_managers_stamp_
private

Definition at line 408 of file controller_manager_plugin.cpp.


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


moveit_ros_control_interface
Author(s): Mathias Lüdtke
autogenerated on Sun Oct 18 2020 13:19:46