robotoc
robotoc - efficient ROBOT Optimal Control solvers
Loading...
Searching...
No Matches
robotoc::ContactPlannerBase Class Referenceabstract

Base interface of contact planners. More...

#include <contact_planner_base.hpp>

Inheritance diagram for robotoc::ContactPlannerBase:

Public Member Functions

 ContactPlannerBase ()
 Default constructor. More...
 
virtual ~ContactPlannerBase ()
 Destructor. More...
 
 ContactPlannerBase (const ContactPlannerBase &)=default
 Default copy constructor. More...
 
ContactPlannerBaseoperator= (const ContactPlannerBase &)=default
 Default copy assign operator. More...
 
 ContactPlannerBase (ContactPlannerBase &&) noexcept=default
 Default move constructor. More...
 
ContactPlannerBaseoperator= (ContactPlannerBase &&) noexcept=default
 Default move assign operator. More...
 
virtual void init (const Eigen::VectorXd &q)=0
 Initializes the planner. More...
 
virtual bool plan (const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const ContactStatus &contact_status, const int planning_steps)=0
 Plans the foot steps in the MPC (receding-horizon) fashion. More...
 
virtual const aligned_vector< SE3 > & contactPlacements (const int step) const =0
 Gets the contact placements of a specified step. More...
 
virtual const std::vector< Eigen::Vector3d > & contactPositions (const int step) const =0
 Gets the contact positions of a specified step. More...
 
virtual const std::vector< Eigen::Matrix3d > & contactSurfaces (const int step) const =0
 Gets the contact surfaces of a specified step. More...
 
virtual const Eigen::Vector3d & CoM (const int step) const =0
 Gets the CoM position of a specified step. More...
 
virtual const Eigen::Matrix3d & R (const int step) const =0
 Gets the rotation matrix of the base at a specified step. More...
 
virtual int size () const =0
 Gets the size of each planned quantities. More...
 
void disp (std::ostream &os) const
 

Detailed Description

Base interface of contact planners.

Constructor & Destructor Documentation

◆ ContactPlannerBase() [1/3]

robotoc::ContactPlannerBase::ContactPlannerBase ( )
inline

Default constructor.

◆ ~ContactPlannerBase()

virtual robotoc::ContactPlannerBase::~ContactPlannerBase ( )
inlinevirtual

Destructor.

◆ ContactPlannerBase() [2/3]

robotoc::ContactPlannerBase::ContactPlannerBase ( const ContactPlannerBase )
default

Default copy constructor.

◆ ContactPlannerBase() [3/3]

robotoc::ContactPlannerBase::ContactPlannerBase ( ContactPlannerBase &&  )
defaultnoexcept

Default move constructor.

Member Function Documentation

◆ CoM()

virtual const Eigen::Vector3d & robotoc::ContactPlannerBase::CoM ( const int  step) const
pure virtual

Gets the CoM position of a specified step.

Parameters
[in]stepStep of interest.
Returns
const reference to CoM position of a specified step.
Remarks
step=0: previous step, step=1: initial step.

Implemented in robotoc::BipedWalkFootStepPlanner, robotoc::CrawlFootStepPlanner, robotoc::FlyingTrotFootStepPlanner, robotoc::JumpFootStepPlanner, robotoc::PaceFootStepPlanner, and robotoc::TrotFootStepPlanner.

◆ contactPlacements()

virtual const aligned_vector< SE3 > & robotoc::ContactPlannerBase::contactPlacements ( const int  step) const
pure virtual

Gets the contact placements of a specified step.

Parameters
[in]stepStep of interest.
Returns
const reference to the contact placements of a specified step.
Remarks
step=0: previous step, step=1: initial step.

Implemented in robotoc::BipedWalkFootStepPlanner, robotoc::CrawlFootStepPlanner, robotoc::FlyingTrotFootStepPlanner, robotoc::JumpFootStepPlanner, robotoc::PaceFootStepPlanner, and robotoc::TrotFootStepPlanner.

◆ contactPositions()

virtual const std::vector< Eigen::Vector3d > & robotoc::ContactPlannerBase::contactPositions ( const int  step) const
pure virtual

Gets the contact positions of a specified step.

Parameters
[in]stepStep of interest.
Returns
const reference to the contact positions of a specified step.
Remarks
step=0: previous step, step=1: initial step.

Implemented in robotoc::BipedWalkFootStepPlanner, robotoc::CrawlFootStepPlanner, robotoc::FlyingTrotFootStepPlanner, robotoc::JumpFootStepPlanner, robotoc::PaceFootStepPlanner, and robotoc::TrotFootStepPlanner.

◆ contactSurfaces()

virtual const std::vector< Eigen::Matrix3d > & robotoc::ContactPlannerBase::contactSurfaces ( const int  step) const
pure virtual

Gets the contact surfaces of a specified step.

Parameters
[in]stepStep of interest.
Returns
const reference to the contact surfaces of a specified step.
Remarks
step=0: previous step, step=1: initial step.

Implemented in robotoc::BipedWalkFootStepPlanner, robotoc::CrawlFootStepPlanner, robotoc::FlyingTrotFootStepPlanner, robotoc::JumpFootStepPlanner, robotoc::PaceFootStepPlanner, and robotoc::TrotFootStepPlanner.

◆ disp()

void robotoc::ContactPlannerBase::disp ( std::ostream &  os) const

◆ init()

virtual void robotoc::ContactPlannerBase::init ( const Eigen::VectorXd &  q)
pure virtual

◆ operator=() [1/2]

ContactPlannerBase & robotoc::ContactPlannerBase::operator= ( const ContactPlannerBase )
default

Default copy assign operator.

◆ operator=() [2/2]

ContactPlannerBase & robotoc::ContactPlannerBase::operator= ( ContactPlannerBase &&  )
defaultnoexcept

Default move assign operator.

◆ plan()

virtual bool robotoc::ContactPlannerBase::plan ( const double  t,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const ContactStatus contact_status,
const int  planning_steps 
)
pure virtual

Plans the foot steps in the MPC (receding-horizon) fashion.

Parameters
[in]tInitial time.
[in]qInitial configuration. Size must be Robot::dimq().
[in]vInitial velocity. Size must be Robot::dimv().
[in]contact_statusInitial contact status.
[in]planning_stepsNumber of planning steps. Must be non-negative.
Returns
True if the planning is succeeded. False if not.
Remarks
The linear and angular velocities of the floating base are assumed to be expressed in the body local coordinate.
The implementation must follow: step=0: previous step, step=1: initial step (specified as q and contact_status).

Implemented in robotoc::BipedWalkFootStepPlanner, robotoc::CrawlFootStepPlanner, robotoc::FlyingTrotFootStepPlanner, robotoc::JumpFootStepPlanner, robotoc::PaceFootStepPlanner, and robotoc::TrotFootStepPlanner.

◆ R()

virtual const Eigen::Matrix3d & robotoc::ContactPlannerBase::R ( const int  step) const
pure virtual

Gets the rotation matrix of the base at a specified step.

Parameters
[in]stepStep of interest.
Returns
const reference to rotation matrix of the base at a specified step.
Remarks
step=0: previous step, step=1: initial step.

Implemented in robotoc::BipedWalkFootStepPlanner, robotoc::CrawlFootStepPlanner, robotoc::FlyingTrotFootStepPlanner, robotoc::JumpFootStepPlanner, robotoc::PaceFootStepPlanner, and robotoc::TrotFootStepPlanner.

◆ size()

virtual int robotoc::ContactPlannerBase::size ( ) const
pure virtual

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