You are on page 1of 12

VMKV ENGINEERING COLLEGE, SALEM

AERONAUTICAL ENGINEERING COURSE

UNIT IV - ROBOT PROGRAMMING


Robot language classification - programming methods - off and on line programming - Lead through method -
Teach pendent method - VAL systems and language, simple program.

PART A
1. What are the various ways of communication with a robot?
Ans. There are several ways of communication with a robot and three major approaches to achieve it are discrete
word recognition, teach and playback and high –level programming languages.
2. What are the ways of accomplishing lead through programming?
Ans. 1. Powered Lead through 2. Manual Lead through
3. What are the methods of robot programming?
Ans. 1. Lead through methods 2. Textual robot languages 3. Mechanical Programming
4. What is teach pendant?
Ans. The teach pendant is usually a small handheld control box with combinations of toggle switches,
dials and buttons to regulate the robot’s physical movements and program capabilities.
5. What are the two major categories of current approaches to programming?
Ans. The two major categories of current approaches to programming are Robot oriented programming and
object oriented or task level programming.
6. What are the methods of teaching?
Ans. 1. Joint movements 2. X-Y-Z coordinates motions 3. Tool coordinate motions
7. What is robot kinematics?
Ans. Forward kinematics
It is a scheme to determine joint angles of a robot by knowing its position in the world coordinate
system.
Reverse kinematics
It is a scheme to determine the position of the robot in the world coordinate system by knowing
the joint angles and the link parameters of the robot.
8. What is trajectory planning?
Ans. Trajectory planning is defined as planning of the desired movements of the manipulator.
9. What are the three types of sensing in robot programming?
Ans. Three types of sensing in robot programming are
1. Position Sensing 2. Force and Tactile Sensing 3. Vision
10. Explain joint mode of teaching robots.
Ans. The teach pendant has a set of toggle switches (or similar controlled devices) operate each joint
either of it to directions until the end effector has been positioned to the desired point.
11. Explain the reasons for defining points in a program.
Ans. 1. To define a working position for the end effector 2. To avoid obstacles
12. What is position representation?
Ans. The position of the end of the arm may be represented by the two joint angles q1 and q2.this is
known as position representation.
Pj = (q1, q2)
13. What do you mean by “Online modification and immediate restart”?
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

Ans. Since robot tasks requires complex motions and long execution time, it is not always feasible to restart the
program upon failure. The robot programming system must have the ability to allow programs to be modified on
line and restart at any time. This is called “Online modification and immediate restart”.
14. Define servo controlled robots.
Ans. Servo controlled robots, which are programmed by lead through textual language methods tend to actuate
all axes simultaneously.
15. What is circular Interpolation?
Ans. Circular Interpolation requires the programmer to define a circle in the robot’s workspace which is done by
specifying three points that lie along the circle.
16. What are irregular smooth motions?
Ans. The segments in manual lead though programming are sometimes approximately straight, sometimes
curved and sometimes back and forth motions. These motions are called irregular smooth motions.
17. What is manual lead through programming?
Ans. In manual lead through programming the programmer moves the manipulated wrist to teach spray-painting
or arc welding. The movements consist of combination of smooth motion segments.
18. What do you mean by simulation?
Ans. Simulation allows testing of programs without actually setting up robot and workspace. Hence, different
programs can be tested more efficiently.
19. What is “World Modeling”?
Ans. Word modeling is required to describe the geometric and physical properties of the objects (including the
robot) and to represent the state of the assembly of objects in the workspace.
20. Write motion control commands in VAL programming language.
Ans. The basic motion statement is MOVE P1 which commands the robot to move from its current location to a
position and orientation defined as P1. P1 itself is defined via lead-through methods. Statements such as HERE P1
or LEARN P1 are used to indicate the variable name for the point in lead-through methods. Variants of the
MOVE statement exist; these include the definition of straight line interpolation motions, incremental motions,
approach and depart moves, and paths.

