15 #include <SpaceVecAlg/SpaceVecAlg>
74 static FramePtr make(
const std::string & name,
Frame & parent, sva::PTransformd X_p_f,
bool baked);
77 inline const std::string &
name() const noexcept {
return name_; }
80 virtual inline sva::PTransformd
position() const noexcept
82 return parent_ ? position_ * parent_->position() : position_;
86 virtual inline sva::MotionVecd
velocity() const noexcept
88 if(!parent_) {
return velocity_; }
89 auto vel = parent_->velocity();
90 auto X_0_p = parent_->position();
91 vel.linear() += -
hat(X_0_p.rotation().transpose() * position_.translation()) * vel.angular();
115 velocity_ = velocity;
128 if(!tvm_frame_) { init_tvm_frame(); }
138 sva::PTransformd position_ = sva::PTransformd::Identity();
140 sva::MotionVecd velocity_ = sva::MotionVecd::Zero();
#define MC_RBDYN_DLLAPI
Definition: api.h:50
Definition: generic_gripper.h:15
std::shared_ptr< Frame > FramePtr
Definition: fwd.h:28
Eigen::Matrix3d hat(const Eigen::Vector3d &v)
Definition: hat.h:12
std::unique_ptr< Frame > FramePtr
Definition: fwd.h:19
Frame & velocity(sva::MotionVecd velocity) noexcept
Definition: Frame.h:113
mc_tvm::Frame & tvm_frame() const
Definition: Frame.h:126
Frame(NewFrameToken, const std::string &name, Frame &parent, sva::PTransformd X_p_f, bool bake) noexcept
Frame & operator=(Frame &&)=delete
mc_tvm::FramePtr tvm_frame_
Definition: Frame.h:145
Frame & position(sva::PTransformd pos) noexcept
Definition: Frame.h:101
std::string name_
Definition: Frame.h:134
const std::string & name() const noexcept
Definition: Frame.h:77
Frame(NewFrameToken, const std::string &name) noexcept
Frame & operator=(const Frame &)=delete
static FramePtr make(const std::string &name) noexcept
Definition: Frame.h:53
virtual sva::MotionVecd velocity() const noexcept
Definition: Frame.h:86
virtual void init_tvm_frame() const
const FramePtr & parent() const noexcept
Definition: Frame.h:120
static FramePtr make(const std::string &name, Frame &parent, sva::PTransformd X_p_f, bool baked)
virtual sva::PTransformd position() const noexcept
Definition: Frame.h:80
Frame(const Frame &)=delete