Robotiq digital twin in isaac sim

Isaac Sim Version: 2023.1.1
Operating System: Ubuntu 20.04

I am currently building a digital twin environment for manipulation tasks in Isaac Sim. I am using a Dobot CR5 robotic arm and a Robotiq 2F-140 gripper. My goal is to replicate the exact environment of my lab and perform pick-and-place tasks in this simulated environment.

So far, I have successfully synchronized the robotic arm by publishing joint states from the real robot and subscribing to them in the simulation.

However, I am struggling with synchronizing the gripper for the digital twin. For the Robotiq gripper, the simulated robot does not mimic the real robot because the real robot does not publish joint states.

Currently, I can control the real and simulated Robotiq grippers independently, but using different methods:

python

コードをコピーする

import moveit_commander

group_name = "robotiq_gripper"
group_hand = moveit_commander.MoveGroupCommander(group_name)
group_hand.set_named_target('open')
group_hand.go()
group_hand.set_named_target('close')
group_hand.go()

In the simulation, I can open the gripper, but I cannot close it, and I am unsure why.

Summary

I want to control the real robot gripper (open/close) and have the simulation mimic its movements.

If anyone could help me figure out how to achieve this, I would greatly appreciate it. Thank you!

Please check if information in Nvidia Isaac Sim: Revolutionizing Robotics with Digital Twins Using Ros2 Humble is helpful.

Thank you for your reply.

From the article, I understand that publishing and subscribing to joint states can enable robot synchronization.

However, I am still facing issues with the Robotiq gripper because I don’t know how to publish its joint states. I can launch the cr5_moveit.launch file and successfully publish TF for the CR5, but not for the Robotiq gripper.

When I launch this file, I can see the robot arm moving in RViz in sync with the real robot. However, the Robotiq gripper does not move because the package I am using is only for the CR5.

Currently, I am using the following packages:

  1. For CR5: TCP-IP-ROS-6AXis/README-V3-EN.md at main · Dobot-Arm/TCP-IP-ROS-6AXis · GitHub
  2. For Robotiq: GitHub - ros-industrial-attic/robotiq: Robotiq packages (http://wiki.ros.org/robotiq)

Could you please tell me how to publish the Robotiq gripper’s joint states and enable synchronization?