• Mayank Mittal's avatar
    Changes internal working of APIs to use physics views directly (#267) · 6f4cc59d
    Mayank Mittal authored
    # Description
    
    For a long time, we have been seeing a slow simulation setup time (i.e.
    time spent in `sim.reset` call). It takes around 70-75 seconds to set up
    the simulation for ANYmal locomotion task with the new USD asset for it.
    This number is only increasing with other more complex robots we have
    been trying to import.
    
    The MR dives into the possible causes and gets rid of costly operations.
    Many of these are coming from Isaac Sim itself, particularly related to
    the initialization of views. Hence, the following breaking changes:
    
    * We no longer depend on Isaac Sim for `RigidPrimView` and
    `ArticulationView`. Instead, we directly create underlying PhysX views
    for them.
    * We add faster reimplementations of functions that are used for regex
    matching.
    
    With these changes, the simulation load time is reduced from up to 80
    sec to 15 sec. A bulk of the time is still going to setting up the
    simulation step for the first time.
    
    ## Type of change
    
    - Breaking change (fix or feature that would cause existing
    functionality to not work as expected)
    
    ## Screenshots
    
    | Before | After |
    | ------ | ----- |
    |
    ![orig-fg](https://github.com/isaac-orbit/orbit/assets/12863862/c13f1634-bd2c-4daf-97e0-3b5776b5cd37)
    |
    ![ref-fg](https://github.com/isaac-orbit/orbit/assets/12863862/b509049d-4cbd-45d6-a4f4-6082f4caf7f2)
    |
    
    ## Checklist
    
    - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
    `./orbit.sh --format`
    - [x] I have made corresponding changes to the documentation
    - [ ] My changes generate no new warnings
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [x] I have updated the changelog and the corresponding version in the
    extension's `config/extension.toml` file
    - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
    exists there
    6f4cc59d
Name
Last commit
Last update
.github Loading commit data...
.vscode Loading commit data...
docker Loading commit data...
docs Loading commit data...
source Loading commit data...
.dockerignore Loading commit data...
.flake8 Loading commit data...
.gitignore Loading commit data...
.pre-commit-config.yaml Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS.md Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
VERSION Loading commit data...
orbit.sh Loading commit data...
pyproject.toml Loading commit data...