1. 14 Jan, 2025 4 commits
    • Antoine RICHARD's avatar
      Fixes issue where the indices were not created correctly. (#1660) · a73b63cb
      Antoine RICHARD authored
      # Description
      
      This PR fixes an issue in articulation object from omni.isaac.lab. The
      functions `write_root_com_pose_to_sim` and `write_root_link_to_sim` both
      result in an error where a variable is called before being assigned. I
      checked and there is a test for this, but I'm not sure why they don't
      catch it...
      
      The two functions have been changed to match the behaviors of
      `write_root_link_pose_to_sim` and `write_root_com_velocity_to_sim`.
      
      
      
      Fixes #1659 
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      a73b63cb
    • Kelly Guo's avatar
      Fixes documentation error for PD Actuator (#1668) · 8b5fd065
      Kelly Guo authored
      # Description
      
      There was a mismatch in the implementation of the IdealPDActuator code
      and the equation provided in the actuators docs. This change fixes the
      ordering of parameters in the docs to match the implementation in code.
      
      Fixes #1643 
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## Checklist
      
      - [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
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] 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
      -->
      8b5fd065
    • Octi Zhang's avatar
      Fixes docstrings in Articulation Data that report wrong return dimension (#1652) · 01d4f8eb
      Octi Zhang authored
      # Description
      
      Fixes docstring in Articulation data, where rigid body properties should
      be of dimension (num_instances, num_bodies, x) instead of
      (num_instances, 1, x).
      
      Fixes #1651
      
      <!-- 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
      
      docstring fix.
      
      - Bug fix (non-breaking change which fixes an issue)
      
      **Before Change**
      
      for the data
      '''
      body_link_pos_w
      body_link_quat_w
      body_link_vel_w
      body_link_lin_vel_w
      body_link_ang_vel_w
      body_com_pos_w
      body_com_quat_w
      body_com_vel_w
      body_com_lin_vel_w
      body_com_ang_vel_w
      '''
      
      The actual dimension are (num_instances, num_bodies, x),
      
       but the docstring says (num_instances, 1, x)
      
      **After Change**
      
      docstring says (num_instances, num_bodies, x)
      
      
      ## Checklist
      
      - [ ] 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
      - [ ] 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 <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      01d4f8eb
    • Manuel Schweiger's avatar
      Adds dict conversion test for ActuatorBase configs (#1608) · 9ab52d47
      Manuel Schweiger authored
      # Description
      
      <!--
      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/source/refs/contributing.html
      -->
      
      A recent PR
      (https://github.com/isaac-sim/IsaacLab/pull/1530#issuecomment-2558120594)
      causes issues with joint_parameter_lookup attributes of Articulation
      Configs. The `class_to_dict` utility function needs to return a
      primitive dict. Returning a torch.Tensor conflicts with OmegaConf.
      
      This PR adds a unittest for the dict conversion as requested by @lgulich
      so that the issue can be fixed. The test case fails on main branch as
      expected according to my understanding. Passes on v1.3.0.
      
      <!-- 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. -->
      
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      <!--
      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.
      -->
      
      ## Checklist
      
      - [x] 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
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] 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
      -->
      9ab52d47
  2. 08 Jan, 2025 3 commits
    • Nicola Loi's avatar
      Fixes action reset of pre_trained_policy_action (#1623) · de76c2e9
      Nicola Loi authored
      # Description
      
      Currently, the
      [PreTrainedPolicyAction](https://github.com/isaac-sim/IsaacLab/blob/v1.4.0/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/manager_based/navigation/mdp/pre_trained_policy_action.py#L24)
      class does not reset the actions in the low-level observations when a
      new episode starts.
      
      In my custom legged robot navigation task, the behavior was correct only
      during the first training episode but failed from the second episode
      onward. At the start of a new episode, the action observations are not
      reset and retain the last actions from the previous episode. This can
      impact training, as in my case, where the actions at the end of an
      episode differ significantly from those required at the beginning of an
      episode.
      
      This PR resolves the issue by resetting the low-level action
      observations at the beginning of each new episode.
      
      
      ## 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)
      
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [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
      -->
      de76c2e9
    • Stephan Pleines's avatar
      Updates pip installation documentation to clarify options (#1621) · 43a3ce9a
      Stephan Pleines authored
      # Description
      
      - As a first time user, I skipped over the sim part at first because I
      wanted lab - clarify that sim is required.
      - Rename anchors from sim to lab.
      - Move the notes about miniconda to where conda is actually used.
      - Clarify that there are two options for installation. Otherwise, a user
      progressing in order will run the full installation, and then discover
      that a minimal installation would have been an option.
      - Use separate attention boxes for the two separate items.
      
      Note: I was able to follow the pip instructions on Ubuntu24 with a
      minimal hack to force python3.10 instead of the default 3.12. I have not
      tried the binary installation instructions.
      
      ## Type of change
      
      Documentation only.
      
      ## Checklist
      
      I have built the documentation locally.
      
      - [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
      - [ ] I have added tests that prove my fix is effective or that my
      feature works - _n/a_
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file - _Does not affect an
      extension._
      - [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
      -->
      43a3ce9a
    • robotsfan's avatar
      Fixes the `joint_parameter_lookup` type in `RemotizedPDActuatorCfg` to support list format (#1626) · 628e5916
      robotsfan authored
      # Description
      
      Bug description: When I run `python
      source/standalone/workflows/rsl_rl/train.py --task
      Isaac-Velocity-Flat-Spot-v0 --headless`
      
      ```bash
      (isaaclab) ubuntu@ubuntu-4090:~/workspaces/IsaacLab$ python source/standalone/workflows/rsl_rl/train.py --task Isaac-Velocity-Flat-Spot-v0 --headless
      [INFO][AppLauncher]: Loading experience file: /home/ubuntu/workspaces/IsaacLab/source/apps/isaaclab.python.headless.kit
      [Warning] [omni.isaac.kit.simulation_app] Modules: ['omni.kit_app'] were loaded before SimulationApp was started and might not be loaded correctly.
      [Warning] [omni.isaac.kit.simulation_app] Please check to make sure no extra omniverse or pxr modules are imported before the call to SimulationApp(...)
      Loading user config located at: '/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omni/data/Kit/Isaac-Sim/4.2/user.config.json'
      [Info] [carb] Logging to file: /home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omni/logs/Kit/Isaac-Sim/4.2/kit_20250104_162107.log
      2025-01-04 08:21:07 [0ms] [Warning] [omni.kit.app.plugin] No crash reporter present, dumps uploading isn't available.
      
      |---------------------------------------------------------------------------------------------|
      | Driver Version: 550.100       | Graphics API: Vulkan
      |=============================================================================================|
      | GPU | Name                             | Active | LDA | GPU Memory | Vendor-ID | LUID       |
      |     |                                  |        |     |            | Device-ID | UUID       |
      |     |                                  |        |     |            | Bus-ID    |            |
      |---------------------------------------------------------------------------------------------|
      | 0   | NVIDIA GeForce RTX 4090          | Yes: 0 |     | 24564   MB | 10de      | 0          |
      |     |                                  |        |     |            | 2684      | 16760a40.. |
      |     |                                  |        |     |            | 1         |            |
      |=============================================================================================|
      | OS: 20.04.6 LTS (Focal Fossa) ubuntu, Version: 20.04.6, Kernel: 5.15.0-126-generic
      | XServer Vendor: The X.Org Foundation, XServer Version: 12013000 (1.20.13.0)
      | Processor: Intel(R) Core(TM) i9-14900KF | Cores: 24 | Logical: 32
      |---------------------------------------------------------------------------------------------|
      | Total Memory (MB): 64106 | Free Memory: 39407
      | Total Page/Swap (MB): 2047 | Free Page/Swap: 2046
      |---------------------------------------------------------------------------------------------|
      [INFO]: Parsing configuration from: omni.isaac.lab_tasks.manager_based.locomotion.velocity.config.spot.flat_env_cfg:SpotFlatEnvCfg
      [INFO]: Parsing configuration from: omni.isaac.lab_tasks.manager_based.locomotion.velocity.config.spot.agents.rsl_rl_ppo_cfg:SpotFlatPPORunnerCfg
      Traceback (most recent call last):
        File "/home/ubuntu/workspaces/IsaacLab/source/standalone/workflows/rsl_rl/train.py", line 151, in <module>
          main()
        File "/home/ubuntu/workspaces/IsaacLab/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/utils/hydra.py", line 79, in wrapper
          env_cfg, agent_cfg = register_task_to_hydra(task_name, agent_cfg_entry_point)
        File "/home/ubuntu/workspaces/IsaacLab/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/utils/hydra.py", line 57, in register_task_to_hydra
          ConfigStore.instance().store(name=task_name, node=cfg_dict)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/hydra/core/config_store.py", line 85, in store
          cfg = OmegaConf.structured(node)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 125, in structured
          return OmegaConf.create(obj, parent, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 178, in create
          return OmegaConf._create_impl(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 900, in _create_impl
          format_and_raise(node=None, key=None, value=None, msg=str(e), cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 861, in _create_impl
          return DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 899, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1045, in _node_wrap
          node = AnyNode(value=value, key=key, parent=parent)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 135, in __init__
          super().__init__(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 29, in __init__
          self._set_value(value)  # lgtm [py/init-calls-subclass]
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 46, in _set_value
          self._val = self.validate_and_convert(value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 76, in validate_and_convert
          return self._validate_and_convert_impl(value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 154, in _validate_and_convert_impl
          raise UnsupportedValueType(
      omegaconf.errors.UnsupportedValueType: Value 'Tensor' is not a supported primitive type
          full_key: env.scene.robot.actuators.spot_knee.joint_parameter_lookup
          object_type=dict
      ```
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - This change requires a documentation update
      
      
      ## Checklist
      
      - [x] 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
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] 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
      628e5916
  3. 07 Jan, 2025 1 commit
  4. 03 Jan, 2025 3 commits
    • Kyle Morgenstein's avatar
      Adds body tracking option to ViewerCfg (#1620) · a29bea03
      Kyle Morgenstein authored
      # Description
      
      Resolves Issue #1534 by adding non-root body tracking as an option in
      the ViewerCfg. See the issue for justification/discussion. API as
      follows:
      
      - Adds origin_type "asset_body"
      - Adds field "body_name"
      
      When origin_type = "asset_body" and "body_name" matches a body in the
      asset specified in "asset_name", the viewport is configured to track the
      link frame of the body in world coordinates. By using the existing eye
      and lookat fields in ViewerCfg the additional features are enabled:
      
      - Tracking the end effector of an arm during manipulation (see below)
      - Tracking a fixed offset from the end effector of an arm (e.g.
      mimicking the view of a wrist-mounted camera)
      - Tracking a mobile base using the currently-supported workaround for
      lack of wheel physics by defining a virtual arm to mimic the motion of
      the robot
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Training Video from "Isaac-Lift-Cube-Franka-v0" after 1000
      iterations.
      
      Viewer defined as follows:
      
      viewer = ViewerCfg(eye=(0.5, 0.5, 0.0), origin_type="asset_body",
      env_index=0, asset_name="robot", body_name="panda_hand")
      
      No other changes were made from the default environment definition.
      
      
      https://github.com/user-attachments/assets/fff24b50-c9d0-48dd-b4c2-3641a11f0d4d
      
      ## Checklist
      
      - [X] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [X] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      a29bea03
    • Rishi Veerapaneni's avatar
      Fixes MARL workflows for recording videos during training/inferencing (#1596) · 7ea72c40
      Rishi Veerapaneni authored
      # Description
      
      Fixing bug so that using training workflow on MARL workflow populates
      videos/train.
      See #1595
      
      ## Type of change
      - Bug fix (non-breaking change which fixes an issue)
      ## Screenshots
      
      ![before_and_after](https://github.com/user-attachments/assets/5b662a88-dedd-4220-a0c4-8e7d09ceb51f)
      The first run was without the changes where we see videos/train empty.
      The second run is after the changes with videos/train successfully
      populated.
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [N/A] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [Sort of] I have added tests that prove my fix is effective or that my
      feature works; I have verified that it works on train.py for skrl and
      rl_games. I have not verified rsl_rl or sb3 as well have not verified
      play.py on any of the four. However I have implemented the changes on
      all of them as they all seem to follow the exact same structure.
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there; Unsure if this fix is worth being labelled as a
      contributor, if so would be happy to be added to the contributors.md
      (full name is Rishi Veerapaneni).
      7ea72c40
    • Octi Zhang's avatar
      Fixes error in Articulation where default_joint_stiffness and... · e8ea1850
      Octi Zhang authored
      Fixes error in Articulation where default_joint_stiffness and default_joint_damping is not correctly set if actuator is instance of ImplicitActuator (#1580)
      
      # Description
      
      Before the fix, the field, default_joint_stiffness, and
      default_joint_damping in omni.isaac.lab.assets.Articulation will be
      the default value configured Joint Drive property in usd file, and
      defining a new value with actuator config will not have effect
      if the actuator is type ImplicitActuator
      
      after the fix, all actuator types will be able to override
      default_joint_stiffness and default_joint_damping
      
      Fixes #1552 
      
      <!-- 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)
      
      <!--
      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.
      -->
      
      ## Checklist
      
      - [X] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [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 <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      e8ea1850
  5. 02 Jan, 2025 3 commits
    • Mayank Mittal's avatar
      Fixes event term for pushing root by setting velocity (#1584) · 574abc4b
      Mayank Mittal authored
      # Description
      
      Previously, the event term set the current root velocity to the sampled
      values. However, this isn't the same as "pushing" the root. This MR
      fixes this issue by changing the operation inside.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] 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
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] 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
      574abc4b
    • steple's avatar
      Adds missing "not" in error message in setup_vscode.py (#1615) · e2770650
      steple authored
      # Description
      
      Adds a missing word in an error message.
      Also fixes a broken link in the pull request template.
      
      (I did not enter an issue since it seems like a tiny change, but will if
      you'd like me to.)
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation - _I don't
      think any are necessary._
      - [ ] My changes generate no new warnings - _I doubt it, but I have not
      been able to install everything, I discovered this issue on my first
      attempt to build._
      - [ ] I have added tests that prove my fix is effective or that my
      feature works - _Not a feature._
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file - _Not sure which file that is
      in this case, please let me know if this is applicable._
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      e2770650
    • steple's avatar
      Updates copyright notices to 2025 (#1616) · b26d5c63
      steple authored
      # Description
      
      Updates all copyright notices to 2025. This should make pre-commit
      checks happy. My local system is still in 2024, but apparently github is
      in 2025. Happy New Year!
      
      (I did not enter an issue, but happy to do so if you like me to.)
      
      ## Type of change
      
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation - _I don't
      think it's needed._
      - [x] My changes generate no new warnings - _As far as I can tell._
      - [ ] I have added tests that prove my fix is effective or that my
      feature works - _Not a feature._
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file - _n/a?_
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      b26d5c63
  6. 27 Dec, 2024 1 commit
    • -T.K.-'s avatar
      Fixes JointAction not preserving order when using all joints (#1587) · fae5c7a5
      -T.K.- authored
      # Description
      
      This PR fixes #1586.
      
      An additional condition is added to the `JointAction._joint_ids` logic
      where if user specifies to preserve the joint order, the `_joint_ids`
      field will not be cleared even if the speficied list contains all the
      joints.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [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
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      Signed-off-by: 's avatar-T.K.- <t_k_233@outlook.com>
      fae5c7a5
  7. 20 Dec, 2024 1 commit
    • Kelly Guo's avatar
      Updates installation instruction for SKRL JAX (#1570) · dd044a49
      Kelly Guo authored
      # Description
      
      SKRL provides examples using JAX, which by default only installs the CPU
      version. To be compatible with CUDA, it is required to install JAX prior
      to installing SKRL. This PR updates the installation instructions for
      SKRL to note this requirement.
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## Checklist
      
      - [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
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] 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
      -->
      dd044a49
  8. 18 Dec, 2024 2 commits
    • Kelly Guo's avatar
      Sets default clipping mode for cameras to None (#1559) · 052975a9
      Kelly Guo authored
      # Description
      
      In https://github.com/isaac-sim/IsaacLab/pull/891, the
      `depth_clipping_behavior` parameter was added with the default mode set
      to `"zero"`. This introduced a breaking behavior in the depth cameras as
      previously, values returned by the cameras were not clipped. This PR
      sets the default behavior to `"none"`, which should bring us back to the
      original camera behavior.
      
      ## 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)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [ ] 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
      -->
      052975a9
    • Özhan Özen's avatar
      Adds null-space control option within `OperationSpaceController` (#1557) · 71df8680
      Özhan Özen authored
      # Description
      
      This PR adds an option to enable null-space control within
      `OperationSpaceController` (following the discussions in #913).
      
      ## Details
      
      Currently, `OperationSpaceController` controls only the task space,
      which results in joint movements within the null-space of redundant
      robotic manipulators. In general, it is desirable to have some control
      over the robot null-space, e.g., to prevent the joints from going near
      their limits. Hence, the PR adds the following:
      
      - An optional nullspace (position) control integrated into
      `OperationSpaceController`. This controller attracts the robot joints to
      provided targets whereas possible, in parallel to the task-space target.
      - Test cases for `OperationSpaceController` that use null-space control.
      - Updates to the related tutorial script and documentation to use and
      describe null-space control.
      - Integration of (optional) null-space control to
      `OperationSpaceControllerAction` with predefined joint targets, e.g.,
      default joint positions, joint centers, zero joint position.
      - Integration of null-space control to `"Isaac-Reach-Franka-OSC-v0"`
      manager-based environment.
      
      Null-space control utilizes either the dynamically consistent Jacobian
      inverse or the Moore–Penrose inverse, depending on whether the full
      inertia matrix is available.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Checklist
      
      - [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
      
      ---------
      Signed-off-by: 's avatarÖzhan Özen <41010165+ozhanozen@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      71df8680
  9. 17 Dec, 2024 6 commits
  10. 16 Dec, 2024 4 commits
    • Kelly Guo's avatar
      Fixes outdated sensor data after reset (#1276) · b6a77298
      Kelly Guo authored
      # Description
      
      This change adds a call to `update_articulations_kinematic()` after
      performing reset in an environment to ensure that non-render sensors are
      updated after performing reset.
      
      ## 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)
      
      ## Checklist
      
      - [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
      - [ ] 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 <kellyguo123@hotmail.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      b6a77298
    • Pascal Roth's avatar
      Adds live plots to managers (#893) · b473b4d1
      Pascal Roth authored
      # Description
      
      This adds a UI interface to the Managers in the `ManagerBasedEnv` and
      The `MangerBasedRLEnv`. Additions include:
      - UI widgets for `LiveLinePlot` and `ImagePlot`
      - `ManagerLiveVisualizer/Cfg`: Given a `ManagerBase` (i.e.
      action_manager, observation_manager, etc) and a config file this class
      creates the the interface between managers and the UI.
      - `EnvLiveVisualizer`: A 'manager' of `ManagerLiveVisualizer`. This is
      added to the `ManagerBasedEnv` but is only called during the
      initialization of the managers in `load_managers`
      - Adds `get_active_iterable_terms` implementation methods to
      ActionManager, ObservationManager, CommandsManager, CurriculumManager,
      RewardManager, and TerminationManager. This method exports the active
      term data and labels for each manager and is called by
      ManagerLiveVisualizer.
      - Additions to `BaseEnvWindow` and `RLEnvWindow` to register
      `ManagerLiveVisualizer` UI interfaces for the chosen managers.
      
      ## Screenshots
      [Screencast from 09-06-2024 01:20:18
      PM.webm](https://github.com/user-attachments/assets/3ef0191d-5446-41bd-b274-43d886fb2d70)
      
      ## Implementation
      
      ![image](https://github.com/user-attachments/assets/49bd5493-3311-4c5c-a87c-6bbcd76a60fe)
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [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
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] 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
      
      ---------
      Signed-off-by: 's avatarjtigue-bdai <166445701+jtigue-bdai@users.noreply.github.com>
      Signed-off-by: 's avatarPascal Roth <57946385+pascal-roth@users.noreply.github.com>
      Signed-off-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      Co-authored-by: 's avatarzrene <zrene@ethz.ch>
      Co-authored-by: 's avatarJames Tigue <jtigue@theaiinstitute.com>
      Co-authored-by: 's avatarjtigue-bdai <166445701+jtigue-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      Co-authored-by: 's avatarAravind EV <aravindev@live.in>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      b473b4d1
    • James Tigue's avatar
      Adds observation term history support to Observation Manager (#1439) · f7b59b31
      James Tigue authored
      # Description
      
      <!--
      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/source/refs/contributing.html
      -->
      
      This PR adds observation history by adding configuration parameters to
      ObservationTerms and having the ObservationManager handling the
      collection and storage of the histories via CircularBuffers.
      
      Fixes #1208 
      
      <!-- 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)
      
      ## Checklist
      
      - [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 avatarFangzhou Yu <156015326+fyu-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      f7b59b31
    • robotsfan's avatar
      Adds clip range for JointAction (#1476) · ee3f0224
      robotsfan authored
      # Description
      
      This PR adds support for action clip to all mdp/actions. Clip ranges can
      be specified as a dictionary of joint names and tuple for the lower and
      upper bounds of the clip in the ActionTermCfg.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      ee3f0224
  11. 15 Dec, 2024 2 commits
    • Kelly Guo's avatar
      Adds position threshold check for state transitions (#1544) · 8ddc4830
      Kelly Guo authored
      # Description
      
      Adds a position threshold check, resolving 3 TODO error comments, to
      ensure the robot's end effector is within a specified distance from the
      target position before transitioning between states in the pick and lift
      state machine. Improves the precision of state transitions and helps
      prevent premature actions during object manipulation. I.e, the threshold
      ensures the robot is "close enough" to the target position before
      proceeding, reducing the likelihood of failed grasps or incorrect
      movements.
      
      PR adapted from https://github.com/isaac-sim/IsaacLab/pull/1273/ by
      @DorsaRoh.
      
      ## 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)
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [ ] 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 avatarDorsaRoh <dorsa.rohani@gmail.com>
      8ddc4830
    • Kyle Morgenstein's avatar
      Fixes error in apply_actions method in `NonHolonomicAction` action term. (#1513) · f01c6f9e
      Kyle Morgenstein authored
      # Description
      
      
      After indexing the size of `quad_w` in the `apply_actions` method is
      (N,B,4) where B will always equal 1, since it is enforced in the
      `__init__` that only one body name is passed to the action term config.
      However, the `euler_xyz_from_quat` method requires inputs to be size
      (N,4), and so an error is thrown for input size (N,1,4). This PR just
      creates a (N,4) view of quat_w to be passed to `euler_xyz_from_quat`.
      This simple change does not introduce any new warnings and works with a
      simple non holonomic robot, like the Clearpath Husky.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [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
      - [ ] 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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarKyle Morgenstein <34984693+KyleM73@users.noreply.github.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      f01c6f9e
  12. 14 Dec, 2024 2 commits
    • glvov-bdai's avatar
      Fixes Dependency Install Documentation Rendering for Ray Integration (#1538) · fd1a9d54
      glvov-bdai authored
      # Description
      
      <!--
      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/source/refs/contributing.html
      -->
      
      This adds the correct whitespace to load the code block correctly in the
      dependency install section of the experimental ray functionality.
      
      <!-- 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)
      - This change requires a documentation update
      
      ## Screenshots
      
      
      ![image](https://github.com/user-attachments/assets/5ec71790-32f2-4f1c-b89f-87ce06b88a48)
      
      
      <!--
      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.
      -->
      
      ## Checklist
      
      - [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
      -->
      fd1a9d54
    • glvov-bdai's avatar
      Adds Ray Workflow: Multiple Run Support, Distributed Hyperparameter Tuning,... · 286e1eea
      glvov-bdai authored
      Adds Ray Workflow: Multiple Run Support, Distributed Hyperparameter Tuning, and Consistent Setup Across Local/Cloud (#1301)
      
      This PR adds Ray support, which enables a lot of really cool stuff by
      leveraging the existing Hydra support, including but not limited to:
      
      - Several training runs at once in parallel or consecutively with
      minimal interaction
      - Using the same training setup everywhere (on cloud and local) with
      minimal overhead
      - Tuning hyperparameters
      - Tuning hyperparameters in parallel on multiple GPUs and/or multiple
      GPU Nodes
      - Simultaneously tuning model hyperparameters for different
      environments/agents
      - Resource Isolation
      286e1eea
  13. 13 Dec, 2024 3 commits
    • Hongwei Xiong's avatar
      Adds RayCaster rough terrain base height to reward (#1525) · d8bc7256
      Hongwei Xiong authored
      # Description
      
      Enhance `base_height_l2` function to support rough terrain adjustments:
      
      - Added an optional `sensor_cfg` parameter to allow dynamic target
      height
        adjustments based on sensor readings (e.g., RayCaster).
      - Updated the function to calculate the L2 squared penalty using
      adjusted
        height values for rough terrain scenarios.
      - Preserved existing behavior for flat terrain by using the fixed
      `target_height`.
      - Improved compatibility for applications involving uneven terrain.
      
      Fixes #1524
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [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
      
      ---------
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      d8bc7256
    • lgulich's avatar
      Fixes configclass dict conversion for torch tensors (#1530) · c9f6ac57
      lgulich authored
      # Description
      
      Fix configclass dict conversion for torch tensors
      
      Up to v1.2.0 if a configclass would contain a list/tuple of torch
      tensors it would be left as is.
      
      \#1227 changed the behavior of converting lists/tuples in a dict, which
      means that currently torch tensors are converted to an empty dict,
      effectively losing all contained data.
      
      The underlying issue is that `torch.tensor.__dict__` returns an empty
      dict, which was (luckily) ignored previously because we did not convert
      the contents of lists.
      
      This MR fixes this by treating torch tensors specially. I don't like
      having a special case for a non-builtin class but given that
      IsaacLab is heavily married with torch tensors I think it's ok in this
      case.
      
      Since currently the behavior is different between 1.2 and 1.3: can we
      cherry pick this change to the 1.3 branch?
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      c9f6ac57
    • clear sky mio~'s avatar
      Adds transform for mesh_prim of ray caster sensor (#1448) · 37e0a798
      clear sky mio~ authored
      # Description
      
      <!--
      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/source/refs/contributing.html
      -->
      
      Currently, ray-saster does not apply transform to the mesh that is cast
      against by ray.
      As a result, no matter where the mesh is, the ray caster get data as
      same as when the mesh is in the pos (0,0,0) with quat (1,0,0,0).
      
      <!-- 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)
      
      ## Screenshots
      
      I use a red cube to mark the position of ray caster sensor, and use
      LidarPattern to generate ray for more intuitive visual effects.
      
      Before fixed, when the mesh is in the center with pos=(0.0, 0.0, 0.0),
      rot=(1.0, 0.0, 0.0, 0.0), the result will be right.
      
      
      ![screenshot0](https://github.com/user-attachments/assets/b117e12d-ee94-452a-a223-5446f2586c29)
      
      However, if pos=(1.0, -2.0, 0.0), rot=(0.816, 0.577, 0.0, 0.0), it
      causes bug as:
      
      
      ![screenshot1](https://github.com/user-attachments/assets/1e3a2d52-201b-43da-ade1-19255b1bcfed)
      
      After fixed, the result will be right:
      
      
      ![screenshot2](https://github.com/user-attachments/assets/76f757c4-fca7-4b2b-89e1-1da21eb4e0cd)
      
      <!--
      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.
      -->
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] 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: 's avatarKelly Guo <kellyg@nvidia.com>
      37e0a798
  14. 12 Dec, 2024 1 commit
    • Octi Zhang's avatar
      Computes Jacobian in the root frame inside the `DifferentialInverseKinematicsAction` class (#967) · 762f4e32
      Octi Zhang authored
      # Description
      
      This pull request fix the bug where jacobian returned by
      DifferentialInverseKinematicsAction._compute_fame_jacobian are not truly
      in robot base frame because it did not consider robot's base rotation.
      After the change, _compute_fame_jacobian returns the correct local frame
      jacobian. In addition, properties get_jacobian_w and get_jacobian_b is
      added to differentiate frame differences
      
      Fixes #911 
      
      ## Type of change
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Screenshots
      
      <img width="1109" alt="image"
      src="https://github.com/user-attachments/assets/5d47dfb3-8c44-4115-b5a0-28c671e99459">
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [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 avatarOcti Zhang <127588710+zoctipus@users.noreply.github.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      762f4e32
  15. 11 Dec, 2024 1 commit
    • CY Chen's avatar
      Fixes the initial state recorder term for multi-env use cases (#1499) · 902fb806
      CY Chen authored
      # Description
      
      This PR updates the initial state recorder term to support multi-env use
      cases by returning only the states of the specified environment IDs,
      which allows the recorder to correctly retrieve and record the correct
      initial state for the given environment IDs.
      
      ## 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)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] 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
      - [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 <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      902fb806
  16. 08 Dec, 2024 3 commits
    • James Tigue's avatar
      Fixes actuator velocity limits propagation down the articulation root_physx_view (#1509) · 4ee4957e
      James Tigue authored
      # Description
      
      <!--
      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/source/refs/contributing.html
      -->
      
      Previously the velocity limits of the the ActuatorBaseCfg do not get
      used in most actuators. Only the DCMotor actuator uses it but it only
      uses it for torque-speed limitations.
      
      This PR propagates the velocity_limits of the ActuatorBaseCfg to the
      articulation root_physx_view.
      
      Fixes #1384 
      
      <!-- 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)
      
      ## Screenshots
      
      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.
      -->
      
      ## Checklist
      
      - [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 <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      4ee4957e
    • lgulich's avatar
      Adds check that no articulation root API is applied on rigid bodies (#1358) · c2b32665
      lgulich authored
      # Description
      
      If a USD contains an articulation root but we load it with a
      `RigidObjectCfg` this would also load the articulation. This is
      confusing as a user only expects a rigid body.
      
      This PR adds a fix to ignore the articulation if a rigid body is
      spawned.
      
      <!--
      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/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. -->
      
      ## 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)
      
      ## Screenshots
      
      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.
      -->
      
      ## Checklist
      
      - [x] 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 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 avatarlgulich <22480644+lgulich@users.noreply.github.com>
      Signed-off-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      c2b32665
    • Yujian Zhang's avatar
      Corrects fisheye camera projection types in spawner configuration (#1361) · 5a3ade2b
      Yujian Zhang authored
      # Description
      
      This MR fixes the support of fish-eye projection type. Actually, I don't
      find the proper fisheye type on [Replicator
      camera](https://docs.omniverse.nvidia.com/py/replicator/1.9.8/source/extensions/omni.replicator.core/docs/API.html#omni.replicator.core.create.camera)
      website (maybe it's out of style).
      
      ![Screenshot from 2024-10-31
      23-15-24](https://github.com/user-attachments/assets/7f826389-fb9e-474b-a54c-ae3c78e92d8b)
      
      I only check the `cameraProjectionType` in `Raw USD Properties` in
      Isaacsim GUI.
      
      ![Screenshot from 2024-10-31
      23-29-10](https://github.com/user-attachments/assets/f8a39ded-0cb8-4ff4-9235-d3b2e00a92fc)
      
      Fixes #1331
      
      ## Type of change
      
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      - This change requires a documentation update
      
      ## Screenshots
      
      | Before | After |
      | ------ | ----- |
      | ![Screenshot from 2024-11-02
      11-25-57](https://github.com/user-attachments/assets/deb44333-f58e-476d-b167-dd084719adf2)|
      ![Screenshot from 2024-11-02
      11-26-03](https://github.com/user-attachments/assets/a2d6caca-fd1d-4a6d-bc06-b6dff027af98)|
      
      ## Checklist
      
      - [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
      - [ ] 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
      
      ---------
      Signed-off-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      5a3ade2b