-
Notifications
You must be signed in to change notification settings - Fork 1
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
New log file format design #9
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Nate Koenig <nate@openrobotics.org>
Signed-off-by: Nate Koenig <nate@openrobotics.org>
Signed-off-by: Nate Koenig <nate@openrobotics.org>
1. Support random access to logged data | ||
1. Low barrier to entry | ||
1. A user of the current log format needs to re-implement the Gazebo ECS. | ||
1. Efficient |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Support being "interrupted" in that the log file won't be corrputed/destroyed in the case that Gazebo is shut down incorrectly or has a segmentation fault.
Since user systems run directly in the executable, there is always a chance of segfaults and we should do as much as possible to preserve already written data in case that happens.
1. Low overhead when writing log files. | ||
1. Self-contained | ||
1. Capture initial simulation state | ||
1. Capture topic names, message types, and message definitions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not all topics/message definitions may be available when recording starts, we should accommodate this.
|
||
## Requirements | ||
|
||
1. Cross-platform and cross-language |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should note a minimum set of languages to help bound this a little bit.
From what we use in Gazebo, (C++, Ruby, Python, Typescript/Javascript, Go) would cover 99% of our use cases correct?
1. Log format version | ||
1. Gazebo version | ||
1. Date and time of recording | ||
1. Optionally include all assets used by simulation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Importantly, I think it would be nice to include these assets in a way that is not "echoing them to a topic" the way that it was typically done in ROS 1 bags.
Signed-off-by: Nate Koenig nate@openrobotics.org
Working on a new log file format for Gazebo. This is a WIP