Go to the documentation of this file.
6 #ifndef __pinocchio_python_explog_hpp__
7 #define __pinocchio_python_explog_hpp__
16 template<
typename Vector3Like>
24 template<
typename Vector3Like>
32 typedef Eigen::Map<Quaternion_t> QuaternionMap_t;
36 QuaternionMap_t quat_out(
res.derived().data());
41 template<
typename Vector3Like>
46 typedef Eigen::Matrix<
54 template<
typename Matrix3Like>
63 template<
typename Matrix3Like,
typename Vector3Like>
65 Hlog3_proxy(
const Matrix3Like & M,
const Vector3Like &
v)
73 template<
typename Scalar,
int Options>
79 template<
typename Vector6Like>
86 template<
typename Vector6Like>
91 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector6Like, 6);
95 template<
typename Scalar,
int Options>
104 template<
typename Scalar,
int Options>
113 template<
typename Vector6Like>
120 typedef typename Motion::Matrix6 ReturnType;
126 template<
typename Matrix3Like>
134 template<
typename Matrix3Like,
typename Matrix1Like>
139 return log3(
R, theta.coeffRef(0, 0));
142 template<
typename Matrix3Like,
typename Scalar>
147 return log3(
R, theta);
150 template<
typename QuaternionLike>
161 template<
typename Vector4Like>
166 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector4Like, 4);
170 typedef Eigen::Map<const Quaternion_t> ConstQuaternionMap_t;
172 ConstQuaternionMap_t
q(
v.derived().data());
178 template<
typename Vector4Like,
typename Matrix1Like>
183 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector4Like, 4);
187 typedef Eigen::Map<const Quaternion_t> ConstQuaternionMap_t;
189 ConstQuaternionMap_t
q(
v.derived().data());
196 template<
typename Vector4Like,
typename _Scalar>
201 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector4Like, 4);
205 typedef Eigen::Map<const Quaternion_t> ConstQuaternionMap_t;
207 ConstQuaternionMap_t
q(
v.derived().data());
214 template<
typename Matrix4Like>
218 return log6(homegenous_matrix);
221 template<
typename Vector7Like>
225 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector7Like, 7);
231 typedef Eigen::Quaternion<Scalar, Options>
Quaternion;
232 typedef Eigen::Map<const Quaternion, Options> ConstQuaternionMap;
233 typedef Eigen::Matrix<Scalar, 3, 1, Options>
Vector3;
235 const Vector3 v(
q.derived().template head<3>());
236 ConstQuaternionMap
quat(
q.derived().template tail<4>().data());
243 #endif // ifndef __pinocchio_python_explog_hpp__
Eigen::Matrix< typename Vector4Like::Scalar, 3, 1, PINOCCHIO_EIGEN_PLAIN_TYPE(Vector4Like)::Options > log3_proxy_quatvec_fix(const Vector4Like &v, _Scalar &theta)
Eigen::Matrix< typename Vector3Like::Scalar, 3, 3, PINOCCHIO_EIGEN_PLAIN_TYPE(Vector3Like)::Options > Jexp3_proxy(const Vector3Like &v)
void Jexp6(const MotionDense< MotionDerived > &nu, const Eigen::MatrixBase< Matrix6Like > &Jexp)
Derivative of exp6 Computed as the inverse of Jlog6.
Eigen::Matrix< typename Vector3Like::Scalar, 4, 1, PINOCCHIO_EIGEN_PLAIN_TYPE(Vector3Like)::Options > exp3_proxy_quat(const Vector3Like &v)
bool isNormalized(const Eigen::QuaternionBase< Quaternion > &quat, const typename Quaternion::Coefficients::RealScalar &prec=Eigen::NumTraits< typename Quaternion::Coefficients::RealScalar >::dummy_precision())
Check whether the input quaternion is Normalized within the given precision.
Eigen::Matrix< typename Matrix3Like::Scalar, 3, 1, PINOCCHIO_EIGEN_PLAIN_TYPE(Matrix3Like)::Options > log3_proxy(const Matrix3Like &R)
Eigen::Matrix< typename Vector3Like::Scalar, 3, 3, PINOCCHIO_EIGEN_PLAIN_TYPE(Vector3Like)::Options > exp3(const Eigen::MatrixBase< Vector3Like > &v)
Exp: so3 -> SO3.
void Jlog6(const SE3Tpl< Scalar, Options > &M, const Eigen::MatrixBase< Matrix6Like > &Jlog)
Derivative of log6.
PINOCCHIO_EIGEN_PLAIN_TYPE(MatrixType) inv(const Eigen
MotionTpl< typename Matrix4Like::Scalar, PINOCCHIO_EIGEN_PLAIN_TYPE(Matrix4Like)::Options > log6_proxy(const Matrix4Like &homegenous_matrix)
void Jlog3(const Scalar &theta, const Eigen::MatrixBase< Vector3Like > &log, const Eigen::MatrixBase< Matrix3Like > &Jlog)
Derivative of log3.
Eigen::Quaternion< Scalar, Options > Quaternion
MotionTpl< typename Vector7Like::Scalar, PINOCCHIO_EIGEN_PLAIN_TYPE(Vector7Like)::Options > log6_proxy_quatvec(const Vector7Like &q)
Eigen::Matrix< typename Matrix3Like::Scalar, 3, 1, PINOCCHIO_EIGEN_PLAIN_TYPE(Matrix3Like)::Options > log3_proxy_fix(const Matrix3Like &R, Scalar &theta)
void exp3(const Eigen::MatrixBase< Vector3Like > &v, Eigen::QuaternionBase< QuaternionLike > &quat_out)
Exp: so3 -> SO3 (quaternion)
SE3Tpl< typename MotionDerived::Scalar, PINOCCHIO_EIGEN_PLAIN_TYPE(typename MotionDerived::Vector3)::Options > exp6(const MotionDense< MotionDerived > &nu)
Exp: se3 -> SE3.
Eigen::Matrix< typename QuaternionLike::Scalar, 3, 1, PINOCCHIO_EIGEN_PLAIN_TYPE(typename QuaternionLike::Vector3)::Options > log3(const Eigen::QuaternionBase< QuaternionLike > &quat, typename QuaternionLike::Scalar &theta)
Same as log3 but with a unit quaternion as input.
Eigen::Matrix< typename Vector6Like::Scalar, 7, 1, PINOCCHIO_EIGEN_PLAIN_TYPE(Vector6Like)::Options > exp6_proxy_quatvec(const Vector6Like &vec6)
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
SE3Tpl< Scalar, Options >::Matrix6 Jlog6_proxy(const SE3Tpl< Scalar, Options > &M)
MotionTpl<::CppAD::AD< double >, 0 > Motion
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
#define PINOCCHIO_DEFAULT_QUATERNION_NORM_TOLERANCE_VALUE
MotionTpl< Scalar, Options > log6(const SE3Tpl< Scalar, Options > &M)
Log: SE3 -> se3.
void exp6(const MotionDense< MotionDerived > &motion, Eigen::MatrixBase< Config_t > &qout)
The se3 -> SE3 exponential map, using quaternions to represent the output rotation.
MotionTpl< Scalar, Options >::Matrix6 Jexp6_proxy(const MotionTpl< Scalar, Options > &v)
void Jexp3(const Eigen::MatrixBase< Vector3Like > &r, const Eigen::MatrixBase< Matrix3Like > &Jexp)
Derivative of .
Eigen::Matrix< typename Matrix3Like::Scalar, 3, 1, PINOCCHIO_EIGEN_PLAIN_TYPE(Matrix3Like)::Options > log3(const Eigen::MatrixBase< Matrix3Like > &R, typename Matrix3Like::Scalar &theta)
Same as log3.
Eigen::Matrix< typename Vector3Like::Scalar, 3, 3, PINOCCHIO_EIGEN_PLAIN_TYPE(Vector3Like)::Options > exp3_proxy(const Vector3Like &v)
SE3Tpl< Scalar, Options > exp6_proxy(const MotionTpl< Scalar, Options > &v)
Eigen::Matrix< typename Vector4Like::Scalar, 3, 1, PINOCCHIO_EIGEN_PLAIN_TYPE(Vector4Like)::Options > log3_proxy_quatvec(const Vector4Like &v)
Main pinocchio namespace.
pinocchio
Author(s):
autogenerated on Fri Nov 1 2024 02:41:43