sot-talos-balance  2.0.5
Collection of dynamic-graph entities aimed at implementing balance control on talos.
HipFlexibilityCompensation Class Reference

#include <sot/talos_balance/hip-flexibility-compensation.hh>

Inheritance diagram for HipFlexibilityCompensation:
Collaboration diagram for HipFlexibilityCompensation:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW HipFlexibilityCompensation (const std::string &name)
 
 DECLARE_SIGNAL_IN (K_l, double)
 Left flexibility correction for the angular computation. More...
 
 DECLARE_SIGNAL_IN (K_r, double)
 Right flexibility correction for the angular computation. More...
 
 DECLARE_SIGNAL_IN (phase, int)
 Walking phase. More...
 
 DECLARE_SIGNAL_IN (q_des, dynamicgraph::Vector)
 Desired joint configuration of the robot. More...
 
 DECLARE_SIGNAL_IN (tau, dynamicgraph::Vector)
 Current torque mesured at each joint. More...
 
 DECLARE_SIGNAL_OUT (delta_q, dynamicgraph::Vector)
 Angular correction of the flexibility. More...
 
 DECLARE_SIGNAL_OUT (q_cmd, dynamicgraph::Vector)
 Corrected desired joint configuration of the robot with flexibility joint configuration q_cmd = q_des + RateLimiter(delta_q) More...
 
 DECLARE_SIGNAL_OUT (tau_filt, dynamicgraph::Vector)
 Derivative gain (double) for the error. More...
 
virtual void display (std::ostream &os) const
 
void init (const double &dt, const std::string &robotName)
 Initialize the entity. More...
 
dynamicgraph::Vector lowPassFilter (const double &frequency, const dynamicgraph::Vector &signal, dynamicgraph::Vector &previous_signal)
 Compute the low pass filter of a signal given a frequency and the previous signal. More...
 
void rateLimiter (const dynamicgraph::Vector &signal, dynamicgraph::Vector &previous_signal, dynamicgraph::Vector &output)
 Compute the limiter of a signal given the previous signal (based on first derivative). More...
 
void setAngularSaturation (const double &saturation)
 Set the value of the saturation for the angular correction computation. More...
 
void setRateLimiter (const double &rate)
 Set the value of the limiter for the the rate limiter of delta_q. More...
 
void setTorqueLowPassFilterFrequency (const double &frequency)
 Set the LowPassFilter frequency for the torque computation. More...
 

Protected Attributes

double m_delta_q_saturation
 
double m_dt
 true if the entity has been successfully initialized More...
 
bool m_initSucceeded
 
dynamicgraph::Vector m_limitedSignal
 
dynamicgraph::Vector m_previous_delta_q
 
dynamicgraph::Vector m_previous_tau
 
double m_rate_limiter
 
RobotUtilShrPtr m_robot_util
 
double m_torqueLowPassFilterFrequency
 

Detailed Description

Definition at line 57 of file hip-flexibility-compensation.hh.

Constructor & Destructor Documentation

◆ HipFlexibilityCompensation()

HipFlexibilityCompensation ( const std::string &  name)

Definition at line 59 of file hip-flexibility-compensation.cpp.

Member Function Documentation

◆ DECLARE_SIGNAL_IN() [1/5]

DECLARE_SIGNAL_IN ( K_l  ,
double   
)

Left flexibility correction for the angular computation.

◆ DECLARE_SIGNAL_IN() [2/5]

DECLARE_SIGNAL_IN ( K_r  ,
double   
)

Right flexibility correction for the angular computation.

◆ DECLARE_SIGNAL_IN() [3/5]

DECLARE_SIGNAL_IN ( phase  ,
int   
)

Walking phase.

◆ DECLARE_SIGNAL_IN() [4/5]

DECLARE_SIGNAL_IN ( q_des  ,
dynamicgraph::Vector   
)

Desired joint configuration of the robot.

◆ DECLARE_SIGNAL_IN() [5/5]

DECLARE_SIGNAL_IN ( tau  ,
dynamicgraph::Vector   
)

Current torque mesured at each joint.

◆ DECLARE_SIGNAL_OUT() [1/3]

DECLARE_SIGNAL_OUT ( delta_q  ,
dynamicgraph::Vector   
)

Angular correction of the flexibility.

◆ DECLARE_SIGNAL_OUT() [2/3]

DECLARE_SIGNAL_OUT ( q_cmd  ,
dynamicgraph::Vector   
)

Corrected desired joint configuration of the robot with flexibility joint configuration q_cmd = q_des + RateLimiter(delta_q)

◆ DECLARE_SIGNAL_OUT() [3/3]

DECLARE_SIGNAL_OUT ( tau_filt  ,
dynamicgraph::Vector   
)

Derivative gain (double) for the error.

Low pass filter of the signal tau

◆ display()

void display ( std::ostream &  os) const
virtual

Definition at line 307 of file hip-flexibility-compensation.cpp.

◆ init()

void init ( const double &  dt,
const std::string &  robotName 
)

Initialize the entity.

Definition at line 129 of file hip-flexibility-compensation.cpp.

◆ lowPassFilter()

Vector lowPassFilter ( const double &  frequency,
const dynamicgraph::Vector &  signal,
dynamicgraph::Vector &  previous_signal 
)

Compute the low pass filter of a signal given a frequency and the previous signal.

Definition at line 173 of file hip-flexibility-compensation.cpp.

◆ rateLimiter()

void rateLimiter ( const dynamicgraph::Vector &  signal,
dynamicgraph::Vector &  previous_signal,
dynamicgraph::Vector &  output 
)

Compute the limiter of a signal given the previous signal (based on first derivative).

Definition at line 182 of file hip-flexibility-compensation.cpp.

◆ setAngularSaturation()

void setAngularSaturation ( const double &  saturation)

Set the value of the saturation for the angular correction computation.

Definition at line 164 of file hip-flexibility-compensation.cpp.

◆ setRateLimiter()

void setRateLimiter ( const double &  rate)

Set the value of the limiter for the the rate limiter of delta_q.

Definition at line 169 of file hip-flexibility-compensation.cpp.

◆ setTorqueLowPassFilterFrequency()

void setTorqueLowPassFilterFrequency ( const double &  frequency)

Set the LowPassFilter frequency for the torque computation.

Definition at line 159 of file hip-flexibility-compensation.cpp.

Member Data Documentation

◆ m_delta_q_saturation

double m_delta_q_saturation
protected

Definition at line 120 of file hip-flexibility-compensation.hh.

◆ m_dt

double m_dt
protected

true if the entity has been successfully initialized

Definition at line 118 of file hip-flexibility-compensation.hh.

◆ m_initSucceeded

bool m_initSucceeded
protected

Definition at line 116 of file hip-flexibility-compensation.hh.

◆ m_limitedSignal

dynamicgraph::Vector m_limitedSignal
protected

Definition at line 124 of file hip-flexibility-compensation.hh.

◆ m_previous_delta_q

dynamicgraph::Vector m_previous_delta_q
protected

Definition at line 122 of file hip-flexibility-compensation.hh.

◆ m_previous_tau

dynamicgraph::Vector m_previous_tau
protected

Definition at line 123 of file hip-flexibility-compensation.hh.

◆ m_rate_limiter

double m_rate_limiter
protected

Definition at line 121 of file hip-flexibility-compensation.hh.

◆ m_robot_util

RobotUtilShrPtr m_robot_util
protected

Definition at line 126 of file hip-flexibility-compensation.hh.

◆ m_torqueLowPassFilterFrequency

double m_torqueLowPassFilterFrequency
protected

Definition at line 119 of file hip-flexibility-compensation.hh.


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