MetaCase Homepage
Forum Home Forum Home > > MetaEdit+
  New Posts New Posts RSS Feed - Programming Industry Robot
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Programming Industry Robot

 Post Reply Post Reply
Author
Message
Twister View Drop Down
Member
Member


Joined: 06.May.2017
Location: Germany
Points: 3
Post Options Post Options   Thanks (0) Thanks(0)   Quote Twister Quote  Post ReplyReply Direct Link To This Post Topic: Programming Industry Robot
    Posted: 06.May.2017 at 22:11
Hello,

is it possible with metaedit to program an industry robot?
I am looking for a graphical programming language to program a industry robot.
The robot is a KUKA-Robot KRC4?
Here is a demo program:
;============================
DEF DEMO_PROG()
PTP HOME
LOOP
  PTP POS_1
  LIN POS_2
  IF $IN[1] == TRUE THEN
    LIN POS_10
    LIN POS_11
  ENDIF
  CIRC HELP_1,POS_3
  PTP POS_4
  LIN {X 100,Y 250}
ENDLOOP
PTP HOME
END
;============================

Regards
Twister
Back to Top
jpt View Drop Down
MetaCase
MetaCase
Avatar

Joined: 25.Mar.2008
Points: 239
Post Options Post Options   Thanks (1) Thanks(1)   Quote jpt Quote  Post ReplyReply Direct Link To This Post Posted: 08.May.2017 at 07:46
Yes, including robots operating alone as well as those working with human operator like lifts for load handling. Two examples that are public and I’ve had change to be involved with deal with IGUS Robolink and Lego robots.

With Domain-Specific Modeling, you first create the modeling language that allows specifying the wanted operations of the robot, like its actions and triggers. This is followed by making the generator that produces the code for the target robot platform. This process is demonstrated with IGUS robot article and in articles, like How to start defining your language.

In terms of demo program code, you may find similar in ‘Home automation’ project that can be found from demo repository that comes with evaluation version of MetaEdit+. It follows visual flow with sublanguage focusing on particular details. Note, however, that in home automation the language raises the abstraction from code to the problem domain, yet can be used to generate loop, if etc. If you do the same for KUKA-robot you may create robotic applications in your area 5-10x faster compared to writing the current code manually. For examples and tutorials on trying hands-on language and generator creation, see manuals index.

Edited by jpt - 08.May.2017 at 07:47
Back to Top
djuka View Drop Down
Major Contributor
Major Contributor
Avatar

Joined: 22.Jun.2011
Location: Germany
Points: 33
Post Options Post Options   Thanks (2) Thanks(2)   Quote djuka Quote  Post ReplyReply Direct Link To This Post Posted: 09.May.2017 at 10:58
Hi Twister!

MetaEdit+ and Domain-specific modeling helps you to make platform independent solution
for robot control.  Such an solution enables production code to be generated from models, for various target robot types and drives (hardware that is interface between end-user applications and motors).

DSL for robot control contains of three parts (language concept groups):
- part that describes topological features of arm: number and sige of joints and segments, elevation and rotation ranges, connectiong rules, etc.;
- part that describes motions and actions on object from real world where arm should do something;
- part that contains control logic, or rules how to transform requests expressed on high level abstractions on models, to concrete commands on motor drives.

All languages must be integrated in the same meta-model, to be one DSL.

Code generators are programs that are used to transform models to
targte code. When is about robot control, here the main point is type of
motion framework that target robot controller supports, or target language
that it interpretes (like in your example). I prefere motion frameworks on
higher level of abstraction to be used, instead of low level commands.

If you have good DSL for modeling robot actions, then you are not limited
to special robot control operating system or languages, you can build native
code from models or use PLC-like systems to reach everything that robot
control needs. Additionally, integration of robot in real enviroment is simple.

Here you can see some video examples how DSM is used for robot control,
in combination with MetaEdit+, especially with MERL generator.

https://www.youtube.com/channel/UCqyYnYD6J5fEeb6Ni3YLuKg

