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

void getActiveControllers (std::vector< std::string > &names) override
 Read all active, managed controllers from discovered interfaces. More...
 
moveit_controller_manager::MoveItControllerHandlePtr getControllerHandle (const std::string &name) override
 Find appropriate interface and delegate handle creation. More...
 
void getControllerJoints (const std::string &name, std::vector< std::string > &joints) override
 Find appropriate interface and delegate joints query. More...
 
void getControllersList (std::vector< std::string > &names) override
 Read all managed controllers from discovered interfaces. More...
 
ControllerState getControllerState (const std::string &name) override
 Find appropriate interface and delegate state query. More...
 
bool switchControllers (const std::vector< std::string > &activate, const std::vector< std::string > &deactivate) override
 delegates switch to all known interfaces. Stops on 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 406 of file controller_manager_plugin.cpp.

Member Typedef Documentation

◆ ControllerManagersMap

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

Definition at line 408 of file controller_manager_plugin.cpp.

Member Function Documentation

◆ discover()

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 417 of file controller_manager_plugin.cpp.

◆ getActiveControllers()

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

Read all active, managed controllers from discovered interfaces.

Parameters
names

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 502 of file controller_manager_plugin.cpp.

◆ getControllerHandle()

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

Find appropriate interface and delegate handle creation.

Parameters
name
Returns
handle

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 469 of file controller_manager_plugin.cpp.

◆ getControllerJoints()

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

Find appropriate interface and delegate joints query.

Parameters
name
joints

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 519 of file controller_manager_plugin.cpp.

◆ getControllersList()

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

Read all managed controllers from discovered interfaces.

Parameters
names

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 486 of file controller_manager_plugin.cpp.

◆ getControllerState()

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

Find appropriate interface and delegate state query.

Parameters
name
Returns

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 536 of file controller_manager_plugin.cpp.

◆ getNamespace()

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 / if none is found

Definition at line 455 of file controller_manager_plugin.cpp.

◆ switchControllers()

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

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

Parameters
activate
deactivate
Returns

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 555 of file controller_manager_plugin.cpp.

Member Data Documentation

◆ controller_managers_

ControllerManagersMap moveit_ros_control_interface::MoveItMultiControllerManager::controller_managers_
private

Definition at line 409 of file controller_manager_plugin.cpp.

◆ controller_managers_mutex_

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

Definition at line 411 of file controller_manager_plugin.cpp.

◆ controller_managers_stamp_

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

Definition at line 410 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 Sat May 3 2025 02:28:17