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>
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 CjrlGikMotionConstraint * | clone () const |
Clone constructor. | |
virtual CjrlGikStateConstraint * | stateConstraintAtTime (double inTime) |
Get state constraint at a given time. | |
ChppGikTransformationConstraint * | footConstraintAtTime (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. |
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.
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.
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 | ( | ) |
virtual bool ChppGikStepElement::plan | ( | ChppGikSupportPolygon & | supportPolygon, |
vector3d & | ZMP | ||
) | [virtual] |
Plan stability-consistent ZMP and update given arguments in case of success.
supportPolygon | used and modified by this element according to purpose |
ZMP | used and modified by this element according to purpose |
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.
Implements ChppGikLocomotionElement.