Content deleted Content added
m →Parallel languages: lang="urbiscript" |
|||
(20 intermediate revisions by 18 users not shown) | |||
Line 1:
'''Robot software''' is the set of [[Computer programming|coded commands]] or instructions that tell a [[Machine|mechanical device]] and electronic system, known together as a [[robot]], what tasks to perform. Robot [[software]] is used to perform autonomous tasks. Many software systems and frameworks have been proposed to make programming robots easier.
Line 13 ⟶ 12:
Go to Jig1
It is an instruction to the robot to go to positional data named Jig1. Of course, programs can also contain implicit data for example
Tell axis 1 move 30 degrees.
Line 21 ⟶ 20:
==Examples of programming languages for industrial robots==
Due to the highly [[Proprietary software|proprietary]] nature of robot [[software]], most manufacturers of robot hardware also provide their own software. While this is not unusual in other automated [[control systems]], the lack of standardization of programming methods for robots does pose certain challenges.
One method of controlling robots from multiple manufacturers is to use a [[Post processor]] and [[Off-line programming (robotics)]] software. With this method, it is possible to handle brand-specific robot programming language from a universal programming language, such as [[Python (programming language)]].<ref>{{Cite web|url=https://
Some examples of published robot programming languages are shown below.
Line 38 ⟶ 37:
Move to P1 and finish
[[Variable Assembly Language|VAL]] was one of the first robot ‘languages’ and was used in [[Unimate]] robots.<ref>{{cite book|last1=O. Nnaji|first1=Bartholomew|title=Theory of Automatic Robot Assembly and Programming|publisher=Springer|isbn=978-0412393105|page=5|edition=1993|url=https://books.google.com/books?id=poAIavAqj68C&
Example program:
Line 84 ⟶ 83:
ROBOFORTH (a language based on [[FORTH]]).
<
: PICKPLACE
P1
Line 91 ⟶ 90:
P1
;
</syntaxhighlight>
(With Roboforth you can specify approach positions for places so you do not need P2 and P4.)
Clearly, the robot should not continue the next move until the gripper is completely closed. Confirmation or allowed time is implicit in the above examples of CLOSEI and GRIP whereas the On vacuum command requires a time delay to ensure satisfactory suction.
== Other robot programming languages ==
Line 100 ⟶ 99:
===Visual programming language===
The [[LEGO Mindstorms EV3]] programming language is a simple language for its users to interact with. It is a graphical user interface (GUI) written with [[LabVIEW]]. The approach is to start with the program rather than the data. The program is constructed by dragging icons into the program area and adding or inserting into the sequence. For each icon, you then specify the parameters (data). For example, for the motor drive icon you specify which motors and by how much they move. When the program is written it is downloaded into the Lego NXT 'brick' (microcontroller) for test.
===Scripting languages===
Line 106 ⟶ 105:
A [[scripting language]] is a high-level programming language that is used to control the software application, and is interpreted in real-time, or "translated on the fly", instead of being compiled in advance. A scripting language may be a general-purpose programming language or it may be limited to specific functions used to augment the running of an application or system program. Some scripting languages, such as [[RoboLogix]], have data objects residing in registers, and the program flow represents the list of instructions, or [[instruction set]], that is used to program the robot.
{| class="wikitable"
|+Programming languages in industrial robotics<ref>{{cite web|title=Robot programming languages|url=http://fabryka-robotow.pl/2015/01/programming-languages-to-control-robot/|website=Fabryka robotów|
!Robot brand
!Language name
|-
|ABB
|[[RAPID (programming language)|RAPID]]
|-
|Comau
Line 150 ⟶ 149:
== Robot application software ==
Regardless which language is used, the
===Safety considerations===
Programming errors represent a serious safety consideration, particularly in large industrial robots. The power and size of industrial robots mean they are capable of inflicting severe injury if programmed incorrectly or used in an unsafe manner. Due to the mass and high-speeds of industrial robots, it is always unsafe for a human to remain in the work area of the robot during automatic operation. The system can begin motion at unexpected times and a human will be unable to react quickly enough in many situations, even if prepared to do so. Thus, even if the software is free of programming errors, great care must to be taken to make an industrial robot safe for human workers or human interaction, such as loading or unloading parts, clearing a part jam, or performing maintenance. The ''ANSI/RIA R15.06-1999 American National Standard for Industrial Robots and Robot Systems - Safety Requirements (revision of ANSI/
. ==See also==
* [[Behavior-based robotics]] and [[Subsumption architecture]]
* [[Developmental robotics]]
Line 178:
==External links==
* {{webarchive |date=2013-01-27 |url=https://archive.
* [http://www.robotics.org/bookstore-prod.cfm?category_id=118&product_id=269/ ANSI/RIA R15.06-1999 American National Standard for Industrial Robots and Robot Systems - Safety Requirements (revision of ANSI/RIA R15.06-1992)]
|