Skip to content

Commit 786bf63

Browse files
authored
Moved opt_params to the TrajOptIfoptSolverProfile class to match the structure of TrajOptSolverProfile/TrajOpOSQPSolverProfile (#608)
1 parent 1956b3d commit 786bf63

File tree

4 files changed

+34
-29
lines changed

4 files changed

+34
-29
lines changed

tesseract_motion_planners/trajopt_ifopt/include/tesseract_motion_planners/trajopt_ifopt/profile/trajopt_ifopt_osqp_solver_profile.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
3131
#include <memory>
3232
#include <OsqpEigen/Settings.hpp>
3333
#include <trajopt_sqp/fwd.h>
34-
#include <trajopt_sqp/types.h>
3534
TESSERACT_COMMON_IGNORE_WARNINGS_POP
3635

3736
#include <tesseract_motion_planners/trajopt_ifopt/profile/trajopt_ifopt_profile.h>
@@ -63,12 +62,11 @@ class TrajOptIfoptOSQPSolverProfile : public TrajOptIfoptSolverProfile
6362
TrajOptIfoptOSQPSolverProfile(const TrajOptIfoptOSQPSolverProfile&) = delete;
6463
TrajOptIfoptOSQPSolverProfile& operator=(const TrajOptIfoptOSQPSolverProfile&) = delete;
6564

65+
~TrajOptIfoptOSQPSolverProfile() override = default;
66+
6667
/** @brief The OSQP convex solver settings to use */
6768
std::unique_ptr<OsqpEigen::Settings> qp_settings;
6869

69-
/** @brief Optimization parameters */
70-
trajopt_sqp::SQPParameters opt_params{};
71-
7270
std::unique_ptr<trajopt_sqp::TrustRegionSQPSolver> create(bool verbose = false) const override;
7371

7472
protected:

tesseract_motion_planners/trajopt_ifopt/include/tesseract_motion_planners/trajopt_ifopt/profile/trajopt_ifopt_profile.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
3333
#include <Eigen/Core>
3434
#include <trajopt_ifopt/fwd.h>
3535
#include <trajopt_sqp/fwd.h>
36+
#include <trajopt_sqp/types.h>
3637
TESSERACT_COMMON_IGNORE_WARNINGS_POP
3738

3839
#include <tesseract_common/fwd.h>
@@ -122,6 +123,9 @@ class TrajOptIfoptSolverProfile : public Profile
122123

123124
TrajOptIfoptSolverProfile();
124125

126+
/** @brief Optimization parameters */
127+
trajopt_sqp::SQPParameters opt_params{};
128+
125129
virtual std::unique_ptr<trajopt_sqp::TrustRegionSQPSolver> create(bool verbose = false) const = 0;
126130

127131
/**

tesseract_motion_planners/trajopt_ifopt/src/profile/trajopt_ifopt_osqp_solver_profile.cpp

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -67,29 +67,6 @@ void serialize(Archive& ar, OsqpEigen::Settings& osqp_eigen_settings, const unsi
6767
ar& boost::serialization::make_nvp("warm_start", settings.warm_start);
6868
ar& boost::serialization::make_nvp("time_limit", settings.time_limit);
6969
}
70-
71-
template <class Archive>
72-
void serialize(Archive& ar, trajopt_sqp::SQPParameters& params, const unsigned int /*version*/)
73-
{
74-
ar& boost::serialization::make_nvp("improve_ratio_threshold", params.improve_ratio_threshold);
75-
ar& boost::serialization::make_nvp("min_trust_box_size", params.min_trust_box_size);
76-
ar& boost::serialization::make_nvp("min_approx_improve", params.min_approx_improve);
77-
ar& boost::serialization::make_nvp("min_approx_improve_frac", params.min_approx_improve_frac);
78-
ar& boost::serialization::make_nvp("max_iter", params.max_iterations);
79-
ar& boost::serialization::make_nvp("trust_shrink_ratio", params.trust_shrink_ratio);
80-
ar& boost::serialization::make_nvp("trust_expand_ratio", params.trust_expand_ratio);
81-
ar& boost::serialization::make_nvp("cnt_tolerance", params.cnt_tolerance);
82-
ar& boost::serialization::make_nvp("max_merit_coeff_increases", params.max_merit_coeff_increases);
83-
ar& boost::serialization::make_nvp("max_qp_solver_failures", params.max_qp_solver_failures);
84-
ar& boost::serialization::make_nvp("merit_coeff_increase_ratio", params.merit_coeff_increase_ratio);
85-
ar& boost::serialization::make_nvp("max_time", params.max_time);
86-
ar& boost::serialization::make_nvp("initial_merit_error_coeff", params.initial_merit_error_coeff);
87-
ar& boost::serialization::make_nvp("inflate_constraints_individually", params.inflate_constraints_individually);
88-
ar& boost::serialization::make_nvp("trust_box_size", params.initial_trust_box_size);
89-
ar& boost::serialization::make_nvp("log_results", params.log_results);
90-
ar& boost::serialization::make_nvp("log_dir", params.log_dir);
91-
// ar& boost::serialization::make_nvp("num_threads", params.num_threads);
92-
}
9370
} // namespace boost::serialization
9471

9572
namespace tesseract_planning
@@ -139,13 +116,11 @@ void TrajOptIfoptOSQPSolverProfile::serialize(Archive& ar, const unsigned int /*
139116
{
140117
ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(TrajOptIfoptSolverProfile);
141118
ar& BOOST_SERIALIZATION_NVP(qp_settings);
142-
ar& BOOST_SERIALIZATION_NVP(opt_params);
143119
}
144120

145121
} // namespace tesseract_planning
146122

147123
#include <tesseract_common/serialization.h>
148124
TESSERACT_SERIALIZE_FREE_ARCHIVES_INSTANTIATE(OsqpEigen::Settings)
149-
TESSERACT_SERIALIZE_FREE_ARCHIVES_INSTANTIATE(trajopt_sqp::SQPParameters)
150125
TESSERACT_SERIALIZE_ARCHIVES_INSTANTIATE(tesseract_planning::TrajOptIfoptOSQPSolverProfile)
151126
BOOST_CLASS_EXPORT_IMPLEMENT(tesseract_planning::TrajOptIfoptOSQPSolverProfile)

tesseract_motion_planners/trajopt_ifopt/src/profile/trajopt_ifopt_profile.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,32 @@
2828
#include <boost/serialization/nvp.hpp>
2929
#include <typeindex>
3030

31+
namespace boost::serialization
32+
{
33+
template <class Archive>
34+
void serialize(Archive& ar, trajopt_sqp::SQPParameters& params, const unsigned int /*version*/)
35+
{
36+
ar& boost::serialization::make_nvp("improve_ratio_threshold", params.improve_ratio_threshold);
37+
ar& boost::serialization::make_nvp("min_trust_box_size", params.min_trust_box_size);
38+
ar& boost::serialization::make_nvp("min_approx_improve", params.min_approx_improve);
39+
ar& boost::serialization::make_nvp("min_approx_improve_frac", params.min_approx_improve_frac);
40+
ar& boost::serialization::make_nvp("max_iter", params.max_iterations);
41+
ar& boost::serialization::make_nvp("trust_shrink_ratio", params.trust_shrink_ratio);
42+
ar& boost::serialization::make_nvp("trust_expand_ratio", params.trust_expand_ratio);
43+
ar& boost::serialization::make_nvp("cnt_tolerance", params.cnt_tolerance);
44+
ar& boost::serialization::make_nvp("max_merit_coeff_increases", params.max_merit_coeff_increases);
45+
ar& boost::serialization::make_nvp("max_qp_solver_failures", params.max_qp_solver_failures);
46+
ar& boost::serialization::make_nvp("merit_coeff_increase_ratio", params.merit_coeff_increase_ratio);
47+
ar& boost::serialization::make_nvp("max_time", params.max_time);
48+
ar& boost::serialization::make_nvp("initial_merit_error_coeff", params.initial_merit_error_coeff);
49+
ar& boost::serialization::make_nvp("inflate_constraints_individually", params.inflate_constraints_individually);
50+
ar& boost::serialization::make_nvp("trust_box_size", params.initial_trust_box_size);
51+
ar& boost::serialization::make_nvp("log_results", params.log_results);
52+
ar& boost::serialization::make_nvp("log_dir", params.log_dir);
53+
// ar& boost::serialization::make_nvp("num_threads", params.num_threads);
54+
}
55+
} // namespace boost::serialization
56+
3157
namespace tesseract_planning
3258
{
3359
TrajOptIfoptPlanProfile::TrajOptIfoptPlanProfile() : Profile(TrajOptIfoptPlanProfile::getStaticKey()) {}
@@ -67,6 +93,7 @@ template <class Archive>
6793
void TrajOptIfoptSolverProfile::serialize(Archive& ar, const unsigned int /*version*/)
6894
{
6995
ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(Profile);
96+
ar& BOOST_SERIALIZATION_NVP(opt_params);
7097
}
7198

7299
} // namespace tesseract_planning
@@ -76,5 +103,6 @@ TESSERACT_SERIALIZE_ARCHIVES_INSTANTIATE(tesseract_planning::TrajOptIfoptPlanPro
76103
BOOST_CLASS_EXPORT_IMPLEMENT(tesseract_planning::TrajOptIfoptPlanProfile)
77104
TESSERACT_SERIALIZE_ARCHIVES_INSTANTIATE(tesseract_planning::TrajOptIfoptCompositeProfile)
78105
BOOST_CLASS_EXPORT_IMPLEMENT(tesseract_planning::TrajOptIfoptCompositeProfile)
106+
TESSERACT_SERIALIZE_FREE_ARCHIVES_INSTANTIATE(trajopt_sqp::SQPParameters)
79107
TESSERACT_SERIALIZE_ARCHIVES_INSTANTIATE(tesseract_planning::TrajOptIfoptSolverProfile)
80108
BOOST_CLASS_EXPORT_IMPLEMENT(tesseract_planning::TrajOptIfoptSolverProfile)

0 commit comments

Comments
 (0)