|
Rigid Body Dynamics Library
|
Math types such as vectors and matrices and utility functions. More...
Data Structures | |
| class | Quaternion |
| Quaternion that are used for singularity free joints. More... | |
| struct | SpatialRigidBodyInertia |
| Compact representation for Spatial Inertia. More... | |
| struct | SpatialTransform |
| Compact representation of spatial transformations. More... | |
Typedefs | |
| typedef Vector1_t | Scalar |
| typedef Vector2_t | Vector2d |
| typedef Vector3_t | Vector3d |
| typedef Vector4_t | Vector4d |
| typedef Matrix2_t | Matrix2d |
| typedef Matrix3_t | Matrix3d |
| typedef SpatialVector_t | SpatialVector |
| typedef SpatialMatrix_t | SpatialMatrix |
| typedef Matrix63_t | Matrix63 |
| typedef Matrix43_t | Matrix43 |
| typedef Matrix4_t | Matrix4d |
| typedef VectorN_t | VectorNd |
| typedef MatrixN_t | MatrixNd |
Functions | |
| RBDL_DLLAPI Vector3d | Vector3dZero (0., 0., 0.) |
| RBDL_DLLAPI Matrix3d | Matrix3dIdentity (1., 0., 0., 0., 1., 0., 0., 0., 1) |
| RBDL_DLLAPI Matrix3d | Matrix3dZero (0., 0., 0., 0., 0., 0., 0., 0., 0.) |
| RBDL_DLLAPI SpatialVector | SpatialVectorZero (0., 0., 0., 0., 0., 0.) |
| RBDL_DLLAPI bool | LinSolveGaussElimPivot (MatrixNd A, VectorNd b, VectorNd &x) |
| Solves a linear system using gaussian elimination with pivoting. More... | |
| RBDL_DLLAPI void | SpatialMatrixSetSubmatrix (SpatialMatrix &dest, unsigned int row, unsigned int col, const Matrix3d &matrix) |
| RBDL_DLLAPI bool | SpatialMatrixCompareEpsilon (const SpatialMatrix &matrix_a, const SpatialMatrix &matrix_b, Scalar epsilon) |
| RBDL_DLLAPI bool | SpatialVectorCompareEpsilon (const SpatialVector &vector_a, const SpatialVector &vector_b, Scalar epsilon) |
| RBDL_DLLAPI Matrix3d | parallel_axis (const Matrix3d &inertia, Scalar mass, const Vector3d &com) |
| Translates the inertia matrix to a new center. More... | |
| RBDL_DLLAPI SpatialMatrix | Xtrans_mat (const Vector3d &displacement) |
| Creates a transformation of a linear displacement. More... | |
| RBDL_DLLAPI SpatialMatrix | Xrotx_mat (const Scalar &xrot) |
| Creates a rotational transformation around the X-axis. More... | |
| RBDL_DLLAPI SpatialMatrix | Xroty_mat (const Scalar &yrot) |
| Creates a rotational transformation around the Y-axis. More... | |
| RBDL_DLLAPI SpatialMatrix | Xrotz_mat (const Scalar &zrot) |
| Creates a rotational transformation around the Z-axis. More... | |
| RBDL_DLLAPI SpatialMatrix | XtransRotZYXEuler (const Vector3d &displacement, const Vector3d &zyx_euler) |
| Creates a spatial transformation for given parameters. More... | |
| RBDL_DLLAPI void | SparseFactorizeLTL (Model &model, Math::MatrixNd &H) |
| RBDL_DLLAPI void | SparseMultiplyHx (Model &model, Math::MatrixNd &L) |
| RBDL_DLLAPI void | SparseMultiplyLx (Model &model, Math::MatrixNd &L) |
| RBDL_DLLAPI void | SparseMultiplyLTx (Model &model, Math::MatrixNd &L) |
| RBDL_DLLAPI void | SparseSolveLx (Model &model, Math::MatrixNd &L, Math::VectorNd &x) |
| RBDL_DLLAPI void | SparseSolveLTx (Model &model, Math::MatrixNd &L, Math::VectorNd &x) |
| RBDL_DLLAPI VectorNd | VectorFromPtr (unsigned int n, Scalar *ptr) |
| RBDL_DLLAPI MatrixNd | MatrixFromPtr (unsigned int rows, unsigned int cols, Scalar *ptr, bool row_major=true) |
| RBDL_DLLAPI Matrix3d | rotx (const Scalar &xrot) |
| RBDL_DLLAPI Matrix3d | roty (const Scalar &yrot) |
| RBDL_DLLAPI Matrix3d | rotz (const Scalar &zrot) |
| RBDL_DLLAPI Matrix3d | rotxdot (const Scalar &x, const Scalar &xdot) |
| RBDL_DLLAPI Matrix3d | rotydot (const Scalar &y, const Scalar &ydot) |
| RBDL_DLLAPI Matrix3d | rotzdot (const Scalar &z, const Scalar &zdot) |
| RBDL_DLLAPI Vector3d | angular_velocity_from_angle_rates (const Vector3d &zyx_angles, const Vector3d &zyx_angle_rates) |
| RBDL_DLLAPI Vector3d | global_angular_velocity_from_rates (const Vector3d &zyx_angles, const Vector3d &zyx_rates) |
| RBDL_DLLAPI Vector3d | angular_acceleration_from_angle_rates (const Vector3d &zyx_angles, const Vector3d &zyx_angle_rates, const Vector3d &zyx_angle_rates_dot) |
| Matrix3d | VectorCrossMatrix (const Vector3d &vector) |
| std::ostream & | operator<< (std::ostream &output, const SpatialRigidBodyInertia &rbi) |
| std::ostream & | operator<< (std::ostream &output, const SpatialTransform &X) |
| SpatialTransform | Xrot (Scalar angle_rad, const Vector3d &axis) |
| SpatialTransform | Xrotx (const Scalar &xrot) |
| SpatialTransform | Xroty (const Scalar &yrot) |
| SpatialTransform | Xrotz (const Scalar &zrot) |
| SpatialTransform | Xtrans (const Vector3d &r) |
| SpatialMatrix | crossm (const SpatialVector &v) |
| SpatialVector | crossm (const SpatialVector &v1, const SpatialVector &v2) |
| SpatialMatrix | crossf (const SpatialVector &v) |
| SpatialVector | crossf (const SpatialVector &v1, const SpatialVector &v2) |
Variables | |
| RBDL_DLLAPI Vector3d | Vector3dZero |
| RBDL_DLLAPI Matrix3d | Matrix3dIdentity |
| RBDL_DLLAPI Matrix3d | Matrix3dZero |
Math types such as vectors and matrices and utility functions.
Definition at line 59 of file rbdl_math.h.
Definition at line 60 of file rbdl_math.h.
| typedef Matrix43_t Matrix43 |
Definition at line 64 of file rbdl_math.h.
Definition at line 65 of file rbdl_math.h.
| typedef Matrix63_t Matrix63 |
Definition at line 63 of file rbdl_math.h.
Definition at line 67 of file rbdl_math.h.
Definition at line 55 of file rbdl_math.h.
| typedef SpatialMatrix_t SpatialMatrix |
Definition at line 62 of file rbdl_math.h.
| typedef SpatialVector_t SpatialVector |
Definition at line 61 of file rbdl_math.h.
Definition at line 56 of file rbdl_math.h.
Definition at line 57 of file rbdl_math.h.
Definition at line 58 of file rbdl_math.h.
Definition at line 66 of file rbdl_math.h.
|
inline |
Definition at line 229 of file rbdl_mathutils.h.
References std::cos(), and std::sin().
|
inline |
Definition at line 205 of file rbdl_mathutils.h.
References std::cos(), and std::sin().
|
inline |
Definition at line 425 of file SpatialAlgebraOperators.h.
|
inline |
Definition at line 436 of file SpatialAlgebraOperators.h.
|
inline |
Definition at line 403 of file SpatialAlgebraOperators.h.
|
inline |
Definition at line 414 of file SpatialAlgebraOperators.h.
|
inline |
Definition at line 218 of file rbdl_mathutils.h.
Solves a linear system using gaussian elimination with pivoting.
Definition at line 37 of file rbdl_mathutils.cc.
References MX_Xd_dynamic::cols(), std::fabs(), MX_Xd_dynamic::rows(), MX_Xd_dynamic::size(), and MX_Xd_dynamic::Zero().
| RBDL_DLLAPI Matrix3d RigidBodyDynamics::Math::Matrix3dIdentity | ( | 1. | , |
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 1. | , | ||
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 1 | |||
| ) |
| RBDL_DLLAPI Matrix3d RigidBodyDynamics::Math::Matrix3dZero | ( | 0. | , |
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 0. | |||
| ) |
|
inline |
Definition at line 51 of file rbdl_mathutils.h.
|
inline |
Definition at line 315 of file SpatialAlgebraOperators.h.
References SpatialRigidBodyInertia::h, SpatialRigidBodyInertia::Ixx, SpatialRigidBodyInertia::Iyx, SpatialRigidBodyInertia::Iyy, SpatialRigidBodyInertia::Izx, SpatialRigidBodyInertia::Izy, SpatialRigidBodyInertia::Izz, and SpatialRigidBodyInertia::m.
|
inline |
Definition at line 324 of file SpatialAlgebraOperators.h.
References SpatialTransform::E, and SpatialTransform::r.
Translates the inertia matrix to a new center.
Definition at line 190 of file rbdl_mathutils.cc.
References VectorCrossMatrix().
Definition at line 139 of file rbdl_mathutils.h.
References std::cos(), and std::sin().
|
inline |
Definition at line 172 of file rbdl_mathutils.h.
References std::cos(), and std::sin().
Definition at line 150 of file rbdl_mathutils.h.
References std::cos(), and std::sin().
|
inline |
Definition at line 183 of file rbdl_mathutils.h.
References std::cos(), and std::sin().
Definition at line 161 of file rbdl_mathutils.h.
References std::cos(), and std::sin().
|
inline |
Definition at line 194 of file rbdl_mathutils.h.
References std::cos(), and std::sin().
| RBDL_DLLAPI void SparseFactorizeLTL | ( | Model & | model, |
| Math::MatrixNd & | H | ||
| ) |
Definition at line 261 of file rbdl_mathutils.cc.
References std::sqrt().
| RBDL_DLLAPI void SparseMultiplyHx | ( | Model & | model, |
| Math::MatrixNd & | L | ||
| ) |
Definition at line 288 of file rbdl_mathutils.cc.
| RBDL_DLLAPI void SparseMultiplyLTx | ( | Model & | model, |
| Math::MatrixNd & | L | ||
| ) |
Definition at line 296 of file rbdl_mathutils.cc.
| RBDL_DLLAPI void SparseMultiplyLx | ( | Model & | model, |
| Math::MatrixNd & | L | ||
| ) |
Definition at line 292 of file rbdl_mathutils.cc.
| RBDL_DLLAPI void SparseSolveLTx | ( | Model & | model, |
| Math::MatrixNd & | L, | ||
| Math::VectorNd & | x | ||
| ) |
Definition at line 311 of file rbdl_mathutils.cc.
| RBDL_DLLAPI void SparseSolveLx | ( | Model & | model, |
| Math::MatrixNd & | L, | ||
| Math::VectorNd & | x | ||
| ) |
Definition at line 300 of file rbdl_mathutils.cc.
| RBDL_DLLAPI bool SpatialMatrixCompareEpsilon | ( | const SpatialMatrix & | matrix_a, |
| const SpatialMatrix & | matrix_b, | ||
| Scalar | epsilon | ||
| ) |
Definition at line 147 of file rbdl_mathutils.cc.
References std::fabs().
| RBDL_DLLAPI void SpatialMatrixSetSubmatrix | ( | SpatialMatrix & | dest, |
| unsigned int | row, | ||
| unsigned int | col, | ||
| const Matrix3d & | matrix | ||
| ) |
Definition at line 126 of file rbdl_mathutils.cc.
| RBDL_DLLAPI bool SpatialVectorCompareEpsilon | ( | const SpatialVector & | vector_a, |
| const SpatialVector & | vector_b, | ||
| Scalar | epsilon | ||
| ) |
Definition at line 169 of file rbdl_mathutils.cc.
References std::fabs().
| RBDL_DLLAPI SpatialVector RigidBodyDynamics::Math::SpatialVectorZero | ( | 0. | , |
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 0. | , | ||
| 0. | |||
| ) |
| RBDL_DLLAPI Vector3d RigidBodyDynamics::Math::Vector3dZero | ( | 0. | , |
| 0. | , | ||
| 0. | |||
| ) |
Definition at line 18 of file SpatialAlgebraOperators.h.
Definition at line 40 of file rbdl_mathutils.h.
|
inline |
Definition at line 330 of file SpatialAlgebraOperators.h.
References std::cos(), and std::sin().
|
inline |
Definition at line 354 of file SpatialAlgebraOperators.h.
References std::cos(), and std::sin().
| RBDL_DLLAPI SpatialMatrix Xrotx_mat | ( | const Scalar & | xrot | ) |
Creates a rotational transformation around the X-axis.
Creates a rotation around the current X-axis by the given angle (specified in radians).
| xrot | Rotation angle in radians. |
Definition at line 210 of file rbdl_mathutils.cc.
References std::cos(), and std::sin().
|
inline |
Definition at line 368 of file SpatialAlgebraOperators.h.
References std::cos(), and std::sin().
| RBDL_DLLAPI SpatialMatrix Xroty_mat | ( | const Scalar & | yrot | ) |
Creates a rotational transformation around the Y-axis.
Creates a rotation around the current Y-axis by the given angle (specified in radians).
| yrot | Rotation angle in radians. |
Definition at line 225 of file rbdl_mathutils.cc.
References std::cos(), and std::sin().
|
inline |
Definition at line 382 of file SpatialAlgebraOperators.h.
References std::cos(), and std::sin().
| RBDL_DLLAPI SpatialMatrix Xrotz_mat | ( | const Scalar & | zrot | ) |
Creates a rotational transformation around the Z-axis.
Creates a rotation around the current Z-axis by the given angle (specified in radians).
| zrot | Rotation angle in radians. |
Definition at line 240 of file rbdl_mathutils.cc.
References std::cos(), and std::sin().
|
inline |
Definition at line 396 of file SpatialAlgebraOperators.h.
| RBDL_DLLAPI SpatialMatrix Xtrans_mat | ( | const Vector3d & | displacement | ) |
Creates a transformation of a linear displacement.
This can be used to specify the translation to the joint center when adding a body to a model. See also section 2.8 in RBDA.
| displacement | The displacement as a 3D vector |
Definition at line 199 of file rbdl_mathutils.cc.
| RBDL_DLLAPI SpatialMatrix XtransRotZYXEuler | ( | const Vector3d & | displacement, |
| const Vector3d & | zyx_euler | ||
| ) |
Creates a spatial transformation for given parameters.
Creates a transformation to a coordinate system that is first rotated and then translated.
| displacement | The displacement to the new origin |
| zyx_euler | The orientation of the new coordinate system, specifyed by ZYX-Euler angles. |
Definition at line 255 of file rbdl_mathutils.cc.
References Xrotx_mat(), Xroty_mat(), Xrotz_mat(), and Xtrans_mat().
|
extern |
|
extern |
|
extern |