Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
footstep_planner::Footstep Class Reference

A class representing a footstep (i.e. a translation and rotation of a specific foot with respect to the supporting leg) that can be performed by a humanoid robot. More...

#include <Footstep.h>

Public Member Functions

 Footstep (double x, double y, double theta, double cell_size, int num_angle_bins, int max_hash_size)
 The constructor takes the continuous translation and rotation of the footstep and calculates the respective discretized footstep based on the parameters of the discretization. More...
 
PlanningState performMeOnThisState (const PlanningState &current) const
 Performs this footstep (translation and rotation) on a given planning state. More...
 
PlanningState reverseMeOnThisState (const PlanningState &current) const
 Reverse this footstep on a given planning state. More...
 
 ~Footstep ()
 

Private Types

typedef std::pair< int, int > footstep_xy
 Typedef representing the (discretized) translation of the footstep. More...
 

Private Member Functions

int calculateForwardStep (Leg leg, int global_theta, double x, double y, int *footstep_x, int *footstep_y) const
 Discretizes the translation of the footstep for a certain (discretized) orientation of a possible state. More...
 
void init (double x, double y)
 Initialization method called within the constructor. More...
 

Private Attributes

double ivCellSize
 The parameter for the discretization of the translation. More...
 
std::vector< footstep_xyivDiscPredecessorLeft
 The reversed (discretized) translation(s) for a left supporting foot. More...
 
std::vector< footstep_xyivDiscPredecessorRight
 The reversed (discretized) translation(s) for a right supporting foot. More...
 
std::vector< footstep_xyivDiscSuccessorLeft
 The (discretized) translation(s) for a left supporting foot. More...
 
std::vector< footstep_xyivDiscSuccessorRight
 The (discretized) translation(s) for a right supporting foot. More...
 
int ivMaxHashSize
 The maximal hash size. More...
 
int ivNumAngleBins
 The parameter for the discretization of the rotation. More...
 
int ivTheta
 The (discretized) rotation of the footstep. More...
 

Detailed Description

A class representing a footstep (i.e. a translation and rotation of a specific foot with respect to the supporting leg) that can be performed by a humanoid robot.

Since the underlying SBPL is working on discretized states the footsteps are also a discretized translations and rotations.

Definition at line 38 of file Footstep.h.

Member Typedef Documentation

typedef std::pair<int, int> footstep_planner::Footstep::footstep_xy
private

Typedef representing the (discretized) translation of the footstep.

Definition at line 81 of file Footstep.h.

Constructor & Destructor Documentation

footstep_planner::Footstep::Footstep ( double  x,
double  y,
double  theta,
double  cell_size,
int  num_angle_bins,
int  max_hash_size 
)

The constructor takes the continuous translation and rotation of the footstep and calculates the respective discretized footstep based on the parameters of the discretization.

Parameters
xThe (continuous) translation in x direction.
yThe (continuous) translation in y direction.
thetaThe (continuous) rotation.
cell_sizeParameter to discretize the translation (see PlanningState for further explanation).
num_angle_binsParameter to discretize the rotation (see PlanningState for further explanation).
max_hash_sizeThe maximal hash size.

Definition at line 26 of file Footstep.cpp.

footstep_planner::Footstep::~Footstep ( )

Definition at line 41 of file Footstep.cpp.

Member Function Documentation

int footstep_planner::Footstep::calculateForwardStep ( Leg  leg,
int  global_theta,
double  x,
double  y,
int *  footstep_x,
int *  footstep_y 
) const
private

Discretizes the translation of the footstep for a certain (discretized) orientation of a possible state.

Parameters
legThe supporting leg of the possible state.
global_thetaThe (discretized) orientation of the possible state.
xThe (continuous) translation in x direction.
yThe (continuous) translation in y direction.
footstep_xThe resulting (discretized) translation in x direction.
footstep_yThe resulting (discretized) translation in y direction.
Returns
The (discretized) orientation of the resulting state after performing the footstep. This is used to calculate the (discretized) reversed footstep.

Definition at line 142 of file Footstep.cpp.

void footstep_planner::Footstep::init ( double  x,
double  y 
)
private

Initialization method called within the constructor.

Definition at line 46 of file Footstep.cpp.

PlanningState footstep_planner::Footstep::performMeOnThisState ( const PlanningState current) const

Performs this footstep (translation and rotation) on a given planning state.

Parameters
currentThe planning state representing the robot's current supporting leg.
Returns
The resulting planning state.

Definition at line 69 of file Footstep.cpp.

PlanningState footstep_planner::Footstep::reverseMeOnThisState ( const PlanningState current) const

Reverse this footstep on a given planning state.

Parameters
currentThe planning state representing the robot's current supporting leg.
Returns
The reversed planning state, i.e. the state the robot was in if this footstep had not been performed.

Definition at line 106 of file Footstep.cpp.

Member Data Documentation

double footstep_planner::Footstep::ivCellSize
private

The parameter for the discretization of the translation.

Definition at line 111 of file Footstep.h.

std::vector<footstep_xy> footstep_planner::Footstep::ivDiscPredecessorLeft
private

The reversed (discretized) translation(s) for a left supporting foot.

Definition at line 123 of file Footstep.h.

std::vector<footstep_xy> footstep_planner::Footstep::ivDiscPredecessorRight
private

The reversed (discretized) translation(s) for a right supporting foot.

Definition at line 125 of file Footstep.h.

std::vector<footstep_xy> footstep_planner::Footstep::ivDiscSuccessorLeft
private

The (discretized) translation(s) for a left supporting foot.

Definition at line 119 of file Footstep.h.

std::vector<footstep_xy> footstep_planner::Footstep::ivDiscSuccessorRight
private

The (discretized) translation(s) for a right supporting foot.

Definition at line 121 of file Footstep.h.

int footstep_planner::Footstep::ivMaxHashSize
private

The maximal hash size.

Definition at line 116 of file Footstep.h.

int footstep_planner::Footstep::ivNumAngleBins
private

The parameter for the discretization of the rotation.

Definition at line 113 of file Footstep.h.

int footstep_planner::Footstep::ivTheta
private

The (discretized) rotation of the footstep.

Definition at line 108 of file Footstep.h.


The documentation for this class was generated from the following files:


footstep_planner
Author(s): Johannes Garimort, Armin Hornung
autogenerated on Mon Jun 10 2019 13:38:25