Go to the documentation of this file.
22 JointLimitator::JointLimitator(
const string &fName)
24 jointSIN(NULL,
"JointLimitator(" +
name +
")::input(vector)::joint"),
25 upperJlSIN(NULL,
"JointLimitator(" +
name +
")::input(vector)::upperJl"),
26 lowerJlSIN(NULL,
"JointLimitator(" +
name +
")::input(vector)::lowerJl"),
28 "JointLimitator(" +
name +
")::input(vector)::controlIN"),
30 jointSIN << upperJlSIN << lowerJlSIN << controlSIN,
31 "JointLimitator(" +
name +
")::output(vector)::control"),
33 upperJlSIN << lowerJlSIN,
34 "JointLimitator(" +
name +
")::input(vector)::widthJl")
68 uOUT.resize(controlSize);
75 double qnext =
q(
i + offset) + uIN(
i) * 0.005;
76 if ((
i + offset < 6) ||
77 ((qnext < UJL(
i + offset)) && (qnext > LJL(
i + offset)))) {
80 sotDEBUG(25) <<
i <<
": " << qnext <<
" in? [" << LJL(
i) <<
"," << UJL(
i)
89 os <<
"JointLimitator <" <<
name <<
"> ... TODO";
Filter control vector to avoid exceeding joint maximum values.
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > upperJlSIN
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > jointSIN
dynamicgraph::SignalTimeDependent< dynamicgraph::Vector, sigtime_t > widthJlSINTERN
dynamicgraph::Vector & computeWidthJl(dynamicgraph::Vector &res, const sigtime_t &time)
dynamicgraph::size_type size_type
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > lowerJlSIN
virtual dynamicgraph::Vector & computeControl(dynamicgraph::Vector &res, sigtime_t time)
virtual void display(std::ostream &os) const
virtual const T & access(const Time &t)
#define sotDEBUGOUT(level)
DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(JointLimitator, "JointLimitator")
#define sotDEBUGIN(level)
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > controlSIN
dynamicgraph::SignalTimeDependent< dynamicgraph::Vector, sigtime_t > controlSOUT
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