ros20.04发布者的python编写的标准格式
时间: 2024-03-25 11:37:58 浏览: 60
在ROS 2中,Python编写的发布者的标准格式如下:
```python
import rclpy
from std_msgs.msg import String
def main(args=None):
rclpy.init(args=args)
node = rclpy.create_node('publisher_node')
publisher = node.create_publisher(String, 'topic_name', 10)
msg = String()
msg.data = 'Hello, World!'
while rclpy.ok():
publisher.publish(msg)
node.get_logger().info('Publishing: "%s"' % msg.data)
rclpy.spin_once(node)
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
```
其中,`String`是消息类型,`10`是消息队列大小,`'topic_name'`是发布的话题名称,`msg.data`是消息内容。在while循环中,使用`publisher.publish(msg)`发布消息,使用`node.get_logger().info()`打印日志信息,使用`rclpy.spin_once(node)`来保持节点运行。最后,在程序结束时调用`node.destroy_node()`和`rclpy.shutdown()`来关闭节点。
阅读全文