Go to the documentation of this file.
4 #include <pinocchio/fwd.hpp>
8 #include <ndcurves/bezier_curve.h>
9 #include <ndcurves/fwd.h>
10 #include <ndcurves/piecewise_curve.h>
11 #include <ndcurves/polynomial.h>
12 #include <ndcurves/se3_curve.h>
99 const Eigen::VectorXd &v0,
const std::string &actuationCostName);
103 const Eigen::VectorXd &v0,
104 const std::string &actuationCostName);
111 const unsigned long after);
113 const Eigen::VectorXd &
shapeState(
const Eigen::VectorXd &q,
114 const Eigen::VectorXd &v);
128 void iterate(
const Eigen::VectorXd &q_current,
129 const Eigen::VectorXd &v_current,
bool is_feasible);
131 void iterate(
int iteration,
const Eigen::VectorXd &q_current,
132 const Eigen::VectorXd &v_current,
bool is_feasible);
134 const Eigen::VectorXd &v_current,
bool is_feasible);
137 const Eigen::VectorXd &v_current,
bool is_feasible);
void updateStepTrackerReferences()
Definition: wbc.cpp:198
std::vector< pinocchio::SE3 > & ref_RF_poses()
Definition: wbc.hpp:211
std::vector< int > takeoff_LF_
Definition: wbc.hpp:70
int Tstep
Definition: wbc.hpp:34
int nWalkingCycles_
Definition: wbc.hpp:65
const int & get_takeoff_RF_cycle()
Definition: wbc.hpp:173
RobotDesigner designer_
Definition: wbc.hpp:52
void setBaseRotRef(Eigen::Matrix3d ref_base_rotation)
Definition: wbc.hpp:202
void goToNextDoubleSupport()
Definition: wbc.cpp:317
void updateNonThinkingReferences()
Definition: wbc.cpp:242
@ WALKING
Definition: wbc.hpp:23
@ STANDING
Definition: wbc.hpp:23
Eigen::VectorXd x_internal_
Definition: wbc.hpp:88
void iterate(const Eigen::VectorXd &q_current, const Eigen::VectorXd &v_current, bool is_feasible)
Definition: wbc.cpp:147
void setPoseRef_RF(const pinocchio::SE3 &ref_RF_pose, unsigned long time)
Definition: wbc.hpp:194
eVector3 ref_dcm_
Definition: wbc.hpp:59
@ TAKEOFF_LF
Definition: wbc.hpp:24
void generateStandingCycle(ModelMaker &mm)
Definition: wbc.cpp:120
const Eigen::VectorXd & get_x0() const
Definition: wbc.hpp:146
const std::vector< int > & get_takeoff_RF()
Definition: wbc.hpp:168
const eVector3 & getVelRef_COM()
Definition: wbc.hpp:206
HorizonManager & get_standingCycle()
Definition: wbc.hpp:154
std::vector< pinocchio::SE3 > ref_RF_poses_
Definition: wbc.hpp:80
void generateWalkingCycle(ModelMaker &mm)
Definition: wbc.cpp:66
int takeoff_LF_cycle_
Definition: wbc.hpp:72
bool first_switch_to_stand_
Definition: wbc.hpp:90
HorizonManager & get_horizon()
Definition: wbc.hpp:159
int takeoff_RF_cycle_
Definition: wbc.hpp:72
void initialize(const WBCSettings &settings, const RobotDesigner &design, const HorizonManager &horizon, const Eigen::VectorXd &q0, const Eigen::VectorXd &v0, const std::string &actuationCostName)
Definition: wbc.cpp:13
@ LAND_RF
Definition: wbc.hpp:24
eVector3 ref_com_vel_
Definition: wbc.hpp:57
void setCoMRef(eVector3 ref_com)
Definition: wbc.hpp:199
double simu_step
Definition: wbc.hpp:38
int T
Definition: wbc.hpp:31
Definition: designer.hpp:28
HorizonManager walkingCycle_
Definition: wbc.hpp:54
int land_RF_cycle_
Definition: wbc.hpp:72
double yaw_right_
Definition: wbc.hpp:67
LocomotionType now_
Definition: wbc.hpp:64
void iterateNoThinking(const Eigen::VectorXd &q_current, const Eigen::VectorXd &v_current, bool is_feasible)
Definition: wbc.cpp:172
eVector3 & ref_com()
Definition: wbc.hpp:212
int totalSteps
Definition: wbc.hpp:30
const std::vector< pinocchio::SE3 > & getPoseRef_LF()
Definition: wbc.hpp:176
void setVelRef_COM(eVector3 ref_com_vel)
Definition: wbc.hpp:207
void setPoseRef_RF(const std::vector< pinocchio::SE3 > &ref_RF_poses)
Definition: wbc.hpp:191
WBCSettings & get_settings()
Definition: wbc.hpp:144
std::vector< pinocchio::SE3 > ref_LF_poses_
Definition: wbc.hpp:80
Definition: horizon_manager.hpp:19
std::vector< int > takeoff_RF_
Definition: wbc.hpp:70
const int & get_land_RF_cycle()
Definition: wbc.hpp:171
void updateStepCycleTiming()
void set_horizon(const HorizonManager &horizon)
Definition: wbc.hpp:160
HorizonManager & get_walkingCycle()
Definition: wbc.hpp:149
LocomotionType currentLocomotion()
Definition: wbc.hpp:218
void rewindWalkingCycle()
Definition: wbc.cpp:304
WBC()
Definition: wbc.cpp:5
Definition: activation-quad-ref.hpp:19
void set_x0(const Eigen::VectorXd &x0)
Definition: wbc.hpp:147
void setPoseRef_LF(const std::vector< pinocchio::SE3 > &ref_LF_poses)
Definition: wbc.hpp:180
void set_standingCycle(const HorizonManager &standingCycle)
Definition: wbc.hpp:155
supportSwitch switch_
Definition: wbc.hpp:92
const pinocchio::SE3 & getPoseRef_LF(unsigned long time)
Definition: wbc.hpp:177
const std::vector< int > & get_land_RF()
Definition: wbc.hpp:166
const std::vector< int > & get_land_LF()
Definition: wbc.hpp:165
HorizonManager standingCycle_
Definition: wbc.hpp:55
HorizonManager horizon_
Definition: wbc.hpp:53
@ NO_SWITCH
Definition: wbc.hpp:24
void generateStandingCycleNoThinking(ModelMaker &mm)
Definition: wbc.cpp:131
const pinocchio::SE3 & getPoseRef_RF(unsigned long time)
Definition: wbc.hpp:188
const Eigen::VectorXd & shapeState(const Eigen::VectorXd &q, const Eigen::VectorXd &v)
Definition: wbc.cpp:325
eVector3 & ref_com_vel()
Definition: wbc.hpp:214
std::vector< pinocchio::SE3 > & ref_LF_poses()
Definition: wbc.hpp:210
const std::vector< int > & get_takeoff_LF()
Definition: wbc.hpp:167
Eigen::VectorXd x0_
Definition: wbc.hpp:62
bool time_to_solve_ddp_
Definition: wbc.hpp:89
double Dt
Definition: wbc.hpp:37
void switchToWalk()
Definition: wbc.hpp:216
bool timeToSolveDDP(int iteration)
Definition: wbc.cpp:142
void set_walkingCycle(const HorizonManager &walkingCycle)
Definition: wbc.hpp:150
Eigen::Matrix3d & ref_base_rot()
Definition: wbc.hpp:213
double yaw_left_
Definition: wbc.hpp:66
int ddpIteration
Definition: wbc.hpp:35
const eVector3 & getCoMRef()
Definition: wbc.hpp:198
void recedeWithCycle()
Definition: wbc.cpp:281
void setPoseRef_LF(const pinocchio::SE3 &ref_LF_pose, unsigned long time)
Definition: wbc.hpp:183
int TsingleSupport
Definition: wbc.hpp:33
std::set< std::string > contacts_after_
Definition: wbc.hpp:91
LocomotionType
Definition: wbc.hpp:23
@ TAKEOFF_RF
Definition: wbc.hpp:24
void updateSupportTiming()
Definition: wbc.cpp:363
const Eigen::Matrix3d & getBaseRotRef()
Definition: wbc.hpp:201
std::vector< unsigned long > controlled_joints_id_
Definition: wbc.hpp:87
WBCSettings settings_
Definition: wbc.hpp:51
void set_designer(const RobotDesigner &designer)
Definition: wbc.hpp:163
int TdoubleSupport
Definition: wbc.hpp:32
int Nc
Definition: wbc.hpp:40
Eigen::Matrix3d ref_base_rotation_
Definition: wbc.hpp:60
std::vector< int > land_LF_
Definition: wbc.hpp:70
Definition: model_factory.hpp:79
const supportSwitch & getSwitches(const unsigned long before, const unsigned long after)
Definition: wbc.cpp:400
void initializeSupportTiming()
Definition: wbc.cpp:349
std::vector< int > land_RF_
Definition: wbc.hpp:70
void switchToStand()
Definition: wbc.hpp:217
const int & get_takeoff_LF_cycle()
Definition: wbc.hpp:172
const int & get_land_LF_cycle()
Definition: wbc.hpp:170
const std::vector< pinocchio::SE3 > & getPoseRef_RF()
Definition: wbc.hpp:187
eVector3 ref_com_
Definition: wbc.hpp:58
bool initialized_
Definition: wbc.hpp:83
void updateStepTrackerLastReference()
Definition: wbc.cpp:227
RobotDesigner & get_designer()
Definition: wbc.hpp:162
supportSwitch
Definition: wbc.hpp:24
@ LAND_LF
Definition: wbc.hpp:24
Eigen::Vector3d eVector3
Definition: fwd.hpp:143
std::set< std::string > contacts_before_
Definition: wbc.hpp:91
int horizon_end_
Definition: wbc.hpp:93
int land_LF_cycle_
Definition: wbc.hpp:72
void generateWalkingCycleNoThinking(ModelMaker &mm)
Definition: wbc.cpp:93