Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rosbag] Restore snapshot functionality #1399

Closed
kev-the-dev opened this issue May 15, 2018 · 8 comments
Closed

[rosbag] Restore snapshot functionality #1399

kev-the-dev opened this issue May 15, 2018 · 8 comments

Comments

@kev-the-dev
Copy link
Contributor

kev-the-dev commented May 15, 2018

Background

The deprecated rosrecord command (replaced with rosbag record) had an experimental snapshot feature which kept the buffer in memory until triggered with a separate command to write to disk. This feature is useful in live testing scenarios where the importance of recording data is only obvious after something interesting happens and is found in proprietary robotics middleware. AFAIK this feature still exists in the source, but is inaccessible from the CLI.

Proposal

  • Restore the snapshot functionality to rosbag record by exposing the option to the argument parser
  • Add an option for snapshotting to buffer a fixed time duration in the past. It's more convenient for users to know they have the last 5 seconds of data like a dashcamera than thinking in terms of buffer memory usage
  • Instead of triggering write with a std_msgs/Empty, use an actionlib goal. This goal would allow the user to specify which topics to save, how far back to go, and name to give the file (ex: save the last 15 seconds of pointcloud data to cyclist_at_night.bag). The action component would allow the user to see the progress (feedback) of writing large multigigabyte files to disk.
  • Add service to pause recording, so users can have some time to think about what to save before it is overwritten

I would like to take on this project after receiving feedback on the design.

@kev-the-dev
Copy link
Contributor Author

I found #1294 and saw that we don't want to break the existing API. Perhaps this is appropriate for a new subcommand, rosbag snapshot?

@jian-dong
Copy link

@kev-the-dev Any update about this MR?

@kev-the-dev
Copy link
Contributor Author

As discussed in the above linked PR, @DLu volunteered to make this an independent package

@jian-dong
Copy link

@kev-the-dev Thanks for you reply, this package link rosbag_snapshot not reachable , maybe it is private.

@DLu
Copy link
Contributor

DLu commented May 21, 2020

Still working on it...

@jian-dong
Copy link

@DLu Thank you.

@DLu
Copy link
Contributor

DLu commented Jun 11, 2020

Public version availble now: https://github.com/locusrobotics/rosbag_snapshot

Working on getting it cloned at https://github.com/ros/rosbag_snapshot

@dirk-thomas
Copy link
Member

@DLu thanks for the update.

Since there is nothing to be done in this repo I will go ahead and close this ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants