Commit c7fd163
Fix star terrain crash on NumPy 2 (#6910)
# Description
`star_terrain` computed the bar lengths with `np.math.cos` and
`np.math.sin`. `np.math` was an alias for the standard library `math`
module; it was deprecated in NumPy 1.25 and removed in NumPy 2.0. Since
Isaac Lab 3.0 ships NumPy 2, any terrain configuration containing the
star sub-terrain raised `AttributeError: module 'numpy' has no attribute
'math'`, making `MeshStarTerrainCfg` unusable.
Use the standard library `math` module instead. The alias was the same
module object, so the generated geometry is unchanged.
The regression went unnoticed because `ROUGH_TERRAINS_CFG`, the only
config covered by the terrain generator tests, has no star sub-terrain.
Add a test that generates a star-only terrain, with a bar count that
exercises all three branches of the bar-length computation.
> Note: The testcase is written by Claude. I've confirmed the code fix
myself.
Fixes #6909
<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->
## Type of change
<!-- As you go through the list, delete the ones that are not
applicable. -->
- Bug fix (non-breaking change which fixes an issue)
## Release backport
- [x] <!-- backport-active-release --> Backport this pull request to the
active release branch after it merges into `develop`
## Checklist
- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package (do **not** edit
`CHANGELOG.rst` or bump `extension.toml` — CI handles that)
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it
For example,
- [x] I have done this task
- [ ] I have not done this task
-->
Co-authored-by: ooctipus <zhengyuz@nvidia.com>
(cherry picked from commit b44ea65)1 parent 6cfcb1d commit c7fd163
3 files changed
Lines changed: 47 additions & 4 deletions
File tree
- source/isaaclab
- changelog.d
- isaaclab/terrains/trimesh
- test/terrains
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 4 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
694 | 695 | | |
695 | 696 | | |
696 | 697 | | |
697 | | - | |
| 698 | + | |
698 | 699 | | |
699 | | - | |
| 700 | + | |
700 | 701 | | |
701 | | - | |
| 702 | + | |
702 | 703 | | |
703 | 704 | | |
704 | 705 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
52 | 88 | | |
53 | 89 | | |
54 | 90 | | |
| |||
0 commit comments