32 TaskPD::TaskPD(
const std::string &
n)
36 errorDotSOUT(
boost::bind(&
TaskPD::computeErrorDot, this, _1, _2),
38 "sotTaskPD(" + n +
")::output(vector)::errorDotOUT"),
39 errorDotSIN(NULL,
"sotTaskPD(" + n +
")::input(vector)::errorDot") {
62 errorDot.resize(errCur.size());
77 sotDEBUG(25) <<
" edot = " << errorDot;
79 for (
unsigned int i = 0;
i < task.size(); ++
i) {
80 task[
i] = task[
i].getSingleBound() - (
beta * errorDot(
i));
93 using namespace command;
void signalRegistration(const SignalArray< int > &signals)
dynamicgraph::SignalTimeDependent< VectorMultiBound, int > taskSOUT
dynamicgraph::SignalTimeDependent< dynamicgraph::Vector, int > errorDotSOUT
std::vector< MultiBound > VectorMultiBound
DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(TaskPD, "TaskPD")
dynamicgraph::SignalTimeDependent< dynamicgraph::Vector, int > errorSOUT
dynamicgraph::SignalPtr< dynamicgraph::Vector, int > errorDotSIN
VectorMultiBound & computeTaskModif(VectorMultiBound &error, int time)
VectorMultiBound & computeTaskExponentialDecrease(VectorMultiBound &errorRef, int time)
virtual void plug(SignalBase< Time > *ref)
virtual void addDependency(const SignalBase< Time > &signal)
dynamicgraph::Vector & computeErrorDot(dynamicgraph::Vector &error, int time)
Class that defines the basic elements of a task.
void addCommand(const std::string &name, command::Command *command)
std::string docDirectSetter(const std::string &name, const std::string &type)
virtual void setFunction(boost::function2< T &, T &, Time > t, Mutex *mutexref=NULL)
DirectSetter< E, T > * makeDirectSetter(E &entity, T *ptr, const std::string &docString)
dynamicgraph::Vector previousError