ChppGikFootDisplaceElement Class Reference

A locomotion element for displacing a foot to the given footprint. More...

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

Inheritance diagram for ChppGikFootDisplaceElement:
Collaboration diagram for ChppGikFootDisplaceElement:

Public Member Functions

 ChppGikFootDisplaceElement (ChppGikStandingRobot *inSRobot, double inStartTime, const ChppGikFootprint *inTargetFootprint, bool isRight, double inDuration, double inSamplingPeriod, double inHeight=0.05)
 Constructor. More...
 
bool isRight () const
 Tell if this step is to be done by the right foot. More...
 
bool height () const
 Get the via point's height during step. More...
 
const ChppGikFootprinttargetFootprint () const
 Get the target footprint. More...
 
virtual CjrlGikMotionConstraintclone () const
 Clone constructor. More...
 
virtual CjrlGikStateConstraintstateConstraintAtTime (double inTime)
 Get state constraint at a given time. More...
 
virtual 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...
 
 ~ChppGikFootDisplaceElement ()
 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 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...
 
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

A locomotion element for displacing a foot to the given footprint.

Constructor & Destructor Documentation

◆ ChppGikFootDisplaceElement()

ChppGikFootDisplaceElement::ChppGikFootDisplaceElement ( ChppGikStandingRobot inSRobot,
double  inStartTime,
const ChppGikFootprint inTargetFootprint,
bool  isRight,
double  inDuration,
double  inSamplingPeriod,
double  inHeight = 0.05 
)

Constructor.

◆ ~ChppGikFootDisplaceElement()

ChppGikFootDisplaceElement::~ChppGikFootDisplaceElement ( )

Destructor.

Referenced by targetFootprint().

Member Function Documentation

◆ clone()

virtual CjrlGikMotionConstraint* ChppGikFootDisplaceElement::clone ( ) const
virtual

Clone constructor.

Implements CjrlGikMotionConstraint.

Referenced by targetFootprint().

◆ footConstraintAtTime()

virtual ChppGikTransformationConstraint* ChppGikFootDisplaceElement::footConstraintAtTime ( double  inTime)
virtual

Get foot transformation constraint at given time.

Implements ChppGikLocomotionElement.

Referenced by targetFootprint().

◆ height()

bool ChppGikFootDisplaceElement::height ( ) const
inline

Get the via point's height during step.

◆ isRight()

bool ChppGikFootDisplaceElement::isRight ( ) const
inline

Tell if this step is to be done by the right foot.

◆ plan()

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

Referenced by targetFootprint().

◆ stateConstraintAtTime()

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

Get state constraint at a given time.

Implements CjrlGikMotionConstraint.

Referenced by targetFootprint().

◆ supportFootAtTime()

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

Get the support foot joint at time inTime.

Returns
0 if the time is out of definition bounds

Implements ChppGikLocomotionElement.

Referenced by targetFootprint().

◆ targetFootprint()

const ChppGikFootprint* ChppGikFootDisplaceElement::targetFootprint ( ) const
inline