任务七:实现话题通信
mkdir -p ~/ROS/src
cd ~/ROS/src
catkin_init_workspace
cd ~/ROS
catkin_make
cd ~/ROS/src/
catkin_create_pkg project3 roscpp rospy std_msgs
cd ~/ROS
catkin_make
cd ~/ROS/src/project3
mkdir scripts
cd scripts
gedit talker.py
#!/usr/bin/env python
import rospy
from std_msgs.msg import String
def talker():
pub = rospy.Publisher('chatter', String, queue_size=10)
rospy.init_node('talker')
rate = rospy.Rate(10)
while not rospy.is_shutdown():
hello_str = "hello world %s" % rospy.get_time()
rospy.loginfo(hello_str)
pub.publish(hello_str)
rate.sleep()
if __name__ == '__main__':
talker()
gedit listener.py
#!/usr/bin/env python
import rospy
from std_msgs.msg import String
def callback(data):
rospy.loginfo(rospy.get_caller_id() + "I heard %s", data.data)
def listener():
rospy.init_node('listener')
rospy.Subscriber("chatter", String, callback)
rospy.spin()
if __name__ == '__main__':
listener()
chmod +x talker.py
chmod +x listener.py
catkin_install_python(PROGRAMS
scripts/talker.py
scripts/listener.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} )
cd ~/ROS
catkin_make
roscore (另外打开一个终端
source ./devel/setup.bash
rosrun project3 talker.py
source ./devel/setup.bash
rosrun project3 listener.py