Skip to content

feat: add Python access to Environment primitives#105

Merged
claytonwramsey merged 3 commits into
mainfrom
read-environment
May 1, 2026
Merged

feat: add Python access to Environment primitives#105
claytonwramsey merged 3 commits into
mainfrom
read-environment

Conversation

@claytonwramsey
Copy link
Copy Markdown
Member

This adds access to the list of primitives in a vamp environment. This is helpful for (e.g.) connecting other visualizers beyond the basic PyBullet visualizer.

Question -- should access maybe be mutable instead to allow direct adjustment of the primitive set?

Copy link
Copy Markdown
Collaborator

@zkingston zkingston left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I think for the simple primitives (i.e., not heightfields and pointclouds) access would be fine. There is a potential footgun with the z_aligned_* primitives.

@claytonwramsey
Copy link
Copy Markdown
Member Author

Leaving as read-only for now. If we find a use case for making them writable it's a non-breaking change to update it, so it's easy for us to fix.

@claytonwramsey claytonwramsey merged commit 052c8ce into main May 1, 2026
8 checks passed
@claytonwramsey claytonwramsey deleted the read-environment branch May 1, 2026 16:08
H-tr added a commit to Robot-TLab/vamp-prob that referenced this pull request May 13, 2026
Mirrors the existing Sphere/Cuboid/Cylinder binding pattern:
- ``GaussianObstacle(mean, sigma_upper, alpha=1.0)`` constructor
- read-only access to mean/covariance components + alpha +
  three_sigma_extent + min_distance + name
- ``mean`` and ``sigma_upper`` convenience properties returning
  packed arrays.

Environment gains ``add_gaussian_obstacle`` (calls ``sort()`` after
push, matching ``add_sphere``) and the read-only ``gaussian_obstacles``
property (mirrors the recent KavrakiLab#105 commit that exposed the other
primitives).

Pure additive: deterministic deserialisation and existing pybind
callers are unaffected.
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.

2 participants