Ur_control + effector_control


I’m working on the integration of a robotiq gripper inside our ROS2 workspace and especially on a ur10e.
We manage to drive the robotiq gripper through rs485 (not the one inside the ur unfortunately) and now I’m trying to integrate all the robotiq package (description, driver & control) inside the main.
Description is ok, I can load the ur with the robotiq gripper where I want.
Driver seems ok (in fake hardware & real)
But the control is the hard point.

I was hoping that everything could work if I launch the ur_control.launch.py directly from the ur binary pkg and in the other side the robotiq control from a source build pkg.

When I launch them independently they work nicely but together it’s kind of a mess.

After thinking (a lot) on what could be wrong I think I might find what’s happen but i’m not sure.

I think that the UR ros2 controller launched from ur_control.launch.py get the ur_description from the binary pkg installed instead of the one I’ve made with the robotiq gripper (completely logic). And the joint state publisher broadcaster then, broadcast the ur joint without the robotiq one.
Do I need to source the ur_driver and change the ur_description call ? or there is a way to keep the ur_driver binary pkg untouched ?

Thx for your time and have a nide day :slight_smile:

If you have a robot cell with more than “just” the arm, you’ll have to create your own description package. You can still leave the binary packages untouched. This is exactly, why we have the description_package argument, so you can use the standard launch files with your own description.

Just for the sake of mentioning it: At FZI we developed a ROS 2 node that talks to the robotiq URCap instead of going over rs485: GitHub - fzi-forschungszentrum-informatik/robotiq_2f_urcap_adapter: ROS2 node zur Ansteuerung der Robotiq 2F Greifer über URCap

That might be a convenient alternative without an additional cable. Note that UR is not affiliated with this.

Oh wow thanks a lot, I just figured out that the description files can be parsed via an argument…

And thanks also for sharing your URCap ros2 node ! In our futur development we want to use an automatic tool changer for other effector like a vgc10 from onrobot. At first we were hoping to use the rs485 ur bus but right after we receive the robotiq gripper I found the rs485 issue :confused: so the plan B was to use an external cable but what you share could be an other great plan.

Thank @mauch for your response (and all the other one in the forum)

This below is very much a work in progress, but has a custom description file for the UR3e and robotiq hand-e gripper. Some of this involved a custom build of the ur drivers, but that was unnecessary as @mauch mentioned, since the launch file has an argument to point at a description_package. The Moveit assistant was used to create the corresponding move group config.

Our team is currently working on polishing the repository and making more effective re-use, documentation, and testing at the here:

Hopefully this helps!

Thx for the share! Sure it will help us !

Right now i’m struggling integrating the robotiq 2f140 eef inside the moveit & ros2_control pipeline.

If I launch and activate the UR controler, the robotiq one didn’t want to start and vice versa. (And I find it super hard to debug…)
I’m able to do plan for the ur_manipulator & the eef group but the executor can’t reach the eef controler.

I think I miss some element and I must redo some learning especially on ROS2_Control !

Thx again and have a good day