PART B

1. Briefly explain the Robot Programming Languages.


Ans. Robot languages have been developed for ease of control of motions of robots having different structures
and geometrical capabilities. Some of the robot languages have been developed by modifying the existing general
purpose computer languages and some of them are written in a completely new style.
Programming languages have been developed by the pioneer efforts of various researchers at Stanford
Artificial Intelligence Laboratory; research laboratories of IBM Corporation, under U.S. Air Force sponsorship,
General Electric Co., Unimation and many other robot manufacturers.
WAVE and AL:
i. WAVE, developed at Stanford, demonstrated a robot hand—eye coordination while it was
implemented in a machine vision system.
ii. Later a powerful language AL was developed to control robot arms. WAVE incorporated many
important features.
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

iii. Trajectory calculations through coordination of joint movements, end-effector positions and touch
sensing were some of the new features of WAVE. But the algorithm was too complex and not user
friendly.
iv. They could not be run in real-time and on-line. On the other hand, trajectory calculations are
possible at compile time and they can be modified during run time.
AML:
i. A manufacturing language, AML was developed by IBM. AML is very useful for assembly
operations as different user—robot programming interfaces are possible.
ii. The programming language AML is also used in other automated manufacturing systems.
iii. The advantage of using AML is that integers, real numbers and strings can be specified in the same
aggregate which is said to be an ordered set of constants or variables.
MCL:
i. US Air force ICAM project led to the development of another manufacturing control language
known as MCL by McDonnel—Douglas.
ii. This is a modification of the popular APT (Automatically Programmed Tooling) language used in
CNC machine tools as many similar commands are used to control machine tools in CAM
applications.
RAIL:
i. RAIL was developed by Automatic for robotic assembly, inspection, arc welding and machine
vision. A variety of data types as used in PASCAL can be used.
Ii An interpreter is used to convert the language into machine language commands. It uses Motorola
68000 type microcomputer system; It supports many commands and control of the vision system.
HELP:
i. HELP was developed by General Electric Company. It acts more or less like RAIL.
ii. It has the capability to control two robot arms at the same time. The structure of the language is like
PASCAL.
JARS:
i. JARS was developed by NASA JPL. The base of the language is PASCAL. JARS can be interfaced
with PUMA 6000 robot for running robotic programs.
RPL:
i. RPL was developed at SRI International. A compiler is used to convert a program into the codes
that can be interpreted by an interpreter. Unimation PUMA 500 can be controlled with the help of
RPL. The basic ideas of LISP (an AL language) have been organized into a FORTRAN-like syntax
in RPL. It is modular and flexible.
ii. Besides these, there are some other languages like PAL, ADA etc. PAL has been written by
Richard Paul by modifying WAVE and incorporating features of PASCAL. But the representations
of syntaxes used in the program are difficult to handle. ADA developed by the Department of
Defense (DOD) in USA is a real-time system that can be run on several microcomputers like Zilog,
VAX, Motorola 68000, etc. ADA is convenient for controlling the robots used in a manufacturing
cell.
iii. Different textual robot languages have different attributes. Far example, VAL, HELP and MC
though powerful for many simple tasks, do not have the same structured modular programming
capability like AL, AML, JARS and ADA or VAL II. In a manufacturing cell, multiple robots or
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

