gazebosim / gazebosim/sdformat
parser_urdf should not ignore origin of floating and planar joints
- Dominant language
- C++
- Stars
- 216
- Forks
- 125
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 14
Description
## Desired behavior
While investigating a [question related to the reference frame used for floating URDF joints](https://robotics.stackexchange.com/questions/24458/urdf-to-sdf-frame-of-reference-calculation-for-base-joint-fixed-vs-floating), I noticed that `parser_urdf.cc` currently takes no action when encountering `floating` and `planar` joints (see the [switch logic](https://github.com/gazebosim/sdformat/blob/sdf13/src/parser_urdf.cc#L3027-L3029) where no value for `jtype` is set and the subsequent [if block](https://github.com/gazebosim/sdformat/blob/sdf13/src/parser_urdf.cc#L3063)). This causes the `//joint/origin` tag to be ignored for these joint types, when it should be passed along to the SDFormat file in the link pose.
## Alternatives considered
## Implementation suggestion
## Additional context
Contributor guide
Research direction
Start in src/parser_urdf.cc at the switch logic around lines 3027-3029 and the following conditional around line 3063. Trace how floating and planar joints handle the joint/origin tag, then verify that their origin is represented in the generated SDFormat link pose for both joint types.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100