/* * esc.h * * Created on: Jul 26, 2012 * Author: Berk Calli, Wouter Caarls * Organization: Delft Biorobotics Lab., Delft University of Technology * Contact info: b.calli@tudelft.nl, web: www.dbl.tudelft.nl * * Superclass for extremum seeking control algorithms */ #ifndef ESC_H_ #define ESC_H_ #include #include #define PI 3.141592654 class ESC { public: enum inputType { inputStateValue, inputValue }; enum outputType { outputVelocity, outputPosition }; public: virtual ~ESC() { } virtual std::vector monitorNames() { return std::vector(); } virtual std::vector monitor() { return std::vector(); } virtual inputType getInputType() = 0; virtual outputType getOutputType() = 0; virtual std::vector step(std::vector state, double obj_val) { return step(obj_val); } virtual std::vector step(double obj_val) { return std::vector(); } }; #endif /* ESC_H_ */