{"id":26771928,"url":"https://github.com/louislelay/isaaclab_ur_reach_sim2real","last_synced_at":"2026-04-13T22:32:52.687Z","repository":{"id":281107867,"uuid":"944231137","full_name":"louislelay/isaaclab_ur_reach_sim2real","owner":"louislelay","description":"A ROS2 controller for a UR arm leveraging IsaacLab's trained policy for sim-to-real reaching tasks.","archived":false,"fork":false,"pushed_at":"2025-03-29T00:09:08.000Z","size":677,"stargazers_count":28,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-14T02:07:03.263Z","etag":null,"topics":["gazebo","isaac-lab","isaac-sim","isaaclab","isaacsim","ros2","ros2-foxy","ros2-humble","sim2real","sim2sim","universal-robots","ur10"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/louislelay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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-03-07T02:05:30.000Z","updated_at":"2026-03-09T13:30:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc4d85a8-d624-4a07-b604-8985e08a6d2b","html_url":"https://github.com/louislelay/isaaclab_ur_reach_sim2real","commit_stats":null,"previous_names":["louislelay/ur_onnx_controller","louislelay/isaaclab_ur_reach_sim2real"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/louislelay/isaaclab_ur_reach_sim2real","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louislelay%2Fisaaclab_ur_reach_sim2real","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louislelay%2Fisaaclab_ur_reach_sim2real/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louislelay%2Fisaaclab_ur_reach_sim2real/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louislelay%2Fisaaclab_ur_reach_sim2real/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/louislelay","download_url":"https://codeload.github.com/louislelay/isaaclab_ur_reach_sim2real/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louislelay%2Fisaaclab_ur_reach_sim2real/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31774028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: 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":["gazebo","isaac-lab","isaac-sim","isaaclab","isaacsim","ros2","ros2-foxy","ros2-humble","sim2real","sim2sim","universal-robots","ur10"],"created_at":"2025-03-29T00:36:10.957Z","updated_at":"2026-04-13T22:32:52.639Z","avatar_url":"https://github.com/louislelay.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# UR10 Reach Task from Isaac Lab Sim2Real Transfer \n\nThis repository uses a UR10 Reach task trained policy using Isaac Lab to do sim-to-real transfer. It has been tested with ROS2 Humble on Ubuntu 22.04.\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Sim2Sim Setup](#sim2sim-setup)\n  - [Sim2Real Setup](#sim2real-setup)\n- [Acknowledgments](#acknowledgments)\n- [License](#license)\n\n## Overview\n\nThis repository provides scripts to test a pretrained UR10 policy in simulation using URSim (sim2sim) and then transfer it to a real robot (sim2real). The simulation is based on the `ur_robot_driver` package. A pretrained policy is available in the `sample` directory. Note that you need to adjust the policy path in `ur.py`.\n\n## Prerequisites\n\n- **Operating System:** Ubuntu 22.04\n- **ROS 2:** Humble Hawksbill  \n  [Installation guide](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)\n- **UR Robot Driver:** [ur_robot_driver](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver)\n- **Python:** Python 3\n\n## Installation\n\n1. **Install ROS 2 Humble:**  \n   Follow the [ROS 2 installation guide](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html).\n\n2. **Install the UR Robot Driver Package:**  \n   ```bash\n   sudo apt update\n   sudo apt install ros-humble-ur-robot-driver\n   ```\n\n3. **Clone the Repository:**\n   ```bash\n   git clone https://github.com/louislelay/isaaclab_ur_reach_sim2real.git\n   ```\n\n## Usage\n\n### Sim2Sim Setup\n\nFollow these steps to run the simulation:\n\n1. **Launch URSim:**\n\n   Open a terminal and run:\n   ```bash\n   ros2 run ur_robot_driver start_ursim.sh -m ur10e\n   ```\n   This will launch URSim at http://192.168.56.101:6080/vnc.html. Click **Connect** and you should see an interface similar to:\n\n   ![URSim Interface](medias/ursim_interface_image.png)\n\n2. **Activate External Control in URCaps:**\n\n   In the **Programs** tab, below **URCaps**, click on **External Control**. Below **Robot Progam** you should see appear  : **Control by 192.168.56.1**\n\n   ![URCaps Interface](medias/urcaps_image.png)\n\n3. **Start the UR Robot**\n\n   Click on the red button in the bottom left. Click on **On**, then **Start** until you obtain the following interface:\n     \n   ![Robot Started Interface](medias/robot_started_image.png)\n\n4. **Exit and Proceed:**\n\n   - Press **Exit**.\n   - Switch to the **Move** tab in the interface:\n     \n     ![Next Tab Interface](medias/move_tab_image.png)\n\n5. **Connect the interface to the computer:**\n\n   - Press the play button in the bottom.\n   - Select the **Control by 192.168...** option in the interface:\n     \n     ![Connect Interface](medias/play_selection_image.png)\n\n6. **Launch Robot Control:**\n\n   In another terminal, run:\n   ```bash\n   ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10e robot_ip:=192.168.56.101\n   ```\n\n7. **Run the Task Script:**\n\n   Navigate to the Python directory within the repository:\n   ```bash\n   cd \u003cpath_to_repository\u003e/isaaclab_ur_reach_sim2real/python\n   ```\n   **Note:** Ensure that the policy path in `ur.py` is updated to point to your pretrained policy (one is available in the `sample` directory if needed).\n\n   Finally, run:\n   ```bash\n   python3 run_task.py\n   ```\n   The robot’s end effector should move to the target pose specified in the script.\n\n8. **Demonstration Video:**\n\n   Click on it to go to the youtube video and see the result.\n\n   [![Demonstration video](https://img.youtube.com/vi/B4jCdmKzhKA/0.jpg)](https://www.youtube.com/watch?v=B4jCdmKzhKA)\n\n### Sim2Real Setup\n\nThis section is a work in progress (WIP).\n\n## Acknowledgments\n\n- **[Johnson Sun](https://github.com/j3soon)**: Many thanks for his valuable advice and time.\n- **UR10Reacher Sim2Real for Isaac Gym:** [UR10Reacher repository](https://github.com/j3soon/OmniIsaacGymEnvs-UR10Reacher)\n- **Isaac Lab:** [Isaac Lab repository](https://github.com/isaac-sim/IsaacLab)\n- **UR Robot Driver:** [UR Robot Driver repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver)\n- **ROS 2 Community:** [ROS 2 project](https://docs.ros.org/en/humble/index.html)\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flouislelay%2Fisaaclab_ur_reach_sim2real","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flouislelay%2Fisaaclab_ur_reach_sim2real","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flouislelay%2Fisaaclab_ur_reach_sim2real/lists"}