dart
Public Member Functions | Public Attributes | List of all members
dart::dynamics::InverseKinematics::ErrorMethod::Properties Struct Reference

The Properties struct contains settings that are commonly used by methods that compute error for inverse kinematics. More...

#include <InverseKinematics.hpp>

Inheritance diagram for dart::dynamics::InverseKinematics::ErrorMethod::Properties:
Inheritance graph
[legend]

Public Member Functions

 Properties (const Bounds &_bounds=Bounds(Eigen::Vector6d::Constant(-DefaultIKTolerance), Eigen::Vector6d::Constant(DefaultIKTolerance)), double _errorClamp=DefaultIKErrorClamp, const Eigen::Vector6d &_errorWeights=Eigen::compose(Eigen::Vector3d::Constant(DefaultIKAngularWeight), Eigen::Vector3d::Constant(DefaultIKLinearWeight)))
 Default constructor.
 

Public Attributes

std::pair< Eigen::Vector6d, Eigen::Vector6d > mBounds
 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...
 

Detailed Description

The Properties struct contains settings that are commonly used by methods that compute error for inverse kinematics.

Member Data Documentation

◆ mBounds

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

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

◆ mErrorLengthClamp

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

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

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).


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