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

◆ Acceleration

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

Acceleration-Vector.

Definition at line 38 of file PhysicalQuantities.hpp.

◆ Acceleration3D

typedef Acceleration<double, 3> kindr::Acceleration3D

3D-Acceleration-Vector with primitive type double

Definition at line 40 of file PhysicalQuantities.hpp.

◆ Acceleration3F

3D-Acceleration-Vector with primitive type float

Definition at line 42 of file PhysicalQuantities.hpp.

◆ AngleAxisD

typedef AngleAxis<double> kindr::AngleAxisD

Passive angle axis rotation with double primitive type.

Definition at line 322 of file AngleAxis.hpp.

◆ AngleAxisF

typedef AngleAxis<float> kindr::AngleAxisF

Passive angle axis rotation with float primitive type.

Definition at line 324 of file AngleAxis.hpp.

◆ AngleAxisPD

typedef AngleAxis<double> kindr::AngleAxisPD

Active angle axis rotation with double primitive type.

Definition at line 318 of file AngleAxis.hpp.

◆ AngleAxisPF

typedef AngleAxis<float> kindr::AngleAxisPF

Active angle axis rotation with float primitive type.

Definition at line 320 of file AngleAxis.hpp.

◆ AngularAcceleration

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

AngularAcceleration-Vector.

Definition at line 46 of file PhysicalQuantities.hpp.

◆ AngularAcceleration3D

3D-AngularAcceleration-Vector with primitive type double

Definition at line 48 of file PhysicalQuantities.hpp.

◆ AngularAcceleration3F

3D-AngularAcceleration-Vector with primitive type float

Definition at line 50 of file PhysicalQuantities.hpp.

◆ AngularJerk

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

AngularJerk-Vector.

Definition at line 54 of file PhysicalQuantities.hpp.

◆ AngularJerk3D

typedef AngularJerk<double, 3> kindr::AngularJerk3D

3D-Angle-Vector with primitive type double

Definition at line 56 of file PhysicalQuantities.hpp.

◆ AngularJerk3F

typedef AngularJerk<float, 3> kindr::AngularJerk3F

3D-Angle-Vector with primitive type float

Definition at line 58 of file PhysicalQuantities.hpp.

◆ AngularMomentum

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

AngularMomentum-Vector.

Definition at line 70 of file PhysicalQuantities.hpp.

◆ AngularMomentum3D

3D-AngularMomentum-Vector with primitive type double

Definition at line 72 of file PhysicalQuantities.hpp.

◆ AngularMomentum3F

3D-AngularMomentum-Vector with primitive type float

Definition at line 74 of file PhysicalQuantities.hpp.

◆ AngularVelocity

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

AngularVelocity-Vector.

Definition at line 62 of file PhysicalQuantities.hpp.

◆ AngularVelocity3D

3D-Angle-Vector with primitive type double

Definition at line 64 of file PhysicalQuantities.hpp.

◆ AngularVelocity3F

3D-Angle-Vector with primitive type float

Definition at line 66 of file PhysicalQuantities.hpp.

◆ EulerAnglesRpy

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.

◆ EulerAnglesRpyD

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

Definition at line 448 of file EulerAnglesXyz.hpp.

◆ EulerAnglesRpyF

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

Definition at line 450 of file EulerAnglesXyz.hpp.

◆ EulerAnglesRpyPD

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

Definition at line 452 of file EulerAnglesXyz.hpp.

◆ EulerAnglesRpyPF

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

Definition at line 454 of file EulerAnglesXyz.hpp.

◆ EulerAnglesXyzD

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

Definition at line 435 of file EulerAnglesXyz.hpp.

◆ EulerAnglesXyzDiffD

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

Definition at line 349 of file EulerAnglesXyzDiff.hpp.

◆ EulerAnglesXyzDiffF

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

Definition at line 351 of file EulerAnglesXyzDiff.hpp.

◆ EulerAnglesXyzDiffPD

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

Definition at line 345 of file EulerAnglesXyzDiff.hpp.

◆ EulerAnglesXyzDiffPF

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

Definition at line 347 of file EulerAnglesXyzDiff.hpp.

◆ EulerAnglesXyzF

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

Definition at line 437 of file EulerAnglesXyz.hpp.

◆ EulerAnglesXyzPD

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

Definition at line 439 of file EulerAnglesXyz.hpp.

◆ EulerAnglesXyzPF

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

Definition at line 441 of file EulerAnglesXyz.hpp.

◆ EulerAnglesYpr

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.

◆ EulerAnglesYprD

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

Definition at line 470 of file EulerAnglesZyx.hpp.

◆ EulerAnglesYprF

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

Definition at line 472 of file EulerAnglesZyx.hpp.

◆ EulerAnglesYprPD

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

Definition at line 474 of file EulerAnglesZyx.hpp.

◆ EulerAnglesYprPF

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

Definition at line 476 of file EulerAnglesZyx.hpp.

◆ EulerAnglesZyxD

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

Definition at line 457 of file EulerAnglesZyx.hpp.

◆ EulerAnglesZyxDiffD

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

Definition at line 255 of file EulerAnglesZyxDiff.hpp.

◆ EulerAnglesZyxDiffF

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

Definition at line 257 of file EulerAnglesZyxDiff.hpp.

◆ EulerAnglesZyxDiffPD

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

Definition at line 251 of file EulerAnglesZyxDiff.hpp.

◆ EulerAnglesZyxDiffPF

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

Definition at line 253 of file EulerAnglesZyxDiff.hpp.

◆ EulerAnglesZyxF

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

Definition at line 459 of file EulerAnglesZyx.hpp.

◆ EulerAnglesZyxPD

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

Definition at line 461 of file EulerAnglesZyx.hpp.

◆ EulerAnglesZyxPF

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

Definition at line 463 of file EulerAnglesZyx.hpp.

◆ Force

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

Force-Vector.

Definition at line 78 of file PhysicalQuantities.hpp.

◆ Force3D

typedef Force<double, 3> kindr::Force3D

3D-Force-Vector with primitive type double

Definition at line 80 of file PhysicalQuantities.hpp.

◆ Force3F

typedef Force<float, 3> kindr::Force3F

3D-Force-Vector with primitive type float

Definition at line 82 of file PhysicalQuantities.hpp.

◆ HomogeneousTransformationPosition3RotationQuaternion

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

Definition at line 137 of file HomogeneousTransformation.hpp.

◆ HomogeneousTransformationPosition3RotationQuaternionD

◆ HomogeneousTransformationPosition3RotationQuaternionF

◆ HomTransformMatrix

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

Definition at line 142 of file HomogeneousTransformation.hpp.

◆ HomTransformMatrixD

◆ HomTransformMatrixF

◆ HomTransformQuat

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

Definition at line 131 of file HomogeneousTransformation.hpp.

◆ HomTransformQuatD

Definition at line 132 of file HomogeneousTransformation.hpp.

◆ HomTransformQuatF

Definition at line 133 of file HomogeneousTransformation.hpp.

◆ Jerk

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

Jerk-Vector.

Definition at line 86 of file PhysicalQuantities.hpp.

◆ Jerk3D

typedef Jerk<double, 3> kindr::Jerk3D

3D-Velocity-Vector with primitive type double

Definition at line 88 of file PhysicalQuantities.hpp.

◆ Jerk3F

typedef Jerk<float, 3> kindr::Jerk3F

3D-Velocity-Vector with primitive type float

Definition at line 90 of file PhysicalQuantities.hpp.

◆ Momentum

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

Momentum-Vector.

Definition at line 94 of file PhysicalQuantities.hpp.

◆ Momentum3D

typedef Momentum<double, 3> kindr::Momentum3D

3D-Momentum-Vector with primitive type double

Definition at line 96 of file PhysicalQuantities.hpp.

◆ Momentum3F

typedef Momentum<float, 3> kindr::Momentum3F

3D-Momentum-Vector with primitive type float

Definition at line 98 of file PhysicalQuantities.hpp.

◆ Position

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

Position-Vector.

Definition at line 102 of file PhysicalQuantities.hpp.

◆ Position3D

typedef Position<double, 3> kindr::Position3D

3D-Position-Vector with primitive type double

Definition at line 104 of file PhysicalQuantities.hpp.

◆ Position3F

typedef Position<float, 3> kindr::Position3F

3D-Position-Vector with primitive type float

Definition at line 106 of file PhysicalQuantities.hpp.

◆ QuaternionD

typedef Quaternion<double> kindr::QuaternionD

Quaternion using double.

Definition at line 275 of file Quaternion.hpp.

◆ QuaternionF

Quaternion using float.

Definition at line 277 of file Quaternion.hpp.

◆ RotationMatrixD

Active matrix rotation with double primitive type.

Definition at line 266 of file RotationMatrix.hpp.

◆ RotationMatrixDiffD

Time derivative of a rotation quaternion with primitive type double.

Definition at line 170 of file RotationMatrixDiff.hpp.

◆ RotationMatrixDiffF

Time derivative of a rotation quaternion with primitive type float.

Definition at line 172 of file RotationMatrixDiff.hpp.

◆ RotationMatrixDiffPD

Time derivative of a rotation quaternion with primitive type double.

Definition at line 166 of file RotationMatrixDiff.hpp.

◆ RotationMatrixDiffPF

Time derivative of a rotation quaternion with primitive type float.

Definition at line 168 of file RotationMatrixDiff.hpp.

◆ RotationMatrixF

Active matrix rotation with float primitive type.

Definition at line 268 of file RotationMatrix.hpp.

◆ RotationMatrixPD

Passive matrix rotation with double primitive type.

Definition at line 270 of file RotationMatrix.hpp.

◆ RotationMatrixPF

Passive matrix rotation with float primitive type.

Definition at line 272 of file RotationMatrix.hpp.

◆ RotationQuaternionD

Passive quaternion rotation with double primitive type.

Definition at line 457 of file RotationQuaternion.hpp.

◆ RotationQuaternionDiffD

Time derivative of a rotation quaternion with primitive type double.

Definition at line 185 of file RotationQuaternionDiff.hpp.

◆ RotationQuaternionDiffF

Time derivative of a rotation quaternion with primitive type float.

Definition at line 187 of file RotationQuaternionDiff.hpp.

◆ RotationQuaternionDiffPD

Time derivative of a rotation quaternion with primitive type double.

Definition at line 181 of file RotationQuaternionDiff.hpp.

◆ RotationQuaternionDiffPF

Time derivative of a rotation quaternion with primitive type float.

Definition at line 183 of file RotationQuaternionDiff.hpp.

◆ RotationQuaternionF

Passive quaternion rotation with float primitive type.

Definition at line 459 of file RotationQuaternion.hpp.

◆ RotationQuaternionPD

Passive quaternion rotation with double primitive type.

Definition at line 452 of file RotationQuaternion.hpp.

◆ RotationQuaternionPF

Passive quaternion rotation with float primitive type.

Definition at line 454 of file RotationQuaternion.hpp.

◆ RotationVectorD

Active rotation vector with double primitive type.

Definition at line 267 of file RotationVector.hpp.

◆ RotationVectorF

Active rotation vector with float primitive type.

Definition at line 269 of file RotationVector.hpp.

◆ RotationVectorPD

Passive rotation vector with double primitive type.

Definition at line 271 of file RotationVector.hpp.

◆ RotationVectorPF

Passive rotation vector with float primitive type.

Definition at line 273 of file RotationVector.hpp.

◆ Time

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.

◆ Time3D

typedef Time<double, 3> kindr::Time3D

3D-Unitless-Vector with primitive type double

Definition at line 128 of file PhysicalQuantities.hpp.

◆ Time3F

typedef Time<float, 3> kindr::Time3F

