• rwiltz's avatar
    Implements teleop config parameters and device factory (#293) · c45b8c0b
    rwiltz authored
    This change moves the configuration of the teleop device from the end
    user scripts (record_demos.py, teleop_se3.py, etc) to the env config
    itself. This allows the task to specify what teleop devices are
    supported along with the per env configuration of supported teleop
    device.
    
    Example teleop config inside of the env config:
    ```
            self.teleop_devices = DevicesCfg(
                devices={
                    "handtracking": OpenXRDeviceCfg(
                        retargeters=[
                            Se3RelRetargeterCfg(
                                bound_hand=OpenXRDevice.TrackingTarget.HAND_RIGHT,
                                zero_out_xy_rotation=True,
                                use_wrist_rotation=False,
                                use_wrist_position=True,
                                delta_pos_scale_factor=10.0,
                                delta_rot_scale_factor=10.0,
                                sim_device=self.sim.device,
                            ),
                            GripperRetargeterCfg(
                                bound_hand=OpenXRDevice.TrackingTarget.HAND_RIGHT, sim_device=self.sim.device
                            ),
                        ],
                        sim_device=self.sim.device,
                        xr_cfg=self.xr,
                    ),
                    "keyboard": Se3KeyboardCfg(
                        pos_sensitivity=0.05,
                        rot_sensitivity=0.05,
                        sim_device=self.sim.device,
                    ),
                }
            )
    ```
    <!--
    Thank you for your interest in sending a pull request. Please make sure
    to check the contribution guidelines.
    
    Link:
    https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html
    -->
    
    Please include a summary of the change and which issue is fixed. Please
    also include relevant motivation and context.
    List any dependencies that are required for this change.
    
    Fixes # (issue)
    
    <!-- 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. -->
    
    <!-- As you go through the list, delete the ones that are not
    applicable. -->
    
    - New feature (non-breaking change which adds functionality)
    - This change requires a documentation update
    
    Please attach before and after screenshots of the change if applicable.
    
    <!--
    Example:
    
    | Before | After |
    | ------ | ----- |
    | _gif/png before_ | _gif/png after_ |
    
    To upload images to a PR -- simply drag and drop an image while in edit
    mode and it should upload the image directly. You can then paste that
    source into the above before/after sections.
    -->
    
    - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
    `./isaaclab.sh --format`
    - [x] I have made corresponding changes to the documentation
    - [x] 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 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
    
    <!--
    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
    -->
    
    ---------
    Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
    Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
    Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
    c45b8c0b
Name
Last commit
Last update
..
benchmarks Loading commit data...
demos Loading commit data...
environments Loading commit data...
imitation_learning Loading commit data...
reinforcement_learning Loading commit data...
tools Loading commit data...
tutorials Loading commit data...