35 #define __SOT_GAIN_ADAPTATIVE_INIT \ 36 Entity(name), coeff_a(0), coeff_b(0), coeff_c(0), \ 37 errorSIN(NULL, "sotGainAdaptive(" + name + ")::input(vector)::error"), \ 38 gainSOUT(boost::bind(&GainAdaptive::computeGain, this, _1, _2), \ 40 "sotGainAdaptive(" + name + ")::output(double)::gain") 44 std::string docstring;
50 " floating point value: value at 0. Other values are set to" 61 " floating point value: value at 0,\n" 62 " floating point value: value at infinity,\n" 63 " floating point value: value at slope,\n" 68 " set from value at 0 and infinity, with a passing point\n" 70 " floating point value: value at 0,\n" 71 " floating point value: value at infinity,\n" 72 " floating point value: reference point,\n" 73 " floating point value: percentage at ref point.\n" 82 sotDEBUG(15) <<
"New gain <" << name <<
">" << std::endl;
96 const double &valueAtInfty,
const double &tanAt0)
98 init(valueAt0, valueAtInfty, tanAt0);
104 const double &tanAt0) {
105 coeff_a = valueAt0 - valueAtInfty;
134 const double &valueAtInfty,
139 coeff_a = valueAt0 - valueAtInfty;
155 os <<
"Gain Adaptative " <<
getName();
169 const double norm = error.norm();
static const double TAN_DEFAULT
dynamicgraph::SignalPtr< dynamicgraph::Vector, int > errorSIN
void signalRegistration(const SignalArray< int > &signals)
#define sotDEBUGOUT(level)
GainAdaptive(const std::string &name)
CommandVoid1< E, T > * makeCommandVoid1(E &entity, boost::function< void(const T &)> function, const std::string &docString)
DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(FeaturePosture, "FeaturePosture")
#define __SOT_GAIN_ADAPTATIVE_INIT
void initFromPassingPoint(const double &valueAt0, const double &valueAtInfty, const double &errorReference, const double &percentage)
Set the gain by providing the value at 0, at and the percentage of accomplishment between both to be...
#define sotDEBUGIN(level)
dynamicgraph::SignalTimeDependent< double, int > gainSOUT
static const double INFTY_DEFAULT
virtual void display(std::ostream &os) const
static const double ZERO_DEFAULT
CommandVoid3< E, T1, T2, T3 > * makeCommandVoid3(E &entity, typename CommandVoid3< E, T1, T2, T3 >::function_t function, const std::string &docString)
CommandVoid4< E, T1, T2, T3, T4 > * makeCommandVoid4(E &entity, typename CommandVoid4< E, T1, T2, T3, T4 >::function_t function, const std::string &docString)
const std::string & getName() const
virtual const T & accessCopy() const
double & computeGain(double &res, int t)
void addCommand(const std::string &name, command::Command *command)