ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Force control on UR5e using moveit

asked 2020-09-11 09:52:16 -0500

Bvm gravatar image

For my project, an UR5e needs to follow a spline. At the end of the spline is needs to move into a certain direction with a constant force. The spline is succesfully executed using the cartesian path planning in moveit. It is still a bit bumpy, but a least it works. However, I am struggling with the constant force part. As far as I know moveit has no implementation of force control. The ur_rtde library (see forcemode https://sdurobotics.gitlab.io/ur_rtde...) has a built in function for this, but this means that I cannot use moveit anymore (including the collision detection) since moveit requires external control on the teach pendant. Is there anybody that has experience using moveit and force control on an UR5e robot?

I am using ROS melodic on ubuntu 18.04 with the universal robot ros driver (https://github.com/UniversalRobots/Un... (kinetic-devel).

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2020-09-12 03:06:08 -0500

gvdhoorn gravatar image

updated 2020-09-12 03:07:08 -0500

As far as I know moveit has no implementation of force control.

Correct. It is a planning framework which mostly deals with kinematics.

The ur_rtdelibrary (see forcemode https://sdurobotics.gitlab.io/ur_rtde...) has a built in function for this, but this means that I cannot use moveit anymore (including the collision detection) since moveit requires external control on the teach pendant.

What you could potentially do is use the Dashboard server integration in Universal_Robots_ROS_Driver to enable and disable the external control URCap when needed.

If you're not controlling the robot "from ROS", the URCap does not need to be running. So if you want to use something else for a bit, that should be possible, and was actually one of the main design drivers of the new driver: make it possible to control the robot externally, but don't take over control completely, only when it is desirable.

Note that the URCap does not need to be running to receive status information from the robot, only to control it. So technically it would be possible to keep at least collision detection working (but you'd have to put something together yourself, using just the monitoring parts of MoveIt).

Main uncertainty here is whether Universal_Robots_ROS_Driver can deal with another RTDE client changing the active recipe/configuration (and vice-versa of course). That would be something to check.

edit flag offensive delete link more

Comments

Thank you for the quick answer. I did not know about the dashboard server, definitely going to try that this week.

The Universal_Robots_ROS_Driver still works with two connections. By keeping external control off I am indeed able to send force commands to the robot using the ur_rtde library, while Moveit is running in the background. By combining this with the dashboard server integration I should be able to use both the cartesian path planning of Moveit and the force control of ur_rtde so thanks a lot!

Bvm gravatar image Bvm  ( 2020-09-14 01:12:02 -0500 )edit

Did you find any solution using ROS? Thank you.

waltergun gravatar image waltergun  ( 2022-08-05 09:23:24 -0500 )edit

I was not able to apply advanced forced control in ROS since these features were not available. I tried the abovementioned solution to switch between the external control and the python ur_rtde library, which worked okay, but ofcourse not a real robust solution. In the end, I decided to only use the ROS driver and made some simple force feedback using the /wrench topic.

Bvm gravatar image Bvm  ( 2022-08-12 04:57:05 -0500 )edit

@Bvm, thank you. What results have you achieved? Did you achieved the stable force when following the spline?

waltergun gravatar image waltergun  ( 2022-08-12 06:11:27 -0500 )edit

Do you know what is the measurement unit of the data from /wrench? I thought N, but I get very high values for small forces.

bach gravatar image bach  ( 2023-02-09 19:19:26 -0500 )edit

As per REP-103: Standard Units of Measure and Coordinate Conventions, Wrench uses N and Nm.

That would be the message definition. Whether the publisher you receive messages from adheres to this convention would be a different question.

gvdhoorn gravatar image gvdhoorn  ( 2023-02-10 03:16:07 -0500 )edit

Question Tools

4 followers

Stats

Asked: 2020-09-11 09:52:16 -0500

Seen: 1,738 times

Last updated: Sep 14 '20