-
Notifications
You must be signed in to change notification settings - Fork 100
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
proposal: Should determine how to specify a default configuration for joints #253
Comments
Realized that the |
Beside the meaningful distinction between default and initial configuration, I think that the following (Classic) Gazebo issues are related: |
BTW when I was working with John @hsu and @scpeters a few years ago we made some progress in generalizing sdf to support joints in their general, unassembled form which looks something like this: In general assembly must be seen as a computation (solve for a configuration that satisfies all constraints). It is actually a very difficult nonlinear problem, especially for 3d mechanisms with closed topologies. In the case of a design study that can change dimensions or placements of joints, assembly must be recomputed at each design step. CAD systems do this in a very general way, allowing users to build "parts" and specify "mates" (and other constraints) and then assemble. (I'm mentioning this so we don't accidentally lock in the special case where joints can only be defined in an assembled configuration in the sdf.) |
Er, just to check, did you mean "[...] where joints can only be defined in an [...]"? |
@traversaro gazebosim/gazebo-classic#230 seems like it could be covered by |
Yup, thanks -- edited. |
Probably yes, but my main goal was just to provide a backlink to this issue if someone found the old issue on Google. |
This was discussed between @joemasterjohn, @azeey, @scpeters, @sammy-tri, and myself earlier today (2020/04/23) in a VC. Transcribing that to an issue.
//joint/axis/initial_position
will be deprecated when SDFormat 1.8 comes out, because it's true purpose was not well-defined, appeared redundant w.r.t.//world/state
and (primarily) was not used at all in Gazebo (or maybe anything else?):https://github.com/osrf/sdformat/blame/f5c88a94/Changelog.md#L13
However, as discussed here:
RobotLocomotion/drake#13065 (comment)
There should be some way to specify a default configuration that is intrinsic to a model (especially for closed-loop configurations), but this will not affect the zero configuration, and will only be used in downstream applications. This ensures the definition is decoupled from context (encapsulation) and decouples physical validity from modeling.
It is proposed to offer some way to specify this default configuration (ideally in minimal coordinates), for multiple types of joints (single-DoF, mutli-DoF), in a clear and concise syntax, and hopefully is termed in such a way that its purpose is clearly not intended to be something like
//world/state
.FTR, currently, Gazebo closed-loop chain models require assembly (e.g. must be physically valid).
Some add'l things that the proposal should discuss:
libsdformat
s responsibility is (i.e. parsing the value, storing it in DOM, and making it accessible later, suggested API)In talking with Joe, he said he would be up for taking a stab at submitting a PR to
sdf_tutorials
with the proposal.Joe, if you would like help on something (or feel that you will not have time to do this), please let me know.
Here's the format for making a proposal:
http://sdformat.org/tutorials?tut=proposal_format
A PR should be made against https://github.com/osrf/sdf_tutorials
\cc @sherm1
The text was updated successfully, but these errors were encountered: