EC368 Robotics MODEL QUESTION PAPER WITH DETAILED ANSWER KEY
EC368 Robotics MODEL QUESTION PAPER WITH DETAILED ANSWER KEY
EC368 Robotics MODEL QUESTION PAPER WITH DETAILED ANSWER KEY
EC 368 ROBOTICS
PART A
(Answer any two)
I 1. Explain the components and structure of a robot arm (5)
2. Sketch and explain the four basic robot configurations classified according to the coordinate
system. (10)
PART B
I Describe the Machine Vision techniques used in Robotics, with a neat block diagram. (15)
II Explain the forward kinematics transformation with the help of a Cartesian robot (15)
III A Cartesian coordinate robot has two links of variable length. Assuming that the origin of the
a) The coordinate of the end-effector point if the variable link lengths are 3m and 5 m. (7)
PART C
(Answer any two)
I. 1. What are different robot programming languages? Explain in detail (10)
2. Explain the forward and reverse transformation of a 2 DOF robot (10)
II. 1 .Explain the various commands used in VAL programming language (15)
2. Write short note on importance of singularities (5)
III. Derive the Jacobian for Linear and angular velocity end effector (20)
EC 368 ROBOTICS
Evaluation Key & Scheme
I. 1. Joints and Links
The manipulator of an industrial robot consists of a series of joints and links. Robot anatomy
deals with the study of different joints and links and other aspects of the manipulator's physical
construction. A robotic joint provides relative motion between two links of the robot. Each
joint, or axis, provides a certain degree-of-freedom (dof) of motion. In most of the cases, only
one degree-of-freedom is associated with each joint. Therefore the robot's complexity can be
classified according to the total number of degrees-of-freedom they possess.
Each joint is connected to two links, an input link and an output link. Joint provides
controlled relative movement between the input link and output link. A robotic link is the rigid
component of the robot manipulator. Most of the robots are mounted upon a stationary base,
such as the floor. From this base, a joint-link numbering scheme may be recognized as shown
in Figure. The robotic base and its connection to the first joint are termed as link-0. The first
joint in the sequence is joint-1. Link-0 is the input link for joint-1, while the output link from
joint-1 is link-1—which leads to joint-2. Thus link 1 is, simultaneously, the output link for
joint-1 and the input link for joint-2. This joint-link-numbering scheme is further followed for
all joints and links in the robotic systems.
2..
III. 1.
2.
PART B
I.
II.
III.
PART C
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:
WAVE, developed at Stanford, demonstrated a robot hand—eye coordination while it was implemented in a
machine vision system.
Later a powerful language AL was developed to control robot arms. WAVE incorporated many important
features.
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 userfriendly.
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:
A manufacturing language, AML was developed by IBM. AML is very useful for assembly operations as
different user—robot programming interfaces are possible. The programming language AML is also used in
other automated manufacturing systems.
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:
US Air force ICAM project led to the development of another manufacturing control language known as
MCL by McDonnel—Douglas.
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:
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.
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:
HELP was developed by General Electric Company. It acts more or less like RAIL.
It has the capability to control two robot arms at the same time. The structure of the language is like PASCAL.
JARS:
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:
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.
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.
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 robotic equipment work in unison.
Control of two or more operations done by the robots in a coordinated manner is complex.
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.
II. 1.
X˙ = J(q)q˙ (5.109)
dX = J(q)dq (5.110)
Since the Jacobian is a function of the configuration q, those configurations for which the rank of J decreases
are of special significance. Such configurations are called singularities or singular configurations. Identifying
manipulator singularities is important for several reasons.
1. Singularities represent configurations from which certain directions of motion may be unattainable.
3. At singularities, bounded end-effector forces and torques may correspond to unbounded joint torques.
4. Singularities usually (but not always) correspond to points on the boundary of the manipulator workspace,
that is, to points of maximum reach of the manipulator.
5. Singularities correspond to points in the manipulator workspace that may be unreachable under small
perturbations of the link parameters, such as length, offset, etc.
6. Near singularities there will not exist a unique solution to the inverse kinematics problem. In such cases
there may be no solution or there may be infinitely many solutions.
III.