Drake
quaternion.h File Reference

Utilities for arithmetic on quaternions. More...

#include <cmath>
#include <Eigen/Dense>
#include "drake/common/eigen_types.h"
Include dependency graph for quaternion.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 > quatConjugate (const Eigen::MatrixBase< Derived > &q)
 
template<typename Derived1 , typename Derived2 >
Vector4< typename Derived1::Scalar > quatProduct (const Eigen::MatrixBase< Derived1 > &q1, const Eigen::MatrixBase< Derived2 > &q2)
 
template<typename DerivedQ , typename DerivedV >
Vector3< typename DerivedV::Scalar > quatRotateVec (const Eigen::MatrixBase< DerivedQ > &q, const Eigen::MatrixBase< DerivedV > &v)
 
template<typename Derived1 , typename Derived2 >
Vector4< typename Derived1::Scalar > quatDiff (const Eigen::MatrixBase< Derived1 > &q1, const Eigen::MatrixBase< Derived2 > &q2)
 
template<typename Derived1 , typename Derived2 , typename DerivedU >
Derived1::Scalar quatDiffAxisInvar (const Eigen::MatrixBase< Derived1 > &q1, const Eigen::MatrixBase< Derived2 > &q2, const Eigen::MatrixBase< DerivedU > &u)
 
template<typename Derived >
Derived::Scalar quatNorm (const Eigen::MatrixBase< Derived > &q)
 
template<typename Derived1 , typename Derived2 , typename Scalar >
Vector4< Scalar > Slerp (const Eigen::MatrixBase< Derived1 > &q1, const Eigen::MatrixBase< Derived2 > &q2, const Scalar &interpolation_parameter)
 Q = Slerp(q1, q2, f) Spherical linear interpolation between two quaternions This function uses the implementation given in Algorithm 8 of [1]. More...
 
template<typename Derived >
Vector4< typename Derived::Scalar > quat2axis (const Eigen::MatrixBase< Derived > &q)
 
template<typename Derived >
Matrix3< typename Derived::Scalar > quat2rotmat (const Eigen::MatrixBase< Derived > &q)
 
template<typename Derived >
Vector3< typename Derived::Scalar > quat2rpy (const Eigen::MatrixBase< Derived > &q)
 
template<typename Derived >
Eigen::Quaternion< typename Derived::Scalar > quat2eigenQuaternion (const Eigen::MatrixBase< Derived > &q)
 

Detailed Description

Utilities for arithmetic on quaternions.