gazebosim / gazebosim/sdformat

parser_urdf should not ignore origin of floating and planar joints

Open
#1,282 2 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.