moveit_tutorials icon indicating copy to clipboard operation
moveit_tutorials copied to clipboard

Update moveit_servo tutorial to release 1.3.x of UR5

Open rhaschke opened this issue 2 years ago • 7 comments

This attempts to fix #750 in a cleaner way (i.e. actually fix the tutorial).

The UR5 config files have considerably changed since the moveit_servo tutorial was written. This PR addresses all renamings of files, links, and controllers.

However, it still doesn't work, because the UR repo removed support for the joint_group_position_controller in Gazebo. There is only an effort controller: joint_group_eff_controller. While interface-wise that seems to work (moveit_servo doesn't complain), it eventually fails with:

[ WARN] ros.moveit_servo.servo_calcs: An acceleration limit is not defined for this joint; minimum stop distance should not be used for collision checking
[ WARN] ros.moveit_servo.servo_calcs: Very close to a singularity, emergency stop

Maybe, this is due to the fact that switching controllers from eff_joint_traj_controller to joint_group_eff_controller made the robot fall back to the floor. The robot doesn't maintain its pose!

@AndyZe, @gavanderhoorn, please have a look / comment.

rhaschke avatar Jan 31 '23 12:01 rhaschke

I would suggest @fmauch and/or @RobertWilbrandt actually.

They've taken over / are the main maintainers now.

gavanderhoorn avatar Jan 31 '23 13:01 gavanderhoorn

If the UR maintainers can't add support for a Joint Trajectory Controller or a Joint Group Position Controller, then I think we should just merge #750. I wish I had time to update the tutorial properly but I don't.

AndyZe avatar Jan 31 '23 14:01 AndyZe

Maybe give them some time to respond?

gavanderhoorn avatar Jan 31 '23 14:01 gavanderhoorn

The falling robot is actually on our priority ToDo list at the moment. @RobertWilbrandt can say more about this. If it helps I would not see a downside in adding the transmission_interface argument to the ur_gazebo launchfiles and add position-based controllers to the controllers configurations. This way, users could easily choose using position-based controllers if they want to.

fmauch avatar Jan 31 '23 14:01 fmauch

I would not see a downside in adding the transmission_interface argument to the ur_gazebo launchfiles and add position-based controllers to the controllers configurations.

@fmauch: Was this implemented meanwhile?

rhaschke avatar Aug 29 '24 14:08 rhaschke

I would not see a downside in adding the transmission_interface argument to the ur_gazebo launchfiles and add position-based controllers to the controllers configurations.

@fmauch: Was this implemented meanwhile?

I'll check and come back to you tomorrow.

fmauch avatar Sep 05 '24 20:09 fmauch

I've made a PR with the relevant changes: https://github.com/ros-industrial/universal_robot/pull/685

With this I can for example start

roslaunch ur_gazebo ur10_bringup.launch transmission_hw_interface:=hardware_interface/PositionJointInterface controllers:=pos_joint_traj_controller stopped_controllers:=joint_group_pos_controller

to get a fully position-controlled robot.

fmauch avatar Sep 06 '24 07:09 fmauch