40 size_t horizon,
double ts,
const Eigen::MatrixXd& ego,
41 const Eigen::MatrixXi& obstacles_edges_num,
const size_t obstacles_num,
42 const Eigen::MatrixXd& obstacles_A,
const Eigen::MatrixXd& obstacles_b,
43 const Eigen::MatrixXd& xWS,
49 Eigen::MatrixXd* n_warm_up)
const;
53 void assemble_P(std::vector<c_float>* P_data, std::vector<c_int>* P_indices,
54 std::vector<c_int>* P_indptr);
57 std::vector<c_int>* A_indices,
58 std::vector<c_int>* A_indptr);
60 void assembleA(
const int r,
const int c,
const std::vector<c_float>& P_data,
61 const std::vector<c_int>& P_indices,
62 const std::vector<c_int>& P_indptr);
65 const Eigen::MatrixXd& n_warm_up);
69 int num_of_variables_;
70 int num_of_constraints_;
74 int lambda_horizon_ = 0;
77 Eigen::MatrixXd l_warm_up_;
78 Eigen::MatrixXd n_warm_up_;
83 std::vector<double> g_;
85 Eigen::MatrixXi obstacles_edges_num_;
87 int obstacles_edges_sum_;
89 double min_safety_distance_;
92 int l_start_index_ = 0;
95 int n_start_index_ = 0;
98 Eigen::MatrixXd obstacles_A_;
101 Eigen::MatrixXd obstacles_b_;
104 Eigen::MatrixXd xWS_;
107 Eigen::MatrixXf constraint_A_;
114 size_t horizon,
double ts,
const Eigen::MatrixXd& ego,
115 const Eigen::MatrixXi& obstacles_edges_num,
const size_t obstacles_num,
116 const Eigen::MatrixXd& obstacles_A,
const Eigen::MatrixXd& obstacles_b,
117 const Eigen::MatrixXd& xWS,
DualVariableWarmStartOSQPInterface(size_t horizon, double ts, const Eigen::MatrixXd &ego, const Eigen::MatrixXi &obstacles_edges_num, const size_t obstacles_num, const Eigen::MatrixXd &obstacles_A, const Eigen::MatrixXd &obstacles_b, const Eigen::MatrixXd &xWS, const DualVariableWarmStartConfig &DualVariableWarmStartConfig)