python 提取bag ⽂件数据——bagpy
python 提取bag ⽂件数据——bagpy
bagpy是⼀个 Python 包,⽤于⽅便读取基于语义数据类型的 rosbag ⽂件。
bagpy 提供了⼀个⽤ python 编写的包装类 bagreader,它提供了⼀个易于使⽤的接⼝,⽤于读取 rosbag record 命令记录的包⽂件。这个包装类在内部使⽤ ROS 的 python API rosbag 来执⾏所有操作。使⽤ bagreader 的有趣特性之⼀是⽤户⽆需提供 rostopic 名称即可提取相关数据。可以根据⽤户正在寻的数据类型提取数据。
要求
Ubuntu 18.04 或更⾼版本
Python 3.5 或更⾼版本。实测python3.9安装失败,使⽤python3.8安装成功。pip 安装,推荐使⽤ Python 3.x 虚拟环境。
安装
根据作者介绍,开发这个项⽬背后的理念是让⼀切尽可能简单和不那么混乱。因此,bagreader类致⼒于⽤最简单的⽅式提取相关数据,没有提供太多选项或使⽤⾃由。如果您需要多种选择,⽤户可以直接使⽤ ROS 的 rosbag python 包或 MATLAB 提供的 Robotics System Toolbox API。但是,如果您正在寻简单,bagpy 是⼀个优雅的选择。
例⼦
python怎么读取py文件导⼊python 包
Topics
Types
Message Count
Frequency 0/customer_output/poi/geodetic fixposition_msgs/PoseTwistWithVarStamped
216820.0065061/customer_output/poi/odometry
nav_msgs/Odometry 216619.9766812/gnss1/epoch fixposition_msgs/GnssEpoch 541 5.0053633/g
nss1/epoch/proc fixposition_msgs/GnssEpoch 541 4.9973364/gnss1/latency fixposition_msgs/GnssLatency 210.1999965/gnss1/raw fixposition_msgs/RawGnss 886311037.6421056/gnss1/status fixposition_msgs/GnssStatus 1080.9996077/gnss2/epoch fixposition_msgs/GnssEpoch 539 4.9994458
/gnss2/epoch/proc
fixposition_msgs/GnssEpoch
539
4.988625
pip install python
1
import bagpy
from bagpy import bagreader import pandas as pd
fpath = r"D:\Document\vrtk_292590_medium_2022-01-19-12-12-55_0.bag"b = bagreader (fpath )#查看所有的topics b .topic_table
# topics = b.topic_table#['Topics']
12345678910
[INFO] Data folder D:\Document\vrtk_292590_medium_2022-01-19-12-12-55_0 already exists. Not creating.
1
9/gnss2/latency fixposition_msgs/GnssLatency 210.19996010/gnss2/raw fixposition_msgs/RawGnss 894511765.22861211/gnss2/status fixposition_msgs/GnssStatus
1060.99991112/imu/data sensor_msgs/Imu 21222206.50406213/magn/data sensor_msgs/MagneticField 10725100.60454314/ntrip/latency fixposition_msgs/GnssLatency 210.19979715/ntrip/raw fixposition_msgs/RawGnss
4509939.10900516/rosout_agg rosgraph_msgs/Log 166 2.90380217/tf_static tf2_msgs/TFMessage
1NaN 18/vio/diagnostics diagnostic_msgs/DiagnosticStatus
533 4.93851019/vio/imu_biases sensor_msgs/Imu 191919.04117320/vio/odometry nav_msgs/Odometry 191719.48496321
/vio/status
actionlib_msgs/GoalStatusArray
532
4.939386
Topics Types Message Count
Frequency 读取某个topic
b .message_by_topi
c ("/customer_output/poi/geodetic")#该代码会在讲该topic 提取到如下路径
1
2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论