-
Notifications
You must be signed in to change notification settings - Fork 291
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
Reset models and worlds similarly to Ctrl + R in Gazebo Classic #203
Comments
Thank you for ticketing this! Since this PR we already have a message interface to reset simulation time, for example:
The way systems can react to this is by looking at From the PR: Systems can detect rewinds by checking:
To detect pause:
To detect time jump while paused (dt is zero during regular pause):
So I think the main missing pieces are:
|
Great, thanks for providing these details! If I understood well, there's already the initial support for something similar than Ctrl+R, actually more advanced since it allows selecting Few comments:
|
That's true for live simulations, but the
That's a valid point. Since time management happens outside of the ECM, I think a component approach would be tough to implement though. Probably an event like we have for pause would be more appropriate:
Fully agreed. The message interface already keeps those separate, with reset / rewind separate from seek. |
xref #1107 |
I see a lot of new GUI-related issues to track new features, and that's great! There's one feature, though, that in Gazebo Classic was used extensively by pretty much all the people I know that's still missing: resetting a world with
Ctrl + R
.Gazebo Classic had the following APIs:
gazebo::physics::Model::Reset
gazebo::physics::World::Reset
I never had a look at how it was implemented previously, what I want to add to this issue as a reminder is that it would be nice having a sort of callback that world and model plugins could use to reset their state.
A simple alternative would be adding a new reset component and ask plugin developers to always check if this component is present and take action. Both would equally work, at first thought I don't see major limitations of any of them. Maybe the callback would propagate better and more clearly.
Partially related to #113.
The text was updated successfully, but these errors were encountered: