class
#include <private/TransformConstraint.h>
TransformConstraint Class representing a constraint (full or partial) on a transform between a given frame and the absolute frame.
The constraint can be of the following type, where we indicate with the absolute (world) frame and with the constrained frame.
Full Transform constraint: the transform ${}^A H_C$ is constrained to a given constant value. Rotation Constraint: the rotation ${}^A R_C$ is constrained to a given constant value. Position Constraint: the linear position ${}^A o_C$ is constrained to a given constant value.
Public types
- enum TransformConstraintType { TransformConstraintTypePosition, TransformConstraintTypeRotation, TransformConstraintTypeFullTransform }
- Type of the trasform constraint.
Public static functions
-
static auto positionConstraint(const std::string& frameName,
const iDynTree::
Position& position, const double posWeight = 1.0) -> TransformConstraint - create a position constraint for the specified frame
-
static auto rotationConstraint(const std::string& frameName,
const iDynTree::
Rotation& rotation, const double rotWeight = 1.0) -> TransformConstraint - create an orientation constraint for the specified frame
-
static auto fullTransformConstraint(const std::string& constrainedFrameName,
const iDynTree::
Position& position, const iDynTree:: Rotation& rotation, const double posWeight = 1.0, const double rotWeight = 1.0) -> TransformConstraint - create a full Transform constraint for the specified frame
-
static auto fullTransformConstraint(const std::string& constrainedFrameName,
const iDynTree::
Transform& transform, const double posWeight = 1.0, const double rotWeight = 1.0) -> TransformConstraint - create a full Transform constraint for the specified frame
Public functions
- auto getSize() const -> unsigned
- return the size of the constraint identified by this Constrained
-
auto getType() const -> TransformConstraint::
TransformConstraintType - auto hasPositionConstraint() const -> bool
- auto hasRotationConstraint() const -> bool
-
auto getPosition() const -> const iDynTree::
Position& -
void setPosition(const iDynTree::
Position& newPos) -
auto getRotation() const -> const iDynTree::
Rotation& -
void setRotation(const iDynTree::
Rotation& newRot) -
auto getTransform() const -> const iDynTree::
Transform& - auto getFrameName() const -> const std::string&
- auto getPositionWeight() const -> const double
- void setPositionWeight(const double newPosWeight)
- auto getRotationWeight() const -> const double
- void setRotationWeight(const double newRotWeight)
- void setTargetResolutionMode(enum iDynTree::InverseKinematicsTreatTargetAsConstraint mode)
- auto targetResolutionMode() const -> enum iDynTree::InverseKinematicsTreatTargetAsConstraint
- void setActive(const bool isActive)
- auto isActive() const -> bool
Enum documentation
enum internal:: kinematics:: TransformConstraint:: TransformConstraintType
Type of the trasform constraint.
Enumerators | |
---|---|
TransformConstraintTypePosition |
The trasform is related only to the position component (origin of the frame) |
TransformConstraintTypeRotation |
The trasform is related only to the orientation component |
TransformConstraintTypeFullTransform |
The full trasform is considered |
Function documentation
static TransformConstraint internal:: kinematics:: TransformConstraint:: positionConstraint(const std::string& frameName,
const iDynTree:: Position& position,
const double posWeight = 1.0)
create a position constraint for the specified frame
Parameters | |
---|---|
frameName | |
position | the position to be considered as constraint for the frame |
posWeight | the weight of the position cost if the position is associated with a cost |
Returns | a newly created TransformConstraint object |
Is the constraint active or not?
static TransformConstraint internal:: kinematics:: TransformConstraint:: rotationConstraint(const std::string& frameName,
const iDynTree:: Rotation& rotation,
const double rotWeight = 1.0)
create an orientation constraint for the specified frame
Parameters | |
---|---|
frameName | |
rotation | the rotation to be considered as constraint for the frame |
rotWeight | the weight of the rotation cost if the rotation is associated with a cost |
Returns | a newly created Transform object |
static TransformConstraint internal:: kinematics:: TransformConstraint:: fullTransformConstraint(const std::string& constrainedFrameName,
const iDynTree:: Position& position,
const iDynTree:: Rotation& rotation,
const double posWeight = 1.0,
const double rotWeight = 1.0)
create a full Transform constraint for the specified frame
Parameters | |
---|---|
constrainedFrameName | the name of the constrained frame, i.e. C |
position | the position to be considered as constraint for the frame |
rotation | the rotation to be considered as constraint for the frame |
posWeight | the weight of the position cost if the position is associated with a cost |
rotWeight | the weight of the rotation cost if the rotation is associated with a cost |
Returns | a newly created Transform object |
Equivalent to
iDynTree::Transform transform(rotation, position); fullTransformConstraint(frameName, transform);
static TransformConstraint internal:: kinematics:: TransformConstraint:: fullTransformConstraint(const std::string& constrainedFrameName,
const iDynTree:: Transform& transform,
const double posWeight = 1.0,
const double rotWeight = 1.0)
create a full Transform constraint for the specified frame
Parameters | |
---|---|
constrainedFrameName | the name of the constrained frame, i.e. C |
transform | the transform to be considered as constraint for the frame |
posWeight | the weight of the position cost if the position is associated with a cost |
rotWeight | the weight of the rotation cost if the rotation is associated with a cost |
Returns | a newly created Transform object |
Equivalent to fullTransformConstraint(frameName, transform.getPosition(), transform.getRotation());
unsigned internal:: kinematics:: TransformConstraint:: getSize() const
return the size of the constraint identified by this Constrained
Returns | size of the constraint |
---|
TransformConstraint:: TransformConstraintType internal:: kinematics:: TransformConstraint:: getType() const
Returns | the transform type |
---|
return the current type of TransformConstraint
bool internal:: kinematics:: TransformConstraint:: hasPositionConstraint() const
Returns | true if the TransformConstraint has a component in the position part. False otherwise |
---|
Return if the current TransformConstraint has a position constraint
bool internal:: kinematics:: TransformConstraint:: hasRotationConstraint() const
Returns | true if the TransformConstraint has a component in the rotation part. False otherwise |
---|
Return if the current TransformConstraint has a rotation constraint
const iDynTree:: Position& internal:: kinematics:: TransformConstraint:: getPosition() const
Returns | the transform position component |
---|
Return the position component of the current constrained value of the Transform.
void internal:: kinematics:: TransformConstraint:: setPosition(const iDynTree:: Position& newPos)
Set the position component of the current constrained value of the Transform.
const iDynTree:: Rotation& internal:: kinematics:: TransformConstraint:: getRotation() const
Returns | the transform rotation component |
---|
Return the rotation component of the current constrained value of the Transform.
void internal:: kinematics:: TransformConstraint:: setRotation(const iDynTree:: Rotation& newRot)
Set the rotation component of the current constrained value of the Transform.
const iDynTree:: Transform& internal:: kinematics:: TransformConstraint:: getTransform() const
Returns | the transform |
---|
Return the current constrained value of the Transform.
const std::string& internal:: kinematics:: TransformConstraint:: getFrameName() const
Returns | the transform frame name |
---|
Return the name of the constrained frame
const double internal:: kinematics:: TransformConstraint:: getPositionWeight() const
Returns | the weight for the position |
---|
Return the weight for the position
void internal:: kinematics:: TransformConstraint:: setPositionWeight(const double newPosWeight)
Set the weight for the position
const double internal:: kinematics:: TransformConstraint:: getRotationWeight() const
Returns | the weight for the rotation |
---|
Return the weight for the rotation
void internal:: kinematics:: TransformConstraint:: setRotationWeight(const double newRotWeight)
Set the weight for the position
void internal:: kinematics:: TransformConstraint:: setTargetResolutionMode(enum iDynTree::InverseKinematicsTreatTargetAsConstraint mode)
Parameters | |
---|---|
mode | how to treat the targets |
Set how targets should be considered in the optimization problem i.e. as soft or hard constraints
enum iDynTree::InverseKinematicsTreatTargetAsConstraint internal:: kinematics:: TransformConstraint:: targetResolutionMode() const
Returns | the current rotation parametrization |
---|
Return the current rotation parametrization used by the solver
void internal:: kinematics:: TransformConstraint:: setActive(const bool isActive)
Set if the task is active or not
bool internal:: kinematics:: TransformConstraint:: isActive() const
Get if the task is active or not