hpp::wholebodyStep Namespace Reference

Classes

struct  RightHandSideFunctor
 
class  SmallSteps
 Plan a sliding path for a humanoid robot and generate a walk motion along this path. More...
 
struct  TimeDependant
 
class  TimeDependantPath
 

Typedefs

typedef pinocchio::JointPtr_t JointPtr_t
 
typedef core::ConstraintSet ConstraintSet
 
typedef core::ConstraintSetPtr_t ConstraintSetPtr_t
 
typedef core::ConfigProjector ConfigProjector
 
typedef core::ConfigProjectorPtr_t ConfigProjectorPtr_t
 
typedef core::DifferentiableFunctionPtr_t DifferentiableFunctionPtr_t
 
typedef core::DifferentiableFunction DifferentiableFunction
 
typedef constraints::JointFrame JointFrame
 
typedef constraints::Traits< constraints::JointFrame >::Ptr_t JointFramePtr_t
 
typedef constraints::SymbolicFunction< JointFrameJointFrameFunction
 
typedef constraints::SymbolicFunction< JointFrame >::Ptr_t JointFrameFunctionPtr_t
 
typedef constraints::PointInJoint PointInJoint
 
typedef constraints::SymbolicFunction< PointInJointPointInJointFunction
 
typedef constraints::PointCom PointCom
 
typedef constraints::SymbolicFunction< PointComPointComFunction
 
typedef constraints::SymbolicFunction< PointCom >::Ptr_t PointComFunctionPtr_t
 
typedef core::Problem Problem
 
typedef core::PathOptimizerPtr_t PathOptimizerPtr_t
 
typedef core::Path Path
 
typedef core::PathPtr_t PathPtr_t
 
typedef core::PathVector PathVector
 
typedef core::PathVectorPtr_t PathVectorPtr_t
 
typedef core::StraightPath StraightPath
 
typedef core::StraightPathPtr_t StraightPathPtr_t
 
typedef pinocchio::CenterOfMassComputationPtr_t CenterOfMassComputationPtr_t
 
typedef pinocchio::DevicePtr_t DevicePtr_t
 
typedef pinocchio::HumanoidRobotPtr_t HumanoidRobotPtr_t
 
typedef pinocchio::HumanoidRobot HumanoidRobot
 
typedef pinocchio::LiegroupElement LiegroupElement
 
typedef pinocchio::LiegroupSpace LiegroupSpace
 
typedef pinocchio::LiegroupSpacePtr_t LiegroupSpacePtr_t
 
typedef core::Configuration_t Configuration_t
 
typedef core::ConfigurationIn_t ConfigurationIn_t
 
typedef core::ConfigurationOut_t ConfigurationOut_t
 
typedef core::Transform3f Transform3f
 
typedef core::matrix3_t matrix3_t
 
typedef core::vector3_t vector3_t
 
typedef core::vector_t vector_t
 
typedef core::vectorOut_t vectorOut_t
 
typedef core::value_type value_type
 
typedef core::size_type size_type
 
typedef walkgen::FootPrint FootPrint
 
typedef walkgen::SplineBasedPtr_t SplineBasedPtr_t
 
typedef walkgen::SplineBased SplineBased
 
typedef walkgen::CubicBSplinePtr_t CubicBSplinePtr_t
 
typedef boost::shared_ptr< SmallStepsSmallStepsPtr_t
 
typedef boost::shared_ptr< TimeDependantPathTimeDependantPathPtr_t
 
typedef constraints::Implicit Implicit
 
typedef constraints::ImplicitPtr_t ImplicitPtr_t
 
typedef boost::shared_ptr< const RightHandSideFunctorRightHandSideFunctorPtr_t
 

Functions

 HPP_PREDEF_CLASS (SmallSteps)
 
 HPP_PREDEF_CLASS (TimeDependantPath)
 
