solver_lqr
SolverLqrSetting.hpp
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include <string>
12 #include <limits>
13 #include <yaml_cpp_catkin/yaml_eigen.h>
15 
16 namespace solverlqr {
17 
19  {
20  public:
22  ~SolverLqrSetting(){}
23 
24  void initialize(const std::string cfg_file, const std::string stgs_vars_yaml = "solverlqr_variables");
25 
26  int& get(SolverLqrIntParam param);
27  bool& get(SolverLqrBoolParam param);
28  double& get(SolverLqrDoubleParam param);
29  YAML::Node& get(SolverLqrYamlParam param);
30  std::string& get(SolverLqrStringParam param);
31  Eigen::VectorXd& get(SolverLqrVectorParam param);
32 
33  const int& get(SolverLqrIntParam param) const;
34  const bool& get(SolverLqrBoolParam param) const;
35  const double& get(SolverLqrDoubleParam param) const;
36  const YAML::Node& get(SolverLqrYamlParam param) const;
37  const std::string& get(SolverLqrStringParam param) const;
38  const Eigen::VectorXd& get(SolverLqrVectorParam param) const;
39 
40  static constexpr double nan = ((double)0x7ff8000000000000);
41  static constexpr double inf = ((double)std::numeric_limits<double>::infinity());
42 
43  private:
45  YAML::Node user_parameters_;
46 
48  Eigen::VectorXd alpha_, initial_state_, min_control_limits_, max_control_limits_;
49 
51  std::string cfg_file_, save_lqr_file_;
52 
54  bool store_data_, has_control_limits_, use_runge_kutta_integration_;
55 
57  int verbosity_, lqr_max_iters_, precision_digits_, bpass_regularization_type_,
58  time_dimension_, state_dimension_, control_dimension_;
59 
61  double cost_change_tolerance_, divergence_limit_check_, bpass_min_regularization_,
62  bpass_max_regularization_, control_gradient_tolerance_, bpass_initial_regularization_,
63  time_step_, time_horizon_, min_expected_cost_improvement_, bpass_mult_regularization_incr_,
64  bpass_initial_mult_regularization_incr_;
65  };
66 
67 }
SolverLqrDoubleParam
Definition: SolverLqrParams.hpp:42
int verbosity_
Definition: SolverLqrSetting.hpp:57
double cost_change_tolerance_
Definition: SolverLqrSetting.hpp:61
SolverLqrBoolParam
Definition: SolverLqrParams.hpp:32
SolverLqrYamlParam
Definition: SolverLqrParams.hpp:85
bool store_data_
Definition: SolverLqrSetting.hpp:54
Eigen::VectorXd alpha_
Definition: SolverLqrSetting.hpp:48
Definition: BackwardPass.hpp:15
SolverLqrStringParam
Definition: SolverLqrParams.hpp:67
SolverLqrIntParam
Definition: SolverLqrParams.hpp:14
YAML::Node user_parameters_
Definition: SolverLqrSetting.hpp:45
std::string cfg_file_
Definition: SolverLqrSetting.hpp:51
SolverLqrVectorParam
Definition: SolverLqrParams.hpp:74
Definition: SolverLqrSetting.hpp:18