pinocchio  2.6.3
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
rpy.hpp
1 //
2 // Copyright (c) 2016-2020 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_math_rpy_hpp__
6 #define __pinocchio_math_rpy_hpp__
7 
8 #include "pinocchio/math/fwd.hpp"
9 #include "pinocchio/math/comparison-operators.hpp"
10 #include "pinocchio/multibody/fwd.hpp"
11 
12 namespace pinocchio
13 {
14  namespace rpy
15  {
23  template<typename Scalar>
24  Eigen::Matrix<Scalar,3,3>
25  rpyToMatrix(const Scalar& r,
26  const Scalar& p,
27  const Scalar& y);
28 
36  template<typename Vector3Like>
37  Eigen::Matrix<typename Vector3Like::Scalar,3,3,PINOCCHIO_EIGEN_PLAIN_TYPE(Vector3Like)::Options>
38  rpyToMatrix(const Eigen::MatrixBase<Vector3Like> & rpy);
39 
53  template<typename Matrix3Like>
54  Eigen::Matrix<typename Matrix3Like::Scalar,3,1,PINOCCHIO_EIGEN_PLAIN_TYPE(Matrix3Like)::Options>
55  matrixToRpy(const Eigen::MatrixBase<Matrix3Like> & R);
56 
72  template<typename Vector3Like>
73  Eigen::Matrix<typename Vector3Like::Scalar,3,3,PINOCCHIO_EIGEN_PLAIN_TYPE(Vector3Like)::Options>
74  computeRpyJacobian(const Eigen::MatrixBase<Vector3Like> & rpy, const ReferenceFrame rf=LOCAL);
75 
91  template<typename Vector3Like>
92  Eigen::Matrix<typename Vector3Like::Scalar,3,3,PINOCCHIO_EIGEN_PLAIN_TYPE(Vector3Like)::Options>
93  computeRpyJacobianInverse(const Eigen::MatrixBase<Vector3Like> & rpy, const ReferenceFrame rf=LOCAL);
94 
111  template<typename Vector3Like0, typename Vector3Like1>
112  Eigen::Matrix<typename Vector3Like0::Scalar,3,3,PINOCCHIO_EIGEN_PLAIN_TYPE(Vector3Like0)::Options>
113  computeRpyJacobianTimeDerivative(const Eigen::MatrixBase<Vector3Like0> & rpy, const Eigen::MatrixBase<Vector3Like1> & rpydot, const ReferenceFrame rf=LOCAL);
114  } // namespace rpy
115 }
116 
117 /* --- Details -------------------------------------------------------------------- */
118 #include "pinocchio/math/rpy.hxx"
119 
120 #endif //#ifndef __pinocchio_math_rpy_hpp__
The LOCAL frame convention corresponds to the frame directly attached to the moving part (Joint...
Definition: fwd.hpp:47
Eigen::Matrix< typename Vector3Like0::Scalar, 3, 3, Vector3Like0 ::Options > computeRpyJacobianTimeDerivative(const Eigen::MatrixBase< Vector3Like0 > &rpy, const Eigen::MatrixBase< Vector3Like1 > &rpydot, const ReferenceFrame rf=LOCAL)
Compute the time derivative Jacobian of the Roll-Pitch-Yaw conversion.
Eigen::Matrix< typename Matrix3Like::Scalar, 3, 1, Matrix3Like ::Options > matrixToRpy(const Eigen::MatrixBase< Matrix3Like > &R)
Convert from Transformation Matrix to Roll, Pitch, Yaw.
ReferenceFrame
List of Reference Frames supported by Pinocchio.
Definition: fwd.hpp:44
Eigen::Matrix< typename Vector3Like::Scalar, 3, 3, Vector3Like ::Options > computeRpyJacobian(const Eigen::MatrixBase< Vector3Like > &rpy, const ReferenceFrame rf=LOCAL)
Compute the Jacobian of the Roll-Pitch-Yaw conversion.
Eigen::Matrix< typename Vector3Like::Scalar, 3, 3, Vector3Like ::Options > computeRpyJacobianInverse(const Eigen::MatrixBase< Vector3Like > &rpy, const ReferenceFrame rf=LOCAL)
Compute the inverse Jacobian of the Roll-Pitch-Yaw conversion.
Main pinocchio namespace.
Definition: treeview.dox:24
Eigen::Matrix< Scalar, 3, 3 > rpyToMatrix(const Scalar &r, const Scalar &p, const Scalar &y)
Convert from Roll, Pitch, Yaw to rotation Matrix.