ChppGikFootprint Class Reference

This object describes a footprint on a flat floor, by its (x,y) position and its rotation in world frame. More...

#include <hpp/gik/robot/foot-print-related.hh>

Public Member Functions

 ChppGikFootprint (double inX, double inY, double inTheta)
 Constructor. More...
 
void worldTranslate (double inDx, double inDy)
 Translate with inDx and inDy being given in world coordinates. More...
 
void localTranslate (double inDx, double inDy)
 Translate with inDx and inDy being given in local coordinates. More...
 
void rotate (double inDtheta)
 rotate footprint by inDtheta More...
 
double distanceTo (const ChppGikFootprint *inFootprint) const
 Distance to the given footprint. More...
 
bool isPointInsideSafeZone (double inX, double inY) const
 Determine wether the given point is inside the footprint. More...
 
 ~ChppGikFootprint ()
 
Get and Set methods for attX attY and attTheta (absolute coordinates)

{@

void x (double inX)
 
void y (double inY)
 
void th (double inTh)
 
double x () const
 
double y () const
 
double th () const
 

Static Public Member Functions

static void makeRelative (const ChppGikFootprint *inReferenceFootprint, ChppGikFootprint *outSubjectFootprint)
 Express outSubjectFootprint (supposed initially expressed in the same frame as inReferenceFootprint) in the local frame of inReferenceFootprint. More...
 
static void makeAbsolute (const ChppGikFootprint *inReferenceFootprint, ChppGikFootprint *outSubjectFootprint)
 Reverse method of makeRelative (express outSubjectFootprint (supposed initially relative to inReferenceFootprint) in the frame in which inReferenceFootprint is expressed) More...
 
static ChppGikFootprintcookFootprint (const matrix4d &inTransformation, double inNormalFootHeight)
 make a footprint from a transformation. More...
 

Detailed Description

This object describes a footprint on a flat floor, by its (x,y) position and its rotation in world frame.

A local frame is associated with a footprint: The local frame is set as follows: axis OX points ahead (to the toes), axis OY points to the left and axis OZ points upwards.
The footprint has a circular shape of radius (hardcoded 5cm, to be replaced after description of a footprint shape in CjrlHumanoidDynamicRobot).

Constructor & Destructor Documentation

◆ ChppGikFootprint()

ChppGikFootprint::ChppGikFootprint ( double  inX,
double  inY,
double  inTheta 
)

Constructor.

inX inY and inTheta are absolute coordinates

◆ ~ChppGikFootprint()

ChppGikFootprint::~ChppGikFootprint ( )

Member Function Documentation

◆ cookFootprint()

static ChppGikFootprint* ChppGikFootprint::cookFootprint ( const matrix4d inTransformation,
double  inNormalFootHeight 
)
static

make a footprint from a transformation.

Return 0 if the foot transformation did not turn flat on the ground

◆ distanceTo()

double ChppGikFootprint::distanceTo ( const ChppGikFootprint inFootprint) const

Distance to the given footprint.

◆ isPointInsideSafeZone()

bool ChppGikFootprint::isPointInsideSafeZone ( double  inX,
double  inY 
) const

Determine wether the given point is inside the footprint.

◆ localTranslate()

void ChppGikFootprint::localTranslate ( double  inDx,
double  inDy 
)

Translate with inDx and inDy being given in local coordinates.

◆ makeAbsolute()

static void ChppGikFootprint::makeAbsolute ( const ChppGikFootprint inReferenceFootprint,
ChppGikFootprint outSubjectFootprint 
)
static

Reverse method of makeRelative (express outSubjectFootprint (supposed initially relative to inReferenceFootprint) in the frame in which inReferenceFootprint is expressed)

◆ makeRelative()

static void ChppGikFootprint::makeRelative ( const ChppGikFootprint inReferenceFootprint,
ChppGikFootprint outSubjectFootprint 
)
static

Express outSubjectFootprint (supposed initially expressed in the same frame as inReferenceFootprint) in the local frame of inReferenceFootprint.

◆ rotate()

void ChppGikFootprint::rotate ( double  inDtheta)

rotate footprint by inDtheta

◆ th() [1/2]

void ChppGikFootprint::th ( double  inTh)

◆ th() [2/2]

double ChppGikFootprint::th ( ) const

◆ worldTranslate()

void ChppGikFootprint::worldTranslate ( double  inDx,
double  inDy 
)

Translate with inDx and inDy being given in world coordinates.

◆ x() [1/2]

void ChppGikFootprint::x ( double  inX)

◆ x() [2/2]

double ChppGikFootprint::x ( ) const

◆ y() [1/2]

void ChppGikFootprint::y ( double  inY)

◆ y() [2/2]

double ChppGikFootprint::y ( ) const