ChppGikWalkElement Class Reference

This is motion planner for a walk (multiple steps) More...

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

Inheritance diagram for ChppGikWalkElement:
Collaboration diagram for ChppGikWalkElement:

Public Member Functions

 ChppGikWalkElement (ChppGikStandingRobot *inSRobot, double inSamplingPeriod, double inStartTime, const std::vector< ChppGikStepTarget *> &inAbsoluteSteps, double inZMPstart=0.1, double inFoot=1.2, double inZMPEnd=0.1)
 Constructor. More...
 
 ChppGikWalkElement (double rightfoot2TargetZMPX, double rightfoot2TargetZMPY, double zmplasttime, ChppGikStandingRobot *inSRobot, double inSamplingPeriod, double inStartTime, const std::vector< ChppGikStepTarget *> &inAbsoluteSteps, double inZMPstart=0.1, double inFoot=1.2, double inZMPEnd=0.1)
 Constructor. More...
 
virtual CjrlGikMotionConstraintclone () const
 Clone constructor. More...
 
virtual CjrlGikStateConstraintstateConstraintAtTime (double inTime)
 Get state constraint at a given time. More...
 
ChppGikTransformationConstraintfootConstraintAtTime (double inTime)
 Get foot transformation constraint at given time. More...
 
virtual CjrlFoot * supportFootAtTime (double inTime)
 Get the support foot joint at time inTime. More...
 
virtual bool plan (ChppGikSupportPolygon &supportPolygon, vector3d &ZMP)
 Plan stability-consistent ZMP and update given arguments in case of success. More...
 
virtual void preProlongate (double inPreProlongation)
 Mmake this motion constraint return the last planned constraint, from time endTime() to time endTime()+inProlongation. More...
 
virtual void postProlongate (double inPostProlongation)
 Make this motion constraint return the first planned constraint from time current startTime()-inProlongation to current startTime(). More...
 
 ~ChppGikWalkElement ()
 Destructor. More...
 
- Public Member Functions inherited from ChppGikLocomotionElement
 ChppGikLocomotionElement (ChppGikStandingRobot *inSRobot, double inStartTime, double inDuration, double inSamplingPeriod)
 constructor More...
 
CjrlDynamicRobot * robot ()
 Get a pointer to associated robot. More...
 
virtual void startTime (double)
 Disactivated. More...
 
virtual double startTime ()
 Get the start time for this jrlGikMotionConstraint. More...
 
virtual double endTime ()
 Get the end time for this jrlGikMotionConstraint. More...
 
virtual double duration ()
 Get the duration of the original motion. More...
 
virtual CjrlGikMotionConstraintmotionConstraint ()
 Get a pointer to the motion constraint. More...
 
virtual matrixNxPZMPmotion ()
 Get the support foot joint at time inTime. More...
 
virtual ~ChppGikLocomotionElement ()
 Destructor. More...
 
- Public Member Functions inherited from CjrlGikMotionConstraint
virtual ~CjrlGikMotionConstraint ()
 
- Public Member Functions inherited from ChppGikPrioritizedMotion
 ChppGikPrioritizedMotion (CjrlDynamicRobot *inRobot, unsigned int inPriority, CjrlGikMotionConstraint *inMotionConstraint, double inDampingFactor)
 Constructor. More...
 
void workingJoints (const vectorN &inJointsMask)
 Set the joint mask put to work. More...
 
const vectorNworkingJoints () const
 Get the joint mask put to work. More...
 
unsigned int priority () const
 Get the priority. More...
 
double dampingFactor () const
 Get the damping factor. More...
 
CjrlDynamicRobot * robot ()
 Get the robot for this motion. More...
 
virtual ~ChppGikPrioritizedMotion ()
 Destructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from ChppGikLocomotionElement
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
 
ChppGikStandingRobotattStandingRobot
 
- Protected Attributes inherited from ChppGikPrioritizedMotion
CjrlGikMotionConstraintattMotionConstraint
 
vectorN attWorkingJoints
 
unsigned int attPriority
 
CjrlDynamicRobot * attRobot
 
double attDampingFactor
 

Detailed Description

This is motion planner for a walk (multiple steps)

Constructor & Destructor Documentation

◆ ChppGikWalkElement() [1/2]

ChppGikWalkElement::ChppGikWalkElement ( ChppGikStandingRobot inSRobot,
double  inSamplingPeriod,
double  inStartTime,
const std::vector< ChppGikStepTarget *> &  inAbsoluteSteps,
double  inZMPstart = 0.1,
double  inFoot = 1.2,
double  inZMPEnd = 0.1 
)

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.

◆ ChppGikWalkElement() [2/2]

ChppGikWalkElement::ChppGikWalkElement ( double  rightfoot2TargetZMPX,
double  rightfoot2TargetZMPY,
double  zmplasttime,
ChppGikStandingRobot inSRobot,
double  inSamplingPeriod,
double  inStartTime,
const std::vector< ChppGikStepTarget *> &  inAbsoluteSteps,
double  inZMPstart = 0.1,
double  inFoot = 1.2,
double  inZMPEnd = 0.1 
)

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.

◆ ~ChppGikWalkElement()

ChppGikWalkElement::~ChppGikWalkElement ( )

Destructor.

Member Function Documentation

◆ clone()

virtual CjrlGikMotionConstraint* ChppGikWalkElement::clone ( ) const
virtual

Clone constructor.

Implements CjrlGikMotionConstraint.

◆ footConstraintAtTime()

ChppGikTransformationConstraint* ChppGikWalkElement::footConstraintAtTime ( double  inTime)
virtual

Get foot transformation constraint at given time.

Implements ChppGikLocomotionElement.

◆ plan()

virtual bool ChppGikWalkElement::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.

◆ postProlongate()

virtual void ChppGikWalkElement::postProlongate ( double  inPostProlongation)
virtual

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

Reimplemented from ChppGikLocomotionElement.

◆ preProlongate()

virtual void ChppGikWalkElement::preProlongate ( double  inPreProlongation)
virtual

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

Reimplemented from ChppGikLocomotionElement.

◆ stateConstraintAtTime()

virtual CjrlGikStateConstraint* ChppGikWalkElement::stateConstraintAtTime ( double  inTime)
virtual

Get state constraint at a given time.

Implements CjrlGikMotionConstraint.

◆ supportFootAtTime()

virtual CjrlFoot* ChppGikWalkElement::supportFootAtTime ( double  inTime)
virtual

Get the support foot joint at time inTime.

Returns
0 if the time is out of definition bounds

Implements ChppGikLocomotionElement.