Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef NN_ESC_2D_H_
00017 #define NN_ESC_2D_H_
00018
00019 #include <vector>
00020 #include <string>
00021 #include "esc_common/esc.h"
00022 #include "stdio.h"
00023
00024 class NNESC2D : public ESC {
00025
00026 protected:
00027 double A_,M_,ddelta1_,ddelta2_,ddelta3_,delta_,B_, mpd_init_, w_switch_old_, a_switch1_old_, a_switch2_old_, a_switch3_old_,yr_,period_;
00028 double min_peak_,w_switch_, stoping_min_val_, obj_val_cycle_init_;
00029 int stopping_cycle_number_, nn_cycle_count_;
00030 std::vector<double> vel_ref_,vel_ref_old_;
00031 bool initialized_,min_peak_detect_init_;
00032
00033
00034 public:
00035 NNESC2D();
00036 NNESC2D(double A,double M, double B, double ddelta1, double ddelta2, double ddelta3, double delta, double period, int stopping_cycle_number, double stoping_min_val);
00037 void init(double A, double M, double B, double ddelta1, double ddelta2, double ddelta3, double delta, double period, int stopping_cycle_number, double stoping_min_val);
00038
00039 std::vector<double> step(double obj_val);
00040 inputType getInputType();
00041 outputType getOutputType();
00042 std::vector<double> monitor();
00043 std::vector<std::string> monitorNames();
00044 void reset();
00045 bool isStoppingConditionsMet();
00046 protected:
00047 double wSwitch(double e);
00048 double minPeakDetect(double e);
00049 double aSwitch1(double e);
00050 double aSwitch2(double e);
00051 double aSwitch3(double e);
00052
00053 };
00054
00055 #endif