1 #ifndef miqp_waypoint_h
2 #define miqp_waypoint_h
6 #include "drake/solvers/mathematical_program.h"
8 #include "drake/solvers/osqp_solver.h"
10 #include "drake/solvers/branch_and_bound.h"
12 #include "drake/common/symbolic.h"
21 using drake::solvers::MatrixXDecisionVariable;
93 void geometry_limits(drake::solvers::MathematicalProgram &prog,
int n_points,
double length_legs,
double bbox_len,
DecVars &decision_variables);
95 void theta_limits(drake::solvers::MathematicalProgram &prog,
int n_points,
DecVars &decision_variables);
DecVars add_decision_variables(drake::solvers::MathematicalProgram &prog, Terrain &terrain, int n_points)
void set_initial_and_goal_position(drake::solvers::MathematicalProgram &prog, Eigen::Vector2d &initial_center, Eigen::Vector2d &goal_center, DecVars &decision_variables)
void one_stone_per_foot(drake::solvers::MathematicalProgram &prog, int n_points, DecVars &decision_variables)
void foot_in_stepping_stone(drake::solvers::MathematicalProgram &prog, Terrain &terrain, int n_points, DecVars &decision_variables)
void minimize_step_length(drake::solvers::MathematicalProgram &prog, int n_points, DecVars &decision_variables)
Eigen::Vector4d get_big_M(Terrain terrain)
void geometry_limits(drake::solvers::MathematicalProgram &prog, int n_points, double length_legs, double bbox_len, DecVars &decision_variables)
void relative_position_limits(drake::solvers::MathematicalProgram &prog, int n_points, double wp_dist, DecVars &decision_variables)
void writeDecVarsToFile(DecVars_res &decision_variables, std::string base_name)
void theta_limits(drake::solvers::MathematicalProgram &prog, int n_points, DecVars &decision_variables)
void minimize_theta_change(drake::solvers::MathematicalProgram &prog, int n_points, DecVars &decision_variables)
void writeMatToFile(Eigen::MatrixXd &mat, std::string filename)
Eigen::MatrixXd position_front_right
Eigen::MatrixXd stone_front_left
Eigen::MatrixXd position_center
Eigen::MatrixXd position_front_left
Eigen::MatrixXd position_rear_left
Eigen::MatrixXd stone_rear_right
Eigen::MatrixXd stone_rear_left
Eigen::MatrixXd position_rear_right
Eigen::MatrixXd stone_front_right
MatrixXDecisionVariable stone_front_left
MatrixXDecisionVariable bin_cos
MatrixXDecisionVariable theta
MatrixXDecisionVariable stone_front_right
MatrixXDecisionVariable position_front_left
MatrixXDecisionVariable position_front_right
MatrixXDecisionVariable position_rear_right
MatrixXDecisionVariable lin_cos
MatrixXDecisionVariable stone_rear_right
MatrixXDecisionVariable position_center
MatrixXDecisionVariable bin_sin
MatrixXDecisionVariable lin_sin
MatrixXDecisionVariable stone_rear_left
MatrixXDecisionVariable position_rear_left