Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef APPROX_ESC_1D_H_
00017 #define APPROX_ESC_1D_H_
00018 #include "esc_common/esc.h"
00019 #include <vector>
00020 #include <eigen3/Eigen/Dense>
00021 #include "stdio.h"
00022 class ApproxESC1D:public ESC{
00023 protected:
00024 int data_size_, poly_degree_,sampling_;
00025 double k_grad_, init_vel_, vel_ref_,state_curr_;
00026 bool initialized_;
00027 int sample_, ptr_;
00028 Eigen::VectorXf states_;
00029 Eigen::VectorXf obj_vals_;
00030 public:
00031 ApproxESC1D();
00032 ApproxESC1D(int data_size, int poly_degree, double k_grad, double init_vel, int sampling = 1);
00033 void init(int data_size, int poly_degree, double k_grad, double init_vel, int sampling = 1);
00034 std::vector<double> step(std::vector<double> state, double obj_val);
00035 inputType getInputType();
00036 outputType getOutputType();
00037 std::vector<double> monitor();
00038 std::vector<std::string> monitorNames();
00039 void reset();
00040
00041 };
00042
00043
00044 #endif