You are on page 1of 29

Robotic

Manipulators
A report on industrial robotic manipulators. The introduction to robotic manipulators, their control theory
and methods of programming have been discussed. The architecture of an exemplar manipulator is also
shown.

By Ayush Rai, Manipal Institute of Technology, ECE, 070907484


Table of Contents
Introduction .................................................................................................................. 2
Control Theory of Manipulators ................................................................................... 5
Mathematical background ........................................................................................ 5
Position .................................................................................................................. 6
Frames.................................................................................................................... 7
Representation of Angles..................................................................................... 11
Kinematics ............................................................................................................... 12
Link Parameters ................................................................................................... 13
Forward kinematic solution ................................................................................. 15

Robotic Manipulators
Inverse kinematic solution ................................................................................... 15
Kinetics .................................................................................................................... 17
Jacobian ............................................................................................................... 17
Trajectory generation .......................................................................................... 18
Position control .................................................................................................... 21
Force control ........................................................................................................ 21
Robot programming .................................................................................................... 21
Three Levels - .......................................................................................................... 21
Requirements of RPLs ............................................................................................. 22
Off-line Programming.............................................................................................. 23
Architecture of Unimation PUMA 560 ........................................................................ 24
Physical structure .................................................................................................... 24
Controller ................................................................................................................ 27
References .................................................................................................................. 28

1
Introduction

A robotic manipulator is more commonly known as a robotic arm. They


are the means with which a robot interacts with its surroundings. The
structure of a typical manipulator is shown in the following figure-
Robotic Manipulators

In place of the gripper we can provide other types of end-effectors to


2 suit different needs. For example welding-torch, electromagnet, spray
can, etc.
A robot is contrasted from fixed automation by the fact that robots are
programmable and can adapt to their surroundings. A change in the
task just requires a change in the program. For example the same robot
will be able to choose different welding/painting patterns based on
specific car models.

There are several uses of a programmable robot -


Machine tending
Welding

Robotic Manipulators
Painting
Space exploration
Remote handling

3
Robotic Manipulators

Percentage distribution of U.S. robots sales by robot application

4
Control Theory of Manipulators

The control theory associated with manipulators can be broadly divided


into two parts: Kinematics and Kinetics.

Kinematics deals with the study of a stationary manipulator. This


involves calculating the position and orientation of the manipulator.

Kinetics or manipulator dynamics deals with the study of manipulator

Robotic Manipulators
under motion. This involves calculating velocity, acceleration and torque
of the manipulator. Trajectory generation is also an important aspect
and is required for smooth motion. Force control and position control
are also studied.

However, before we begin with these studies we need to possess some


mathematical tools which will help us in solving the aforementioned
problems.

Mathematical background-
We need ways in which to describe the position and orientation of a
body in space. First of all a co-ordinate system must be chosen to suit
the needs. The most intuitive system is the Cartesian co-ordinate system
and is used henceforth. Other systems can also be used as per the
specific needs. 5
Next a reference point is chosen. All the other points are described w.r.t.
this reference point. Usually the base of the robot forms the reference.

Position can be easily described by using a position vector. This is a


column vector whose elements are the projections if the vector on the
unit vectors of the reference system.
Robotic Manipulators

To describe orientation first we attach a co-ordinate system to the


study point and describe this system w.r.t. the reference system. This
results in a rotation matrix . It is a 3x3 matrix whose columns are the
projections of unit vectors of {B} on the axes of the reference system.
Thus they are the direction cosines.
6
Robotic Manipulators
Frames are a concept that encompasses both position and orientation.
It is the description of one coordinate system with respect to another.
Position can be represented by a frame whose rotation matrix part is an
identity matrix and whose position vector part locates the point being
described. Similarly orientation can be represented by a frame whose
position vector part is a zero vector.

Usually we need to describe the same quantity w.r.t. different co-


ordinate systems. This process is called Mapping. We have three types
of mappings- 7
Translated Frames
Robotic Manipulators

Both {A} and {B} have the same orientation. The position of point P is
known w.r.t. the {B}. And the position of the origin of {B} is known w.r.t.
the origin of {B}. So if we need to find the position of P w.r.t. {A}, we just
add the position vectors.

8
Rotated Frames

Robotic Manipulators

Frames {A} and {B} have the same origin but different orientations. The
position of P is known w.r.t. {B} and the rotation matrix is also
known. Therefore to describe P w.r.t. {A} we just need to multiply the
position vector with the rotation matrix.
9
General Fames (both translated and rotated)
Robotic Manipulators

This is a combination of the above two cases. The position vector AP is


the addition of APBORG with the rotated BP. This can be more intuitively
10 represented with the transformation matrix. This is a 4x4 matrix
consisting of the rotation matrix and position vector along with a
redundant row of scalars.
It can be readily seen that the solution of the above equation results in
the first equation.

Representation of Angles
Fixed Angles –

Robotic Manipulators
In these representations rotations are done about the axes of a fixed
frame.
e.g. - XYZ Fixed angles

Rotation done about fixed axes XA, YA and ZA in that order.

11
Euler Angles –
In these representations rotations are done about the axes of a rotating
frame.
e.g. - ZYX Euler angles
Robotic Manipulators

Rotation is done about the rotating axes ZB, YB and XB, in that order.

Kinematics

Forward Kinematics –
The deduction of the position and orientation of the end-effector if all
joint angles are known is called Forward Kinematics
Inverse Kinematics –