robotic equipment work in unison. Control of two or more operations done by the robots in a
coordinated manner is complex.
iv. Synchronizing the motions of the robots requires necessary software commands. AL, ADA,
AML, MCL have the capability of controlling multiple arms. The programming language must be
capable of expressing various geometric features like joint angles, coordinate transformations such
as rotation, translation, and vector quantities. Homogeneous matrices are used to specify the
rotation. Rotation can also be specified by Euler angles. AML, RAIL and VAL use Euler angles
while AL manipulates homogeneous matrix for control. AL is very suitable for assembly tasks
wherein many sensors are employed, though other languages like AML and HELP are flexible
enough to run various subroutines. Slewing and straight- line motions control are available with
most of the languages.
2. Explain the teach pendant for Robot system.
Ans. The teach pendant has the following primary functions:
i. Serve as the primary point of control for initiating and monitoring operations.
ii. Guide the robot or motion device, while teaching locations.
iii. Support application programs.
iv. The Teach Pendant is used with a robot or motion device primarily to teach.
v. Robot locations for use: in application programs. The Teach Pendant is also used with custom.
Applications that employ ―teach routine's that pause execution at specified points and allow an
Operator to teach * re-teach the robot locations used by the program. There are two styles of Teach
Pendants: the programmer‘s pendant, which is designed for use while an application is being
written and debugged, and the operator‘s pendant, which is designed for use during normal system
operation.
vi. The operator‘s pendant has a palm-activated switch, which is connected to the remote emergency
stop circuitry of the controller. Whenever this switch is released, arm power is removed from the
motion device. To operate the Teach Pendant left hand is put through the opening on the left-hand
side of the pendant and the left thumb is used to operate the pendant speed bars. The right hand is
used for all the other function buttons.
The major areas of the Teach Pendant are:
1. Data Entry Buttons:
The data entry buttons are used to input data, normally in response to prompts that appear on the
pendant display The data entry buttons include YES/NO, DEL, the numeric buttons, the decimal point and
the REC/DONE button, which behaves like the Return or Enter key on a normal keyboard. In many cases,
application programs have users press the REC/DONE button to signal that they have completed a task.
2. Emergency Stop Switch:
The emergency stop switch on the Teach Pendant immediately halts program execution and turns
off arm power.
3. User LED:
The pendant is in background mode when the user LED is in not lit and none of the predefined
functions are being used. The user LED is lit whenever an application program is making use of the Teach
Pendant.
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

4. Mode Control Buttons:


The mode control buttons change the state being used to move the robot, switch control between the
Teach Pendant and the application programs and enable arm power when necessary.
5. Manual Control Buttons:
When the Teach Pendant is in manual mode, these buttons select which robot joint will move, or
the coordinate axis along which the robot will move.
6. Manual State LEDs:
The manual state LEDs indicates the type of manual motion that has been selected.
7. Speed Bars:
The speed bars are used to control the robot‘s speed and direction. Pressing the speed bar near the
outer ends will move the robot faster, while pressing the speed bar near the center will move the robot
slower.
8. Slow Button:
The slow button selects between the two different speed ranges of the speed bars.
9. Predefined Function Buttons:
The predefined function buttons have specific, system- wide functions assigned to them, like
display of coordinates, clear error, etc.
10. Programmable Function Buttons:
The programmable function buttons are used in custom application programs, and their functions
will vary depending upon the program being run.
11. Soft Buttons:
The ―soft buttons have different functions depending on the application program being run, or the
selection made from the predefined function buttons.
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

3. Write down the capabilities and limitations of Lead through methods.


