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:
.. |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>`__
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.
......@@ -206,7 +206,7 @@ We provide environments for both disassembly and assembly.
.. 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:
.. code-block:: bash
......@@ -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>`_.
* |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.
* 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 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 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/automate/run_w_id.py --assembly_id=ASSEMBLY_ID --checkpoint=CHECKPOINT --log_eval``
.. table::
:widths: 33 37 30
......@@ -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| image:: ../_static/tasks/assembly/00004.jpg
.. |disassembly| image:: ../_static/tasks/assembly/01053_disassembly.jpg
.. |assembly| image:: ../_static/tasks/automate/00004.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>`__
.. |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>`__
.. |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-AutoMate-Disassembly-Direct-v0 <https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab_tasks/isaaclab_tasks/direct/automate/disassembly_env_cfg.py>`__
Locomotion
~~~~~~~~~~
......@@ -713,11 +713,11 @@ Comprehensive List of Environments
-
- Direct
- **rl_games** (PPO)
* - Isaac-Assembly-Direct-v0
* - Isaac-AutoMate-Assembly-Direct-v0
-
- Direct
- **rl_games** (PPO)
* - Isaac-Disassembly-Direct-v0
* - Isaac-AutoMate-Disassembly-Direct-v0
-
- Direct
-
......
......@@ -14,8 +14,8 @@ from .disassembly_env import DisassemblyEnv, DisassemblyEnvCfg
##
gym.register(
id="Isaac-Assembly-Direct-v0",
entry_point="isaaclab_tasks.direct.assembly:AssemblyEnv",
id="Isaac-AutoMate-Assembly-Direct-v0",
entry_point="isaaclab_tasks.direct.automate:AssemblyEnv",
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": AssemblyEnvCfg,
......@@ -25,8 +25,8 @@ gym.register(
gym.register(
id="Isaac-Disassembly-Direct-v0",
entry_point="isaaclab_tasks.direct.assembly:DisassemblyEnv",
id="Isaac-AutoMate-Disassembly-Direct-v0",
entry_point="isaaclab_tasks.direct.automate:DisassemblyEnv",
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": DisassemblyEnvCfg,
......
......@@ -71,7 +71,7 @@ class AssemblyEnv(DirectRLEnv):
if self.cfg_task.sample_from != "rand":
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):
eval_held_asset_pose, eval_fixed_asset_pose, eval_success = automate_log.load_log_from_hdf5(
......
......@@ -45,7 +45,7 @@ def main():
"--cfg_path",
type=str,
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("--num_envs", type=int, default=128, help="Number of parallel environment.")
......@@ -62,7 +62,7 @@ def main():
)
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)}"
......
......@@ -44,7 +44,7 @@ def main():
"--cfg_path",
type=str,
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("--checkpoint", type=str, help="Checkpoint path.")
......@@ -60,14 +60,14 @@ def main():
bash_command = None
if args.train:
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)}"
else:
if not args.checkpoint:
raise ValueError("No checkpoint provided for evaluation.")
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)}"
......
......@@ -72,7 +72,7 @@ def test_environments(task_name, num_envs, device):
]:
return
# 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
# skipping this test for now as it requires torch 2.6 or newer
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