libfranka 0.15.0
FCI C++ API
Loading...
Searching...
No Matches
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.
 
Errorsoperator= (Errors other)
 Assigns this Errors instance from another Errors value.
 
 Errors (const std::array< bool, 41 > &errors)
 Creates a new Errors instance from the given array.
 
 operator bool () const noexcept
 Check if any error flag is set to true.
 
 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: "[]".
 

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.
 
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.
 
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.
 
const bool & cartesian_spline_motion_generator_violation
 True if the generated motion violates a joint limit.
 
const bool & joint_via_motion_generator_planning_joint_limit_violation
 True if the generated motion violates a joint limit.
 
const bool & base_acceleration_initialization_timeout
 True if the gravity vector could not be initialized by measureing the base acceleration.
 
const bool & base_acceleration_invalid_reading
 True if the base acceleration O_ddP_O cannot be determined.
 

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, 41 > &  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: