Go to the documentation of this file.
20 #include <../src/feature/feature-joint-limits-command.h>
32 const double FeatureJointLimits::THRESHOLD_DEFAULT = .9;
34 FeatureJointLimits::FeatureJointLimits(
const string &fName)
36 threshold(THRESHOLD_DEFAULT)
40 "sotFeatureJointLimits(" +
name +
")::input(vector)::joint"),
42 "sotFeatureJointLimits(" +
name +
")::input(vector)::upperJl"),
44 "sotFeatureJointLimits(" +
name +
")::input(vector)::lowerJl"),
47 upperJlSIN << lowerJlSIN,
48 "sotFeatureJointLimits(" +
name +
")::input(vector)::widthJl") {
57 std::string docstring;
118 J.resize(SIZE, SIZE_TOTAL);
124 if (fabs(WJL(
i)) > 1e-3)
125 J(idx,
i) = 1 / WJL(
i);
163 sotDEBUG(25) <<
"ljl = " << LJL << endl;
164 sotDEBUG(25) <<
"Wjl = " << WJL << endl;
165 sotDEBUG(25) <<
"dim = " << SIZE << endl;
167 assert(UJL.size() == SIZE_TOTAL);
168 assert(WJL.size() == SIZE_TOTAL);
169 assert(LJL.size() == SIZE_TOTAL);
170 assert(SIZE <= SIZE_TOTAL);
174 std::size_t parcerr = 0;
177 error(parcerr++) = (
q(
i) - LJL(
i)) / WJL(
i) * 2 - 1;
186 os <<
"JointLimits <" <<
name <<
"> ... TODO";
virtual void addDependenciesFromReference(void)=0
const T & access(const Time &t1)
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > lowerJlSIN
SignalTimeDependent< dynamicgraph::Vector, sigtime_t > errorSOUT
This signal returns the error between the desired value and the current value : .
virtual dynamicgraph::Matrix & computeJacobian(dynamicgraph::Matrix &res, sigtime_t time)
SignalPtr< Flags, sigtime_t > selectionSIN
This vector specifies which dimension are used to perform the computation. For instance let us assume...
virtual void display(std::ostream &os) const
This class gives the abstract definition of a feature.
Class that defines gradient vector for jl avoidance.
virtual dynamicgraph::Vector & computeError(dynamicgraph::Vector &res, sigtime_t time)
virtual const T & access(const Time &t)
#define sotDEBUGOUT(level)
virtual void addDependency(const SignalBase< Time > &signal)
#define sotDEBUGIN(level)
DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(FeatureJointLimits, "FeatureJointLimits")
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > upperJlSIN
virtual void removeDependenciesFromReference(void)=0
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > jointSIN
size_type getDimension(void) const
Shortest method.
dynamicgraph::SignalTimeDependent< dynamicgraph::Vector, sigtime_t > widthJlSINTERN
void addCommand(const std::string &name, command::Command *command)
dynamicgraph::Vector & computeWidthJl(dynamicgraph::Vector &res, const sigtime_t &time)
SignalTimeDependent< size_type, sigtime_t > dimensionSOUT
Returns the dimension of the feature as an output signal.
void signalRegistration(const SignalArray< sigtime_t > &signals)
sot-core
Author(s): Olivier Stasse, ostasse@laas.fr
autogenerated on Tue Oct 24 2023 02:26:31