UR10e freedrive with force feedback

Hi,

I am working with two UR10e robots where I want to remotely control one arm with the other i.e manually moving one arm with my own hands moves the other arm. This is basically not a problem, since you can put the robot that is to be moved by hand into freedrive mode, extract robot joint positions from the UR data stream, put them into moveJ or speedJ commands and send them to the other robot.

The problem now is, that I further want to have force feedback in the free driven robot whenever the remote controlled robot collides with it’s environment (e.g. a table) in terms of the free driven robot works against my hand in the same way as your own hand would receive a force when being pushed against a table (or any other rigid/stiff surface) equal to the applied force

But due to the fact that in free drive mode you can not apply further commands to simulate this contact force (e.g. moveJ commands), I do not know how to implement such a feature. What I would like to do is to release the brakes and still being able to call moveJ or speedJ functions.

Does anyone have an idea on how such thing is possible?

Thanks in advance,
Max

Wow, that’s quite a game. I’m not sure how well this would work, but:

Perhaps instead of freedrive, put the robot in force mode with a wrench vector of 0’s, and then read the FT sensor on robot 2 and then feed back the opposite direction force in as the wrench vector for robot 1.

Not sure how it would react to spamming the force_mode() function, or if you could get away with some kind of lower refresh rate, but you could try it ¯_(ツ)_/¯

Thank you for the idea, but I am not familiar with that feature of the force mode, so would you mind elaborating that a little bit further?
All I know about the force mode is that one can set specific areas (planes or axes) to be freely accessible while the others are defined for force interaction (detect collision and more). But I have not heard of that you can dynamically change these settings while the robot is running? Don’t you have to reinitialize force mode to apply “new rules” ?

Thanks in advance.

Hi @MaxBe,

I second @terryc suggestion of using force_mode. You are able to change it dynamically, there is actually an article about it here

Please share a nice video, when your project is running :grinning:

Ebbe

1 Like

Thank you for the reference!
I will check if this approach is suitable for my task and will share my results in case they are interesting. :slight_smile:

Max

1 Like

Hi @Ebbe ,

as much as I hate to say that, but my project is running out of time and I am unable to implement these features.
I will gladly submit your request of a video to my successor and can only hope for him/her to inform you about the progress.

So far, all I can say is that the force mode as good of an approach it seems to be, might be in contradiction to another goal we have:
the same robot that shall be moved as if it is in free_drive mode with force feedback (as described above) shall on top of that also support the users movement. To give you an impression about this feature, feel free to check out this video: Towards Dynamic Transparency: Robust Interaction Force Tracking Using Multi-Sensory Control - YouTube

We will see what comes off this project, but thank you so far for your idea. :slight_smile:

Max

1 Like