25 Eigen::Displacementd
H;
33 , H(Displacementd::Identity())
35 , gamma(Twistd::Zero())
37 , J(MatrixXd::Zero(6, m.nbDofs()))
43 , pimpl(new
Pimpl(model))
114 , index(model.getSegmentIndex(segname))
115 , H_localFrame(Displacementd::Identity())
116 , Adj_H_segment_in_controlledFrame(MatrixXd::Identity(6, 6))
119 Pimpl(
const Model& m,
const std::string& segname,
const Eigen::Displacementd& H_local)
121 , index(model.getSegmentIndex(segname))
122 , H_localFrame(H_local)
123 , Adj_H_segment_in_controlledFrame(H_local.inverse().adjoint())
129 , H_localFrame(Displacementd::Identity())
130 , Adj_H_segment_in_controlledFrame(MatrixXd::Identity(6, 6))
133 Pimpl(
const Model& m,
int segmentId,
const Eigen::Displacementd& H_local)
136 , H_localFrame(H_local)
137 , Adj_H_segment_in_controlledFrame(H_local.inverse().adjoint())
143 , pimpl(new
Pimpl(model, segname))
149 , pimpl(new
Pimpl(model, segname, H_local))
155 , pimpl(new
Pimpl(model, segmentId))
161 , pimpl(new
Pimpl(model, segmentId, H_local))
167 return pimpl->model.getSegmentPosition(pimpl->index) * pimpl->H_localFrame;
172 return pimpl->Adj_H_segment_in_controlledFrame * pimpl->model.getSegmentVelocity(pimpl->index);
177 return Eigen::Twistd::Zero();
182 return Eigen::Wrenchd::Zero();
187 return pimpl->Adj_H_segment_in_controlledFrame * pimpl->model.getSegmentJacobian(pimpl->index);
217 , pimpl(new
Pimpl(model))
223 Eigen::Vector3d tmp = pimpl->model.getCoMPosition();
224 return Eigen::Displacementd(tmp, Quaterniond::Identity());
229 return Eigen::Twistd(Twistd::AngularVelocity(0., 0., 0.), pimpl->model.getCoMVelocity());
234 return Eigen::Twistd::Zero();
239 return Eigen::Wrenchd::Zero();
246 result.block(3, 0, 3, pimpl->model.nbDofs()) = pimpl->model.getCoMJacobian();
Eigen::Wrenchd getWrench() const
Classes that represent frames.
virtual ~ControlFrame()=0
Eigen::Twistd getAcceleration() const
Eigen::Matrix< double, 6, Eigen::Dynamic > Jacobian6d
bool dependsOnModelConfiguration() const
Declaration file of the Model class.
Pimpl(const Model &m, const std::string &segname, const Eigen::Displacementd &H_local)
bool dependsOnModelConfiguration() const
Eigen::Twistd getVelocity() const
Eigen::Matrix< double, 6, Eigen::Dynamic > getJacobian() const
TargetFrame(const std::string &name, const Model &model)
Eigen::Displacementd getPosition() const
Eigen::Matrix< double, 6, Eigen::Dynamic > getJacobian() const
Eigen::Matrix< double, 6, Eigen::Dynamic > getJacobian() const
Optimization-based Robot Controller namespace. a library of classes to write and solve optimization p...
Eigen::Wrenchd getWrench() const
Eigen::Wrenchd getWrench() const
Eigen::Displacementd getPosition() const
void setWrench(const Eigen::Wrenchd &W)
SegmentFrame(const std::string &name, const Model &model, const std::string &segname)
void setPosition(const Eigen::Displacementd &H)
Eigen::Displacementd H_localFrame
Eigen::Twistd getVelocity() const
MatrixXd Adj_H_segment_in_controlledFrame
Pimpl(const Model &m, int segmentId)
void setAcceleration(const Eigen::Twistd &gamma)
Eigen::Twistd getAcceleration() const
bool dependsOnModelConfiguration() const
Pimpl(const Model &m, int segmentId, const Eigen::Displacementd &H_local)
void setVelocity(const Eigen::Twistd &T)
Eigen::Displacementd getPosition() const
Pimpl(const Model &m, const std::string &segname)
ControlFrame(const std::string &name)
CoMFrame(const std::string &name, const Model &model)
const Model & getModel() const
const Model & getModel() const
int getSegmentIndex() const
const Model & getModel() const
Eigen::Twistd getVelocity() const
Eigen::Twistd getAcceleration() const
Generic representation of a frame: gives access to its position, velocity, jacobian...