ian-chuang / OnRobot-RG2FT-ROS

Unofficial ROS driver for the OnRobot RG2-FT Gripper. Control, monitor, and simulate this gripper with ROS. Features force torque sensors, MoveIt integration, and Gazebo simulation.
MIT License
10 stars 4 forks source link

How can I implement this package with RG6 mounted on UR5? #1

Closed hoab02 closed 1 year ago

hoab02 commented 1 year ago

we have a ur5 robot equipped with a onrobot rg6 gripper both which are connected to a common router. The ip of the robot is 192.168.1.45 and I interface with the robot on the ip 192.168.1.100 through ethernet.

I use the external control urcap for controlling the robot.

ian-chuang commented 1 year ago

Check out this repository for controlling the RG6:

https://github.com/Osaka-University-Harada-Laboratory/onrobot

With this driver, you should be able to control the gripper independently.

If you want to integrate the gripper with MoveIt, you will need to make an action server similar to this here. The action server simply publishes joint states of the finger to /joint_states and creates an action server for which to send GripperCommand actions:

https://github.com/ian-chuang/OnRobot-RG2FT-ROS/tree/noetic-devel/onrobot_rg2ft_action_server

If you want more details on how the driver works look at the Modbus TCP specifications for the RG6 here:

https://onrobot.com/sites/default/files/documents/User_Manual_for_TECHMAN_OMRON_TM_v1.05_EN_0.pdf

hoab02 commented 1 year ago

Thank you very much. By the way, if i want to use MoveIt to control both the UR5 and the gripper, do i need to have Compute Box? My computer interfaces with UR5 through ethernet and the Tool Changer is connected with the arm by a cable. I tried some ways to connect the gripper through the arm but it failed, is there any other ways?

ian-chuang commented 1 year ago

I control the RG2-FT with compute box since it seems it doesn't support RS-485.

I'm not too sure about the RG6 if it supports Modbus RTU RS-485, but I have gotten it to work with a Robotiq 2F-85 where I can control it via ROS while connected to the UR5e tool connection. You'll need to do some research on if its possible for RG6.

What you need is this urcap. This is only supported on e-series robots though: https://github.com/UniversalRobots/Universal_Robots_ToolComm_Forwarder_URCap

Then in your launch file for running the UR5e see here. You essentially need to enable tool communication, voltage, and device name: https://github.com/tammerb/HOMESTRI-UR5e-Robotiq2f85/blob/b84cb29885037adbc58a972c53684b6e14c447f3/catkin_ws/src/homestri_ur/homestri_bringup/launch/a_bot_bringup.launch#L32

Then you'll see that you connect the gripper to the same device name. However the gripper needs to support modbus rtu 485: https://github.com/tammerb/HOMESTRI-UR5e-Robotiq2f85/blob/b84cb29885037adbc58a972c53684b6e14c447f3/catkin_ws/src/homestri_ur/homestri_bringup/launch/a_bot_bringup.launch#L56

See here for the Robotiq Driver for how to communicate rs 485: https://github.com/ian-chuang/robotiq

This might also be helpful for you for setting up ROS environment with UR5e: https://github.com/tammerb/HOMESTRI-UR5e-Robotiq2f85/tree/minimal

hoab02 commented 1 year ago

Now, I'm using UR5 (not UR5e) to do some researches in ROS. Before then, I used to control the arm and RG6 mounted in it with Accupick 3D, that way I can control the gripper by the Software. All I have to do was connect my computer and the robot through ethernet ip, so I thought there is the same way help me to do it in ROS without ComputeBox, but I might be wrong. I'm very appreciative of all the support you've given me.

ian-chuang commented 1 year ago

No problem, thanks. Unfortunately, I think you might be stuck with the compute box if you don't have the e-series.