| 
    Control Libraries 6.3.4
    
   | 
 
Definition of a dissipative impedance controller (PassiveDS) in task space. More...
#include <Dissipative.hpp>
  
Public Member Functions | |
| Dissipative (const ComputationalSpaceType &computational_space, unsigned int dimensions=6) | |
| Base constructor.  More... | |
| Dissipative (const std::list< std::shared_ptr< state_representation::ParameterInterface > > ¶meters, const ComputationalSpaceType &computational_space, unsigned int dimensions=6) | |
| Constructor from an initial parameter list.  More... | |
| S | compute_command (const S &command_state, const S &feedback_state) override | 
| Compute the force (task space) or torque (joint space) command based on the input state of the system as the error between the desired state and the real state.  More... | |
  Public Member Functions inherited from controllers::impedance::Impedance< S > | |
| Impedance (unsigned int dimensions=6) | |
| Base constructor.  More... | |
| Impedance (const std::list< std::shared_ptr< state_representation::ParameterInterface > > ¶meters, unsigned int dimensions=6) | |
| Constructor from an initial parameter list.  More... | |
| S | compute_command (const S &command_state, const S &feedback_state) override | 
| Compute the command output based on the commanded state and a feedback state To be redefined based on the actual controller implementation.   More... | |
| CartesianState | compute_command (const CartesianState &command_state, const CartesianState &feedback_state) | 
| JointState | compute_command (const JointState &command_state, const JointState &feedback_state) | 
  Public Member Functions inherited from controllers::IController< S > | |
| IController ()=default | |
| Empty constructor.  | |
| virtual | ~IController ()=default | 
| Empty destructor.  | |
| virtual S | compute_command (const S &command_state, const S &feedback_state)=0 | 
| Compute the command output based on the commanded state and a feedback state To be redefined based on the actual controller implementation.  More... | |
| state_representation::JointState | compute_command (const S &command_state, const S &feedback_state, const state_representation::Jacobian &jacobian) | 
| Compute the command output in joint space.  More... | |
| state_representation::JointState | compute_command (const S &command_state, const S &feedback_state, const state_representation::JointPositions &joint_positions, const std::string &frame="") | 
| Compute the command output in joint space from command and feedback states in task space.  More... | |
| const robot_model::Model & | get_robot_model () | 
| Get the robot model associated with the controller.  More... | |
| void | set_robot_model (const robot_model::Model &robot_model) | 
| Set the robot model associated with the controller.  More... | |
  Public Member Functions inherited from state_representation::ParameterMap | |
| ParameterMap ()=default | |
| Empty constructor.  | |
| ParameterMap (const ParameterInterfaceList ¶meters) | |
| Construct the parameter map with an initial list of parameters.  More... | |
| ParameterMap (const ParameterInterfaceMap ¶meters) | |
| Construct the parameter map with an initial map of parameters.  More... | |
| std::shared_ptr< ParameterInterface > | get_parameter (const std::string &name) const | 
| Get a parameter by its name.  More... | |
| ParameterInterfaceMap | get_parameters () const | 
| Get a map of all the <name, parameter> pairs.  More... | |
| template<typename T > | |
| T | get_parameter_value (const std::string &name) const | 
| Get a parameter value by its name.  More... | |
| ParameterInterfaceList | get_parameter_list () const | 
| Get a list of all the parameters.  More... | |
| void | set_parameter (const std::shared_ptr< ParameterInterface > ¶meter) | 
| Set a parameter.  More... | |
| void | set_parameters (const ParameterInterfaceList ¶meters) | 
| Set parameters from a list of parameters.  More... | |
| void | set_parameters (const ParameterInterfaceMap ¶meters) | 
| Set parameters from a map with <name, parameter> pairs.  More... | |
| template<typename T > | |
| void | set_parameter_value (const std::string &name, const T &value) | 
| Set a parameter value by its name.  More... | |
| void | remove_parameter (const std::string &name) | 
| Remove a parameter from the parameter map.  More... | |
Protected Member Functions | |
| void | validate_and_set_parameter (const std::shared_ptr< state_representation::ParameterInterface > ¶meter) override | 
| Validate and set parameter for damping eigenvalues.  More... | |
| Eigen::MatrixXd | compute_orthonormal_basis (const S &desired_velocity) | 
| Compute the orthonormal basis based on the desired velocity input.  More... | |
| void | compute_damping (const S &desired_velocity) | 
| Compute the damping matrix as the orthonormal basis to the direction of the desired velocity.  More... | |
| Eigen::MatrixXd | compute_orthonormal_basis (const CartesianState &desired_velocity) | 
| Eigen::MatrixXd | compute_orthonormal_basis (const JointState &desired_velocity) | 
  Protected Member Functions inherited from controllers::impedance::Impedance< S > | |
