ChppGikStepElement Class Reference

This is motion planner for a step This is a sequence ChppGikZMPshiftElement-ChppGikFootDisplaceElement-ChppGIkZMPshiftElement that plans motion for the feet and for the ZMP as follows:
First, ZMP is moved under the support foot. More...

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

Inheritance diagram for ChppGikStepElement:
Collaboration diagram for ChppGikStepElement:

List of all members.

Public Member Functions

 ChppGikStepElement (ChppGikStandingRobot *inSRobot, double inStartTime, const ChppGikFootprint *inFootprint, bool isRightFoot, double inSamplingPeriod, double inFinalZMPCoefficient=0.75, double inEndShiftTime=0.8, double inStartZMPShiftTime=0.6, double inFootMotionDuration=0.8, double inStepHeight=0.05)
 Constructor.
 ChppGikStepElement (ChppGikStandingRobot *inSRobot, const ChppGikFootprint *inFootprint, double inStartTime, bool isRightFoot, double rightfoot2TargetZMPX, double rightfoot2TargetZMPY, double inSamplingPeriod, double inEndShiftTime=0.8, double inStartZMPShiftTime=0.6, double inFootMotionDuration=0.8, double inStepHeight=0.05)
 Constructor.
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.
virtual void preProlongate (double inPreProlongation)
 Mmake this motion constraint return the last planned constraint, from time endTime() to time endTime()+inProlongation.
virtual void postProlongate (double inPostProlongation)
 Make this motion constraint return the first planned constraint from time current startTime()-inProlongation to current startTime().
bool isRight ()
 ~ChppGikStepElement ()
 Destructor.

Detailed Description

This is motion planner for a step This is a sequence ChppGikZMPshiftElement-ChppGikFootDisplaceElement-ChppGIkZMPshiftElement that plans motion for the feet and for the ZMP as follows:
First, ZMP is moved under the support foot.


Second, the non-support foot is displaced
Third, the ZMP is moved at a given point between the two feet.


Constructor & Destructor Documentation

ChppGikStepElement::ChppGikStepElement ( ChppGikStandingRobot inSRobot,
double  inStartTime,
const ChppGikFootprint inFootprint,
bool  isRightFoot,
double  inSamplingPeriod,
double  inFinalZMPCoefficient = 0.75,
double  inEndShiftTime = 0.8,
double  inStartZMPShiftTime = 0.6,
double  inFootMotionDuration = 0.8,
double  inStepHeight = 0.05 
)

Constructor.

The minimum time for the step motion (i.e parameter inFlightTime) is 0.5. So if the user constructs a step with anything below, it gets automatically thresholded.

ChppGikStepElement::ChppGikStepElement ( ChppGikStandingRobot inSRobot,
const ChppGikFootprint inFootprint,
double  inStartTime,
bool  isRightFoot,
double  rightfoot2TargetZMPX,
double  rightfoot2TargetZMPY,
double  inSamplingPeriod,
double  inEndShiftTime = 0.8,
double  inStartZMPShiftTime = 0.6,
double  inFootMotionDuration = 0.8,
double  inStepHeight = 0.05 
)

Constructor.

The minimum time for the step motion (i.e parameter inFlightTime) is 0.5. So if the user constructs a step with anything below, it gets automatically thresholded.

ChppGikStepElement::~ChppGikStepElement ( )

Destructor.


Member Function Documentation

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

Clone constructor.

Implements CjrlGikMotionConstraint.

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

Get foot transformation constraint at given time.

Implements ChppGikLocomotionElement.

bool ChppGikStepElement::isRight ( )
Returns:
true if this step is for right foot, false if for left
virtual bool ChppGikStepElement::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.

virtual void ChppGikStepElement::postProlongate ( double  inPostProlongation) [virtual]

Make this motion constraint return the first planned constraint from time current startTime()-inProlongation to current startTime().

Reimplemented from ChppGikLocomotionElement.

virtual void ChppGikStepElement::preProlongate ( double  inPreProlongation) [virtual]

Mmake this motion constraint return the last planned constraint, from time endTime() to time endTime()+inProlongation.

Reimplemented from ChppGikLocomotionElement.

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

Get state constraint at a given time.

Implements CjrlGikMotionConstraint.

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

Get the support foot joint at time inTime.

Returns:
0 if the time is out of definition bounds

Implements ChppGikLocomotionElement.