Projekt

Ogólne

Profil

listener.py

Script for ROS tutorial 12 - Dawid Seredyński, 2019-07-24 16:34

Pobierz (2,35 KB)

 
1
#!/usr/bin/env python
2
# Software License Agreement (BSD License)
3
#
4
# Copyright (c) 2008, Willow Garage, Inc.
5
# All rights reserved.
6
#
7
# Redistribution and use in source and binary forms, with or without
8
# modification, are permitted provided that the following conditions
9
# are met:
10
#
11
#  * Redistributions of source code must retain the above copyright
12
#    notice, this list of conditions and the following disclaimer.
13
#  * Redistributions in binary form must reproduce the above
14
#    copyright notice, this list of conditions and the following
15
#    disclaimer in the documentation and/or other materials provided
16
#    with the distribution.
17
#  * Neither the name of Willow Garage, Inc. nor the names of its
18
#    contributors may be used to endorse or promote products derived
19
#    from this software without specific prior written permission.
20
#
21
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
# POSSIBILITY OF SUCH DAMAGE.
33
#
34
# Revision $Id$
35

    
36
## Simple talker demo that listens to std_msgs/Strings published 
37
## to the 'chatter' topic
38

    
39
import rospy
40
from std_msgs.msg import String
41

    
42
def callback(data):
43
    rospy.loginfo(rospy.get_caller_id() + 'I heard %s', data.data)
44

    
45
def listener():
46

    
47
    # In ROS, nodes are uniquely named. If two nodes with the same
48
    # name are launched, the previous one is kicked off. The
49
    # anonymous=True flag means that rospy will choose a unique
50
    # name for our 'listener' node so that multiple listeners can
51
    # run simultaneously.
52
    rospy.init_node('listener', anonymous=True)
53

    
54
    rospy.Subscriber('chatter', String, callback)
55

    
56
    # spin() simply keeps python from exiting until this node is stopped
57
    rospy.spin()
58

    
59
if __name__ == '__main__':
60
    listener()