Statistics
| Branch: | Tag: | Revision:

humotion / include / humotion / server / config.h @ 2aa96942

History | View | Annotate | Download (2.563 KB)

1
/*
2
* This file is part of humotion
3
*
4
* Copyright(c) sschulz <AT> techfak.uni-bielefeld.de
5
* http://opensource.cit-ec.de/projects/humotion
6
*
7
* This file may be licensed under the terms of the
8
* GNU Lesser General Public License Version 3 (the ``LGPL''),
9
* or (at your option) any later version.
10
*
11
* Software distributed under the License is distributed
12
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
13
* express or implied. See the LGPL for the specific language
14
* governing rights and limitations.
15
*
16
* You should have received a copy of the LGPL along with this
17
* program. If not, go to http://www.gnu.org/licenses/lgpl.html
18
* or write to the Free Software Foundation, Inc.,
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
*
21
* The development of this software was supported by the
22
* Excellence Cluster EXC 277 Cognitive Interaction Technology.
23
* The Excellence Cluster EXC 277 is a grant of the Deutsche
24
* Forschungsgemeinschaft (DFG) in the context of the German
25
* Excellence Initiative.
26
*/
27

    
28

    
29
#ifndef INCLUDE_HUMOTION_SERVER_CONFIG_H_
30
#define INCLUDE_HUMOTION_SERVER_CONFIG_H_
31

    
32
#include <map>
33
#include <string>
34

    
35
namespace humotion {
36
namespace server {
37

    
38
typedef std::map<std::string, float> debug_data_t;
39

    
40
class Config {
41
 public:
42
    Config();
43
    ~Config();
44
    void init_defaults();
45

    
46
    // ********************************************************
47
    // NOTE: See config.cpp for explanations and default values
48
    // ********************************************************
49

    
50
    // publish debug information
51
    bool publish_internals;
52

    
53
    // saccade detection thresholds
54
    float threshold_velocity_eye_saccade;
55
    float threshold_angle_neck_saccade;
56
    float threshold_angle_omr_limit;
57

    
58

    
59
    // neck motion generation configuration
60
    float scale_velocity_neck;
61
    float scale_acceleration_neck;
62
    float limit_velocity_neck;
63
    float limit_acceleration_neck;
64

    
65
    // eye motion generation configuration
66
    float scale_velocity_eye;
67
    float scale_acceleration_eye;
68
    float limit_velocity_eye;
69
    float limit_acceleration_eye;
70
    bool use_neck_target_instead_of_position_eye;
71

    
72
    // parameters fo the breathing pattern
73
    float breath_period;
74
    float breath_amplitude;
75

    
76
    // parameters for eyelids
77
    bool eyelids_follow_eyemotion;
78

    
79
    // parameters for eye blinking
80
    float eyeblink_duration;
81
    float eyeblink_periodic_distribution_lower;
82
    float eyeblink_periodic_distribution_upper;
83
    float eyeblink_probability_after_saccade;
84
    float eyeblink_blocked_time;
85
};
86

    
87
}  // namespace server
88
}  // namespace humotion
89

    
90
#endif  // INCLUDE_HUMOTION_SERVER_CONFIG_H_