Robot
Robot
Robot
ENGINEERING.
INDEX: 05234306007
VENUE: HOME
Table of Contents
1.Introducción…………………
1.1 reviewing robot programming ……….
2. manual programming system………
2.1 Text-based systems ………….
2.3 Graphical systems
3.3. Instructive systems
4.concludion
Abstract
Robots have become significantly more power- ful and intelligent over the last decade, and are
moving in to more service oriented roles. As a result robots will more often be used by peo- ple
with minimal technical skills and so there is a need for easier to use and more flexible
programming systems. This paper reviews the current state of the art in robot programming
systems. A distinction is made between manual and automatic programming systems. Manual
systems require the user/programmer to create the robot program directly, by hand, while au-
tomatic systems generate a robot program as a result of interaction between the robot and the
human; there are a variety of methods in- cluding learning, programming by demonstra- tion and
instructive systems.
1 Introduction
Robots are complex machines and significant technical knowledge and skill are needed to control
them. While simpler robots exist, for example the Roomba vacuuming robot from iRobot [2003],
in these cases the robots are specifically designed for a single application, and the con- trol
method reflects this simplicity. The Roomba robot’s control panel allows a user to select
different room sizes and to start the vacuuming process with a single button push.
However, most robots do not have simple interfaces and are not targeted at a single, simple
function such as vacuuming floors. Most robots have complex interfaces, usually involving a
text–based programming language with few high–level abstractions. While the average user will
not want to program their robot at a low level, a system is needed that provides the required
level of user control over the robot’s tasks.
Robots are becoming more powerful, with more sen- sors, more intelligence, and cheaper
components. As a
result robots are moving out of controlled industrial en- vironments and into uncontrolled
service environments such as homes, hospitals, and workplaces where they perform tasks
ranging from delivery services to enter- tainment. It is this increase in the exposure of robots to
unskilled people that requires robots to become easier to program and manage.
1.1 Reviewing robot programming
This paper reviews the current state of the art in robot programming systems, in the the related
area of robot software architectures, and related trends. We do not aim to enumerate all existing
robot programming sys- tems. A review of robot programming systems was con- ducted in 1983
by Toma ́s Lozano–P ́erez [1982]. At that time, robots were only common in industrial environ-
ments, the range of programming methods was very lim- ited, and the review examined only
industrial robot pro- gramming systems. A new review is necessary to deter- mine what has been
achieved in the intervening time, and what the next steps should be to provide convenient
control for the general population as robots become ubiq- uitous in our lives.
Lozano–P ́erez divided programming systems into three categories: guiding systems, robot–level
program- ming systems and task–level programming systems. For guiding systems the robot was
manually moved to each desired position and the joint positions recorded. For robot–level
systems a programming language was pro- vided with the robot. Finally, task–level systems
speci- fied the goals to be achieved (for example, the positions of objects).
By contrast, this paper divides the field of robot pro- gramming into automatic programming,
manual pro- gramming and software architectures, as shown in Fig. 1. The first two distinguish
programming according to the actual method used, which is the crucial distinction for users and
programmers. In automatic programming sys- tems the user/programmer has little or no direct
con- trol over the robot code. These include learning sys- tems, Programming by Demonstration
and Instructive
Figure 1: A robot programming system may use auto- matic or manual programming. Software
architectures also play an important role.
Systems. Manual systems require the user/programmer to directly enter the desired behaviour
of the robot, usu- ally using a graphical or text–based programming lan- guage. Software
architectures are important to all pro- gramming systems, as they provide the underlying sup-
port, such as communication, as well as access to the robots themselves.
Section 2 will concentrate on manual programming systems, while Section 3 will concentrate on
automatic programming systems. Section 4 gives conclusions on the trends in robot
programming systems. A review of software architectures is beyond the scope of this paper.
2 Manual Programming Systems
Users of a manual programming systems must create the robot program by hand, which is
typically performed without the robot. The finished program is loaded into the robot afterwards.
These are often off-line program- ming systems, where a robot is not present while pro-
gramming. It is conceivable for manual programming to control a robot online, using for example
an inter- preted language, where there are no safety concerns (eg the Lego Mind storm [2003]).
As shown in Fig. 2, manual programming systems can be divided into text–based and graphical
systems (also known as icon–based systems). Graphical programming is not considered
automatic programming because the user must create the robot program code by hand before
running it on the robotic system. There is a direct corre- spondence between the graphical icons
and the program statements.
2.1 Text–based Systems
A text–based system uses a traditional programming language approach and is one of the most
common meth- ods, particularly in industrial environments where it is often used in conjunction
with Programming by Demon- stration (see Section 3.2). Text–based systems can be
distinguished by the type of language used, in terms of the type of programming performed by
the user. This division can be seen in Fig. 2 and is explained in the remainder of this section.
Figure 2: Categories of manual programming systems. A manual system may use a text–based or
graphical in- terface for entering the program.
Controller-Specific Languages
Controller–specific languages were the original method of controlling industrial robots, and are
still the most com- mon method today. Every robot controller has some form of machine
language, and there is usually a pro- gramming language to go with it that can be used to create
programs for that robot. These programming languages are usually very simple, with a BASIC–
like syntax and simple commands for controlling the robot and program flow. A good example is
the language pro- vided by KUKA [2003] for its industrial robots, shown in Fig. 3. Programs
written in this language can be run on a suitable KUKA robot or tested in the simulation system
provided by KUKA.
Despite having existed for as long as industrial robots have been in use, controller–specific
languages have seen only minor advances. In one case, Freund and Luedemann-Ravit [2002]
have created a system that al- lows industrial robot programs to be generalised around some
aspect of a task, with a customised version of the robot program being generated as necessary
before be- ing downloaded into a robot controller. The system uses a “generation plan” to
provide thprogram for a task. For example, a task to cut shaped pieces of metal could be
customised by the shape of the final result. While such a system can help reduce the time for
pro- ducing programs for related products, it does not reduce the initial time to develop the
robot program