Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
moveit_ros_control_interface::MoveItControllerManager Class Reference

moveit_controller_manager::MoveItControllerManager sub class that interfaces one ros_control controller_manager instance. All services and names are relative to ns_. More...

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

List of all members.

Public Member Functions

virtual void getActiveControllers (std::vector< std::string > &names)
 Refresh controller list and output all active, managed controllers.
virtual
moveit_controller_manager::MoveItControllerHandlePtr 
getControllerHandle (const std::string &name)
 Find and return the pre-allocated handle for the given controller.
virtual void getControllerJoints (const std::string &name, std::vector< std::string > &joints)
 Read resources from cached controller states.
virtual void getControllersList (std::vector< std::string > &names)
 Refresh controller list and output all managed controllers.
virtual ControllerState getControllerState (const std::string &name)
 Refresh controller state and output the state of the given one, only active_ will be set.
 MoveItControllerManager ()
 The default constructor. Reads the namespace from ~ros_control_namespace param and defaults to /.
 MoveItControllerManager (const std::string &ns)
 Configure interface with namespace.
virtual bool switchControllers (const std::vector< std::string > &activate, const std::vector< std::string > &deactivate)
 Filter lists for managed controller and computes switching set. Stopped list might be extended by unsupported controllers that claim needed resources.

Private Types

typedef std::map< std::string,
ControllerHandleAllocatorPtr > 
AllocatorsMap
typedef std::map< std::string,
controller_manager_msgs::ControllerState > 
ControllersMap
typedef std::map< std::string,
moveit_controller_manager::MoveItControllerHandlePtr > 
HandleMap

Private Member Functions

void allocate (const std::string &name, const controller_manager_msgs::ControllerState &controller)
 Allocates a MoveItControllerHandle instance for the given controller Might create allocator object first.
void discover (bool force=false)
 Call list_controllers and populate managed_controllers_ and active_controllers_. Allocates handles if needed. Throttled down to 1 Hz, controllers_mutex_ must be locked externally.
std::string getAbsName (const std::string &name)
 get fully qualified name

Static Private Member Functions

static bool isActive (const controller_manager_msgs::ControllerState &s)
 Check if given controller is active.

Private Attributes

ControllersMap active_controllers_
AllocatorsMap allocators_
boost::mutex controllers_mutex_
ros::Time controllers_stamp_
HandleMap handles_
pluginlib::ClassLoader
< ControllerHandleAllocator
loader_
ControllersMap managed_controllers_
const std::string ns_

Detailed Description

moveit_controller_manager::MoveItControllerManager sub class that interfaces one ros_control controller_manager instance. All services and names are relative to ns_.

Definition at line 83 of file controller_manager_plugin.cpp.


Member Typedef Documentation

typedef std::map<std::string, ControllerHandleAllocatorPtr> moveit_ros_control_interface::MoveItControllerManager::AllocatorsMap [private]

Definition at line 90 of file controller_manager_plugin.cpp.

typedef std::map<std::string, controller_manager_msgs::ControllerState> moveit_ros_control_interface::MoveItControllerManager::ControllersMap [private]

Definition at line 87 of file controller_manager_plugin.cpp.

typedef std::map<std::string, moveit_controller_manager::MoveItControllerHandlePtr> moveit_ros_control_interface::MoveItControllerManager::HandleMap [private]

Definition at line 93 of file controller_manager_plugin.cpp.


Constructor & Destructor Documentation

The default constructor. Reads the namespace from ~ros_control_namespace param and defaults to /.

Reimplemented from moveit_controller_manager::MoveItControllerManager.

Definition at line 193 of file controller_manager_plugin.cpp.

Configure interface with namespace.

Parameters:
nsnamespace of ros_control node (without /controller_manager/)

Definition at line 204 of file controller_manager_plugin.cpp.


Member Function Documentation

