lipm_walking::Contact Struct Reference

#include <lipm_walking/Contact.h>

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW Contact ()
 
 Contact (const sva::PTransformd &pose)
 
Eigen::Vector3d sagittal () const
 
Eigen::Vector3d lateral () const
 
Eigen::Vector3d normal () const
 
const Eigen::Vector3d & position () const
 
const Eigen::Vector3d & p () const
 
Eigen::Vector3d anklePos (const Sole &sole) const
 
sva::PTransformd anklePose (const Sole &sole) const
 
double x () const
 
double y () const
 
double z () const
 
Eigen::Vector3d vertex0 () const
 
Eigen::Vector3d vertex1 () const
 
Eigen::Vector3d vertex2 () const
 
Eigen::Vector3d vertex3 () const
 
template<int i>
double minCoord () const
 
template<int i>
double maxCoord () const
 
double xmin () const
 
double xmax () const
 
double ymin () const
 
double ymax () const
 
double zmin () const
 
double zmax () const
 
HrepXd hrep () const
 
sva::PTransformd robotTransform (const mc_rbdyn::Robot &robot) const
 

Public Attributes

Eigen::Vector3d refVel
 
double halfLength = 0.
 
double halfWidth = 0.
 
mc_rtc::Configuration swingConfig
 
std::string surfaceName = ""
 
sva::PTransformd pose
 
unsigned id = 0
 

Detailed Description

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

Definition at line 51 of file Contact.h.

Constructor & Destructor Documentation

◆ Contact() [1/2]

EIGEN_MAKE_ALIGNED_OPERATOR_NEW lipm_walking::Contact::Contact ( )
inline

Empty constructor.

Leaves the contact's Plücker transform uninitialized.

Definition at line 60 of file Contact.h.

◆ Contact() [2/2]

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 67 of file Contact.h.

Member Function Documentation

◆ anklePos()

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

Position of ankle from foot center frame.

Parameters
soleSole dimensions.

Definition at line 114 of file Contact.h.

◆ anklePose()

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

Get frame rooted at the ankle.

Parameters
soleSole dimensions.

Definition at line 136 of file Contact.h.

◆ hrep()

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

Halfspace representation of contact area in world frame.

Definition at line 266 of file Contact.h.

◆ lateral()

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

Lateral unit vector of the contact frame.

Definition at line 80 of file Contact.h.

◆ maxCoord()

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

Maximum coordinate for vertices of the contact area.

Definition at line 210 of file Contact.h.

◆ minCoord()

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

Minimum coordinate for vertices of the contact area.

Definition at line 201 of file Contact.h.

◆ normal()

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

Normal unit vector of the contact frame.

Definition at line 88 of file Contact.h.

◆ p()

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

Shorthand for position.

Definition at line 104 of file Contact.h.

◆ position()

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

World position of the contact frame.

Definition at line 96 of file Contact.h.

◆ robotTransform()

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 297 of file Contact.h.

◆ sagittal()

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

Sagittal unit vector of the contact frame.

Definition at line 72 of file Contact.h.

◆ vertex0()

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

Corner vertex of the contact area.

Definition at line 168 of file Contact.h.

◆ vertex1()

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

Corner vertex of the contact area.

Definition at line 176 of file Contact.h.

◆ vertex2()

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

Corner vertex of the contact area.

Definition at line 184 of file Contact.h.

◆ vertex3()

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

Corner vertex of the contact area.

Definition at line 192 of file Contact.h.

◆ x()

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

Shorthand for world x-coordinate.

Definition at line 144 of file Contact.h.

◆ xmax()

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

Maximum world x-coordinate of the contact area.

Definition at line 226 of file Contact.h.

◆ xmin()

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

Minimum world x-coordinate of the contact area.

Definition at line 218 of file Contact.h.

◆ y()

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

Shorthand for world y-coordinate.

Definition at line 152 of file Contact.h.

◆ ymax()

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

Maximum world y-coordinate of the contact area.

Definition at line 242 of file Contact.h.

◆ ymin()

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

Minimum world y-coordinate of the contact area.

Definition at line 234 of file Contact.h.

◆ z()

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

Shorthand for world z-coordinate.

Definition at line 160 of file Contact.h.

◆ zmax()

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

Maximum world z-coordinate of the contact area.

Definition at line 258 of file Contact.h.

◆ zmin()

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

Minimum world z-coordinate of the contact area.

Definition at line 250 of file Contact.h.

Member Data Documentation

◆ halfLength

double lipm_walking::Contact::halfLength = 0.

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

Definition at line 309 of file Contact.h.

◆ halfWidth

double lipm_walking::Contact::halfWidth = 0.

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

Definition at line 310 of file Contact.h.

◆ id

unsigned lipm_walking::Contact::id = 0

Index of contact in footstep plan.

Definition at line 315 of file Contact.h.

◆ pose

sva::PTransformd lipm_walking::Contact::pose

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

Definition at line 314 of file Contact.h.

◆ refVel

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 307 of file Contact.h.

◆ surfaceName

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

Name of the contact surface in robot model.

Definition at line 313 of file Contact.h.

◆ swingConfig

mc_rtc::Configuration lipm_walking::Contact::swingConfig

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

Definition at line 312 of file Contact.h.


The documentation for this struct was generated from the following file: