gazebosim / gazebosim/sdformat

proposal: Should determine how to specify a default configuration for joints

Open
#253 7 comments 2 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
216
Forks
125
Avg merge
1d 14h
Merged PRs (30d)
14

Description

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:
https://github.com/RobotLocomotion/drake/issues/13065#issuecomment-617308431
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:
* What `libsdformat`s responsibility is (i.e. parsing the value, storing it in DOM, and making it accessible later, suggested API)
* What downstream applications are responsible for to adhere to the spec (i.e. use it when a user asks for a *default configuration*, not to be confused with a zero configuration()
* What should the syntax look like for all types of joints supported in SDFormat.

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.