Unverified Commit 3d6c955f authored by yijieg's avatar yijieg Committed by GitHub

Renames AutoMate code folder and environment (#2600)

# Description

Modify the name of code folder and environment for AutoMate. Before, the
folder name `assembly` is too general. We change it to `automate`. Also,
we add `AutoMate` in the environment name.


## 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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------
Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
parent 8235baa6
...@@ -193,7 +193,7 @@ For example: ...@@ -193,7 +193,7 @@ For example:
.. |factory-gear-link| replace:: `Isaac-Factory-GearMesh-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/factory/factory_env_cfg.py>`__ .. |factory-gear-link| replace:: `Isaac-Factory-GearMesh-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/factory/factory_env_cfg.py>`__
.. |factory-nut-link| replace:: `Isaac-Factory-NutThread-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/factory/factory_env_cfg.py>`__ .. |factory-nut-link| replace:: `Isaac-Factory-NutThread-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/factory/factory_env_cfg.py>`__
Assembly AutoMate
~~~~~~~~ ~~~~~~~~
Environments based on 100 diverse assembly tasks, each involving the insertion of a plug into a socket. These tasks share a common configuration and differ by th geometry and properties of the parts. Environments based on 100 diverse assembly tasks, each involving the insertion of a plug into a socket. These tasks share a common configuration and differ by th geometry and properties of the parts.
...@@ -206,7 +206,7 @@ We provide environments for both disassembly and assembly. ...@@ -206,7 +206,7 @@ We provide environments for both disassembly and assembly.
.. attention:: .. attention::
CUDA is required for running the Assembly environments. CUDA is required for running the AutoMate environments.
Follow the below steps to install CUDA 12.8: Follow the below steps to install CUDA 12.8:
.. code-block:: bash .. code-block:: bash
...@@ -216,11 +216,11 @@ We provide environments for both disassembly and assembly. ...@@ -216,11 +216,11 @@ We provide environments for both disassembly and assembly.
For addition instructions and Windows installation, please refer to the `CUDA installation page <https://developer.nvidia.com/cuda-12-8-0-download-archive>`_. For addition instructions and Windows installation, please refer to the `CUDA installation page <https://developer.nvidia.com/cuda-12-8-0-download-archive>`_.
* |disassembly-link|: The plug starts inserted in the socket. A low-level controller lifts th plug out and moves it to a random position. These trajectories serve as demonstrations for the reverse process, i.e., learning to assemble. To run disassembly for a specific task: ``./isaaclab.sh -p source/isaaclab_tasks/isaaclab_tasks/direct/assembly/run_disassembly_w_id.py --assembly_id=ASSEMBLY_ID`` * |disassembly-link|: The plug starts inserted in the socket. A low-level controller lifts th plug out and moves it to a random position. These trajectories serve as demonstrations for the reverse process, i.e., learning to assemble. To run disassembly for a specific task: ``./isaaclab.sh -p source/isaaclab_tasks/isaaclab_tasks/direct/automate/run_disassembly_w_id.py --assembly_id=ASSEMBLY_ID``
* |assembly-link|: The goal is to insert the plug into the socket. You can use this environment to train a policy via reinforcement learning or evaluate a pre-trained checkpoint. * |assembly-link|: The goal is to insert the plug into the socket. You can use this environment to train a policy via reinforcement learning or evaluate a pre-trained checkpoint.
* To train an assembly policy: ``./isaaclab.sh -p source/isaaclab_tasks/isaaclab_tasks/direct/assembly/run_w_id.py --assembly_id=ASSEMBLY_ID --train`` * To train an assembly policy: ``./isaaclab.sh -p source/isaaclab_tasks/isaaclab_tasks/direct/automate/run_w_id.py --assembly_id=ASSEMBLY_ID --train``
* To evaluate an assembly policy: ``./isaaclab.sh -p source/isaaclab_tasks/isaaclab_tasks/direct/assembly/run_w_id.py --assembly_id=ASSEMBLY_ID --checkpoint=CHECKPOINT --log_eval`` * To evaluate an assembly policy: ``./isaaclab.sh -p source/isaaclab_tasks/isaaclab_tasks/direct/automate/run_w_id.py --assembly_id=ASSEMBLY_ID --checkpoint=CHECKPOINT --log_eval``
.. table:: .. table::
:widths: 33 37 30 :widths: 33 37 30
...@@ -233,11 +233,11 @@ We provide environments for both disassembly and assembly. ...@@ -233,11 +233,11 @@ We provide environments for both disassembly and assembly.
| |assembly| | |assembly-link| | Insert a plug into its corresponding socket with the Franka robot | | |assembly| | |assembly-link| | Insert a plug into its corresponding socket with the Franka robot |
+--------------------+-------------------------+-----------------------------------------------------------------------------+ +--------------------+-------------------------+-----------------------------------------------------------------------------+
.. |assembly| image:: ../_static/tasks/assembly/00004.jpg .. |assembly| image:: ../_static/tasks/automate/00004.jpg
.. |disassembly| image:: ../_static/tasks/assembly/01053_disassembly.jpg .. |disassembly| image:: ../_static/tasks/automate/01053_disassembly.jpg
.. |assembly-link| replace:: `Isaac-Assembly-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/assembly/assembly_env_cfg.py>`__ .. |assembly-link| replace:: `Isaac-AutoMate-Assembly-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/automate/assembly_env_cfg.py>`__
.. |disassembly-link| replace:: `Isaac-Disassembly-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/assembly/disassembly_env_cfg.py>`__ .. |disassembly-link| replace:: `Isaac-AutoMate-Disassembly-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/automate/disassembly_env_cfg.py>`__
Locomotion Locomotion
~~~~~~~~~~ ~~~~~~~~~~
...@@ -713,11 +713,11 @@ Comprehensive List of Environments ...@@ -713,11 +713,11 @@ Comprehensive List of Environments
- -
- Direct - Direct
- **rl_games** (PPO) - **rl_games** (PPO)
* - Isaac-Assembly-Direct-v0 * - Isaac-AutoMate-Assembly-Direct-v0
- -
- Direct - Direct
- **rl_games** (PPO) - **rl_games** (PPO)
* - Isaac-Disassembly-Direct-v0 * - Isaac-AutoMate-Disassembly-Direct-v0
- -
- Direct - Direct
- -
......
...@@ -14,8 +14,8 @@ from .disassembly_env import DisassemblyEnv, DisassemblyEnvCfg ...@@ -14,8 +14,8 @@ from .disassembly_env import DisassemblyEnv, DisassemblyEnvCfg
## ##
gym.register( gym.register(
id="Isaac-Assembly-Direct-v0", id="Isaac-AutoMate-Assembly-Direct-v0",
entry_point="isaaclab_tasks.direct.assembly:AssemblyEnv", entry_point="isaaclab_tasks.direct.automate:AssemblyEnv",
disable_env_checker=True, disable_env_checker=True,
kwargs={ kwargs={
"env_cfg_entry_point": AssemblyEnvCfg, "env_cfg_entry_point": AssemblyEnvCfg,
...@@ -25,8 +25,8 @@ gym.register( ...@@ -25,8 +25,8 @@ gym.register(
gym.register( gym.register(
id="Isaac-Disassembly-Direct-v0", id="Isaac-AutoMate-Disassembly-Direct-v0",
entry_point="isaaclab_tasks.direct.assembly:DisassemblyEnv", entry_point="isaaclab_tasks.direct.automate:DisassemblyEnv",
disable_env_checker=True, disable_env_checker=True,
kwargs={ kwargs={
"env_cfg_entry_point": DisassemblyEnvCfg, "env_cfg_entry_point": DisassemblyEnvCfg,
......
...@@ -71,7 +71,7 @@ class AssemblyEnv(DirectRLEnv): ...@@ -71,7 +71,7 @@ class AssemblyEnv(DirectRLEnv):
if self.cfg_task.sample_from != "rand": if self.cfg_task.sample_from != "rand":
self._init_eval_loading() self._init_eval_loading()
wandb.init(project="assembly", name=self.cfg_task.assembly_id + "_" + datetime.now().strftime("%m/%d/%Y")) wandb.init(project="automate", name=self.cfg_task.assembly_id + "_" + datetime.now().strftime("%m/%d/%Y"))
def _init_eval_loading(self): def _init_eval_loading(self):
eval_held_asset_pose, eval_fixed_asset_pose, eval_success = automate_log.load_log_from_hdf5( eval_held_asset_pose, eval_fixed_asset_pose, eval_success = automate_log.load_log_from_hdf5(
......
...@@ -45,7 +45,7 @@ def main(): ...@@ -45,7 +45,7 @@ def main():
"--cfg_path", "--cfg_path",
type=str, type=str,
help="Path to the file containing assembly_id.", help="Path to the file containing assembly_id.",
default="source/isaaclab_tasks/isaaclab_tasks/direct/assembly/disassembly_tasks_cfg.py", default="source/isaaclab_tasks/isaaclab_tasks/direct/automate/disassembly_tasks_cfg.py",
) )
parser.add_argument("--assembly_id", type=str, default="00731", help="New assembly ID to set.") parser.add_argument("--assembly_id", type=str, default="00731", help="New assembly ID to set.")
parser.add_argument("--num_envs", type=int, default=128, help="Number of parallel environment.") parser.add_argument("--num_envs", type=int, default=128, help="Number of parallel environment.")
...@@ -62,7 +62,7 @@ def main(): ...@@ -62,7 +62,7 @@ def main():
) )
bash_command = ( bash_command = (
"./isaaclab.sh -p scripts/reinforcement_learning/rl_games/train.py --task=Isaac-Disassembly-Direct-v0" "./isaaclab.sh -p scripts/reinforcement_learning/rl_games/train.py --task=Isaac-AutoMate-Disassembly-Direct-v0"
) )
bash_command += f" --num_envs={str(args.num_envs)}" bash_command += f" --num_envs={str(args.num_envs)}"
......
...@@ -44,7 +44,7 @@ def main(): ...@@ -44,7 +44,7 @@ def main():
"--cfg_path", "--cfg_path",
type=str, type=str,
help="Path to the file containing assembly_id.", help="Path to the file containing assembly_id.",
default="source/isaaclab_tasks/isaaclab_tasks/direct/assembly/assembly_tasks_cfg.py", default="source/isaaclab_tasks/isaaclab_tasks/direct/automate/assembly_tasks_cfg.py",
) )
parser.add_argument("--assembly_id", type=str, help="New assembly ID to set.") parser.add_argument("--assembly_id", type=str, help="New assembly ID to set.")
parser.add_argument("--checkpoint", type=str, help="Checkpoint path.") parser.add_argument("--checkpoint", type=str, help="Checkpoint path.")
...@@ -60,14 +60,14 @@ def main(): ...@@ -60,14 +60,14 @@ def main():
bash_command = None bash_command = None
if args.train: if args.train:
bash_command = ( bash_command = (
"./isaaclab.sh -p scripts/reinforcement_learning/rl_games/train.py --task=Isaac-Assembly-Direct-v0" "./isaaclab.sh -p scripts/reinforcement_learning/rl_games/train.py --task=Isaac-AutoMate-Assembly-Direct-v0"
) )
bash_command += f" --seed={str(args.seed)}" bash_command += f" --seed={str(args.seed)}"
else: else:
if not args.checkpoint: if not args.checkpoint:
raise ValueError("No checkpoint provided for evaluation.") raise ValueError("No checkpoint provided for evaluation.")
bash_command = ( bash_command = (
"./isaaclab.sh -p scripts/reinforcement_learning/rl_games/play.py --task=Isaac-Assembly-Direct-v0" "./isaaclab.sh -p scripts/reinforcement_learning/rl_games/play.py --task=Isaac-AutoMate-Assembly-Direct-v0"
) )
bash_command += f" --num_envs={str(args.num_envs)}" bash_command += f" --num_envs={str(args.num_envs)}"
......
...@@ -72,7 +72,7 @@ def test_environments(task_name, num_envs, device): ...@@ -72,7 +72,7 @@ def test_environments(task_name, num_envs, device):
]: ]:
return return
# skip automate environments as they require cuda installation # skip automate environments as they require cuda installation
if task_name in ["Isaac-Assembly-Direct-v0", "Isaac-Disassembly-Direct-v0"]: if task_name in ["Isaac-AutoMate-Assembly-Direct-v0", "Isaac-AutoMate-Disassembly-Direct-v0"]:
return return
# skipping this test for now as it requires torch 2.6 or newer # skipping this test for now as it requires torch 2.6 or newer
if task_name == "Isaac-Cartpole-RGB-TheiaTiny-v0": if task_name == "Isaac-Cartpole-RGB-TheiaTiny-v0":
......
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