perturb_esc_nd.h
Go to the documentation of this file.
00001 /*
00002  * perturb_esc_nd.h
00003  *
00004  *  Created on: Aug 1, 2012
00005  *      Author: Berk Calli
00006  *      Organization: Delft Biorobotics Lab., Delft University of Technology
00007  *              Contact info: b.calli@tudelft.nl, web: www.dbl.tudelft.nl
00008  *
00009  * Header file of the class for perturbation based extremum seeking control
00010  *
00011  * * References:
00012  * - K. B. Ariyur and M. Krstic, "Real-Time Optimization by Extremum-Seeking Control", Wiley, 2003.
00013  * - B. Calli, W. Caarls, P. Jonker, M. Wisse, "Comparison of Extremum Seeking Control Algorithms for Robotic Applications", IROS 2012.
00014  */
00015 
00016 #ifndef PERTURB_ESC_ND_H_
00017 #define PERTURB_ESC_ND_H_
00018 
00019 #include <vector>
00020 #include <cmath>
00021 #include <stdio.h>
00022 #include "esc_common/esc.h"
00023 class PerturbESCND:public ESC{
00024 protected:
00025         double sin_amp_,sin_freq_,corr_gain_,high_pass_pole_,low_pass_pole_,comp_pole_,comp_zero_,period_,obj_val_old_, hpf_out_old_, cycle_count_;
00026         std::vector<double> pos_ref_, signal_demodulated_old_, lpf_out_old_,corr_signal_, phase_shift_,comp_old_;
00027         unsigned int opt_dim_;
00028         bool initialized_,state_initialized_, old_vals_initialized_;
00029 
00030 public:
00031         PerturbESCND();
00032         PerturbESCND(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);
00033         void init(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);
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 #endif /* PERTURB_ESC_ND_H_ */


esc_perturb
Author(s): Berk Calli
autogenerated on Sun Jan 5 2014 11:07:28