ChppGikZMPshiftElement Class Reference

A locomotion element for shifting the body mass by planning a linear zmp motion inside the support polygon. More...

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

Inheritance diagram for ChppGikZMPshiftElement:
Collaboration diagram for ChppGikZMPshiftElement:

Public Member Functions

 ChppGikZMPshiftElement (ChppGikStandingRobot *inSRobot, const vector3d &targetZMP, double inStartTime, double inDuration, double inSamplingPeriod)
 Constructor. More...
 
void targetZMP (const vector3d &targetZMP)
 Set target ZMP. More...
 
const vector3dtargetZMP ()
 Get target ZMP. 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...
 
void startZMPCheck (bool inChoice)
 enable/disable the checking of the initial ZMP inside supportPolygon More...
 
 ~ChppGikZMPshiftElement ()
 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 shifting the body mass by planning a linear zmp motion inside the support polygon.

Constructor & Destructor Documentation

◆ ChppGikZMPshiftElement()

ChppGikZMPshiftElement::ChppGikZMPshiftElement ( ChppGikStandingRobot inSRobot,
const vector3d targetZMP,
double  inStartTime,
double  inDuration,
double  inSamplingPeriod 
)

Constructor.

◆ ~ChppGikZMPshiftElement()

ChppGikZMPshiftElement::~ChppGikZMPshiftElement ( )

Destructor.

Referenced by targetZMP().

Member Function Documentation

◆ clone()

virtual CjrlGikMotionConstraint* ChppGikZMPshiftElement::clone ( ) const
virtual

Clone constructor.

Implements CjrlGikMotionConstraint.

Referenced by targetZMP().

◆ footConstraintAtTime()

ChppGikTransformationConstraint* ChppGikZMPshiftElement::footConstraintAtTime ( double  inTime)
virtual

Get foot transformation constraint at given time.

Implements ChppGikLocomotionElement.

Referenced by targetZMP().

◆ plan()

virtual bool ChppGikZMPshiftElement::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 targetZMP().

◆ startZMPCheck()

void ChppGikZMPshiftElement::startZMPCheck ( bool  inChoice)

enable/disable the checking of the initial ZMP inside supportPolygon

Referenced by targetZMP().

◆ stateConstraintAtTime()

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

Get state constraint at a given time.

Implements CjrlGikMotionConstraint.

Referenced by targetZMP().

◆ supportFootAtTime()

virtual CjrlFoot* ChppGikZMPshiftElement::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 targetZMP().

◆ targetZMP() [1/2]

void ChppGikZMPshiftElement::targetZMP ( const vector3d targetZMP)
inline

Set target ZMP.

References targetZMP().

◆ targetZMP() [2/2]

const vector3d& ChppGikZMPshiftElement::targetZMP ( )
inline