MoveIt Pro API
Core Behaviors for MoveIt Pro
Loading...
Searching...
No Matches
cartesian_planning::PathIKOptions Struct Reference

#include <path_ik.hpp>

Public Member Functions

PathIKOptionssetBlendingRadius (double blending_radius)
 
PathIKOptionssetTipConstraint (TipConstraint tip_constraint)
 
PathIKOptionssetTipOffset (const Eigen::Isometry3d &tip_offset)
 
PathIKOptionssetJointLimitAvoidanceParameters (double activation_fraction, double gain)
 
PathIKOptionssetMaxOptimizerIterations (int max_iterations)
 
PathIKOptionssetTrackPathOrientationNullspaceTask (double gain)
 
PathIKOptionssetMaxAllowedPathDeviation (double translation, double rotation)
 
PathIKOptionssetNullspaceOverrideFunction (const NullspaceOverrideFunction &function)
 Set a nullspace override function.
 

Public Attributes

double blending_radius = kDefaultBlendingRadius
 
TipConstraint tip_constraint = TipConstraint::kPositionOnly
 
Eigen::Isometry3d tip_offset = Eigen::Isometry3d::Identity()
 
double joint_limit_cost_activation_fraction = kDefaultJointLimitCostActivationFraction
 
double joint_limit_cost_gain = kDefaultJointLimitCostGain
 
int max_optimizer_iterations = kDefaultMaxOptimizerIterations
 
double track_path_orientation_gain = 0.0
 
double max_allowed_path_deviation_translation = kDefaultMaxAllowedPathDeviationTranslation
 
double max_allowed_path_deviation_rotation = kDefaultMaxAllowedPathDeviationRotation
 
NullspaceOverrideFunction custom_nullspace_task
 

Static Public Attributes

static constexpr double kDefaultBlendingRadius = 0.001
 
static constexpr TipConstraint kDefaultTipConstraint = TipConstraint::kPositionOnly
 
static constexpr double kDefaultJointLimitCostActivationFraction = 0.05
 
static constexpr double kDefaultJointLimitCostGain = 0.4
 
static constexpr int kDefaultMaxOptimizerIterations = 1
 
static constexpr double kDefaultMaxAllowedPathDeviationTranslation = 0.001
 
static constexpr double kDefaultMaxAllowedPathDeviationRotation = 0.001
 

Detailed Description

Options passed to the Path Inverse Kinematics solver.

Use method chaining for in-line construction and modification, e.g: pathIK(..., PathIKOptions().setBlendingRadius(0.1), ...);

Member Function Documentation

◆ setBlendingRadius()

PathIKOptions & cartesian_planning::PathIKOptions::setBlendingRadius ( double  blending_radius)
inline

◆ setJointLimitAvoidanceParameters()

PathIKOptions & cartesian_planning::PathIKOptions::setJointLimitAvoidanceParameters ( double  activation_fraction,
double  gain 
)
inline

◆ setMaxAllowedPathDeviation()

PathIKOptions & cartesian_planning::PathIKOptions::setMaxAllowedPathDeviation ( double  translation,
double  rotation 
)
inline

◆ setMaxOptimizerIterations()

PathIKOptions & cartesian_planning::PathIKOptions::setMaxOptimizerIterations ( int  max_iterations)
inline

◆ setNullspaceOverrideFunction()

PathIKOptions & cartesian_planning::PathIKOptions::setNullspaceOverrideFunction ( const NullspaceOverrideFunction function)
inline

Set a nullspace override function.

This allows users to inject custom nullspace costs into the path IK solver. The function is called after the built-in nullspace tasks (joint limit avoidance, orientation tracking) have been computed, and can modify or replace the nullspace component. It takes the current nullspace component and the current joint values as input, and should return the modified nullspace component.

Example usage:

options.setNullspaceOverrideFunction(
[](const Eigen::VectorXd& nullspace, const Eigen::VectorXd& joints) {
// Add a custom cost to keep joint 3 near zero.
Eigen::VectorXd modified = nullspace;
modified[3] += -0.01 * joints[3];
return modified;
});

◆ setTipConstraint()

PathIKOptions & cartesian_planning::PathIKOptions::setTipConstraint ( TipConstraint  tip_constraint)
inline

◆ setTipOffset()

PathIKOptions & cartesian_planning::PathIKOptions::setTipOffset ( const Eigen::Isometry3d &  tip_offset)
inline

◆ setTrackPathOrientationNullspaceTask()

PathIKOptions & cartesian_planning::PathIKOptions::setTrackPathOrientationNullspaceTask ( double  gain)
inline

Member Data Documentation

◆ blending_radius

double cartesian_planning::PathIKOptions::blending_radius = kDefaultBlendingRadius

◆ custom_nullspace_task

NullspaceOverrideFunction cartesian_planning::PathIKOptions::custom_nullspace_task

◆ joint_limit_cost_activation_fraction

double cartesian_planning::PathIKOptions::joint_limit_cost_activation_fraction = kDefaultJointLimitCostActivationFraction

◆ joint_limit_cost_gain

double cartesian_planning::PathIKOptions::joint_limit_cost_gain = kDefaultJointLimitCostGain

◆ kDefaultBlendingRadius

constexpr double cartesian_planning::PathIKOptions::kDefaultBlendingRadius = 0.001
staticconstexpr

◆ kDefaultJointLimitCostActivationFraction

constexpr double cartesian_planning::PathIKOptions::kDefaultJointLimitCostActivationFraction = 0.05
staticconstexpr

◆ kDefaultJointLimitCostGain

constexpr double cartesian_planning::PathIKOptions::kDefaultJointLimitCostGain = 0.4
staticconstexpr

◆ kDefaultMaxAllowedPathDeviationRotation

constexpr double cartesian_planning::PathIKOptions::kDefaultMaxAllowedPathDeviationRotation = 0.001
staticconstexpr

◆ kDefaultMaxAllowedPathDeviationTranslation

constexpr double cartesian_planning::PathIKOptions::kDefaultMaxAllowedPathDeviationTranslation = 0.001
staticconstexpr

◆ kDefaultMaxOptimizerIterations

constexpr int cartesian_planning::PathIKOptions::kDefaultMaxOptimizerIterations = 1
staticconstexpr

◆ kDefaultTipConstraint

constexpr TipConstraint cartesian_planning::PathIKOptions::kDefaultTipConstraint = TipConstraint::kPositionOnly
staticconstexpr

◆ max_allowed_path_deviation_rotation

double cartesian_planning::PathIKOptions::max_allowed_path_deviation_rotation = kDefaultMaxAllowedPathDeviationRotation

◆ max_allowed_path_deviation_translation

double cartesian_planning::PathIKOptions::max_allowed_path_deviation_translation = kDefaultMaxAllowedPathDeviationTranslation

◆ max_optimizer_iterations

int cartesian_planning::PathIKOptions::max_optimizer_iterations = kDefaultMaxOptimizerIterations

◆ tip_constraint

TipConstraint cartesian_planning::PathIKOptions::tip_constraint = TipConstraint::kPositionOnly

◆ tip_offset

Eigen::Isometry3d cartesian_planning::PathIKOptions::tip_offset = Eigen::Isometry3d::Identity()

◆ track_path_orientation_gain

double cartesian_planning::PathIKOptions::track_path_orientation_gain = 0.0

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