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

Looking for an industry robot with joint velocity control

asked 2018-08-04 14:08:28 -0500

thompson104 gravatar image

updated 2018-08-04 14:10:39 -0500

Hey All,

Currently we are looking for an industry robot that accepts joint speed command for real-time force control. I know Universal Robot is a potential candidate. However, its payload is not enough for our project. We are looking for a robot with the minimum payload of 12 kg.

I have been searching for a while. This recommends motorman FS100 controller. I see the PR has been merged in here. My question is:

  • (1) What is the tracking performance for joint speed control? This link says he used "work-arounds" for force control. But how about its "real" performance? Is motorman joint velocity response quick enough to handle robot control on sensor feedback such as a force-torque sensor?

For Kuka robot, This link says "no RSI, no EKI" supports any velocity interfaces". Also, KUKA iiwa doesn't have the appropriate payload. I read somewhere (sorry I couldn't find its link) saing KUKA_EGM (or something similar) may be useful but I'm not sure what it is. My question would be:

  • (2) Are there any KUKA robot asides from iiwa and LWR4 supporting joint velocity control?

As for ABB, I saw ABB IRB2400 is used for the ROS-Industry GODEL project. We are doing something similar. So my question is

  • (3) Does ABB IRB2400 supports joint velocity control? If not, are there any other models do?

Finally, I couldn't find too much information on Fanuc robot.

  • (4) Does it have any joint velocity controlled robot?

The ROS driver set-ups for different robot vendors are kind of complicated for me since my major is mechanical. I would really appreciate your feedback on the selection of industry robots since these industry robots could be super expensive, and I can't return it if we chose a wrong model.

Again, thank you for your help.

edit retag flag offensive close merge delete

Comments

I own so much to gvdhoorn. Wish I could have the chance to thank him in person in the future.

thompson104 gravatar image thompson104  ( 2018-08-06 20:46:02 -0500 )edit

Does Universal Robots have that feature? Could you send a link for any material? Also, does it already have ROS support?

wagnerbra gravatar image wagnerbra  ( 2019-04-22 07:05:55 -0500 )edit

Yes it does, you can google it and the default ROS support for UR should give u that feature.

thompson104 gravatar image thompson104  ( 2020-01-07 15:40:18 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
3

answered 2018-08-05 03:24:17 -0500

gvdhoorn gravatar image

Seeing as you included this:

I would really appreciate your feedback on the selection of industry robots since these industry robots could be super expensive, and I can't return it if we chose a wrong model.

I feel obliged to add a bit of disclaimer, so here goes: what follows can in no way be understood to be advice on which robot you should buy, I will also not be responsible for whatever decision you end up making. Always consult with a robot manufacturer directly (or one of their local branch offices) and request information about what is or isn't supported by one of their robots. If you see me writing favourably about any robot or mfg that does not imply endorsement or recommendation by me or my employer, nor is it intended to imply that the materials or equipment are necessarily the best available.


In general: velocity controlled industrial robots (ie: robots from Fanuc, Motoman, KUKA and ABB) are scarce. Almost all tasks these robots are used for can be done with position control, and things like force control or compliance are typically done using addons provided by the mfgs that 'overlay' that sort of 'advanced' control on-top of traditional position based tasks (ie: Cartesian compliance for insertion or extraction tasks, force-based contouring, etc).

Velocity control will (and already is) become more and more common as mfgs will want to see their robots used for tasks that are impossible to achieve with pure position control, but it's not ubiquitous unfortunately.

As to your specific questions:

I have been searching for a while. This recommends motorman FS100 controller.

No, I don't believe that is what Shaun writes. What is discussed in that thread is an implementation of "infinite point streaming" for MotoROS, where the driver accepts single points and forwards them to the controller, which will then interpolate (in joint space) from its current position to whatever the new point is. All still using position control.

(1) What is the tracking performance for joint speed control? This link says he used "work-arounds" for force control. But how about its "real" performance? Is motorman joint velocity response quick enough to handle robot control on sensor feedback such as a force-torque sensor?

I don't believe anyone has done any sort of identification of the performance of the approach that the poster of ros-industrial/motoman#219 has implemented. As you can read in his post, it's all still position control and he's running into quite a few (performance) issues because of that.

Note also that what that user writes about is something he's done in private, it's not part of the open-source releases. In other words: that is not available unless you use their product. That is not a problem per se, but something to be aware of.

For Kuka robot, This link says "no RSI, no EKI" supports any velocity interfaces". Also, KUKA iiwa doesn't have the appropriate payload. I read somewhere ...

(more)
edit flag offensive delete link more

Comments

In case you're interested: ABB has released two C++ libraries that make using EGM (and something called RWS) a bit easier. See abb_libegm and abb_librws.

gvdhoorn gravatar image gvdhoorn  ( 2018-08-05 03:26:44 -0500 )edit

I just noticed you already found it (ros-industrial/abb_libegm#15).

gvdhoorn gravatar image gvdhoorn  ( 2018-08-05 03:36:22 -0500 )edit

Btw: not a 'Big Four' mfg, but iirc, Staubli has a velocity control addon you can install on the controller. Last time I used/looked at that was during the CS8 times, so things may have changed.

gvdhoorn gravatar image gvdhoorn  ( 2018-08-05 03:43:34 -0500 )edit

Thank you so much for your time and well-thought answers. I can't imagine anyone would post so much useful information here. I will call Staubli and ABB first thing in the morning. Thank you so much for your information again.

thompson104 gravatar image thompson104  ( 2018-08-06 20:43:21 -0500 )edit

Also, I would't post questions under closed topics on Github again. Thank you for your advise.

thompson104 gravatar image thompson104  ( 2018-08-06 20:44:25 -0500 )edit
1

answered 2018-08-04 23:19:05 -0500

AndyZe gravatar image

updated 2018-08-04 23:23:09 -0500

You can fake velocity control with a position-controlled robot using the jog_arm package. Video here. That video shows jogging in the Cartesian end-effector frame but you can also control individual joints and we have been using it for compliance. In fact, the package contains a library for compliance.

That video shows a simulation of a Motoman SIA5. I don't know if the Gazebo simulation controllers are a 100% accurate representation of the hardware controllers. Hopefully somebody more knowledgeable will weigh in on that.

However, there are some fundamental reasons [1, 2, 3] why compliance works better when the hardware joints are velocity-controlled... so it would be best to find a true velocity-controlled robot. I think this concept is just catching on.

It's too bad you can't make a UR10 work. Could you trim 2kg from the end-effector mass? Also, realize that the robot payload ratings are based on worst-case scenarios, like full acceleration at full extension. I would be tempted to try a UR10 anyway.

[1] General Model of Human-Robot Cooperation Using a Novel Velocity Based Variable Impedance Control, Duchaine

[2] The Advantages of Velocity Control for Reactive Robot Motion, Zelenak

[3] UR10 Performance Analysis, Ravn. Note, speed control of the joints was the only control method that had no drawbacks.

edit flag offensive delete link more

Comments

I'm a big fan of jog_arm, but just to clarify: the way it works requires a driver that exposes an interface with semantics that support that sort of control. For most industrial robots, there is no such support.

URs are a happy exception, but almost all industrial robots are exclusively position controlled with relatively bad external motion interfaces. Additionally, if there are ok motion interfaces offered by the mfg, the drivers themselves would need to properly support something like trajectory replacement or real-time point streaming. For many robots, that is not trivial to implement (especially not in a generic way) as blending of points and controller behaviour are often difficult to get right.

re: sia5: Gazebo is not comparable to the real behaviour of (plain) MotoROS at all. The point streaming PRs improve this, and there are some forks that make it better, but it'll always only be ...(more)

gvdhoorn gravatar image gvdhoorn  ( 2018-08-05 02:48:46 -0500 )edit

Thank you for your answer. I think you are right position controlled force control has its own drawbacks. Also, the reason we want a robot with minimum payload is that our sponsor wants to see "real" applications so collaborative robots such as UR or KUKA iiwa are out.

thompson104 gravatar image thompson104  ( 2018-08-06 20:47:52 -0500 )edit

Personally I feel UR10 is fully capable of performing our task. However, it's not our choice to make. Thank you again for your suggestion and jog_arm recommendation.

thompson104 gravatar image thompson104  ( 2018-08-06 20:49:20 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2018-08-04 14:08:28 -0500

Seen: 14,399 times

Last updated: Aug 05 '18