source: trunk/extremum_seeking/esc_approx/include/esc_approx/approx_esc_1d.h

Last change on this file was 13, checked in by wcaarls, 12 years ago

Updated extremum_seeking to revision 1017

File size: 1.4 KB
RevLine 
[5]1/*
2 * approx_esc_1d.h
3 *
4 *  Created on: Jul 30, 2012
5 *      Author: Berk Calli
6 *      Organization: Delft Biorobotics Lab., Delft University of Technology
7 *              Contact info: b.calli@tudelft.nl, web: www.dbl.tudelft.nl
8 *
9 * Header file of the class for one dimensional approximation based extremum seeking control
10 *
11 * * References:
12 * - C. Zhang and R. Ordonez, “Robust and adaptive design of numerical optimization-based extremum seeking control,” Automatica, vol. 45, pp. 634–646, 2009.
13 * - B. Calli, W. Caarls, P. Jonker and M. Wisse, "Comparison of Extremum Seeking Control Algorithms for Robotic Applications," IROS 2012.
14 */
15
16#ifndef APPROX_ESC_1D_H_
17#define APPROX_ESC_1D_H_
18#include "esc_common/esc.h"
19#include <vector>
20#include <eigen3/Eigen/Dense>
21#include "stdio.h"
22class ApproxESC1D:public ESC{
23protected:
24        int data_size_, poly_degree_,sampling_;
25        double k_grad_, init_vel_, vel_ref_,state_curr_;
26        bool initialized_;
27        int sample_, ptr_;
28        Eigen::VectorXf states_;
29        Eigen::VectorXf obj_vals_;
30public:
31        ApproxESC1D();
32        ApproxESC1D(int data_size, int poly_degree, double k_grad, double init_vel, int sampling = 1);
33        void init(int data_size, int poly_degree, double k_grad, double init_vel, int sampling = 1);
34        std::vector<double>  step(std::vector<double> state, double obj_val);
35        inputType getInputType();
36        outputType getOutputType();
37        std::vector<double> monitor();
38        std::vector<std::string> monitorNames();
[13]39        void reset();
[5]40
41};
42
43
44#endif /* APPROX_ESC_1D_H_ */
Note: See TracBrowser for help on using the repository browser.