Robotics StackExchange | Archived questions

Universal Robot seventh axis

I have a project where I will need to add a linear seventh axis to a 10 Kg UR robot. I need true interpolated motion where the robot and seventh axis move together to perform a trajectory. There is nothing available right now that does this. Can it be done with ROS? Has anyone out there done it? If so how?

Asked by mewescott on 2018-10-15 06:21:55 UTC

Comments

I know Universal Robots do sell the hardware to do this, but I don't think UR ROS driver supports this at the moment. Due to the MoveIt architecture a single action server needs to control all the joints to achieve what you want. At worst you may have to customise the driver to add a prismatic joint

Asked by PeteBlackerThe3rd on 2018-10-15 06:37:26 UTC

Due to the MoveIt architecture a single action server needs to control all the joints to achieve what you want

I'm not sure this is actually true. I believe the MoveIt trajectory execution component will mix-and-match controllers and submit trajectories to all of them as required by the plan.

Asked by gvdhoorn on 2018-10-15 07:11:18 UTC

If UR has a solution for this I would recommend investigating that.

Extending the driver (any driver) to provide the additional information is most likely much easier than doing a software sync of two (largely) independent systems.

Asked by gvdhoorn on 2018-10-15 07:12:07 UTC

@PeteBlackerThe3rd: if you're referring to the Festo product then I believe that does not support integrated / coordinated motion as the OP describes.

Asked by gvdhoorn on 2018-10-15 07:29:38 UTC

I recently found information about the festo system they are trying to pass as a 7th axis. It stated that it does not do interpolated motion but move the axis independent of the robot. It's advantage is the axis can be programmed from a UR cap on the UR teach pendant.

Thank you for quick replies

Asked by mewescott on 2018-10-15 09:05:22 UTC

the festo system they are trying to pass as a 7th axis

this is not really fair: it is a 7th axis.

The fact that it doesn't support coordinated motion or isn't integrated into the kinematics of the base robot controller doesn't change that.

Asked by gvdhoorn on 2018-10-15 09:17:07 UTC

Answers

I'm assuming you want an answer that discusses how to do this with ROS. There might be ways to do this with the controller alone, but I won't mention those as I don't have any experience with them.

At least one available driver (ur_modern_driver) has a ros_control compatible mode.

An approach that might work, would be to combine the ur_modern_driver hardware_interface with one controlling your linear rail (using the combined_robot_hw support in ros_control).

This would allow synchronised execution of a trajectory across both the 6 axes available from the robot as well as the one from the rail.

The interfaces available to the robot controller and the rail controller will then become the bottleneck: if they delay execution of incoming motions in an arbitrary or hard to predict way, or if there is a significant difference between how your linear rail executes motions from how the UR controller does it, this will not work. But that is not something unique to using ROS, the combined_robot_hw approach or any of the available drivers.

Millisecond synchronisation of two independent pieces of hw is never easy and adding more software to such a setup doesn't necessarily make it any easier.

Asked by gvdhoorn on 2018-10-15 06:34:48 UTC

Comments

And just to clarify: I have not done this myself. I just wanted to describe a possible approach for you.

Asked by gvdhoorn on 2018-10-15 06:35:31 UTC

Thank you for the quick reply. I will keep this in mind as I dig into it deeper. If anyone has experience doing this let me know. I would love to learn more about it.

Asked by mewescott on 2018-10-15 09:10:23 UTC

@mewescott - any updates on this on your end? We are looking for 7th axis for our UR10 that allows coordinated moves. Would love to fin out if you were able to get some traction.

Asked by rcriveraph on 2019-01-30 18:40:35 UTC