| void | clamp_force (Eigen::VectorXd &force) | 
| void | validate_and_set_parameter (const std::shared_ptr< state_representation::ParameterInterface > ¶meter) override | 
| Validate and set parameters for damping, stiffness and inertia gain matrices.  More... | |
| Eigen::MatrixXd | gain_matrix_from_parameter (const std::shared_ptr< state_representation::ParameterInterface > ¶meter) | 
| Convert a parameterized gain to a gain matrix.  More... | |
  Protected Member Functions inherited from state_representation::ParameterMap | |
| virtual void | validate_and_set_parameter (const std::shared_ptr< ParameterInterface > ¶meter) | 
| Validate and set a parameter in the map.  More... | |
| void | assert_parameter_valid (const std::shared_ptr< ParameterInterface > ¶meter) | 
| Check if a parameter has the expected type, throw an exception otherwise.  More... | |
Static Protected Member Functions | |
| static Eigen::MatrixXd | orthonormalize_basis (const Eigen::MatrixXd &basis, const Eigen::VectorXd &main_eigenvector) | 
| Orthornormalize the basis matrix given in input wrt the main engenvector.  More... | |
Protected Attributes | |
| std::shared_ptr< state_representation::Parameter< Eigen::VectorXd > > | damping_eigenvalues_ | 
| coefficient of eigenvalues used in the damping matrix computation  More... | |
| const ComputationalSpaceType | computational_space_ | 
| the space in which to compute the command vector  More... | |
| Eigen::MatrixXd | basis_ | 
| basis matrix used to compute the damping matrix  More... | |
  Protected Attributes inherited from controllers::impedance::Impedance< S > | |
| std::shared_ptr< state_representation::Parameter< Eigen::MatrixXd > > | stiffness_ | 
| stiffness matrix of the controller associated to position  More... | |
| std::shared_ptr< state_representation::Parameter< Eigen::MatrixXd > > | damping_ | 
| damping matrix of the controller associated to velocity  More... | |
| std::shared_ptr< state_representation::Parameter< Eigen::MatrixXd > > | inertia_ | 
| inertia matrix of the controller associated to acceleration  More... | |
| std::shared_ptr< state_representation::Parameter< Eigen::VectorXd > > | force_limit_ | 
| vector of force limits for each degree of freedom  More... | |
| const unsigned int | dimensions_ | 
| dimensionality of the control space and associated gain matrices  More... | |
  Protected Attributes inherited from controllers::IController< S > | |
| std::shared_ptr< robot_model::Model > | robot_model_ | 
| The robot model associated with the controller.  More... | |
  Protected Attributes inherited from state_representation::ParameterMap | |
| ParameterInterfaceMap | parameters_ | 
| map of parameters by name  More... | |
Definition of a dissipative impedance controller (PassiveDS) in task space.
Definition at line 28 of file Dissipative.hpp.
      
  | 
  explicit | 
Base constructor.
| computational_space | The computational space type | 
| dimensions | The number of dimensions | 
Definition at line 102 of file Dissipative.hpp.
      
  | 
  explicit | 
Constructor from an initial parameter list.
| parameters | A parameter list containing the initial parameters | 
| computational_space | The computational space type | 
| dimensions | The number of dimensions | 
Definition at line 119 of file Dissipative.hpp.
      
  | 
  overridevirtual | 
Compute the force (task space) or torque (joint space) command based on the input state of the system as the error between the desired state and the real state.
| command_state | the desired state to reach | 
| feedback_state | the real state of the system as read from feedback loop | 
Implements controllers::IController< S >.
Definition at line 153 of file Dissipative.hpp.
      
  | 
  protected | 
Compute the damping matrix as the orthonormal basis to the direction of the desired velocity.
| desired_velocity | the velocity from which the direction of motion is extracted to compute the basis | 
Definition at line 163 of file Dissipative.hpp.
      
  | 
  protected | 
Definition at line 16 of file Dissipative.cpp.
      
  | 
  protected | 
Definition at line 79 of file Dissipative.cpp.
      
  | 
  protected | 
Compute the orthonormal basis based on the desired velocity input.
| desired_velocity | the desired velocity used as main eigenvector used to compute the basis. Other eigenvectors are orthogonal and selected randomly | 
Definition at line 10 of file Dissipative.cpp.
      
  | 
  staticprotected | 
Orthornormalize the basis matrix given in input wrt the main engenvector.
| basis | the basis matrix to orthonormalize | 
| main_eigenvector | the main eigenvector used to compute the basis. Other eigenvectors are orthogonal and selected randomly | 
Definition at line 137 of file Dissipative.hpp.
      
  | 
  overrideprotected | 
Validate and set parameter for damping eigenvalues.
| parameter | A parameter interface pointer | 
Definition at line 128 of file Dissipative.hpp.
      
  | 
  protected | 
basis matrix used to compute the damping matrix
Definition at line 97 of file Dissipative.hpp.
      
  | 
  protected | 
the space in which to compute the command vector
Definition at line 95 of file Dissipative.hpp.
      
  | 
  protected | 
coefficient of eigenvalues used in the damping matrix computation
Definition at line 93 of file Dissipative.hpp.