Robot Dynamics Library
|
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 | Momentum |
Momentum is mass/inertia multiplied by velocity. More... | |
class | MotionVector |
class | Point3d |
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 | Matrix3d |
class | Vector4d |
class | SpatialVector |
class | Matrix4d |
class | SpatialMatrix |
struct | SpatialTransform |
Compact representation of spatial transformations. More... | |
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. 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 | SpatialMomentum |
A SpatialMomentum is a Momentum expressed in a RobotDynamics::ReferenceFrame. The angular portion of the vector is referred to as ![]() ![]() | |
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... | |
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... | |
Typedefs | |
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 std::vector< MotionVector, Eigen::aligned_allocator< MotionVector > > | MotionVectorV |
typedef std::vector< Point3d, Eigen::aligned_allocator< Point3d > > | Point3V |
typedef Eigen::Matrix< double, 6, 3 > | Matrix63 |
typedef Eigen::VectorXd | VectorNd |
typedef Eigen::MatrixXd | MatrixNd |
typedef Eigen::AngleAxisd | AxisAngle |
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< SpatialMomentum, Eigen::aligned_allocator< SpatialMomentum > > | SpatialMomentumV |
typedef std::vector< SpatialMotion, Eigen::aligned_allocator< SpatialMotion > > | SpatialMotionV |
typedef std::vector< SpatialInertia, Eigen::aligned_allocator< SpatialInertia > > | SpatialInertiaV |
Enumerations | |
enum | LinearSolver { LinearSolverUnknown = 0 , LinearSolverPartialPivLU , LinearSolverColPivHouseholderQR , LinearSolverHouseholderQR , LinearSolverLLT , LinearSolverLast } |
Available solver methods for the linear systems. More... | |
Functions | |
bool | linSolveGaussElimPivot (MatrixNd A, VectorNd b, VectorNd &x) |
Solves a linear system using gaussian elimination with pivoting. More... | |
Matrix3d | parallel_axis (const Matrix3d &inertia, double mass, const Vector3d &com) |
Translates the inertia matrix to a new center. More... | |
void | SparseFactorizeLTL (Model &model, Math::MatrixNd &H) |
void | SparseSolveLx (Model &model, Math::MatrixNd &L, Math::VectorNd &x) |
void | SparseSolveLTx (Model &model, Math::MatrixNd &L, Math::VectorNd &x) |
ForceVector | operator* (const SpatialTransform &X, ForceVector f) |
Operator for transforming a ForceVector. Calls the ForceVector::transform method. More... | |
FramePoint | operator+ (FramePoint p, const FrameVector &v) |
FramePoint | operator- (FramePoint p, const FrameVector &v) |
template<typename T > | |
FrameVector | operator* (const T scale, FramePoint p) |
template<typename T > | |
FrameVector | operator* (FramePoint p, const T scale) |
bool | operator== (const FramePoint &lhs, const FramePoint &rhs) |
Check if two FramePoints are equal. More... | |
FrameVector | operator- (FramePoint p1, const FramePoint &p2) |
Subtract two FramePoints and return result in newly created FramePoint. More... | |
bool | operator!= (const FramePoint &lhs, const FramePoint &rhs) |
Check if two FramePoints are not equal. More... | |
std::ostream & | operator<< (std::ostream &output, const FramePoint &framePoint) |
template<typename T > | |
FrameVector | operator* (FrameVector v1, const T scale) |
template<typename T > | |
FrameVector | operator* (const T scale, FrameVector v1) |
FrameVector | operator+ (FrameVector v1, const Vector3d v2) |
FrameVector | operator- (FrameVector v1, const Vector3d v2) |
FrameVector | operator+ (FrameVector v1, const FrameVector v2) |
Add two FrameVectors together. More... | |
FrameVector | operator- (FrameVector v1, const FrameVector v2) |
Add two FrameVectors together. More... | |
template<typename T > | |
FrameVectorPair | operator* (FrameVectorPair pair, const T scalar) |
template<typename T > | |
FrameVectorPair | operator* (const T scalar, FrameVectorPair pair) |
FrameVectorPair | operator+ (FrameVectorPair v1, const FrameVectorPair v2) |
FrameVectorPair | operator- (FrameVectorPair v1, const FrameVectorPair v2) |
static Momentum | operator* (const RigidBodyInertia &I, const MotionVector &v) |
Multiplying a Math::RigidBodyInertia by a Math::MotionVector returns a Momentum. More... | |
static Momentum | operator- (Momentum m1, const Momentum &m2) |
Add two momentums. More... | |
MotionVector | operator* (const SpatialTransform &X, MotionVector v) |
Operator for transforming a MotionVector. More... | |
MotionVector | operator% (MotionVector v, const MotionVector &v2) |
ForceVector | operator% (MotionVector v, const ForceVector &v2) |
Point3d | operator+ (Point3d p, const Vector3d &v) |
Point3d | operator- (Point3d p, const Vector3d &v) |
template<typename T > | |
Point3d | operator* (Point3d p, const T scale) |
template<typename T > | |
Point3d | operator* (const T scale, Point3d p) |
Vector3d | operator- (Point3d p1, const Point3d &p2) |
std::ostream & | operator<< (std::ostream &os, const Point3d &point) |
static Matrix3d | toTildeForm (const Point3d &p) |
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... | |
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 | 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 Matrix3d | toTildeForm (const double x, const double y, const double z) |
std::ostream & | operator<< (std::ostream &output, const SpatialTransform &X) |
SpatialTransform | Xrot (double angle_rad, const Vector3d &axis) |
Get spatial transform from angle and axis. More... | |
SpatialTransform | Xrotx (const double &xrot) |
Get transform with zero translation and pure rotation about x axis. More... | |
SpatialTransform | Xroty (const double &yrot) |
Get transform with zero translation and pure rotation about y axis. More... | |
SpatialTransform | Xrotz (const double &zrot) |
Get transform with zero translation and pure rotation about z axis. 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 | 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 | XrotQuat (double x, double y, double z, double w) |
SpatialTransform | XrotQuat (const Quaternion &orientation) |
SpatialTransform | Xtrans (const Vector3d &r) |
Get pure translation transform. More... | |
SpatialTransform | Xtrans (double x, double y, double z) |
VectorNd | vectorFromPtr (unsigned int n, double *ptr) |
MatrixNd | matrixFromPtr (unsigned int rows, unsigned int cols, double *ptr, bool row_major=true) |
Vector3d | angular_velocity_from_zyx_angle_rates (const Vector3d &zyx_angles, const Vector3d &zyx_angle_rates) |
convert zyx euler angles and angle rates to angular velocity More... | |
Vector3d | angular_velocity_from_xyz_angle_rates (const Vector3d &xyz_angles, const Vector3d &xyz_angle_rates) |
convert xyz euler angles and angle rates to angular velocity More... | |
Matrix3d | angular_velocity_to_zyx_angle_rates_jacobian (const Vector3d &zyx_angles, double singularity_threshold=1.e-10) |
compute the 3x3 jacobian matrix that when multiplied by the angular velocity, ordered (wx, wy, wz) returns the angular velocity vector, note that the ordering of the returned angle rates is (yaw_dot, pitch_Dot, roll_dot) More... | |
Matrix3d | angular_velocity_to_xyz_angle_rates_jacobian (const Vector3d &xyz_angles, double singularity_threshold=1.e-10) |
compute the 3x3 jacobian matrix that when multiplied by the angular velocity, ordered (wx, wy, wz) returns the angular velocity vector, note that the ordering of the returned angle rates is (roll_dot, pitch_dot, yaw_dot) More... | |
Vector3d | angular_velocity_to_zyx_angle_rates (const Vector3d &zyx_angles, const Vector3d &angular_velocity, double singularity_threshold=1.e-10) |
convert angular velocity to zyx angle rates More... | |
Vector3d | angular_velocity_to_xyz_angle_rates (const Vector3d &xyz_angles, const Vector3d &angular_velocity, double singularity_threshold=1.e-10) |
convert angular velocity to xyz angle rates More... | |
Vector3d | global_angular_velocity_from_rates (const Vector3d &zyx_angles, const Vector3d &zyx_rates) |
Vector3d | angular_acceleration_from_zyx_angle_rates (const Vector3d &zyx_angles, const Vector3d &zyx_angle_rates, const Vector3d &zyx_angle_rates_dot) |
calculate angular acceleration from zyx angles, angle rates, and angle accelerations More... | |
Vector3d | angular_acceleration_from_xyz_angle_rates (const Vector3d &xyz_angles, const Vector3d &xyz_angle_rates, const Vector3d &xyz_angle_rates_dot) |
calculate angular acceleration from zyx angles, angle rates, and angle accelerations More... | |
void | SparseMultiplyHx (Model &model, Math::MatrixNd &L) |
void | SparseMultiplyLx (Model &model, Math::MatrixNd &L) |
void | SparseMultiplyLTx (Model &model, Math::MatrixNd &L) |
RigidBodyInertia | operator+ (RigidBodyInertia rbi_in, const RigidBodyInertia &rbi) |
Add two Math::RigidBodyInertia objects together. More... | |
SpatialVector | operator* (const RigidBodyInertia &I, const SpatialVector &v) |
Operator for multiplying a Math::RigidBodyInertia by a Math::SpatialVector. More... | |
Matrix63 | operator* (const RigidBodyInertia &I, const Matrix63 &m) |
Operator for multiplying a Math::RigidBodyInertia by a Math::Matrix63. More... | |
static RigidBodyInertia | createFromMassComInertiaC (double mass, const Vector3d &com, const Matrix3d &inertia_C) |
SpatialAcceleration | operator+ (SpatialAcceleration v1, const SpatialAcceleration &v2) |
Add two SpatialAccelerations. Frame check will be performed to ensure frame rules are abided by. More... | |
SpatialAcceleration | operator- (SpatialAcceleration v1, const SpatialAcceleration &v2) |
Subtract two SpatialAccelerations. Frame check will be performed to ensure frame rules are abided by. 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... | |
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... | |
SpatialForce | operator* (SpatialForce f1, double scale) |
Overloaded * operator to scale a spatial force by a scalar value. More... | |
SpatialMomentum | operator* (const SpatialInertia &inertia, const SpatialMotion &vector) |
EIGEN_STRONG_INLINE SpatialMotion | operator+ (SpatialMotion v1, const SpatialMotion &v2) |
EIGEN_STRONG_INLINE SpatialMotion | operator- (SpatialMotion v1, const SpatialMotion &v2) |
EIGEN_STRONG_INLINE SpatialMotion | operator% (SpatialMotion v1, const SpatialMotion &v2) |
SpatialInertia | operator+ (SpatialInertia inertia_a, const SpatialInertia &inertia_b) |
Adds two Math::SpatialInertia together. Performs frame checks. More... | |
Variables | |
Vector3d | Vector3dZero (0., 0., 0.) |
Matrix3d | Matrix3dIdentity (1., 0., 0., 0., 1., 0., 0., 0., 1) |
Matrix3d | Matrix3dZero (0., 0., 0., 0., 0., 0., 0., 0., 0.) |
Quaternion | QuaternionIdentity (0., 0., 0., 1) |
SpatialVector | SpatialVectorZero (0., 0., 0., 0., 0., 0.) |
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.) |
Math types such as vectors and matrices and utility functions.
typedef Eigen::AngleAxisd RobotDynamics::Math::AxisAngle |
typedef std::vector<ForceVector, Eigen::aligned_allocator<ForceVector> > RobotDynamics::Math::ForceVectorV |
typedef std::vector<FramePoint, Eigen::aligned_allocator<FramePoint> > RobotDynamics::Math::FramePointV |
typedef std::vector<FrameVector, Eigen::aligned_allocator<FrameVector> > RobotDynamics::Math::FrameVectorV |
typedef Eigen::Matrix<double, 6, 3> RobotDynamics::Math::Matrix63 |
typedef Eigen::MatrixXd RobotDynamics::Math::MatrixNd |
typedef std::vector<MotionVector, Eigen::aligned_allocator<MotionVector> > RobotDynamics::Math::MotionVectorV |
typedef std::vector<Point3d, Eigen::aligned_allocator<Point3d> > RobotDynamics::Math::Point3V |
typedef std::vector<RigidBodyInertia, Eigen::aligned_allocator<RigidBodyInertia> > RobotDynamics::Math::RigidBodyInertiaV |
typedef std::vector<SpatialAcceleration, Eigen::aligned_allocator<SpatialAcceleration> > RobotDynamics::Math::SpatialAccelerationV |
typedef std::vector<SpatialForce, Eigen::aligned_allocator<SpatialForce> > RobotDynamics::Math::SpatialForceV |
typedef std::vector<SpatialInertia, Eigen::aligned_allocator<SpatialInertia> > RobotDynamics::Math::SpatialInertiaV |
typedef std::vector<SpatialMomentum, Eigen::aligned_allocator<SpatialMomentum> > RobotDynamics::Math::SpatialMomentumV |
typedef std::vector<SpatialMotion, Eigen::aligned_allocator<SpatialMotion> > RobotDynamics::Math::SpatialMotionV |
typedef Eigen::VectorXd RobotDynamics::Math::VectorNd |
|
inline |
calculate angular acceleration from zyx angles, angle rates, and angle accelerations
xyz_angles | (roll, pitch, yaw) euler angles |
xyz_angle_rates | (roll_dot, pitch_dot, yaw_dot) angle rates |
xyz_angle_accelerations | (roll_ddot, pitch_ddot, yaw_ddot) angle accelerations |
|
inline |
calculate angular acceleration from zyx angles, angle rates, and angle accelerations
zyx_angles | (yaw, pitch, roll) euler angles |
zyx_angle_rates | (yaw_dot, pitch_dot, roll_dot) angle rates |
zyx_angle_accelerations | (yaw_ddot, pitch_ddot, roll_ddot) angle accelerations |
|
inline |
convert xyz euler angles and angle rates to angular velocity
xyz_angles | (roll, pitch, yaw) euler angles |
xyz_angle_rates | (roll_dot, pitch_dot, yaw_dot) |
|
inline |
convert zyx euler angles and angle rates to angular velocity
xyz_angles | (yaw, pitch, roll) euler angles |
xyz_angle_rates | (yaw_dot, pitch_dot, roll_dot) |
|
inline |
convert angular velocity to xyz angle rates
xyz_angles | yaw/pitch/roll euler angles, ordered (roll, pitch, yaw) |
angular_velocity | angular velocity (x, y, z) |
singularity | threshold, if the cosine of pitch is less than this, then it is considered at singularity and will return a vector of zeros and set errno to EDOM, signifying a domain error |
|
inline |
compute the 3x3 jacobian matrix that when multiplied by the angular velocity, ordered (wx, wy, wz) returns the angular velocity vector, note that the ordering of the returned angle rates is (roll_dot, pitch_dot, yaw_dot)
xyz_angles | roll/pitch/yaw euler angles, ordered (roll, pitch, yaw) |
singularity | threshold, if the cosine of pitch is less than this, then it is considered at singularity and will return a matrix of zeros and set errno to EDOM, signifying a domain error |
|
inline |
convert angular velocity to zyx angle rates
zyx_angles | yaw/pitch/roll euler angles, ordered (yaw, pitch, roll) |
angular_velocity | angular velocity (x, y, z) |
singularity | threshold, if the cosine of pitch is less than this, then it is considered at singularity and will return a matrix of zeros and set errno to EDOM, signifying a domain error |
|
inline |
compute the 3x3 jacobian matrix that when multiplied by the angular velocity, ordered (wx, wy, wz) returns the angular velocity vector, note that the ordering of the returned angle rates is (yaw_dot, pitch_Dot, roll_dot)
zyx_angles | yaw/pitch/roll euler angles, ordered (yaw, pitch, roll) |
singularity | threshold, if the cosine of pitch is less than this, then it is considered at singularity and will return a matrix of zeros and set errno to EDOM, signifying a domain error |
|
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 |
|
inline |
|
inlinestatic |
Convert RPY angles to quaternion.
|
inlinestatic |
Convert RPY angles to quaternion.
|
inlinestatic |
Convert PRY angles to quaternion.
|
inlinestatic |
Convert PRY angles to quaternion.
|
inlinestatic |
Convert YPR angles to quaternion.
|
inlinestatic |
Convert YPR angles to quaternion.
Solves a linear system using gaussian elimination with pivoting.
|
inline |
|
inline |
Check if two FramePoints are not equal.
lhs | |
rhs |
ReferenceFrameException | If the two FramePoint arguments are not expressed in the same ReferenceFrame |
|
inline |
Operator for performing the spatial vector operator
v | |
v2 |
|
inline |
Operator for performing the spatial vector operator.
v | |
v2 |
EIGEN_STRONG_INLINE SpatialMotion RobotDynamics::Math::operator% | ( | SpatialMotion | v1, |
const SpatialMotion & | v2 | ||
) |
|
inline |
Operator for multiplying a Math::RigidBodyInertia by a Math::Matrix63.
I | |
m |
|
inlinestatic |
Multiplying a Math::RigidBodyInertia by a Math::MotionVector returns a Momentum.
I | |
v |
|
inline |
Operator for multiplying a Math::RigidBodyInertia by a Math::SpatialVector.
I | |
v |
|
inline |
Overloaded * operator for computing a SpatialMomentum from a SpatialInertia and SpatialMotion. Frame checks will be performed.
inertia | |
vector |
|
inline |
Operator for transforming a ForceVector. Calls the ForceVector::transform method.
X | SpatialTransform |
f | ForceVector to be transformed |
|
inline |
Operator for transforming a MotionVector.
X | SpatialTransform to the desired frame |
v |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Overloaded * operator to scale a spatial force by a scalar value.
f1 | |
scale |
|
inline |
|
inline |
Add two FrameVectors together.
v1 | |
v2 |
|
inline |
|
inline |
|
inline |
Add two Math::RigidBodyInertia objects together.
rbi_in | A copy that is modified and returned. |
rbi |
|
inline |
Add two SpatialAccelerations. Frame check will be performed to ensure frame rules are abided by.
v1 | |
v2 |
|
inline |
Overloaded + operator to add two SpatialForce vectors and return the result in a new SpatialForce. Frame checks are performed.
f1 | |
f2 |
|
inline |
Adds two Math::SpatialInertia together. Performs frame checks.
inertia_a | |
inertia_b |
EIGEN_STRONG_INLINE SpatialMotion RobotDynamics::Math::operator+ | ( | SpatialMotion | v1, |
const SpatialMotion & | v2 | ||
) |
|
inline |
|
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 |
|
inline |
Add two FrameVectors together.
v1 | |
v2 |
|
inline |
|
inline |
Add two momentums.
m1 | |
m2 |
|
inline |
Subtract two SpatialAccelerations. Frame check will be performed to ensure frame rules are abided by.
v1 | |
v2 |
|
inline |
Overloaded - operator to add two SpatialForce vectors and return the result in a new SpatialForce. Frame checks are performed.
f1 | |
f2 |
EIGEN_STRONG_INLINE SpatialMotion RobotDynamics::Math::operator- | ( | SpatialMotion | v1, |
const SpatialMotion & | v2 | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
Check if two FramePoints are equal.
lhs | |
rhs |
ReferenceFrameException | If the two FramePoint arguments are not expressed in the same ReferenceFrame |
Matrix3d RobotDynamics::Math::parallel_axis | ( | const Matrix3d & | inertia, |
double | mass, | ||
const Vector3d & | com | ||
) |
Translates the inertia matrix to a new center.
void RobotDynamics::Math::SparseFactorizeLTL | ( | Model & | model, |
Math::MatrixNd & | H | ||
) |
void RobotDynamics::Math::SparseMultiplyHx | ( | Model & | model, |
Math::MatrixNd & | L | ||
) |
void RobotDynamics::Math::SparseMultiplyLTx | ( | Model & | model, |
Math::MatrixNd & | L | ||
) |
void RobotDynamics::Math::SparseMultiplyLx | ( | Model & | model, |
Math::MatrixNd & | L | ||
) |
void RobotDynamics::Math::SparseSolveLTx | ( | Model & | model, |
Math::MatrixNd & | L, | ||
Math::VectorNd & | x | ||
) |
void RobotDynamics::Math::SparseSolveLx | ( | Model & | model, |
Math::MatrixNd & | L, | ||
Math::VectorNd & | x | ||
) |
|
inlinestatic |
|
inline |
|
inline |
Get transform with zero translation and euler x/y/z rotation.
xyz_angles | xyz_angles xyz angles where element 0 is roll, 1 is pitch, and 2 is yaw |
|
inline |
Get transform with zero translation and intrinsic euler x/y/z rotation.
roll | |
pitch | |
yaw |
|
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 |
|
inline |
Get transform with zero translation and intrinsic euler z/y/x rotation.
yaw | |
pitch | |
roll |
|
inline |
Get spatial transform from angle and axis.
angle_rad | angle magnitude |
axis | normalized 3d vector |
|
inline |
|
inline |
|
inline |
Get transform with zero translation and pure rotation about x axis.
xrot |
|
inline |
Get transform with zero translation and pure rotation about y axis.
yrot |
|
inline |
Get transform with zero translation and pure rotation about z axis.
zrot |
|
inline |
Get pure translation transform.
r |
|
inline |
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. | |||
) |