Robot Simulator of the Robotics Group for Self-Organization of Control  0.8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
invertcontroller.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005-2011 by *
3  * Georg Martius <georg dot martius at web dot de> *
4  * Frank Hesse <frank at nld dot ds dot mpg dot de> *
5  * Ralf Der <ralfder at mis dot mpg dot de> *
6  * *
7  * ANY COMMERCIAL USE FORBIDDEN! *
8  * LICENSE: *
9  * This work is licensed under the Creative Commons *
10  * Attribution-NonCommercial-ShareAlike 2.5 License. To view a copy of *
11  * this license, visit http://creativecommons.org/licenses/by-nc-sa/2.5/ *
12  * or send a letter to Creative Commons, 543 Howard Street, 5th Floor, *
13  * San Francisco, California, 94105, USA. *
14  * *
15  * This program is distributed in the hope that it will be useful, *
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
18  * *
19  ***************************************************************************/
20 #ifndef __INVERTCONTROLLER_H
21 #define __INVERTCONTROLLER_H
22 
23 #include "abstractcontroller.h"
24 #include <stdlib.h>
25 #include <string.h>
26 
27 /**
28  * Abstract class (interface) for robot controller that use direct matrix inversion and
29  * simple one layer networks.
30  *
31  * Implements standart parameters: eps, rho, mu, stepnumber4avg, stepnumber4delay
32  */
34 public:
35  InvertController(const std::string& name, const std::string& revision)
36  : AbstractController(name, revision){
37  addParameterDef("eps",&eps,0.3,0,10,"learning rate");
38  addParameterDef("rho",&rho,0,0,10);
39  addParameterDef("s4delay",&s4delay,1,1,10,"time delay of actions and caused sensor values");
40  addParameterDef("s4avg",&s4avg,1,1,50,"time window for sensor values averaging");
41  addParameterDef("delta",&delta,0.01,0,1);
42  addParameterDef("factor_a",&factor_a,1.0,0,10,"learning rate factor for world model");
43  addParameterDef("desens",&desens,0,0,1,"desensitization");
44  addParameterDef("number_it",&number_it,0,0,10);
45  addParameterDef("epsilon_it",&epsilon_it,0,0,10);
46  addParameterDef("damping_c",&damping_c,0,0,.1,"damping value for controller values");
47  }
48 
49 protected:
60 
61 };
62 
63 #endif
paramval desens
Definition: invertcontroller.h:52
Abstract class for robot controller (with some basic functionality).
Definition: abstractcontroller.h:46
paramval s4avg
Definition: invertcontroller.h:54
paramval s4delay
Definition: invertcontroller.h:53
double paramval
Definition: configurable.h:88
paramval rho
Definition: invertcontroller.h:51
paramval damping_c
Definition: invertcontroller.h:59
paramval eps
Definition: invertcontroller.h:50
paramval delta
Definition: invertcontroller.h:58
paramval number_it
Definition: invertcontroller.h:56
InvertController(const std::string &name, const std::string &revision)
Definition: invertcontroller.h:35
virtual void addParameterDef(const paramkey &key, paramval *val, paramval def, paramval minBound, paramval maxBound, const paramdescr &descr=paramdescr())
This function is only provided for convenience.
Definition: configurable.h:220
Abstract class (interface) for robot controller that use direct matrix inversion and simple one layer...
Definition: invertcontroller.h:33
paramval factor_a
Definition: invertcontroller.h:55
paramval epsilon_it
Definition: invertcontroller.h:57