You are on page 1of 81

OMROB Lab.

Advanced Robotics

Course Code: EE-970 (Elective)


Credit Hour: 3-0
Theory: 48 Hr.
Course Instructor: Dr. M Ayaz Shirazi
Chapter 1: Robotics Fundamentals

1. Introduction

Fig. 1.1 (a) A Kuhnezug truck-mounted crane Fig. 1.1 (b) Fanuc S-500 robots performing
Reprinted with permission from Kuhnezug Fordertechnik GmbH. seam-sealing on a truck.
Reprinted with permission from Fanuc Robotics, North America, Inc.
What is a Robot

 The difference between a robot and a manipulator


 Run by a computer or microprocessor not a human
 Controlled by feedback devices
 Mostly autonomous
What is a Robot

Definition 1: A machine that resembles a human being


and does mechanical routine tasks on command.
Definition 2: An industrial robot is a re-programmable,
multifunctional manipulator designed to move materials,
parts, tools, or specialized devices through variable
programmed motions for the performance of a variety
of tasks.
What is a Robot

 A manipulator (or an industrial robot) is composed of a


series of links connected to each other via joints. Each
joint usually has an actuator (a motor for e.g.)
connected to it.
 These actuators are used to cause relative motion
between successive links. One end of the manipulator
is usually connected to a stable base and the other
end is used to deploy a tool.
Classification of Robots

- JIRA (Japanese Industrial Robot Association)


Class1: Manual-Handling Device
 This type of robot has multiple degrees of freedom, but all of its actions
are performed under the direct control of an operator.

Class2: Fixed Sequence Robot


 This type of robot repeats a fixed sequence of actions without needing to
be controlled by an operator. However, the sequence of actions it
performs cannot be modified (non-programmable).

Class3: Variable Sequence Robot


 This type of robot is similar to class 2, except that the sequence of
actions can be reprogrammed easily allowing it to be quickly adapted to
perform new tasks.
Classification of Robots

- JIRA (Japanese Industrial Robot Association)


Class4: Playback Robot
 This type of robot is first guided through a sequence of actions by an
operator, then repeats the same actions automatically.

Class5: Numerical Control Robot


 This type of robot moves through a sequence of actions, which it receives
in the form of numerical data.

Class6: Intelligent Robot


 A robot that senses its environment and responds to changes in it in
order to continue performing its function.
Classification of Robots

- RIA (Robotics Institute of America)


Variable Sequence Robot(Class3)
Playback Robot(Class4)
Numerical Control Robot(Class5)
Intelligent Robot(Class6)
Classification of Robots

- AFR (Association FranÇaise de Robotique)


Type A: Manual Handling Devices/ telerobotics
Type B: Automatic Handling Devices with
predetermined cycles
Type C: Programmable, Servo controlled robot
with continuous point-to-point trajectories
Type D: Same type with C, but with
environmental sensing capability.
What is Robotics?

Robotics is the art, knowledge base, and the know


-how of designing, applying, and using robots in
human endeavors.
Robotics is an interdisciplinary subject that
benefits from mechanical engineering, electrical
and electronic engineering, computer science,
biology, and many other disciplines.
What are the parts of a robot?

• Manipulator
• Pedestal (base)
• Controller
• End Effectors
• Power Source
Manipulator

• Base
• Appendages
Shoulder
Arm
Grippers

Mobile robots perform locomotion by pushing on the environment with


appendages: legs and wheels on ground, wings or propellers in the air
Pedestal

(Human waist)
• Supports the
manipulator.
• Acts as a
counterbalance.
Controller

(The brain)
• Issues instructions to
the robot.
• Controls peripheral
devices.
• Interfaces with robot.
• Interfaces with
humans.
End Effectors

(The hand)
• Spray paint
attachments
• Welding attachments
• Vacuum heads
• Hands
• Grippers
Power Source

(The food)
• Electric
• Pneumatic
• Hydraulic
Robots degrees of freedom

 Degrees of Freedom:
Number of independent
position variables which
would has to be
specified to locate all
parts of a mechanism.
 In most manipulators
this is usually the
number of joints.
Robot Joints
Prismatic Joint/Slider: Linear, No rotation involved.
(Hydraulic or pneumatic cylinder)

A prismatic joint is a one-degree-of-freedom kinematic pair which


constrains the motion of two bodies to sliding along a common axis,
without rotation; for this reason it is often called a slider.

Revolute Joint: Rotary, (electrically driven with stepper motor, servo motor)
Robot Coordinates

 Cartesian/rectangular/gantry (3P) : 3 cylinders joint


 Cylindrical (R2P) : 2 Prismatic joint and 1 revolute joint
 Spherical (2RP) : 1 Prismatic joint and 2 revolute joint
 Articulated/anthropomorphic (3R) : All revolute(Human arm)
 Selective Compliance Assembly Robot Arm (SCARA):
2 paralleled revolute joint and 1 additional prismatic joint
Robot Reference Frames

 The WORLD frame is a fixed Cartesian coordinate frame that represents


the centre point at the robot's base
 USER(Base) frames will be defined relative to the WORLD frame, and some
or all of the points in space can be directly defined relative to this frame.
 The TOOL frame is a Cartesian coordinate system defined at the tool
centre point (TCP). The tool TCP is the point used to move the robot to a
Cartesian position.

A robot’s World, Joint, and Tool reference frames. Most robots may be programmed to move
relative to either of these reference frames.
Robot Reference Frames
Robot Reference Frames
Robot Reference Frames
Robot Workspace

Typical workspaces for common robot configurations


Robot Classification

Articulated Serial links


Robot Classification

Articulated Serial links


Robot Classification

Cylindrical Robot
Robot Classification
15

Spherical Robot
Robot Classification
16

Cartesian Robot
Robot Classification

Cartesian Robot
Robot Classification

SCARA (Selective Compliance Assembly Robot Arm) Robot


Robot Classification

SCARA Robot
Robot Classification

Parallel Robot
Robot Classification
21

Stewart-Gough Platform (SGP) Delta Robot


ROBOT CHARACTERISTICS

 Payload is the weight a robot can carry


 Reach is the maximum distance a robot can
reach within its work envelope.
 Precision is defined as how accurately a specific
point can be reached
 Repeatability is how accurately the same
position can be reached if the motion is repeated
many times.
http://www.directindustry.com/prod/yamaha-
motor-industrial-robots/product-25092-
56426.html#video
Applications of Robotics

 Machine loading
 Pick and place operations
 Welding
 Painting
 Sampling
 Assembly operation
 Manufacturing
 Surveillance
 Medical applications
 Assisting disabled individuals
 Hazardous environments
 Underwater, space, and remote locations
Advantages of Robots

 Robots raises productivity, safety, efficiency, quality, and


consistency of products.
 Robots can work in hazardous environments without the need.
 Robots need no environmental comfort.
 Robots work continuously without experiencing fatigue problem.
 Robots have repeatable precision at all times.
 Robots can be much more accurate than human. .
 Robots can process multiple stimuli or tasks simultaneously.
Disadvantages of Robots

 Robots lack capability to respond in emergencies.


 Robots, although superior in certain senses, have limited
capabilities in Degree of freedom, Dexterity, Sensors, Vision
system, real time response.
 Robots are costly, due to Initial cost of equipment, Installation
costs, Need for Peripherals, Need for training, Need for
programming.
Robot Kinematics: Position Analysis

2.1 INTRODUCTION

Forward Kinematics:
to determine where the robot’s hand is?
(If all joint variables are known)

Inverse Kinematics:
to calculate what each joint variable is?
(If we desire that the hand be
located at a particular point)
Robot Kinematics: Position Analysis

2.2 ROBOTS AS MECHANISM


Multiple type robot have multiple DOF.
(3 Dimensional, open loop, chain mechanisms)

Fig. 2.1 A one-degree-of-freedom closed-loop Fig. 2.2 (a) Closed-loop versus (b) open-loop
four-bar mechanism mechanism
Robot Kinematics: Position Analysis

2.3 MATRIX REPRESENTATION


2.3.1 Representation of a Point in Space

A point P in space :
3 coordinates relative to a reference frame

