A sparse MPC solver for walking motion generation.
|
API of the sparse MPC solver. More...
#include <smpc_solver.h>
Public Member Functions | |
solver_ip (const int N, const double gain_position=2000.0, const double gain_velocity=150.0, const double gain_acceleration=0.01, const double gain_jerk=1.0, const double tol=1e-3, const double tol_out=1e-2, const double t=100, const double mu=15, const double bs_alpha=0.01, const double bs_beta=0.5, const int unsigned max_iter=0, const backtrackingSearchType bs_type=SMPC_IP_BS_LOGBAR, const bool obj_computation_on=false) | |
Constructor: initialize an interior-point method solver. More... | |
~solver_ip () | |
void | set_parameters (const double *, const double *, const double, const double *, const double *, const double *, const double *, const double *) |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | form_init_fp (const double *, const double *, const state_com &, double *) |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | form_init_fp (const double *, const double *, const state_zmp &, double *) |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | solve () |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | get_next_state (state_com &) const |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | get_next_state (state_zmp &) const |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | get_state (state_com &, const int) const |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | get_state (state_zmp &, const int) const |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | get_first_controls (control &) const |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
void | get_controls (control &, const int) const |
These functions are documented in the definition of the base abstract class smpc::solver. More... | |
Public Member Functions inherited from smpc::solver | |
virtual | ~solver ()=0 |
Virtual destructor. More... | |
Public Attributes | |
unsigned int | ext_loop_iterations |
The number of iterations of the external loop. More... | |
unsigned int | int_loop_iterations |
The total number of iterations of the internal loop. More... | |
unsigned int | bt_search_iterations |
The total number of iterations of backtracking search. More... | |
std::vector< double > | objective_log |
Contains values of objective function after each iteration, the initial value is also included. More... | |
qp_ip * | qp_sol |
Internal representation. More... | |
API of the sparse MPC solver.
Definition at line 434 of file smpc_solver.h.
smpc::solver_ip::solver_ip | ( | const int | N, |
const double | gain_position = 2000.0 , |
||
const double | gain_velocity = 150.0 , |
||
const double | gain_acceleration = 0.01 , |
||
const double | gain_jerk = 1.0 , |
||
const double | tol = 1e-3 , |
||
const double | tol_out = 1e-2 , |
||
const double | t = 100 , |
||
const double | mu = 15 , |
||
const double | bs_alpha = 0.01 , |
||
const double | bs_beta = 0.5 , |
||
const int unsigned | max_iter = 0 , |
||
const backtrackingSearchType | bs_type = SMPC_IP_BS_LOGBAR , |
||
const bool | obj_computation_on = false |
||
) |
Constructor: initialize an interior-point method solver.
[in] | N | Number of sampling times in a preview window |
[in] | gain_position | Position gain (Alpha) |
[in] | gain_velocity | Velocity gain (Beta) |
[in] | gain_acceleration | Acceleration gain (Gamma) |
[in] | gain_jerk | Jerk gain (Eta) |
[in] | tol | tolerance (internal loop) |
[in] | tol_out | tolerance of the outer loop, which resolves the problem with new t (kappa) parameter. |
[in] | t | logarithmic barrier parameter |
[in] | mu | multiplier of t, >1. |
[in] | bs_alpha | backtracking search parameter 0 < alpha < 0.5 |
[in] | bs_beta | backtracking search parameter 0 < beta < 1 |
[in] | max_iter | maximum number of internal loop iterations (0 = no limit) |
[in] | bs_type | type of backtracking search, see backtrackingSearchType note that even when it is disabled, the 'bs_beta' parameter is still used. |
[in] | obj_computation_on | enable computation of the objective function (the results are kept in objective_log) |
Definition at line 222 of file smpc_solver.cpp.
smpc::solver_ip::~solver_ip | ( | ) |
Definition at line 247 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 270 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 282 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 389 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 383 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 347 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 312 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 353 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 318 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 256 of file smpc_solver.cpp.
|
virtual |
These functions are documented in the definition of the base abstract class smpc::solver.
Implements smpc::solver.
Definition at line 296 of file smpc_solver.cpp.
unsigned int smpc::solver_ip::bt_search_iterations |
The total number of iterations of backtracking search.
Definition at line 520 of file smpc_solver.h.
unsigned int smpc::solver_ip::ext_loop_iterations |
The number of iterations of the external loop.
Definition at line 506 of file smpc_solver.h.
unsigned int smpc::solver_ip::int_loop_iterations |
The total number of iterations of the internal loop.
Definition at line 513 of file smpc_solver.h.
std::vector<double> smpc::solver_ip::objective_log |
Contains values of objective function after each iteration, the initial value is also included.
Definition at line 530 of file smpc_solver.h.
qp_ip* smpc::solver_ip::qp_sol |
Internal representation.
Definition at line 539 of file smpc_solver.h.