Commit 06a99312 authored by peterd-NV's avatar peterd-NV Committed by Kelly Guo

Updates GR1 PickPlace env (#396)

<!--
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
-->

Update GR1 pick place env with the following:

- Increase sim dt to 120 Hz for better physics stability during teleop
- Fix z position of object initial position so that it is not
penetrating table
- Update documentation for pick place Mimic demo

<!-- 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

Please attach before and after screenshots of the change if applicable.

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
parent e5acb85e
...@@ -343,7 +343,7 @@ The Isaac Lab Mimic Env GR-1 humanoid robot is set up such that the left hand ha ...@@ -343,7 +343,7 @@ The Isaac Lab Mimic Env GR-1 humanoid robot is set up such that the left hand ha
The first subtask involves the right hand remaining idle while the left hand picks up and moves the object to the position where the right hand will grasp it. The first subtask involves the right hand remaining idle while the left hand picks up and moves the object to the position where the right hand will grasp it.
This setup allows Isaac Lab Mimic to interpolate the right hand's trajectory accurately by using the object's pose, especially when poses are randomized during data generation. This setup allows Isaac Lab Mimic to interpolate the right hand's trajectory accurately by using the object's pose, especially when poses are randomized during data generation.
Therefore, avoid moving the right hand while the left hand picks up the object and brings it to a stable position. Therefore, avoid moving the right hand while the left hand picks up the object and brings it to a stable position.
We recommend 10 successful demonstrations for good data generation results. An example of a successful demonstration is shown below: We recommend at least 5 successful demonstrations for good data generation results. An example of a successful demonstration is shown below:
.. figure:: ../_static/tasks/manipulation/gr-1_pick_place.gif .. figure:: ../_static/tasks/manipulation/gr-1_pick_place.gif
:width: 100% :width: 100%
...@@ -446,7 +446,7 @@ Place the file under ``IsaacLab/datasets`` and run the following command to gene ...@@ -446,7 +446,7 @@ Place the file under ``IsaacLab/datasets`` and run the following command to gene
.. code:: bash .. code:: bash
./isaaclab.sh -p scripts/imitation_learning/isaaclab_mimic/generate_dataset.py \ ./isaaclab.sh -p scripts/imitation_learning/isaaclab_mimic/generate_dataset.py \
--device cuda --headless --num_envs 10 --generation_num_trials 1000 --enable_pinocchio \ --device cpu --headless --num_envs 20 --generation_num_trials 1000 --enable_pinocchio \
--input_file ./datasets/dataset_annotated_gr1.hdf5 --output_file ./datasets/generated_dataset_gr1.hdf5 --input_file ./datasets/dataset_annotated_gr1.hdf5 --output_file ./datasets/generated_dataset_gr1.hdf5
Train a policy Train a policy
...@@ -476,10 +476,11 @@ Visualize the results of the trained policy by running the following command, us ...@@ -476,10 +476,11 @@ Visualize the results of the trained policy by running the following command, us
.. code:: bash .. code:: bash
./isaaclab.sh -p scripts/imitation_learning/robomimic/play.py \ ./isaaclab.sh -p scripts/imitation_learning/robomimic/play.py \
--device cuda \ --device cpu \
--enable_pinocchio \ --enable_pinocchio \
--task Isaac-PickPlace-GR1T2-Abs-v0 \ --task Isaac-PickPlace-GR1T2-Abs-v0 \
--num_rollouts 50 \ --num_rollouts 50 \
--horizon 250 \
--norm_factor_min <NORM_FACTOR_MIN> \ --norm_factor_min <NORM_FACTOR_MIN> \
--norm_factor_max <NORM_FACTOR_MAX> \ --norm_factor_max <NORM_FACTOR_MAX> \
--checkpoint /PATH/TO/desired_model_checkpoint.pth --checkpoint /PATH/TO/desired_model_checkpoint.pth
......
...@@ -55,7 +55,7 @@ class PickPlaceGR1T2MimicEnvCfg(PickPlaceGR1T2EnvCfg, MimicEnvCfg): ...@@ -55,7 +55,7 @@ class PickPlaceGR1T2MimicEnvCfg(PickPlaceGR1T2EnvCfg, MimicEnvCfg):
# Optional parameters for the selection strategy function # Optional parameters for the selection strategy function
selection_strategy_kwargs={"nn_k": 3}, selection_strategy_kwargs={"nn_k": 3},
# Amount of action noise to apply during this subtask # Amount of action noise to apply during this subtask
action_noise=0.005, action_noise=0.003,
# Number of interpolation steps to bridge to this subtask segment # Number of interpolation steps to bridge to this subtask segment
num_interpolation_steps=0, num_interpolation_steps=0,
# Additional fixed steps for the robot to reach the necessary pose # Additional fixed steps for the robot to reach the necessary pose
...@@ -77,7 +77,7 @@ class PickPlaceGR1T2MimicEnvCfg(PickPlaceGR1T2EnvCfg, MimicEnvCfg): ...@@ -77,7 +77,7 @@ class PickPlaceGR1T2MimicEnvCfg(PickPlaceGR1T2EnvCfg, MimicEnvCfg):
# Optional parameters for the selection strategy function # Optional parameters for the selection strategy function
selection_strategy_kwargs={"nn_k": 3}, selection_strategy_kwargs={"nn_k": 3},
# Amount of action noise to apply during this subtask # Amount of action noise to apply during this subtask
action_noise=0.005, action_noise=0.003,
# Number of interpolation steps to bridge to this subtask segment # Number of interpolation steps to bridge to this subtask segment
num_interpolation_steps=3, num_interpolation_steps=3,
# Additional fixed steps for the robot to reach the necessary pose # Additional fixed steps for the robot to reach the necessary pose
...@@ -102,7 +102,7 @@ class PickPlaceGR1T2MimicEnvCfg(PickPlaceGR1T2EnvCfg, MimicEnvCfg): ...@@ -102,7 +102,7 @@ class PickPlaceGR1T2MimicEnvCfg(PickPlaceGR1T2EnvCfg, MimicEnvCfg):
# Optional parameters for the selection strategy function # Optional parameters for the selection strategy function
selection_strategy_kwargs={"nn_k": 3}, selection_strategy_kwargs={"nn_k": 3},
# Amount of action noise to apply during this subtask # Amount of action noise to apply during this subtask
action_noise=0.005, action_noise=0.003,
# Number of interpolation steps to bridge to this subtask segment # Number of interpolation steps to bridge to this subtask segment
num_interpolation_steps=0, num_interpolation_steps=0,
# Additional fixed steps for the robot to reach the necessary pose # Additional fixed steps for the robot to reach the necessary pose
......
[package] [package]
# Note: Semantic Versioning is used: https://semver.org/ # Note: Semantic Versioning is used: https://semver.org/
version = "0.10.37" version = "0.10.38"
# Description # Description
title = "Isaac Lab Environments" title = "Isaac Lab Environments"
......
Changelog Changelog
--------- ---------
0.10.37 (2025-06-26) 0.10.38 (2025-06-26)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -10,7 +10,7 @@ Fixed ...@@ -10,7 +10,7 @@ Fixed
* Relaxed upper range pin for protobuf python dependency for more permissive installation. * Relaxed upper range pin for protobuf python dependency for more permissive installation.
0.10.36 (2025-05-22) 0.10.37 (2025-05-22)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -19,7 +19,7 @@ Fixed ...@@ -19,7 +19,7 @@ Fixed
* Fixed redundant body_names assignment in rough_env_cfg.py for H1 robot. * Fixed redundant body_names assignment in rough_env_cfg.py for H1 robot.
0.10.35 (2025-06-16) 0.10.36 (2025-06-16)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Changed Changed
...@@ -28,7 +28,7 @@ Changed ...@@ -28,7 +28,7 @@ Changed
* Show available RL library configs on error message when an entry point key is not available for a given task. * Show available RL library configs on error message when an entry point key is not available for a given task.
0.10.34 (2025-05-15) 0.10.35 (2025-05-15)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -38,7 +38,7 @@ Added ...@@ -38,7 +38,7 @@ Added
implements assembly tasks to insert pegs into their corresponding sockets. implements assembly tasks to insert pegs into their corresponding sockets.
0.10.33 (2025-05-21) 0.10.34 (2025-05-21)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -48,7 +48,17 @@ Added ...@@ -48,7 +48,17 @@ Added
can be pushed to a visualization dashboard to track improvements or regressions. can be pushed to a visualization dashboard to track improvements or regressions.
0.10.32 (2025-05-21) 0.10.33 (2025-05-12)
~~~~~~~~~~~~~~~~~~~~
Changed
^^^^^^^
* Increase ``Isaac-PickPlace-GR1T2-Abs-v0`` sim dt to 120Hz for improved stability.
* Fix object initial state in ``Isaac-PickPlace-GR1T2-Abs-v0`` to be above the table.
0.10.32 (2025-05-01)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
......
...@@ -55,7 +55,7 @@ class ObjectTableSceneCfg(InteractiveSceneCfg): ...@@ -55,7 +55,7 @@ class ObjectTableSceneCfg(InteractiveSceneCfg):
# Object # Object
object = RigidObjectCfg( object = RigidObjectCfg(
prim_path="{ENV_REGEX_NS}/Object", prim_path="{ENV_REGEX_NS}/Object",
init_state=RigidObjectCfg.InitialStateCfg(pos=[-0.35, 0.40, 1.0413], rot=[1, 0, 0, 0]), init_state=RigidObjectCfg.InitialStateCfg(pos=[-0.35, 0.40, 1.1691], rot=[1, 0, 0, 0]),
spawn=sim_utils.CylinderCfg( spawn=sim_utils.CylinderCfg(
radius=0.018, radius=0.018,
height=0.35, height=0.35,
...@@ -393,10 +393,10 @@ class PickPlaceGR1T2EnvCfg(ManagerBasedRLEnvCfg): ...@@ -393,10 +393,10 @@ class PickPlaceGR1T2EnvCfg(ManagerBasedRLEnvCfg):
def __post_init__(self): def __post_init__(self):
"""Post initialization.""" """Post initialization."""
# general settings # general settings
self.decimation = 5 self.decimation = 6
self.episode_length_s = 20.0 self.episode_length_s = 20.0
# simulation settings # simulation settings
self.sim.dt = 1 / 60 # 100Hz self.sim.dt = 1 / 120 # 120Hz
self.sim.render_interval = 2 self.sim.render_interval = 2
# Convert USD to URDF and change revolute joints to fixed # Convert USD to URDF and change revolute joints to fixed
......
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