Improvements for the URDF xsd specification
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.
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
Hi people 😃 ... any update on this ?
The PR has been ready to get merged! Waiting for someone with access.
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?
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.
Thanks a lot!
Shouldn't this PR be retargeted to traversaro:movespecification, because it is basically an extension of it?
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.
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
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
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.
CI looks good, but I don't personally have permissions to merge this.