std::vector< ImplicitPtr_tcreateSlidingStabilityConstraint (const DevicePtr_t &robot, const CenterOfMassComputationPtr_t &comc, const JointPtr_t &leftAnkle, const JointPtr_t &rightAnkle, ConfigurationIn_t configuration) HPP_WHOLEBODY_STEP_DEPRECATED
 Create quasi-static stability constraints. More...
 
std::vector< ImplicitPtr_tcreateSlidingStabilityConstraint (const DevicePtr_t &robot, const JointPtr_t &leftAnkle, const JointPtr_t &rightAnkle, ConfigurationIn_t configuration) HPP_WHOLEBODY_STEP_DEPRECATED
 Create quasi-static stability constraints The center of mass takes into account all the joints of the robot. More...
 
std::vector< ImplicitPtr_tcreateSlidingStabilityConstraintComplement (const DevicePtr_t &robot, const JointPtr_t &leftAnkle, ConfigurationIn_t configuration)
 Create quasi-static stability complementary constraints. More...
 
std::vector< ImplicitPtr_tcreateAlignedCOMStabilityConstraint (const DevicePtr_t &robot, const CenterOfMassComputationPtr_t &comc, const JointPtr_t &leftAnkle, const JointPtr_t &rightAnkle, ConfigurationIn_t configuration, bool sliding=true)
 Constraints that ensure that the COM is between the two ankles. More...
 
std::vector< ImplicitPtr_tcreateStaticStabilityConstraint (const DevicePtr_t &robot, const CenterOfMassComputationPtr_t &comc, const JointPtr_t &leftAnkle, const JointPtr_t &rightAnkle, ConfigurationIn_t configuration, bool sliding)
 Create quasi-static stability constraints. More...
 

Variables

const std::string STABILITY_CONTEXT
 

Typedef Documentation

typedef pinocchio::CenterOfMassComputationPtr_t hpp::wholebodyStep::CenterOfMassComputationPtr_t
typedef pinocchio::DevicePtr_t hpp::wholebodyStep::DevicePtr_t
typedef pinocchio::HumanoidRobot hpp::wholebodyStep::HumanoidRobot
typedef pinocchio::HumanoidRobotPtr_t hpp::wholebodyStep::HumanoidRobotPtr_t
typedef pinocchio::JointPtr_t hpp::wholebodyStep::JointPtr_t
typedef pinocchio::LiegroupElement hpp::wholebodyStep::LiegroupElement
typedef pinocchio::LiegroupSpace hpp::wholebodyStep::LiegroupSpace
typedef pinocchio::LiegroupSpacePtr_t hpp::wholebodyStep::LiegroupSpacePtr_t
typedef boost::shared_ptr<SmallSteps> hpp::wholebodyStep::SmallStepsPtr_t

Function Documentation

std::vector<ImplicitPtr_t> hpp::wholebodyStep::createAlignedCOMStabilityConstraint ( const DevicePtr_t robot,
const CenterOfMassComputationPtr_t comc,
const JointPtr_t leftAnkle,
const JointPtr_t rightAnkle,
ConfigurationIn_t  configuration,
bool  sliding = true 
)

Constraints that ensure that the COM is between the two ankles.

Parameters
robotthe robot,
comccomputation of the center of mass (whole robot or subtree)
leftAnkleleft ankle joint,
rightAnkleright ankle joint,
configurationthe configuration of the robot satisfying the constraint,
slidingwhether the robot can slide on the ground

Create the following set of constraints:

  • ComBetweenFeet constraints (dimension 3)
  • orientation of the right foot around x and y (dimension 2) if sliding, dimension 3 otherwise
  • position of the right foot along z (dimension 1) if sliding dimension 3 otherwise,
  • orientation of the left foot around x and y (dimension 2) if sliding, dimension 3 otherwise
  • position of the left foot along z (dimension 1) if sliding, dimension 3 otherwise.
