This class wraps information about contact surfaces used by the stabilizer.
More...
#include <mc_tasks/lipm_stabilizer/Contact.h>
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | Contact ()=default |
|
| Contact (const mc_rbdyn::Robot &robot, const std::string &surfaceName, double friction) |
| Constructs a contact from a surface attached to the ankle frame of a robot. More...
|
|
| Contact (const mc_rbdyn::Robot &robot, const std::string &surfaceName, const sva::PTransformd &surfacePose, double friction) |
| Constructs a Contact with user-specified surface pose. More...
|
|
HrepXd | hrep (const Eigen::Vector3d &vertical) const |
| Halfspace representation of contact area in world frame. More...
|
|
const Eigen::Matrix< double, 16, 6 > & | wrenchFaceMatrix () const |
|
Eigen::Vector3d | sagittal () const |
|
Eigen::Vector3d | lateral () const |
|
Eigen::Vector3d | normal () const |
|
const Eigen::Vector3d & | position () const |
|
double | halfWidth () const |
|
double | halfLength () const |
|
double | friction () const |
|
const sva::PTransformd & | anklePose () const |
|
Eigen::Vector3d | sagital () |
|
Eigen::Vector3d | lateral () |
|
Eigen::Vector3d | vertical () |
|
const std::string & | surfaceName () const |
|
const sva::PTransformd & | surfacePose () const |
|
const std::vector< Eigen::Vector3d > & | polygon () const |
| Returns the contact polygon defined by the 4 vertices of the min/max coordinates along the surface's sagital and normal direction. More...
|
|
double | xmin () const |
| World coordinates of the point furthest back in the surface's sagital direction. More...
|
|
double | xmax () const |
| World coordinates of the point furthest front in the surface's sagital direction. More...
|
|
double | ymin () const |
| World coordinates of the point furthest right in the surface's lateral direction. More...
|
|
double | ymax () const |
| World coordinates of the point furthest left in the surface's lateral direction. More...
|
|
This class wraps information about contact surfaces used by the stabilizer.
◆ Contact() [1/3]
EIGEN_MAKE_ALIGNED_OPERATOR_NEW mc_tasks::lipm_stabilizer::internal::Contact::Contact |
( |
| ) |
|
|
default |
◆ Contact() [2/3]
mc_tasks::lipm_stabilizer::internal::Contact::Contact |
( |
const mc_rbdyn::Robot & |
robot, |
|
|
const std::string & |
surfaceName, |
|
|
double |
friction |
|
) |
| |
Constructs a contact from a surface attached to the ankle frame of a robot.
- Parameters
-
robot | Robot from which to create the contact |
surfaceName | Name of surface attached to the robot's ankle. It is assumed that the surface frame is defined as follows:
- z axis going from the environment towards the robot
- x aligned with the sagital direction
- y axis aligned with the lateral direction
|
friction | sole friction |
◆ Contact() [3/3]
mc_tasks::lipm_stabilizer::internal::Contact::Contact |
( |
const mc_rbdyn::Robot & |
robot, |
|
|
const std::string & |
surfaceName, |
|
|
const sva::PTransformd & |
surfacePose, |
|
|
double |
friction |
|
) |
| |
◆ anklePose()
const sva::PTransformd& mc_tasks::lipm_stabilizer::internal::Contact::anklePose |
( |
| ) |
const |
|
inline |
World position of projected ankle frame into surface frame. Orientation is that of the target contact frame.
◆ friction()
double mc_tasks::lipm_stabilizer::internal::Contact::friction |
( |
| ) |
const |
|
inline |
◆ halfLength()
double mc_tasks::lipm_stabilizer::internal::Contact::halfLength |
( |
| ) |
const |
|
inline |
◆ halfWidth()
double mc_tasks::lipm_stabilizer::internal::Contact::halfWidth |
( |
| ) |
const |
|
inline |
◆ hrep()
HrepXd mc_tasks::lipm_stabilizer::internal::Contact::hrep |
( |
const Eigen::Vector3d & |
vertical | ) |
const |
Halfspace representation of contact area in world frame.
- Parameters
-
vertical | Normalized vector parallel to gravity |
◆ lateral() [1/2]
Eigen::Vector3d mc_tasks::lipm_stabilizer::internal::Contact::lateral |
( |
| ) |
|
|
inline |
◆ lateral() [2/2]
Eigen::Vector3d mc_tasks::lipm_stabilizer::internal::Contact::lateral |
( |
| ) |
const |
|
inline |
Lateral unit vector of the contact frame.
◆ normal()
Eigen::Vector3d mc_tasks::lipm_stabilizer::internal::Contact::normal |
( |
| ) |
const |
|
inline |
Normal unit vector of the contact frame.
◆ polygon()
const std::vector<Eigen::Vector3d>& mc_tasks::lipm_stabilizer::internal::Contact::polygon |
( |
| ) |
const |
|
inline |
Returns the contact polygon defined by the 4 vertices of the min/max coordinates along the surface's sagital and normal direction.
◆ position()
const Eigen::Vector3d& mc_tasks::lipm_stabilizer::internal::Contact::position |
( |
| ) |
const |
|
inline |
◆ sagital()
Eigen::Vector3d mc_tasks::lipm_stabilizer::internal::Contact::sagital |
( |
| ) |
|
|
inline |
◆ sagittal()
Eigen::Vector3d mc_tasks::lipm_stabilizer::internal::Contact::sagittal |
( |
| ) |
const |
|
inline |
Sagittal unit vector of the contact frame.
◆ surfaceName()
const std::string& mc_tasks::lipm_stabilizer::internal::Contact::surfaceName |
( |
| ) |
const |
|
inline |
◆ surfacePose()
const sva::PTransformd& mc_tasks::lipm_stabilizer::internal::Contact::surfacePose |
( |
| ) |
const |
|
inline |
◆ vertical()
Eigen::Vector3d mc_tasks::lipm_stabilizer::internal::Contact::vertical |
( |
| ) |
|
|
inline |
◆ wrenchFaceMatrix()
const Eigen::Matrix<double, 16, 6>& mc_tasks::lipm_stabilizer::internal::Contact::wrenchFaceMatrix |
( |
| ) |
const |
|
inline |
H-representation of contact wrench cones.
See https://hal.archives-ouvertes.fr/hal-02108449/document for technical details on the derivation of this formula.
- Note
- Uses halfLength_, halfWidth_ computed from the surface points in findSurfaceBoundaries(), friction_: sole friction
◆ xmax()
double mc_tasks::lipm_stabilizer::internal::Contact::xmax |
( |
| ) |
const |
|
inline |
World coordinates of the point furthest front in the surface's sagital direction.
◆ xmin()
double mc_tasks::lipm_stabilizer::internal::Contact::xmin |
( |
| ) |
const |
|
inline |
World coordinates of the point furthest back in the surface's sagital direction.
◆ ymax()
double mc_tasks::lipm_stabilizer::internal::Contact::ymax |
( |
| ) |
const |
|
inline |
World coordinates of the point furthest left in the surface's lateral direction.
◆ ymin()
double mc_tasks::lipm_stabilizer::internal::Contact::ymin |
( |
| ) |
const |
|
inline |
World coordinates of the point furthest right in the surface's lateral direction.
The documentation for this struct was generated from the following file: