DART
6.7.3
|
The Properties struct contains settings that are commonly used by methods that compute error for inverse kinematics. More...
#include <InverseKinematics.hpp>
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. More... | |
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... | |
The Properties struct contains settings that are commonly used by methods that compute error for inverse kinematics.
dart::dynamics::InverseKinematics::ErrorMethod::Properties::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.
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.
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.
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).