项目作者: vkotaru

项目描述 :
Nonlinear controls, linear controls, Lyapunov-based controls, MPC, geometric, etc.
高级语言: C++
项目地址: git://github.com/vkotaru/nonlinear_controls.git
创建时间: 2020-07-18T00:47:18Z
项目社区:https://github.com/vkotaru/nonlinear_controls

开源协议:BSD 3-Clause "New" or "Revised" License

下载


nonlinear_controls

Nonlinear controls, linear controls, lyapunov based controls, barrier functions, MPC, geometric etc.

MPC Usage

Makes use of Eigen and qpOASES (currently, the applications are very specific)

LTI Dynamics: LinearMPC

  1. namespace nlc = nonlinear_controls;
  2. // solvers
  3. nlc::MPCQPOases
  4. nlc::MPCEpigraph
  5. nlc::MPCQPOases mpc_(N, nx, nu);
  6. mpc_.init_dynamics(A, B);
  7. mpc_.set_gains(Q, P, R);
  8. mpc_.set_input_bounds(input_lb, input_ub);
  9. mpc_.set_state_bounds(state_lb, state_ub);
  10. mpc_.construct(); // constructs the necessary cost and constraint matrices
  11. for(;;) {
  12. zOpt = mpc_.run(err_state);
  13. uOpt = zOpt.block(0, 0, nu, 1);
  14. }