void sForwardKinematics(const MultiBody& mb, MultiBodyConfig& mbc) { checkMatchQ(mb, mbc); checkMatchBodyPos(mb, mbc); checkMatchJointConf(mb, mbc); checkMatchParentToSon(mb, mbc); forwardKinematics(mb, mbc); }
bool InverseKinematics::sInverseKinematics(const MultiBody& mb, MultiBodyConfig& mbc, const sva::PTransformd& ef_target) { checkMatchQ(mb, mbc); checkMatchBodyPos(mb, mbc); checkMatchJointConf(mb, mbc); checkMatchParentToSon(mb, mbc); return inverseKinematics(mb, mbc, ef_target); }
void sForwardVelocity(const MultiBody& mb, MultiBodyConfig& mbc) { checkMatchAlpha(mb, mbc); checkMatchBodyPos(mb, mbc); checkMatchJointConf(mb, mbc); checkMatchParentToSon(mb, mbc); checkMatchBodyVel(mb, mbc); checkMatchJointVelocity(mb, mbc); checkMatchMotionSubspace(mb, mbc); forwardVelocity(mb, mbc); }