常规API
阻塞线程spin¶
可以阻塞当前的线程。
rospy.spin()
频率操作Rate¶
可以按照一定的频率操作循环执行。
rate = rospy.Rate(10)
while True:
rate.sleep()
Tip
rate中的参数10,代表在while循环中,每秒钟运行10次。
节点状态判断¶
-
可以判断当前节点是否停止
-
可以按照一定的频率操作循环执行。
rospy.is_shutdown()
Python完整示例¶
#!/usr/bin/env python
# coding:utf-8
import rospy
if __name__ == '__main__':
node_name = "hello_py"
rospy.init_node(node_name)
rate = rospy.Rate(10)
while not rospy.is_shutdown():
print "hello ros python node"
rate.sleep()
# 阻塞线程
rospy.spin()