8 #ifndef __RDL_SPATIAL_MOTION_HPP__ 9 #define __RDL_SPATIAL_MOTION_HPP__ 61 const double vx,
const double vy,
const double vz)
257 v1.SpatialMotion::operator%=(v2);
260 typedef std::vector<SpatialMotion, Eigen::aligned_allocator<SpatialMotion>>
SpatialMotionV;
264 #endif //__RDL_SPATIAL_MOTION_HPP__ EIGEN_STRONG_INLINE void set(const double &v0, const double &v1, const double &v2, const double &v3, const double &v4, const double &v5)
ReferenceFramePtr getReferenceFrame() const
Get a pointer to the reference frame this FrameObject is expressed in.
SpatialMotion(ReferenceFramePtr bodyFrame, ReferenceFramePtr baseFrame, ReferenceFramePtr expressedInFrame, const Vector3d &w, const Vector3d v)
Constructor.
void setIncludingFrame(ReferenceFramePtr referenceFrame, const SpatialVector &v)
void operator-=(const SpatialMotion &v)
Overloaded -= operator. Frame checks are performed.
MotionVector toMotionVector() const
Get a copy of this SpatialMotion as type MotionVector.
void operator%=(const SpatialMotion &v)
This is an operator for performing what is referred to in Featherstone as the spatial vector cross( )...
EIGEN_STRONG_INLINE double & vz()
Get a reference to the linear-z component.
ReferenceFramePtr referenceFrame
SpatialMotion(ReferenceFramePtr bodyFrame, ReferenceFramePtr baseFrame, ReferenceFramePtr expressedInFrame, const SpatialVector &v)
Constructor.
FramePoint operator+(FramePoint p, const FrameVector &v)
FrameVector getFramedAngularPart() const
Get angular part of spatial motion as a frame vector.
MotionVector & operator=(const MotionVector &other)
Overload equal operator.
MotionVector operator%(MotionVector v, const MotionVector &v2)
EIGEN_STRONG_INLINE double & wx()
Get a reference to the angular-x component.
EIGEN_STRONG_INLINE double & wy()
Get a reference to the angular-y component.
SpatialMotion(ReferenceFramePtr bodyFrame, ReferenceFramePtr baseFrame, ReferenceFramePtr expressedInFrame, const double wx, const double wy, const double wz, const double vx, const double vy, const double vz)
Constructor.
ReferenceFramePtr bodyFrame
FrameVector getFramedLinearPart() const
Get linear part of spatial motion as a frame vector.
void operator+=(const SpatialMotion &v)
Overloaded += operator. Frame checks are performed.
SpatialMotion(const SpatialMotion &spatialMotion)
Copy constructor.
EIGEN_STRONG_INLINE double & vx()
Get a reference to the linear-x component.
SpatialMotion & operator=(const SpatialMotion &other)
std::shared_ptr< ReferenceFrame > ReferenceFramePtr
virtual void changeFrame(ReferenceFramePtr desiredFrame)
Change the ReferenceFrame this FrameObject is expressed in.
A FrameVector is a 3D vector with a ReferenceFrame, and all operations between FrameVectors and other...
A SpatialMotion vector is a MotionVector with a RobotDynamics::ReferenceFrame it is expressed in...
ReferenceFramePtr getBaseFrame() const
Get a SpatialMotions SpatialMotion::baseFrame.
EIGEN_STRONG_INLINE double & wz()
Get a reference to the angular-z component.
EIGEN_STRONG_INLINE double & vy()
Get a reference to the linear-y component.
std::vector< SpatialMotion, Eigen::aligned_allocator< SpatialMotion > > SpatialMotionV
ReferenceFramePtr getBodyFrame() const
Get a SpatialMotions SpatialMotion::bodyFrame.
EIGEN_STRONG_INLINE Vector3d getAngularPart() const
SpatialMotion()
Constructor. SpatialMotion::bodyFrame, SpatialMotion::baseFrame, and RobotDynamics::FrameObject::refe...
ReferenceFramePtr baseFrame
FramePoint operator-(FramePoint p, const FrameVector &v)
SpatialMotion changeFrameAndCopy(ReferenceFramePtr referenceFrame) const
Copy and change frame.
EIGEN_STRONG_INLINE Vector3d getLinearPart() const
void setIncludingFrame(ReferenceFramePtr referenceFrame, double wx, double wy, double wz, double vx, double vy, double vz)
Math::TransformableGeometricObject * getTransformableGeometricObject()
Pure virtual method that FrameObjects are required to implement so the FrameObject::changeFrame metho...
void setBaseFrame(ReferenceFramePtr referenceFrame)
Sets the base frame of a spatial motion.
void setBodyFrame(ReferenceFramePtr referenceFrame)
Sets the body frame of a spatial motion.
An interface that objects with a ReferenceFrame extend to inherit the FrameObject::changeFrame method...
Namespace for all structures of the RobotDynamics library.