SO-ARM: Real2Sim Teleoperation with ROS2 in Isaac Sim

SO-ARM: Real2Sim Teleoperation with ROS2 in Isaac Sim

Category
Status
Done

Video

Prerequisites

  1. Own the SO-ARM101 Dual-Arm Robot. Buy here with Community Discount LYCHEEAI5
  2. Install LeRobot library
  3. Follow LeRobot SO-ARM101 Tutorial
  4. Isaac Sim 5.0 or Isaac Sim 4.5
  5. Install here: Isaac SimIsaac Sim (+ Installation)

  6. Isaac ROS
  7. Isaac ROS - Installation

  8. Clone my GitHub repository into the LeRobot repository

Step by Step Guide

Step 1: LeRobot Teleoperation Setup

  • Permissions for physical SO-ARM101 USB ports (Linux)
sudo chmod 666 /dev/ttyACM0
sudo chmod 666 /dev/ttyACM1
  • Command to run LeRobot teleoperation script (replace /home/lycheeai with your path)
cd /home/lycheeai/lerobot
conda activate lerobot
python -m lerobot.teleoperate \
    --robot.type=so101_follower \
    --robot.port=/dev/ttyACM0 \
    --robot.id=follower \
    --teleop.type=so101_leader \
    --teleop.port=/dev/ttyACM1 \
    --teleop.id=leader

Step 2: Clone my ROS2 WS GitHub Repo & Build/Install

git clone https://github.com/MuammerBay/so-arm101-ros2-bridge.git
cd so-arm101-ros2-bridge
  • Contains:
    • LeRobot library
    • ROS2 workspace
    • Isaac Sim USD File
  • Go to ROS2 Workspace & colcon build
colcon build --packages-select jointstatereader
  • Install ROS2 Workspace
source install/setup.bash
  • Command to launch
python3 src/jointstatereader/jointstatereader/joint_state_reader.py
  • Relay for Isaac Sim
ros2 run topic_tools relay /joint_states /isaac_joint_command
  • Press Play in Isaac Sim if you haven’t already
  • Verify
ros2 topic list
ros2 topic echo /joint_states --once
ros2 topic echo /isaac_joint_command --once

Step 3: Open Isaac Sim USD File and Play the physics simulation

  • Launch Isaac Sim 5.0 (assuming isaacsim is the cloned repo name)
  • Github - IsaacSimIsaacSim
cd ~/isaacsim/_build/linux-x86_64/release && ./isaac-sim.sh
  • Or launch Isaac Sim 4.5 on stable version (assuming IsaacSim_4-5 is the installed folder name)
~/IsaacSim_4-5/isaac-sim.sh
  • Open the USD File SO-ARM101-USD.usd located at: (replace /home/lycheeai with your path)
/home/lycheeai/lerobot/IsaacSim_USD/SO-ARM101-USD.usd
  • Press Play for Physics + ROS2