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 \((\dot x, \dot y, \dot z)\) in \([m/s]\) and \((\omega_x, \omega_y, \omega_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 \((\dot x, \dot y, \dot z)\) in \([m/s]\) and \((\omega_x, \omega_y, \omega_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 \((\dot x, \dot y, \dot z)\) in \([m/s]\) and \((\omega_x, \omega_y, \omega_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 \((\dot x, \dot y, \dot z)\) in \([m/s]\) and \((\omega_x, \omega_y, \omega_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 \((\dot x, \dot y, \dot z)\) in \([m/s]\) and \((\omega_x, \omega_y, \omega_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 \(q_4 > \alpha\)

    • 0 if \(q_4 == \alpha \)

    • -1 if \(q_4 < \alpha \)

with \(\alpha = -0.467002423653011\) \(rad\)