sobec::WBC Class Reference

#include <sobec/walk-with-traj/wbc.hpp>

Public Member Functions

 WBC ()
 
 WBC (const WBCSettings &settings, const RobotDesigner &design, const HorizonManager &horizon, const Eigen::VectorXd &q0, const Eigen::VectorXd &v0, const std::string &actuationCostName)
 
void initialize (const WBCSettings &settings, const RobotDesigner &design, const HorizonManager &horizon, const Eigen::VectorXd &q0, const Eigen::VectorXd &v0, const std::string &actuationCostName)
 
void initializeSupportTiming ()
 
void updateSupportTiming ()
 
const supportSwitchgetSwitches (const unsigned long before, const unsigned long after)
 
const Eigen::VectorXd & shapeState (const Eigen::VectorXd &q, const Eigen::VectorXd &v)
 
void generateWalkingCycle (ModelMaker &mm)
 
void generateStandingCycle (ModelMaker &mm)
 
void updateStepCycleTiming ()
 
bool timeToSolveDDP (int iteration)
 
void iterate (const Eigen::VectorXd &q_current, const Eigen::VectorXd &v_current, bool is_feasible)
 
void iterate (int iteration, const Eigen::VectorXd &q_current, const Eigen::VectorXd &v_current, bool is_feasible)
 
void recedeWithCycle ()
 
void recedeWithCycle (HorizonManager &cycle)
 
WBCSettingsget_settings ()
 
const Eigen::VectorXd & get_x0 () const
 
void set_x0 (const Eigen::VectorXd &x0)
 
HorizonManagerget_walkingCycle ()
 
void set_walkingCycle (const HorizonManager &walkingCycle)
 
HorizonManagerget_standingCycle ()
 
void set_standingCycle (const HorizonManager &standingCycle)
 
HorizonManagerget_horizon ()
 
void set_horizon (const HorizonManager &horizon)
 
RobotDesignerget_designer ()
 
void set_designer (const RobotDesigner &designer)
 
const std::vector< int > & get_land_LF ()
 
const std::vector< int > & get_land_RF ()
 
const std::vector< int > & get_takeoff_LF ()
 
const std::vector< int > & get_takeoff_RF ()
 
const std::vector< pinocchio::SE3 > & getPoseRef_LF ()
 
const pinocchio::SE3 & getPoseRef_LF (unsigned long time)
 
void setPoseRef_LF (const std::vector< pinocchio::SE3 > &ref_LF_poses)
 
void setPoseRef_LF (const pinocchio::SE3 &ref_LF_pose, unsigned long time)
 
const std::vector< pinocchio::SE3 > & getPoseRef_RF ()
 
const pinocchio::SE3 & getPoseRef_RF (unsigned long time)
 
void setPoseRef_RF (const std::vector< pinocchio::SE3 > &ref_RF_poses)
 
void setPoseRef_RF (const pinocchio::SE3 &ref_RF_pose, unsigned long time)
 
const std::vector< eVector3 > & getVelRef_COM ()
 
const eVector3getVelRef_COM (unsigned long time)
 
void setVelRef_COM (const std::vector< eVector3 > &ref_com_vel)
 
void setVelRef_COM (const eVector3 &ref_com_vel, unsigned long time)
 
std::vector< pinocchio::SE3 > & ref_LF_poses ()
 
std::vector< pinocchio::SE3 > & ref_RF_poses ()
 
std::vector< eVector3 > & ref_com_vel ()
 
void switchToWalk ()
 
void switchToStand ()
 
LocomotionType currentLocomotion ()
 

Constructor & Destructor Documentation

◆ WBC() [1/2]

sobec::WBC::WBC ( )

◆ WBC() [2/2]

sobec::WBC::WBC ( const WBCSettings settings,
const RobotDesigner design,
const HorizonManager horizon,
const Eigen::VectorXd &  q0,
const Eigen::VectorXd &  v0,
const std::string &  actuationCostName 
)

Member Function Documentation

◆ currentLocomotion()

LocomotionType sobec::WBC::currentLocomotion ( )
inline

◆ generateStandingCycle()

void sobec::WBC::generateStandingCycle ( ModelMaker mm)
Todo:
: bind it

◆ generateWalkingCycle()

void sobec::WBC::generateWalkingCycle ( ModelMaker mm)

◆ get_designer()

RobotDesigner& sobec::WBC::get_designer ( )
inline

◆ get_horizon()

HorizonManager& sobec::WBC::get_horizon ( )
inline

◆ get_land_LF()

const std::vector<int>& sobec::WBC::get_land_LF ( )
inline

◆ get_land_RF()

const std::vector<int>& sobec::WBC::get_land_RF ( )
inline

◆ get_settings()

WBCSettings& sobec::WBC::get_settings ( )
inline

◆ get_standingCycle()

HorizonManager& sobec::WBC::get_standingCycle ( )
inline

◆ get_takeoff_LF()

const std::vector<int>& sobec::WBC::get_takeoff_LF ( )
inline

