本节对应赵虚左ROS书籍的2.1.3
以10hz,发布消息和消息的订阅
1)在功能包下新建scripts文件夹,在scripts文件夹下新建python文件,写入
#! /usr/bin/env python
from std_msgs.msg import String
import rospy
if __name__ == "__main__":
rospy.init_node("talker_p")
pub =rospy.Publisher("chatter",String,queue_size=100)
msg=String()
msg_front ="你好,hello"
count = 0
rate = rospy.Rate(10)
while not rospy.is_shutdown():
msg.data=msg_front+str(count)
pub.publish(msg)
rospy.loginfo("发送数据为:%s",msg.data)
rate.sleep()
count += 1
2) 订阅方的python文件写入:
#! /usr/bin/env python
from std_msgs.msg import String
import rospy
def doMsg(msg):
rospy.loginfo("我接受::::%s",msg.data)
if __name__ =="__main__":
rospy.init_node("listener_p")
sub =rospy.Subscriber("chatter",String,doMsg,queue_size=100)
rospy.spin()
2)修改CMakeLists.txt 162行
3)运行rosrun
rosrun <包名> <python名>