robotoc
robotoc - efficient ROBOT Optimal Control solvers
|
Foot step planner for the jump motion. More...
#include <jump_foot_step_planner.hpp>
Public Member Functions | |
JumpFootStepPlanner (const Robot &robot) | |
Constructs the planner. More... | |
JumpFootStepPlanner () | |
Default constructor. More... | |
~JumpFootStepPlanner () | |
Destructor. More... | |
JumpFootStepPlanner (const JumpFootStepPlanner &)=default | |
Default copy constructor. More... | |
JumpFootStepPlanner & | operator= (const JumpFootStepPlanner &)=default |
Default copy assign operator. More... | |
JumpFootStepPlanner (JumpFootStepPlanner &&) noexcept=default | |
Default move constructor. More... | |
JumpFootStepPlanner & | operator= (JumpFootStepPlanner &&) noexcept=default |
Default move assign operator. More... | |
void | setJumpPattern (const Eigen::Vector3d &jump_length, const double jump_yaw) |
Sets the gait pattern. More... | |
void | setContactSurfaces (const std::vector< Eigen::Matrix3d > &contact_surfaces) |
Sets the rotation of the contact surfaces. More... | |
void | setContactSurfaces (const std::vector< std::vector< Eigen::Matrix3d > > &contact_surfaces) |
Sets the rotation of the contact surfaces over the mutiple steps. More... | |
void | init (const Eigen::VectorXd &q) override |
Initializes the planner. More... | |
bool | plan (const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const ContactStatus &contact_status, const int planning_steps) override |
Plans the foot steps in the MPC (receding-horizon) fashion. More... | |
const aligned_vector< SE3 > & | contactPlacements (const int step) const override |
Gets the contact placements of a specified step. More... | |
const std::vector< Eigen::Vector3d > & | contactPositions (const int step) const override |
Gets the contact positions of a specified step. More... | |
const std::vector< Eigen::Matrix3d > & | contactSurfaces (const int step) const override |
Gets the contact surfaces of a specified step. More... | |
const Eigen::Vector3d & | CoM (const int step) const override |
Gets the CoM position of a specified step. More... | |
const Eigen::Matrix3d & | R (const int step) const override |
Gets the rotation matrix of the base at a specified step. More... | |
int | size () const override |
Gets the size of each planned quantities. More... | |
Public Member Functions inherited from robotoc::ContactPlannerBase | |
ContactPlannerBase () | |
Default constructor. More... | |
virtual | ~ContactPlannerBase () |
Destructor. More... | |
ContactPlannerBase (const ContactPlannerBase &)=default | |
Default copy constructor. More... | |
ContactPlannerBase & | operator= (const ContactPlannerBase &)=default |
Default copy assign operator. More... | |
ContactPlannerBase (ContactPlannerBase &&) noexcept=default | |
Default move constructor. More... | |
ContactPlannerBase & | operator= (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 |
Friends | |
std::ostream & | operator<< (std::ostream &os, const JumpFootStepPlanner &planner) |
std::ostream & | operator<< (std::ostream &os, const std::shared_ptr< JumpFootStepPlanner > &planner) |
Foot step planner for the jump motion.
robotoc::JumpFootStepPlanner::JumpFootStepPlanner | ( | const Robot & | robot | ) |
Constructs the planner.
[in] | robot | Robot model. |
robotoc::JumpFootStepPlanner::JumpFootStepPlanner | ( | ) |
Default constructor.
robotoc::JumpFootStepPlanner::~JumpFootStepPlanner | ( | ) |
Destructor.
|
default |
Default copy constructor.
|
defaultnoexcept |
Default move constructor.
|
overridevirtual |
Gets the CoM position of a specified step.
[in] | step | Step of interest. |
Implements robotoc::ContactPlannerBase.
|
overridevirtual |
Gets the contact placements of a specified step.
[in] | step | Step of interest. |
Implements robotoc::ContactPlannerBase.
|
overridevirtual |
Gets the contact positions of a specified step.
[in] | step | Step of interest. |
Implements robotoc::ContactPlannerBase.
|
overridevirtual |
Gets the contact surfaces of a specified step.
[in] | step | Step of interest. |
Implements robotoc::ContactPlannerBase.
|
overridevirtual |
Initializes the planner.
[in] | q | Initial configuration. Size must be Robot::dimq(). |
Implements robotoc::ContactPlannerBase.
|
default |
Default copy assign operator.
|
defaultnoexcept |
Default move assign operator.
|
overridevirtual |
Plans the foot steps in the MPC (receding-horizon) fashion.
[in] | t | Initial time. |
[in] | q | Initial configuration. Size must be Robot::dimq(). |
[in] | v | Initial velocity. Size must be Robot::dimv(). |
[in] | contact_status | Initial contact status. |
[in] | planning_steps | Number of planning steps. Must be non-negative. |
Implements robotoc::ContactPlannerBase.
|
overridevirtual |
Gets the rotation matrix of the base at a specified step.
[in] | step | Step of interest. |
Implements robotoc::ContactPlannerBase.
void robotoc::JumpFootStepPlanner::setContactSurfaces | ( | const std::vector< Eigen::Matrix3d > & | contact_surfaces | ) |
Sets the rotation of the contact surfaces.
[in] | contact_surfaces | Rotation of the contact surfaces. |
void robotoc::JumpFootStepPlanner::setContactSurfaces | ( | const std::vector< std::vector< Eigen::Matrix3d > > & | contact_surfaces | ) |
Sets the rotation of the contact surfaces over the mutiple steps.
[in] | contact_surfaces | Rotation of the contact surfaces. |
void robotoc::JumpFootStepPlanner::setJumpPattern | ( | const Eigen::Vector3d & | jump_length, |
const double | jump_yaw | ||
) |
Sets the gait pattern.
[in] | jump_length | Jump length. |
[in] | jump_yaw | Change in the yaw angle of the jump. |
|
inlineoverridevirtual |
Gets the size of each planned quantities.
Implements robotoc::ContactPlannerBase.
|
friend |
|
friend |