lipm_walking::Contact Struct Reference

Contacts wrap foot frames with extra info from the footstep plan. More...

#include <lipm_walking/Contact.h>

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW Contact ()
 Empty constructor. More...
 
 Contact (const sva::PTransformd &pose)
 Define from Plücker transform. More...
 
Eigen::Vector3d sagittal () const
 Sagittal unit vector of the contact frame. More...
 
Eigen::Vector3d lateral () const
 Lateral unit vector of the contact frame. More...
 
Eigen::Vector3d normal () const
 Normal unit vector of the contact frame. More...
 
const Eigen::Vector3d & position () const
 World position of the contact frame. More...
 
const Eigen::Vector3d & p () const
 Shorthand for position. More...
 
Eigen::Vector3d anklePos (const Sole &sole) const
 Position of ankle from foot center frame. More...
 
sva::PTransformd anklePose (const Sole &sole) const
 Get frame rooted at the ankle. More...
 
double x () const
 Shorthand for world x-coordinate. More...
 
double y () const
 Shorthand for world y-coordinate. More...
 
double z () const
 Shorthand for world z-coordinate. More...
 
Eigen::Vector3d vertex0 () const
 Corner vertex of the contact area. More...
 
Eigen::Vector3d vertex1 () const
 Corner vertex of the contact area. More...
 
Eigen::Vector3d vertex2 () const
 Corner vertex of the contact area. More...
 
Eigen::Vector3d vertex3 () const
 Corner vertex of the contact area. More...
 
template<int i>
double minCoord () const
 Minimum coordinate for vertices of the contact area. More...
 
template<int i>
double maxCoord () const
 Maximum coordinate for vertices of the contact area. More...
 
double xmin () const
 Minimum world x-coordinate of the contact area. More...
 
double xmax () const
 Maximum world x-coordinate of the contact area. More...
 
double ymin () const
 Minimum world y-coordinate of the contact area. More...
 
double ymax () const
 Maximum world y-coordinate of the contact area. More...
 
double zmin () const
 Minimum world z-coordinate of the contact area. More...
 
double zmax () const
 Maximum world z-coordinate of the contact area. More...
 
HrepXd hrep () const
 Halfspace representation of contact area in world frame. More...
 
sva::PTransformd robotTransform (const mc_rbdyn::Robot &robot) const
 Compute floating base transform that puts the robot in contact. More...
 

Public Attributes

Eigen::Vector3d refVel
 Desired CoM velocity when the robot is supporting itself on this contact. More...
 
double halfLength = 0.
 Half-length of the contact rectangle in [m]. More...
 
double halfWidth = 0.
 Half-width of the contact rectangle in [m]. More...
 
mc_rtc::Configuration swingConfig
 Additional configuration for swing foot trajectories that originate from this contact. More...
 
std::string surfaceName = ""
 Name of the contact surface in robot model. More...
 
sva::PTransformd pose
 Plücker transform of the contact in the inertial frame. More...
 
unsigned id = 0
 Index of contact in footstep plan. More...
 

Detailed Description

Contacts wrap foot frames with extra info from the footstep plan.

Definition at line 58 of file Contact.h.

Constructor & Destructor Documentation

EIGEN_MAKE_ALIGNED_OPERATOR_NEW lipm_walking::Contact::Contact ( )
inline

Empty constructor.

Leaves the contact's Plücker transform uninitialized.

Definition at line 67 of file Contact.h.

lipm_walking::Contact::Contact ( const sva::PTransformd &  pose)
inline

Define from Plücker transform.

Parameters
posePlücker transform from inertial to contact frame.

Definition at line 74 of file Contact.h.

Member Function Documentation

Eigen::Vector3d lipm_walking::Contact::anklePos ( const Sole sole) const
inline

Position of ankle from foot center frame.

Parameters
soleSole dimensions.

Definition at line 121 of file Contact.h.

sva::PTransformd lipm_walking::Contact::anklePose ( const Sole sole) const
inline

Get frame rooted at the ankle.

Parameters
soleSole dimensions.

Definition at line 143 of file Contact.h.

HrepXd lipm_walking::Contact::hrep ( ) const
inline

Halfspace representation of contact area in world frame.

Definition at line 273 of file Contact.h.

Eigen::Vector3d lipm_walking::Contact::lateral ( ) const
inline

Lateral unit vector of the contact frame.

