libfranka 0.15.0
FCI C++ API
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
franka::CartesianPose Class Reference

Stores values for Cartesian pose motion generation. More...

#include <control_types.h>

Inheritance diagram for franka::CartesianPose:
Inheritance graph
[legend]
Collaboration diagram for franka::CartesianPose:
Collaboration graph
[legend]

Public Member Functions

 CartesianPose (const std::array< double, 16 > &cartesian_pose) noexcept
 Creates a new CartesianPose instance.
 
 CartesianPose (const std::array< double, 16 > &cartesian_pose, const std::array< double, 2 > &elbow) noexcept
 Creates a new CartesianPose instance.
 
 CartesianPose (std::initializer_list< double > cartesian_pose)
 Creates a new CartesianPose instance.
 
 CartesianPose (std::initializer_list< double > cartesian_pose, std::initializer_list< double > elbow)
 Creates a new CartesianPose instance.
 
bool hasElbow () const noexcept
 Determines whether there is a stored elbow configuration.
 

Public Attributes

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\).
 
std::array< double, 2 > elbow {}
 Elbow configuration.
 
- Public Attributes inherited from franka::Finishable
bool motion_finished = false
 Determines whether to finish a currently running motion.
 

Detailed Description

Stores values for Cartesian pose motion generation.

Examples
generate_cartesian_pose_motion.cpp, generate_cartesian_pose_motion_external_control_loop.cpp, generate_elbow_motion.cpp, and joint_impedance_control.cpp.

Constructor & Destructor Documentation

◆ CartesianPose() [1/4]

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

Creates a new CartesianPose instance.

Parameters
[in]cartesian_poseDesired 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() [2/4]

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

Creates a new CartesianPose instance.

Parameters
[in]cartesian_poseDesired 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.
[in]elbowElbow configuration (see elbow member for more details).

◆ CartesianPose() [3/4]

franka::CartesianPose::CartesianPose ( std::initializer_list< double >  cartesian_pose)

Creates a new CartesianPose instance.

Parameters
[in]cartesian_poseDesired 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.
Exceptions
std::invalid_argumentif the given initializer list has an invalid number of arguments.

◆ CartesianPose() [4/4]

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

Creates a new CartesianPose instance.

Parameters
[in]cartesian_poseDesired 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.
[in]elbowElbow configuration (see elbow member for more details).
Exceptions
std::invalid_argumentif a given initializer list has an invalid number of arguments.

Member Function Documentation

◆ hasElbow()

bool franka::CartesianPose::hasElbow ( ) const
noexcept

Determines whether there is a stored elbow configuration.

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

Member Data Documentation

◆ elbow

std::array<double, 2> franka::CartesianPose::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.

◆ O_T_EE

std::array<double, 16> franka::CartesianPose::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.

Examples
joint_impedance_control.cpp.

The documentation for this class was generated from the following file: