Robot software: Difference between revisions

Content deleted Content added
link
 
(13 intermediate revisions by 12 users not shown)
Line 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 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. For example, there are over 30 different manufacturers of [[industrial robots]], so there are also 30 different robot programming languages required. There are enough similarities between the different robots that it is possible to gain a broad-based understanding of robot programming without having to learn each manufacturer's proprietary language.<ref>{{Cite news|url=http://coro.etsmtl.ca/blog/?p=529|title=The future of robot off-line programming|date=2015-10-25|newspaper=CoRo Blog|access-date=2017-01-03}}</ref>
 
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://www.robodk.com/offline-programming|title=Offline programming - RoboDK|last=RoboDK|website=www.robodk.com|access-date=2017-01-03}}</ref> however, compiling and uploading fixed off-line code to a robot controller doesn't allow the robotic system to be state aware, so it cannot adapt its motion and recover as the environment changes. Unified real-time adaptive control for any robot is currently possible with a few different third-party tools.
 
Some examples of published robot programming languages are shown below.
Line 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&lpg=PA5&dqq=robot%20programming%20VAL+programming+VAL&pg=PA5#v=onepage&q=robot%20programming%20VAL&f=false|accessdateaccess-date=8 February 2015|year=1993}}</ref> Variants of VAL have been used by other manufacturers including [[Adept Technology]]. [[Stäubli]] currently use VAL3.
 
Example program:
Line 83:
 
ROBOFORTH (a language based on [[FORTH]]).
<sourcesyntaxhighlight lang="forth">
: PICKPLACE
P1
Line 90:
P1
;
</syntaxhighlight>
</source>
(With Roboforth you can specify approach positions for places so you do not need P2 and P4.)
 
Line 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|accessdateaccess-date=8 February 2015|ref=Robotics_languages}}</ref>
!Robot brand
!Language name
|-
|ABB
|[[RAPID (programming language)|RAPID]]
|-
|Comau
Line 149:
== Robot application software ==
 
Regardless which language is used, the end result of robot software is to create robotic applications that help or entertain people. Applications include command-and-control and tasking software. Command-and-control software includes robot control GUIs for tele-operated robots, point-n-click command software for autonomous robots, and scheduling software for mobile robots in factories. Tasking software includes simple drag-n-drop interfaces for setting up delivery routes, security patrols and visitor tours; it also includes custom programs written to deploy specific applications. General purpose robot application software is deployed on widely distributed robotic platforms.
 
===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 AgtdfhjhNSIANSI/ R15.06-1992)'' book from the Robotic Industries Association is the accepted standard on robot safety. This includes guidelines for both the design of industrial robots, and the implementation or integration and use of industrial robots on the factory floor. Numerous safety concepts such as safety controllers, maximum speed during a teach mode, and use of physical barriers are covered
.
 
==See also==
Line 177 ⟶ 178:
 
==External links==
* {{webarchive |date=2013-01-27 |url=https://archive.istoday/20130127182004/http://www.linuxdevices.com/articles/AT5739475111.html |title=A review of robotics software platforms}} Linux Devices.
* [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)]