目录
一、发布
1、实现步骤
1.导包
2.初始化 ROS 节点:命名(唯一)
3.实例化 发布者 对象
4.组织被发布的数据,并编写逻辑发布数据
2、代码实例
#! /usr/bin/env python
# -*- coding:UTF-8 -*-
#导包
import rospy
from std_msgs.msg import String
if __name__ == "__main__":
#初始化 ROS 节点:命名(唯一)
rospy.init_node("talker_p")
#实例化 发布者 对象
pub = rospy.Publisher("chatter",String,queue_size=10)
#发布的数据
msg = String()
msg_front = "meng"
count = 0
rate = rospy.Rate(1)
while not rospy.is_shutdown():
#拼接字符串
msg.data = msg_front + str(count)
#发布数据
pub.publish(msg)
rate.sleep()
count += 1
二、接收
1、实现步骤
1.导包
2.初始化 ROS 节点:命名(唯一)
3.实例化 订阅者 对象
4.处理订阅的消息(回调函数)
5.设置循环调用回调函数
2、代码实例
#! /usr/bin/env python
# -*- coding:UTF-8 -*-
#导包
import rospy
from std_msgs.msg import String
#处理订阅的消息(回调函数)
def doMsg(msg):
rospy.loginfo("data:%s",msg.data)
if __name__ == "__main__":
#初始化 ROS 节点:命名(唯一)
rospy.init_node("listener_p")
#实例化 订阅者 对象
sub = rospy.Subscriber("chatter",String,doMsg,queue_size=10)
#设置循环调用回调函数
rospy.spin()
三、配置运行
1、修改CMakeLists.txt
2、修改可执行权限
终端下进入 scripts 执行:chmod +x *.py