Drake
rotation_matrix.h File Reference
#include <cmath>
#include <limits>
#include <Eigen/Dense>
#include "drake/common/drake_assert.h"
#include "drake/common/drake_throw.h"
#include "drake/common/eigen_types.h"
Include dependency graph for rotation_matrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 drake
 
 drake::math
 

Functions

template<typename Derived >
Vector4< typename Derived::Scalar > rotmat2quat (const Eigen::MatrixBase< Derived > &M)
 Computes one of the quaternion from a rotation matrix. More...
 
template<typename Derived >
Vector4< typename Derived::Scalar > rotmat2axis (const Eigen::MatrixBase< Derived > &R)
 Computes the angle axis representation from a rotation matrix. More...
 
template<typename Derived >
Vector3< typename Derived::Scalar > rotmat2rpy (const Eigen::MatrixBase< Derived > &R)
 Computes SpaceXYZ Euler angles from rotation matrix. More...
 
template<typename Derived >
VectorX< typename Derived::Scalar > rotmat2Representation (const Eigen::MatrixBase< Derived > &R, int rotation_type)
 
template<typename T >
Matrix3< T > XRotation (const T &theta)
 Computes the rotation matrix for rotating by theta (radians) around the positive X axis. More...
 
template<typename T >
Matrix3< T > YRotation (const T &theta)
 Computes the rotation matrix for rotating by theta (radians) around the positive Y axis. More...
 
template<typename T >
Matrix3< T > ZRotation (const T &theta)
 Computes the rotation matrix for rotating by theta (radians) around the positive Z axis. More...
 
template<typename Derived >
Matrix3< typename Derived::Scalar > ProjectMatToOrthonormalMat (const Eigen::MatrixBase< Derived > &M)
 Projects a full-rank 3x3 matrix M onto O(3), defined as. More...
 
template<typename Derived >
Matrix3< typename Derived::Scalar > ProjectMatToRotMat (const Eigen::MatrixBase< Derived > &M)
 Projects a full-rank 3x3 matrix M onto SO(3), defined as. More...
 
template<typename Derived >
double ProjectMatToRotMatWithAxis (const Eigen::MatrixBase< Derived > &M, const Eigen::Ref< const Eigen::Vector3d > &axis, double angle_lb, double angle_ub)
 Projects a 3 x 3 matrix M onto SO(3). More...