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

Manipulation station (cupboard, iiwas, wsg, cameras, and objects) should all specified via yaml #10022

Closed
RussTedrake opened this issue Nov 14, 2018 · 12 comments

Comments

@RussTedrake
Copy link
Contributor

RussTedrake commented Nov 14, 2018

The manipulation station example should migrate to loading the entire configuration from sdf, with the only assumptions being that there is one IIWA model, one WSG model, and some number of cameras.

Consider also including the camera serial numbers as a tag in the sdf.

Note: Updated title to reflect the plan to use yaml instead of sdf

@RussTedrake RussTedrake self-assigned this Nov 14, 2018
@RussTedrake
Copy link
Contributor Author

Cc @siyuanfeng-tri

@EricCousineau-TRI
Copy link
Contributor

EricCousineau-TRI commented Nov 18, 2018

From having dealt with this, I'm not sure if SDF is the correct solution unless we want to fix our resource paths and do everything through Xacro (which is inflexible since this is going to be compile-time gen, and we should avoid needing this at all during runtime).
I'd say resource paths may be non-trivial because it will cause backwards-incompatible changes to both the SDF and the consuming code.

Perhaps simple YAML assembly is the right step forward in the short term, after which we should really focus on improving upon SDF or creating a better format for assembling scenes, if it's something that we want other people to use.

@RussTedrake RussTedrake changed the title Manipulation station (cupboard, iiwas, wsg, cameras, and objects) should all specified via sdf Manipulation station (cupboard, iiwas, wsg, cameras, and objects) should all specified via yaml Mar 8, 2019
@RussTedrake
Copy link
Contributor Author

I believe that the current plan of record for this is to port the yaml parsing from anzu into drake. @sammy-tri -- perhaps I could put this onto your plate? (priority is marked as low)

@jwnimmer-tri
Copy link
Collaborator

@sammy-tri If you like, I could start moving the visitor/archive pattern over? That seems to have stabilized by this point, even though the schemas that use it are still evolving.

@jwnimmer-tri
Copy link
Collaborator

And to clarify.. I think the YamlReadArchive is stable enough to move to Drake. I don't think we can move many specific schemas (like model directives) yet -- they are some mix of too unstable, or too poorly designed, to upstream.

@EricCousineau-TRI
Copy link
Contributor

EricCousineau-TRI commented Mar 8, 2019

+1000 to Jeremy's comment

Extra peanut gallery comment, paralleling my other in #10851:
There's been quite a few PRs and issues that (to me, at least) indicate that ManipulationStation should be broken apart for applications that do not fit its design (which for simple tutorial uses is absolutely great, but over-encapsulated for anything else).

I think that config files only mask this problem, and may not be the best solution.

@sammy-tri
Copy link
Contributor

I could start moving the visitor/archive pattern over?

👍 yeah, I think it's time to do this. We can discuss further about the specific schemas.

@jwnimmer-tri jwnimmer-tri self-assigned this Mar 8, 2019
@jwnimmer-tri
Copy link
Collaborator

I could start moving the visitor/archive pattern over?

=> #10869

@jwnimmer-tri jwnimmer-tri removed their assignment Mar 8, 2019
@RussTedrake RussTedrake added type: MIT manipulation Related to http://manipulation.mit.edu unused team: robot locomotion group and removed type: MIT underactuated Related to http://underactuated.mit.edu labels Jan 26, 2020
@huihuaTRI
Copy link
Contributor

huihuaTRI commented Feb 21, 2020

Just curious about the update on this issue. Another use case of this feature popped up in Drake while trying to simulate HSR. See slack for a brief discussion with Calder.

EDIT(eric): Scrubbed link.

@jwnimmer-tri
Copy link
Collaborator

As of #13282, the full YAML scene language ("model directives") is available in Drake. The manipulation_station has not been ported to that yet, though.

@RussTedrake
Copy link
Contributor Author

This will be resolved via #14992

@jwnimmer-tri
Copy link
Collaborator

jwnimmer-tri commented Apr 7, 2023

See also #19155 re: parsing SDFormat camera sensors directly.

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

No branches or pull requests

5 participants