{"id":38704096,"url":"https://github.com/enactic/openarm_isaac_lab","last_synced_at":"2026-01-17T10:54:01.950Z","repository":{"id":308482935,"uuid":"1024697553","full_name":"enactic/openarm_isaac_lab","owner":"enactic","description":"OpenArm Isaac Lab Simulation","archived":false,"fork":false,"pushed_at":"2025-11-25T05:00:32.000Z","size":63496,"stargazers_count":31,"open_issues_count":2,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-11-28T13:51:35.616Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enactic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-23T05:44:54.000Z","updated_at":"2025-11-27T08:42:22.000Z","dependencies_parsed_at":"2025-10-23T05:32:26.636Z","dependency_job_id":null,"html_url":"https://github.com/enactic/openarm_isaac_lab","commit_stats":null,"previous_names":["enactic/openarm_isaac_lab"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/enactic/openarm_isaac_lab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactic%2Fopenarm_isaac_lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactic%2Fopenarm_isaac_lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactic%2Fopenarm_isaac_lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactic%2Fopenarm_isaac_lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enactic","download_url":"https://codeload.github.com/enactic/openarm_isaac_lab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactic%2Fopenarm_isaac_lab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28506593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T10:25:30.148Z","status":"ssl_error","status_checked_at":"2026-01-17T10:25:29.718Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T10:54:01.852Z","updated_at":"2026-01-17T10:54:01.923Z","avatar_url":"https://github.com/enactic.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenArm Isaac Lab\n\n[![IsaacSim](https://img.shields.io/badge/IsaacSim-5.1.0-silver.svg)](https://docs.isaacsim.omniverse.nvidia.com/5.1.0/index.html)\n[![Isaac Lab](https://img.shields.io/badge/IsaacLab-2.3.0-silver)](https://isaac-sim.github.io/IsaacLab)\n[![Python](https://img.shields.io/badge/python-3.11-blue.svg)](https://docs.python.org/3/whatsnew/3.11.html)\n[![Linux platform](https://img.shields.io/badge/platform-linux--64-orange.svg)](https://releases.ubuntu.com/22.04/)\n[![License](https://img.shields.io/badge/license-Apache2.0-yellow.svg)](https://opensource.org/license/apache-2-0)\n\n## Overview\n\nThis repository provides simulation and learning environments for the **OpenArm robotic platform**, built on **NVIDIA Isaac Sim** and **Isaac Lab**.\nIt enables research and development in **reinforcement learning (RL)**, **imitation learning (IL)**, **teleoperation**, and **sim-to-real transfer** for both **unimanual (single-arm)** and **bimanual (dual-arm)** robotic systems.\n\n### What this repo offers\n- **Isaac Sim models** for OpenArm robots.\n- **Isaac Lab training environments** for RL tasks (reach, lift a cube, open a drawer).\n- **Imitation learning**, **teleoperation interfaces**, and **sim-to-sim / sim-to-real transfer pipelines** are currently under development and will be available soon.\n\nThis repository has been tested with:\n- **Ubuntu 22.04**\n- **Isaac Sim v5.1.0**\n- **Isaac Lab v2.3.0**\n- **Python 3.11**\n\n---\n\n## Index\n- [OpenArm Isaac Lab](#openarm-isaac-lab)\n  - [Overview](#overview)\n    - [What this repo offers](#what-this-repo-offers)\n  - [Index](#index)\n  - [Installation Guide](#installation-guide)\n    - [(Option 1) Docker installation (linux only)](#option-1-docker-installation-linux-only)\n    - [(Option 2) Local installation](#option-2-local-installation)\n  - [Reinforcement Learning (RL)](#reinforcement-learning-rl)\n    - [Training Model](#training-model)\n    - [Replay Trained Model](#replay-trained-model)\n    - [Analyze logs](#analyze-logs)\n  - [Sim2sim](#sim2sim)\n  - [Sim2Real Deployment using OpenArm](#sim2real-deployment-using-openarm)\n  - [Related links](#related-links)\n  - [License](#license)\n  - [Code of Conduct](#code-of-conduct)\n\n## Installation Guide\n\n### (Option 1) Docker installation (linux only)\n\n1. Pull the minimal Isaac Lab container\n```bash\ndocker pull nvcr.io/nvidia/isaac-lab:2.3.0\n```\n\n2. Create container\n```bash\nxhost +\ndocker run --name isaac-lab --entrypoint bash -it --gpus all --rm -e \"ACCEPT_EULA=Y\" --network=host \\\n   -e \"PRIVACY_CONSENT=Y\" \\\n   -e DISPLAY \\\n   -v $HOME/.Xauthority:/root/.Xauthority \\\n   -v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \\\n   -v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \\\n   -v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \\\n   -v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \\\n   -v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \\\n   -v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \\\n   -v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \\\n   -v ~/docker/isaac-sim/documents:/root/Documents:rw \\\n   nvcr.io/nvidia/isaac-lab:2.3.0\n```\n\n3. Clone git at your HOME directory\n```bash\ncd /workspace\ngit clone git@github.com:enactic/openarm_isaac_lab.git\n```\n\n4. Install python package with\n```bash\ncd openarm_isaac_lab\npython -m pip install -e source/openarm\n```\n\n5. With this command, you can verify that OpenArm package has been properly installed and check all the environments where it can be executed.\n```bash\npython ./scripts/tools/list_envs.py\n```\n\n### (Option 2) Local installation\n\nIt is assumed that you have created a virtual environment named env_isaaclab using miniconda or anaconda and will be working within that environment.\n\n1. Clone git at your HOME directory\n```bash\ncd ~\ngit clone git@github.com:enactic/openarm_isaac_lab.git\n```\n\n2. Activate your virtual env which contains Isaac Lab package\n```bash\nconda activate env_isaaclab\n```\n\n3. Install python package with\n```bash\ncd openarm_isaac_lab\npython -m pip install -e source/openarm\n```\n\n4. With this command, you can verify that OpenArm package has been properly installed and check all the environments where it can be executed.\n```bash\npython ./scripts/tools/list_envs.py\n```\n\n## Reinforcement Learning (RL)\nYou can run different tasks and policies.\n\nReplace `\u003cTASK_NAME\u003e` and `\u003cPOLICY_NAME\u003e` with one of the following available tasks:\n\n| Task Description        | Task Name                      | Policy Name                         | Demo                                |\n| ----------------------- | ------------------------------ | ----------------------------------- | ------------------------------------ |\n| Reach target position   | `Isaac-Reach-OpenArm-v0`       | `rsl_rl`, `rl_games`, `skrl`        | \u003cimg src=\"video/openarm-reach-demo.gif\" width=\"400\"/\u003e          |\n| Lift a cube             | `Isaac-Lift-Cube-OpenArm-v0`   | `rsl_rl`, `rl_games`, `skrl` | \u003cimg src=\"video/openarm-lift-demo.gif\" width=\"400\"/\u003e           |\n| Open a cabinet's drawer | `Isaac-Open-Drawer-OpenArm-v0` | `rsl_rl`, `rl_games`, `skrl`        | \u003cimg src=\"video/openarm-drawer-demo.gif\" width=\"400\"/\u003e         |\n| Reach target position (Bimanual)  | `Isaac-Reach-OpenArm-Bi-v0`    | `rsl_rl`, `rl_games`, `skrl`        | \u003cimg src=\"video/openarm-bi-reach-demo.gif\" width=\"400\"/\u003e          |\n\n### Training Model\n\n```bash\npython ./scripts/reinforcement_learning/\u003cPOLICY_NAME\u003e/train.py --task \u003cTASK_NAME\u003e --headless\n```\n\n### Replay Trained Model\n\n```bash\npython ./scripts/reinforcement_learning/\u003cPOLICY_NAME\u003e/play.py --task \u003cTASK_NAME\u003e --num_envs 64\n```\n\n### Analyze logs\n\n```bash\npython -m tensorboard.main --logdir=logs\n```\n\nAnd open the google and go to `http://localhost:6006/`\n\n## Related links\n\n* Read the [documentation](https://docs.openarm.dev/)\n* Join the community on [Discord](https://discord.gg/FsZaZ4z3We)\n* Contact us through \u003copenarm@enactic.ai\u003e\n\n## License\n\n[Apache License 2.0](LICENSE.txt)\n\nCopyright 2025 Enactic, Inc.\n\n## Code of Conduct\n\nAll participation in the OpenArm project is governed by our [Code of Conduct](CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenactic%2Fopenarm_isaac_lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenactic%2Fopenarm_isaac_lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenactic%2Fopenarm_isaac_lab/lists"}