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

Does ROS support any industrial robot languages?

asked 2018-02-22 08:56:58 -0500

machinekoder gravatar image

updated 2018-02-23 11:12:25 -0500

gvdhoorn gravatar image

Does ROS support any industrial robot languages such as KRL, URScript or AS?

If not, what are the alternatives to control a robot arm with ROS industrial?


Edit: We are working on a robot arm for a manufacturing application. Right now we are looking into how an operator can program a robot. As far as we have seen, industrial robots are either programmed via GCode-like language or via some kind of dialog interface.

We were wondering if there is already a standard language that can be used to create robot programs. Something like GCode for CNCs and other similar machines.

Of course, the dialog/teaching programming model is much more attractive, but a standard robot language might be useful too.

Note: The robot arm will be programmed by the end user, not a trained engineer.

edit retag flag offensive close merge delete

Comments

It might be good to explain a little more why you are asking this question. What is it that you're trying to do / thinking of? Are you looking to create 'robot programs' in mfg languages and then have them executed by ROS (whatever that means)? Or would you want to write ROS nodes in robot ..

gvdhoorn gravatar image gvdhoorn  ( 2018-02-23 02:51:37 -0500 )edit

.. mfg languages and make those first-class citizens in a ROS node graph?

If you can provide some clarification, we might be able to provide (better) answers and also avoid a potential xy-problem.

gvdhoorn gravatar image gvdhoorn  ( 2018-02-23 02:52:35 -0500 )edit

UR comes with its teaching pendant, that is very user friendly and a lot of drag and drop feature. No programming experience is required. It is all in the user interface. Also these robots can be manually moved to respective positions and the positions can be stored and played.

arunavanag gravatar image arunavanag  ( 2018-02-23 09:12:24 -0500 )edit

UR is meant for end-user programming. You can choose these collaborative systems based on your payload and workspace size availability.

arunavanag gravatar image arunavanag  ( 2018-02-23 09:16:04 -0500 )edit
1

In light of your edit: it might be good to change your question title. Your question seems to be more about whether there are any UIs or higher-level programming interfaces for 'ROS robots' than about ROS support for 'industrial robot languages'.

gvdhoorn gravatar image gvdhoorn  ( 2018-02-23 11:17:46 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
2

answered 2018-02-23 11:11:46 -0500

gvdhoorn gravatar image

updated 2018-02-23 11:15:53 -0500

Short answer: I'm not aware of any 'common language' that can be used as a generic way to program (industrial) robots in the way you describe.

There are tools for (hierarchical) state machines, behaviour trees and other such formalisms, but those would probably not be suitable for day-to-day programming by operators.


Slightly longer answer: the CRCL project is something that targets similar things, but is not suitable for programming (manually) by humans. Various groups have created programming interfaces for robot tasks -- mostly graphical ones, using drag-and-drop to place boxes in a sequence -- but nothing has emerged as a generic approach afaik.

edit flag offensive delete link more

Comments

noobs... haha

dinesh gravatar image dinesh  ( 2018-02-23 11:41:42 -0500 )edit
1
gvdhoorn gravatar image gvdhoorn  ( 2018-02-23 11:52:09 -0500 )edit

One graphical tool is http://wiki.ros.org/blockly , based on https://developers.google.com/blockly/ . The package seems to be adapted to specific robots. But maybe it's a good starting point?

Nicolas gravatar image Nicolas  ( 2018-03-28 11:06:50 -0500 )edit

@gvdhoorn: Do you know of any other "promising" graphical or textual programming interfaces for robot tasks?

Nicolas gravatar image Nicolas  ( 2018-03-28 11:07:43 -0500 )edit

No, not that I can remember right now. Personally I'm fine with using ROS for this and I don't particularly like any graphical approach to programming, so it also isn't really something I actively monitor I'm afraid.

gvdhoorn gravatar image gvdhoorn  ( 2018-03-28 12:51:04 -0500 )edit

Long story short, we took the path of implementing our own Python-based programming language. Since our target end-users, the approach is heavily GUI focused, the program code is generated in the background. However, advanced engineers can program the robot directly via Python.

machinekoder gravatar image machinekoder  ( 2018-06-24 10:56:23 -0500 )edit

sorry for wrong comment. @gvdhoorn

dinesh gravatar image dinesh  ( 2018-09-20 04:47:21 -0500 )edit
1

answered 2018-02-23 02:35:04 -0500

I am not quite sure what you mean by AS.

ROS does support several industrial robots. UR script is nothing but sending move commands over TCP socket. The scripts are written in python using socket library. I find it quite rigid as everything is hardcoded. Yes, you can use ros sockets, as well to do the same. I haven't used KRL, however, I think the scripts could be written in python and sent over ros sockets.

For more adaptivity ROS community now supports UR drivers, which makes it great to program a UR, and also opens up opportunities to use vision and motion planning and other aspects, done very easily.

Here is getting started with Universal Robot. This is supported by ROS-Industrial.

Kuka Robot is supported as well by ROS Industrial. Link

edit flag offensive delete link more

Comments

AS is Kawasakis robot language https://www.scribd.com/doc/92216565/D...

URScript is as far as I understand not just a Python library. The language is similar but very different from Python. It's more GCode or other industrial robot languages.

machinekoder gravatar image machinekoder  ( 2018-02-23 06:58:47 -0500 )edit

Thank you for the links.

machinekoder gravatar image machinekoder  ( 2018-02-23 06:59:08 -0500 )edit

Hi @machinekoder, yes urscript is not python library. But you can send command like movej(location) using python script, using a python socket through TCP connection. (example

arunavanag gravatar image arunavanag  ( 2018-02-23 09:10:19 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2018-02-22 08:56:58 -0500

Seen: 1,012 times

Last updated: Feb 23 '18