Math types such as vectors and matrices and utility functions. More...
Classes | |
class | ForceVector |
A ForceVector is a SpatialVector containing 3 moments and 3 linear forces. More... | |
class | FrameOrientation |
A Frame object that represents an orientation(quaternion) relative to a reference frame. More... | |
class | FramePoint |
A FramePoint is a 3D point that is expressed in a ReferenceFrame. To change the ReferenceFrame a FramePoint is expressed in, you may call the inhereted FrameObject::changeFrame method and supply it a pointer to the ReferenceFrame you wish to have the FramePoint expressed in. This class and its implementation are an adaptation of FramePoint.java by Jerry Pratt and the IHMC Robotics Group. More... | |
class | FrameVector |
A FrameVector is a 3D vector with a ReferenceFrame, and all operations between FrameVectors and other frame objects will perform runtime checks that objects are expressed in the same frames. This class and its implementation are an adaptation of FrameVector.java by Jerry Pratt and the IHMC Robotics Group. More... | |
class | FrameVectorPair |
A FrameVector is a pair of 3D vector with a ReferenceFrame. More... | |
class | Matrix3d |
class | Matrix4d |
class | Momentum |
Momentum is mass/inertia multiplied by velocity. More... | |
class | MotionVector |
class | Point3d |
class | Quaternion |
Quaternion that are used for singularity free joints. More... | |
class | RigidBodyInertia |
This class stores a bodies mass, center of mass, and inertia information. The inertia elements are stored individually since the inertia matrix is a 3x3 symmetric matrix. The bodies inertia matrix, expressed about its center of mass, can be reconstructed as
The full RigidBodyInertia matrix has the following structure,
where is a 3x3 identity matrix. More... | |
class | SpatialAcceleration |
SpatialAcceleration. For clarity, the ReferenceFrames are stated as follows. A spatial acceleration is the acceleration of the SpatialAcceleration::bodyFrame with respect to the SpatialAcceleration::baseFrame expressed in the SpatialAcceleration::expressedInFrame. More... | |
class | SpatialForce |
A SpatialForce is a spatial vector with the angular part being three moments and the linear part being 3 linear forces. More... | |
class | SpatialInertia |
A Math::SpatialInertia is a RigidBodyInertia explicitly expressed in a RobotDynamics::ReferenceFrame. The frame a Math::SpatialInertia is expressed in can be changed by calling RobotDynamics::FrameObject::changeFrame. More... | |
class | SpatialMatrix |
class | SpatialMomentum |
A SpatialMomentum is a Momentum expressed in a RobotDynamics::ReferenceFrame. The angular portion of the vector is referred to as and the linear portion as . More... | |
class | SpatialMotion |
A SpatialMotion vector is a MotionVector with a RobotDynamics::ReferenceFrame it is expressed in. This allows for runtime checks that frame rules are obeyed and makes it easy to change the frame the metion vector is expressed in. As with a SpatialAcceleration, a SpatialMotion vector is the spatial velocity of a SpatialMotion::bodyFrame relative to a SpatialMotion::baseFrame and is expressed in RobotDynamics::FrameObject::referenceFrame. More... | |
struct | SpatialTransform |
Compact representation of spatial transformations. More... | |
class | SpatialVector |
class | TransformableGeometricObject |
The TransformableGeometricObject class is an essential interface because it forces all geometric objects to implement a method that tells how to transform them. This makes in possible for frame transformations of any TransformableGeometricObject can be done via the FrameObject::changeFrame method. More... | |
class | Vector3d |
class | Vector4d |
Typedefs | |
typedef Eigen::AngleAxisd | AxisAngle |
typedef std::vector< ForceVector, Eigen::aligned_allocator< ForceVector > > | ForceVectorV |
typedef std::vector< FramePoint, Eigen::aligned_allocator< FramePoint > > | FramePointV |
typedef std::vector< FrameVector, Eigen::aligned_allocator< FrameVector > > | FrameVectorV |
typedef Eigen::Matrix< double, 6, 3 > | Matrix63 |
typedef Eigen::MatrixXd | MatrixNd |
typedef std::vector< MotionVector, Eigen::aligned_allocator< MotionVector > > | MotionVectorV |
typedef std::vector< Point3d, Eigen::aligned_allocator< Point3d > > | Point3V |
typedef std::vector< RigidBodyInertia, Eigen::aligned_allocator< RigidBodyInertia > > | RigidBodyInertiaV |
typedef std::vector< SpatialAcceleration, Eigen::aligned_allocator< SpatialAcceleration > > | SpatialAccelerationV |
typedef std::vector< SpatialForce, Eigen::aligned_allocator< SpatialForce > > | SpatialForceV |
typedef std::vector< SpatialInertia, Eigen::aligned_allocator< SpatialInertia > > | SpatialInertiaV |
typedef std::vector< SpatialMomentum, Eigen::aligned_allocator< SpatialMomentum > > | SpatialMomentumV |
typedef std::vector< SpatialMotion, Eigen::aligned_allocator< SpatialMotion > > | SpatialMotionV |
typedef Eigen::VectorXd | VectorNd |
Enumerations | |
enum | LinearSolver { LinearSolverUnknown = 0, LinearSolverPartialPivLU, LinearSolverColPivHouseholderQR, LinearSolverHouseholderQR, LinearSolverLLT, LinearSolverLast } |
Available solver methods for the linear systems. More... | |
Functions | |
Vector3d | angular_acceleration_from_angle_rates (const Vector3d &zyx_angles, const Vector3d &zyx_angle_rates, const Vector3d &zyx_angle_rates_dot) |
Vector3d | angular_velocity_from_angle_rates (const Vector3d &zyx_angles, const Vector3d &zyx_angle_rates) |
static RigidBodyInertia | createFromMassComInertiaC (double mass, const Vector3d &com, const Matrix3d &inertia_C) |
SpatialMatrix | crossf (const SpatialVector &v) |
Get the spatial force cross matrix. More... | |
SpatialVector | crossf (const SpatialVector &v1, const SpatialVector &v2) |
Spatial motion cross spatial force. More... | |
SpatialMatrix | crossm (const SpatialVector &v) |
Get the spatial motion cross matrix. More... | |
SpatialVector | crossm (const SpatialVector &v1, const SpatialVector &v2) |
Spatial motion cross times spatial motion. More... | |
Vector3d | getLinearPartTransformed (const SpatialVector &v, const SpatialTransform &X) |
Get the rotated linear portion of the spatial vector. More... | |
Vector3d | global_angular_velocity_from_rates (const Vector3d &zyx_angles, const Vector3d &zyx_rates) |
static Quaternion | intrinsicXYZAnglesToQuaternion (double roll, double pitch, double yaw) |
Convert RPY angles to quaternion. More... | |
static Quaternion | intrinsicXYZAnglesToQuaternion (const Vector3d &xyz_angles) |
Convert RPY angles to quaternion. More... | |
static Quaternion | intrinsicYXZAnglesToQuaternion (double pitch, double roll, double yaw) |
Convert PRY angles to quaternion. More... | |
static Quaternion | intrinsicYXZAnglesToQuaternion (const Vector3d &yxz_angles) |
Convert PRY angles to quaternion. More... | |
static Quaternion | intrinsicZYXAnglesToQuaternion (double yaw, double pitch, double roll) |
Convert YPR angles to quaternion. More... | |
static Quaternion | intrinsicZYXAnglesToQuaternion (const Vector3d &zyx_angles) |
Convert YPR angles to quaternion. More... | |
bool | linSolveGaussElimPivot (MatrixNd A, VectorNd b, VectorNd &x) |
Solves a linear system using gaussian elimination with pivoting. More... | |
Matrix3d | Matrix3dIdentity (1., 0., 0., 0., 1., 0., 0., 0., 1) |
Matrix3d | Matrix3dZero (0., 0., 0., 0., 0., 0., 0., 0., 0.) |
MatrixNd | matrixFromPtr (unsigned int rows, unsigned int cols, double *ptr, bool row_major=true) |
bool | operator!= (const FramePoint &lhs, const FramePoint &rhs) |
Check if two FramePoints are not equal. More... | |
EIGEN_STRONG_INLINE SpatialMotion | operator% (SpatialMotion v1, const SpatialMotion &v2) |
MotionVector | operator% (MotionVector v, const MotionVector &v2) |
ForceVector | operator% (MotionVector v, const ForceVector &v2) |
SpatialMomentum | operator* (const SpatialInertia &inertia, const SpatialMotion &vector) |
static Momentum | operator* (const RigidBodyInertia &I, const MotionVector &v) |
Multiplying a Math::RigidBodyInertia by a Math::MotionVector returns a Momentum. More... | |
SpatialForce | operator* (SpatialForce f1, double scale) |
Overloaded * operator to scale a spatial force by a scalar value. More... | |
template<typename T > | |
FrameVector | operator* (FrameVector v1, const T scale) |
SpatialVector | operator* (const RigidBodyInertia &I, const SpatialVector &v) |
Operator for multiplying a Math::RigidBodyInertia by a Math::SpatialVector. More... | |
ForceVector | operator* (const SpatialTransform &X, ForceVector f) |
Operator for transforming a ForceVector. Calls the ForceVector::transform method. More... | |
template<typename T > | |
FrameVector | operator* (const T scale, FrameVector v1) |
Matrix63 | operator* (const RigidBodyInertia &I, const Matrix63 &m) |
Operator for multiplying a Math::RigidBodyInertia by a Math::Matrix63. More... | |
template<typename T > | |
FrameVectorPair | operator* (FrameVectorPair pair, const T scalar) |
template<typename T > | |
FrameVectorPair | operator* (const T scalar, FrameVectorPair pair) |
template<typename T > | |
FrameVector | operator* (const T scale, FramePoint p) |
template<typename T > | |
FrameVector | operator* (FramePoint p, const T scale) |
MotionVector | operator* (const SpatialTransform &X, MotionVector v) |
Operator for transforming a MotionVector. More... | |
template<typename T > | |
Point3d | operator* (Point3d p, const T scale) |
template<typename T > | |
Point3d | operator* (const T scale, Point3d p) |
SpatialAcceleration | operator+ (SpatialAcceleration v1, const SpatialAcceleration &v2) |
Add two SpatialAccelerations. Frame check will be performed to ensure frame rules are abided by. More... | |
SpatialInertia | operator+ (SpatialInertia inertia_a, const SpatialInertia &inertia_b) |
Adds two Math::SpatialInertia together. Performs frame checks. More... | |
SpatialForce | operator+ (SpatialForce f1, const SpatialForce &f2) |
Overloaded + operator to add two SpatialForce vectors and return the result in a new SpatialForce. Frame checks are performed. More... | |
RigidBodyInertia | operator+ (RigidBodyInertia rbi_in, const RigidBodyInertia &rbi) |
Add two Math::RigidBodyInertia objects together. More... | |
EIGEN_STRONG_INLINE SpatialMotion | operator+ (SpatialMotion v1, const SpatialMotion &v2) |
FrameVector | operator+ (FrameVector v1, const Vector3d v2) |
FrameVector | operator+ (FrameVector v1, const FrameVector v2) |
Add two FrameVectors together. More... | |
FrameVectorPair | operator+ (FrameVectorPair v1, const FrameVectorPair v2) |
FramePoint | operator+ (FramePoint p, const FrameVector &v) |
Point3d | operator+ (Point3d p, const Vector3d &v) |
SpatialAcceleration | operator- (SpatialAcceleration v1, const SpatialAcceleration &v2) |
Subtract two SpatialAccelerations. Frame check will be performed to ensure frame rules are abided by. More... | |
static Momentum | operator- (Momentum m1, const Momentum &m2) |
Add two momentums. More... | |
SpatialForce | operator- (SpatialForce f1, const SpatialForce &f2) |
Overloaded - operator to add two SpatialForce vectors and return the result in a new SpatialForce. Frame checks are performed. More... | |
EIGEN_STRONG_INLINE SpatialMotion | operator- (SpatialMotion v1, const SpatialMotion &v2) |
FrameVector | operator- (FrameVector v1, const Vector3d v2) |
FrameVector | operator- (FrameVector v1, const FrameVector v2) |
Add two FrameVectors together. More... | |
FrameVectorPair | operator- (FrameVectorPair v1, const FrameVectorPair v2) |
FramePoint | operator- (FramePoint p, const FrameVector &v) |
Point3d | operator- (Point3d p, const Vector3d &v) |
FrameVector | operator- (FramePoint p1, const FramePoint &p2) |
Subtract two FramePoints and return result in newly created FramePoint. More... | |
Vector3d | operator- (Point3d p1, const Point3d &p2) |
std::ostream & | operator<< (std::ostream &output, const SpatialTransform &X) |
std::ostream & | operator<< (std::ostream &os, const Point3d &point) |
std::ostream & | operator<< (std::ostream &output, const FramePoint &framePoint) |
bool | operator== (const FramePoint &lhs, const FramePoint &rhs) |
Check if two FramePoints are equal. More... | |
Matrix3d | parallel_axis (const Matrix3d &inertia, double mass, const Vector3d &com) |
Translates the inertia matrix to a new center. More... | |
Quaternion | QuaternionIdentity (0., 0., 0., 1) |
Matrix3d | rotx (const double &xrot) |
Matrix3d | rotxdot (const double &x, const double &xdot) |
Matrix3d | roty (const double &yrot) |
Matrix3d | rotydot (const double &y, const double &ydot) |
Matrix3d | rotz (const double &zrot) |
Matrix3d | rotzdot (const double &z, const double &zdot) |
void | SparseFactorizeLTL (Model &model, Math::MatrixNd &H) |
void | SparseMultiplyHx (Model &model, Math::MatrixNd &L) |
void | SparseMultiplyLTx (Model &model, Math::MatrixNd &L) |
void | SparseMultiplyLx (Model &model, Math::MatrixNd &L) |
void | SparseSolveLTx (Model &model, Math::MatrixNd &L, Math::VectorNd &x) |
void | SparseSolveLx (Model &model, Math::MatrixNd &L, Math::VectorNd &x) |
SpatialMatrix | SpatialMatrixIdentity (1., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 1.) |
SpatialMatrix | SpatialMatrixZero (0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.) |
SpatialVector | SpatialVectorZero (0., 0., 0., 0., 0., 0.) |
static AxisAngle | toAxisAngle (Quaternion q) |
Get axis angle representation of a quaternion. More... | |
static Vector3d | toIntrinsicZYXAngles (const Quaternion &q, double yaw_at_pitch_singularity=0.) |
Converte quaternion to intrinsic ZYX euler angles. More... | |
static Vector3d | toIntrinsicZYXAngles (const Matrix3d &m, double yaw_at_pitch_singularity=0.) |
Convert rotation matrix to intrinsic ZYX euler angles. More... | |
static Matrix3d | toMatrix (const Quaternion &q) |
Convert quaternion to rotation matrix. More... | |
static Quaternion | toQuaternion (const Vector3d &axis, double angle_rad) |
Get quaternion representation of axis and angle. More... | |
static Quaternion | toQuaternion (const AxisAngle &axisAngle) |
Convert axis angle to quaternion. More... | |
static Quaternion | toQuaternion (const Matrix3d &mat) |
convert rotation matrix to quaternion More... | |
static Matrix3d | toTildeForm (const Vector3d &vector) |
Create a skew symmetric matrix, m, from a 3d vector such that, given two vectors and , a 3rd vector which is the cross product of the first two is given by, . The operator is referred to in Featherstones RBDA as the 3d vector cross( ) operator. More... | |
static Matrix3d | toTildeForm (const double x, const double y, const double z) |
static Matrix3d | toTildeForm (const Point3d &p) |
Vector3d | Vector3dZero (0., 0., 0.) |
VectorNd | vectorFromPtr (unsigned int n, double *ptr) |
SpatialTransform | XeulerXYZ (double roll, double pitch, double yaw) |
Get transform with zero translation and intrinsic euler x/y/z rotation. More... | |
SpatialTransform | XeulerXYZ (const Vector3d &xyz_angles) |
Get transform with zero translation and euler x/y/z rotation. More... | |
SpatialTransform | XeulerZYX (double yaw, double pitch, double roll) |
Get transform with zero translation and intrinsic euler z/y/x rotation. More... | |
SpatialTransform | XeulerZYX (const Vector3d &ypr) |
Get transform defined by intrinsic YPR(yaw->pitch->roll) euler angles. More... | |
SpatialTransform | Xrot (double angle_rad, const Vector3d &axis) |
Get spatial transform from angle and axis. More... | |
SpatialTransform | XrotQuat (double x, double y, double z, double w) |
SpatialTransform | XrotQuat (const Quaternion &orientation) |
SpatialTransform | Xrotx (const double &xrot) |
Get transform with zero translation and pure rotation about x axis. More... | |
SpatialMatrix | Xrotx_mat (const double &xrot) |
Creates a rotational transformation around the X-axis. More... | |
SpatialTransform | Xroty (const double &yrot) |
Get transform with zero translation and pure rotation about y axis. More... | |
SpatialMatrix | Xroty_mat (const double &yrot) |
Creates a rotational transformation around the Y-axis. More... | |
SpatialTransform | Xrotz (const double &zrot) |
Get transform with zero translation and pure rotation about z axis. More... | |
SpatialMatrix | Xrotz_mat (const double &zrot) |
Creates a rotational transformation around the Z-axis. More... | |
SpatialTransform | Xtrans (const Vector3d &r) |
Get pure translation transform. More... | |
SpatialMatrix | Xtrans_mat (const Vector3d &displacement) |
Creates a transformation of a linear displacement. More... | |
SpatialMatrix | XtransRotZYXEuler (const Vector3d &displacement, const Vector3d &zyx_euler) |
Creates a spatial transformation for given parameters. More... | |
Math types such as vectors and matrices and utility functions.
typedef Eigen::AngleAxisd RobotDynamics::Math::AxisAngle |
Definition at line 27 of file rdl_eigenmath.h.
typedef std::vector<ForceVector, Eigen::aligned_allocator<ForceVector> > RobotDynamics::Math::ForceVectorV |
Definition at line 261 of file ForceVector.hpp.
typedef std::vector<FramePoint, Eigen::aligned_allocator<FramePoint> > RobotDynamics::Math::FramePointV |
Definition at line 381 of file FramePoint.hpp.
typedef std::vector<FrameVector, Eigen::aligned_allocator<FrameVector> > RobotDynamics::Math::FrameVectorV |
Definition at line 300 of file FrameVector.hpp.
typedef Eigen::Matrix<double, 6, 3> RobotDynamics::Math::Matrix63 |
Definition at line 24 of file rdl_eigenmath.h.
typedef Eigen::MatrixXd RobotDynamics::Math::MatrixNd |
Definition at line 26 of file rdl_eigenmath.h.
typedef std::vector<MotionVector, Eigen::aligned_allocator<MotionVector> > RobotDynamics::Math::MotionVectorV |
Definition at line 350 of file MotionVector.hpp.
typedef std::vector<Point3d, Eigen::aligned_allocator<Point3d> > RobotDynamics::Math::Point3V |
Definition at line 374 of file Point3.hpp.
typedef std::vector<RigidBodyInertia, Eigen::aligned_allocator<RigidBodyInertia> > RobotDynamics::Math::RigidBodyInertiaV |
Definition at line 290 of file RigidBodyInertia.hpp.
typedef std::vector<SpatialAcceleration, Eigen::aligned_allocator<SpatialAcceleration> > RobotDynamics::Math::SpatialAccelerationV |
Definition at line 148 of file SpatialAcceleration.hpp.
typedef std::vector<SpatialForce, Eigen::aligned_allocator<SpatialForce> > RobotDynamics::Math::SpatialForceV |
Definition at line 248 of file SpatialForce.hpp.
typedef std::vector<SpatialInertia, Eigen::aligned_allocator<SpatialInertia> > RobotDynamics::Math::SpatialInertiaV |
Definition at line 139 of file SpatialRigidBodyInertia.hpp.
typedef std::vector<SpatialMomentum, Eigen::aligned_allocator<SpatialMomentum> > RobotDynamics::Math::SpatialMomentumV |
Definition at line 174 of file SpatialMomentum.hpp.
typedef std::vector<SpatialMotion, Eigen::aligned_allocator<SpatialMotion> > RobotDynamics::Math::SpatialMotionV |
Definition at line 260 of file SpatialMotion.hpp.
typedef Eigen::VectorXd RobotDynamics::Math::VectorNd |
Definition at line 25 of file rdl_eigenmath.h.
Available solver methods for the linear systems.
Enumerator | |
---|---|
LinearSolverUnknown | |
LinearSolverPartialPivLU | |
LinearSolverColPivHouseholderQR | |
LinearSolverHouseholderQR | |
LinearSolverLLT | |
LinearSolverLast |
Definition at line 34 of file rdl_mathutils.h.
|
inline |
Definition at line 223 of file rdl_mathutils.h.
|
inline |
Definition at line 204 of file rdl_mathutils.h.
|
inlinestatic |
Creates a RigidBodyInertia from a body's mass, center of mass location, and 3x3 inertia matrix
mass | Body mass |
com | Center of mass location in body frame |
inertia_C | 3x3 inertia tensor about from located at center of mass and aligned with body frame |
Definition at line 273 of file RigidBodyInertia.hpp.
|
inline |
Get the spatial force cross matrix.
v |
Definition at line 403 of file SpatialAlgebraOperators.h.
|
inline |
Spatial motion cross spatial force.
v1 | Spatial motion |
v2 | Spatial force |
Definition at line 415 of file SpatialAlgebraOperators.h.
|
inline |
Get the spatial motion cross matrix.
v |
Definition at line 379 of file SpatialAlgebraOperators.h.
|
inline |
Spatial motion cross times spatial motion.
v1 | |
v2 |
Definition at line 391 of file SpatialAlgebraOperators.h.
|
inline |
Get the rotated linear portion of the spatial vector.
v | Spatial vector |
X | Spatial transform |
Definition at line 428 of file SpatialAlgebraOperators.h.
|
inline |
Definition at line 215 of file rdl_mathutils.h.
|
inlinestatic |
Convert RPY angles to quaternion.
Definition at line 114 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Convert RPY angles to quaternion.
Definition at line 122 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Convert PRY angles to quaternion.
Definition at line 98 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Convert PRY angles to quaternion.
Definition at line 106 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Convert YPR angles to quaternion.
Definition at line 82 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Convert YPR angles to quaternion.
Definition at line 90 of file SpatialAlgebraOperators.h.
Solves a linear system using gaussian elimination with pivoting.
Definition at line 36 of file rdl_mathutils.cc.
Matrix3d RobotDynamics::Math::Matrix3dIdentity | ( | 1. | , |
0. | , | ||
0. | , | ||
0. | , | ||
1. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
1 | |||
) |
Matrix3d RobotDynamics::Math::Matrix3dZero | ( | 0. | , |
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | |||
) |
|
inline |
Definition at line 66 of file rdl_mathutils.h.
|
inline |
Check if two FramePoints are not equal.
lhs | |
rhs |
ReferenceFrameException | If the two FramePoint arguments are not expressed in the same ReferenceFrame |
Definition at line 370 of file FramePoint.hpp.
EIGEN_STRONG_INLINE SpatialMotion RobotDynamics::Math::operator% | ( | SpatialMotion | v1, |
const SpatialMotion & | v2 | ||
) |
Definition at line 255 of file SpatialMotion.hpp.
|
inline |
Operator for performing the spatial vector operator.
v | |
v2 |
Definition at line 335 of file MotionVector.hpp.
|
inline |
Operator for performing the spatial vector operator
v | |
v2 |
Definition at line 346 of file MotionVector.hpp.
|
inline |
Overloaded * operator for computing a SpatialMomentum from a SpatialInertia and SpatialMotion. Frame checks will be performed.
inertia | |
vector |
Definition at line 167 of file SpatialMomentum.hpp.
|
inlinestatic |
Multiplying a Math::RigidBodyInertia by a Math::MotionVector returns a Momentum.
I | |
v |
Definition at line 195 of file Momentum.hpp.
|
inline |
Overloaded * operator to scale a spatial force by a scalar value.
f1 | |
scale |
Definition at line 244 of file SpatialForce.hpp.
|
inline |
Definition at line 250 of file FrameVector.hpp.
|
inline |
Operator for multiplying a Math::RigidBodyInertia by a Math::SpatialVector.
I | |
v |
Definition at line 250 of file RigidBodyInertia.hpp.
|
inline |
Operator for transforming a ForceVector. Calls the ForceVector::transform method.
X | SpatialTransform |
f | ForceVector to be transformed |
Definition at line 256 of file ForceVector.hpp.
|
inline |
Definition at line 257 of file FrameVector.hpp.
|
inline |
Operator for multiplying a Math::RigidBodyInertia by a Math::Matrix63.
I | |
m |
Definition at line 261 of file RigidBodyInertia.hpp.
|
inline |
Definition at line 279 of file FrameVectorPair.hpp.
|
inline |
Definition at line 286 of file FrameVectorPair.hpp.
|
inline |
Definition at line 308 of file FramePoint.hpp.
|
inline |
Definition at line 315 of file FramePoint.hpp.
|
inline |
Operator for transforming a MotionVector.
X | SpatialTransform to the desired frame |
v |
Definition at line 323 of file MotionVector.hpp.
Definition at line 344 of file Point3.hpp.
Definition at line 352 of file Point3.hpp.
|
inline |
Add two SpatialAccelerations. Frame check will be performed to ensure frame rules are abided by.
v1 | |
v2 |
Definition at line 131 of file SpatialAcceleration.hpp.
|
inline |
Adds two Math::SpatialInertia together. Performs frame checks.
inertia_a | |
inertia_b |
Definition at line 134 of file SpatialRigidBodyInertia.hpp.
|
inline |
Overloaded + operator to add two SpatialForce vectors and return the result in a new SpatialForce. Frame checks are performed.
f1 | |
f2 |
Definition at line 221 of file SpatialForce.hpp.
|
inline |
Add two Math::RigidBodyInertia objects together.
rbi_in | A copy that is modified and returned. |
rbi |
Definition at line 238 of file RigidBodyInertia.hpp.
EIGEN_STRONG_INLINE SpatialMotion RobotDynamics::Math::operator+ | ( | SpatialMotion | v1, |
const SpatialMotion & | v2 | ||
) |
Definition at line 243 of file SpatialMotion.hpp.
|
inline |
Definition at line 263 of file FrameVector.hpp.
|
inline |
Add two FrameVectors together.
v1 | |
v2 |
Definition at line 282 of file FrameVector.hpp.
|
inline |
Definition at line 293 of file FrameVectorPair.hpp.
|
inline |
Definition at line 295 of file FramePoint.hpp.
Definition at line 331 of file Point3.hpp.
|
inline |
Subtract two SpatialAccelerations. Frame check will be performed to ensure frame rules are abided by.
v1 | |
v2 |
Definition at line 143 of file SpatialAcceleration.hpp.
Add two momentums.
m1 | |
m2 |
Definition at line 218 of file Momentum.hpp.
|
inline |
Overloaded - operator to add two SpatialForce vectors and return the result in a new SpatialForce. Frame checks are performed.
f1 | |
f2 |
Definition at line 233 of file SpatialForce.hpp.
EIGEN_STRONG_INLINE SpatialMotion RobotDynamics::Math::operator- | ( | SpatialMotion | v1, |
const SpatialMotion & | v2 | ||
) |
Definition at line 249 of file SpatialMotion.hpp.
|
inline |
Definition at line 269 of file FrameVector.hpp.
|
inline |
Add two FrameVectors together.
v1 | |
v2 |
Definition at line 295 of file FrameVector.hpp.
|
inline |
Definition at line 300 of file FrameVectorPair.hpp.
|
inline |
Definition at line 301 of file FramePoint.hpp.
Definition at line 337 of file Point3.hpp.
|
inline |
Subtract two FramePoints and return result in newly created FramePoint.
p1 | |
p2 |
ReferenceFrameException | If the two FramePoint arguments are not expressed in the same ReferenceFrame |
Definition at line 357 of file FramePoint.hpp.
Definition at line 359 of file Point3.hpp.
|
inline |
Definition at line 237 of file SpatialAlgebraOperators.h.
|
inline |
Definition at line 364 of file Point3.hpp.
|
inline |
Definition at line 375 of file FramePoint.hpp.
|
inline |
Check if two FramePoints are equal.
lhs | |
rhs |
ReferenceFrameException | If the two FramePoint arguments are not expressed in the same ReferenceFrame |
Definition at line 328 of file FramePoint.hpp.
Matrix3d RobotDynamics::Math::parallel_axis | ( | const Matrix3d & | inertia, |
double | mass, | ||
const Vector3d & | com | ||
) |
Translates the inertia matrix to a new center.
Definition at line 126 of file rdl_mathutils.cc.
Quaternion RobotDynamics::Math::QuaternionIdentity | ( | 0. | , |
0. | , | ||
0. | , | ||
1 | |||
) |
|
inline |
Definition at line 150 of file rdl_mathutils.h.
|
inline |
Definition at line 177 of file rdl_mathutils.h.
|
inline |
Definition at line 159 of file rdl_mathutils.h.
|
inline |
Definition at line 186 of file rdl_mathutils.h.
|
inline |
Definition at line 168 of file rdl_mathutils.h.
|
inline |
Definition at line 195 of file rdl_mathutils.h.
void RobotDynamics::Math::SparseFactorizeLTL | ( | Model & | model, |
Math::MatrixNd & | H | ||
) |
Definition at line 170 of file rdl_mathutils.cc.
void RobotDynamics::Math::SparseMultiplyHx | ( | Model & | model, |
Math::MatrixNd & | L | ||
) |
Definition at line 204 of file rdl_mathutils.cc.
void RobotDynamics::Math::SparseMultiplyLTx | ( | Model & | model, |
Math::MatrixNd & | L | ||
) |
Definition at line 214 of file rdl_mathutils.cc.
void RobotDynamics::Math::SparseMultiplyLx | ( | Model & | model, |
Math::MatrixNd & | L | ||
) |
Definition at line 209 of file rdl_mathutils.cc.
void RobotDynamics::Math::SparseSolveLTx | ( | Model & | model, |
Math::MatrixNd & | L, | ||
Math::VectorNd & | x | ||
) |
Definition at line 233 of file rdl_mathutils.cc.
void RobotDynamics::Math::SparseSolveLx | ( | Model & | model, |
Math::MatrixNd & | L, | ||
Math::VectorNd & | x | ||
) |
Definition at line 219 of file rdl_mathutils.cc.
SpatialMatrix RobotDynamics::Math::SpatialMatrixIdentity | ( | 1. | , |
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
1. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
1. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
1. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
1. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
1. | |||
) |
SpatialMatrix RobotDynamics::Math::SpatialMatrixZero | ( | 0. | , |
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | |||
) |
SpatialVector RobotDynamics::Math::SpatialVectorZero | ( | 0. | , |
0. | , | ||
0. | , | ||
0. | , | ||
0. | , | ||
0. | |||
) |
|
inlinestatic |
Get axis angle representation of a quaternion.
q |
Definition at line 132 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Converte quaternion to intrinsic ZYX euler angles.
q | The quaternion to convert to ZYX angles |
yaw_at_pitch_singularity | At Y = +- PI/2 is a singularity in which there are multiple solutions. This will be the yaw value in the output and the roll value is dependent on this. To get the most accurate results at singularity, provide this value as close as possible to desired/reality and the resulting roll value will be near the expected |
q can be non-normalised quaternion
Definition at line 34 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Convert rotation matrix to intrinsic ZYX euler angles.
m | Rotation matrix to convert |
yaw_at_pitch_singularity | At Y = +- PI/2 is a singularity in which there are multiple solutions. This will be the yaw value in the output and the roll value is dependent on this. To get the most accurate results at singularity, provide this value as close as possible to desired/reality and the resulting roll value will be near the expected |
Definition at line 205 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Convert quaternion to rotation matrix.
Definition at line 187 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Get quaternion representation of axis and angle.
axis | |
angle_rad |
Definition at line 63 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Convert axis angle to quaternion.
Definition at line 74 of file SpatialAlgebraOperators.h.
|
inlinestatic |
convert rotation matrix to quaternion
Definition at line 158 of file SpatialAlgebraOperators.h.
Create a skew symmetric matrix, m, from a 3d vector such that, given two vectors and , a 3rd vector which is the cross product of the first two is given by, . The operator is referred to in Featherstones RBDA as the 3d vector cross( ) operator.
vector |
Definition at line 227 of file SpatialAlgebraOperators.h.
|
inlinestatic |
Definition at line 232 of file SpatialAlgebraOperators.h.
Definition at line 370 of file Point3.hpp.
Vector3d RobotDynamics::Math::Vector3dZero | ( | 0. | , |
0. | , | ||
0. | |||
) |
|
inline |
Definition at line 53 of file rdl_mathutils.h.
|
inline |
Get transform with zero translation and intrinsic euler x/y/z rotation.
roll | |
pitch | |
yaw |
Definition at line 339 of file SpatialAlgebraOperators.h.
|
inline |
Get transform with zero translation and euler x/y/z rotation.
intrinsic | xyz_angles xyz angles where element 0 is roll, 1 is pitch, and 2 is yaw |
Definition at line 349 of file SpatialAlgebraOperators.h.
|
inline |
Get transform with zero translation and intrinsic euler z/y/x rotation.
yaw | |
pitch | |
roll |
Definition at line 316 of file SpatialAlgebraOperators.h.
|
inline |
Get transform defined by intrinsic YPR(yaw->pitch->roll) euler angles.
ypr | Vector of euler angles where ypr[0] is yaw, ypr[1] is pitch, and ypr[2] is roll |
Definition at line 327 of file SpatialAlgebraOperators.h.
|
inline |
Get spatial transform from angle and axis.
angle_rad | angle magnitude |
axis | normalized 3d vector |
Definition at line 250 of file SpatialAlgebraOperators.h.
|
inline |
Definition at line 354 of file SpatialAlgebraOperators.h.
|
inline |
Definition at line 359 of file SpatialAlgebraOperators.h.
|
inline |
Get transform with zero translation and pure rotation about x axis.
xrot |
Definition at line 272 of file SpatialAlgebraOperators.h.
SpatialMatrix RobotDynamics::Math::Xrotx_mat | ( | const double & | 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 138 of file rdl_mathutils.cc.
|
inline |
Get transform with zero translation and pure rotation about y axis.
yrot |
Definition at line 286 of file SpatialAlgebraOperators.h.
SpatialMatrix RobotDynamics::Math::Xroty_mat | ( | const double & | 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 147 of file rdl_mathutils.cc.
|
inline |
Get transform with zero translation and pure rotation about z axis.
zrot |
Definition at line 300 of file SpatialAlgebraOperators.h.
SpatialMatrix RobotDynamics::Math::Xrotz_mat | ( | const double & | 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 156 of file rdl_mathutils.cc.
|
inline |
Get pure translation transform.
r |
Definition at line 369 of file SpatialAlgebraOperators.h.
SpatialMatrix RobotDynamics::Math::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 133 of file rdl_mathutils.cc.
SpatialMatrix RobotDynamics::Math::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 165 of file rdl_mathutils.cc.
Matrix3d RobotDynamics::Math::Matrix3dIdentity(1., 0., 0., 0., 1., 0., 0., 0., 1) |
Matrix3d RobotDynamics::Math::Matrix3dZero(0., 0., 0., 0., 0., 0., 0., 0., 0.) |
Quaternion RobotDynamics::Math::QuaternionIdentity(0., 0., 0., 1) |
SpatialMatrix RobotDynamics::Math::SpatialMatrixIdentity(1., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 1.) |
SpatialMatrix RobotDynamics::Math::SpatialMatrixZero(0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.) |
SpatialVector RobotDynamics::Math::SpatialVectorZero(0., 0., 0., 0., 0., 0.) |
Vector3d RobotDynamics::Math::Vector3dZero(0., 0., 0.) |