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

Revision history [back]

click to hide/show revision 1
initial version

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_rtde library (see forcemode https://sdurobotics.gitlab.io/ur_rtde/examples/examples.html) 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.

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_rtde library (see forcemode https://sdurobotics.gitlab.io/ur_rtde/examples/examples.html) 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.