Ans. During this programming method, the traveling of robots is based on the desired movements, and it is
stored in the external controller memory. There are two modes of a control system in this method such as a run
mode and teach mode. The program is taught in the teach mode, and it is executed in the run mode. The lead
through programming method can be done by two methods namely:
i. Powered Lead through Method
ii. Manual Lead through Method
Powered Lead through Method:
The powered lead through is the common programming method in the industries. A teach pendant is
incorporated in this method for controlling the motors available in the joints. It is also used to operate the robot
wrist and arm through a sequence of points. The playback of an operation is done by recording these points. The
control of complex geometric moves is difficult to perform in the teach pendant. As a result, this method is good
for point to point movements. Some of the key applications are spot welding, machine loading & unloading, and
part transfer process.
Manual Lead through Method:
In this method, the robot‘s end effector is moved physically by the programmer at the desired movements.
Sometimes, it may be difficult to move large robot arm manually. To get rid of it a teach button is implemented in
the wrist for special programming. The manual lead through method is also known as Walk Through method. It is
mainly used to perform continuous path movements. This method is best for spray painting and arc welding
operations.
Limitation:
i. Lead through programming is not readily compatible with modern computer based technology.
ii. Robot cannot be used in production, while it is being programmed.
4. List the commands used in VAL version 11 programming and describe its functions.
Ans. For motion programming there is a combination of textual statements and lead-through techniques.
Textual statements describe the motion, while the lead-through techniques define robot position and
orientation, during and at the end of the motion. The basic motion statement is MOVE P1 which
commands the robot to move from its current location to a position and orientation defined as P1. P1 itself
is defined via lead-through methods.
Statements such as HERE P1 or LEARN P1 are used to indicate the variable name for the point in
lead-through methods. Variants of the MOVE statement exist; these include the definition of straight line
interpolation motions, incremental motions, approach and depart moves, and paths.
Interlock and Sensor commands also exist in motion programming; the two basic interlock
commands are WAIT and SIGNAL, where the former is used to implement an input interlock, while the
latter is used to communicate to some external piece of equipment. In the case of grippers, the basic
commands are OPEN and CLOSE, which cause the gripper to actuate to a position of being fully open or
closed, respectively. Other special sets of statements are used to control the operation of tool-type end
effectors, such as spot welding guns, arc welding tools, spray painting guns, and powered spindles.
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

5. Describe Lead-through programming and motion programming.


Ans. Lead-through programming
Task is ‘taught’ to the robot by manually moving the manipulator through the required motion cycle, and
simultaneously entering the programme into the controller memory for playback.
Two methods are used for teaching:
i. Powered lead-through
The powered lead-through is the common programming method in the industries. A teach pendant
is incorporated in this method for controlling the motors available in the joints. It is also used to
operate the robot wrist and arm through a sequence of points. The playback of an operation is done
by recording these points. The control of complex geometric moves is difficult to perform in the
teach pendant. As a result, this method is good for point to point movements. Some of the key
applications are spot welding, machine loading & unloading, and part transfer process.
ii. Manual lead-through
In this method, the robot‘s end effector is moved physically by the programmer at the desired
movements. Sometimes, it may be difficult to move large robot arm manually. To get rid of it, a
teach button is implemented in the wrist for special programming. The manual lead-through method
is also known as Walk Through method. It is mainly used to perform continuous path movements.
This method is best for spray painting and arc welding operations.
Motion programming
To overcome difficulties of co-ordinating individual joints associated with lead-through
programming, two mechanical methods can be used:
i. The world-co-ordinate system whereby the origin and axes are defined relative to the
robot base;
ii. The tool-co-ordinate system whereby the alignment of the axis system is defined relative
to the orientation of the wrist faceplate. These methods are typically used with Cartesian co-
ordinate robots, and not for robots with rotational joints. These latter robotic types must rely on
interpolation processes to gain straight line motion. Two types of interpolation processes may be
outlined: straight line interpolation—where the control computer calculates the necessary points in
space that the manipulator must move through to connect two points; and joint interpolation—
where joints are moved simultaneously at their own constant speed such that all joints start/stop at
the same time.
6. Describe interlock and sensor commands in detail.
Ans. Interlock and Sensor commands also exist in motion programming; the two basic interlock commands are
WAIT and SIGNAL, where the former is used to implement an input interlock, while the latter is used to
communicate to some external piece of equipment.
In the case of grippers, the basic commands are OPEN and CLOSE, which cause the gripper to actuate to
a position of being fully open or closed, respectively.
Other special sets of statements are used to control the operation of tool-type end effectors, such as spot
welding guns, arc welding tools, spray painting guns, and powered spindles.
Both of the above techniques of robotic programming are inhibited by requiring the robot to be removed
from active service while the programming takes place. Methods have also been developed to overcome this.
Off-line programming allows a robot programme to be prepared at a remote computer terminal and
downloaded to the robot controller for execution without interrupting production. Graphical computer simulation
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

