Skip to content

louislelay/isaaclab_ur_reach_sim2real

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UR10 Reach Task from Isaac Lab Sim2Real Transfer

This 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.

Table of Contents

Overview

This 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.

Prerequisites

Installation

  1. Install ROS 2 Humble:
    Follow the ROS 2 installation guide.

  2. Install the UR Robot Driver Package:

    sudo apt update
    sudo apt install ros-humble-ur-robot-driver
  3. Clone the Repository:

    git clone https://github.com/louislelay/isaaclab_ur_reach_sim2real.git

Usage

Sim2Sim Setup

Follow these steps to run the simulation:

  1. Launch URSim:

    Open a terminal and run:

    ros2 run ur_robot_driver start_ursim.sh -m ur10e

    This will launch URSim at http://192.168.56.101:6080/vnc.html. Click Connect and you should see an interface similar to:

    URSim Interface

  2. Activate External Control in URCaps:

    In the Programs tab, below URCaps, click on External Control. Below Robot Progam you should see appear : Control by 192.168.56.1

    URCaps Interface

  3. Start the UR Robot

    Click on the red button in the bottom left. Click on On, then Start until you obtain the following interface:

    Robot Started Interface

  4. Exit and Proceed:

    • Press Exit.

    • Switch to the Move tab in the interface:

      Next Tab Interface

  5. Connect the interface to the computer:

    • Press the play button in the bottom.

    • Select the Control by 192.168... option in the interface:

      Connect Interface

  6. Launch Robot Control:

    In another terminal, run:

    ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10e robot_ip:=192.168.56.101
  7. Run the Task Script:

    Navigate to the Python directory within the repository:

    cd <path_to_repository>/isaaclab_ur_reach_sim2real/python

    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).

    Finally, run:

    python3 run_task.py

    The robot’s end effector should move to the target pose specified in the script.

  8. Demonstration Video:

    Click on it to go to the youtube video and see the result.

    Demonstration video

Sim2Real Setup

This section is a work in progress (WIP).

Acknowledgments

License

This project is licensed under the MIT License.

About

A ROS2 controller for a UR arm leveraging IsaacLab's trained policy for sim-to-real reaching tasks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages