17 #ifndef __sot_talos_balance_hip_flexibility_compensation_H__
18 #define __sot_talos_balance_hip_flexibility_compensation_H__
25 #if defined(hip_flexibility_compensation_EXPORTS)
26 #define HIPFLEXIBILITYCOMPENSATION_EXPORT __declspec(dllexport)
28 #define HIPFLEXIBILITYCOMPENSATION_EXPORT __declspec(dllimport)
31 #define HIPFLEXIBILITYCOMPENSATION_EXPORT
38 #include <pinocchio/fwd.hpp>
42 #include <dynamic-graph/signal-helper.h>
45 #include <sot/core/robot-utils.hh>
47 #include "boost/assign.hpp"
51 namespace talos_balance {
58 :
public ::dynamicgraph::Entity {
59 DYNAMIC_GRAPH_ENTITY_DECL();
62 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
92 virtual void display(std::ostream& os)
const;
95 void init(
const double&
dt,
const std::string&
robotName);
97 void setTorqueLowPassFilterFrequency(
const double& frequency);
100 void setAngularSaturation(
const double& saturation);
102 void setRateLimiter(
const double& rate);
dynamicgraph::Vector m_limitedSignal
DECLARE_SIGNAL_IN(tau, dynamicgraph::Vector)
Current torque mesured at each joint.
RobotUtilShrPtr m_robot_util
DECLARE_SIGNAL_OUT(tau_filt, dynamicgraph::Vector)
Derivative gain (double) for the error.
double m_dt
true if the entity has been successfully initialized
dynamicgraph::Vector m_previous_tau
double m_delta_q_saturation
dynamicgraph::Vector m_previous_delta_q
DECLARE_SIGNAL_IN(phase, int)
Walking phase.
DECLARE_SIGNAL_IN(K_l, double)
Left flexibility correction for the angular computation.
DECLARE_SIGNAL_IN(q_des, dynamicgraph::Vector)
Desired joint configuration of the robot.
double m_torqueLowPassFilterFrequency
DECLARE_SIGNAL_IN(K_r, double)
Right flexibility correction for the angular computation.
DECLARE_SIGNAL_OUT(delta_q, dynamicgraph::Vector)
Angular correction of the flexibility.
DECLARE_SIGNAL_OUT(q_cmd, dynamicgraph::Vector)
Corrected desired joint configuration of the robot with flexibility joint configuration q_cmd = q_des...
#define HIPFLEXIBILITYCOMPENSATION_EXPORT
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector