-
Notifications
You must be signed in to change notification settings - Fork 277
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
Consolidate entity creation. #2452
Conversation
Signed-off-by: Nate Koenig <[email protected]>
Signed-off-by: Nate Koenig <[email protected]>
@osrf-jenkins run tests |
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 see this error msg when running the levels.sdf world but performers + levels do seem to work though:
[Err] [LevelManager.cc:110] Could not find a plugin tag with name gz::sim. Levels and distributed simulation will not work.
Co-authored-by: Ian Chen <[email protected]> Signed-off-by: Nate Koenig <[email protected]>
Signed-off-by: Nate Koenig <[email protected]>
Thanks. It looks like I had a incorrect |
I just tried merging this forward to |
@nkoenig The change in plugin loading behavior would be considered a breaking change evidenced by the way |
Related issue: #1786 |
looks like we made a gz-sim7 release with this change on 2024-07-22 (changelog entry). If we undo the change in behavior for plugin loading, we should do another release to keep the no. of affected users small. |
PR gazebosim#2452 changed the loading order of plugins attached to worlds and models. While the change is desirable, it changed the behavior of functions like `topicFromScopedName`. This reverts the behavior and the changes in associated tests. Signed-off-by: Addisu Z. Taddese <[email protected]>
Restores the behavior where the `Configure` function of model plugins are called before the model's parent entity is set. --------- Signed-off-by: Addisu Z. Taddese <[email protected]>
🎉 New feature
Summary
I'm slowly splitting up #1669. This PR breaks out the consolidation of entity creation into a separate PR. The LevelManager had entity creation logic, which mimicked (mostly) the functionality in SdfEntityCreator.
The SdfEntityCreator now contains the logic to create entities, and the level manager's logic has been removed. The SimulationRunner loads the level manager, plugins, and calls
SdfEntityCreator::CreateEntities
.Notes
LogicalAudioSensorPlugin
andPosePublisher
systems usedtopicFromScopedName
withfalse
for the_excludeWorld
parameter. Prior to this PR, this result was a model scoped name (/mode/blah). This was because the model wasn't attached to the world when the plugin'sConfigure
function was called. With this PR, the model is now properly attached. In order to maintain the expected behavior, I've changed thefalse
totrue
when using thetopicFromScopedName
function.Wind
plugin was loaded by the LevelManager. I've propagated this to SdfEntityCreator. I don't think this should effect simulation behavior.Test it
The tests should pass.
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.