sot-core  4.11.8
Hierarchical task solver plug-in for dynamic-graph.
dynamicgraph::sot::GainHyperbolic Class Reference

Hyperbolic gain. It follows the law. More...

#include <sot/core/gain-hyperbolic.hh>

Inheritance diagram for dynamicgraph::sot::GainHyperbolic:

Public Member Functions

virtual void display (std::ostream &os) const
 
virtual const std::string & getClassName (void) const
 
 GainHyperbolic (const std::string &name)
 
 GainHyperbolic (const std::string &name, const double &lambda)
 
 GainHyperbolic (const std::string &name, const double &valueAt0, const double &valueAtInfty, const double &tanAt0, const double &decal0)
 
void init (void)
 
void init (const double &lambda)
 
void init (const double &valueAt0, const double &valueAtInfty, const double &tanAt0, const double &decal0)
 
void forceConstant (void)
 

Public Attributes

dynamicgraph::SignalPtr< dynamicgraph::Vector, int > errorSIN
 
dynamicgraph::SignalTimeDependent< double, int > gainSOUT
 

Static Public Attributes

static const double ZERO_DEFAULT
 
static const double INFTY_DEFAULT
 
static const double TAN_DEFAULT
 
static const std::string CLASS_NAME
 

Protected Member Functions

double & computeGain (double &res, int t)
 

Protected Attributes

double coeff_a
 
double coeff_b
 
double coeff_c
 
double coeff_d
 

Detailed Description

Hyperbolic gain. It follows the law.

\[ g(e) = a \frac{\tanh(-b(||e|| - d)) + 1}{2} + c \]

The default coefficients are:

  • \( a = 0 \),
  • \( b = 0 \),
  • \( c = 0.1 \),
  • \( d = 0 \).

Constructor & Destructor Documentation

◆ GainHyperbolic() [1/3]

dynamicgraph::sot::GainHyperbolic::GainHyperbolic ( const std::string &  name)

◆ GainHyperbolic() [2/3]

dynamicgraph::sot::GainHyperbolic::GainHyperbolic ( const std::string &  name,
const double &  lambda 
)

◆ GainHyperbolic() [3/3]

dynamicgraph::sot::GainHyperbolic::GainHyperbolic ( const std::string &  name,
const double &  valueAt0,
const double &  valueAtInfty,
const double &  tanAt0,
const double &  decal0 
)

Member Function Documentation

◆ computeGain()

double& dynamicgraph::sot::GainHyperbolic::computeGain ( double &  res,
int  t 
)
protected

◆ display()

virtual void dynamicgraph::sot::GainHyperbolic::display ( std::ostream &  os) const
virtual

◆ forceConstant()

void dynamicgraph::sot::GainHyperbolic::forceConstant ( void  )

◆ getClassName()

virtual const std::string& dynamicgraph::sot::GainHyperbolic::getClassName ( void  ) const
inlinevirtual

◆ init() [1/3]

void dynamicgraph::sot::GainHyperbolic::init ( const double &  lambda)
inline

◆ init() [2/3]

void dynamicgraph::sot::GainHyperbolic::init ( const double &  valueAt0,
const double &  valueAtInfty,
const double &  tanAt0,
const double &  decal0 
)

Set the coefficients.

  • \( a = valueAt0 - valueAtInfty \),
  • \( b = \frac{tanAt0}{2*a} \), or \( b = 0 \) if \( a == 0 \),
  • \( c = valueAtInfty \),
  • \( d = decal0 \).

◆ init() [3/3]

void dynamicgraph::sot::GainHyperbolic::init ( void  )
inline

Member Data Documentation

◆ CLASS_NAME

const std::string dynamicgraph::sot::GainHyperbolic::CLASS_NAME
static

◆ coeff_a

double dynamicgraph::sot::GainHyperbolic::coeff_a
protected

◆ coeff_b

double dynamicgraph::sot::GainHyperbolic::coeff_b
protected

◆ coeff_c

double dynamicgraph::sot::GainHyperbolic::coeff_c
protected

◆ coeff_d

double dynamicgraph::sot::GainHyperbolic::coeff_d
protected

◆ errorSIN

dynamicgraph::SignalPtr<dynamicgraph::Vector, int> dynamicgraph::sot::GainHyperbolic::errorSIN

◆ gainSOUT

dynamicgraph::SignalTimeDependent<double, int> dynamicgraph::sot::GainHyperbolic::gainSOUT

◆ INFTY_DEFAULT

const double dynamicgraph::sot::GainHyperbolic::INFTY_DEFAULT
static

◆ TAN_DEFAULT

const double dynamicgraph::sot::GainHyperbolic::TAN_DEFAULT
static

◆ ZERO_DEFAULT

const double dynamicgraph::sot::GainHyperbolic::ZERO_DEFAULT
static

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