
Srdf
Generate and validate MoveIt2 SRDF semantics so motion-planning disabled-collision data is trustworthy before you visualize or tune the robot in CAD.
Install
npx skills add https://github.com/earthtojake/text-to-cad --skill srdfWhat is this skill?
- Generates MoveIt2 SRDF files from valid structural sources instead of hand-editing decorative XML.
- Validates disabled-collision entries as planning-safety evidence, not arbitrary markup.
- Default workflow hands generated SRDFs to cad-viewer for visual review and optional MoveIt2 controls.
- Documents valid source patterns so collision pairs stay traceable to geometry evidence.
- MIT-licensed skill aimed at robotics builders using text-to-cad and MoveIt2 together.
Adoption & trust: 1.6k installs on skills.sh; 5.8k GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
SRDF work sits in Build because it wires robot semantics into MoveIt2 as integration output, not launch-time distribution or production monitoring. Integrations is the right shelf: SRDF is derived planning-safety data that connects your URDF/CAD pipeline to MoveIt2 planners.
Common Questions / FAQ
Is Srdf safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Srdf
interface: display_name: "SRDF" short_description: "Generate and validate MoveIt2 SRDF semantics." default_prompt: "Use $srdf to generate and validate MoveIt2 SRDF files, then hand generated SRDFs to $cad-viewer for review and optional MoveIt2 controls." MIT License Copyright (c) 2026 earthtojake Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # SRDF disabled collisions Disabled collisions are planning-safety data. Treat them as derived evidence, not as decorative XML. ## Valid sources Use one of these sources: - adjacent-link policy from the URDF kinematic graph; - MoveIt Setup Assistant self-collision matrix generation; - sampled collision analysis from a known MoveIt configuration; - explicit user-provided collision matrix; - a manually reviewed pair with a specific rationale. Do not infer disabled collision pairs from visual appearance or vague prose. ## XML shape ```xml <disable_collisions link1="base_link" link2="shoulder_link" reason="Adjacent"/> ``` The current runtime requires: - `link1` and `link2`; - both links to exist in the URDF; - distinct link names; - a non-empty `reason`; - no duplicate or reversed duplicate pairs. ## Reason and provenance Use truthful reasons. Examples: | Reason | Typical source | |---|---| | `Adjacent` | URDF graph adjacency | | `Never` | Setup Assistant sampled matrix | | `Always` | Setup Assistant sampled matrix | | `Default` | Setup Assistant sampled matrix | | `Manual: tool fixture is outside workspace envelope` | Explicit human review | The current parser classifies reasons into broad provenance buckets such as adjacent, sampled, setup assistant, manual, or assumed. Avoid `assumed` unless the user explicitly requested a provisional SRDF and the risk is reported. ## Review checklist Before committing a disabled collision pair: - Is the pair adjacent or sampled-safe? - Does disabling the pair hide a possible real collision during the planned task? - Was the pair generated with sufficient sampling density? - Is the pair still valid after geometry, limits, or group membership changed? - Was manual rationale written down? If many manual pairs are present, prefer regenerating the self-collision matrix with MoveIt Setup Assistant. # SRDF end effectors Use this reference when creating or editing `<end_effector>` entries or preparing MoveIt2 pose-target handoffs for `$cad-viewer`. ## Concept An end effector is a semantic designation for a tool, gripper, sensor head, or other terminal group. It is typically connected to a parent planning group through a fixed joint or attachment link. Typical shape: ```xml <group name="gripper"> <joint name="finger_joint"/> </group> <end_effector name="gripper_eef" parent_link="tool0" group="gripper" parent_group="manipulator"/> ``` ## Required ledger fields Record: - end-effector name; - end-effector group; - parent planning group; - parent link where the end effector attaches; - target/TCP link used for IK and planning; - whether the end-effector group ov