3D-Unitless-Vector with primitive type float

Definition at line 130 of file PhysicalQuantities.hpp.

◆ Torque

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

Torque-Vector.

Definition at line 110 of file PhysicalQuantities.hpp.

◆ Torque3D

typedef Torque<double, 3> kindr::Torque3D

3D-Torque-Vector with primitive type double

Definition at line 112 of file PhysicalQuantities.hpp.

◆ Torque3F

typedef Torque<float, 3> kindr::Torque3F

3D-Torque-Vector with primitive type float

Definition at line 114 of file PhysicalQuantities.hpp.

◆ TwistGlobalD

Definition at line 235 of file Twist.hpp.

◆ TwistGlobalF

Definition at line 236 of file Twist.hpp.

◆ TwistLinearVelocityGlobalAngularVelocityD

◆ TwistLinearVelocityGlobalAngularVelocityF

◆ TwistLinearVelocityGlobalAngularVelocityPD

◆ TwistLinearVelocityGlobalAngularVelocityPF

◆ TwistLinearVelocityLocalAngularVelocityD

◆ TwistLinearVelocityLocalAngularVelocityF

◆ TwistLinearVelocityLocalAngularVelocityPD

◆ TwistLinearVelocityLocalAngularVelocityPF

◆ TwistLinearVelocityRotationQuaternionDiffD

◆ TwistLinearVelocityRotationQuaternionDiffF

◆ TwistLocalD

Definition at line 177 of file Twist.hpp.

◆ TwistLocalF

Definition at line 178 of file Twist.hpp.

◆ UnitQuaternionD

Unit quaternion using double.

Definition at line 513 of file Quaternion.hpp.

◆ UnitQuaternionF

Unit quaternion using float.

Definition at line 515 of file Quaternion.hpp.

◆ VectorTypeless

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.

◆ VectorTypeless3D

3D-Unitless-Vector with primitive type double

Definition at line 120 of file PhysicalQuantities.hpp.

◆ VectorTypeless3F

3D-Unitless-Vector with primitive type float

Definition at line 122 of file PhysicalQuantities.hpp.

◆ Velocity

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.

◆ Velocity3D

typedef Velocity<double, 3> kindr::Velocity3D

3D-Unitless-Vector with primitive type double

Definition at line 136 of file PhysicalQuantities.hpp.

◆ Velocity3F

typedef Velocity<float, 3> kindr::Velocity3F

3D-Unitless-Vector with primitive type float

Definition at line 138 of file PhysicalQuantities.hpp.

◆ WrenchD

typedef Wrench6<double> kindr::WrenchD

Definition at line 238 of file Wrench.hpp.

◆ WrenchF

typedef Wrench6<float> kindr::WrenchF

Definition at line 239 of file Wrench.hpp.

Enumeration Type Documentation

◆ PhysicalType

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

◆ assertEqual()

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.

◆ assertFinite()

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.

◆ assertNear()

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.

◆ calcRotationQuatDisparityAngle()

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

Definition at line 52 of file gtest_eigen.hpp.

◆ calcRotationQuatDisparityAngleToIdentity()

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

Definition at line 40 of file gtest_eigen.hpp.

◆ compareRelative()

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.

◆ compareRelativePeriodic()

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.

◆ expectNear()

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.

◆ floatingPointModulo()

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.

◆ getJacobianOfExponentialMap()

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.

◆ getSkewMatrixFromVector()

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.

◆ getVectorFromSkewMatrix()

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.

◆ kindr_assert_throw()

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.

◆ operator*()

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.

◆ pseudoInverse()

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.

◆ setUniformRandom()

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.

◆ wrapAngle()

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

wrap angle to [x1..x2)

Definition at line 89 of file common.hpp.

◆ wrapPosNegPI()

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

wrap angle to [-PI..PI)

Definition at line 96 of file common.hpp.

◆ wrapTwoPI()

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

wrap angle to [0..2*PI)

Definition at line 103 of file common.hpp.