12 #include <yaml-cpp/yaml.h> 19 template<
int All_A_Rows,
int Max_Num_Vars,
int Max_B_Rows>
23 static const int num_max_ranks_=7;
34 void reset(
int num_vars);
35 template<
typename EqMatDer,
typename EqVecDer,
typename IneqMatDer,
typename IneqVecDer>
36 bool solveNextTask(
const Eigen::MatrixBase<EqMatDer>& eq_mat,
const Eigen::MatrixBase<EqVecDer>& eq_vec,
37 const Eigen::MatrixBase<IneqMatDer>& ineq_mat,
const Eigen::MatrixBase<IneqVecDer>& ineq_vec);
40 bool& applyIneqSlacks() {
return apply_ineq_slacks_; }
41 const double& qpWaitDuration()
const {
return wait_duration_; }
42 const bool& applyIneqSlacks()
const {
return apply_ineq_slacks_; }
43 const double& qpSolveDuration()
const {
return qpsolve_duration_; }
45 int nullspaceDimension()
const {
return K_.cols(); }
51 int numVars()
const {
return xopt_.size(); }
55 void doSVDComputations();
56 void stopSVD2ProblemConverter();
64 bool apply_ineq_slacks_, is_svd_computed_, stop_svd2problem_converter_;
67 double wait_duration_, qpsolve_duration_, eq_condition_threash_,
68 inequality_relaxation_, diag_addition_for_psd_hessian_;
72 QpSolverInterface& qp_solver_interface_;
84 Eigen::JacobiSVD<typename RtMatrix<Max_B_Rows, Max_Num_Vars>::d> svd_B_Nprev_;
88 RtCond svd2problem_converter_, problem2svd_converter_;
89 boost::shared_ptr<boost::thread> svd2problem_converter_thread_;
Definition: RtQPSolverInterface.hpp:19
Definition: RtMatrix.hpp:18
Definition: RtMutex.hpp:16
Definition: RtMutex.hpp:36
Definition: RtHQPSolver.hpp:20
Definition: RtMatrix.hpp:44