在Python 3中导入Rosbag
我正在尝试从Python 3读取rosbag文件。在Python 3中导入Rosbag,python,python-3.x,ros,ros2,rosbag,Python,Python 3.x,Ros,Ros2,Rosbag,我正在尝试从Python 3读取rosbag文件。 我安装了ROS2(雄辩的Elusor),它应该支持Python 3 当我跑的时候 import rosbag bag = rosbag.Bag('test.bag') 在Python2.7中,它可以工作。 当我在Python 3中尝试同样的方法时,我得到: ModuleNotFoundError: No module named 'rosbag' 我也尝试过类似的方法:sudo-apt-install-python-rosbag,sudo-
我安装了ROS2(雄辩的Elusor),它应该支持Python 3 当我跑的时候
import rosbag
bag = rosbag.Bag('test.bag')
在Python2.7中,它可以工作。当我在Python 3中尝试同样的方法时,我得到:
ModuleNotFoundError: No module named 'rosbag'
我也尝试过类似的方法:sudo-apt-install-python-rosbag
,sudo-apt-install-python3-rospkg
和pip3-install-rospkg
,但它们没有帮助
我应该如何从Python 3打开rosbag文件
[编辑]这是调用
pip3 install rospkg
后的输出:
Requirement already satisfied: rospkg in ./rosbag-env/lib/python3.6/site-packages
Requirement already satisfied: catkin-pkg in ./rosbag-env/lib/python3.6/site-packages (from rospkg)
Requirement already satisfied: distro in ./rosbag-env/lib/python3.6/site-packages (from rospkg)
Requirement already satisfied: PyYAML in ./rosbag-env/lib/python3.6/site-packages (from rospkg)
Requirement already satisfied: pyparsing in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg)
Requirement already satisfied: python-dateutil in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg)
Requirement already satisfied: docutils in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg)
Requirement already satisfied: six>=1.5 in ./rosbag-env/lib/python3.6/site-packages (from python-dateutil->catkin-pkg->rospkg)
在执行pip3安装rospkg后,您能向我们展示结果吗?试试这个,它会起作用:
pip3 install pyrosbag
我已经编写了一个用于导入rosbag数据的纯Python 3模块。它是独立的-无需安装ROS。它仅适用于选定的消息类型子集,但应作为一个示例,您可以按照该示例解压缩感兴趣的消息类型:
您可以使用
bagpy
包读取Python中的.bag文件。它可以使用pip安装
pip install bagpy
简要文件载于
以下是示例代码段:
import bagpy
from bagpy import bagreader
b = bagreader('09-23-59.bag')
# get the list of topics
print(b.topic_table)
# get all the messages of type velocity
velmsgs = b.vel_data()
veldf = pd.read_csv(velmsgs[0])
plt.plot(veldf['Time'], veldf['linear.x'])
# quickly plot velocities
b.plot_vel(save_fig=True)
# you can animate a timeseries data
bagpy.animate_timeseries(veldf['Time'], veldf['linear.x'], title='Velocity Timeseries Plot')
根据它的说法,您必须在pip3中执行以下操作才能使rosbag正常工作:
pip3安装pycryptodomexpythongnupg
到目前为止为我工作。希望这也能帮助所有其他人
设置:
- Ubuntu 18.04
- 旋律的
- 蟒蛇3
bagreader
的实现如何在下面使用import rosbag
,它是如何安装的?我不确定我是否理解你的问题。