^ ^ ^
P  a x i  by j  c z k

Fig. 2.3 Representation of a point in space


Robot Kinematics: Position
Analysis

2.3 MATRIX REPRESENTATION


2.3.2 Representation of a Vector in Space

A Vector P in space :
3 coordinates of its tail and of its head

__ ^ ^ ^
P  a x i  by j  c z k
x
__  y
P 
z
 
 w
Fig. 2.4 Representation of a vector in
space
Robot Kinematics: Position
Analysis
Robot Kinematics: Position
Analysis

0
Robot Kinematics: Position Analysis

2.3 MATRIX REPRESENTATION


2.3.3 Representation of a Frame at the Origin of a Fixed-Reference Frame
 Each Unit Vector is mutually perpendicular. :
normal, orientation, approach vector
 Fixed Universe reference frame F (x,y,z) and a set of new axes (n,o
and a) represent another moving frame F(n,o,a).

 nx ox a x 
F  n y o y a y 
 nz oz a z 

Fig. 2.5 Representation of a frame at the origin of the


reference frame
Robot Kinematics: Position Analysis
Robot Kinematics: Position Analysis

2.3 MATRIX REPRESENTATION


2.3.4 Representation of a Frame in a Fixed Reference Frame

Each Unit Vector is mutually perpendicular. :


normal, orientation, approach vector

 nx ox a x Px 
n o y a y Py 
F  y

 nz oz a z Pz 
 
0 0 0 1

Fig. 2.6 Representation of a frame in a


frame
Robot Kinematics: Position Analysis

2.3 MATRIX REPRESENTATION


2.3.5 Representation of a Rigid Body

An object can be represented in space by attaching a frame


to it and representing the frame in space.
First three vectors are directional vectors with w = 0, representing the directions
of the three unit vectors, while the fourth vector with w = 1 represents location
of the origin of the frame relative to the reference frame.
 nx ox a x Px 
n o y a y Py 
Fobject   y

 nz oz a z Pz 
 
0 0 0 1

Fig. 2.8 Representation of an object in space


Robot Kinematics: Position Analysis

2.4 HOMOGENEOUS TRANSFORMATION MATRICES


A transformation matrices must be in square form.

• It is much easier to calculate the inverse of square matrices.


• To multiply two matrices, their dimensions must match.

 nx ox a x Px 
n o y a y Py 
F  y

 nz oz a z Pz 
 
0 0 0 1
Robot Kinematics: Position Analysis

2.5 REPRESENTATION OF TRANSFORMATINS


2.5.1 Representation of a Pure Translation

A transformation is defined as making a movement in space.


• A pure translation.
• A pure rotation about an axis.
• A combination of translation or rotations.

1 0 0 dx 
0 1 0 d y 
T 
0 0 1 dz 
 
0 0 0 1
Fig. 2.9 Representation of an pure translation in
space
Robot Kinematics: Position Analysis
Robot Kinematics: Position Analysis
Robot Kinematics: Position Analysis

2.5 REPRESENTATION OF TRANSFORMATINS


2.5.2 Representation of a Pure Rotation about an Axis

Assumption : The frame is at the origin of the reference frame and


parallel to it.

Fig. 2.10 Coordinates of a point in a rotating


frame before and after rotation about x-axis.
Fig. 2.11 Coordinates of a point relative to the reference
frame and rotating frame as viewed from the x-axis.
Robot Kinematics: Position Analysis

Fig. 2.10 Coordinates of a point in a rotating


frame before and after rotation about x-axis. Fig. 2.11 Coordinates of a point relative to the reference
frame and rotating frame as viewed from the x-axis.
Robot Kinematics: Position Analysis

The general formula in case of pure rotation is as follows:


Robot Kinematics: Position Analysis
Robot Kinematics: Position Analysis

2.5 REPRESENTATION OF TRANSFORMATINS


2.5.3 Representation of Combined Transformations

A number of successive translations and rotations….

Changing the order of transformations will


change the final result

Fig. 2.13 Effects of three successive


transformations
Robot Kinematics: Position Analysis

2.5 REPRESENTATION OF TRANSFORMATINS


