Statistics
| Branch: | Tag: | Revision:

hlrc / client / python / hlrc_client / hlrc_test_relative_gaze.py @ d8feb404

History | View | Annotate | Download (1.957 KB)

1
#!/usr/bin/python
2
"""
3
This file is part of hlrc
4

5
Copyright(c) sschulz <AT> techfak.uni-bielefeld.de
6
http://opensource.cit-ec.de/projects/hlrc
7

8
This file may be licensed under the terms of the
9
GNU General Public License Version 3 (the ``GPL''),
10
or (at your option) any later version.
11

12
Software distributed under the License is distributed
13
on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
14
express or implied. See the GPL for the specific language
15
governing rights and limitations.
16

17
You should have received a copy of the GPL along with this
18
program. If not, go to http://www.gnu.org/licenses/gpl.html
19
or write to the Free Software Foundation, Inc.,
20
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21

22
The development of this software was supported by the
23
Excellence Cluster EXC 277 Cognitive Interaction Technology.
24
The Excellence Cluster EXC 277 is a grant of the Deutsche
25
Forschungsgemeinschaft (DFG) in the context of the German
26
Excellence Initiative.
27
"""
28

    
29
import logging
30
from hlrc_client import *
31
import time
32
import sys
33
import random
34
import errno
35

    
36
def main():
37
    random.seed()
38

    
39
    if (len(sys.argv) != 2):
40
        print("ERROR: invalid parameter count.\nusage: %s <scope>\n\n" % (str(sys.argv[0])));
41
        sys.exit(errno.EACCES)
42

    
43
    scope = str(sys.argv[1])
44
    r = RobotController("ROS", scope, logging.DEBUG)
45

    
46
    g = RobotGaze()
47

    
48
    #create a relative gaze request at the current timestamp
49
    #this will be sent multiple times, but as the 
50
    #internal logic will resolve the motor positions
51
    #at this specific time, it should only resolve to ONE
52
    #target gaze:
53
    g.gaze_type = RobotGaze.GAZETARGET_RELATIVE
54
   
55
    while(r.is_running()):
56
        g.gaze_timestamp = RobotTimestamp()
57
        #add some delazy to make it realistic
58
        time.sleep(1.0 / 50.0)
59

    
60
        print(g)
61
        g.pan = random.uniform(-20, 20)
62

    
63
        for t in range(50):
64
            r.set_gaze_target(g, True)
65
            time.sleep(1.0 / 50.0)
66

    
67

    
68
if __name__ == '__main__':
69
    main()
70