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>

List of all members.

Public Member Functions

 ChppGikFootprint (double inX, double inY, double inTheta)
 Constructor.
void worldTranslate (double inDx, double inDy)
 Translate with inDx and inDy being given in world coordinates.
void localTranslate (double inDx, double inDy)
 Translate with inDx and inDy being given in local coordinates.
void rotate (double inDtheta)
 rotate footprint by inDtheta
double distanceTo (const ChppGikFootprint *inFootprint) const
 Distance to the given footprint.
bool isPointInsideSafeZone (double inX, double inY) const
 Determine wether the given point is inside the footprint.
 ~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.
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)
static ChppGikFootprintcookFootprint (const matrix4d &inTransformation, double inNormalFootHeight)
 make a footprint from a transformation.

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 ( double  inX,
double  inY,
double  inTheta 
)

Constructor.

inX inY and inTheta are absolute coordinates

ChppGikFootprint::~ChppGikFootprint ( )

Member Function Documentation

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

double ChppGikFootprint::distanceTo ( const ChppGikFootprint inFootprint) const

Distance to the given footprint.

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

Determine wether the given point is inside the footprint.

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

Translate with inDx and inDy being given in local coordinates.

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)

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.

void ChppGikFootprint::rotate ( double  inDtheta)

rotate footprint by inDtheta

void ChppGikFootprint::th ( double  inTh)
double ChppGikFootprint::th ( ) const
void ChppGikFootprint::worldTranslate ( double  inDx,
double  inDy 
)

Translate with inDx and inDy being given in world coordinates.

void ChppGikFootprint::x ( double  inX)
double ChppGikFootprint::x ( ) const
void ChppGikFootprint::y ( double  inY)
double ChppGikFootprint::y ( ) const