如何从ROS实时获取python中的数据?
我是ROS中的begginer,不知道如何用Python进行“发布”和“订阅”。我有一个file.bag,我用如何从ROS实时获取python中的数据?,python,qt,ros,Python,Qt,Ros,我是ROS中的begginer,不知道如何用Python进行“发布”和“订阅”。我有一个file.bag,我用rosbag播放“file.bag”播放这个文件 我在xterm中使用rostopicecho/“topic”或rostopicecho-n1/“topic”获取topic的值 但是,我无法使用python实时查看这些值,以在QtGUI中显示。我读过教程,但不懂 我可以举一个例子来说明/odom[nav\u msgs/Odometry]或/back\u laser/filtered[se
rosbag播放“file.bag”
播放这个文件
我在xterm中使用rostopicecho/“topic”
或rostopicecho-n1/“topic”
获取topic的值
但是,我无法使用python实时查看这些值,以在QtGUI中显示。我读过教程,但不懂
我可以举一个例子来说明
/odom[nav\u msgs/Odometry]
或/back\u laser/filtered[sensor\u msgs/LaserScan]
仔细看一下教程。特别是
将cd放入您的源文件夹中
并创建新包:
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 {}
现在,您应该在启动侦听器的终端上看到一些输出!凯蒂嗨!斯蒂芬,我试过这个密码。然而,尽管/odom显示为subscribe(rostopiclist-v),但在执行“listerner.py”时,我在xterm中看不到任何内容。我做了什么坏事?非常感谢,我期待着收到你的来信