DART  6.6.2
dart::dynamics::InverseKinematics::TaskSpaceRegion::Properties Struct Reference

#include <InverseKinematics.hpp>

Inheritance diagram for dart::dynamics::InverseKinematics::TaskSpaceRegion::Properties:
dart::dynamics::InverseKinematics::ErrorMethod::Properties dart::dynamics::InverseKinematics::TaskSpaceRegion::UniqueProperties

Public Member Functions

 Properties (const ErrorMethod::Properties &errorProperties=ErrorMethod::Properties(), const UniqueProperties &taskSpaceProperties=UniqueProperties())
 Default constructor. More...
 

Public Attributes

std::pair< Eigen::Vector6d, Eigen::Vector6dmBounds
 Bounds that define the acceptable range of the Node's transform relative to its target frame. More...
 
double mErrorLengthClamp
 The error vector will be clamped to this length with each iteration. More...
 
Eigen::Vector6d mErrorWeights
 These weights will be applied to the error vector component-wise. More...
 
bool mComputeErrorFromCenter
 Setting this to true (which is default) will tell it to compute the error based on the center of the Task Space Region instead of the edge of the Task Space Region. More...
 

Constructor & Destructor Documentation

◆ Properties()

dart::dynamics::InverseKinematics::TaskSpaceRegion::Properties::Properties ( const ErrorMethod::Properties errorProperties = ErrorMethod::Properties(),
const UniqueProperties taskSpaceProperties = UniqueProperties() 
)

Default constructor.

Member Data Documentation

◆ mBounds

std::pair<Eigen::Vector6d, Eigen::Vector6d> dart::dynamics::InverseKinematics::ErrorMethod::Properties::mBounds
inherited

Bounds that define the acceptable range of the Node's transform relative to its target frame.

◆ mComputeErrorFromCenter

bool dart::dynamics::InverseKinematics::TaskSpaceRegion::UniqueProperties::mComputeErrorFromCenter
inherited

Setting this to true (which is default) will tell it to compute the error based on the center of the Task Space Region instead of the edge of the Task Space Region.

This often results in faster convergence, as the Node will enter the Task Space Region more aggressively.

Once the Node is inside the Task Space Region, the error vector will drop to zero, regardless of whether this flag is true or false.

◆ mErrorLengthClamp

double dart::dynamics::InverseKinematics::ErrorMethod::Properties::mErrorLengthClamp
inherited

The error vector will be clamped to this length with each iteration.

This is used to enforce sane behavior, even when there are extremely large error vectors.

◆ mErrorWeights

Eigen::Vector6d dart::dynamics::InverseKinematics::ErrorMethod::Properties::mErrorWeights
inherited

These weights will be applied to the error vector component-wise.

This allows you to set some components of error as more important than others, or to scale their coordinate spaces. For example, you will often want the first three components (orientation error) to have smaller weights than the last three components (translation error).