00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __INVERTCONTROLLER_H
00021 #define __INVERTCONTROLLER_H
00022
00023 #include "abstractcontroller.h"
00024 #include <stdlib.h>
00025 #include <string.h>
00026
00027
00028
00029
00030
00031
00032
00033 class InvertController : public AbstractController {
00034 public:
00035 InvertController(const std::string& name, const std::string& revision)
00036 : AbstractController(name, revision){
00037 addParameterDef("eps",&eps,0.3,0,10,"learning rate");
00038 addParameterDef("rho",&rho,0,0,10);
00039 addParameterDef("s4delay",&s4delay,1,1,10,"time delay of actions and caused sensor values");
00040 addParameterDef("s4avg",&s4avg,1,1,50,"time window for sensor values averaging");
00041 addParameterDef("delta",&delta,0.01,0,1);
00042 addParameterDef("factor_a",&factor_a,1.0,0,10,"learning rate factor for world model");
00043 addParameterDef("desens",&desens,0,0,1,"desensitization");
00044 addParameterDef("number_it",&number_it,0,0,10);
00045 addParameterDef("epsilon_it",&epsilon_it,0,0,10);
00046 addParameterDef("damping_c",&damping_c,0,0,.1,"damping value for controller values");
00047 }
00048
00049 protected:
00050 paramval eps;
00051 paramval rho;
00052 paramval desens;
00053 paramval s4delay;
00054 paramval s4avg;
00055 paramval factor_a;
00056 paramval number_it;
00057 paramval epsilon_it;
00058 paramval delta;
00059 paramval damping_c;
00060
00061 };
00062
00063 #endif