std::vector<ImplicitPtr_t> hpp::wholebodyStep::createSlidingStabilityConstraint ( const DevicePtr_t robot,
const CenterOfMassComputationPtr_t comc,
const JointPtr_t leftAnkle,
const JointPtr_t rightAnkle,
ConfigurationIn_t  configuration 
)

Create quasi-static stability constraints.

Parameters
robotthe robot,
comca hpp::pinocchio::CenterOfMassComputation that handle COM computations.
leftAnkleleft ankle joint,
rightAnkleright ankle joint,
configurationthe configuration of the robot satisfying the constraint,

The constraints make the feet of the robot slide on a horizontal ground and the center of mass project at a constant position with respect to the feet. Five constraints are returned:

  • relative position of the center of mass (as defined with comc) in the left ankle frame (dimension 3),
  • relative orientation of the feet (dimension 3),
  • relative position of the feet (dimension 3),
  • orientation of the left foot (dimension 2),
  • position of the left foot (dimension 1).

All constraints are returned along with the hpp::core::ComparisonType::createDefault()

std::vector<ImplicitPtr_t> hpp::wholebodyStep::createSlidingStabilityConstraint ( const DevicePtr_t robot,
const JointPtr_t leftAnkle,
const JointPtr_t rightAnkle,
ConfigurationIn_t  configuration 
)

Create quasi-static stability constraints The center of mass takes into account all the joints of the robot.

Parameters
robot,leftAnkle,rightAnkle,configurationsee createSlidingStabilityConstraint(const DevicePtr_t&, const JointPtr_t&, const JointPtr_t&, ConfigurationIn_t)
std::vector<ImplicitPtr_t> hpp::wholebodyStep::createSlidingStabilityConstraintComplement ( const DevicePtr_t robot,
const JointPtr_t leftAnkle,
ConfigurationIn_t  configuration 
)

Create quasi-static stability complementary constraints.

Parameters
robotthe robot,
comca hpp::pinocchio::CenterOfMassComputation that handle COM computations.
leftAnkleleft ankle joint,
configurationthe configuration of the robot satisfying the constraint,

Used with the quasi-static stability constraints, the constraints make the feet and the center of mass of the robot at a constant position. Two constraints are returned:

  • orientation of the left foot (dimension 1),
  • position of the left foot (dimension 2).

All constraints are returned along with the hpp::core::ComparisonType::createDefault()

std::vector<ImplicitPtr_t> hpp::wholebodyStep::createStaticStabilityConstraint ( const DevicePtr_t robot,
const CenterOfMassComputationPtr_t comc,
const JointPtr_t leftAnkle,
const JointPtr_t rightAnkle,
ConfigurationIn_t  configuration,
bool  sliding 
)

Create quasi-static stability constraints.

Parameters
robotthe robot,
comccomputation of the center of mass (whole robot or subtree)
leftAnkleleft ankle joint,
rightAnkleright ankle joint,
configurationthe configuration of the robot satisfying the constraint,
slidingwhether the robot can slide on the ground

If sliding is true, the constraints make the feet of the robot lie on a horizontal ground and the center of mass project at a constant position with respect to the feet. Five constraints are returned:

  • relative position of the center of mass (as defined with comc) in the left ankle frame (dimension 3),
  • relative orientation of the feet (dimension 3),
  • relative position of the feet (dimension 3),
  • orientation of the left foot (dimension 2),
  • position of the left foot (dimension 1).

If sliding is false, 3 constraints are returned

  • relative position of the center of mass (as defined with comc) in the left ankle frame (dimension 3),
  • absolute position and orientation of left foot,
  • absolute position and orientation of right foot.

All constraints are returned along with the hpp::core::ComparisonType::createDefault()

hpp::wholebodyStep::HPP_PREDEF_CLASS ( SmallSteps  )
hpp::wholebodyStep::HPP_PREDEF_CLASS ( TimeDependantPath  )

Variable Documentation

const std::string hpp::wholebodyStep::STABILITY_CONTEXT