Autoware.Auto
qp_solver_osqp.hpp
Go to the documentation of this file.
1 // Copyright 2018-2021 The Autoware Foundation
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //    http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef TRAJECTORY_FOLLOWER__QP_SOLVER__QP_SOLVER_OSQP_HPP_
16 #define TRAJECTORY_FOLLOWER__QP_SOLVER__QP_SOLVER_OSQP_HPP_
17 
19 
20 #include "common/types.hpp"
21 #include "eigen3/Eigen/Dense"
23 #include "rclcpp/rclcpp.hpp"
25 
26 namespace autoware
27 {
28 namespace motion
29 {
30 namespace control
31 {
32 namespace trajectory_follower
33 {
37 class TRAJECTORY_FOLLOWER_PUBLIC QPSolverOSQP : public QPSolverInterface
38 {
39 public:
43  explicit QPSolverOSQP(const rclcpp::Logger & logger);
44 
48  virtual ~QPSolverOSQP() = default;
49 
62  bool8_t solve(
63  const Eigen::MatrixXd & h_mat, const Eigen::MatrixXd & f_vec, const Eigen::MatrixXd & a,
64  const Eigen::VectorXd & lb, const Eigen::VectorXd & ub, const Eigen::VectorXd & lb_a,
65  const Eigen::VectorXd & ub_a, Eigen::VectorXd & u) override;
66 
67 private:
69  rclcpp::Logger logger_;
70 };
71 } // namespace trajectory_follower
72 } // namespace control
73 } // namespace motion
74 } // namespace autoware
75 #endif // TRAJECTORY_FOLLOWER__QP_SOLVER__QP_SOLVER_OSQP_HPP_
visibility_control.hpp
types.hpp
This file includes common type definition.
u
DifferentialState u
Definition: kinematic_bicycle.snippet.hpp:29
qp_solver_interface.hpp
autoware::common::types::bool8_t
bool bool8_t
Definition: types.hpp:39
autoware
This file defines the lanelet2_map_provider_node class.
Definition: quick_sort.hpp:24
osqp_interface.hpp
autoware::motion::control::trajectory_follower::QPSolverInterface
Interface for solvers of Quadratic Programming (QP) problems.
Definition: qp_solver_interface.hpp:34
autoware::common::osqp::OSQPInterface
Definition: osqp_interface.hpp:45
autoware::motion::control::trajectory_follower
Definition: debug_values.hpp:29
motion
Definition: controller_base.hpp:31
autoware::common::types::float64_t
double float64_t
Definition: types.hpp:47
autoware::motion::control::trajectory_follower::QPSolverOSQP
Solver for QP problems using the OSQP library.
Definition: qp_solver_osqp.hpp:37