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