gazebosim / gazebosim/sdformat

Proposal: Make <joint>::<axis>::<limit>::<lower>/<upper> elements optional and default to unbounded

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

Description

**Original report ([archived issue](https://osrf-migration.github.io/sdformat-gh-pages/#!/osrf/sdformat/issues/169)) by Michael Grey (Bitbucket: [mxgrey](https://bitbucket.org/%7Bc1cdfe52-2887-474c-ae99-72fdc53a59c9%7D/), GitHub: [mxgrey](https://github.com/mxgrey)).**

----------------------------------------
According to [the documentation](http://sdformat.org/spec?ver=1.6&elem=joint#limit_lower), if an `` element is specified, then a `` element is required, which then requires both `` and `` elements.

Many users might not realize that they can safely use `inf` or `-inf` in their sdf to express unbounded limits, and that may influence them to exercise questionable practices, like using `99999999999` to get the behavior they want.

We could make `` and `` optional elements whose values default to be unbounded (-/+inf). I think it's intuitive that if a user declines to specify a limit, then we should assume there is no limit.

I believe this change would also be backwards compatible with existing SDFs.

Contributor guide

Open the contributing guide

Research direction

No implementation files, tests, or entry points are named. Begin by locating the parser and schema handling for ::::::/, then verify that omitted bounds default to -/+inf while existing SDFs remain compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, xml
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.