#include <sot/talos_balance/hip-flexibility-compensation.hh>
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 |
Definition at line 57 of file hip-flexibility-compensation.hh.
HipFlexibilityCompensation | ( | const std::string & | name | ) |
Definition at line 59 of file hip-flexibility-compensation.cpp.
DECLARE_SIGNAL_IN | ( | K_l | , |
double | |||
) |
Left flexibility correction for the angular computation.
DECLARE_SIGNAL_IN | ( | K_r | , |
double | |||
) |
Right flexibility correction for the angular computation.
DECLARE_SIGNAL_IN | ( | phase | , |
int | |||
) |
Walking phase.
DECLARE_SIGNAL_IN | ( | q_des | , |
dynamicgraph::Vector | |||
) |
Desired joint configuration of the robot.
DECLARE_SIGNAL_IN | ( | tau | , |
dynamicgraph::Vector | |||
) |
Current torque mesured at each joint.
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 + RateLimiter(delta_q)
DECLARE_SIGNAL_OUT | ( | tau_filt | , |
dynamicgraph::Vector | |||
) |
Derivative gain (double) for the error.
Low pass filter of the signal tau
|
virtual |
Definition at line 307 of file hip-flexibility-compensation.cpp.
void init | ( | const double & | dt, |
const std::string & | robotName | ||
) |
Initialize the entity.
Definition at line 129 of file hip-flexibility-compensation.cpp.
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.
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.
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.
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.
void setTorqueLowPassFilterFrequency | ( | const double & | frequency | ) |
Set the LowPassFilter frequency for the torque computation.
Definition at line 159 of file hip-flexibility-compensation.cpp.
|
protected |
Definition at line 120 of file hip-flexibility-compensation.hh.
|
protected |
true if the entity has been successfully initialized
Definition at line 118 of file hip-flexibility-compensation.hh.
|
protected |
Definition at line 116 of file hip-flexibility-compensation.hh.
|
protected |
Definition at line 124 of file hip-flexibility-compensation.hh.
|
protected |
Definition at line 122 of file hip-flexibility-compensation.hh.
|
protected |
Definition at line 123 of file hip-flexibility-compensation.hh.
|
protected |
Definition at line 121 of file hip-flexibility-compensation.hh.
|
protected |
Definition at line 126 of file hip-flexibility-compensation.hh.
|
protected |
Definition at line 119 of file hip-flexibility-compensation.hh.