29 FeatureGeneric::FeatureGeneric(
const string &pointName)
    32       errorSIN(NULL, 
"sotFeatureGeneric(" + 
name + 
")::input(vector)::errorIN"),
    34                   "sotFeatureGeneric(" + 
name + 
")::input(matrix)::jacobianIN")
    48   assert(SP::isReferenceSet());
    54   assert(SP::isReferenceSet());
    83   unsigned int curr = 0;
    85   if (err.size() < dim) {
    88         "Error: dimension uncompatible with des->errorIN size."    89         " (while considering feature <%s>).",
    94   sotDEBUG(25) << 
"Dim = " << dim << endl;
    99     if (errDes.size() < dim) {
   102           "Error: dimension uncompatible with des->errorIN size."   103           " (while considering feature <%s>).",
   107     for (
int i = 0; 
i < err.size(); ++
i)
   109         if (fl(
i)) res(curr++) = err(
i) - errDes(
i);
   111     for (
int i = 0; 
i < err.size(); ++
i)
   112       if (fl(
i)) res(curr++) = err(
i);
   125   unsigned int curr = 0;
   126   res.resize(dim, Jac.cols());
   128   for (
unsigned int i = 0; curr < dim; ++
i)
   130       for (
int j = 0; j < Jac.cols(); ++j) res(curr, j) = Jac(
i, j);
   143   os << 
"Generic <" << 
name << 
">: " << std::endl;
 virtual void removeDependenciesFromReference(void)=0
SignalTimeDependent< dynamicgraph::Vector, int > errordotSOUT
Derivative of the error with respect to time: . 
virtual dynamicgraph::Vector & computeError(dynamicgraph::Vector &res, int time)
Compute the error between the desired value and the value itself. 
SignalPtr< Flags, int > selectionSIN
This vector specifies which dimension are used to perform the computation. For instance let us assume...
SignalTimeDependent< unsigned int, int > dimensionSOUT
Returns the dimension of the feature as an output signal. 
void signalRegistration(const SignalArray< int > &signals)
#define sotDEBUGOUT(level)
virtual bool isReferenceSet(void) const
dynamicgraph::SignalPtr< dynamicgraph::Matrix, int > jacobianSIN
Input for the Jacobian. 
#define sotDEBUGIN(level)
SignalTimeDependent< dynamicgraph::Matrix, int > jacobianSOUT
Jacobian of the error wrt the robot state: . 
unsigned int getDimension(void) const
Shortest method. 
SignalPtr< dynamicgraph::Vector, int > errordotSIN
Derivative of the reference value. 
virtual const T & access(const Time &t)
virtual void removeDependency(const SignalBase< Time > &signal)
virtual void addDependency(const SignalBase< Time > &signal)
virtual const T & accessCopy() const
dynamicgraph::Vector::Index dimensionDefault
This class gives the abstract definition of a feature. 
const std::string & getName() const
DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(FeatureGeneric, "FeatureGeneric")
virtual void addDependenciesFromReference(void)=0
virtual const char * what() const
FeatureGeneric * getReference(void)
virtual void display(std::ostream &os) const
Display the information related to this generic implementation. 
virtual dynamicgraph::Matrix & computeJacobian(dynamicgraph::Matrix &res, int time)
Compute the Jacobian of the value according to the robot state.. 
dynamicgraph::SignalPtr< dynamicgraph::Vector, int > errorSIN
Input for the error. 
SignalTimeDependent< dynamicgraph::Vector, int > errorSOUT
This signal returns the error between the desired value and the current value : . ...
Class that defines a generic implementation of the abstract interface for features.