A locomotion element is a motion planning task that produces threes motion chunks: a 2D Zero Momentum Point motion, a foot motion constraint and a support polygon motion. More...
#include <hpp/gik/motionplanner/element/locomotion-element.hh>
Public Member Functions | |
ChppGikLocomotionElement (ChppGikStandingRobot *inSRobot, double inStartTime, double inDuration, double inSamplingPeriod) | |
constructor | |
CjrlDynamicRobot * | robot () |
Get a pointer to associated robot. | |
virtual ChppGikTransformationConstraint * | footConstraintAtTime (double inTime)=0 |
Get the foot transformation constraint at given time. | |
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(). | |
virtual void | startTime (double) |
Disactivated. | |
virtual double | startTime () |
Get the start time for this jrlGikMotionConstraint. | |
virtual double | endTime () |
Get the end time for this jrlGikMotionConstraint. | |
virtual double | duration () |
Get the duration of the original motion. | |
virtual CjrlGikMotionConstraint * | motionConstraint () |
Get a pointer to the motion constraint. | |
virtual matrixNxP & | ZMPmotion () |
Get the support foot joint at time inTime. | |
virtual CjrlFoot * | supportFootAtTime (double inTime)=0 |
Get the support foot joint at time inTime. | |
virtual bool | plan (ChppGikSupportPolygon &supportPolygon, vector3d &ZMP)=0 |
Plan stability-consistent ZMP and update given arguments in case of success. | |
virtual | ~ChppGikLocomotionElement () |
Destructor. | |
Protected Attributes | |
double | attPreProlongation |
double | attPostProlongation |
double | attStartTime |
double | attEndTime |
double | attSamplingPeriod |
double | attEps |
double | attDuration |
double | attModifiedStart |
double | attModifiedEnd |
CjrlFoot * | attSupportFoot |
CjrlFoot * | attConstrainedFoot |
bool | attPlanSuccess |
matrixNxP | attZMPmotion |
CjrlHumanoidDynamicRobot * | attHumanoidRobot |
ChppGikStandingRobot * | attStandingRobot |
A locomotion element is a motion planning task that produces threes motion chunks: a 2D Zero Momentum Point motion, a foot motion constraint and a support polygon motion.
ChppGikLocomotionElement::ChppGikLocomotionElement | ( | ChppGikStandingRobot * | inSRobot, |
double | inStartTime, | ||
double | inDuration, | ||
double | inSamplingPeriod | ||
) | [inline] |
constructor
References attConstrainedFoot, attDuration, attEndTime, attEps, attHumanoidRobot, attModifiedEnd, attModifiedStart, attPlanSuccess, attPostProlongation, attPreProlongation, attSamplingPeriod, attStandingRobot, attStartTime, attSupportFoot, attZMPmotion, and ChppGikStandingRobot::robot().
virtual ChppGikLocomotionElement::~ChppGikLocomotionElement | ( | ) | [inline, virtual] |
Destructor.
virtual double ChppGikLocomotionElement::duration | ( | ) | [inline, virtual] |
Get the duration of the original motion.
References attDuration.
virtual double ChppGikLocomotionElement::endTime | ( | ) | [inline, virtual] |
Get the end time for this jrlGikMotionConstraint.
Implements CjrlGikMotionConstraint.
References attModifiedEnd.
virtual ChppGikTransformationConstraint* ChppGikLocomotionElement::footConstraintAtTime | ( | double | inTime | ) | [pure virtual] |
Get the foot transformation constraint at given time.
Implemented in ChppGikFootDisplaceElement, ChppGikZMPshiftElement, ChppGikStepElement, and ChppGikWalkElement.
virtual CjrlGikMotionConstraint* ChppGikLocomotionElement::motionConstraint | ( | ) | [inline, virtual] |
Get a pointer to the motion constraint.
Reimplemented from ChppGikPrioritizedMotion.
virtual bool ChppGikLocomotionElement::plan | ( | ChppGikSupportPolygon & | supportPolygon, |
vector3d & | ZMP | ||
) | [pure 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 |
Implemented in ChppGikFootDisplaceElement, ChppGikZMPshiftElement, ChppGikStepElement, and ChppGikWalkElement.
virtual void ChppGikLocomotionElement::postProlongate | ( | double | inPostProlongation | ) | [inline, virtual] |
Make this motion constraint return the first planned constraint from time current startTime()-inProlongation to current startTime().
Reimplemented in ChppGikStepElement, and ChppGikWalkElement.
References attEndTime, attModifiedEnd, attPlanSuccess, and attPostProlongation.
virtual void ChppGikLocomotionElement::preProlongate | ( | double | inPreProlongation | ) | [inline, virtual] |
Mmake this motion constraint return the last planned constraint, from time endTime() to time endTime()+inProlongation.
Reimplemented in ChppGikStepElement, and ChppGikWalkElement.
References attModifiedStart, attPlanSuccess, attPreProlongation, and attStartTime.
CjrlDynamicRobot* ChppGikLocomotionElement::robot | ( | ) | [inline, virtual] |
Get a pointer to associated robot.
Implements CjrlGikMotionConstraint.
References ChppGikPrioritizedMotion::attRobot.
virtual void ChppGikLocomotionElement::startTime | ( | double | ) | [inline, virtual] |
Disactivated.
Implements CjrlGikMotionConstraint.
virtual double ChppGikLocomotionElement::startTime | ( | ) | [inline, virtual] |
Get the start time for this jrlGikMotionConstraint.
Implements CjrlGikMotionConstraint.
References attModifiedStart.
virtual CjrlFoot* ChppGikLocomotionElement::supportFootAtTime | ( | double | inTime | ) | [pure virtual] |
Get the support foot joint at time inTime.
Implemented in ChppGikFootDisplaceElement, ChppGikZMPshiftElement, ChppGikStepElement, and ChppGikWalkElement.
virtual matrixNxP& ChppGikLocomotionElement::ZMPmotion | ( | ) | [inline, virtual] |
Get the support foot joint at time inTime.
References attZMPmotion.
CjrlFoot* ChppGikLocomotionElement::attConstrainedFoot [protected] |
Referenced by ChppGikLocomotionElement().
double ChppGikLocomotionElement::attDuration [protected] |
Referenced by ChppGikLocomotionElement(), and duration().
double ChppGikLocomotionElement::attEndTime [protected] |
Referenced by ChppGikLocomotionElement(), and postProlongate().
double ChppGikLocomotionElement::attEps [protected] |
Referenced by ChppGikLocomotionElement().
CjrlHumanoidDynamicRobot* ChppGikLocomotionElement::attHumanoidRobot [protected] |
Referenced by ChppGikLocomotionElement().
double ChppGikLocomotionElement::attModifiedEnd [protected] |
Referenced by ChppGikLocomotionElement(), endTime(), and postProlongate().
double ChppGikLocomotionElement::attModifiedStart [protected] |
Referenced by ChppGikLocomotionElement(), preProlongate(), and startTime().
bool ChppGikLocomotionElement::attPlanSuccess [protected] |
Referenced by ChppGikLocomotionElement(), postProlongate(), and preProlongate().
double ChppGikLocomotionElement::attPostProlongation [protected] |
Referenced by ChppGikLocomotionElement(), and postProlongate().
double ChppGikLocomotionElement::attPreProlongation [protected] |
Referenced by ChppGikLocomotionElement(), and preProlongate().
double ChppGikLocomotionElement::attSamplingPeriod [protected] |
Referenced by ChppGikLocomotionElement().
Referenced by ChppGikLocomotionElement().
double ChppGikLocomotionElement::attStartTime [protected] |
Referenced by ChppGikLocomotionElement(), and preProlongate().
CjrlFoot* ChppGikLocomotionElement::attSupportFoot [protected] |
Referenced by ChppGikLocomotionElement().
matrixNxP ChppGikLocomotionElement::attZMPmotion [protected] |
Referenced by ChppGikLocomotionElement(), and ZMPmotion().