hpp::constraints::ComBetweenFeet Class Reference

Constraint on the relative position of the center of mass. More...

#include <hpp/constraints/com-between-feet.hh>

Inheritance diagram for hpp::constraints::ComBetweenFeet:
Collaboration diagram for hpp::constraints::ComBetweenFeet:

List of all members.

Public Member Functions

virtual ~ComBetweenFeet () throw ()
 ComBetweenFeet (const std::string &name, const DevicePtr_t &robot, const CenterOfMassComputationPtr_t &comc, const JointPtr_t &jointLeft, const JointPtr_t &jointRight, const vector3_t pointLeft, const vector3_t pointRight, const JointPtr_t &jointReference, const vector3_t pointRef, std::vector< bool > mask)

Static Public Member Functions

static
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
ComBetweenFeetPtr_t 
create (const std::string &name, const DevicePtr_t &robot, const JointPtr_t &jointLeft, const JointPtr_t &jointRight, const vector3_t pointLeft, const vector3_t pointRight, const JointPtr_t &jointReference, const vector3_t pointRef, std::vector< bool > mask=boost::assign::list_of(true)(true)(true)(true))
 Return a shared pointer to a new instance.
static ComBetweenFeetPtr_t create (const std::string &name, const DevicePtr_t &robot, const CenterOfMassComputationPtr_t &comc, const JointPtr_t &jointLeft, const JointPtr_t &jointRight, const vector3_t pointLeft, const vector3_t pointRight, const JointPtr_t &jointReference, const vector3_t pointRef, std::vector< bool > mask=boost::assign::list_of(true)(true)(true)(true))
 Return a shared pointer to a new instance.

Protected Member Functions

virtual void impl_compute (vectorOut_t result, ConfigurationIn_t argument) const throw ()
 Compute value of error.
virtual void impl_jacobian (matrixOut_t jacobian, ConfigurationIn_t arg) const throw ()

Detailed Description

Constraint on the relative position of the center of mass.

The value of the function is defined as the position of the center of mass in the reference frame of a joint.

\begin{eqnarray*} \mathbf{f}(\mathbf{q}) &=& \left(\begin{array}{c} ( x_{com} - x_{ref} ) \cdot u_z \\ ( R^T (e \wedge u) ) \cdot u_z \\ ( x_{com} - x_L ) \cdot (u)\\ ( x_{com} - x_R ) \cdot (u)\\ \end{array}\right) \end{eqnarray*}

where

  • $\mathbf{x}_{com}$ is the position of the center of mass,
  • $\mathbf{x_L}$ is the position of the left joint,
  • $\mathbf{x_R}$ is the position of the right joint,
  • $\mathbf{x}_{ref}$ is the desired position of the center of mass expressed in reference joint frame.
  • $ u = x_R - x_L $
  • $ e = x_{com} - (\frac{x_L + x_R}{2})$

Constructor & Destructor Documentation

virtual hpp::constraints::ComBetweenFeet::~ComBetweenFeet ( ) throw () [inline, virtual]
hpp::constraints::ComBetweenFeet::ComBetweenFeet ( const std::string &  name,
const DevicePtr_t robot,
const CenterOfMassComputationPtr_t comc,
const JointPtr_t jointLeft,
const JointPtr_t jointRight,
const vector3_t  pointLeft,
const vector3_t  pointRight,
const JointPtr_t jointReference,
const vector3_t  pointRef,
std::vector< bool >  mask 
)

Member Function Documentation

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW ComBetweenFeetPtr_t hpp::constraints::ComBetweenFeet::create ( const std::string &  name,
const DevicePtr_t robot,
const JointPtr_t jointLeft,
const JointPtr_t jointRight,
const vector3_t  pointLeft,
const vector3_t  pointRight,
const JointPtr_t jointReference,
const vector3_t  pointRef,
std::vector< bool >  mask = boost::assign::list_of(true)(true)(true)(true) 
) [static]

Return a shared pointer to a new instance.

static ComBetweenFeetPtr_t hpp::constraints::ComBetweenFeet::create ( const std::string &  name,
const DevicePtr_t robot,
const CenterOfMassComputationPtr_t comc,
const JointPtr_t jointLeft,
const JointPtr_t jointRight,
const vector3_t  pointLeft,
const vector3_t  pointRight,
const JointPtr_t jointReference,
const vector3_t  pointRef,
std::vector< bool >  mask = boost::assign::list_of(true)(true)(true)(true) 
) [static]

Return a shared pointer to a new instance.

virtual void hpp::constraints::ComBetweenFeet::impl_compute ( vectorOut_t  result,
ConfigurationIn_t  argument 
) const throw () [protected, virtual]

Compute value of error.

Parameters:
argumentconfiguration of the robot,
Return values:
resulterror vector
virtual void hpp::constraints::ComBetweenFeet::impl_jacobian ( matrixOut_t  jacobian,
ConfigurationIn_t  arg 
) const throw () [protected, virtual]