orwell 0.0.0
orwell::ControllerManager< dof > Class Template Reference

manages available controllers More...

#include <ControllerManager.hpp>

Inheritance diagram for orwell::ControllerManager< dof >:

Public Member Functions

 ControllerManager (const sackmesser::Interface::Ptr &interface, const typename RobotModel< dof >::Ptr &robot_model, const std::string &name="controller_manager")
 loads configuration parameters
 
TorqueController< dof >::Ptr getTorqueController (const std::string &name)
 obtain a specific TorqueController
 
VelocityController< dof >::Ptr getVelocityController (const std::string &name)
 obtain a specific VelocityController
 
PositionController< dof >::Ptr getPositionController (const std::string &name)
 obtain a specific PositionController
 

Detailed Description

template<int dof>
class orwell::ControllerManager< dof >

manages available controllers

Template Parameters
dofnumbers of degrees of freedom of the controlled system

Definition at line 28 of file ParallelController.hpp.

Constructor & Destructor Documentation

◆ ControllerManager()

template<int dof>
orwell::ControllerManager< dof >::ControllerManager ( const sackmesser::Interface::Ptr & interface,
const typename RobotModel< dof >::Ptr & robot_model,
const std::string & name = "controller_manager" )

loads configuration parameters

Parameters
interfaceinterfaces the configuration server
robot_modelRobotModel of the controlled system
nameparameter namespace

Definition at line 32 of file ControllerManager.hxx.

34 : TorqueController<dof>::SharedGroup(interface, name + "/torque_controller"), //
35 VelocityController<dof>::SharedGroup(interface, name + "/velocity_controller"), //
36 PositionController<dof>::SharedGroup(interface, name + "/position_controller"), //
37 robot_model_(robot_model)
38 {
39 TorqueController<dof>::SharedGroup::forEach(
40 [this](typename TorqueController<dof>::Ptr controller) { controller->setRobotModel(robot_model_); });
41
42 VelocityController<dof>::SharedGroup::forEach(
43 [this](typename VelocityController<dof>::Ptr controller) { controller->setRobotModel(robot_model_); });
44 }
std::shared_ptr< TorqueController > Ptr
typedef
std::shared_ptr< VelocityController > Ptr
typedef

References orwell::Controller< dof >::setRobotModel().

Member Function Documentation

◆ getPositionController()

template<int dof>
PositionController< dof >::Ptr orwell::ControllerManager< dof >::getPositionController ( const std::string & name)

obtain a specific PositionController

Parameters
namename of the PositionController
Returns
PositionController

Definition at line 62 of file ControllerManager.hxx.

63 {
64 return PositionController<dof>::SharedGroup::get(name);
65 }

◆ getTorqueController()

template<int dof>
TorqueController< dof >::Ptr orwell::ControllerManager< dof >::getTorqueController ( const std::string & name)

obtain a specific TorqueController

Parameters
namename of the TorqueController
Returns
TorqueController

Definition at line 50 of file ControllerManager.hxx.

51 {
52 return TorqueController<dof>::SharedGroup::get(name);
53 }

◆ getVelocityController()

template<int dof>
VelocityController< dof >::Ptr orwell::ControllerManager< dof >::getVelocityController ( const std::string & name)

obtain a specific VelocityController

Parameters
namename of the VelocityController
Returns
VelocityController

Definition at line 56 of file ControllerManager.hxx.

57 {
58 return VelocityController<dof>::SharedGroup::get(name);
59 }

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