12 The deduction of the joint angles, given the position and


orientation of the end-effector is called Inverse Kinematics.
Robotic Manipulators
Manipulator is a set of bodies connected by joints and these bodies are
called links.

Link Parameters
To describe a robot we need to express some parameters about the
links.

13
Any robot can be described kinematically by giving the values of the four
quantities for each link.
2 of these describe the link itself and the other 2 describe its connection
to a neighboring link.
Frames are attached to the links according to fixed conventions.
This notation of frames and associated parameters are commonly
known as Denavit-Hartenberg parameters.
Robotic Manipulators

The parameters are

a = Link Length
α = Link Twist
d = Link Offset

= Joint angle
Based on these frames and parameters we develop a transformation
14 matrix. This matrix defines the general translational and rotational
relation between two neighboring links.
Concatenation
Transformations can be concatenated to derive a relation between any
two frames.

Robotic Manipulators
Forward kinematic solution-
It can be obtained easily by the concatenation of T matrices. By the
concatenation of frames, we can easily describe the tool frame (position
and orientation of end-effector) w.r.t. the base frame (reference).

Inverse kinematic solution -


This problem is much more complex than forward kinematics. Generally
two popular approaches are used:

15
Algebraic

It requires solving a set of non-linear equations derived from frame


transformations.

Geometric
Robotic Manipulators

The spatial geometry of manipulator is broken down into several plane


problems which are easily solvable.

16
Kinetics

To study the manipulator under motion we need to describe a new type


of matrix quantity called Jacobian.

Jacobian-
It is a matrix quantity used for velocity analysis
Consists of the matrix of all first-order partial derivatives of a vector- or
scalar-valued function with respect to another vector

Robotic Manipulators
It specifies the mapping of angular velocities in joint space to velocities
in Cartesian space.

17
It also provides the joint torques needed for desired contact force and
moment.
Robotic Manipulators

Another prominent use is to simulate the motion of manipulator in


software.

Trajectory generation-

18
The trajectory is the path followed by the manipulator while moving
from A to B. It can be described by the joint angles as a function of time.

In order to avoid obstacles we may need to specify certain via points


apart from the destination. To smoothen this motion through the via
points, spline curves are utilized.

Robotic Manipulators
Spline curve

19
In order to achieve a smooth motion the position and its first two
derivatives must be continuous. Cubic polynomials satisfy this condition.
Robotic Manipulators

20 Higher order polynomials and linear functions with parabolic blends are
also compliant.
Other than trajectories, we need to have control systems to have
precise control of position and force.

Position control is achieved by Linear control and Non-linear control


systems which get feedback from position and velocity sensors (shaft
encoders and tachometers).

Force control is required to create sufficient torque in the joints for a


desired amount of force.

Robotic Manipulators
Reaction surfaces are not present in all directions so some directions will
have position control and others will have force control which results in
hybrid control.

Robot programming

Three Levels -

Teach By Showing
It is a very primitive method. It involves moving the robot to the desired
goal point and recording its position in a memory. The robot can be
moved by hand or by a teach pendant .Teach pendant is a handheld
device which enables controlling individual joints of the manipulator.
21
This pendant is useful for large unwieldy industrial robots.
Explicit RPLs
It involves programming robots via programs written in computer
programming languages. Advent of inexpensive and powerful computers
has made this approach popular.
Three categories –
Specialized manipulation languages (VAL by Unimation)
Robot Library for an existing language (AR-BASIC, ROBOT-BASIC, JARS for
Pascal by NASA JPL.) Robot Library for a new general-purpose language
(AML by IBM, KAREL by GMF Robotics)
Robotic Manipulators

Task Level Programming


Command desired subgoals of the task directly. Instructions are given at
a significantly higher level than other languages. Requires sophisticated
robots.

Requirements of RPLs-
World modeling (support for geometric types, sets of joint angles and
frames
Motion specifications (instructions like “moveto goal1”; “moveto goal2,
via goal1”)
Flow of execution (testing, branching, parallel execution)
Programming environment (IDE)
22 Sensor integration (integrate with different sensors and monitor them in
the background)
Off-line Programming-
An off-line system is an extended form of a robot programming system
It facilitates the development of programs without the presence of a
real robot by using simulations
The original production equipment is not tied-up during program
development

Robotic Manipulators

23
Architecture of Unimation PUMA 560
Robotic Manipulators

Physical structure-
Physically it is an open chain articulated robot with 6DOF. The first three
joints provide 1DOF each and wrist joint is a 3DOF joint.
24
The link parameters are shown in the following figure-

Robotic Manipulators

25
The frame attachment is shown in the following figure-
Robotic Manipulators

26
Controller-

Robotic Manipulators

The DEC-LSI 11 computer acts as the top-level controller. It is


programmed in VAL and controls the Rockwell 6503 microprocessor by a
suitable interface. The 6503 is an 8-bit microprocessor responsible for
PID control of joint angles by feedback received from optical shaft
encoders. There are no tachometers, so the joint velocity is estimated 27
by differentiating joint position in consecutive servo cycles.
References
 Introduction to Robotics - Mechanics and Control. 2nd
edition
- John J. Craig
 Fundamentals of Robotic Mechanical Systems - Theory,
Methods, and Algorithms. 2nd edition
- J. Angeles
 Wikipedia
Robotic Manipulators

End.
28