2.5.3 Representation of Combined Transformations
Robot Kinematics: Position Analysis

2.5 REPRESENTATION OF TRANSFORMATINS


2.5.3 Representation of Combined Transformations
Robot Kinematics: Position Analysis

2.5 REPRESENTATION OF TRANSFORMATINS


2.5.5 Transformations Relative to the Rotating Frame

Example 2.8

Fig. 2.15 Transformations relative to the current frames.


Robot Kinematics: Position Analysis

2.5 REPRESENTATION OF TRANSFORMATINS


2.5.5 Transformations Relative to the Rotating Frame

Example 2.8
Robot Kinematics: Position Analysis

2.6 INVERSE OF TRANSFORMATION MATIRICES


Inverse of a matrix calculation steps :
• Calculate the determinant of the matrix.
• Transpose the matrix.
• Replace each element of the transposed matrix by its own minor(adjoint matrix).
• Divide the converted matrix by the determinant.

Fig. 2.16 The Universe, robot, hand, part, and end effecter
frames.
Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


Forward Kinematics Analysis:
• Calculating the position and orientation of the hand of the robot.
• If all robot joint variables are known, one can calculate where the robot is
at any instant.

Fig. 2.17 The hand frame of the robot relative to the


reference frame.
Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.1 Forward and Inverse Kinematics Equations for Position

Forward Kinematics and Inverse Kinematics equation for position


analysis :

(a) Cartesian (gantry, rectangular) coordinates.


(b) Cylindrical coordinates.
(c) Spherical coordinates.
(d) Articulated (anthropomorphic, or all-revolute) coordinates.
Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.1 Forward and Inverse Kinematics Equations for Position
2.7.1 (a) Cartesian (Gantry, Rectangular) Coordinates

IBM 7565 robot


• All actuator is linear.
• A gantry robot is a Cartesian robot.

1 0 0 Px 
0 1 0 Py 
TP  Tcart
R

0 0 1 Pz 
 
0 0 0 1

Fig. 2.18 Cartesian Coordinates.


Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.1 Forward and Inverse Kinematics Equations for Position
2.7.1(b) Cylindrical Coordinates

2 Linear translations and 1 rotation


• translation of r along the x-axis
• rotation of  about the z-axis
• translation of l along the z-axis

TP  Tcyl (r , , l )  Trans(0,0, l )Rot( z, )Trans(r ,0,0)


R

C  S 0 rC 
 S C 0 rS 
R
TP  Tcyl   
 0 0 1 l 
 
 0 0 0 1 
Fig. 2.19 Cylindrical Coordinates.
Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.1 Forward and Inverse Kinematics Equations for Position
2.7.1 (c) Spherical Coordinates

2 Linear translations and 1 rotation


• translation of r along the z-axis
• rotation of  about the y-axis
• rotation of  along the z-axis
Spherical coordinate
TP  Tsph (r ,  , l )  Rot(z ,  )Rot( y,  )Trans(0,0,  )
R

C  C  S S  C rS  C 
 C  S C S  S rS  S 
TP  Tsph
R
 
  S 0 C rC 
 
 0 0 0 1 
Fig. 2.20 Spherical Coordinates.
Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.1 Forward and Inverse Kinematics Equations for Position
2.7.1(d) Articulated Coordinates

3 rotations -> Denavit-Hartenberg representation

Fig. 2.21 Articulated Coordinates.


Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.2 Forward and Inverse Kinematics Equations for Orientation

 Roll, Pitch, Yaw (RPY) angles


 Euler angles
 Articulated joints
Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.2 Forward and Inverse Kinematics Equations for Orientation
2.7.2(a) Roll, Pitch, Yaw(RPY) Angles
Roll: Rotation of  a about a -axis (z-axis of the moving frame)
Pitch: Rotation of o about o -axis (y-axis of the moving frame)
Yaw: Rotation of  n about n -axis (x-axis of the moving frame)

Current frame is parallel to the reference


frame; therefore, its orientation is the same
as the reference frame before the application
of RPY (Assumption).
If the current moving frame is not parallel to
the reference frame, then the final orientation
of the robot’s hand will be a combination of
the previous orientation, post-multiplied by
the RPY.