void moveit_ros_control_interface::MoveItControllerManager::allocate ( const std::string &  name,
const controller_manager_msgs::ControllerState &  controller 
) [inline, private]

Allocates a MoveItControllerHandle instance for the given controller Might create allocator object first.

Parameters:
namefully qualified name of the controller
controllercontroller information

Definition at line 149 of file controller_manager_plugin.cpp.

void moveit_ros_control_interface::MoveItControllerManager::discover ( bool  force = false) [inline, private]

Call list_controllers and populate managed_controllers_ and active_controllers_. Allocates handles if needed. Throttled down to 1 Hz, controllers_mutex_ must be locked externally.

Parameters:
forceforce rediscover

Definition at line 115 of file controller_manager_plugin.cpp.

std::string moveit_ros_control_interface::MoveItControllerManager::getAbsName ( const std::string &  name) [inline, private]

get fully qualified name

Parameters:
namename to be resolved to an absolute name
Returns:
resolved name

Definition at line 184 of file controller_manager_plugin.cpp.

virtual void moveit_ros_control_interface::MoveItControllerManager::getActiveControllers ( std::vector< std::string > &  names) [inline, virtual]

Refresh controller list and output all active, managed controllers.

Parameters:
[out]nameslist of controllers (with namespace)

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 244 of file controller_manager_plugin.cpp.

virtual moveit_controller_manager::MoveItControllerHandlePtr moveit_ros_control_interface::MoveItControllerManager::getControllerHandle ( const std::string &  name) [inline, virtual]

Find and return the pre-allocated handle for the given controller.

Parameters:
name
Returns:

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 214 of file controller_manager_plugin.cpp.

virtual void moveit_ros_control_interface::MoveItControllerManager::getControllerJoints ( const std::string &  name,
std::vector< std::string > &  joints 
) [inline, virtual]

Read resources from cached controller states.

Parameters:
[in]namename of controller (with namespace)
[out]joints

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 261 of file controller_manager_plugin.cpp.

virtual void moveit_ros_control_interface::MoveItControllerManager::getControllersList ( std::vector< std::string > &  names) [inline, virtual]

Refresh controller list and output all managed controllers.

Parameters:
[out]nameslist of controllers (with namespace)

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 229 of file controller_manager_plugin.cpp.

virtual ControllerState moveit_ros_control_interface::MoveItControllerManager::getControllerState ( const std::string &  name) [inline, virtual]

Refresh controller state and output the state of the given one, only active_ will be set.

Parameters:
[in]namename of controller (with namespace)
Returns:
state

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 280 of file controller_manager_plugin.cpp.

static bool moveit_ros_control_interface::MoveItControllerManager::isActive ( const controller_manager_msgs::ControllerState &  s) [inline, static, private]

Check if given controller is active.

Parameters:
sstate of controller
Returns:
true if controller is active

Definition at line 104 of file controller_manager_plugin.cpp.

virtual bool moveit_ros_control_interface::MoveItControllerManager::switchControllers ( const std::vector< std::string > &  activate,
const std::vector< std::string > &  deactivate 
) [inline, virtual]

Filter lists for managed controller and computes switching set. Stopped list might be extended by unsupported controllers that claim needed resources.

Parameters:
activate
deactivate
Returns:
true if switching succeeded

Implements moveit_controller_manager::MoveItControllerManager.

Definition at line 301 of file controller_manager_plugin.cpp.


Member Data Documentation

Definition at line 89 of file controller_manager_plugin.cpp.

Definition at line 91 of file controller_manager_plugin.cpp.

Definition at line 97 of file controller_manager_plugin.cpp.

Definition at line 96 of file controller_manager_plugin.cpp.

Definition at line 94 of file controller_manager_plugin.cpp.

Definition at line 86 of file controller_manager_plugin.cpp.

Definition at line 88 of file controller_manager_plugin.cpp.

Definition at line 85 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 Mon Jul 24 2017 02:22:38