From d0ed04e37adcc5918b09b77e904a5251ca586605 Mon Sep 17 00:00:00 2001 From: Esteve Fernandez <33620+esteve@users.noreply.github.com> Date: Wed, 6 Nov 2024 12:44:58 +0100 Subject: [PATCH] refactor(qp_interface): prefix package and namespace with autoware (#9236) Signed-off-by: Esteve Fernandez --- .github/CODEOWNERS | 2 +- .../design/comparisons.md | 2 +- .../CMakeLists.txt | 14 +++++------ .../design/qp_interface-design.md | 2 +- .../qp_interface/osqp_csc_matrix_conv.hpp | 10 ++++---- .../autoware}/qp_interface/osqp_interface.hpp | 14 +++++------ .../qp_interface/proxqp_interface.hpp | 12 +++++----- .../autoware}/qp_interface/qp_interface.hpp | 10 ++++---- .../package.xml | 2 +- .../src/osqp_csc_matrix_conv.cpp | 6 ++--- .../src/osqp_interface.cpp | 8 +++---- .../src/proxqp_interface.cpp | 6 ++--- .../src/qp_interface.cpp | 6 ++--- .../test/test_csc_matrix_conv.cpp | 18 +++++++------- .../test/test_osqp_interface.cpp | 24 +++++++++---------- .../test/test_proxqp_interface.cpp | 6 ++--- .../smoother/jerk_filtered_smoother.hpp | 4 ++-- .../autoware_velocity_smoother/package.xml | 2 +- .../src/smoother/jerk_filtered_smoother.cpp | 4 ++-- 19 files changed, 76 insertions(+), 76 deletions(-) rename common/{qp_interface => autoware_qp_interface}/CMakeLists.txt (82%) rename common/{qp_interface => autoware_qp_interface}/design/qp_interface-design.md (94%) rename common/{qp_interface/include => autoware_qp_interface/include/autoware}/qp_interface/osqp_csc_matrix_conv.hpp (84%) rename common/{qp_interface/include => autoware_qp_interface/include/autoware}/qp_interface/osqp_interface.hpp (94%) rename common/{qp_interface/include => autoware_qp_interface/include/autoware}/qp_interface/proxqp_interface.hpp (85%) rename common/{qp_interface/include => autoware_qp_interface/include/autoware}/qp_interface/qp_interface.hpp (89%) rename common/{qp_interface => autoware_qp_interface}/package.xml (96%) rename common/{qp_interface => autoware_qp_interface}/src/osqp_csc_matrix_conv.cpp (96%) rename common/{qp_interface => autoware_qp_interface}/src/osqp_interface.cpp (98%) rename common/{qp_interface => autoware_qp_interface}/src/proxqp_interface.cpp (97%) rename common/{qp_interface => autoware_qp_interface}/src/qp_interface.cpp (94%) rename common/{qp_interface => autoware_qp_interface}/test/test_csc_matrix_conv.cpp (93%) rename common/{qp_interface => autoware_qp_interface}/test/test_osqp_interface.cpp (87%) rename common/{qp_interface => autoware_qp_interface}/test/test_proxqp_interface.cpp (92%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a1594a27f357f..2fced720886b2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -17,6 +17,7 @@ common/autoware_path_distance_calculator/** isamu.takagi@tier4.jp common/autoware_perception_rviz_plugin/** opensource@apex.ai shunsuke.miura@tier4.jp taiki.tanaka@tier4.jp takeshi.miura@tier4.jp yoshi.ri@tier4.jp common/autoware_point_types/** david.wong@tier4.jp max.schmeller@tier4.jp common/autoware_polar_grid/** yukihiro.saito@tier4.jp +common/autoware_qp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp common/autoware_signal_processing/** ali.boyali@tier4.jp fumiya.watanabe@tier4.jp kyoichi.sugahara@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp common/autoware_test_utils/** kyoichi.sugahara@tier4.jp mamoru.sobue@tier4.jp takamasa.horibe@tier4.jp zulfaqar.azmi@tier4.jp common/autoware_testing/** adam.dabrowski@robotec.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp @@ -28,7 +29,6 @@ common/component_interface_utils/** isamu.takagi@tier4.jp yukihiro.saito@tier4.j common/fake_test_node/** opensource@apex.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp common/global_parameter_loader/** ryohsuke.mitsudome@tier4.jp common/glog_component/** takamasa.horibe@tier4.jp -common/qp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp common/tier4_adapi_rviz_plugin/** hiroki.ota@tier4.jp isamu.takagi@tier4.jp kosuke.takeuchi@tier4.jp common/tier4_api_utils/** isamu.takagi@tier4.jp common/tier4_camera_view_rviz_plugin/** makoto.ybauta@tier4.jp uken.ryu@tier4.jp diff --git a/common/autoware_auto_common/design/comparisons.md b/common/autoware_auto_common/design/comparisons.md index 3d00f77c1b0c3..d0f84c7475308 100644 --- a/common/autoware_auto_common/design/comparisons.md +++ b/common/autoware_auto_common/design/comparisons.md @@ -28,7 +28,7 @@ The `exclusive_or` function will test whether two values cast to different boole #include // using-directive is just for illustration; don't do this in practice -using namespace autoware::common::helper_functions::comparisons; +using namespace autoware::qp_interface::helper_functions::comparisons; static constexpr auto epsilon = 0.2; static constexpr auto relative_epsilon = 0.01; diff --git a/common/qp_interface/CMakeLists.txt b/common/autoware_qp_interface/CMakeLists.txt similarity index 82% rename from common/qp_interface/CMakeLists.txt rename to common/autoware_qp_interface/CMakeLists.txt index 00b2847309e9e..d2f2d6347cb3d 100644 --- a/common/qp_interface/CMakeLists.txt +++ b/common/autoware_qp_interface/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.14) -project(qp_interface) +project(autoware_qp_interface) find_package(autoware_cmake REQUIRED) autoware_package() @@ -20,10 +20,10 @@ set(QP_INTERFACE_LIB_SRC ) set(QP_INTERFACE_LIB_HEADERS - include/qp_interface/qp_interface.hpp - include/qp_interface/osqp_interface.hpp - include/qp_interface/osqp_csc_matrix_conv.hpp - include/qp_interface/proxqp_interface.hpp + include/autoware/qp_interface/qp_interface.hpp + include/autoware/qp_interface/osqp_interface.hpp + include/autoware/qp_interface/osqp_csc_matrix_conv.hpp + include/autoware/qp_interface/proxqp_interface.hpp ) ament_auto_add_library(${PROJECT_NAME} SHARED @@ -32,13 +32,13 @@ ament_auto_add_library(${PROJECT_NAME} SHARED ) target_compile_options(${PROJECT_NAME} PRIVATE -Wno-error=old-style-cast -Wno-error=useless-cast) -target_include_directories(qp_interface +target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC "${OSQP_INCLUDE_DIR}" "${EIGEN3_INCLUDE_DIR}" ) -ament_target_dependencies(qp_interface +ament_target_dependencies(${PROJECT_NAME} Eigen3 osqp_vendor proxsuite diff --git a/common/qp_interface/design/qp_interface-design.md b/common/autoware_qp_interface/design/qp_interface-design.md similarity index 94% rename from common/qp_interface/design/qp_interface-design.md rename to common/autoware_qp_interface/design/qp_interface-design.md index 3843e5a742d1e..edc7fa9845206 100644 --- a/common/qp_interface/design/qp_interface-design.md +++ b/common/autoware_qp_interface/design/qp_interface-design.md @@ -1,6 +1,6 @@ # Interface for QP solvers -This is the design document for the `qp_interface` package. +This is the design document for the `autoware_qp_interface` package. ## Purpose / Use cases diff --git a/common/qp_interface/include/qp_interface/osqp_csc_matrix_conv.hpp b/common/autoware_qp_interface/include/autoware/qp_interface/osqp_csc_matrix_conv.hpp similarity index 84% rename from common/qp_interface/include/qp_interface/osqp_csc_matrix_conv.hpp rename to common/autoware_qp_interface/include/autoware/qp_interface/osqp_csc_matrix_conv.hpp index 8ec7280cfc100..9575d9d18c69f 100644 --- a/common/qp_interface/include/qp_interface/osqp_csc_matrix_conv.hpp +++ b/common/autoware_qp_interface/include/autoware/qp_interface/osqp_csc_matrix_conv.hpp @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef QP_INTERFACE__OSQP_CSC_MATRIX_CONV_HPP_ -#define QP_INTERFACE__OSQP_CSC_MATRIX_CONV_HPP_ +#ifndef AUTOWARE__QP_INTERFACE__OSQP_CSC_MATRIX_CONV_HPP_ +#define AUTOWARE__QP_INTERFACE__OSQP_CSC_MATRIX_CONV_HPP_ #include "osqp/glob_opts.h" @@ -21,7 +21,7 @@ #include -namespace autoware::common +namespace autoware::qp_interface { /// \brief Compressed-Column-Sparse Matrix struct CSC_Matrix @@ -41,6 +41,6 @@ CSC_Matrix calCSCMatrixTrapezoidal(const Eigen::MatrixXd & mat); /// \brief Print the given CSC matrix to the standard output void printCSCMatrix(const CSC_Matrix & csc_mat); -} // namespace autoware::common +} // namespace autoware::qp_interface -#endif // QP_INTERFACE__OSQP_CSC_MATRIX_CONV_HPP_ +#endif // AUTOWARE__QP_INTERFACE__OSQP_CSC_MATRIX_CONV_HPP_ diff --git a/common/qp_interface/include/qp_interface/osqp_interface.hpp b/common/autoware_qp_interface/include/autoware/qp_interface/osqp_interface.hpp similarity index 94% rename from common/qp_interface/include/qp_interface/osqp_interface.hpp rename to common/autoware_qp_interface/include/autoware/qp_interface/osqp_interface.hpp index 55792beaaff11..a5777dd545e9f 100644 --- a/common/qp_interface/include/qp_interface/osqp_interface.hpp +++ b/common/autoware_qp_interface/include/autoware/qp_interface/osqp_interface.hpp @@ -12,19 +12,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef QP_INTERFACE__OSQP_INTERFACE_HPP_ -#define QP_INTERFACE__OSQP_INTERFACE_HPP_ +#ifndef AUTOWARE__QP_INTERFACE__OSQP_INTERFACE_HPP_ +#define AUTOWARE__QP_INTERFACE__OSQP_INTERFACE_HPP_ +#include "autoware/qp_interface/osqp_csc_matrix_conv.hpp" +#include "autoware/qp_interface/qp_interface.hpp" #include "osqp/osqp.h" -#include "qp_interface/osqp_csc_matrix_conv.hpp" -#include "qp_interface/qp_interface.hpp" #include #include #include #include -namespace autoware::common +namespace autoware::qp_interface { constexpr c_float OSQP_INF = 1e30; @@ -142,6 +142,6 @@ class OSQPInterface : public QPInterface std::vector optimizeImpl() override; }; -} // namespace autoware::common +} // namespace autoware::qp_interface -#endif // QP_INTERFACE__OSQP_INTERFACE_HPP_ +#endif // AUTOWARE__QP_INTERFACE__OSQP_INTERFACE_HPP_ diff --git a/common/qp_interface/include/qp_interface/proxqp_interface.hpp b/common/autoware_qp_interface/include/autoware/qp_interface/proxqp_interface.hpp similarity index 85% rename from common/qp_interface/include/qp_interface/proxqp_interface.hpp rename to common/autoware_qp_interface/include/autoware/qp_interface/proxqp_interface.hpp index 775ba0fcc42b8..324da4b18c6fd 100644 --- a/common/qp_interface/include/qp_interface/proxqp_interface.hpp +++ b/common/autoware_qp_interface/include/autoware/qp_interface/proxqp_interface.hpp @@ -12,10 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef QP_INTERFACE__PROXQP_INTERFACE_HPP_ -#define QP_INTERFACE__PROXQP_INTERFACE_HPP_ +#ifndef AUTOWARE__QP_INTERFACE__PROXQP_INTERFACE_HPP_ +#define AUTOWARE__QP_INTERFACE__PROXQP_INTERFACE_HPP_ -#include "qp_interface/qp_interface.hpp" +#include "autoware/qp_interface/qp_interface.hpp" #include #include @@ -25,7 +25,7 @@ #include #include -namespace autoware::common +namespace autoware::qp_interface { class ProxQPInterface : public QPInterface { @@ -52,6 +52,6 @@ class ProxQPInterface : public QPInterface std::vector optimizeImpl() override; }; -} // namespace autoware::common +} // namespace autoware::qp_interface -#endif // QP_INTERFACE__PROXQP_INTERFACE_HPP_ +#endif // AUTOWARE__QP_INTERFACE__PROXQP_INTERFACE_HPP_ diff --git a/common/qp_interface/include/qp_interface/qp_interface.hpp b/common/autoware_qp_interface/include/autoware/qp_interface/qp_interface.hpp similarity index 89% rename from common/qp_interface/include/qp_interface/qp_interface.hpp rename to common/autoware_qp_interface/include/autoware/qp_interface/qp_interface.hpp index 85e2d103cde7a..be3c598512bf6 100644 --- a/common/qp_interface/include/qp_interface/qp_interface.hpp +++ b/common/autoware_qp_interface/include/autoware/qp_interface/qp_interface.hpp @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef QP_INTERFACE__QP_INTERFACE_HPP_ -#define QP_INTERFACE__QP_INTERFACE_HPP_ +#ifndef AUTOWARE__QP_INTERFACE__QP_INTERFACE_HPP_ +#define AUTOWARE__QP_INTERFACE__QP_INTERFACE_HPP_ #include @@ -21,7 +21,7 @@ #include #include -namespace autoware::common +namespace autoware::qp_interface { class QPInterface { @@ -56,6 +56,6 @@ class QPInterface std::optional variables_num_{std::nullopt}; std::optional constraints_num_{std::nullopt}; }; -} // namespace autoware::common +} // namespace autoware::qp_interface -#endif // QP_INTERFACE__QP_INTERFACE_HPP_ +#endif // AUTOWARE__QP_INTERFACE__QP_INTERFACE_HPP_ diff --git a/common/qp_interface/package.xml b/common/autoware_qp_interface/package.xml similarity index 96% rename from common/qp_interface/package.xml rename to common/autoware_qp_interface/package.xml index 22cc3665ffaa0..a05b1e69e8af7 100644 --- a/common/qp_interface/package.xml +++ b/common/autoware_qp_interface/package.xml @@ -1,7 +1,7 @@ - qp_interface + autoware_qp_interface 1.0.0 Interface for the QP solvers Takayuki Murooka diff --git a/common/qp_interface/src/osqp_csc_matrix_conv.cpp b/common/autoware_qp_interface/src/osqp_csc_matrix_conv.cpp similarity index 96% rename from common/qp_interface/src/osqp_csc_matrix_conv.cpp rename to common/autoware_qp_interface/src/osqp_csc_matrix_conv.cpp index 77a481f442000..15314a9e4a5fa 100644 --- a/common/qp_interface/src/osqp_csc_matrix_conv.cpp +++ b/common/autoware_qp_interface/src/osqp_csc_matrix_conv.cpp @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "qp_interface/osqp_csc_matrix_conv.hpp" +#include "autoware/qp_interface/osqp_csc_matrix_conv.hpp" #include #include @@ -21,7 +21,7 @@ #include #include -namespace autoware::common +namespace autoware::qp_interface { CSC_Matrix calCSCMatrix(const Eigen::MatrixXd & mat) { @@ -131,4 +131,4 @@ void printCSCMatrix(const CSC_Matrix & csc_mat) } std::cout << "]\n"; } -} // namespace autoware::common +} // namespace autoware::qp_interface diff --git a/common/qp_interface/src/osqp_interface.cpp b/common/autoware_qp_interface/src/osqp_interface.cpp similarity index 98% rename from common/qp_interface/src/osqp_interface.cpp rename to common/autoware_qp_interface/src/osqp_interface.cpp index 377de8cf66a7a..b850036c0aebf 100644 --- a/common/qp_interface/src/osqp_interface.cpp +++ b/common/autoware_qp_interface/src/osqp_interface.cpp @@ -12,13 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "qp_interface/osqp_interface.hpp" +#include "autoware/qp_interface/osqp_interface.hpp" -#include "qp_interface/osqp_csc_matrix_conv.hpp" +#include "autoware/qp_interface/osqp_csc_matrix_conv.hpp" #include -namespace autoware::common +namespace autoware::qp_interface { OSQPInterface::OSQPInterface( const bool enable_warm_start, const int max_iteration, const c_float eps_abs, @@ -386,4 +386,4 @@ std::vector OSQPInterface::optimize( return result; } -} // namespace autoware::common +} // namespace autoware::qp_interface diff --git a/common/qp_interface/src/proxqp_interface.cpp b/common/autoware_qp_interface/src/proxqp_interface.cpp similarity index 97% rename from common/qp_interface/src/proxqp_interface.cpp rename to common/autoware_qp_interface/src/proxqp_interface.cpp index d26543f907e62..ccfd74e70dace 100644 --- a/common/qp_interface/src/proxqp_interface.cpp +++ b/common/autoware_qp_interface/src/proxqp_interface.cpp @@ -12,9 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "qp_interface/proxqp_interface.hpp" +#include "autoware/qp_interface/proxqp_interface.hpp" -namespace autoware::common +namespace autoware::qp_interface { using proxsuite::proxqp::QPSolverOutput; @@ -150,4 +150,4 @@ std::vector ProxQPInterface::optimizeImpl() } return result; } -} // namespace autoware::common +} // namespace autoware::qp_interface diff --git a/common/qp_interface/src/qp_interface.cpp b/common/autoware_qp_interface/src/qp_interface.cpp similarity index 94% rename from common/qp_interface/src/qp_interface.cpp rename to common/autoware_qp_interface/src/qp_interface.cpp index afd26132d7769..f01e57772dc4f 100644 --- a/common/qp_interface/src/qp_interface.cpp +++ b/common/autoware_qp_interface/src/qp_interface.cpp @@ -12,13 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "qp_interface/qp_interface.hpp" +#include "autoware/qp_interface/qp_interface.hpp" #include #include #include -namespace autoware::common +namespace autoware::qp_interface { void QPInterface::initializeProblem( const Eigen::MatrixXd & P, const Eigen::MatrixXd & A, const std::vector & q, @@ -67,4 +67,4 @@ std::vector QPInterface::optimize( return result; } -} // namespace autoware::common +} // namespace autoware::qp_interface diff --git a/common/qp_interface/test/test_csc_matrix_conv.cpp b/common/autoware_qp_interface/test/test_csc_matrix_conv.cpp similarity index 93% rename from common/qp_interface/test/test_csc_matrix_conv.cpp rename to common/autoware_qp_interface/test/test_csc_matrix_conv.cpp index a6bd5e3df0be1..1f377a1a24535 100644 --- a/common/qp_interface/test/test_csc_matrix_conv.cpp +++ b/common/autoware_qp_interface/test/test_csc_matrix_conv.cpp @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "autoware/qp_interface/osqp_csc_matrix_conv.hpp" #include "gtest/gtest.h" -#include "qp_interface/osqp_csc_matrix_conv.hpp" #include @@ -23,8 +23,8 @@ TEST(TestCscMatrixConv, Nominal) { - using autoware::common::calCSCMatrix; - using autoware::common::CSC_Matrix; + using autoware::qp_interface::calCSCMatrix; + using autoware::qp_interface::CSC_Matrix; Eigen::MatrixXd rect1(1, 2); rect1 << 0.0, 1.0; @@ -117,8 +117,8 @@ TEST(TestCscMatrixConv, Nominal) } TEST(TestCscMatrixConv, Trapezoidal) { - using autoware::common::calCSCMatrixTrapezoidal; - using autoware::common::CSC_Matrix; + using autoware::qp_interface::calCSCMatrixTrapezoidal; + using autoware::qp_interface::CSC_Matrix; Eigen::MatrixXd square1(2, 2); Eigen::MatrixXd square2(3, 3); @@ -166,10 +166,10 @@ TEST(TestCscMatrixConv, Trapezoidal) } TEST(TestCscMatrixConv, Print) { - using autoware::common::calCSCMatrix; - using autoware::common::calCSCMatrixTrapezoidal; - using autoware::common::CSC_Matrix; - using autoware::common::printCSCMatrix; + using autoware::qp_interface::calCSCMatrix; + using autoware::qp_interface::calCSCMatrixTrapezoidal; + using autoware::qp_interface::CSC_Matrix; + using autoware::qp_interface::printCSCMatrix; Eigen::MatrixXd square1(2, 2); Eigen::MatrixXd rect1(1, 2); square1 << 1.0, 2.0, 2.0, 4.0; diff --git a/common/qp_interface/test/test_osqp_interface.cpp b/common/autoware_qp_interface/test/test_osqp_interface.cpp similarity index 87% rename from common/qp_interface/test/test_osqp_interface.cpp rename to common/autoware_qp_interface/test/test_osqp_interface.cpp index 4d0a88c50475c..873e5d501dc7d 100644 --- a/common/qp_interface/test/test_osqp_interface.cpp +++ b/common/autoware_qp_interface/test/test_osqp_interface.cpp @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "autoware/qp_interface/osqp_interface.hpp" #include "gtest/gtest.h" -#include "qp_interface/osqp_interface.hpp" #include @@ -39,9 +39,9 @@ namespace TEST(TestOsqpInterface, BasicQp) { - using autoware::common::calCSCMatrix; - using autoware::common::calCSCMatrixTrapezoidal; - using autoware::common::CSC_Matrix; + using autoware::qp_interface::calCSCMatrix; + using autoware::qp_interface::calCSCMatrixTrapezoidal; + using autoware::qp_interface::CSC_Matrix; auto check_result = [](const auto & solution, const std::string & status, const int polish_status) { @@ -58,12 +58,12 @@ TEST(TestOsqpInterface, BasicQp) const Eigen::MatrixXd P = (Eigen::MatrixXd(2, 2) << 4, 1, 1, 2).finished(); const Eigen::MatrixXd A = (Eigen::MatrixXd(4, 2) << 1, 1, 1, 0, 0, 1, 0, 1).finished(); const std::vector q = {1.0, 1.0}; - const std::vector l = {1.0, 0.0, 0.0, -autoware::common::OSQP_INF}; - const std::vector u = {1.0, 0.7, 0.7, autoware::common::OSQP_INF}; + const std::vector l = {1.0, 0.0, 0.0, -autoware::qp_interface::OSQP_INF}; + const std::vector u = {1.0, 0.7, 0.7, autoware::qp_interface::OSQP_INF}; { // Define problem during optimization - autoware::common::OSQPInterface osqp(false, 4000, 1e-6); + autoware::qp_interface::OSQPInterface osqp(false, 4000, 1e-6); const auto solution = osqp.QPInterface::optimize(P, A, q, l, u); const auto status = osqp.getStatus(); const auto polish_status = osqp.getPolishStatus(); @@ -72,7 +72,7 @@ TEST(TestOsqpInterface, BasicQp) { // Define problem during initialization - autoware::common::OSQPInterface osqp(false, 4000, 1e-6); + autoware::qp_interface::OSQPInterface osqp(false, 4000, 1e-6); const auto solution = osqp.QPInterface::optimize(P, A, q, l, u); const auto status = osqp.getStatus(); const auto polish_status = osqp.getPolishStatus(); @@ -87,7 +87,7 @@ TEST(TestOsqpInterface, BasicQp) std::vector q_ini(2, 0.0); std::vector l_ini(4, 0.0); std::vector u_ini(4, 0.0); - autoware::common::OSQPInterface osqp(false, 4000, 1e-6); + autoware::qp_interface::OSQPInterface osqp(false, 4000, 1e-6); osqp.QPInterface::optimize(P_ini, A_ini, q_ini, l_ini, u_ini); } @@ -95,7 +95,7 @@ TEST(TestOsqpInterface, BasicQp) // Define problem during initialization with csc matrix CSC_Matrix P_csc = calCSCMatrixTrapezoidal(P); CSC_Matrix A_csc = calCSCMatrix(A); - autoware::common::OSQPInterface osqp(false, 4000, 1e-6); + autoware::qp_interface::OSQPInterface osqp(false, 4000, 1e-6); const auto solution = osqp.optimize(P_csc, A_csc, q, l, u); const auto status = osqp.getStatus(); @@ -111,7 +111,7 @@ TEST(TestOsqpInterface, BasicQp) std::vector q_ini(2, 0.0); std::vector l_ini(4, 0.0); std::vector u_ini(4, 0.0); - autoware::common::OSQPInterface osqp(false, 4000, 1e-6); + autoware::qp_interface::OSQPInterface osqp(false, 4000, 1e-6); osqp.optimize(P_ini_csc, A_ini_csc, q_ini, l_ini, u_ini); // Redefine problem before optimization @@ -132,7 +132,7 @@ TEST(TestOsqpInterface, BasicQp) std::vector q_ini(2, 0.0); std::vector l_ini(4, 0.0); std::vector u_ini(4, 0.0); - autoware::common::OSQPInterface osqp(true, 4000, 1e-6); // enable warm start + autoware::qp_interface::OSQPInterface osqp(true, 4000, 1e-6); // enable warm start osqp.optimize(P_ini_csc, A_ini_csc, q_ini, l_ini, u_ini); // Redefine problem before optimization diff --git a/common/qp_interface/test/test_proxqp_interface.cpp b/common/autoware_qp_interface/test/test_proxqp_interface.cpp similarity index 92% rename from common/qp_interface/test/test_proxqp_interface.cpp rename to common/autoware_qp_interface/test/test_proxqp_interface.cpp index e9cb90ef5d442..5bf85b026478d 100644 --- a/common/qp_interface/test/test_proxqp_interface.cpp +++ b/common/autoware_qp_interface/test/test_proxqp_interface.cpp @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "autoware/qp_interface/proxqp_interface.hpp" #include "gtest/gtest.h" -#include "qp_interface/proxqp_interface.hpp" #include @@ -57,7 +57,7 @@ TEST(TestProxqpInterface, BasicQp) { // Define problem during optimization - autoware::common::ProxQPInterface proxqp(false, 4000, 1e-9, 1e-9, false); + autoware::qp_interface::ProxQPInterface proxqp(false, 4000, 1e-9, 1e-9, false); const auto solution = proxqp.QPInterface::optimize(P, A, q, l, u); const auto status = proxqp.getStatus(); check_result(solution, status); @@ -65,7 +65,7 @@ TEST(TestProxqpInterface, BasicQp) { // Define problem during optimization with warm start - autoware::common::ProxQPInterface proxqp(true, 4000, 1e-9, 1e-9, false); + autoware::qp_interface::ProxQPInterface proxqp(true, 4000, 1e-9, 1e-9, false); { const auto solution = proxqp.QPInterface::optimize(P, A, q, l, u); const auto status = proxqp.getStatus(); diff --git a/planning/autoware_velocity_smoother/include/autoware/velocity_smoother/smoother/jerk_filtered_smoother.hpp b/planning/autoware_velocity_smoother/include/autoware/velocity_smoother/smoother/jerk_filtered_smoother.hpp index 79dd5cda20d4b..6ddba29bf05a7 100644 --- a/planning/autoware_velocity_smoother/include/autoware/velocity_smoother/smoother/jerk_filtered_smoother.hpp +++ b/planning/autoware_velocity_smoother/include/autoware/velocity_smoother/smoother/jerk_filtered_smoother.hpp @@ -16,10 +16,10 @@ #define AUTOWARE__VELOCITY_SMOOTHER__SMOOTHER__JERK_FILTERED_SMOOTHER_HPP_ #include "autoware/motion_utils/trajectory/trajectory.hpp" +#include "autoware/qp_interface/qp_interface.hpp" #include "autoware/universe_utils/geometry/geometry.hpp" #include "autoware/universe_utils/system/time_keeper.hpp" #include "autoware/velocity_smoother/smoother/smoother_base.hpp" -#include "qp_interface/qp_interface.hpp" #include "autoware_planning_msgs/msg/trajectory_point.hpp" @@ -60,7 +60,7 @@ class JerkFilteredSmoother : public SmootherBase private: Param smoother_param_; - std::shared_ptr qp_interface_; + std::shared_ptr qp_interface_; rclcpp::Logger logger_{rclcpp::get_logger("smoother").get_child("jerk_filtered_smoother")}; TrajectoryPoints forwardJerkFilter( diff --git a/planning/autoware_velocity_smoother/package.xml b/planning/autoware_velocity_smoother/package.xml index 222b189057820..91e5024ace1d2 100644 --- a/planning/autoware_velocity_smoother/package.xml +++ b/planning/autoware_velocity_smoother/package.xml @@ -26,11 +26,11 @@ autoware_osqp_interface autoware_planning_msgs autoware_planning_test_manager + autoware_qp_interface autoware_universe_utils autoware_vehicle_info_utils geometry_msgs nav_msgs - qp_interface rclcpp tf2 tf2_ros diff --git a/planning/autoware_velocity_smoother/src/smoother/jerk_filtered_smoother.cpp b/planning/autoware_velocity_smoother/src/smoother/jerk_filtered_smoother.cpp index 3e363b8bcbab9..b218a662de175 100644 --- a/planning/autoware_velocity_smoother/src/smoother/jerk_filtered_smoother.cpp +++ b/planning/autoware_velocity_smoother/src/smoother/jerk_filtered_smoother.cpp @@ -14,8 +14,8 @@ #include "autoware/velocity_smoother/smoother/jerk_filtered_smoother.hpp" +#include "autoware/qp_interface/proxqp_interface.hpp" #include "autoware/velocity_smoother/trajectory_utils.hpp" -#include "qp_interface/proxqp_interface.hpp" #include @@ -42,7 +42,7 @@ JerkFilteredSmoother::JerkFilteredSmoother( p.jerk_filter_ds = node.declare_parameter("jerk_filter_ds"); qp_interface_ = - std::make_shared(false, 20000, 1.0e-8, 1.0e-6, false); + std::make_shared(false, 20000, 1.0e-8, 1.0e-6, false); } void JerkFilteredSmoother::setParam(const Param & smoother_param)