Commit 394a260
committed
[Sensor] Fix ray caster path matching regressions (#7516)
# Description
This PR fixes the two remaining ray-caster path-matching failures:
1. The ray-caster camera tutorial counted four sensors for two camera
prims because `/World/Origin_.*/CameraSensor` allowed `.*` to cross path
separators under whole-path regular-expression matching.
2. Legacy Newton multi-mesh ray casters could fail to associate
tracked-target sites when registration used a regular-expression path
but initialization resolved it to concrete prim paths.
The stale post-reset Newton sensor result reported in #7236 is now fixed
at the sensor state boundary by #7523, which this branch inherits from
`develop`. The earlier environment-loop synchronization workaround and
its tests/changelog fragments have therefore been removed from this PR.
## Changes
- Restrict the tutorial environment wildcard to one path segment with
`/World/Origin_[^/]+/CameraSensor`.
- Associate legacy Newton tracked-target site labels by configuration
order instead of path-expression strings.
- Remove the obsolete `--enable_cameras` argument from the tutorial
smoke case.
- Add regression coverage for regular-expression target resolution.
Fixes #6572
Related: #7236, resolved by #7523.
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## Release backport
- [x] Backport this pull request to the active release branch after it
merges into `develop`
## Screenshots
Not applicable.
## Validation
- `uv run python -m pytest
source/isaaclab_newton/test/sensors/test_newton_raycast_sensor.py -vv`
(18 passed, including the #7523 FK regressions in eager and CUDA-graph
modes)
- `uv run python -m pytest
source/isaaclab/test/app/test_standalone_scripts.py::test_commands_respect_script_launcher_capabilities
-vv` (1 passed)
- Verified the ad-hoc tracked-target regression fails with the old
string-key association and passes with this fix in eager and CUDA-graph
modes.
- Verified the exact clone-plan topology from #6572 passes on the merged
branch in eager and CUDA-graph modes.
- `ISAACLAB_CHANGELOG_BASE_REF=upstream-develop uv run isaaclab -f`
The full standalone Newton multi-object demo smoke could not launch in
this checkout because the newly merged installer guard rejects combining
the downloaded Isaac Sim package with the active Python virtual
environment; it exited before application startup.
## Checklist
- [x] I have read and understood the contribution guidelines
- [x] I have run the pre-commit checks
- [x] I have made corresponding changes to the tutorial and smoke
configuration
- [x] My changes generate no new warnings
- [x] I have added tests that prove the remaining fix is effective
- [x] I have added changelog fragments for the touched source packages
- [x] My name already exists in `CONTRIBUTORS.md`
(cherry picked from commit 167b6b1)1 parent 084e9d9 commit 394a260
7 files changed
Lines changed: 54 additions & 10 deletions
File tree
- scripts/tutorials/04_sensors
- source
- isaaclab_newton
- changelog.d
- isaaclab_newton/sensors/ray_caster
- test/sensors
- isaaclab
- changelog.d
- test/app
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
| 60 | + | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| |||
Whitespace-only changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
268 | | - | |
269 | | - | |
270 | | - | |
| 268 | + | |
271 | 269 | | |
272 | 270 | | |
273 | 271 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
232 | 232 | | |
233 | 233 | | |
234 | 234 | | |
235 | | - | |
| 235 | + | |
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 10 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
45 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
46 | 52 | | |
47 | 53 | | |
48 | 54 | | |
| |||
71 | 77 | | |
72 | 78 | | |
73 | 79 | | |
74 | | - | |
75 | | - | |
| 80 | + | |
| 81 | + | |
76 | 82 | | |
77 | 83 | | |
78 | 84 | | |
| |||
Lines changed: 36 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
31 | 37 | | |
32 | 38 | | |
33 | 39 | | |
| |||
162 | 168 | | |
163 | 169 | | |
164 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
165 | 200 | | |
166 | 201 | | |
167 | 202 | | |
| |||
0 commit comments