• Mayank Mittal's avatar
    Modifies sensors to support sensors views (#42) · 7a76da7f
    Mayank Mittal authored
    # Description
    
    <!--
    Thank you for your interest in sending a pull request. Please make sure
    to check the contribution guidelines.
    
    Link: https://isaac-orbit.github.io/orbit/source/refs/contributing.html
    -->
    
    As a step towards supporting sensors as "Views", this PR upgrades the
    `SensorBase` class to follow a similar definition as `RobotBase` and
    updates the sensor implementations as well. Now, the following sensors
    are supported:
    
    * `Camera`: This spawns a USD camera object and instantiates it with
    replicator OmniGraph for different synthetic data
    * `RayCaster`: This is a virtual sensor that uses a warp kernel for
    raycasting against static meshes.
    * `ContactSensor`: This wraps around the `RigidContactView` from PhysX
    to provide the contact forces on encapsulated prims.
    
    Note: Currently camera rendering is not truly parallelized. They are
    called sequentially inside the `Camera` to fetch their data.
    Additionally, some camera data such as bounding boxes are not possible
    to get in the torch backend. Due to this, they are not supported in the
    new `Camera` class.
    
    Old the old sensor implementations have been moved to the
    `omni.isaac.orbit.compat.sensors` module for backwards compatibility. We
    will remove them once we have moved to v1.0.
    
    Fixes #3
    
    <!-- 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. -->
    
    - New feature (non-breaking change which adds functionality)
    - Breaking change (fix or feature that would cause existing
    functionality to not work as expected)
    - This change requires a documentation update
    
    ## 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
    - [x] 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
    
    <!--
    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
    -->
    7a76da7f
Name
Last commit
Last update
..
play_camera.py Loading commit data...