Skip to content

Add support for SRDF sphere approximation output#17

Open
nickswalker wants to merge 1 commit intoCoMMALab:masterfrom
nickswalker:feature-srdf-output
Open

Add support for SRDF sphere approximation output#17
nickswalker wants to merge 1 commit intoCoMMALab:masterfrom
nickswalker:feature-srdf-output

Conversation

@nickswalker
Copy link

@nickswalker nickswalker commented Feb 12, 2026

Old ros docs
MoveIt parser

Add support for saving spheres to Semantic Robot Description files. Add ability for existing generate_sphere_urdf.py to output srdf if user passes srdf output path.

SRDFs are semantic metadata files meant to accompany URDFs and clarify how to use the URDF for e.g. planning. The spec includes link sphere approximations. Using the side-car instead of simply replacing the URDF collisions is less invasive (with a sidecar, you can make minor changes to your xacro and rebuild your URDF without wiping away the sphere approximation) and lets you have access to both for uses where you'd still want the mesh (e.g. an exact check).

Example:

<?xml version="1.0" encoding="utf-8"?>
<robot name="fr3_robotiq">
	...
	<link_sphere_approximation link="fr3_link0">
		<sphere center="-0.012898551136139233 -0.0012041360684210938 0.06767921685539421" radius="0.11959"></sphere>
		<sphere center="-0.08394655113613923 0.0038248639315789064 0.04058421685539422" radius="0.095099"></sphere>
	</link_sphere_approximation>
	<link_sphere_approximation link="fr3_link1">
		<sphere center="0.0002572757452726364 0.00036496158409118906 -0.1395377861636877" radius="0.076596"></sphere>
		<sphere center="-0.0002227242547273636 -0.05429003841590881 0.0004042138363122977" radius="0.077209"></sphere>
		<sphere center="0.0021852757452726366 -0.032367038415908815 -0.07320478616368771" radius="0.063841"></sphere>
	</link_sphere_approximation>
	...
</robot>

SRDFs are semantic metadata files meant to accompany URDFs
and clarify how to use the URDF for e.g. planning.
The spec includes link sphere approximations. Using
the side-car instead of simply replacing the URDF
collisions is less invasive and lets you have access
to both for uses where you'd still want the mesh (e.g. an exact check)
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

Successfully merging this pull request may close these issues.

1 participant