first commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# SRDF implementation notes
|
||||
|
||||
These notes describe the current runtime shape so the documentation does not overstate what the code enforces.
|
||||
|
||||
## Implemented in the current code
|
||||
|
||||
- `scripts/srdf` generates explicit targets only.
|
||||
- `gen_srdf()` must return an envelope with `xml` and `urdf`.
|
||||
- Generated SRDF is validated against the linked URDF before writing.
|
||||
- The CLI injects or updates local `tcad:urdf` metadata.
|
||||
- Group states use `joint_values_by_name` / `jointValuesByName` in URDF-native units.
|
||||
- Deprecated `joint_values_by_name_rad` / `jointValuesByNameRad` aliases remain for compatibility.
|
||||
- Group-state values are checked for group membership, finite values, fixed/mimic status, and URDF limits when available.
|
||||
- End-effector overlap and adjacency checks are implemented.
|
||||
- Disabled-collision reasons are required and classified into broad provenance buckets.
|
||||
- Optional CAD Viewer MoveIt2 controls use `protocolVersion: 1`.
|
||||
- Pose targets support `quat_xyzw` and `rpy`.
|
||||
- Position-only IK is explicit in request settings and defaults based on whether orientation is provided.
|
||||
- Legacy degree fields are converted by joint type so prismatic values remain linear.
|
||||
- Error responses sanitize absolute paths unless debug errors are enabled.
|
||||
|
||||
## Not yet fully implemented in code
|
||||
|
||||
The following remain process requirements and future code-improvement targets:
|
||||
|
||||
- full URDF structural validation shared with the URDF skill;
|
||||
- virtual joint parsing and validation;
|
||||
- passive joint parsing and exclusion from active planning variables;
|
||||
- hard failure for disconnected chain base/tip definitions in every case;
|
||||
- subgroup cycle detection as a first-class validation error;
|
||||
- typed SRDF generation helpers;
|
||||
- structured assumption/warning envelope fields;
|
||||
- sampled self-collision matrix generation;
|
||||
- full MoveIt configuration package generation;
|
||||
- safer generator execution in a subprocess.
|
||||
|
||||
Until those are implemented, rely on the planning ledger, MoveIt Setup Assistant, `$cad-viewer` handoff for visual/MoveIt smoke tests when available, and explicit reporting of skipped checks.
|
||||
Reference in New Issue
Block a user