Skip to content

Commit

Permalink
Fix mismatched delete/free in OSQPModel
Browse files Browse the repository at this point in the history
  • Loading branch information
Jack-ReframeSystems committed Apr 12, 2024
1 parent 35bfb93 commit cf32e19
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
22 changes: 11 additions & 11 deletions trajopt_sco/include/trajopt_sco/osqp_interface.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,17 @@ class OSQPModel : public Model
ConstraintTypeVector cnt_types_; /**< constraints types */
DblVec solution_; /**< optimizizer's solution for current model */

std::unique_ptr<csc> P_; /**< Takes ownership of OSQPData.P to avoid having to deallocate manually */
std::unique_ptr<csc> A_; /**< Takes ownership of OSQPData.A to avoid having to deallocate manually */
std::vector<c_int> P_row_indices_; /**< row indices for P, CSC format */
std::vector<c_int> P_column_pointers_; /**< column pointers for P, CSC format */
DblVec P_csc_data_; /**< P values in CSC format */
Eigen::VectorXd q_; /**< linear part of the objective */

std::vector<c_int> A_row_indices_; /**< row indices for constraint matrix, CSC format */
std::vector<c_int> A_column_pointers_; /**< column pointers for constraint matrix, CSC format */
DblVec A_csc_data_; /**< constraint matrix values in CSC format */
DblVec l_, u_; /**< linear constraints upper and lower limits */
std::unique_ptr<csc, decltype(&free)> P_; /**< Takes ownership of OSQPData.P to avoid having to deallocate manually */
std::unique_ptr<csc, decltype(&free)> A_; /**< Takes ownership of OSQPData.A to avoid having to deallocate manually */
std::vector<c_int> P_row_indices_; /**< row indices for P, CSC format */
std::vector<c_int> P_column_pointers_; /**< column pointers for P, CSC format */
DblVec P_csc_data_; /**< P values in CSC format */
Eigen::VectorXd q_; /**< linear part of the objective */

std::vector<c_int> A_row_indices_; /**< row indices for constraint matrix, CSC format */
std::vector<c_int> A_column_pointers_; /**< column pointers for constraint matrix, CSC format */
DblVec A_csc_data_; /**< constraint matrix values in CSC format */
DblVec l_, u_; /**< linear constraints upper and lower limits */

QuadExpr objective_; /**< objective QuadExpr expression */

Expand Down
2 changes: 1 addition & 1 deletion trajopt_sco/src/osqp_interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Model::Ptr createOSQPModel(const ModelConfig::ConstPtr& config = nullptr)
return std::make_shared<OSQPModel>(config);
}

OSQPModel::OSQPModel(const ModelConfig::ConstPtr& config) : P_(nullptr), A_(nullptr)
OSQPModel::OSQPModel(const ModelConfig::ConstPtr& config) : P_(nullptr, free), A_(nullptr, free)
{
// tuning parameters to be less accurate, but add a polishing step
if (config != nullptr)
Expand Down

0 comments on commit cf32e19

Please sign in to comment.