Class CartesianPose

Inheritance Relationships

Base Type

Class Documentation

class CartesianPose : public franka::Finishable

Stores values for Cartesian pose motion generation.

Public Functions

CartesianPose(const std::array<double, 16> &cartesian_pose) noexcept

Creates a new CartesianPose instance.

Parameters:

cartesian_pose[in] Desired vectorized homogeneous transformation matrix \(^O {\mathbf{T}_{EE}}_{d}\), column major, that transforms from the end effector frame \(EE\) to base frame \(O\). Equivalently, it is the desired end effector pose in base frame.

CartesianPose(const std::array<double, 16> &cartesian_pose, const std::array<double, 2> &elbow) noexcept

Creates a new CartesianPose instance.

Parameters:
  • cartesian_pose[in] Desired vectorized homogeneous transformation matrix \(^O {\mathbf{T}_{EE}}_{d}\), column major, that transforms from the end effector frame \(EE\) to base frame \(O\). Equivalently, it is the desired end effector pose in base frame.

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

CartesianPose(std::initializer_list<double> cartesian_pose)

Creates a new CartesianPose instance.

Parameters:

cartesian_pose[in] Desired vectorized homogeneous transformation matrix \(^O {\mathbf{T}_{EE}}_{d}\), column major, that transforms from the end effector frame \(EE\) to base frame \(O\). Equivalently, it is the desired end effector pose in base frame.

Throws:

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

CartesianPose(std::initializer_list<double> cartesian_pose, std::initializer_list<double> elbow)

Creates a new CartesianPose instance.

Parameters:
  • cartesian_pose[in] Desired vectorized homogeneous transformation matrix \(^O {\mathbf{T}_{EE}}_{d}\), column major, that transforms from the end effector frame \(EE\) to base frame \(O\). Equivalently, it is the desired end effector pose in base frame.

  • 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, 16> O_T_EE = {}

Homogeneous transformation \(^O{\mathbf{T}_{EE}}_{d}\), column major, that transforms from the end effector frame \(EE\) to base frame \(O\). Equivalently, it is the desired end effector pose in base frame.

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 > q_{elbow-flip}\)

    • 0 if \(q_4 == q_{elbow-flip} \)

    • -1 if \(q_4 < q_{elbow-flip} \)

with \(q_{elbow-flip}\) as specified in the robot interface specification page in the FCI Documentation.