Definition at line 87 of file Contact.h.

template<int i>
double lipm_walking::Contact::maxCoord ( ) const
inline

Maximum coordinate for vertices of the contact area.

Definition at line 217 of file Contact.h.

template<int i>
double lipm_walking::Contact::minCoord ( ) const
inline

Minimum coordinate for vertices of the contact area.

Definition at line 208 of file Contact.h.

Eigen::Vector3d lipm_walking::Contact::normal ( ) const
inline

Normal unit vector of the contact frame.

Definition at line 95 of file Contact.h.

const Eigen::Vector3d& lipm_walking::Contact::p ( ) const
inline

Shorthand for position.

Definition at line 111 of file Contact.h.

const Eigen::Vector3d& lipm_walking::Contact::position ( ) const
inline

World position of the contact frame.

Definition at line 103 of file Contact.h.

sva::PTransformd lipm_walking::Contact::robotTransform ( const mc_rbdyn::Robot &  robot) const
inline

Compute floating base transform that puts the robot in contact.

Parameters
robotRobot model (including its multi-body configuration).

Definition at line 304 of file Contact.h.

Eigen::Vector3d lipm_walking::Contact::sagittal ( ) const
inline

Sagittal unit vector of the contact frame.

Definition at line 79 of file Contact.h.

Eigen::Vector3d lipm_walking::Contact::vertex0 ( ) const
inline

Corner vertex of the contact area.

Definition at line 175 of file Contact.h.

Eigen::Vector3d lipm_walking::Contact::vertex1 ( ) const
inline

Corner vertex of the contact area.

Definition at line 183 of file Contact.h.

Eigen::Vector3d lipm_walking::Contact::vertex2 ( ) const
inline

Corner vertex of the contact area.

Definition at line 191 of file Contact.h.

Eigen::Vector3d lipm_walking::Contact::vertex3 ( ) const
inline

Corner vertex of the contact area.

Definition at line 199 of file Contact.h.

double lipm_walking::Contact::x ( ) const
inline

Shorthand for world x-coordinate.

Definition at line 151 of file Contact.h.

double lipm_walking::Contact::xmax ( ) const
inline

Maximum world x-coordinate of the contact area.

Definition at line 233 of file Contact.h.

double lipm_walking::Contact::xmin ( ) const
inline

Minimum world x-coordinate of the contact area.

Definition at line 225 of file Contact.h.

double lipm_walking::Contact::y ( ) const
inline

Shorthand for world y-coordinate.

Definition at line 159 of file Contact.h.

double lipm_walking::Contact::ymax ( ) const
inline

Maximum world y-coordinate of the contact area.

Definition at line 249 of file Contact.h.

double lipm_walking::Contact::ymin ( ) const
inline

Minimum world y-coordinate of the contact area.

Definition at line 241 of file Contact.h.

double lipm_walking::Contact::z ( ) const
inline

Shorthand for world z-coordinate.

Definition at line 167 of file Contact.h.

double lipm_walking::Contact::zmax ( ) const
inline

Maximum world z-coordinate of the contact area.

Definition at line 265 of file Contact.h.

double lipm_walking::Contact::zmin ( ) const
inline

Minimum world z-coordinate of the contact area.

Definition at line 257 of file Contact.h.

Member Data Documentation

double lipm_walking::Contact::halfLength = 0.

Half-length of the contact rectangle in [m].

Definition at line 316 of file Contact.h.

double lipm_walking::Contact::halfWidth = 0.

Half-width of the contact rectangle in [m].

Definition at line 317 of file Contact.h.

unsigned lipm_walking::Contact::id = 0

Index of contact in footstep plan.

Definition at line 322 of file Contact.h.

sva::PTransformd lipm_walking::Contact::pose

Plücker transform of the contact in the inertial frame.

Definition at line 321 of file Contact.h.

Eigen::Vector3d lipm_walking::Contact::refVel
Initial value:
=
Eigen::Vector3d::Zero()

Desired CoM velocity when the robot is supporting itself on this contact.

Definition at line 314 of file Contact.h.

std::string lipm_walking::Contact::surfaceName = ""

Name of the contact surface in robot model.

Definition at line 320 of file Contact.h.

mc_rtc::Configuration lipm_walking::Contact::swingConfig

Additional configuration for swing foot trajectories that originate from this contact.

Definition at line 319 of file Contact.h.