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