gpt4 book ai didi

python - python中如何从ROS实时获取数据?

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:12 30 4
gpt4 key购买 nike

我是 ROS 的初学者,我不明白如何在 Python 中进行“发布”和“订阅”。我有一个文件 .bag,我使用 rosbag play "file.bag"来播放该文件。

我在 xterm 中使用 rostopic echo/"topic"rostopic echo -n 1/"topic" 获取主题值。

但是,我无法使用 python 实时查看该值以在 QT GUI 中显示。我已阅读教程http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribers但我不明白。

我可以举一个 /odom [nav_msgs/Odometry]/back_laser/filtered [sensor_msgs/LaserScan]

最佳答案

仔细查看教程。特别是http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28python%29

cd 进入 youd 源文件夹

并创建新包:

catkin_create_pkg playground

cd到该目录

cd playground

创建文件listener.py并添加以下内容:

#!/usr/bin/env python
import rospy
from std_msgs.msg import String
from nav_msgs.msg import Odometry
def callback(data):
rospy.loginfo(rospy.get_caller_id()+"I heard %s",data)

def listener():
rospy.init_node('listener', anonymous=True)
rospy.Subscriber("odom", Odometry, callback)
rospy.spin()

if __name__ == '__main__':
listener()

使可执行文件:

chmod +x listener.py

启动核心:

roscore

新终端,运行监听节点:

rosrun playground listener.py

新终端发布一些里程计数据:

rostopic pub -r1 /odom nav_msgs/Odometry {}

现在您应该在启动监听器的终端上看到一些输出!catki

关于python - python中如何从ROS实时获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26656943/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com