Fig. 2.22 RPY rotations about the current axes.


Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.2 Forward and Inverse Kinematics Equations for Orientation
2.7.2(b) Euler Angles
Rotation of  about a-axis (z-axis of the moving frame) followed by
Rotation of  about o-axis (y-axis of the moving frame) followed by
Rotation of  about a-axis (z-axis of the moving frame).

Fig. 2.24 Euler rotations about the current axes.


Robot Kinematics: Position Analysis

2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS


2.7.3 Forward and Inverse Kinematics Equations for Orientation

 Assumption : Robot is made of a Cartesian and an RPY set of joints.

TH  Tcart ( Px , Py , Pz )  RPY (a , o , n )


R

 Assumption : Robot is made of a Spherical Coordinate and an Euler angle.

TH  Tsph (r ,  ,  )  Euler( ,  , )
R

Another Combination can be possible……

Denavit-Hartenberg Representation
Robot Kinematics: Position Analysis

2.8 DENAVIT-HARTENBERG REPRESENTATION OF


FORWARD KINEMATIC EQUATIONS OF ROBOT
 Denavit-Hartenberg Representation :
 Simple way of modeling robot links and joints for any robot
configuration, regardless of its sequence or complexity.

 Transformations in any coordinates is possible.

 Any possible combinations of joints and links and all-revolute


articulated robots can be represented.
Robot Kinematics: Position Analysis

2.8 DENAVIT-HARTENBERG REPRESENTATION OF


FORWARD KINEMATIC EQUATIONS OF ROBOT
Robot Kinematics: Position Analysis

2.8 DENAVIT-HARTENBERG REPRESENTATION OF


FORWARD KINEMATIC EQUATIONS OF ROBOT

 Denavit-Hartenberg Representation procedures:

Start point:
 Assign joint number n to the first shown joint.
 Assign a local reference frame for each and every
joint before or after these joints.
 Y-axis is not used in D-H representation.
Robot Kinematics: Position Analysis

2.8 DENAVIT-HARTENBERG REPRESENTATION OF


FORWARD KINEMATIC EQUATIONS OF ROBOT

 Procedures for assigning a local reference frame to each joint:

 All joints are represented by a z-axis. (right-hand rule for


rotational joint, linear movement for prismatic joint)
 The common normal is one line mutually perpendicular to any
two skew lines.
 Parallel z-axes joints make a infinite number of common normal.
 Intersecting z-axes of two successive joints make no common
normal between them(Length is 0.).
Robot Kinematics: Position Analysis

2.8 DENAVIT-HARTENBERG REPRESENTATION OF


FORWARD KINEMATIC EQUATIONS OF ROBOT

 Symbol Terminologies :

  : A rotation about the z-axis.


 d : The distance on the z-axis.
 a : The length of each common normal (Joint offset).
  : The angle between two successive z-axes (Joint twist)

 Only  and d are joint variables.


Robot Kinematics: Position Analysis

2.8 DENAVIT-HARTENBERG REPRESENTATION OF


FORWARD KINEMATIC EQUATIONS OF ROBOT
 The necessary motions to transform from one reference
frame to the next.
Robot Kinematics: Position Analysis
Review

2.8 DENAVIT-HARTENBERG REPRESENTATION OF


FORWARD KINEMATIC EQUATIONS OF ROBOT
Robot Kinematics: Position Analysis
Review

2.8 DENAVIT-HARTENBERG REPRESENTATION OF


FORWARD KINEMATIC EQUATIONS OF ROBOT

https://www.mathworks.com/help/robotics/ug/build-
manipulator-robot-using-kinematic-dh-parameters.html
Robot Kinematics: Position Analysis

Defect of D-H presentation : D-H cannot represent any motion


about the y-axis, because all motions are about the x- and z-
axis. TABLE 2.3 THE PARAMETERS TABLE FOR THE
STANFORD ARM

#  d a 
1 1 0 0 -90

2 2 d1 0 90

3 0 d1 0 0

4 4 0 0 -90

5 5 0 0 90

6 6 0 0 0
Fig. 2.31 The frames of the Stanford Arm.

You might also like