urdfdom icon indicating copy to clipboard operation
urdfdom copied to clipboard

Improvements for the URDF xsd specification

Open aminya opened this issue 1 year ago • 3 comments

The improvements include specifications for:

  • joint types
  • link
  • image
  • camera
  • laser ray
  • ray
  • sensor
  • gazebo

This builds on top of the XSD changes from #183 and then fixes the remaining XSD issues related to:

  • Link's element repetition specific
  • gazebo's lax processing
  • the robot namespace backward compatibility

The specification can be tested via the following (e.g. in VsCode with the XML extension):

<?xml-model href="https://raw.githubusercontent.com/aminya/urdfdom/xsd/xsd/urdf.xsd"?>
<robot name="test">

The above code is backward compatible with the parsers as it doesn't add a namespace to the robot tag. If a namespace is added, some parsers like Python's parser add ns0: before the tags. Not requiring a namespace makes it possible to verify the XML without changing the tags.

aminya avatar Apr 16 '24 20:04 aminya

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/extending-urdf-to-include-physical-interfaces-plugs-and-computing-components-e-g-control-boxes/41061/4

ros-discourse avatar Dec 13 '24 23:12 ros-discourse

Hi people 😃 ... any update on this ?

harleylara avatar Dec 14 '24 00:12 harleylara

The PR has been ready to get merged! Waiting for someone with access.

aminya avatar Dec 14 '24 02:12 aminya

The PR has been ready to get merged! Waiting for someone with access.

Good point. @mjcarroll It does not seem that there are a lot of active maintainers in URDF-related repos (typically because existing one are busy). Would you be open to add some maintainers to the maintenance team?

traversaro avatar Feb 25 '25 15:02 traversaro

I would be up for discussing it. This repo is maintained by the ROS 2 PMC, so issues here should be serviced with relative frequency. I will bring it up in the meeting next week, at a minimum as a friendly reminder that we should be maintaining this as well.

mjcarroll avatar Feb 26 '25 21:02 mjcarroll

Thanks a lot!

traversaro avatar Feb 26 '25 22:02 traversaro

Shouldn't this PR be retargeted to traversaro:movespecification, because it is basically an extension of it?

peci1 avatar Feb 26 '25 22:02 peci1

Shouldn't this PR be retargeted to traversaro:movespecification, because it is basically an extension of it?

The purpose here is improving the specification while the other PR's main goal was to move the files.

aminya avatar Feb 26 '25 22:02 aminya

Pulls: ros/urdfdom#200 Gist: https://gist.githubusercontent.com/christophebedard/485560f7b1ab52b22ea3c3f1b5883b39/raw/7e8accc029c75c63ed5193ae83a97e539995e165/ros2.repos BUILD args: --packages-above-and-dependencies urdfdom TEST args: --packages-above urdfdom ROS Distro: rolling Job: ci_launcher ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15354

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

christophebedard avatar Mar 12 '25 16:03 christophebedard

Pulls: ros/urdfdom#200 Gist: https://gist.githubusercontent.com/christophebedard/28865f6815726c35666598d5b925134c/raw/47730d40060c699121fab46468cc3454e4fdec11/ros2.repos BUILD args: --packages-above-and-dependencies urdfdom TEST args: --packages-above urdfdom ROS Distro: jazzy Job: ci_launcher ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15355

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

christophebedard avatar Mar 12 '25 16:03 christophebedard

I know almost nothing about URDF, but I can trigger CI for both Rolling and Jazzy, since this repo @ master is used for both Rolling and Jazzy.

christophebedard avatar Mar 12 '25 16:03 christophebedard

CI looks good, but I don't personally have permissions to merge this.

christophebedard avatar Mar 12 '25 20:03 christophebedard