EscClassic.hpp
Go to the documentation of this file.
00001 /*
00002  * ESCClassic.hpp
00003  *
00004  *  Created on: Apr 13, 2015
00005  *      Author: Filip Mandic
00006  */
00007 
00008 #ifndef ESCCLASSIC_HPP_
00009 #define ESCCLASSIC_HPP_
00010 
00011 #include <labust/control/esc/EscPerturbationBase.hpp>
00012 
00013 namespace labust{
00014         namespace control{
00015                 namespace esc{
00016 
00017 
00018                         class EscClassic : public EscPerturbationBase<double> {
00019 
00020                         public:
00021 
00022                                 EscClassic(int ctrlNum, numericprecission Ts);
00023 
00024                                 ~EscClassic();
00025 
00026                                  void initController(double sin_amp, double sin_freq, double corr_gain, double high_pass_pole, double low_pass_pole, double comp_zero, double comp_pole, double period);
00027 
00028                                  numericprecission preFiltering(numericprecission cost_signal);
00029 
00030                                  vector gradientEstimation(numericprecission cost_signal_filtered, vector additional_input);
00031 
00032                                  vector postFiltering(vector estimated_gradient);
00033 
00034                                  vector controllerGain(vector postFiltered);
00035 
00036                                  vector superimposePerturbation(vector control);
00037 
00038                                  /***
00039                                  * K - gain
00040                                  * A0 - perturbation amplitude
00041                                  */
00042                                 vector sin_amp_, sin_freq_, corr_gain_, low_pass_pole_, comp_pole_, comp_zero_;
00043                                 vector control_ref_, signal_demodulated_old_, lpf_out_old_,corr_signal_, phase_shift_,comp_old_;
00044                                 /*** Controlled state */
00045                                 vector state_;
00046 
00047                                 numericprecission high_pass_pole_, hpf_out_old_, obj_val_old_;
00048                         };
00049                 }
00050         }
00051 }
00052 
00053 
00054 
00055 
00056 
00057 #endif /* ESCCLASSIC_HPP_ */


labust_control
Author(s): Gyula Nagy
autogenerated on Fri Aug 28 2015 11:22:42