MATLAB Answers

playing ROS '.bag' files

64 views (last 30 days)
Kyle Stanhouse
Kyle Stanhouse on 3 Aug 2016
Edited: Majid Golkhatab on 24 Jul 2021
Is there a Matlab ROS library function similar to 'rosbag play'? I have some bag files that I'd like to 'play' with the objective of using the tf's to transform lidar scans etc. ... after reading the tutorials it seems that my only option seems to be to loop through the bag files and publish each message in sequence?

Answers (1)

Alexander
Alexander on 15 Aug 2017
I don't believe there is a rosbag play or record function like ROS has. You could parse out topics with the following and then loop as you mention, but it's much easier to plot the parsed messages as a time series for instance. As an example to graph odometry as an XY plot-
rosbag(filename);
bagselect = select(bag, 'Topic', '/odom');
ts = timeseries(bagselect, 'Pose.Pose.Position.X', 'Pose.Pose.Position.Y');
plot(ts.Data(:,1), ts.Data(:,2));
A ROS style play and record would be a fantastic time saving addition to future Robotics System Toolbox versions.
  1 Comment
Majid Golkhatab
Majid Golkhatab on 24 Jul 2021
rosbag(filename);
This code Must change to:
bag = rosbag(filename);

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!