Kindr
Kinematics and Dynamics for Robotics
kindr Namespace Reference

Namespaces

 quat_internal
 Internal stuff (only for developers)
 

Classes

class  AngleAxis
 Implementation of an angle axis rotation based on Eigen::AngleAxis. More...
 
class  ConventionTest
 Convention tests that need to be fulfilled. More...
 
class  EulerAnglesXyz
 Implementation of Euler angles (X-Y'-Z'' / roll-pitch-yaw) rotation based on Eigen::Matrix<Scalar,3,1> More...
 
class  EulerAnglesXyzDiff
 Implementation of time derivatives of Euler angles (X,Y',Z'' / roll,pitch,yaw) based on Eigen::Matrix<Scalar, 3, 1> More...
 
class  EulerAnglesZyx
 Implementation of Euler angles (Z-Y'-X'' / yaw-pitch-roll) rotation based on Eigen::Matrix<Scalar, 3, 1> More...
 
class  EulerAnglesZyxDiff
 Implementation of time derivatives of Euler angles (Z,Y',X'' / yaw,pitch,roll) based on Eigen::Matrix<Scalar, 3, 1> More...
 
class  GlobalAngularVelocity
 
class  HomogeneousTransformation
 
class  LocalAngularVelocity
 
class  PoseBase
 Base class that defines the interface of a pose of a rigid body. More...
 
class  PoseDiffBase
 Base class that defines the interface of the time derivative of a pose of a rigid body. More...
 
class  Quaternion
 Implementation of a Quaternion based on Eigen::Quaternion. More...
 
class  QuaternionBase
 Base class that defines the interface of a quaternion This class defines a generic interface for a quaternion. More...
 
class  RotationBase
 Representation of a generic rotationThis class defines the generic interface for a rotation. More...
 
class  RotationConversion
 
class  RotationDiffBase
 Interface for an angular velocity. More...
 
class  RotationMatrix
 Implementation of matrix rotation based on Eigen::Matrix<Scalar, 3, 3> More...
 
class  RotationMatrixDiff
 Time derivative of a rotation matrix. More...
 
class  RotationQuaternion
 Implementation of quaternion rotation based on Eigen::Quaternion. More...
 
class  RotationQuaternionDiff
 Time derivative of a rotation quaternion. More...
 
class  RotationVector
 Implementation of a rotation vector based on Eigen::Matrix<Scalar, 3, 1> More...
 
class  Twist
 
class  TwistLinearVelocityGlobalAngularVelocity
 
class  TwistLinearVelocityLocalAngularVelocity
 
class  TwistLinearVelocityRotationQuaternionDiff
 
class  UnitQuaternion
 Implementation of a unit quaternion based on Eigen::Quaternion. More...
 
class  UnitQuaternionBase
 Base class that defines the interface of a unit quaternion This class defines a generic interface for a unit quaternion. More...
 
class  Vector
 Vector in n-dimensional-space. More...
 
class  VectorBase
 Interface for a vector. More...
 
class  Wrench6
 
class  WrenchBase
 

Typedefs

template<typename PrimType_ , int Dimension_>
using Acceleration = Vector< PhysicalType::Acceleration, PrimType_, Dimension_ >
 Acceleration-Vector. More...
 
typedef Acceleration< double, 3 > Acceleration3D
 3D-Acceleration-Vector with primitive type double More...
 
typedef Acceleration< float, 3 > Acceleration3F
 3D-Acceleration-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using AngularAcceleration = Vector< PhysicalType::AngularAcceleration, PrimType_, Dimension_ >
 AngularAcceleration-Vector. More...
 
typedef AngularAcceleration< double, 3 > AngularAcceleration3D
 3D-AngularAcceleration-Vector with primitive type double More...
 
typedef AngularAcceleration< float, 3 > AngularAcceleration3F
 3D-AngularAcceleration-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using AngularJerk = Vector< PhysicalType::AngularJerk, PrimType_, Dimension_ >
 AngularJerk-Vector. More...
 
typedef AngularJerk< double, 3 > AngularJerk3D
 3D-Angle-Vector with primitive type double More...
 
typedef AngularJerk< float, 3 > AngularJerk3F
 3D-Angle-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using AngularVelocity = Vector< PhysicalType::AngularVelocity, PrimType_, Dimension_ >
 AngularVelocity-Vector. More...
 
typedef AngularVelocity< double, 3 > AngularVelocity3D
 3D-Angle-Vector with primitive type double More...
 
typedef AngularVelocity< float, 3 > AngularVelocity3F
 3D-Angle-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using AngularMomentum = Vector< PhysicalType::AngularMomentum, PrimType_, Dimension_ >
 AngularMomentum-Vector. More...
 
typedef AngularMomentum< double, 3 > AngularMomentum3D
 3D-AngularMomentum-Vector with primitive type double More...
 
typedef AngularMomentum< float, 3 > AngularMomentum3F
 3D-AngularMomentum-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using Force = Vector< PhysicalType::Force, PrimType_, Dimension_ >
 Force-Vector. More...
 
typedef Force< double, 3 > Force3D
 3D-Force-Vector with primitive type double More...
 
typedef Force< float, 3 > Force3F
 3D-Force-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using Jerk = Vector< PhysicalType::Jerk, PrimType_, Dimension_ >
 Jerk-Vector. More...
 
typedef Jerk< double, 3 > Jerk3D
 3D-Velocity-Vector with primitive type double More...
 
typedef Jerk< float, 3 > Jerk3F
 3D-Velocity-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using Momentum = Vector< PhysicalType::Momentum, PrimType_, Dimension_ >
 Momentum-Vector. More...
 
typedef Momentum< double, 3 > Momentum3D
 3D-Momentum-Vector with primitive type double More...
 
typedef Momentum< float, 3 > Momentum3F
 3D-Momentum-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using Position = Vector< PhysicalType::Position, PrimType_, Dimension_ >
 Position-Vector. More...
 
typedef Position< double, 3 > Position3D
 3D-Position-Vector with primitive type double More...
 
typedef Position< float, 3 > Position3F
 3D-Position-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using Torque = Vector< PhysicalType::Torque, PrimType_, Dimension_ >
 Torque-Vector. More...
 
typedef Torque< double, 3 > Torque3D
 3D-Torque-Vector with primitive type double More...
 
typedef Torque< float, 3 > Torque3F
 3D-Torque-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using VectorTypeless = Vector< PhysicalType::Typeless, PrimType_, Dimension_ >
 Vector without type (e.g. normal vector) More...
 
typedef VectorTypeless< double, 3 > VectorTypeless3D
 3D-Unitless-Vector with primitive type double More...
 
typedef VectorTypeless< float, 3 > VectorTypeless3F
 3D-Unitless-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using Time = Vector< PhysicalType::Time, PrimType_, Dimension_ >
 Vector without type (e.g. normal vector) More...
 
typedef Time< double, 3 > Time3D
 3D-Unitless-Vector with primitive type double More...
 
typedef Time< float, 3 > Time3F
 3D-Unitless-Vector with primitive type float More...
 
template<typename PrimType_ , int Dimension_>
using Velocity = Vector< PhysicalType::Velocity, PrimType_, Dimension_ >
 Vector without type (e.g. normal vector) More...
 
typedef Velocity< double, 3 > Velocity3D
 3D-Unitless-Vector with primitive type double More...
 
typedef Velocity< float, 3 > Velocity3F
 3D-Unitless-Vector with primitive type float More...
 
typedef Wrench6< double > WrenchD
 
typedef Wrench6< float > WrenchF
 
template<typename PrimType_ >
using HomTransformQuat = HomogeneousTransformation< PrimType_, Position< PrimType_, 3 >, RotationQuaternion< PrimType_ >>
 
typedef HomTransformQuat< double > HomTransformQuatD
 
typedef HomTransformQuat< float > HomTransformQuatF
 
template<typename PrimType_ >
using HomogeneousTransformationPosition3RotationQuaternion = HomogeneousTransformation< PrimType_, Position< PrimType_, 3 >, RotationQuaternion< PrimType_ >>
 
typedef HomogeneousTransformationPosition3RotationQuaternion< double > HomogeneousTransformationPosition3RotationQuaternionD
 
typedef HomogeneousTransformationPosition3RotationQuaternion< float > HomogeneousTransformationPosition3RotationQuaternionF
 
template<typename PrimType_ >
using HomTransformMatrix = HomogeneousTransformation< PrimType_, Position< PrimType_, 3 >, RotationMatrix< PrimType_ >>
 
typedef HomTransformMatrix< double > HomTransformMatrixD
 
typedef HomTransformMatrix< float > HomTransformMatrixF
 
typedef TwistLinearVelocityRotationQuaternionDiff< double > TwistLinearVelocityRotationQuaternionDiffD
 
typedef TwistLinearVelocityRotationQuaternionDiff< float > TwistLinearVelocityRotationQuaternionDiffF
 
typedef TwistLinearVelocityLocalAngularVelocity< double > TwistLinearVelocityLocalAngularVelocityD
 
typedef TwistLinearVelocityLocalAngularVelocity< float > TwistLinearVelocityLocalAngularVelocityF
 
typedef TwistLinearVelocityLocalAngularVelocity< double > TwistLinearVelocityLocalAngularVelocityPD
 
typedef TwistLinearVelocityLocalAngularVelocity< float > TwistLinearVelocityLocalAngularVelocityPF
 
typedef TwistLinearVelocityLocalAngularVelocity< double > TwistLocalD
 
typedef TwistLinearVelocityLocalAngularVelocity< float > TwistLocalF
 
typedef TwistLinearVelocityGlobalAngularVelocity< double > TwistLinearVelocityGlobalAngularVelocityD
 
typedef TwistLinearVelocityGlobalAngularVelocity< float > TwistLinearVelocityGlobalAngularVelocityF
 
typedef TwistLinearVelocityGlobalAngularVelocity< double > TwistLinearVelocityGlobalAngularVelocityPD
 
typedef TwistLinearVelocityGlobalAngularVelocity< float > TwistLinearVelocityGlobalAngularVelocityPF
 
typedef TwistLinearVelocityGlobalAngularVelocity< double > TwistGlobalD
 
typedef TwistLinearVelocityGlobalAngularVelocity< float > TwistGlobalF
 
typedef Quaternion< double > QuaternionD
 Quaternion using double. More...
 
typedef Quaternion< float > QuaternionF
 Quaternion using float. More...
 
typedef UnitQuaternion< double > UnitQuaternionD
 Unit quaternion using double. More...
 
typedef UnitQuaternion< float > UnitQuaternionF
 Unit quaternion using float. More...
 
typedef AngleAxis< double > AngleAxisPD
 Active angle axis rotation with double primitive type. More...
 
typedef AngleAxis< float > AngleAxisPF
 Active angle axis rotation with float primitive type. More...
 
typedef AngleAxis< double > AngleAxisD
 Passive angle axis rotation with double primitive type. More...
 
typedef AngleAxis< float > AngleAxisF
 Passive angle axis rotation with float primitive type. More...
 
typedef EulerAnglesXyz< double > EulerAnglesXyzD
 Active Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with double primitive type. More...
 
typedef EulerAnglesXyz< float > EulerAnglesXyzF
 Active Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with float primitive type. More...
 
typedef EulerAnglesXyz< double > EulerAnglesXyzPD
 Passive Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with double primitive type. More...
 
typedef EulerAnglesXyz< float > EulerAnglesXyzPF
 Passive Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with float primitive type. More...
 
template<typename PrimType_ >
using EulerAnglesRpy = EulerAnglesXyz< PrimType_ >
 Equivalent Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) class. More...
 
typedef EulerAnglesRpy< double > EulerAnglesRpyD
 Active Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with double primitive type. More...
 
typedef EulerAnglesRpy< float > EulerAnglesRpyF
 Active Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with float primitive type. More...
 
typedef EulerAnglesRpy< double > EulerAnglesRpyPD
 Passive Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with double primitive type. More...
 
typedef EulerAnglesRpy< float > EulerAnglesRpyPF
 Passive Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with float primitive type. More...
 
typedef EulerAnglesXyzDiff< double > EulerAnglesXyzDiffPD
 Time derivative of Euler angles with x-y-z convention and primitive type double. More...
 
typedef EulerAnglesXyzDiff< float > EulerAnglesXyzDiffPF
 Time derivative of Euler angles with x-y-z convention and primitive type float. More...
 
typedef EulerAnglesXyzDiff< double > EulerAnglesXyzDiffD
 Time derivative of Euler angles with x-y-z convention and primitive type double. More...
 
typedef EulerAnglesXyzDiff< float > EulerAnglesXyzDiffF
 Time derivative of Euler angles with x-y-z convention and primitive type float. More...
 
typedef EulerAnglesZyx< double > EulerAnglesZyxD
 Active Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with double primitive type. More...
 
typedef EulerAnglesZyx< float > EulerAnglesZyxF
 Active Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with float primitive type. More...
 
typedef EulerAnglesZyx< double > EulerAnglesZyxPD
 Passive Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with double primitive type. More...
 
typedef EulerAnglesZyx< float > EulerAnglesZyxPF
 Passive Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with float primitive type. More...
 
template<typename PrimType_ >
using EulerAnglesYpr = EulerAnglesZyx< PrimType_ >
 Equivalent Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) class. More...
 
typedef EulerAnglesYpr< double > EulerAnglesYprD
 Active Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with double primitive type. More...
 
typedef EulerAnglesYpr< float > EulerAnglesYprF
 Active Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with float primitive type. More...
 
typedef EulerAnglesYpr< double > EulerAnglesYprPD
 Passive Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with double primitive type. More...
 
typedef EulerAnglesYpr< float > EulerAnglesYprPF
 Passive Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with float primitive type. More...
 
typedef EulerAnglesZyxDiff< double > EulerAnglesZyxDiffPD
 Time derivative of Euler angles with z-y-x convention and primitive type double. More...
 
typedef EulerAnglesZyxDiff< float > EulerAnglesZyxDiffPF
 Time derivative of Euler angles with z-y-x convention and primitive type float. More...
 
typedef EulerAnglesZyxDiff< double > EulerAnglesZyxDiffD
 Time derivative of Euler angles with z-y-x convention and primitive type double. More...
 
typedef EulerAnglesZyxDiff< float > EulerAnglesZyxDiffF
 Time derivative of Euler angles with z-y-x convention and primitive type float. More...
 
typedef RotationMatrix< double > RotationMatrixD
 Active matrix rotation with double primitive type. More...
 
typedef RotationMatrix< float > RotationMatrixF
 Active matrix rotation with float primitive type. More...
 
typedef RotationMatrix< double > RotationMatrixPD
 Passive matrix rotation with double primitive type. More...
 
typedef RotationMatrix< float > RotationMatrixPF
 Passive matrix rotation with float primitive type. More...
 
typedef RotationMatrixDiff< double > RotationMatrixDiffPD
 Time derivative of a rotation quaternion with primitive type double. More...
 
typedef RotationMatrixDiff< float > RotationMatrixDiffPF
 Time derivative of a rotation quaternion with primitive type float. More...
 
typedef RotationMatrixDiff< double > RotationMatrixDiffD
 Time derivative of a rotation quaternion with primitive type double. More...
 
typedef RotationMatrixDiff< float > RotationMatrixDiffF
 Time derivative of a rotation quaternion with primitive type float. More...
 
typedef RotationQuaternion< double > RotationQuaternionPD
 Passive quaternion rotation with double primitive type. More...
 
typedef RotationQuaternion< float > RotationQuaternionPF
 Passive quaternion rotation with float primitive type. More...
 
typedef RotationQuaternion< double > RotationQuaternionD
 Passive quaternion rotation with double primitive type. More...
 
typedef RotationQuaternion< float > RotationQuaternionF
 Passive quaternion rotation with float primitive type. More...
 
typedef RotationQuaternionDiff< double > RotationQuaternionDiffPD
 Time derivative of a rotation quaternion with primitive type double. More...
 
typedef RotationQuaternionDiff< float > RotationQuaternionDiffPF
 Time derivative of a rotation quaternion with primitive type float. More...
 
typedef RotationQuaternionDiff< double > RotationQuaternionDiffD
 Time derivative of a rotation quaternion with primitive type double. More...
 
typedef RotationQuaternionDiff< float > RotationQuaternionDiffF
 Time derivative of a rotation quaternion with primitive type float. More...
 
typedef RotationVector< double > RotationVectorD
 Active rotation vector with double primitive type. More...
 
typedef RotationVector< float > RotationVectorF
 Active rotation vector with float primitive type. More...
 
typedef RotationVector< double > RotationVectorPD
 Passive rotation vector with double primitive type. More...
 
typedef RotationVector< float > RotationVectorPF
 Passive rotation vector with float primitive type. More...
 

Enumerations

enum  PhysicalType {
  PhysicalType::Typeless, PhysicalType::Time, PhysicalType::Mass, PhysicalType::Inertia,
  PhysicalType::Power, PhysicalType::Energy, PhysicalType::Jerk, PhysicalType::Acceleration,
  PhysicalType::Velocity, PhysicalType::Position, PhysicalType::Force, PhysicalType::Momentum,
  PhysicalType::AngularJerk, PhysicalType::AngularAcceleration, PhysicalType::AngularVelocity, PhysicalType::Angle,
  PhysicalType::Torque, PhysicalType::AngularMomentum
}
 

Functions

template<typename KINDR_EXCEPTION_T >
void kindr_assert_throw (bool assert_condition, std::string message, kindr::internal::source_file_pos sfp)
 
template<typename SCALAR , typename SCALAR2 , typename SCALAR3 >
bool compareRelative (SCALAR a, SCALAR2 b, SCALAR3 percentTolerance, SCALAR *percentError=NULL, SCALAR bothZeroThreshold=SCALAR(1.0e-15))
 
template<typename SCALAR >
bool compareRelativePeriodic (SCALAR a, SCALAR b, double periodlength, double percentTolerance, SCALAR *percentError=NULL)
 
template<typename T >
floatingPointModulo (T x, T y)
 Floating-point modulo. More...
 
template<typename T >
wrapAngle (T angle, T x1, T x2)
 wrap angle to [x1..x2) More...
 
template<typename T >
wrapPosNegPI (T angle)
 wrap angle to [-PI..PI) More...
 
template<typename T >
wrapTwoPI (T angle)
 wrap angle to [0..2*PI) More...
 
template<typename PrimType_ , int Rows_>
static void setUniformRandom (Eigen::Matrix< PrimType_, Rows_, 1 > &vector, PrimType_ min, PrimType_ max)
 
template<typename T >
double calcRotationQuatDisparityAngleToIdentity (const T &quat)
 
template<typename T >
double calcRotationQuatDisparityAngle (const T &q1, const T &q2)
 
template<typename M1 , typename M2 >
void assertEqual (const M1 &A, const M2 &B, kindr::internal::source_file_pos const &sfp, std::string const &message="")
 
template<typename M1 , typename M2 , typename T >
void assertNear (const M1 &A, const M2 &B, T tolerance, kindr::internal::source_file_pos const &sfp, std::string const &message="")
 
template<typename M1 , typename M2 , typename T >
void expectNear (const M1 &A, const M2 &B, T tolerance, kindr::internal::source_file_pos const &sfp, std::string const &message="")
 
template<typename M1 >
void assertFinite (const M1 &A, kindr::internal::source_file_pos const &sfp, std::string const &message="")
 
template<typename PrimType_ >
static Eigen::Matrix< PrimType_, 3, 3 > getSkewMatrixFromVector (const Eigen::Matrix< PrimType_, 3, 1 > &vec)
 Gets a skew-symmetric matrix from a (column) vector. More...
 
template<typename PrimType_ >
static Eigen::Matrix< PrimType_, 3, 1 > getVectorFromSkewMatrix (const Eigen::Matrix< PrimType_, 3, 3 > &matrix)
 Gets a 3x1 vector from a skew-symmetric matrix. More...
 
template<typename _Matrix_TypeA_ , typename _Matrix_TypeB_ >
static bool pseudoInverse (const _Matrix_TypeA_ &a, _Matrix_TypeB_ &result, double epsilon=std::numeric_limits< typename _Matrix_TypeA_::Scalar >::epsilon())
 Computes the Moore–Penrose pseudoinverse info: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=257. More...
 
template<typename PrimType_ >
static Eigen::Matrix< PrimType_, 3, 3 > getJacobianOfExponentialMap (const Eigen::Matrix< PrimType_, 3, 1 > &vector)
 Gets the 3x3 Jacobian of the exponential map. More...
 
template<enum PhysicalType PhysicalType_, typename PrimTypeFactor_ , typename PrimType_ , int Dimension_>
Vector< PhysicalType_, PrimType_, Dimension_ > operator* (PrimTypeFactor_ factor, const Vector< PhysicalType_, PrimType_, Dimension_ > &vector)
 Multiplies a vector with a scalar. More...
 

Typedef Documentation

template<typename PrimType_ , int Dimension_>
using kindr::Acceleration = typedef Vector<PhysicalType::Acceleration, PrimType_, Dimension_>

Acceleration-Vector.

Definition at line 38 of file PhysicalQuantities.hpp.

typedef Acceleration<double, 3> kindr::Acceleration3D

3D-Acceleration-Vector with primitive type double

Definition at line 40 of file PhysicalQuantities.hpp.

3D-Acceleration-Vector with primitive type float

Definition at line 42 of file PhysicalQuantities.hpp.

typedef AngleAxis<double> kindr::AngleAxisD

Passive angle axis rotation with double primitive type.

Definition at line 322 of file AngleAxis.hpp.

typedef AngleAxis<float> kindr::AngleAxisF

Passive angle axis rotation with float primitive type.

Definition at line 324 of file AngleAxis.hpp.

typedef AngleAxis<double> kindr::AngleAxisPD

Active angle axis rotation with double primitive type.

Definition at line 318 of file AngleAxis.hpp.

typedef AngleAxis<float> kindr::AngleAxisPF

Active angle axis rotation with float primitive type.

Definition at line 320 of file AngleAxis.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::AngularAcceleration = typedef Vector<PhysicalType::AngularAcceleration, PrimType_, Dimension_>

AngularAcceleration-Vector.

Definition at line 46 of file PhysicalQuantities.hpp.

3D-AngularAcceleration-Vector with primitive type double

Definition at line 48 of file PhysicalQuantities.hpp.

3D-AngularAcceleration-Vector with primitive type float

Definition at line 50 of file PhysicalQuantities.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::AngularJerk = typedef Vector<PhysicalType::AngularJerk, PrimType_, Dimension_>

AngularJerk-Vector.

Definition at line 54 of file PhysicalQuantities.hpp.

typedef AngularJerk<double, 3> kindr::AngularJerk3D

3D-Angle-Vector with primitive type double

Definition at line 56 of file PhysicalQuantities.hpp.

typedef AngularJerk<float, 3> kindr::AngularJerk3F

3D-Angle-Vector with primitive type float

Definition at line 58 of file PhysicalQuantities.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::AngularMomentum = typedef Vector<PhysicalType::AngularMomentum, PrimType_, Dimension_>

AngularMomentum-Vector.

Definition at line 70 of file PhysicalQuantities.hpp.

3D-AngularMomentum-Vector with primitive type double

Definition at line 72 of file PhysicalQuantities.hpp.

3D-AngularMomentum-Vector with primitive type float

Definition at line 74 of file PhysicalQuantities.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::AngularVelocity = typedef Vector<PhysicalType::AngularVelocity, PrimType_, Dimension_>

AngularVelocity-Vector.

Definition at line 62 of file PhysicalQuantities.hpp.

3D-Angle-Vector with primitive type double

Definition at line 64 of file PhysicalQuantities.hpp.

3D-Angle-Vector with primitive type float

Definition at line 66 of file PhysicalQuantities.hpp.

template<typename PrimType_ >
using kindr::EulerAnglesRpy = typedef EulerAnglesXyz<PrimType_>

Equivalent Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) class.

Definition at line 445 of file EulerAnglesXyz.hpp.

Active Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with double primitive type.

Definition at line 448 of file EulerAnglesXyz.hpp.

Active Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with float primitive type.

Definition at line 450 of file EulerAnglesXyz.hpp.

Passive Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with double primitive type.

Definition at line 452 of file EulerAnglesXyz.hpp.

Passive Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with float primitive type.

Definition at line 454 of file EulerAnglesXyz.hpp.

Active Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with double primitive type.

Definition at line 435 of file EulerAnglesXyz.hpp.

Time derivative of Euler angles with x-y-z convention and primitive type double.

Definition at line 349 of file EulerAnglesXyzDiff.hpp.

Time derivative of Euler angles with x-y-z convention and primitive type float.

Definition at line 351 of file EulerAnglesXyzDiff.hpp.

Time derivative of Euler angles with x-y-z convention and primitive type double.

Definition at line 345 of file EulerAnglesXyzDiff.hpp.

Time derivative of Euler angles with x-y-z convention and primitive type float.

Definition at line 347 of file EulerAnglesXyzDiff.hpp.

Active Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with float primitive type.

Definition at line 437 of file EulerAnglesXyz.hpp.

Passive Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with double primitive type.

Definition at line 439 of file EulerAnglesXyz.hpp.

Passive Euler angles rotation (X,Y',Z'' / roll,pitch,yaw) with float primitive type.

Definition at line 441 of file EulerAnglesXyz.hpp.

template<typename PrimType_ >
using kindr::EulerAnglesYpr = typedef EulerAnglesZyx<PrimType_>

Equivalent Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) class.

Definition at line 467 of file EulerAnglesZyx.hpp.

Active Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with double primitive type.

Definition at line 470 of file EulerAnglesZyx.hpp.

Active Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with float primitive type.

Definition at line 472 of file EulerAnglesZyx.hpp.

Passive Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with double primitive type.

Definition at line 474 of file EulerAnglesZyx.hpp.

Passive Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with float primitive type.

Definition at line 476 of file EulerAnglesZyx.hpp.

Active Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with double primitive type.

Definition at line 457 of file EulerAnglesZyx.hpp.

Time derivative of Euler angles with z-y-x convention and primitive type double.

Definition at line 255 of file EulerAnglesZyxDiff.hpp.

Time derivative of Euler angles with z-y-x convention and primitive type float.

Definition at line 257 of file EulerAnglesZyxDiff.hpp.

Time derivative of Euler angles with z-y-x convention and primitive type double.

Definition at line 251 of file EulerAnglesZyxDiff.hpp.

Time derivative of Euler angles with z-y-x convention and primitive type float.

Definition at line 253 of file EulerAnglesZyxDiff.hpp.

Active Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with float primitive type.

Definition at line 459 of file EulerAnglesZyx.hpp.

Passive Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with double primitive type.

Definition at line 461 of file EulerAnglesZyx.hpp.

Passive Euler angles rotation (Z,Y',X'' / yaw,pitch,roll) with float primitive type.

Definition at line 463 of file EulerAnglesZyx.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::Force = typedef Vector<PhysicalType::Force, PrimType_, Dimension_>

Force-Vector.

Definition at line 78 of file PhysicalQuantities.hpp.

typedef Force<double, 3> kindr::Force3D

3D-Force-Vector with primitive type double

Definition at line 80 of file PhysicalQuantities.hpp.

typedef Force<float, 3> kindr::Force3F

3D-Force-Vector with primitive type float

Definition at line 82 of file PhysicalQuantities.hpp.

template<typename PrimType_ >
using kindr::HomogeneousTransformationPosition3RotationQuaternion = typedef HomogeneousTransformation<PrimType_, Position<PrimType_, 3>, RotationQuaternion<PrimType_>>

Definition at line 137 of file HomogeneousTransformation.hpp.

template<typename PrimType_ >
using kindr::HomTransformMatrix = typedef HomogeneousTransformation<PrimType_, Position<PrimType_, 3>, RotationMatrix<PrimType_>>

Definition at line 142 of file HomogeneousTransformation.hpp.

template<typename PrimType_ >
using kindr::HomTransformQuat = typedef HomogeneousTransformation<PrimType_, Position<PrimType_, 3>, RotationQuaternion<PrimType_>>

Definition at line 131 of file HomogeneousTransformation.hpp.

Definition at line 132 of file HomogeneousTransformation.hpp.

Definition at line 133 of file HomogeneousTransformation.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::Jerk = typedef Vector<PhysicalType::Jerk, PrimType_, Dimension_>

Jerk-Vector.

Definition at line 86 of file PhysicalQuantities.hpp.

typedef Jerk<double, 3> kindr::Jerk3D

3D-Velocity-Vector with primitive type double

Definition at line 88 of file PhysicalQuantities.hpp.

typedef Jerk<float, 3> kindr::Jerk3F

3D-Velocity-Vector with primitive type float

Definition at line 90 of file PhysicalQuantities.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::Momentum = typedef Vector<PhysicalType::Momentum, PrimType_, Dimension_>

Momentum-Vector.

Definition at line 94 of file PhysicalQuantities.hpp.

typedef Momentum<double, 3> kindr::Momentum3D

3D-Momentum-Vector with primitive type double

Definition at line 96 of file PhysicalQuantities.hpp.

typedef Momentum<float, 3> kindr::Momentum3F

3D-Momentum-Vector with primitive type float

Definition at line 98 of file PhysicalQuantities.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::Position = typedef Vector<PhysicalType::Position, PrimType_, Dimension_>

Position-Vector.

Definition at line 102 of file PhysicalQuantities.hpp.

typedef Position<double, 3> kindr::Position3D

3D-Position-Vector with primitive type double

Definition at line 104 of file PhysicalQuantities.hpp.

typedef Position<float, 3> kindr::Position3F

3D-Position-Vector with primitive type float

Definition at line 106 of file PhysicalQuantities.hpp.

typedef Quaternion<double> kindr::QuaternionD

Quaternion using double.

Definition at line 275 of file Quaternion.hpp.

Quaternion using float.

Definition at line 277 of file Quaternion.hpp.

Active matrix rotation with double primitive type.

Definition at line 266 of file RotationMatrix.hpp.

Time derivative of a rotation quaternion with primitive type double.

Definition at line 170 of file RotationMatrixDiff.hpp.

Time derivative of a rotation quaternion with primitive type float.

Definition at line 172 of file RotationMatrixDiff.hpp.

Time derivative of a rotation quaternion with primitive type double.

Definition at line 166 of file RotationMatrixDiff.hpp.

Time derivative of a rotation quaternion with primitive type float.

Definition at line 168 of file RotationMatrixDiff.hpp.

Active matrix rotation with float primitive type.

Definition at line 268 of file RotationMatrix.hpp.

Passive matrix rotation with double primitive type.

Definition at line 270 of file RotationMatrix.hpp.

Passive matrix rotation with float primitive type.

Definition at line 272 of file RotationMatrix.hpp.

Passive quaternion rotation with double primitive type.

Definition at line 457 of file RotationQuaternion.hpp.

Time derivative of a rotation quaternion with primitive type double.

Definition at line 185 of file RotationQuaternionDiff.hpp.

Time derivative of a rotation quaternion with primitive type float.

Definition at line 187 of file RotationQuaternionDiff.hpp.

Time derivative of a rotation quaternion with primitive type double.

Definition at line 181 of file RotationQuaternionDiff.hpp.

Time derivative of a rotation quaternion with primitive type float.

Definition at line 183 of file RotationQuaternionDiff.hpp.

Passive quaternion rotation with float primitive type.

Definition at line 459 of file RotationQuaternion.hpp.

Passive quaternion rotation with double primitive type.

Definition at line 452 of file RotationQuaternion.hpp.

Passive quaternion rotation with float primitive type.

Definition at line 454 of file RotationQuaternion.hpp.

Active rotation vector with double primitive type.

Definition at line 267 of file RotationVector.hpp.

Active rotation vector with float primitive type.

Definition at line 269 of file RotationVector.hpp.

Passive rotation vector with double primitive type.

Definition at line 271 of file RotationVector.hpp.

Passive rotation vector with float primitive type.

Definition at line 273 of file RotationVector.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::Time = typedef Vector<PhysicalType::Time, PrimType_, Dimension_>

Vector without type (e.g. normal vector)

Definition at line 126 of file PhysicalQuantities.hpp.

typedef Time<double, 3> kindr::Time3D

3D-Unitless-Vector with primitive type double

Definition at line 128 of file PhysicalQuantities.hpp.

typedef Time<float, 3> kindr::Time3F

3D-Unitless-Vector with primitive type float

Definition at line 130 of file PhysicalQuantities.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::Torque = typedef Vector<PhysicalType::Torque, PrimType_, Dimension_>

Torque-Vector.

Definition at line 110 of file PhysicalQuantities.hpp.

typedef Torque<double, 3> kindr::Torque3D

3D-Torque-Vector with primitive type double

Definition at line 112 of file PhysicalQuantities.hpp.

typedef Torque<float, 3> kindr::Torque3F

3D-Torque-Vector with primitive type float

Definition at line 114 of file PhysicalQuantities.hpp.

Definition at line 235 of file Twist.hpp.

Definition at line 236 of file Twist.hpp.

Definition at line 177 of file Twist.hpp.

Definition at line 178 of file Twist.hpp.

Unit quaternion using double.

Definition at line 513 of file Quaternion.hpp.

Unit quaternion using float.

Definition at line 515 of file Quaternion.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::VectorTypeless = typedef Vector<PhysicalType::Typeless, PrimType_, Dimension_>

Vector without type (e.g. normal vector)

Definition at line 118 of file PhysicalQuantities.hpp.

3D-Unitless-Vector with primitive type double

Definition at line 120 of file PhysicalQuantities.hpp.

3D-Unitless-Vector with primitive type float

Definition at line 122 of file PhysicalQuantities.hpp.

template<typename PrimType_ , int Dimension_>
using kindr::Velocity = typedef Vector<PhysicalType::Velocity, PrimType_, Dimension_>

Vector without type (e.g. normal vector)

Definition at line 134 of file PhysicalQuantities.hpp.

typedef Velocity<double, 3> kindr::Velocity3D

3D-Unitless-Vector with primitive type double

Definition at line 136 of file PhysicalQuantities.hpp.

typedef Velocity<float, 3> kindr::Velocity3F

3D-Unitless-Vector with primitive type float

Definition at line 138 of file PhysicalQuantities.hpp.

typedef Wrench6<double> kindr::WrenchD

Definition at line 238 of file Wrench.hpp.

typedef Wrench6<float> kindr::WrenchF

Definition at line 239 of file Wrench.hpp.

Enumeration Type Documentation

enum kindr::PhysicalType
strong
Enumerator
Typeless 
Time 
Mass 
Inertia 
Power 
Energy 
Jerk 
Acceleration 
Velocity 
Position 
Force 
Momentum 
AngularJerk 
AngularAcceleration 
AngularVelocity 
Angle 
Torque 
AngularMomentum 

Definition at line 39 of file PhysicalType.hpp.

Function Documentation

template<typename M1 , typename M2 >
void kindr::assertEqual ( const M1 &  A,
const M2 &  B,
kindr::internal::source_file_pos const &  sfp,
std::string const &  message = "" 
)

Definition at line 59 of file gtest_eigen.hpp.

template<typename M1 >
void kindr::assertFinite ( const M1 &  A,
kindr::internal::source_file_pos const &  sfp,
std::string const &  message = "" 
)

Definition at line 112 of file gtest_eigen.hpp.

template<typename M1 , typename M2 , typename T >
void kindr::assertNear ( const M1 &  A,
const M2 &  B,
tolerance,
kindr::internal::source_file_pos const &  sfp,
std::string const &  message = "" 
)

Definition at line 76 of file gtest_eigen.hpp.

template<typename T >
double kindr::calcRotationQuatDisparityAngle ( const T &  q1,
const T &  q2 
)

Definition at line 52 of file gtest_eigen.hpp.

template<typename T >
double kindr::calcRotationQuatDisparityAngleToIdentity ( const T &  quat)

Definition at line 40 of file gtest_eigen.hpp.

template<typename SCALAR , typename SCALAR2 , typename SCALAR3 >
bool kindr::compareRelative ( SCALAR  a,
SCALAR2  b,
SCALAR3  percentTolerance,
SCALAR *  percentError = NULL,
SCALAR  bothZeroThreshold = SCALAR(1.0e-15) 
)
inline

Definition at line 48 of file assert_macros_eigen.hpp.

template<typename SCALAR >
bool kindr::compareRelativePeriodic ( SCALAR  a,
SCALAR  b,
double  periodlength,
double  percentTolerance,
SCALAR *  percentError = NULL 
)
inline

Definition at line 70 of file assert_macros_eigen.hpp.

template<typename M1 , typename M2 , typename T >
void kindr::expectNear ( const M1 &  A,
const M2 &  B,
tolerance,
kindr::internal::source_file_pos const &  sfp,
std::string const &  message = "" 
)

Definition at line 95 of file gtest_eigen.hpp.

template<typename T >
T kindr::floatingPointModulo ( x,
y 
)

Floating-point modulo.

The result (the remainder) has same sign as the divisor. Similar to matlab's mod(); Not similar to fmod(): floatingPointModulo(-3,4)= 1 fmod(-3,4)= -3

Definition at line 46 of file common.hpp.

template<typename PrimType_ >
static Eigen::Matrix<PrimType_, 3, 3> kindr::getJacobianOfExponentialMap ( const Eigen::Matrix< PrimType_, 3, 1 > &  vector)
inlinestatic

Gets the 3x3 Jacobian of the exponential map.

Parameters
vector3x1-matrix
Returns
matrix (3x3-matrix)

Definition at line 62 of file RotationDiff.hpp.

template<typename PrimType_ >
static Eigen::Matrix<PrimType_, 3, 3> kindr::getSkewMatrixFromVector ( const Eigen::Matrix< PrimType_, 3, 1 > &  vec)
inlinestatic

Gets a skew-symmetric matrix from a (column) vector.

Parameters
vec3x1-matrix (column vector)
Returns
skew 3x3-matrix

Definition at line 41 of file LinearAlgebra.hpp.

template<typename PrimType_ >
static Eigen::Matrix<PrimType_, 3, 1> kindr::getVectorFromSkewMatrix ( const Eigen::Matrix< PrimType_, 3, 3 > &  matrix)
inlinestatic

Gets a 3x1 vector from a skew-symmetric matrix.

Parameters
matrix3x3-matrix
Returns
column vector (3x1-matrix)

Definition at line 53 of file LinearAlgebra.hpp.

template<typename KINDR_EXCEPTION_T >
void kindr::kindr_assert_throw ( bool  assert_condition,
std::string  message,
kindr::internal::source_file_pos  sfp 
)
inline

Definition at line 76 of file assert_macros.hpp.

template<enum PhysicalType PhysicalType_, typename PrimTypeFactor_ , typename PrimType_ , int Dimension_>
Vector<PhysicalType_, PrimType_, Dimension_> kindr::operator* ( PrimTypeFactor_  factor,
const Vector< PhysicalType_, PrimType_, Dimension_ > &  vector 
)

Multiplies a vector with a scalar.

Parameters
factorfactor
Returns
product

Definition at line 578 of file Vector.hpp.

template<typename _Matrix_TypeA_ , typename _Matrix_TypeB_ >
static bool kindr::pseudoInverse ( const _Matrix_TypeA_ &  a,
_Matrix_TypeB_ &  result,
double  epsilon = std::numeric_limits<typename _Matrix_TypeA_::Scalar>::epsilon() 
)
static

Computes the Moore–Penrose pseudoinverse info: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=257.

Parameters
aMatrix to invert
resultResult is written here
epsilonNumerical precision (for example 1e-6)
Returns
true if successful

Definition at line 66 of file LinearAlgebra.hpp.

template<typename PrimType_ , int Rows_>
static void kindr::setUniformRandom ( Eigen::Matrix< PrimType_, Rows_, 1 > &  vector,
PrimType_  min,
PrimType_  max 
)
inlinestatic

Definition at line 110 of file common.hpp.

template<typename T >
T kindr::wrapAngle ( angle,
x1,
x2 
)
inline

wrap angle to [x1..x2)

Definition at line 89 of file common.hpp.

template<typename T >
T kindr::wrapPosNegPI ( angle)
inline

wrap angle to [-PI..PI)

Definition at line 96 of file common.hpp.

template<typename T >
T kindr::wrapTwoPI ( angle)
inline

wrap angle to [0..2*PI)

Definition at line 103 of file common.hpp.