MoveIt Pro Behavior
Core Behaviors for MoveIt Pro
AdmittanceControllerParams Struct Reference

Struct representing admittance controller parameters. More...

#include <set_admittance_parameters.hpp>

Public Member Functions

std::string getParamDimensionStr (const size_t idx) const
 Helper function to convert index to a dimension (position or rotation) an axis (x, y, or z). More...
 
std::string getParamLimitStr (const double vmin, const double vmax) const
 
std::string validateVectorParameter (const std::string &name, const std::vector< double > &vec, const std::pair< double, double > &pos_limits, const std::pair< double, double > &rot_limits) const
 Helper function to validate a 6-element vector admittance parameter. More...
 
tl::expected< void, std::string > validate () const
 Validates the numeric parameter values against their limits. More...
 

Public Attributes

std::string controller_name = ""
 Name of the controller. More...
 
std::string base_frame = ""
 Base frame used for kinematics calculation. More...
 
std::string end_effector_frame = ""
 End effector frame used for kinematics calculation. More...
 
std::string control_frame = ""
 Admittance control frame. More...
 
std::vector< bool > enabled_axes { false, false, false, false, false }
 Enabled admittance axes (x, y, z, rx, ry, rz). More...
 
std::vector< double > mass { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }
 Admittance control mass (x, y, z, rx, ry, rz), with limits. More...
 
std::pair< double, double > mass_position_limits { 0.0, 0.0 }
 
std::pair< double, double > mass_rotation_limits { 0.0, 0.0 }
 
std::vector< double > stiffness { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }
 Admittance control stiffness (x, y, z, rx, ry, rz), with limits. More...
 
std::pair< double, double > stiffness_position_limits { 0.0, 0.0 }
 
std::pair< double, double > stiffness_rotation_limits { 0.0, 0.0 }
 
std::vector< double > damping_ratio { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }
 Admittance control damping ratio (x, y, z, rx, ry, rz), with limits. More...
 
std::pair< double, double > damping_ratio_position_limits { 0.0, 0.0 }
 
std::pair< double, double > damping_ratio_rotation_limits { 0.0, 0.0 }
 
double joint_damping = 0.0
 Joint damping used in admittance calculation, with limits. More...
 
std::pair< double, double > joint_damping_limits { 0.0, 0.0 }
 

Detailed Description

Struct representing admittance controller parameters.

Member Function Documentation

◆ getParamDimensionStr()

std::string AdmittanceControllerParams::getParamDimensionStr ( const size_t  idx) const
inline

Helper function to convert index to a dimension (position or rotation) an axis (x, y, or z).

Parameters
idxIndex number (should be 0 through 6).
Returns
A formatted string such as "rotation x" or "position y".

◆ getParamLimitStr()

std::string AdmittanceControllerParams::getParamLimitStr ( const double  vmin,
const double  vmax 
) const
inline

Helper function to convert limits to a printable string.

Parameters
vminThe minimum value.
vmaxThe maximum value.
Returns
A formatted string such in the form "[min - max]".

◆ validate()

tl::expected< void, std::string > AdmittanceControllerParams::validate ( ) const

Validates the numeric parameter values against their limits.

Returns
Nothing if successful, else an error describing the violated limits.

◆ validateVectorParameter()

std::string AdmittanceControllerParams::validateVectorParameter ( const std::string &  name,
const std::vector< double > &  vec,
const std::pair< double, double > &  pos_limits,
const std::pair< double, double > &  rot_limits 
) const

Helper function to validate a 6-element vector admittance parameter.

Parameters
nameThe name to use for printing validation messages on this parameter.
vecThe vector containing the parameter values.
pos_limitsThe pair containing the position value limits.
rot_limitsThe pair containing the rotation value limits.
Returns
A string containing any validation messages to pass to its caller.

Member Data Documentation

◆ base_frame

std::string AdmittanceControllerParams::base_frame = ""

Base frame used for kinematics calculation.

◆ control_frame

std::string AdmittanceControllerParams::control_frame = ""

Admittance control frame.

◆ controller_name

std::string AdmittanceControllerParams::controller_name = ""

Name of the controller.

◆ damping_ratio

std::vector<double> AdmittanceControllerParams::damping_ratio { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }

Admittance control damping ratio (x, y, z, rx, ry, rz), with limits.

◆ damping_ratio_position_limits

std::pair<double, double> AdmittanceControllerParams::damping_ratio_position_limits { 0.0, 0.0 }

◆ damping_ratio_rotation_limits

std::pair<double, double> AdmittanceControllerParams::damping_ratio_rotation_limits { 0.0, 0.0 }

◆ enabled_axes

std::vector<bool> AdmittanceControllerParams::enabled_axes { false, false, false, false, false }

Enabled admittance axes (x, y, z, rx, ry, rz).

◆ end_effector_frame

std::string AdmittanceControllerParams::end_effector_frame = ""

End effector frame used for kinematics calculation.

◆ joint_damping

double AdmittanceControllerParams::joint_damping = 0.0

Joint damping used in admittance calculation, with limits.

◆ joint_damping_limits

std::pair<double, double> AdmittanceControllerParams::joint_damping_limits { 0.0, 0.0 }

◆ mass

std::vector<double> AdmittanceControllerParams::mass { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }

Admittance control mass (x, y, z, rx, ry, rz), with limits.

◆ mass_position_limits

std::pair<double, double> AdmittanceControllerParams::mass_position_limits { 0.0, 0.0 }

◆ mass_rotation_limits

std::pair<double, double> AdmittanceControllerParams::mass_rotation_limits { 0.0, 0.0 }

◆ stiffness

std::vector<double> AdmittanceControllerParams::stiffness { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }

Admittance control stiffness (x, y, z, rx, ry, rz), with limits.

◆ stiffness_position_limits

std::pair<double, double> AdmittanceControllerParams::stiffness_position_limits { 0.0, 0.0 }

◆ stiffness_rotation_limits

std::pair<double, double> AdmittanceControllerParams::stiffness_rotation_limits { 0.0, 0.0 }

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