17 #ifndef _JOINTCONTROLLER_HH_
18 #define _JOINTCONTROLLER_HH_
58 const std::string &_name,
double _position,
int _index = 0);
63 const std::map<std::string, double> &_jointPositions);
67 private:
void OnJointCmd(ConstJointCmdPtr &_msg);
86 JointPtr _joint,
double _position,
int _index = 0);
97 double _dposition,
bool _updateChildren =
false);
101 private:
void ComputeAndSetLinkTwist(
LinkPtr _link,
108 private:
void AddConnectedLinks(std::vector<LinkPtr> &_linksOut,
110 bool _checkParentTree =
false);
115 private:
template<
class InputVector,
class T>
116 bool ContainsLink(InputVector _vector,
const T &_value)
118 typename InputVector::iterator iter = _vector.begin();
119 for (; iter != _vector.end(); ++iter)
120 if ((*iter)->GetScopedName() == _value->GetScopedName())
129 private:
Link_V updatedLinks;
132 private: std::map<std::string, JointPtr> joints;
135 private: std::map<std::string, common::PID> posPids;
138 private: std::map<std::string, common::PID> velPids;
141 private: std::map<std::string, double> forces;
144 private: std::map<std::string, double> positions;
147 private: std::map<std::string, double> velocities;