JointLimitConstraint handles joint position and velocity limits.
More...
#include <JointLimitConstraint.hpp>
|
dynamics::Joint * | mJoint |
| The Joint that this constraint is associated with. More...
|
|
dynamics::BodyNode * | mBodyNode |
| The child BodyNode of the Joint that this constraint is associated with. More...
|
|
std::size_t | mAppliedImpulseIndex |
| Index of applied impulse. More...
|
|
Eigen::Matrix< std::size_t, 6, 1 > | mLifeTime |
| Life time of constraint of each DOF. More...
|
|
Eigen::Matrix< bool, 6, 1 > | mIsPositionLimitViolated |
| Whether joint value exceeds the position limit. More...
|
|
Eigen::Matrix< bool, 6, 1 > | mIsVelocityLimitViolated |
| Whether joint value exceeds the velocity limit. More...
|
|
Eigen::Matrix< double, 6, 1 > | mViolation |
| How much current joint values are exceeded from the limits. More...
|
|
Eigen::Matrix< double, 6, 1 > | mNegativeVel |
| The desired delta velocity to satisfy the joint limit constraint. More...
|
|
Eigen::Matrix< double, 6, 1 > | mOldX |
| Constraint impulse of the previous step. More...
|
|
Eigen::Matrix< double, 6, 1 > | mUpperBound |
| Upper limit of the constraint impulse. More...
|
|
Eigen::Matrix< double, 6, 1 > | mLowerBound |
| Lower limit of the constraint impulse. More...
|
|
JointLimitConstraint handles joint position and velocity limits.
◆ JointLimitConstraint()
dart::constraint::JointLimitConstraint::JointLimitConstraint |
( |
dynamics::Joint * |
joint | ) |
|
|
explicit |
◆ ~JointLimitConstraint()
dart::constraint::JointLimitConstraint::~JointLimitConstraint |
( |
| ) |
|
|
overridedefault |
◆ applyImpulse()
void dart::constraint::JointLimitConstraint::applyImpulse |
( |
double * |
lambda | ) |
|
|
overrideprotectedvirtual |
◆ applyUnitImpulse()
void dart::constraint::JointLimitConstraint::applyUnitImpulse |
( |
std::size_t |
index | ) |
|
|
overrideprotectedvirtual |
◆ compressPath()
◆ excite()
void dart::constraint::JointLimitConstraint::excite |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ getConstraintForceMixing()
double dart::constraint::JointLimitConstraint::getConstraintForceMixing |
( |
| ) |
|
|
static |
Get global constraint force mixing parameter.
◆ getDimension()
std::size_t dart::constraint::ConstraintBase::getDimension |
( |
| ) |
const |
|
inherited |
Return dimesion of this constranit.
◆ getErrorAllowance()
double dart::constraint::JointLimitConstraint::getErrorAllowance |
( |
| ) |
|
|
static |
Get global error reduction parameter.
◆ getErrorReductionParameter()
double dart::constraint::JointLimitConstraint::getErrorReductionParameter |
( |
| ) |
|
|
static |
Get global error reduction parameter.
◆ getInformation()
void dart::constraint::JointLimitConstraint::getInformation |
( |
ConstraintInfo * |
info | ) |
|
|
overrideprotectedvirtual |
◆ getMaxErrorReductionVelocity()
double dart::constraint::JointLimitConstraint::getMaxErrorReductionVelocity |
( |
| ) |
|
|
static |
Get global error reduction parameter.
◆ getRootSkeleton() [1/2]
◆ getRootSkeleton() [2/2]
◆ getStaticType()
const std::string & dart::constraint::JointLimitConstraint::getStaticType |
( |
| ) |
|
|
static |
Returns constraint type for this class.
◆ getType()
const std::string & dart::constraint::JointLimitConstraint::getType |
( |
| ) |
const |
|
overridevirtual |
◆ getVelocityChange()
void dart::constraint::JointLimitConstraint::getVelocityChange |
( |
double * |
vel, |
|
|
bool |
withCfm |
|
) |
| |
|
overrideprotectedvirtual |
◆ isActive()
bool dart::constraint::JointLimitConstraint::isActive |
( |
| ) |
const |
|
overrideprotectedvirtual |
◆ setConstraintForceMixing()
void dart::constraint::JointLimitConstraint::setConstraintForceMixing |
( |
double |
cfm | ) |
|
|
static |
Set global constraint force mixing parameter.
◆ setErrorAllowance()
void dart::constraint::JointLimitConstraint::setErrorAllowance |
( |
double |
allowance | ) |
|
|
static |
Set global error reduction parameter.
◆ setErrorReductionParameter()
void dart::constraint::JointLimitConstraint::setErrorReductionParameter |
( |
double |
erp | ) |
|
|
static |
Set global error reduction parameter.
◆ setMaxErrorReductionVelocity()
void dart::constraint::JointLimitConstraint::setMaxErrorReductionVelocity |
( |
double |
erv | ) |
|
|
static |
Set global error reduction parameter.
◆ unexcite()
void dart::constraint::JointLimitConstraint::unexcite |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ uniteSkeletons()
void dart::constraint::ConstraintBase::uniteSkeletons |
( |
| ) |
|
|
virtualinherited |
◆ update()
void dart::constraint::JointLimitConstraint::update |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ ConstrainedGroup
◆ ConstraintSolver
◆ mAppliedImpulseIndex
std::size_t dart::constraint::JointLimitConstraint::mAppliedImpulseIndex |
|
private |
Index of applied impulse.
◆ mBodyNode
The child BodyNode of the Joint that this constraint is associated with.
◆ mConstraintForceMixing
double dart::constraint::JointLimitConstraint::mConstraintForceMixing = 1e-9 |
|
staticprivate |
◆ mDim
std::size_t dart::constraint::ConstraintBase::mDim |
|
protectedinherited |
◆ mErrorAllowance
double dart::constraint::JointLimitConstraint::mErrorAllowance = 0.0 |
|
staticprivate |
Global constraint error allowance.
◆ mErrorReductionParameter
double dart::constraint::JointLimitConstraint::mErrorReductionParameter = 0.01 |
|
staticprivate |
Global constraint error redection parameter in the range of [0, 1].
The default is 0.01.
◆ mIsPositionLimitViolated
Eigen::Matrix<bool, 6, 1> dart::constraint::JointLimitConstraint::mIsPositionLimitViolated |
|
private |
Whether joint value exceeds the position limit.
◆ mIsVelocityLimitViolated
Eigen::Matrix<bool, 6, 1> dart::constraint::JointLimitConstraint::mIsVelocityLimitViolated |
|
private |
Whether joint value exceeds the velocity limit.
◆ mJoint
The Joint that this constraint is associated with.
◆ mLifeTime
Eigen::Matrix<std::size_t, 6, 1> dart::constraint::JointLimitConstraint::mLifeTime |
|
private |
Life time of constraint of each DOF.
◆ mLowerBound
Eigen::Matrix<double, 6, 1> dart::constraint::JointLimitConstraint::mLowerBound |
|
private |
Lower limit of the constraint impulse.
◆ mMaxErrorReductionVelocity
double dart::constraint::JointLimitConstraint::mMaxErrorReductionVelocity = 1e+1 |
|
staticprivate |
Maximum error reduction velocity.
◆ mNegativeVel
Eigen::Matrix<double, 6, 1> dart::constraint::JointLimitConstraint::mNegativeVel |
|
private |
The desired delta velocity to satisfy the joint limit constraint.
◆ mOldX
Eigen::Matrix<double, 6, 1> dart::constraint::JointLimitConstraint::mOldX |
|
private |
Constraint impulse of the previous step.
◆ mUpperBound
Eigen::Matrix<double, 6, 1> dart::constraint::JointLimitConstraint::mUpperBound |
|
private |
Upper limit of the constraint impulse.
◆ mViolation
Eigen::Matrix<double, 6, 1> dart::constraint::JointLimitConstraint::mViolation |
|
private |
How much current joint values are exceeded from the limits.