◆ get_takeoff_RF()

const std::vector<int>& sobec::WBC::get_takeoff_RF ( )
inline

◆ get_walkingCycle()

HorizonManager& sobec::WBC::get_walkingCycle ( )
inline

◆ get_x0()

const Eigen::VectorXd& sobec::WBC::get_x0 ( ) const
inline

◆ getPoseRef_LF() [1/2]

const std::vector<pinocchio::SE3>& sobec::WBC::getPoseRef_LF ( )
inline

◆ getPoseRef_LF() [2/2]

const pinocchio::SE3& sobec::WBC::getPoseRef_LF ( unsigned long  time)
inline

◆ getPoseRef_RF() [1/2]

const std::vector<pinocchio::SE3>& sobec::WBC::getPoseRef_RF ( )
inline

◆ getPoseRef_RF() [2/2]

const pinocchio::SE3& sobec::WBC::getPoseRef_RF ( unsigned long  time)
inline

◆ getSwitches()

const supportSwitch & sobec::WBC::getSwitches ( const unsigned long  before,
const unsigned long  after 
)

◆ getVelRef_COM() [1/2]

const std::vector<eVector3>& sobec::WBC::getVelRef_COM ( )
inline

◆ getVelRef_COM() [2/2]

const eVector3& sobec::WBC::getVelRef_COM ( unsigned long  time)
inline

◆ initialize()

void sobec::WBC::initialize ( const WBCSettings settings,
const RobotDesigner design,
const HorizonManager horizon,
const Eigen::VectorXd &  q0,
const Eigen::VectorXd &  v0,
const std::string &  actuationCostName 
)

The posture required here is the full robot posture in the order of pinicchio

Todo:
: Remove this from the initialization and provide it as a method.

◆ initializeSupportTiming()

void sobec::WBC::initializeSupportTiming ( )

◆ iterate() [1/2]

void sobec::WBC::iterate ( const Eigen::VectorXd &  q_current,
const Eigen::VectorXd &  v_current,
bool  is_feasible 
)

◆ iterate() [2/2]

void sobec::WBC::iterate ( int  iteration,
const Eigen::VectorXd &  q_current,
const Eigen::VectorXd &  v_current,
bool  is_feasible 
)

◆ recedeWithCycle() [1/2]

void sobec::WBC::recedeWithCycle ( )

◆ recedeWithCycle() [2/2]

void sobec::WBC::recedeWithCycle ( HorizonManager cycle)

◆ ref_com_vel()

std::vector<eVector3>& sobec::WBC::ref_com_vel ( )
inline

◆ ref_LF_poses()

std::vector<pinocchio::SE3>& sobec::WBC::ref_LF_poses ( )
inline

◆ ref_RF_poses()

std::vector<pinocchio::SE3>& sobec::WBC::ref_RF_poses ( )
inline

◆ set_designer()

void sobec::WBC::set_designer ( const RobotDesigner designer)
inline

◆ set_horizon()

void sobec::WBC::set_horizon ( const HorizonManager horizon)
inline

◆ set_standingCycle()

void sobec::WBC::set_standingCycle ( const HorizonManager standingCycle)
inline

◆ set_walkingCycle()

void sobec::WBC::set_walkingCycle ( const HorizonManager walkingCycle)
inline

◆ set_x0()

void sobec::WBC::set_x0 ( const Eigen::VectorXd &  x0)
inline

◆ setPoseRef_LF() [1/2]

void sobec::WBC::setPoseRef_LF ( const pinocchio::SE3 &  ref_LF_pose,
unsigned long  time 
)
inline

◆ setPoseRef_LF() [2/2]

void sobec::WBC::setPoseRef_LF ( const std::vector< pinocchio::SE3 > &  ref_LF_poses)
inline

◆ setPoseRef_RF() [1/2]

void sobec::WBC::setPoseRef_RF ( const pinocchio::SE3 &  ref_RF_pose,
unsigned long  time 
)
inline

◆ setPoseRef_RF() [2/2]

void sobec::WBC::setPoseRef_RF ( const std::vector< pinocchio::SE3 > &  ref_RF_poses)
inline

◆ setVelRef_COM() [1/2]

void sobec::WBC::setVelRef_COM ( const eVector3 ref_com_vel,
unsigned long  time 
)
inline

◆ setVelRef_COM() [2/2]

void sobec::WBC::setVelRef_COM ( const std::vector< eVector3 > &  ref_com_vel)
inline

◆ shapeState()

const Eigen::VectorXd & sobec::WBC::shapeState ( const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v 
)

◆ switchToStand()

void sobec::WBC::switchToStand ( )
inline

◆ switchToWalk()

void sobec::WBC::switchToWalk ( )
inline

◆ timeToSolveDDP()

bool sobec::WBC::timeToSolveDDP ( int  iteration)

◆ updateStepCycleTiming()

void sobec::WBC::updateStepCycleTiming ( )

◆ updateSupportTiming()

void sobec::WBC::updateSupportTiming ( )

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