42 const Eigen::MatrixXd& ego,
43 const Eigen::MatrixXi& obstacles_edges_num,
44 const size_t obstacles_num,
45 const Eigen::MatrixXd& obstacles_A,
46 const Eigen::MatrixXd& obstacles_b,
47 const Eigen::MatrixXd& xWS,
57 void assembleP(std::vector<c_float>* P_data, std::vector<c_int>* P_indices, std::vector<c_int>* P_indptr);
59 void assembleConstraint(std::vector<c_float>* A_data, std::vector<c_int>* A_indices, std::vector<c_int>* A_indptr);
64 const std::vector<c_float>& P_data,
65 const std::vector<c_int>& P_indices,
66 const std::vector<c_int>& P_indptr);
68 void checkSolution(
const Eigen::MatrixXd& l_warm_up,
const Eigen::MatrixXd& n_warm_up);
73 const std::vector<c_float>& P_data,
74 const std::vector<c_int>& P_indices,
75 const std::vector<c_int>& P_indptr);
80 int num_of_variables_;
81 int num_of_constraints_;
85 int lambda_horizon_ = 0;
87 int slack_horizon_ = 0;
90 Eigen::MatrixXd l_warm_up_;
91 Eigen::MatrixXd n_warm_up_;
92 Eigen::MatrixXd slacks_;
97 std::vector<double> g_;
99 Eigen::MatrixXi obstacles_edges_num_;
101 int obstacles_edges_sum_;
103 double min_safety_distance_;
106 int l_start_index_ = 0;
109 int n_start_index_ = 0;
112 int s_start_index_ = 0;
115 Eigen::MatrixXd obstacles_A_;
118 Eigen::MatrixXd obstacles_b_;
121 Eigen::MatrixXd xWS_;
124 Eigen::MatrixXf constraint_A_;
133 const Eigen::MatrixXd& ego,
134 const Eigen::MatrixXi& obstacles_edges_num,
135 const size_t obstacles_num,
136 const Eigen::MatrixXd& obstacles_A,
137 const Eigen::MatrixXd& obstacles_b,
138 const Eigen::MatrixXd& xWS,