Go to the documentation of this file.
23 #ifndef KDL_FRAMEVEL_H
24 #define KDL_FRAMEVEL_H
38 return doubleVel((b.t-a.t)/dt,(b.grad-a.grad)/dt);
42 return doubleVel(a.t+da.t*dt,a.grad+da.grad*dt);
227 M(_T.
M,_t.rot),
p(_T.
p,_t.vel) {}
TwistVel(const VectorVel &_vel, const VectorVel &_rot)
IMETHOD VectorVel & operator-=(const VectorVel &arg)
static IMETHOD RotationVel RotY(const doubleVel &angle)
IMETHOD friend TwistVel operator/(const TwistVel &lhs, double rhs)
std::size_t operator()(KDL::RotationVel const &rv) const noexcept
IMETHOD friend TwistVel operator*(const TwistVel &lhs, double rhs)
RotationVel(const Rotation &_R, const Vector &_w)
IMETHOD Twist GetTwist() const
IMETHOD friend bool operator==(const FrameVel &a, const FrameVel &b)
IMETHOD friend doubleVel dot(const VectorVel &lhs, const VectorVel &rhs)
IMETHOD void posrandom(doubleVel &F)
IMETHOD void DoRotY(const doubleVel &angle)
IMETHOD TwistVel RefPoint(const VectorVel &v_base_AB)
IMETHOD friend void SetToZero(TwistVel &v)
std::size_t operator()(KDL::doubleVel const &dv) const noexcept
IMETHOD RotationVel Inverse() const
IMETHOD void random(doubleVel &F)
static IMETHOD RotationVel Rot(const Vector &rotvec, const doubleVel &angle)
FrameVel(const Frame &_T)
IMETHOD friend bool Equal(const FrameVel &r1, const FrameVel &r2, double eps)
std::size_t operator()(KDL::FrameVel const &fv) const noexcept
std::size_t operator()(KDL::TwistVel const &tv) const noexcept
IMETHOD friend bool operator==(const RotationVel &r1, const RotationVel &r2)
FrameVel(const RotationVel &_M, const VectorVel &_p)
std::size_t operator()(KDL::VectorVel const &vv) const noexcept
void hash_combine(std::size_t &seed, const T &v)
Combine hash of object v to the seed.
IMETHOD friend bool Equal(const TwistVel &a, const TwistVel &b, double eps)
IMETHOD friend bool operator==(const VectorVel &r1, const VectorVel &r2)
IMETHOD VectorVel operator*(const VectorVel &arg) const
IMETHOD friend bool operator!=(const FrameVel &a, const FrameVel &b)
IMETHOD FrameVel & operator=(const Frame &arg)
IMETHOD Vector addDelta(const Vector &p_w_a, const Vector &p_w_da, double dt=1)
adds vector da to vector a. see also the corresponding diff() routine.
IMETHOD friend bool operator!=(const VectorVel &r1, const VectorVel &r2)
IMETHOD FrameVel Inverse() const
static IMETHOD RotationVel Rot2(const Vector &rotvec, const doubleVel &angle)
A concrete implementation of a 3 dimensional vector class.
IMETHOD friend TwistVel operator-(const TwistVel &lhs, const TwistVel &rhs)
double epsilon
default precision while comparing with Equal(..,..) functions. Initialized at 0.0000001.
represents both translational and rotational velocities.
IMETHOD VectorVel & operator+=(const VectorVel &arg)
static IMETHOD RotationVel RotX(const doubleVel &angle)
IMETHOD void ReverseSign()
IMETHOD TwistVel & operator-=(const TwistVel &arg)
IMETHOD friend VectorVel operator+(const VectorVel &r1, const VectorVel &r2)
IMETHOD void ReverseSign()
IMETHOD friend bool operator!=(const TwistVel &a, const TwistVel &b)
IMETHOD VectorVel UnitZ() const
IMETHOD doubleVel Norm(double eps=epsilon) const
IMETHOD friend VectorVel operator/(const VectorVel &r1, double r2)
static IMETHOD TwistVel Zero()
Rall1d< double > doubleVel
represents a frame transformation in 3D space (rotation + translation)
IMETHOD Frame GetFrame() const
IMETHOD TwistVel & operator+=(const TwistVel &arg)
IMETHOD friend void SetToZero(VectorVel &v)
static IMETHOD RotationVel RotZ(const doubleVel &angle)
TwistVel(const Twist &p, const Twist &v)
VectorVel(const Vector &_p)
IMETHOD Twist GetTwist() const
IMETHOD friend TwistVel operator+(const TwistVel &lhs, const TwistVel &rhs)
IMETHOD VectorVel operator*(const VectorVel &arg) const
static IMETHOD RotationVel Identity()
IMETHOD void DoRotZ(const doubleVel &angle)
IMETHOD bool Equal(const FrameAcc &r1, const FrameAcc &r2, double eps=epsilon)
static IMETHOD FrameVel Identity()
FrameVel(const Frame &_T, const Twist &_t)
IMETHOD friend VectorVel operator*(const VectorVel &r1, const VectorVel &r2)
IMETHOD VectorVel & operator=(const VectorVel &arg)
RotationVel(const Rotation &_R)
IMETHOD VectorVel UnitY() const
static IMETHOD VectorVel Zero()
IMETHOD Vector diff(const Vector &p_w_a, const Vector &p_w_b, double dt=1)
IMETHOD friend bool operator==(const TwistVel &a, const TwistVel &b)
IMETHOD Twist GetTwistDot() const
IMETHOD void DoRotX(const doubleVel &angle)
IMETHOD VectorVel UnitX() const
IMETHOD RotationVel & operator=(const RotationVel &arg)
IMETHOD friend bool Equal(const VectorVel &r1, const VectorVel &r2, double eps)
Traits are traits classes to determine the type of a derivative of another type.
IMETHOD friend VectorVel operator-(const VectorVel &r1, const VectorVel &r2)
VectorVel(const Vector &_p, const Vector &_v)
IMETHOD friend bool operator!=(const RotationVel &r1, const RotationVel &r2)
represents rotations in 3 dimensional space.
IMETHOD friend bool Equal(const RotationVel &r1, const RotationVel &r2, double eps)