40 for (std::size_t i = 0; i <
frames_.size(); ++i)
41 phi.segment<2>(i * 2) = Eigen::Map<Eigen::Vector3d>(
kinematics[0].Phi(i).p.data).topRows<2>();
49 for (std::size_t i = 0; i <
frames_.size(); ++i)
51 phi.segment<2>(i * 2) = Eigen::Map<Eigen::Vector3d>(
kinematics[0].Phi(i).p.data).topRows<2>();
52 for (
int j = 0; j < jacobian.cols(); ++j)
53 jacobian.middleRows<2>(i).col(j) =
kinematics[0].jacobian[i].data.topRows<2>().col(j);
std::vector< KinematicFrameRequest > frames_
int TaskSpaceDim() override
Eigen::Ref< Eigen::VectorXd > VectorXdRef
Points end-effector to look at a given target by aligning end-effector z-axis with the target...
const Eigen::Ref< const Eigen::VectorXd > & VectorXdRefConst
Eigen::Ref< Eigen::MatrixXd > MatrixXdRef
void Update(Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi) override
REGISTER_TASKMAP_TYPE("LookAt", exotica::LookAt)