talker.py文件代码
#!/usr/bin/env python
#指定使用python解释代码
import rospy #导入rospy包,rospy是ROS的python客户端
from std_msgs.msg import String #导入python的标准字符处理库;String是一个函数可以另外赋值。
def talker(): #定义talker发布函数
pub = rospy.Publisher('chatter',String,queue_size=10) #定义发布主题名称为chatter,消息类型为String,实质std_msgs.msg.String,设置队列条目个数
rospy.init_node('talker',anonymous=True)#初始化节点,节点名称为talker;anonymous=True,要求每个节点都有唯一的名称,避免冲突。这样可以运行多个talker.py
rate = rospy.Rate(10)#10hz 设置发布频率,单位是每秒次数,这是每秒10次的频率发布主题
while not rospy.is_shutdown():#用于检测程序是否退出,是否按Ctrl+C或其它
hello_str = "Hello World %s" % rospy.get_time()
rospy.loginfo(hello_str)#在屏幕上输出日志信息;写入rosout节点,可以通过rqt_console查看。
pub.publish(hello_str)#发布信息到主题
rate.sleep()#睡眠一定持续时间如果为负数睡眠会立即返回
if __name__=='__main__':
try:
talker()
except rospy.ROSInterruptException:
pass
#测试代码运行roscore启动rosmaster
#使用rosrun 包名 talker.py启动发布主题信息
#可使用rostopic echo /chatter查看chatter主题信息
« 使用python订阅ros主题并接收消息
|
ros构建功能包方法»
|