Skip to content

Proposal for simulation interfaces #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

Merged
merged 33 commits into from
Mar 21, 2025

Conversation

adamdbrw
Copy link
Contributor

Following ros-infrastructure/rep#410, this PR contains a first version of simulation interfaces.

Signed-off-by: Adam Dąbrowski <[email protected]>
@adamdbrw adamdbrw changed the title First (complete) draft of simulation interfaces Proposal for simulation interfaces Dec 17, 2024
Copy link
Contributor

@peci1 peci1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As stated in the comments, I think EntityState should not be a part of Entity. Instead, a message EntityWithState could be created to bind the two.

adamdbrw and others added 6 commits December 19, 2024 15:32
Co-authored-by: Martin Pecka <[email protected]>
Co-authored-by: Steve Peters <[email protected]>
Signed-off-by: Adam Dąbrowski <[email protected]>
Signed-off-by: Adam Dąbrowski <[email protected]>
Signed-off-by: Adam Dąbrowski <[email protected]>
Signed-off-by: Adam Dąbrowski <[email protected]>

robot_namespace -> namespace

Signed-off-by: Adam Dąbrowski <[email protected]>
Signed-off-by: Adam Dąbrowski <[email protected]>
Copy link
Collaborator

@azeey azeey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a couple comments. Unfortunately, I haven't had much time to review this PR, so there are still parts I haven't reached. I'll be on vacation for a couple weeks, but I'll try to make this a priority when I return.

@adamdbrw adamdbrw requested review from scpeters, peci1 and azeey January 7, 2025 14:13
@adamdbrw
Copy link
Contributor Author

adamdbrw commented Jan 7, 2025

All comments so far have been addressed, please take another look and approve / suggest changes.

Copy link
Contributor

@DLu DLu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for putting in this work.

For progress sake, you may want to consider breaking this up into several PRs. If you made one with just the package metadata, then merge that immediately, and then the other bits can go in chunks.

I'd also like to integrate another interface for collisions but that is blocked at the moment.

adamdbrw and others added 3 commits January 13, 2025 13:39
Co-authored-by: David V. Lu!! <[email protected]>
- wording change for stepping service
- features message
- comment documentation for USD and URDF formats
- custom formats list field

Signed-off-by: Adam Dąbrowski <[email protected]>
@adamdbrw
Copy link
Contributor Author

@DLu thank you for the review, I applied most of your comments and responded to remaining 2 with some argumentation.
I am open to break the PR down if needed, and to include collisions at a later stage (once this one is merged)

Copy link
Collaborator

@azeey azeey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the long delay in responding. I like the scope of the PR and the direction it's been evolving so far.

I'd like to ask if @omichel would also chime in for the Webots perspective.

Copy link
Contributor

@sea-bass sea-bass left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DLu asked me to take a look at this due to my work on https://github.com/sea-bass/pyrobosim -- as such, you now have even more feedback in this very ambitious (and unenviable) task of standardizing such a thing.

Hope this is helpful!

adamdbrw and others added 2 commits January 20, 2025 10:48
Co-authored-by: David V. Lu!! <[email protected]>
Co-authored-by: Addisu Z. Taddese <[email protected]>
- Changed SpawnPose to NamedPose, added tags.
- SpawnEntity interface substantially updated.
- Some improved documentation, especially regarding spawning.
- applied other code review comments

Signed-off-by: Adam Dąbrowski <[email protected]>
Signed-off-by: Adam Dąbrowski <[email protected]>
Copy link
Contributor

@DLu DLu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I think we should mark Bounds.msg and Result.msg as things that should be migrated upstream in the long term. Bounds.msg should probably be integrated with shape_msgs and @mjcarroll probably has a better opinion of where Result should go.

@adamdbrw
Copy link
Contributor Author

adamdbrw commented Mar 10, 2025

It is a busy time for me now but I will do my best to apply all the feedback this week.
Update: on it now

adamdbrw and others added 2 commits March 17, 2025 11:35
Co-authored-by: David V. Lu!! <[email protected]>
- Added SetEntityInfo to be enable setting of items such as tags.
- EntityCategory is now self-contained.
- Updated SimulationFeatures to reflect changes
- Adjusted documentation in a few places.
- Added 2 new sections to the README.

Signed-off-by: Adam Dąbrowski <[email protected]>
@adamdbrw
Copy link
Contributor Author

@Amronos @ayushgnv could you check if your requested changes have been applied as intended and remove the change request / approve if that's the case?

Copy link
Contributor

@peci1 peci1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went through the result again and it looks pretty good.

I had some minor comments, but they mostly affect the comments in files, so should not affect the interfaces themselves.

- Documentation of relevant feature support flag per each interface.
- Enumeration naming changed to TYPE_, CATEGORY_ etc.
- Default to 1 for steps.
- Other minor suggested docs changes.

Signed-off-by: Adam Dąbrowski <[email protected]>
@adamdbrw
Copy link
Contributor Author

@peci1 all applied.
@ayushgnv if you could, please also check the current iteration for your requested changes and comment further or approve.

Signed-off-by: Adam Dąbrowski <[email protected]>
Copy link
Contributor

@PawelLiberadzki PawelLiberadzki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great proposition! I have only one remark about handling a specific case.

Co-authored-by: Paweł Liberadzki <[email protected]>
@adamdbrw
Copy link
Contributor Author

@mjcarroll @tfoote please let me know if you would like to approve the current version of the PR or any other changes need to happen. Thank you!

Copy link
Contributor

@PawelLiberadzki PawelLiberadzki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am sorry, I introduced this mistake (in comment) with my last suggestion. Here is the correct one. Except that, everything is fine.

Co-authored-by: Paweł Liberadzki <[email protected]>
Copy link
Member

@tfoote tfoote left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that this is in good shape to get started with. We should be ready to evolve it as the implementations get filled in and we learn what we overlooked in the design, either too detailed or not fully specified.

@DLu
Copy link
Contributor

DLu commented Mar 21, 2025

ship it

@DLu
Copy link
Contributor

DLu commented Apr 30, 2025

So I think we should mark Bounds.msg and Result.msg as things that should be migrated upstream in the long term. Bounds.msg should probably be integrated with shape_msgs and @mjcarroll probably has a better opinion of where Result should go.

For anyone who wants to debate ROS interfaces even more, I have created two upstream PRs for upstream migration.

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

Successfully merging this pull request may close these issues.