Here are the steps to solve this using the algebraic approach with homogeneous transformations:
1) Start with the identity matrix for the initial frame:
H0 = [[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]]
2) Apply the first rotation about Z by angle θ1:
Rz1 = [[cosθ1, -sinθ1, 0, 0],
[sinθ1, cosθ1, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 1]]
H1 = Rz1 *
3. Robotics Timeline
• 1922 Czech author Karel Capek wrote a story called
Rossum’s Universal Robots and introduced the word
“Rabota”(meaning worker)
• 1954 George Devol developed the first programmable
Robot.
• 1955 Denavit and Hartenberg developed the
homogenous transformation matrices
• 1962 Unimation was formed, first industrial Robots
appeared.
• 1973 Cincinnati Milacron introduced the T3 model robot,
which became very popular in industry.
• 1990 (ASEA Brown Boveri) Cincinnati Milacron was
acquired by ABB
4. Robot Defined as
• A Re-programmable, multifunctional manipulator designed to move
material, parts, tools or specialized devices through variable
programmed motion for a variety of tasks
• Hazardous work environments
• Repetitive work cycle
• Consistency and accuracy
• Difficult handling task for humans
• Multishift operations
• Reprogrammable, flexible
• Interfaced to other computer systems
5. Three Laws of Robot
The Three Laws are:
• A robot may not injure a human being or, through inaction, allow a
human being to come to harm.
• A robot must obey the orders given it by human beings, except
where such orders would conflict with the First Law.
• A robot must protect its own existence as long as such protection
does not conflict with the First or Second Law
( For more see I Robot 2004 Film ) The theme of film is In 2035, highly
intelligent robots fill public service positions throughout the world, operating
under three rules to keep humans safe. Despite his dark history with robotics
6. Robot Anatomy
• Manipulator consists of joints and links
• Joints provide relative motion
• Links are rigid members between joints
• Various joint types: linear and rotary
• Each joint provides a “degree-of-freedom”
• Most robots possess five or six degrees-of-
freedom
• Robot manipulator consists of two sections:
• Body-and-arm – for positioning of objects
in the robot's work volume
• Wrist assembly – for orientation of objects
Base
Link0
Joint1
Link2
Link3
Joint3
End of Arm
Link1
Joint2
8. Joint Notation Scheme
• Uses the joint symbols (L, O, R, T, V) to designate joint
types used to construct robot manipulator
• Separates body-and-arm assembly from wrist assembly
using a colon (:)
• Example: TLR : TR
• Common body-and-arm configurations …
9. Polar Coordinate
Body-and-Arm Assembly
• Notation TRL:
• Consists of a sliding arm (L joint) actuated relative to the body, which
can rotate about both a vertical axis (T joint) and horizontal axis (R
joint)
Physical configuration & Basic Robot motion
10. Cylindrical Body-and-Arm
Assembly
• Notation TLO:
• Consists of a vertical column,
relative to which an arm
assembly is moved up or
down
• The arm can be moved in or
out relative to the column
11. Cartesian Coordinate
Body-and-Arm Assembly
• Notation LOO:
• Consists of three sliding joints,
two of which are orthogonal
• Other names include rectilinear
robot and x-y-z robot
13. SCARA Robot
• Notation VRO
• SCARA stands for Selectively
Compliant Assembly Robot
Arm
• Similar to jointed-arm robot
except that vertical axes are
used for shoulder and elbow
joints to be compliant in
horizontal direction for
vertical insertion tasks
14. Wrist Configurations
• Wrist assembly is attached to end-of-arm
• End effector is attached to wrist assembly
• Function of wrist assembly is to orient end effector
• Body-and-arm determines global position of end effector
• Two or three degrees of freedom:
• Roll
• Pitch
• Yaw
• Notation :RRT
15. Example
• Sketch following manipulator configurations
• (a) TRT:R, (b) TVR:TR, (c) RR:T.
Solution:
T
R
T
V
(a) TRT:R
R
T
R
T R
T
R
R
(c) RR:T
(b) TVR:TR
16. Joint Drive Systems
• Electric
• Uses electric motors to actuate individual joints
• Preferred drive system in today's robots
• Hydraulic
• Uses hydraulic pistons and rotary vane actuators
• Noted for their high power and lift capacity
• Pneumatic
• Typically limited to smaller robots and simple material
transfer applications
17. Robot Control Systems
• Limited sequence control – pick-and-place operations
using mechanical stops to set positions
• Playback with point-to-point control – records work
cycle as a sequence of points, then plays back the
sequence during program execution
• Playback with continuous path control – greater
memory capacity and/or interpolation capability to
execute paths (in addition to points)
• Intelligent control – exhibits behavior that makes it
seem intelligent, e.g., responds to sensor inputs, makes
decisions, communicates with humans
18. Robot Control System
Joint 1 Joint 2 Joint 3 Joint 4 Joint 5 Joint 6
Controller
& Program
Cell
Supervisor
Sensors Level 0
Level 1
Level 2
19. End Effectors
• The special tooling for a robot that enables it to
perform a specific task
• Two types:
• Grippers – to grasp and manipulate objects (e.g., parts)
during work cycle
• Tools – to perform a process, e.g., spot welding, spray
painting
22. Industrial Robot Applications
1. Material handling applications
• Material transfer – pick-and-place, palletizing
• Machine loading and/or unloading
2. Processing operations
• Welding
• Spray coating
• Cutting and grinding
3. Assembly and inspection
23. Robotic Arc-Welding Cell
• Robot performs
flux-cored arc
welding (FCAW)
operation at one
workstation
while fitter
changes parts at
the other
workstation
24. Robot Programming
• Lead through programming
• Work cycle is taught to robot by moving the manipulator through the required
motion cycle and simultaneously entering the program into controller memory
for later playback
• Robot programming languages :
• Textual programming language to enter commands into robot
controller
• They are: RAIL (best language for controlling manipulation and vision
system ) ,AML(A Manufacturing Language), VAL(Variable Assembly
Language),AL ( Artificial Intelligence language ) , RPL ( control
algorithms)
• Simulation and off-line programming
• Program is prepared at a remote computer terminal and
downloaded to robot controller for execution without need for
leadthrough methods
25. Leadthrough Programming
1. Powered lead through
• Common for point-to-point robots
• Uses teach pendant
• Teach pendants are typically handheld devices
and may be wired or wireless. used to program
various models of the robotic industrial
machinery the company makes.
2. Manual lead through
• Convenient for continuous path control robots
• Human programmer physical moves manipulator
26. Leadthrough Programming
Advantages
• Advantages:
• Easily learned by shop personnel
• Logical way to teach a robot
• No computer programming
• Disadvantages:
• Downtime during programming
• Limited programming logic capability
• Not compatible with supervisory control
27. Robot Programming
• Textural programming languages
• Enhanced sensor capabilities
• Improved output capabilities to control external equipment
• Program logic
• Computations and data processing
• Communications with supervisory computers
29. Motion Commands
MOVE P1
HERE P1 - used during lead through of manipulator
MOVES P1
DMOVE(4, 125)
APPROACH P1, 40 MM
DEPART 40 MM
DEFINE PATH123 = PATH(P1, P2, P3)
MOVE PATH123
SPEED 75
30. Interlock and Sensor Commands
Interlock Commands
WAIT 20, ON
SIGNAL 10, ON
SIGNAL 10, 6.0
REACT 25, SAFESTOP
Gripper Commands
OPEN
CLOSE
CLOSE 25 MM
CLOSE 2.0 N
32. Forward and inverse kinematics in
robotics
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)
Forward Kinematics refers to calculating the position and orientation
of the end-effector in terms of the joint variables is called as forward kin
ematics
Inverse kinematics refers to the use of the kinematics equations of a
robot to determine the joint parameters that provide a desired position
of the end-effector
33. 2.2 ROBOTS AS MECHANISM
Fig. 2.1 A one-degree-of-freedom closed-loop
four-bar mechanism
Multiple type robot have multiple DOF.
(3 Dimensional, open loop, chain mechanisms)
Fig. 2.2 (a) Closed-loop versus (b) open-loop
mechanism
34. 2.3 MATRIX REPRESENTATION
2.3.1 Representation of a Point in Space
Fig. 2.3 Representation of a point in
space
A point P in space :
3 coordinates relative to a reference frame
^
^
^
k
c
j
b
i
a
P z
y
x
35. 2.3 MATRIX REPRESENTATION
2.3.2 Representation of a Vector in Space
Fig. 2.4 Representation of a vector in
space
A Vector P in space :
3 coordinates of its tail and of its head
^
^
^
__
k
c
j
b
i
a
P z
y
x
w
z
y
x
P
__
36. 2.3 MATRIX REPRESENTATION
2.3.3 Representation of a Frame at the Origin of a Fixed-Reference Frame
Fig. 2.5 Representation of a frame at the origin of the reference frame
Each Unit Vector is mutually perpendicular. :
normal, orientation, approach vector
z
z
z
y
y
y
x
x
x
a
o
n
a
o
n
a
o
n
F
37. 2.3 MATRIX REPRESENTATION
2.3.4 Representation of a Frame in a Fixed Reference Frame
Fig. 2.6 Representation of a frame in a frame
Each Unit Vector is mutually perpendicular. :
normal, orientation, approach vector
1
0
0
0
z
z
z
z
y
y
y
y
x
x
x
x
P
a
o
n
P
a
o
n
P
a
o
n
F
38. 2.3 MATRIX REPRESENTATION
2.3.5 Representation of a Rigid Body
Fig. 2.8 Representation of an object in space
An object can be represented in space by attaching a
frame
to it and representing the frame in space.
1
0
0
0
z
z
z
z
y
y
y
y
x
x
x
x
object
P
a
o
n
P
a
o
n
P
a
o
n
F
39. 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.
1
0
0
0
z
z
z
z
y
y
y
y
x
x
x
x
P
a
o
n
P
a
o
n
P
a
o
n
F
40. 2.5 REPRESENTATION OF TRANSFORMATINS
2.5.1 Representation of a Pure Translation
Fig. 2.9 Representation of an pure translation in
space
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
0
1
0
0
0
1
0
0
0
1
z
y
x
d
d
d
T
41. 2.5 REPRESENTATION OF TRANSFORMATINS
2.5.2 Representation of a Pure Rotation about an Axis
Fig. 2.10 Coordinates of a point in a rotating
frame before and after rotation.
Assumption : The frame is at the origin of the reference frame and parallel to it.
Fig. 2.11 Coordinates of a point relative to the reference
frame and rotating frame as viewed from the x-
axis.
42. 2.5 REPRESENTATION OF TRANSFORMATINS
2.5.3 Representation of Combined Transformations
Fig. 2.13 Effects of three successive transformations
A number of successive translations and rotations….
Fig. 2.14 Changing the order of transformations will
change the final result
43. 2.6 INVERSE OF TRANSFORMATION MATIRICES
Fig. 2.16 The Universe, robot, hand, part, and end effecter frames.
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.
44. 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
Fig. 2.17 The hand frame of the robot relative to the reference
frame.
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
46. The Situation:
You have a robotic arm that
starts out aligned with the xo-axis.
You tell the first link to move by 1 and
the second link to move by 2.
The Quest:
What is the position of the end
of the robotic arm?
Solution:
1. Geometric Approach
This might be the easiest solution for the simple situation. However, notice
that the angles are measured relative to the direction of the previous link. (The first link
is the exception. The angle is measured relative to it’s initial position.) For robots with
more links and whose arm extends into 3 dimensions the geometry gets much more
tedious.
2. Algebraic Approach
Involves coordinate transformations.
47. X2
X3
Y2
Y3
1
2
3
1
2 3
Example Problem:
You are have a three link arm that starts out aligned in the x-axis.
Each link has lengths l1, l2, l3, respectively. You tell the first one to move by 1
, and so on as the diagram suggests. Find the Homogeneous matrix to get
the position of the yellow dot in the X0Y0 frame.
H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 )
i.e. Rotating by 1 will put you in the X1Y1 frame.
Translate in the along the X1 axis by l1.
Rotating by 2 will put you in the X2Y2 frame.
and so on until you are in the X3Y3 frame.
The position of the yellow dot relative to the X3Y3 frame is
(l1, 0). Multiplying H by that position vector will give you the
coordinates of the yellow point relative the the X0Y0 frame.
Slight variation on the last solution:
Make the yellow dot the origin of a new coordinate X4Y4 frame
X0
Y0
48. X2
X3
Y2
Y3
1
2
3
1
2 3
X0
Y0
X4
Y4
H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ) * Tx3(l3)
This takes you from the X0Y0 frame to the X4Y4 frame.
The position of the yellow dot relative to the X4Y4 frame is (0,0).
1
0
0
0
H
1
Z
Y
X
Notice that multiplying by the (0,0,0,1) vector will equal
the last column of the H matrix.
50. Denavit-Hartenberg Notation
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Zi
Yi
X i ai
di
i
IDEA: Each joint is assigned a coordinate frame. Using the Denavit-Hartenberg
notation, you need 4 parameters to describe how a frame (i) relates to a
previous frame ( i -1 ).
THE PARAMETERS/VARIABLES: , a , d,
51. The Parameters
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Zi
Yi
X i ai
di
i
You can
align the two
axis just
using the 4
parameters
1) a(i-1) - is the length of the perpendicular between the joint axes.
2) (i-1) - Amount of rotation around the common perpendicular so that the joint axes are parallel
3) d(i-1) - The displacement along the Zi axis
4) i Amount of rotation around the Zi axis needed to align the X(i-1) axis with the Xi axis.
53. 3 Revolute Joints
i (i-1) a(i-1) di i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
Z0
X0
Y0
Z1
X2
Y1
X1
Y2
d2
a0 a1
Denavit-Hartenberg Link
Parameter Table
Notice that the table has two uses:
1) To describe the robot with its
variables and parameters.
2) To describe some state of the robot
by having a numerical values for the
variables.
54. Z0
X0
Y0
Z1
X2
Y1
X1
Y2
d2
a0 a1
i (i-1) a(i-1) di i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
1
V
V
V
T
V
2
2
2
0
0
0
Z
Y
X
Z
Y
X T)
T)(
T)(
(
T 1
2
0
1
0
Note: T is the D-H matrix with (i-1) = 0 and i = 1.
55.
1
0
0
0
0
1
0
0
0
0
cosθ
sinθ
0
0
sinθ
cosθ
T 0
0
0
0
0
i (i-1) a(i-1) di i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
This is just a rotation around the Z0 axis
1
0
0
0
0
0
0
0
0
0
cosθ
sinθ
a
0
sinθ
cosθ
T 1
1
0
1
1
0
1
1
0
0
0
0
0
cosθ
sinθ
d
1
0
0
a
0
sinθ
cosθ
T
2
2
2
1
2
2
1
2
This is a translation by a0 followed by a
rotation around the Z1 axis
This is a translation by a1 and then d2 followed
by a rotation around the X2 and Z2 axis
T)
T)(
T)(
(
T 1
2
0
1
0
56. Forward Kinematics Algorithm
1) Draw sketch
2) Number links. Base=0, Last link = n
3) Identify and number robot joints
4) Draw axis Zi for joint i
5) Determine joint length ai-1 between Zi-1 and Zi
6) Draw axis Xi-1
7) Determine joint twist i-1 measured around Xi-1
8) Determine the joint offset di
9) Determine joint angle i around Zi
10+11) Write link transformation and concatenate
Often
sufficient for
2D
57. I n v e r s e K i n e m a t i c s
From Position to Angles
58. A Simple Example
1
X
Y
S
Revolute and
Prismatic Joints
Combined
(x , y)
Finding :
)
x
y
arctan(
θ
More Specifically:
)
x
y
(
2
arctan
θ arctan2() specifies that it’s in the first
quadrant
Finding S:
)
y
(x
S 2
2
59. 2
1
(x , y)
l2
l1
Inverse Kinematics of a Two Link Manipulator
Given: l1, l2 , x , y
Find: 1, 2
Redundancy:
A unique solution to this problem does
not exist. Notice, that using the “givens” two
solutions are possible.
Sometimes no solution is possible.
(x , y)
60. The Geometric Solution
l1
l2
2
1
(x , y) Using the Law of Cosines:
2
1
2
2
2
1
2
2
2
1
2
2
2
1
2
2
2
1
2
2
2
1
2
2
2
2
2
2
arccos
θ
2
)
cos(θ
)
cos(θ
)
θ
180
cos(
)
θ
180
cos(
2
)
(
cos
2
l
l
l
l
y
x
l
l
l
l
y
x
l
l
l
l
y
x
C
ab
b
a
c
2
2
2
2
2
Using the Law of Cosines:
x
y
2
arctan
α
α
θ
θ
y
x
)
sin( θ
y
x
)
θ
sin(180
θ
sin
sin
sin
1
1
2
2
2
2
2
2
2
1
l
c
C
b
B
x
y
2
arctan
y
x
)
sin( θ
arcsin
θ
2
2
2
2
1
l
Redundant since 2 could be in the first or
fourth quadrant.
Redundancy caused since 2 has two possible
values