Class CartesianVelocities

Inheritance Relationships

Base Type

Class Documentation

class CartesianVelocities : public franka::Finishable

Stores values for Cartesian velocity motion generation.

The Cartesian velocity of the end-effector is expressed in a frame parallel to the fixed/base frame, whose origin is the same as the end-effector frame. Rotations are thus expressed around the end-effector and parallel to the base frame.

Public Functions

CartesianVelocities(const std::array<double, 6> &cartesian_velocities) noexcept

Creates a new CartesianVelocities instance.

Parameters:

cartesian_velocities[in] Desired Cartesian velocity with respect to the base frame O with (x˙,y˙,z˙) in [m/s] and (ωx,ωy,ωz) in [rad/s].

CartesianVelocities(const std::array<double, 6> &cartesian_velocities, const std::array<double, 2> &elbow) noexcept

Creates a new CartesianVelocities instance.

Parameters:
  • cartesian_velocities[in] Desired Cartesian velocity with respect to the base frame O with (x˙,y˙,z˙) in [m/s] and (ωx,ωy,ωz) in [rad/s].

  • elbow[in] Elbow configuration (see elbow member for more details).

CartesianVelocities(std::initializer_list<double> cartesian_velocities)

Creates a new CartesianVelocities instance.

Parameters:

cartesian_velocities[in] Desired Cartesian velocity with respect to the base frame O with (x˙,y˙,z˙) in [m/s] and (ωx,ωy,ωz) in [rad/s].

Throws:

std::invalid_argument – if the given initializer list has an invalid number of arguments.

CartesianVelocities(std::initializer_list<double> cartesian_velocities, std::initializer_list<double> elbow)

Creates a new CartesianVelocities instance.

Parameters:
  • cartesian_velocities[in] Desired Cartesian velocity with respect to the base frame O with (x˙,y˙,z˙) in [m/s] and (ωx,ωy,ωz) in [rad/s].

  • elbow[in] Elbow configuration (see elbow member for more details).

Throws:

std::invalid_argument – if a given initializer list has an invalid number of arguments.

bool hasElbow() const noexcept

Determines whether there is a stored elbow configuration.

Returns:

True if there is a stored elbow configuration, false otherwise.

Public Members

std::array<double, 6> O_dP_EE = {}

Cartesian velocity with respect to the base frame O with (x˙,y˙,z˙) in [m/s] and (ωx,ωy,ωz) in [rad/s].

std::array<double, 2> elbow = {}

Elbow configuration.

The values of the array are:

  • elbow[0]: Position of the 3rd joint in [rad].

  • elbow[1]: Flip direction of the elbow (4th joint):

    • +1 if q4>α

    • 0 if q4==α

    • -1 if q4<α

with α=0.467002423653011 rad