ChppGikZMPshiftElement Class Reference

A locomotion element for shifting the body mass by planning a linear zmp motion inside the support polygon. More...

#include <hpp/gik/motionplanner/element/zmp-shift-element.hh>

Inheritance diagram for ChppGikZMPshiftElement:
Collaboration diagram for ChppGikZMPshiftElement:

List of all members.

Public Member Functions

 ChppGikZMPshiftElement (ChppGikStandingRobot *inSRobot, const vector3d &targetZMP, double inStartTime, double inDuration, double inSamplingPeriod)
 Constructor.
void targetZMP (const vector3d &targetZMP)
 Set target ZMP.
const vector3dtargetZMP ()
 Get target ZMP.
virtual CjrlGikMotionConstraintclone () const
 Clone constructor.
virtual CjrlGikStateConstraintstateConstraintAtTime (double inTime)
 Get state constraint at a given time.
ChppGikTransformationConstraintfootConstraintAtTime (double inTime)
 Get foot transformation constraint at given time.
virtual CjrlFoot * supportFootAtTime (double inTime)
 Get the support foot joint at time inTime.
virtual bool plan (ChppGikSupportPolygon &supportPolygon, vector3d &ZMP)
 Plan stability-consistent ZMP and update given arguments in case of success.
void startZMPCheck (bool inChoice)
 enable/disable the checking of the initial ZMP inside supportPolygon
 ~ChppGikZMPshiftElement ()
 Destructor.

Detailed Description

A locomotion element for shifting the body mass by planning a linear zmp motion inside the support polygon.


Constructor & Destructor Documentation

ChppGikZMPshiftElement::ChppGikZMPshiftElement ( ChppGikStandingRobot inSRobot,
const vector3d targetZMP,
double  inStartTime,
double  inDuration,
double  inSamplingPeriod 
)

Constructor.

ChppGikZMPshiftElement::~ChppGikZMPshiftElement ( )

Destructor.


Member Function Documentation

virtual CjrlGikMotionConstraint* ChppGikZMPshiftElement::clone ( ) const [virtual]

Clone constructor.

Implements CjrlGikMotionConstraint.

ChppGikTransformationConstraint* ChppGikZMPshiftElement::footConstraintAtTime ( double  inTime) [virtual]

Get foot transformation constraint at given time.

Implements ChppGikLocomotionElement.

virtual bool ChppGikZMPshiftElement::plan ( ChppGikSupportPolygon supportPolygon,
vector3d ZMP 
) [virtual]

Plan stability-consistent ZMP and update given arguments in case of success.

Parameters:
supportPolygonused and modified by this element according to purpose
ZMPused and modified by this element according to purpose
Returns:
false conditions required by implemented planning algorithms not met

Implements ChppGikLocomotionElement.

void ChppGikZMPshiftElement::startZMPCheck ( bool  inChoice)

enable/disable the checking of the initial ZMP inside supportPolygon

virtual CjrlGikStateConstraint* ChppGikZMPshiftElement::stateConstraintAtTime ( double  inTime) [virtual]

Get state constraint at a given time.

Implements CjrlGikMotionConstraint.

virtual CjrlFoot* ChppGikZMPshiftElement::supportFootAtTime ( double  inTime) [virtual]

Get the support foot joint at time inTime.

Returns:
0 if the time is out of definition bounds

Implements ChppGikLocomotionElement.

void ChppGikZMPshiftElement::targetZMP ( const vector3d targetZMP) [inline]

Set target ZMP.

References targetZMP().

const vector3d& ChppGikZMPshiftElement::targetZMP ( ) [inline]

Get target ZMP.

Referenced by targetZMP().