9 #include <SpaceVecAlg/SpaceVecAlg>
25 inline Eigen::Matrix3d
rpyToMat(
const double & r,
const double & p,
const double & y)
27 MC_RTC_diagnostic_push
29 return sva::RotX(r) * sva::RotY(p) * sva::RotZ(y);
40 inline Eigen::Matrix3d
rpyToMat(
const Eigen::Vector3d & rpy)
42 return rpyToMat(rpy(0), rpy(1), rpy(2));
52 inline sva::PTransformd
rpyToPT(
const Eigen::Vector3d & rpy)
54 return sva::PTransformd(
rpyToMat(rpy(0), rpy(1), rpy(2)));
68 inline sva::PTransformd
rpyToPT(
const double & r,
const double & p,
const double & y)
70 return sva::PTransformd(
rpyToMat(r, p, y));
83 inline Eigen::Vector3d
rpyFromMat(
const Eigen::Matrix3d & E)
85 double roll = atan2(E(1, 2), E(2, 2));
86 double pitch = -asin(E(0, 2));
87 double yaw = atan2(E(0, 1), E(0, 0));
88 return Eigen::Vector3d(roll, pitch, yaw);
103 inline Eigen::Vector3d
rpyFromQuat(
const Eigen::Quaterniond & quat)
112 if constexpr(std::is_same_v<T, Eigen::Quaterniond>) {
return rpyFromQuat(value); }
Definition: generic_gripper.h:15
Eigen::Vector3d rpyFromQuat(const Eigen::Quaterniond &quat)
Definition: rpy_utils.h:103
Eigen::Vector3d rpyFromMat(const Eigen::Matrix3d &E)
Definition: rpy_utils.h:83
Eigen::Vector3d rpyFromRotation(const T &value)
Definition: rpy_utils.h:110
Eigen::Matrix3d rpyToMat(const double &r, const double &p, const double &y)
Definition: rpy_utils.h:25
sva::PTransformd rpyToPT(const Eigen::Vector3d &rpy)
Definition: rpy_utils.h:52
MC_RTC_diagnostic_push MC_RTC_diagnostic_ignored(GCC, "-Wsign-conversion") MC_RTC_diagnostic_pop namespace sch
Definition: surface_hull.h:11