ChppGikPointingConstraint Class Reference

Constraint on a line segment attached to a body to be aligned with a given point in the world frame. More...

#include <hpp/gik/constraint/pointing-constraint.hh>

Inheritance diagram for ChppGikPointingConstraint:
Collaboration diagram for ChppGikPointingConstraint:

List of all members.

Public Member Functions

 ChppGikPointingConstraint (CjrlDynamicRobot &inRobot, CjrlJoint &inJoint, const vector3d &inLocalOrigin, const vector3d &inLocalVector, const vector3d &inTargetWorldPoint)
 Constructor.
virtual CjrlGikStateConstraintclone () const
 Copy.
virtual void localOrigin (const vector3d &inPoint)
 Set the origin of the pointing vector in joint's local frame (illelgal operation for gaze constraint).
const vector3dlocalOrigin ()
 Get the origin of the pointing vector.
virtual void localVector (const vector3d &inPoint)
 Set the pointing vector in joint's local frame (illelgal operation for gaze constraint).
const vector3dlocalVector ()
 Set the pointing vector in joint's local frame.
void worldTarget (const vector3d &inPoint)
 Set the target point associated to the constraint (in world's frame).
const vector3dworldTarget ()
 Get the target point associated to the constraint (in world's frame).
virtual void computeVectorizedState ()
 Get the full state (this constraint and its first two derivatives) of the constraint expressed as a vectorN.
virtual void computeVectorizedTarget ()
 Compute the target of the constraint as a vectorN.
virtual bool vectorizedTarget (const vectorN &inTarget)
 A unified method to change the target of the constraint with a vectorN.
void computeValue ()
 Compute the value of the constraint.
void computeJacobian ()
 Get the constraint Jacobian wrt internal configuration variables.
virtual ~ChppGikPointingConstraint ()
 Destructor.

Protected Attributes

vector3d attLocalOriginVector3
vector3d attLocalVectorVector3
vector3d attWorldTargetVector3
vectorN attLocalOrigin
vectorN attLocalVector
vectorN attWorldTarget
Computation temporary variables (to avoid dynamic allocation)

{@

matrixNxP tempRot
matrixNxP matOP
matrixNxP matOT
matrixNxP matFO
matrixNxP rotF
matrixNxP jointrot
vectorN jointpos
vectorN posO
vectorN posF
vectorN posP
vectorN vecFO
vectorN vecOP
vectorN vecOT
matrixNxP tempJacobian

Detailed Description

Constraint on a line segment attached to a body to be aligned with a given point in the world frame.

The line segment is defined by an origin point and a vector both given in the body's local frame.


Constructor & Destructor Documentation

ChppGikPointingConstraint::ChppGikPointingConstraint ( CjrlDynamicRobot &  inRobot,
CjrlJoint &  inJoint,
const vector3d inLocalOrigin,
const vector3d inLocalVector,
const vector3d inTargetWorldPoint 
)

Constructor.

virtual ChppGikPointingConstraint::~ChppGikPointingConstraint ( ) [virtual]

Destructor.


Member Function Documentation

virtual CjrlGikStateConstraint* ChppGikPointingConstraint::clone ( ) const [virtual]

Copy.

Implements CjrlGikStateConstraint.

void ChppGikPointingConstraint::computeJacobian ( ) [virtual]

Get the constraint Jacobian wrt internal configuration variables.

This method supposes that: the robot has at least one fixed joint. the jacobian for this fixed joint has been computed for the current configuration

Only the first fixed joint of the robot affects the computation of the jacobian. (closed kinematic chains are not handeled)

Implements CjrlGikStateConstraint.

void ChppGikPointingConstraint::computeValue ( ) [virtual]

Compute the value of the constraint.

Implements CjrlGikStateConstraint.

virtual void ChppGikPointingConstraint::computeVectorizedState ( ) [virtual]

Get the full state (this constraint and its first two derivatives) of the constraint expressed as a vectorN.

Implements ChppGikVectorizableConstraint.

virtual void ChppGikPointingConstraint::computeVectorizedTarget ( ) [virtual]

Compute the target of the constraint as a vectorN.

Implements ChppGikVectorizableConstraint.

virtual void ChppGikPointingConstraint::localOrigin ( const vector3d inPoint) [virtual]

Set the origin of the pointing vector in joint's local frame (illelgal operation for gaze constraint).

Implements CjrlGikPointingConstraint.

Reimplemented in ChppGikGazeConstraint.

const vector3d& ChppGikPointingConstraint::localOrigin ( ) [virtual]

Get the origin of the pointing vector.

Implements CjrlGikPointingConstraint.

virtual void ChppGikPointingConstraint::localVector ( const vector3d inPoint) [virtual]

Set the pointing vector in joint's local frame (illelgal operation for gaze constraint).

Implements CjrlGikPointingConstraint.

Reimplemented in ChppGikGazeConstraint.

const vector3d& ChppGikPointingConstraint::localVector ( ) [virtual]

Set the pointing vector in joint's local frame.

Implements CjrlGikPointingConstraint.

virtual bool ChppGikPointingConstraint::vectorizedTarget ( const vectorN inTarget) [virtual]

A unified method to change the target of the constraint with a vectorN.

Returns:
false if the argument's size does not match the one expected for this constraint type

Implements ChppGikVectorizableConstraint.

void ChppGikPointingConstraint::worldTarget ( const vector3d inPoint) [virtual]

Set the target point associated to the constraint (in world's frame).

Implements CjrlGikPointingConstraint.

const vector3d& ChppGikPointingConstraint::worldTarget ( ) [virtual]

Get the target point associated to the constraint (in world's frame).

Implements CjrlGikPointingConstraint.


Member Data Documentation