3#include "controllers/IController.hpp"
4#include "controllers/impedance/Dissipative.hpp"
5#include "controllers/impedance/VelocityImpedance.hpp"
6#include "state_representation/parameters/Parameter.hpp"
8namespace controllers::impedance {
26 const std::list<std::shared_ptr<state_representation::ParameterInterface>>& parameters
37 double linear_principle_damping,
double linear_orthogonal_damping,
double angular_stiffness,
38 double angular_damping
78 void set_linear_gains(
double linear_principle_damping,
double linear_orthogonal_damping);
99 std::shared_ptr<state_representation::Parameter<double>>
101 std::shared_ptr<state_representation::Parameter<double>>
Abstract class to define a controller in a desired state type, such as joint or Cartesian spaces.
A concrete controller class specifically for controlling 6 degree of freedom Cartesian twist with a c...
std::shared_ptr< state_representation::Parameter< double > > angular_stiffness_
stiffness of angular displacement
void set_linear_orthogonal_damping(double linear_orthogonal_damping)
Setter of the linear orthogonal damping.
void set_linear_principle_damping(double linear_principle_damping)
Setter of the linear principle damping.
Dissipative< state_representation::CartesianState > dissipative_ctrl_
controller for linear space
std::shared_ptr< state_representation::Parameter< double > > angular_damping_
damping of angular velocity error
void set_angular_stiffness(double angular_stiffness)
Setter of the angular stiffness.
std::shared_ptr< state_representation::Parameter< double > > linear_principle_damping_
damping along principle eigenvector of linear velocity error
VelocityImpedance< state_representation::CartesianState > velocity_impedance_ctrl_
controller for angular space
void set_linear_gains(double linear_principle_damping, double linear_orthogonal_damping)
Setter of the linear damping values.
void set_angular_gains(double angular_stiffness, double angular_damping)
Setter of the angular damping.
state_representation::CartesianState compute_command(const state_representation::CartesianState &desired_state, const state_representation::CartesianState &feedback_state) override
Compute the force (task space) or torque (joint space) command based on the input state of the system...
std::shared_ptr< state_representation::Parameter< double > > linear_orthogonal_damping_
damping along secondary eigenvectors of linear velocity error
void set_angular_damping(double angular_damping)
Setter of the angular damping.
void validate_and_set_parameter(const std::shared_ptr< state_representation::ParameterInterface > ¶meter) override
Validate and set parameters for controller gains.
Definition of a dissipative impedance controller (PassiveDS) in task space.
A velocity impedance is a normal impedance controller that only uses velocity input and integrates it...
Class to represent a state in Cartesian space.