Rigid Body Dynamics Library
rbdl_math.h
Go to the documentation of this file.
1/*
2 * RBDL - Rigid Body Dynamics Library
3 * Copyright (c) 2011-2018 Martin Felis <martin@fysx.org>
4 *
5 * Licensed under the zlib license. See LICENSE for more details.
6 */
7
8#ifndef RBDL_MATH_H
9#define RBDL_MATH_H
10
11#include "rbdl/rbdl_config.h"
12
13#ifdef RBDL_USE_CASADI_MATH
15
22
25
29
32
33
34#else
35#include <Eigen/Dense>
36#include <Eigen/Core>
37#include <Eigen/StdVector>
38#include <Eigen/QR>
39
40#include "rbdl/rbdl_eigenmath.h"
41
42typedef double Vector1_t;
43typedef Eigen::Matrix<double, 2, 2> Matrix2_t;
44typedef Eigen::Matrix<double, 6, 3> Matrix63_t;
45typedef Eigen::Matrix<double, 4, 3> Matrix43_t;
46
47typedef Eigen::VectorXd VectorN_t;
48typedef Eigen::MatrixXd MatrixN_t;
49#endif
50
51namespace RigidBodyDynamics {
52
54namespace Math {
68
69} /* Math */
70
71} /* RigidBodyDynamics */
72
73#include "rbdl/Quaternion.h"
75
76// If we use Eigen3 we have to create specializations of the STL
77// std::vector such that the alignment is done properly.
78#ifndef RBDL_USE_CASADI_MATH
79EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(RigidBodyDynamics::Math::SpatialVector)
80EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(RigidBodyDynamics::Math::SpatialMatrix)
81EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(RigidBodyDynamics::Math::Matrix63)
82EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(RigidBodyDynamics::Math::Matrix43)
83EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(RigidBodyDynamics::Math::SpatialTransform)
84EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(RigidBodyDynamics::Math::SpatialRigidBodyInertia)
85#endif
86
87 /* RBDL_MATH_H_H */
88#endif
SpatialMatrix_t SpatialMatrix
Definition: rbdl_math.h:62
SpatialVector_t SpatialVector
Definition: rbdl_math.h:61
RBDLCasadiMath::MX_Xd_static< 2, 1 > Vector2_t
Definition: rbdl_math.h:17
RBDLCasadiMath::MX_Xd_static< 3, 3 > Matrix3_t
Definition: rbdl_math.h:20
RBDLCasadiMath::MX_Xd_static< 4, 4 > Matrix4_t
Definition: rbdl_math.h:28
RBDLCasadiMath::MX_Xd_static< 4, 3 > Matrix43_t
Definition: rbdl_math.h:27
RBDLCasadiMath::MX_Xd_static< 6, 6 > SpatialMatrix_t
Definition: rbdl_math.h:24
RBDLCasadiMath::MX_Xd_static< 6, 1 > SpatialVector_t
Definition: rbdl_math.h:23
RBDLCasadiMath::MX_Xd_static< 3, 1 > Vector3_t
Definition: rbdl_math.h:18
RBDLCasadiMath::MX_Xd_static< 6, 3 > Matrix63_t
Definition: rbdl_math.h:26
RBDLCasadiMath::MX_Xd_dynamic MatrixN_t
Definition: rbdl_math.h:30
RBDLCasadiMath::MX_Xd_scalar Vector1_t
Definition: rbdl_math.h:16
RBDLCasadiMath::MX_Xd_dynamic VectorN_t
Definition: rbdl_math.h:31
RBDLCasadiMath::MX_Xd_static< 4, 1 > Vector4_t
Definition: rbdl_math.h:21
RBDLCasadiMath::MX_Xd_static< 2, 2 > Matrix2_t
Definition: rbdl_math.h:19
Compact representation for Spatial Inertia.
Compact representation of spatial transformations.