ChppGikStepTask Class Reference

This is a task to make the robot do a single step. More...

#include <hpp/gik/task/step-task.hh>

Inheritance diagram for ChppGikStepTask:
Collaboration diagram for ChppGikStepTask:

Public Member Functions

 ChppGikStepTask (ChppGikStandingRobot *inStandingRobot, double inSamplingPeriod, bool inForRightFoot, double relativeTargetX, double relativeTargetY, double relativeTargetTheta)
 constructor More...
 
void forRightFoot (bool inOption)
 set the foot for this Step. More...
 
void relativeTarget (double relativeTargetX, double relativeTargetY, double relativeTargetTheta)
 Set the target in the frame of the support foot (relative step) More...
 
void bringBackZMP (bool inChoice, double inStartTime, double inDuration)
 Option to bring back the ZMP before any other motion (Disabled by default). More...
 
 ~ChppGikStepTask ()
 Destructor. More...
 
- Public Member Functions inherited from ChppGikRobotTask
 ChppGikRobotTask (ChppGikStandingRobot *inStandingRobot, double inSamplingPeriod, const char *inTaskName)
 Constructor. More...
 
bool solve ()
 Solve for joint motion. More...
 
void showResolutionTime (bool inSwitch)
 show the resolution time More...
 
ChppRobotMotionsolutionMotion () const
 Get the computed solution motion. More...
 
virtual ~ChppGikRobotTask ()
 destructor More...
 

Protected Member Functions

virtual bool algorithmSolve ()
 Solve for joint motion. More...
 
- Protected Member Functions inherited from ChppGikRobotTask
void cleanUp ()
 Delete objects created in this instance. More...
 
void backupRobot ()
 Backup current robot configuration (q, dot q, ddot q) More...
 
void restoreRobot ()
 Restore saved robot configuration (q, dot q, ddot q) and compute forward kinematics. More...
 
void cropMotion (ChppGikRobotTask *inRobotTask)
 concatanate a task solution motion to the current attSolutionMotion and apply the last solution configuration to the robot. More...
 

Additional Inherited Members

- Protected Attributes inherited from ChppGikRobotTask
ChppGikStandingRobotattStandingRobot
 Associated robot. More...
 
double attSamplingPeriod
 Motion sampling period and its half. More...
 
double attEps
 
double attStartTime
 Start time. More...
 
bool attShowTime
 option to show resolution time More...
 
ChppRobotMotionattSolutionMotion
 The solution joint motion. More...
 
std::string attTaskName
 This task's name. More...
 
CjrlRobotConfiguration attInitialConfiguration
 Backup of robot configuration before task solving {. More...
 
struct timeval * Tps
 timimg {@ More...
 
struct timeval * Tpf
 
struct timezone * Tzp
 

Detailed Description

This is a task to make the robot do a single step.

Call solve() to plan joint motion for a step given in support foot frame (origin is projection of ankle on floor, x axis pointing to the toes, y axis pointing to the left and z upward). Orientation of displaced foot is defined by the angle it will make with axis x of support foot.

Constructor & Destructor Documentation

◆ ChppGikStepTask()

ChppGikStepTask::ChppGikStepTask ( ChppGikStandingRobot inStandingRobot,
double  inSamplingPeriod,
bool  inForRightFoot,
double  relativeTargetX,
double  relativeTargetY,
double  relativeTargetTheta 
)

constructor

◆ ~ChppGikStepTask()

ChppGikStepTask::~ChppGikStepTask ( )

Destructor.

Referenced by bringBackZMP().

Member Function Documentation

◆ algorithmSolve()

virtual bool ChppGikStepTask::algorithmSolve ( )
protectedvirtual

Solve for joint motion.

Robot must have a double support polygon

Implements ChppGikRobotTask.

Referenced by bringBackZMP().

◆ bringBackZMP()

void ChppGikStepTask::bringBackZMP ( bool  inChoice,
double  inStartTime,
double  inDuration 
)
inlinevirtual

Option to bring back the ZMP before any other motion (Disabled by default).

A motion is planned to bring back the ZMP to the closest point on the line segment defining the center of the safe zone. The start time and the duration of this ZMP motion is left up to the user. The start time is defined relatively to the start of the locomotion plan. Example: bringBackZmp(-0.5, 2.0 ) will make the zmp planning start 0.5 seconds before the first locomotion element (if none, absolute time 0.0s), and take 2.0 seconds to finish. USE AT YOUR OWN RISK

Implements ChppGikRobotTask.

References algorithmSolve(), ChppGikGenericTask::bringBackZMP(), and ~ChppGikStepTask().

◆ forRightFoot()

void ChppGikStepTask::forRightFoot ( bool  inOption)

set the foot for this Step.

true = right foot, false = left foot

◆ relativeTarget()

void ChppGikStepTask::relativeTarget ( double  relativeTargetX,
double  relativeTargetY,
double  relativeTargetTheta 
)

Set the target in the frame of the support foot (relative step)