approx_esc_1d.h
Go to the documentation of this file.
00001 /*
00002  * approx_esc_1d.h
00003  *
00004  *  Created on: Jul 30, 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 one dimensional approximation based extremum seeking control
00010  *
00011  * * References:
00012  * - C. Zhang and R. Ordonez, “Robust and adaptive design of numerical optimization-based extremum seeking control,” Automatica, vol. 45, pp. 634–646, 2009.
00013  * - B. Calli, W. Caarls, P. Jonker and M. Wisse, "Comparison of Extremum Seeking Control Algorithms for Robotic Applications," IROS 2012.
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 /* APPROX_ESC_1D_H_ */


esc_approx
Author(s): Berk Calli
autogenerated on Sun Jan 5 2014 11:07:37