is used to validate the programmes developed off-line; once it is validated, the programme may be converted into
textual language corresponding to the language requirements of the robot that is expected to deploy the
programme. Once this is done, the robot is ready to download and deploy the new programme without interrupting
its operational processes.
7. Explain the usefulness of off-line programming.
Ans. Off-line programming allows a robot programme to be prepared at a remote computer terminal and
downloaded to the robot controller for execution without interrupting production. Graphical computer simulation
is used to validate the programmes developed off-line; once it is validated, the programme may be converted into
textual language corresponding to the language requirements of the robot that is expected to deploy the
programme. Once this is done, the robot is ready to download and deploy the new programme without interrupting
its operational processes.
Off-line programming (OLP) is a robot programming method where the robot program is created
independent from the actual robot cell. The robot program is then uploaded to the real industrial robot for
execution. In off-line programming, the robot cell is represented through a graphical 3D model in a simulator.
Nowadays OLP and robotics simulator tools help robot integrators create the optimal program paths for the robot
to perform a specific task. Robot movements, reachability analysis, collision and near-miss detection and cycle
time reporting can be included when simulating the robot program.
OLP does not interfere with production as the program for the robot is created outside the production
process on an external computer. This method contradicts to the traditional on-line programming of industrial
robots where the robot teach pendant is used for programming the robot manually. A common programming
language such as Python, C++ or Matlab can be used to simulate and program any robot by defining the robot post
processor.
Offline Programming is the best way to maximize return on investment for robot systems and it requires
appropriate simulation tools. The time for the adoption of new programs can be cut from weeks to a single day,
enabling the robotization of short-run production.
Robotic OLP and simulation are not only powerful tools for integrators but for engineering educators as
well. “Simulation and OLP are valuable in teaching robotics courses and as a practical tool to show engineering
and technology students how to design work cells using a computer. Students, while not hurting anything or
anyone through the use of OLP and simulation, learn a great deal about robotic technology,” maintains Jim
Devaprasad, a professor at Lake Superior State University’s (LSSU, Sault Sainte Marie, Michigan) School of
Engineering and Technology, and Director of its Robotics Center.
Devaprasad states, “Students like to see immediate results through watching a virtual robot. Students are as
equally excited as using a simulated robot as when using an actual robot.” Devaprasad continues saying, “We
teach students how to develop code and see the results by animating the robot. Programming and learning robotics
processes in a virtual world is an effective precursor to using an actual robot.”
Like Aquino, Devaprasad uses OLP and simulation as a “sales tool.” “Using OLP and simulation in a
demonstration opens prospective engineering students’ eyes and sparks interest in software and technology,”
remarks Devaprasad. “Getting qualified people who understand both robotics hardware and simulation software in
combination is a challenge for many engineering companies. Not many people are proficient at both, but our
students are.”
Simulation and OLP helps train students in robotics work cell design and optimization, says Devaprasad.
“Using a generic robotics simulation software package, I can assign students to investigate how different types and
models of robots can solve an assembly problem, enabling students to converge to an optimum solution.”
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

8. What are the important characteristics of robotic precision? Explain.


