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

proposal: Should allow //pose rotation to be specified in degrees? #252

Closed
4 tasks done
EricCousineau-TRI opened this issue Apr 23, 2020 · 4 comments
Closed
4 tasks done
Assignees

Comments

@EricCousineau-TRI
Copy link
Collaborator

EricCousineau-TRI commented Apr 23, 2020

Will make proposal with suggested syntax. Degrees is my main interest, but we can leave space for other stuff.

Came about recently (as well as longer ago) when discussing here:
RobotLocomotion/drake#13036 (review)

Steps:

(Moved from gazebosim/sdf_tutorials#8)

@EricCousineau-TRI
Copy link
Collaborator Author

EricCousineau-TRI commented May 21, 2020

Release target is SDFormat 1.8 (est. Dec. 1, 2020).

Could also incorporate quaternions, Denavit-Hartenberg, etc. But we should avoid pre-Cambrian explosims 💥...

Other option: Require degrees, full-stop.

@EricCousineau-TRI
Copy link
Collaborator Author

Punting on this for SDFormat 1.8

@EricCousineau-TRI
Copy link
Collaborator Author

EricCousineau-TRI commented May 20, 2021

Per VC, Addisu mentioned that Aaron is looking into whether XSD and/or *.sdf schema files can support <pose>value</pose> and <pose><child>value</child>...</pose>.

I am fine w/ compromise (e.g. rotation_units="x", or degrees="true") if there is large overhead in terms of schema validation and data migration.


Operating plan is to target Fortress (Sept. 2021): https://ignitionrobotics.org/docs/all/releases

aaronchongth added a commit that referenced this issue Jun 2, 2021
Signed-off-by: Aaron Chong <[email protected]>
aaronchongth added a commit that referenced this issue Sep 2, 2021
* Added rotation type attribute to pose, handled parsing in param

Signed-off-by: Aaron Chong <[email protected]>

* Using degrees boolean attribute in pose instead, added tests and test sdf

Signed-off-by: Aaron Chong <[email protected]>

* Fix code check

Signed-off-by: Aaron Chong <[email protected]>

* Changed attribute to @rotation_type, modified tests, added delimiters

Signed-off-by: Aaron Chong <[email protected]>

* Passing attributes into param value parsing, reverted Utils loadPose function

Signed-off-by: Aaron Chong <[email protected]>

* Reverted location of parsing nested sdf

Signed-off-by: Aaron Chong <[email protected]>

* Added parent element for param, more tests

Signed-off-by: Aaron Chong <[email protected]>

* Const ref for GetAttributes and it's relevant calls

Signed-off-by: Aaron Chong <[email protected]>

* Reverting clone and copy behavior without reallocating memory, using make_shared

Signed-off-by: Aaron Chong <[email protected]>

* Compared parent element pointers instead of just the names

Signed-off-by: Aaron Chong <[email protected]>

* Removed redundant reset, checked for null parent before printing error

Signed-off-by: Aaron Chong <[email protected]>

* Moved tests from integration/param_parent_element to Param_TEST

Signed-off-by: Aaron Chong <[email protected]>

* Reverting urdf.sdf, adding new pose_without_frames.sdf, using that in actor and inertial

Signed-off-by: Aaron Chong <[email protected]>

* Fixed typo, added explicit named default variable, made rotation type errors clearer

Signed-off-by: Aaron Chong <[email protected]>

* Added comment in pose_1_9.sdf that each pose is independent

Signed-off-by: Aaron Chong <[email protected]>

* Removed use of parsing by string, modified tests to reflect changed behavior

Signed-off-by: Aaron Chong <[email protected]>

* Reverted changes made to schema for poses that do not handle relative_to frames

Signed-off-by: Aaron Chong <[email protected]>

* ComCompare degrees more explicitly in tests instead of using IGN_DTOR

Signed-off-by: Aaron Chong <[email protected]>

* Using consistent notation for reporting rotation_type attribute, modifying test

Signed-off-by: Aaron Chong <[email protected]>

* Using instead of typedef for forward declaration, error strings include full value

Signed-off-by: Aaron Chong <[email protected]>

* Using RedirectConsoleStream and ScopeExit, using Root and Root::LoadSdfString in tests

Signed-off-by: Aaron Chong <[email protected]>

* Added Reparse function for Param, relevant tests regarding rotation_type manipulation, cleaned up

Signed-off-by: Aaron Chong <[email protected]>

* Reducing changes to just the degrees attribute, modifying tests because of behavior changes in Set

Signed-off-by: Aaron Chong <[email protected]>

* Fixed stale brief and comment, breaking for loops early

Signed-off-by: Aaron Chong <[email protected]>

* Changed 'required' of @relative_to and @Degrees to 0, and modified description of pose to be more explicit

Signed-off-by: Aaron Chong <[email protected]>

* Modified reparsing tests in Param_TEST, added another test using Pose

Signed-off-by: Aaron Chong <[email protected]>

* Using alias Pose instead of full type name, added check for parent element pointer, fixed typo

Signed-off-by: Aaron Chong <[email protected]>

* Support printing pose elements in degrees, added tests

Signed-off-by: Aaron Chong <[email protected]>

* Removed const for SetParentElement

Signed-off-by: Aaron Chong <[email protected]>

* Adding additional documentation for the behavior between Set<T> and Reparse

Signed-off-by: Aaron Chong <[email protected]>

* Storing parsed tokens in array instead of vector

Signed-off-by: Aaron Chong <[email protected]>

* Used explicit Get<boo> for degrees attribute

Signed-off-by: Aaron Chong <[email protected]>

* Fixed missing array include for windows build

Signed-off-by: Aaron Chong <[email protected]>

* Check for valueIndex, instead of array size

Signed-off-by: Aaron Chong <[email protected]>
@EricCousineau-TRI
Copy link
Collaborator Author

Closing given merge of #689

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

No branches or pull requests

2 participants