Revision 5628de6c

View differences:

client/python/hlrc_client/RobotTimestamp.py
1
"""
2
This file is part of hlrc
3

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

  
7
This file may be licensed under the terms of the
8
GNU General Public License Version 3 (the ``GPL''),
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 GPL for the specific language
14
governing rights and limitations.
15

  
16
You should have received a copy of the GPL along with this
17
program. If not, go to http://www.gnu.org/licenses/gpl.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
import time
28

  
29
class RobotTimestamp:
30
    def __init__(self):
31
        seconds = time.time()
32
        self.secs  = int(seconds)
33
        self.nsecs = int((seconds - self.secs) * 1000000000)
34

  
35
    @classmethod
36
    def from_sec_nsec(cls, _sec, _nsec):
37
        cls.sec  = _sec
38
        cls.nsec = _nsec
39

  
40
    def to_seconds(self):
41
        return self.secs + ((float(self.nsec)) / 1000000000)
42

  
43
    def __str__(self):
44
        return "%f" % self.to_seconds()
45

  
client/python/test_relative_gaze.py
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

  
35
if __name__ == "__main__":
36
    random.seed()
37
    r = RobotController("ROS", "/flobi", logging.DEBUG)
38

  
39
    g = RobotGaze()
40

  
41
    #create a relative gaze request at the current timestamp
42
    #this will be sent multiple times, but as the 
43
    #internal logic will resolve the motor positions
44
    #at this specific time, it should only resolve to ONE
45
    #target gaze:
46
    g.gaze_type = RobotGaze.GAZETARGET_RELATIVE
47
    g.gaze_timestamp = RobotTimestamp()
48
    g.pan = random.uniform(-20, 20)
49

  
50

  
51
    while(r.is_running()):
52
        r.set_gaze_target(g)
53
        time.sleep(1.0 / 50.0)

Also available in: Unified diff