Ans. Most users of robot manipulators in an industrial setting are content with the excellent repeatability of their
movements. Today, an industrial robot’s end effector can reach a previously taught pose (position and orientation)
with a position error below 0.1 mm. However, in some applications, the poses to be attained are computed rather
than taught, in which case absolute accuracy is also required.
The most cost-effective way of improving the absolute accuracy of robots is through calibration. While
various commercial solutions are indeed available for calibrating robots using metrology devices, the fact is that
even the least expensive of them still cost several thousand dollars. Furthermore, for various reasons, these
solutions do not meet the needs of all users (lack of space in a robotic cell, lack of budget to buy a three-
dimensional measurement device, etc.).
While the aerospace sector is probably the most demanding in terms of precision robotics, it is
paradoxically also the least well served. This sector has a particularly pronounced and active presence in the
Montreal region, where several international companies, including Pratt & Whitney, GE Aviation, Messier-Dowty,
L-3 MAS and Bombardier Aerospace, use industrial robots for precision tasks.
Development of robot calibration methods
The CoRo laboratory is equipped with a wide range of metrology devices:
• Three-dimensional measuring machine (Mitutoyo)
• Laser interferometer system (Renishaw)
• Laser tracker (Faro)
• Measuring arm (Faro)
• Ballbar (Renishaw)
• Probe (Renishaw)
The laboratory is also equipped with two serial as well as several parallel robots. Robot calibration
projects consist essentially in using measurement devices and mechanical artefacts to optimize the absolute
accuracy of a robot. This type of research work requires a very strong mathematical background, and
knowledge of robot kinematics and optimization methods.
The first method developed at the CoRo laboratory is based on the use of a laser tracker to
calibrate a classical six-degrees-of-freedom serial robot. Experimental work was carried out on an ABB
IRB 1600 robot, and its maximum positioning error in its entire workspace was reduced to below 0.850
mm. Measurements were conducted automatically by controlling the laser tracker and the robot through a
local Ethernet network, from Matlab.
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

A second method has been developed to calibrate one of the parallel robots designed at the
laboratory, PreXYT, using a measuring arm (or any 3D coordinate measuring machine). This robot’s
maximum positioning error has been reduced to below 0.050 mm.
Other calibration approaches have also been explored, including the calibration of serial robots
using a probe, and the calibration of a Moog hexapod using a laser tracker.
The CoRo laboratory is currently exploring the use of C-Track, a dual-camera measurement device
by the Quebec manufacturer, Creaform. This optical device allows the real-time measurement of the robot's
effector pose, and can thus possibly be used not only to calibrate robots, but also to guide them
dynamically.
9. Derive an expression for Accuracy in terms of control resolution and repeatability.
Ans. An important control attribute in industrial applications is accuracy and repeatability. Precision is
an important consideration with some tasks—such as positioning systems—requiring fine positional
requirements; while others make do with more general precision abilities (such as spot welding). Three
factors may be examined as important here:
i. Control resolution—the capability of the robot’s positioning system to divide the range of the
joint into closely spaced points, called addressable points, to which the joint can be moved by the
controller.
ii. Repeatability—the measure of the robot’s ability to position its end-of-wrist at a previously
taught point in the work volume.
iii. Accuracy—the robot’s ability to position its end-of-wrist at a desired location in the work
volume.
For control resolution, the joint-link combination consists of a lead-screw drive mechanism
identical with numerical control mechanisms outlined earlier, so the control resolution equations used there
may be deployed here once again. This electro-mechanical control resolution may be denoted CR1. Owing
to the wide variety of joints used by robots, and their individual mechanical characteristics, it is not
possible to characterise each joint in detail. There is, however, a mechanical limit on the capacity to divide
the range of each joint-link system into addressable points, and that limit is given by CR1.
CR2 is the bit storage capacity of the controller. This is given by:

where CR2 is the control resolution determined by the robot controller; R is


the range of the joint-link combination, expressed in linear or angular units; and B is the number of bits in
the bit storage register devoted to a particular joint. The maximum of CR1 and CR2 gives the control
resolution.
For repeatability, the mechanical errors that make the robot’s end-of-wrist return to slightly
different locations than the programmed point are to blame. For a single joint-link mechanism:

where Re is repeatability; and σ is the standard deviation of the error distribution.

For accuracy, we have:


where CR is control resolution; and σ is the standard deviation of the error distribution.
VMKV ENGINEERING COLLEGE, SALEM
AERONAUTICAL ENGINEERING COURSE

10. Describe the characteristics of AL and AML Robot Programming Languages.

You might also like