Lov*_*vro 5 python python-3.x ros ros2 rosbag
我正在尝试从Python 3读取rosbag文件。
我安装了ROS2(Eloquent Elusor),它应该支持Python 3。
当我跑步时
import rosbag
bag = rosbag.Bag('test.bag')
Run Code Online (Sandbox Code Playgroud)
从Python 2.7开始,它可以工作了。
当我在 Python 3 中尝试同样的操作时,我得到:
ModuleNotFoundError: No module named 'rosbag'
Run Code Online (Sandbox Code Playgroud)
我也尝试过诸如: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)
Run Code Online (Sandbox Code Playgroud)
您可以使用该bagpy包在Python中读取.bag文件。可以使用pip安装
pip install bagpy
Run Code Online (Sandbox Code Playgroud)
简要文档位于https://jmscslgroup.github.io/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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30507 次 |
| 最近记录: |