libfranka  0.8.0
FCI C++ API
Public Member Functions | Public Attributes | List of all members
franka::Errors Struct Reference

Enumerates errors that can occur while controlling a franka::Robot. More...

#include <errors.h>

Public Member Functions

 Errors ()
 Creates an empty Errors instance.
 
 Errors (const Errors &other)
 Copy constructs a new Errors instance. More...
 
Errorsoperator= (Errors other)
 Assigns this Errors instance from another Errors value. More...
 
 Errors (const std::array< bool, 37 > &errors)
 Creates a new Errors instance from the given array. More...
 
 operator bool () const noexcept
 Check if any error flag is set to true. More...
 
 operator std::string () const
 Creates a string with names of active errors: "[active_error_name2, active_error_name_2, ... active_error_name_n]" If no errors are active, the string contains empty brackets: "[]". More...
 

Public Attributes

const bool & joint_position_limits_violation
 True if the robot moved past the joint limits.
 
const bool & cartesian_position_limits_violation
 True if the robot moved past any of the virtual walls.
 
const bool & self_collision_avoidance_violation
 True if the robot would have collided with itself.
 
const bool & joint_velocity_violation
 True if the robot exceeded joint velocity limits.
 
const bool & cartesian_velocity_violation
 True if the robot exceeded Cartesian velocity limits.
 
const bool & force_control_safety_violation
 True if the robot exceeded safety threshold during force control.
 
const bool & joint_reflex
 True if a collision was detected, i.e. the robot exceeded a torque threshold in a joint motion.
 
const bool & cartesian_reflex
 True if a collision was detected, i.e. the robot exceeded a torque threshold in a Cartesian motion.
 
const bool & max_goal_pose_deviation_violation
 True if internal motion generator did not reach the goal pose.
 
const bool & max_path_pose_deviation_violation
 True if internal motion generator deviated from the path.
 
const bool & cartesian_velocity_profile_safety_violation
 True if Cartesian velocity profile for internal motions was exceeded.
 
const bool & joint_position_motion_generator_start_pose_invalid
 True if an external joint position motion generator was started with a pose too far from the current pose.
 
const bool & joint_motion_generator_position_limits_violation
 True if an external joint motion generator would move into a joint limit.
 
const bool & joint_motion_generator_velocity_limits_violation
 True if an external joint motion generator exceeded velocity limits.
 
const bool & joint_motion_generator_velocity_discontinuity
 True if commanded velocity in joint motion generators is discontinuous (target values are too far apart).
 
const bool & joint_motion_generator_acceleration_discontinuity
 True if commanded acceleration in joint motion generators is discontinuous (target values are too far apart).
 
const bool & cartesian_position_motion_generator_start_pose_invalid
 True if an external Cartesian position motion generator was started with a pose too far from the current pose.
 
const bool & cartesian_motion_generator_elbow_limit_violation
 True if an external Cartesian motion generator would move into an elbow limit.
 
const bool & cartesian_motion_generator_velocity_limits_violation
 True if an external Cartesian motion generator would move with too high velocity.
 
const bool & cartesian_motion_generator_velocity_discontinuity
 True if commanded velocity in Cartesian motion generators is discontinuous (target values are too far apart).
 
const bool & cartesian_motion_generator_acceleration_discontinuity
 True if commanded acceleration in Cartesian motion generators is discontinuous (target values are too far apart).
 
const bool & cartesian_motion_generator_elbow_sign_inconsistent
 True if commanded elbow values in Cartesian motion generators are inconsistent.
 
const bool & cartesian_motion_generator_start_elbow_invalid
 True if the first elbow value in Cartesian motion generators is too far from initial one.
 
const bool & cartesian_motion_generator_joint_position_limits_violation
 True if the joint position limits would be exceeded after IK calculation.
 
const bool & cartesian_motion_generator_joint_velocity_limits_violation
 True if the joint velocity limits would be exceeded after IK calculation.
 
const bool & cartesian_motion_generator_joint_velocity_discontinuity
 True if the joint velocity in Cartesian motion generators is discontinuous after IK calculation.
 
const bool & cartesian_motion_generator_joint_acceleration_discontinuity
 True if the joint acceleration in Cartesian motion generators is discontinuous after IK calculation.
 
const bool & cartesian_position_motion_generator_invalid_frame
 True if the Cartesian pose is not a valid transformation matrix.
 
const bool & force_controller_desired_force_tolerance_violation
 True if desired force exceeds the safety thresholds.
 
const bool & controller_torque_discontinuity
 True if the torque set by the external controller is discontinuous.
 
const bool & start_elbow_sign_inconsistent
 True if the start elbow sign was inconsistent. More...
 
const bool & communication_constraints_violation
 True if minimum network communication quality could not be held during a motion.
 
const bool & power_limit_violation
 True if commanded values would result in exceeding the power limit.
 
const bool & joint_p2p_insufficient_torque_for_planning
 True if the robot is overloaded for the required motion. More...
 
const bool & tau_j_range_violation
 True if the measured torque signal is out of the safe range.
 
const bool & instability_detected
 True if an instability is detected.
 
const bool & joint_move_in_wrong_direction
 True if the robot is in joint position limits violation error and the user guides the robot further towards the limit.
 

Detailed Description

Enumerates errors that can occur while controlling a franka::Robot.

Constructor & Destructor Documentation

◆ Errors() [1/2]

franka::Errors::Errors ( const Errors other)

Copy constructs a new Errors instance.

Parameters
[in]otherOther Errors instance.

◆ Errors() [2/2]

franka::Errors::Errors ( const std::array< bool, 37 > &  errors)

Creates a new Errors instance from the given array.

Parameters
errorsArray of error flags.

Member Function Documentation

◆ operator bool()

franka::Errors::operator bool ( ) const
explicitnoexcept

Check if any error flag is set to true.

Returns
True if any errors are set.

◆ operator std::string()

franka::Errors::operator std::string ( ) const
explicit

Creates a string with names of active errors: "[active_error_name2, active_error_name_2, ... active_error_name_n]" If no errors are active, the string contains empty brackets: "[]".

Returns
string with names of active errors

◆ operator=()

Errors& franka::Errors::operator= ( Errors  other)

Assigns this Errors instance from another Errors value.

Parameters
[in]otherOther Errors instance.
Returns
Errors instance.

Member Data Documentation

◆ joint_p2p_insufficient_torque_for_planning

const bool& franka::Errors::joint_p2p_insufficient_torque_for_planning

True if the robot is overloaded for the required motion.

Applies only to motions started from Desk.

◆ start_elbow_sign_inconsistent

const bool& franka::Errors::start_elbow_sign_inconsistent

True if the start elbow sign was inconsistent.

Applies only to motions started from Desk.


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