Djukic
Back to Top
Twister View Drop Down
Member
Member


Joined: 06.May.2017
Location: Germany
Points: 3
Post Options Post Options   Thanks (0) Thanks(0)   Quote Twister Quote  Post ReplyReply Direct Link To This Post Posted: 11.May.2017 at 20:49
Hi,

thank you for your comments.
jpt:
Perhaps this is the right way to find the right solution for me.

Djukic:
What you say is more to develop all parts of a robot.
I have a real industry robot (KUKA KRC4) and i don't want to develop a robot.
I want to "program" real working-robot programs in visual environment, not in
hard coding.

The KUKA-robot code looks like Basic-Language.

If I make all settings Graph, Object, Relations and so on...
After that, is it possible to compile my MetaEdit+ Environment to a standard
EXE-File so that i have produced my own Programming-Tool which i can give others to
program robots visual? 

regards
Twister


Back to Top
stevek View Drop Down
MetaCase
MetaCase
Avatar

Joined: 11.Mar.2008
Points: 641
Post Options Post Options   Thanks (2) Thanks(2)   Quote stevek Quote  Post ReplyReply Direct Link To This Post Posted: 11.May.2017 at 21:07
Hi Twister,

You can compare MetaEdit+ to Word, and creating a language (Graph type, Object types etc.) to creating a Word template. There's no need to compile a new EXE, you just give the language to anyone with MetaEdit+, like you would give the template to anyone with Word. They get MetaEdit+ from us (e.g. downloading the evaluation version), and the language from you (e.g. you give them a copy of your repository, or export the language from Type Manager for them to import into their own repository).

All the best,
Steve
Back to Top
djuka View Drop Down
Major Contributor
Major Contributor
Avatar

Joined: 22.Jun.2011
Location: Germany
Points: 33
Post Options Post Options   Thanks (2) Thanks(2)   Quote djuka Quote  Post ReplyReply Direct Link To This Post Posted: 12.May.2017 at 09:14
Hello Twister !

MetaEdit+ tool and Domain-specific modeling generally helps you to specify problems on various levels of abstraction, with intention to have graphical languages on highest possible level for various application domains. Suppose you have four types of user for KUKA or any other robot doing such tasks:

1)      The first forces robot arm to do simple steps, like drawing line, circle, ellipse, …. T(1)..(T4). For this user you will create graphical language with objects representing elementary motions, and every type of line will be, by MERL code generator, translated to robot control program, like in your code example.

2)      The second uses robot arm to draw characters somewhere and he prefers end user application where he is able to enter one character and specify size. Semantics of DSL expresses in object type “Character”, must have knowledge about primitive lines / motions used to construct one concrete character. This is like font definition.

3)      The third user wants to enter complete sentences and to force robot to draw it. Language that enables graphical specification of sentences must have some new language concepts, like auto-divide rules, write direction, etc. In order to have simple transformations of models to actions, here is better to have “motion framework” that contains definition for all characters. Like in previous cases, here you also can get control logic code for robot and end-user application for programming motions. If DSL is on proper level of abstraction, models will be very similar to end-user applications and generated from models. Some specific things in applications depend on target operating system, graphical framework on programmer’s computer, etc.

4)       The fourth user wants to handle some input signals from sensors and, depending on it, dynamically adjust sentence layout (T2.1). If so, DSL for modeling must contain language concepts and graphical representations for sensors. If sensors can not be accesses from robot control language, then separate code must be generated from such models, for drivers.

To conclude: MetaEdit+ does not limit you to any abstraction level. Using it you are able to provide graphical tools and generate end-user applications and control logic for robot that respects user request, implementation specificities of robot and environment where robot executes some tasks.

Regards,

Djukic 




Edited by djuka - 12.May.2017 at 09:15
Back to Top
 Post Reply Post Reply

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.05
Copyright ©2001-2022 Web Wiz Ltd.

This page was generated in 0.063 seconds.