Hi Patchwork++ community,
URML (urml.dev) is a small, Apache-2.0 language for describing robot intent: an intent becomes a typed primitive, validated against the robot's declared capabilities and a safety envelope, then dispatched. Patchwork++ is a perception pre-processing step -- separating ground from obstacles -- and that feeds the occupancy a robot reasons about, which URML consumes as the world its constraints are checked against.
Nothing here asks the project to adopt, host, or maintain anything. This is a request for comment.
The mapping: Patchwork++ turns a raw LiDAR scan into ground vs non-ground, which downstream becomes the obstacle / occupancy model. URML's geofence / occupancy constraints are validated against that model. URML consumes the result; Patchwork++ does the segmentation.
Two real questions: (1) is "Patchwork++ segments the scan, URML validates intent against the resulting occupancy" a sensible (if indirect) consumer relationship? (2) Is a segmentation step the right altitude to engage, or is the seam better at a mapping layer that consumes Patchwork++?
Full write-up: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0527-patchwork-plusplus-outreach.md
Thanks for Patchwork++; fast, robust ground segmentation is where the occupancy a robot reasons about begins.
Ido Yahalomi (URML, greenvh@gmail.com)
AI-assisted prose, maintainer-reviewed before posting (see https://github.com/URML-MARS/URML/blob/main/VIBE.md). Human-only correspondence available on request.
Hi Patchwork++ community,
URML (urml.dev) is a small, Apache-2.0 language for describing robot intent: an intent becomes a typed primitive, validated against the robot's declared capabilities and a safety envelope, then dispatched. Patchwork++ is a perception pre-processing step -- separating ground from obstacles -- and that feeds the occupancy a robot reasons about, which URML consumes as the world its constraints are checked against.
Nothing here asks the project to adopt, host, or maintain anything. This is a request for comment.
The mapping: Patchwork++ turns a raw LiDAR scan into ground vs non-ground, which downstream becomes the obstacle / occupancy model. URML's geofence / occupancy constraints are validated against that model. URML consumes the result; Patchwork++ does the segmentation.
Two real questions: (1) is "Patchwork++ segments the scan, URML validates intent against the resulting occupancy" a sensible (if indirect) consumer relationship? (2) Is a segmentation step the right altitude to engage, or is the seam better at a mapping layer that consumes Patchwork++?
Full write-up: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0527-patchwork-plusplus-outreach.md
Thanks for Patchwork++; fast, robust ground segmentation is where the occupancy a robot reasons about begins.
Ido Yahalomi (URML, greenvh@gmail.com)
AI-assisted prose, maintainer-reviewed before posting (see https://github.com/URML-MARS/URML/blob/main/VIBE.md). Human-only correspondence available on request.