Unverified Commit 157c6b74 authored by James Tigue's avatar James Tigue Committed by GitHub

Adds scene update to ManagerBasedEnv and DirectRLEnv initialization (#1809)

# 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/main/source/refs/contributing.html
-->

This PR fixes execution of imu (and other sensor) based observation by
updating the scene at the initialization of ManagerBasedEnv and
DirectRLEnv. This ensures the Imu._dt (and any other scene buffers) are
set before extracting Imu.data.

Fixes #1423 

<!-- 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
- [ ] 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 avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
parent 62bbf61e
[package] [package]
# Note: Semantic Versioning is used: https://semver.org/ # Note: Semantic Versioning is used: https://semver.org/
version = "0.33.16" version = "0.33.17"
# Description # Description
title = "Isaac Lab framework for Robot Learning" title = "Isaac Lab framework for Robot Learning"
......
Changelog Changelog
--------- ---------
0.33.17 (2025-02-13)
~~~~~~~~~~~~~~~~~~~~
Fixed
^^^^^
* Fixed Imu sensor based observations at first step by updating scene during :meth:`~isaaclab.envs.ManagerBasedEnv.init`
0.33.16 (2025-02-09) 0.33.16 (2025-02-09)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
...@@ -27,6 +36,7 @@ Fixed ...@@ -27,6 +36,7 @@ Fixed
* Fixed not updating the timestamp of ``body_link_state_w`` and ``body_com_state_w`` when ``write_root_pose_to_sim`` and ``write_joint_state_to_sim`` in the ``Articulation`` class are called. * Fixed not updating the timestamp of ``body_link_state_w`` and ``body_com_state_w`` when ``write_root_pose_to_sim`` and ``write_joint_state_to_sim`` in the ``Articulation`` class are called.
0.33.13 (2025-01-30) 0.33.13 (2025-01-30)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
......
...@@ -139,6 +139,7 @@ class DirectRLEnv(gym.Env): ...@@ -139,6 +139,7 @@ class DirectRLEnv(gym.Env):
print("[INFO]: Starting the simulation. This may take a few seconds. Please wait...") print("[INFO]: Starting the simulation. This may take a few seconds. Please wait...")
with Timer("[INFO]: Time taken for simulation start", "simulation_start"): with Timer("[INFO]: Time taken for simulation start", "simulation_start"):
self.sim.reset() self.sim.reset()
self.scene.update(dt=self.physics_dt)
# -- event manager used for randomization # -- event manager used for randomization
if self.cfg.events: if self.cfg.events:
......
...@@ -139,7 +139,8 @@ class ManagerBasedEnv: ...@@ -139,7 +139,8 @@ class ManagerBasedEnv:
print("[INFO]: Starting the simulation. This may take a few seconds. Please wait...") print("[INFO]: Starting the simulation. This may take a few seconds. Please wait...")
with Timer("[INFO]: Time taken for simulation start", "simulation_start"): with Timer("[INFO]: Time taken for simulation start", "simulation_start"):
self.sim.reset() self.sim.reset()
# add timeline event to load managers # add timeline event to load managers
self.scene.update(dt=self.physics_dt)
self.load_managers() self.load_managers()
# make sure torch is running on the correct device # make sure torch is running on the correct device
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment