introduction to robotics 5/7/20151. general course information 5/7/20152 the course introduces the...
TRANSCRIPT
Introduction to Robotics
04/18/231
General Course Information
04/18/232
The course introduces the basic concepts of robotic manipulators and autonomous systems. After a review of some fundamental mathematics the course examines the mechanics and dynamics of robot arms, mobile robots, their sensors and algorithms for controlling them.
two robotic arms everything in Matlab (and some Java)
A150 Robotic Arm
04/18/233 Symbolic Representation of Manipulators
link 3link 2
Kinematics
04/18/234
the study of motion that ignores the forces that cause the motion “geometry of motion”
interested in position, velocity, acceleration, etc. of the various links of the manipulator e.g., where is the gripper relative to the base of the
manipulator? what direction is it pointing in? described using rigid transformations of the links
Kinematics
04/18/235
forward kinematics: given the link lengths and joint angles compute the
position and orientation of the gripper relative to the base for a serial manipulator there is only one solution
inverse kinematics: given the position (and possibly the orientation) of the
gripper and the dimensions of the links, what are the joint variables? for a serial manipulator there is often more than one
mathematical solution
Wheeled Mobile Robots
04/18/236
robot can have one or more wheels that can provide steering (directional control) power (exert a force against the ground)
an ideal wheel is perfectly round (perimeter 2πr) moves in the direction perpendicular to its axis
Wheel
04/18/237
Deviations from Ideal
04/18/238
two independently driven wheels mounted on a common axis
Differential Drive
04/18/239
for a robot starting with pose [0 0 0]T moving with velocity V(t) in a direction θ(t) :
Forward Kinematics
04/18/2310
t
t
t
dttt
dtttVty
dtttVtx
0
0
0
)()(
))(sin()()(
))(cos()()(
Sensitivity to Wheel Velocity
04/18/2311
2.0
100
0)0(
),0(1)(
),0(1)(2
2
t
tv
tvr
N
N
σ = 0.05
σ = 0.01
Localization using Landmarks: RoboSoccer
04/18/2312
Maps
04/18/2313
*
*start
goal
Path Finding
04/18/2314
start
goal
Localization
04/18/2315
start
goal
EKF SLAM Application
16
[MIT B21, courtesy by John Leonard]www.probabilistic-robotics.org
EKF SLAM Application
17
raw odometry estimated trajectory
[courtesy by John Leonard]
www.probabilistic-robotics.org
Day 02
Introduction to manipulator kinematics
04/18/2318
Robotic Manipulators
04/18/2319
a robotic manipulator is a kinematic chain i.e. an assembly of pairs of rigid bodies that can move
respect to one another via a mechanical constraint the rigid bodies are called links the mechanical constraints are called joints
Symbolic Representation of Manipulators
A150 Robotic Arm
04/18/2320 Symbolic Representation of Manipulators
link 3link 2
Joints
04/18/2321 Symbolic Representation of Manipulators
most manipulator joints are one of two types1.revolute (or rotary)
like a hinge allows relative rotation about a fixed axis between
two links axis of rotation is the z axis by convention
2.prismatic (or linear) like a piston allows relative translation along a fixed axis between
two links axis of translation is the z axis by convention
3.our convention: joint i connects link i – 1 to link i 1. when joint i is actuated, link i moves
Joint Variables
04/18/2322 Symbolic Representation of Manipulators
revolute and prismatic joints are one degree of freedom (DOF) joints; thus, they can be described using a single numeric value called a joint variable
qi : joint variable for joint i
1. revolute qi = i : angle of rotation of link i relative to link i – 1
2. prismatic qi = di : displacement of link i relative to link i – 1
Revolute Joint Variable
04/18/2323 Symbolic Representation of Manipulators
revolute qi = i : angle of rotation of link i relative to link i – 1
link i – 1
link i
i
Prismatic Joint Variable
04/18/2324 Symbolic Representation of Manipulators
prismatic qi = di : displacement of link i relative to link i – 1
link i – 1 link i
di
Common Manipulator Arrangments
04/18/2325
most industrial manipulators have six or fewer joints the first three joints are the arm the remaining joints are the wrist
it is common to describe such manipulators using the joints of the arm R: revolute joint P: prismatic joint
Common Manipulator Arrangements
Articulated Manipulator
04/18/2326
RRR (first three joints are all revolute) joint axes
z0 : waist z1 : shoulder (perpendicular to z0) z2 : elbow (parallel to z1)
Common Manipulator Arrangements
z0z1 z2
waist
shoulder
elbow
forearm
1
2 3
Spherical Manipulator
04/18/2327
RRP Stanford arm
http://infolab.stanford.edu/pub/voy/museum/pictures/display/robots/IMG_2404ArmFrontPeekingOut.JPG
Common Manipulator Arrangements
z0z1
z2
waist
shoulder
1
2
d3
SCARA Manipulator
04/18/2328
RRP Selective Compliant Articulated Robot for
Assembly http://www.robots.epson.com/products/g-series.htm
Common Manipulator Arrangements
z0
z1 z2
1
2
d3
Forward Kinematics
04/18/2329
given the joint variables and dimensions of the links what is the position and orientation of the end effector?
Forward Kinematics
2
1
a1
a2
Forward Kinematics
04/18/2330
choose the base coordinate frame of the robot we want (x, y) to be expressed in this frame
Forward Kinematics
2
1
a1
a2
(x, y) ?
x0
y0
Forward Kinematics
04/18/2331
notice that link 1 moves in a circle centered on the base frame origin
Forward Kinematics
2
1
a1
a2
(x, y) ?
x0
y0
( a1 cos 1 , a1 sin 1 )
Forward Kinematics
04/18/2332
choose a coordinate frame with origin located on joint 2 with the same orientation as the base frame
Forward Kinematics
2
1
a1
a2
(x, y) ?
x0
y0
( a1 cos 1 , a1 sin 1 )
1
x1
y1
Forward Kinematics
04/18/2333
notice that link 2 moves in a circle centered on frame 1
Forward Kinematics
2
1
a1
a2
(x, y) ?
x0
y0
( a1 cos 1 , a1 sin 1 )
1
x1
y1
( a2 cos (1 + 2), a2 sin (1 + 2) )
Forward Kinematics
04/18/2334
because the base frame and frame 1 have the same orientation, we can sum the coordinates to find the position of the end effector in the base frame
Forward Kinematics
2
1
a1
a2
x0
y0
( a1 cos 1 , a1 sin 1 )
1
x1
y1
( a2 cos (1 + 2), a2 sin (1 + 2) )
(a1 cos 1 + a2 cos (1 + 2), a1 sin 1 + a2 sin (1 + 2) )
Forward Kinematics
04/18/2335
we also want the orientation of frame 2 with respect to the base frame x2 and y2 expressed in terms
of x0 and y0
Forward Kinematics
2
1
a1
a2
x0
y0
1
x2y2
Forward Kinematics
04/18/2336
without proof I claim:
Forward Kinematics
2
1
a1
a2
x0
y0
1
x2 = (cos (1 + 2), sin (1 + 2) )
y2 = (-sin (1 + 2), cos (1 + 2) )
x2y2
Inverse Kinematics
04/18/2337
given the position (and possiblythe orientation) of the endeffector, and the dimensionsof the links, what are the jointvariables?
Inverse Kinematics
2 ?
1 ?
a1
a2
x0
y0
x2y2
(x, y)
Inverse Kinematics
04/18/2338
harder than forward kinematics because there is often more than one possible solution
Inverse Kinematics
a1
a2
x0
y0
(x, y)
Inverse Kinematics
04/18/2339
law of cosines
Inverse Kinematics
2 ?
a1
a2
x0
y0
(x, y)
22221
22
21
2 )cos(2 yxaaaab
b
Inverse Kinematics
04/18/2340 Inverse Kinematics
21
22
21
22
2 2)cos(
aa
aayx
)cos()cos( 22
and we have the trigonometric identity
221
22
21
22
2 2cos C
aa
aayx
therefore,
We could take the inverse cosine, but this gives only one of the two solutions.
Inverse Kinematics
04/18/2341 Inverse Kinematics
1cossin 222
to obtain
Instead, use the two trigonometric identities:
cos
sintan
2
221
2
1tan
C
C
which yields both solutions for 2 . In many programming languages you would use thefour quadrant inverse tangent function atan2
c2 = (x*x + y*y – a1*a1 – a2*a2) / (2*a1*a2);s2 = sqrt(1 – c2*c2);theta21 = atan2(s2, c2);theta22 = atan2(-s2, c2);
Inverse Kinematics
04/18/2342
Exercise for the student: show that
Inverse Kinematics
221
22111 cos
sintantan
aa
a
x
y
Day 03
Spatial Descriptions
04/18/2343
Points and Vectors
04/18/2344
point : a location in space vector : magnitude (length) and direction
between two points
p
qv
Coordinate Frames
04/18/2345
choosing a frame (a point and two perpendicular vectors of unit length) allows us to assign coordinates
0p
0q
1
2000 qpv0x
0y
0o 0
5.1
20q
5.2
40p
Coordinate Frames
04/18/2346
the coordinates change depending on the choice of frame
1p
1q
2
1111 qpv
1x
1y1o 1
2
5.01q
4
5.01p
Dot Product
04/18/2347
the dot product of two vectors
nu
u
u
u2
1
nv
v
v
v2
1
vuvuvuvuvu Tnn 2211
u
v
cosu
cosvuvu
Translation
04/18/2348
suppose we are given o1 expressed in {0}
1x
1y
1o
10x
0y
0o
0
0
301o
Translation 1
04/18/2349
the location of {1} expressed in {0}
1x
1y
1o
10x
0y
0o
0
0
3
0
0
0
300
01
01 ood
Translation 1
04/18/2350
1. the translation vector can be interpreted as the location of frame {j} expressed in frame {i}
ijd
Translation 2
04/18/2351
p1 expressed in {0}
1x
1y
1o
10x
0y
0o
0
1
4
1
1
0
3101
0 pdp
1
11p
a point expressedin frame {1}
Translation 2
04/18/2352
2. the translation vector can be interpreted as a coordinate transformation of a point from frame {j} to frame {i}
ijd
Translation 3
04/18/2353
q0 expressed in {0}
0x
0y
0o
0
1
2
1
1
0
300 pdq
1
10p
1
20q
Translation 3
04/18/2354
3. the translation vector can be interpreted as an operator that takes a point and moves it to a new point in the same frame
d
Rotation
04/18/2355
suppose that frame {1} is rotated relative to frame {0}
1x
1y
0x
0y
10 oo
sin
cos
Rotation 1
04/18/2356
the orientation of frame {1} expressed in {0}
1x
1y
0x
0y
10 oo
0101
010101 yyyx
xyxxR
Rotation 1
04/18/2357
1. the rotation matrix can be interpreted as the orientation of frame {j} expressed in frame {i}
ijR
Rotation 2
04/18/2358
p1 expressed in {0}
1x
1y
0x
0y
10 oo
1
1
cossin
sincos101
0
pRp
1
11p
Rotation 2
04/18/2359
2. the rotation matrix can be interpreted as a coordinate transformation of a point from frame {j} to frame {i}
ijR
Rotation 3
04/18/2360
q0 expressed in {0}
0x
0y
0o
1
1
cossin
sincos00
pRq
0q
0p
Rotation 3
04/18/2361
3. the rotation matrix can be interpreted as an operator that takes a point and moves it to a new point in the same frame
R
Properties of Rotation Matrices
04/18/2362
RT = R-1 the columns of R are mutually orthogonal each column of R is a unit vector det R = 1 (the determinant is equal to 1)
Rotation and Translation
04/18/2363
1x1y
1o
10x
0y
0o
0
Rotations in 3D
04/18/2364
010101
010101
01010101
zzzyzx
yzyyyx
xzxyxx
R
Day 04
Rotations
04/18/2365
Properties of Rotation Matrices
04/18/2366
RT = R-1 the columns of R are mutually orthogonal each column of R is a unit vector det R = 1 (the determinant is equal to 1)
Rotations in 3D
04/18/2367
010101
010101
01010101
zzzyzx
yzyyyx
xzxyxx
R0x
0y10 oo
0z
1x
1y1z
Rotation About z-axis
04/18/2368
0x
0y
10 ˆˆ zz
1x
1y
+'ve rotation
Rotation About x-axis
04/18/2369
0x
0y
0z
1x
1y
+'ve rotation
1z
Rotation About y-axis
04/18/2370
0x
10 ˆˆ yy
0z
1x
+'ve rotation
1z
Relative Orientation Example
04/18/2371
0x
10 ˆˆ zy
0z
1x
1y
45
Successive Rotations in Moving Frames
04/18/2372
1. Suppose you perform a rotation in frame {0} to obtain {1}.
2. Then you perform a rotation in frame {1} to obtain {2}.
What is the orientation of {2} relative to {0}?
?02 R
0x
1z
1x10 ˆˆ yy
0z
2x
21 ˆˆ zz
1x
1y
2y
2x
2y
0z
0x
0y
2z
,12 zRR ,
01 yRR
Successive Rotations in a Fixed Frame
04/18/2373
1. Suppose you perform a rotation in frame {0} to obtain {1}.
2. Then you rotate {1} in frame {0} to obtain {2}.
What is the orientation of {2} relative to {0}?
?02 R
0x
1z
1x10 ˆˆ yy
0z
1x
1z
0y
1y
2x
2y
0z
0x
0y
2z
,zRR ,01 yRR
0z
0x
Composition of Rotations
04/18/2374
1. Given a fixed frame {0} and a current frame {1} and
if {2} is obtained by a rotation R in the current frame {1} then use postmulitplication to obtain:
2. Given a fixed frame {0} and a frame {1} and if {2} is obtained by a rotation R in the fixed frame
{0} then use premultiplication to obtain:
01R
01
02 RRR
12
01
02
12 and RRRRR
Rotation About a Unit Axis
04/18/2375
cvkskvkkskvkk
skvkkcvkskvkk
skvkkskvkkcvk
R
zxzyyzx
xzyyzyx
yzxzyxx
k2
2
2
,
0x
0y
0z
xk
yk
zkk
cos1
sin
cos
v
s
c
Day 05
Rigid Body Transformations
04/18/2376
Homogeneous Representation
04/18/2377
translation represented by a vector d vector addition
rotation represented by a matrix R matrix-matrix and matrix-vector multiplication
convenient to have a uniform representation of translation and rotation obviously vector addition will not work for rotation can we use matrix multiplication to represent
translation?
Homogeneous Representation
04/18/2378
consider moving a point p by a translation vector d
zz
yy
xx
z
y
x
z
y
x
dp
dp
dp
d
d
d
p
p
p
dp
zz
yy
xx
z
y
x
dp
dp
dp
p
p
p
?
not possible as matrix-vector multiplication always leaves the origin unchanged
Homogeneous Representation
04/18/2379
consider an augmented vector ph and an augmented matrix D
1000
100
010
001
z
y
x
d
d
d
D
1z
y
x
h p
p
p
p
111000
100
010
001
zz
yy
xx
z
y
x
z
y
x
h dp
dp
dp
p
p
p
d
d
d
Dp
Homogeneous Representation
04/18/2380
the augmented form of a rotation matrix R3x3
10000
0
0
3x3RR
1110000
0
0
3x33x3 pRp
p
p
RRp
z
y
x
h
Rigid Body Transformations in 3D
04/18/2381
p
01d
12d{0}
{1}
{2}
Rigid Body Transformations in 3D
04/18/2382
suppose {1} is a rotated and translated relative to {0}
what is the pose (the orientation and position) of {1} expressed in {0} ?
d
{0}
{1}
?01T
Rigid Body Transformations in 3D
04/18/2383
suppose we use the moving frame interpretation (postmultiply transformation matrices)1. translate in {0} to get {0’} 2. and then rotate in {0’} to get {1}
d
{0}
{1}
0'0D
d
{0}
{0’}
{0’}
Step 1
Step 2
'01
0'0 RD
Rigid Body Transformations in 3D
04/18/2384
suppose we use the fixed frame interpretation (premultiply transformation matrices)1. rotate in {0} to get {0’} 2. and then translate in {0} in to get {1}
d
{0}
R
{0}
{0’}
{0’}
{1}
Step 1
Step 2
RD
Rigid Body Transformations in 3D
04/18/2385
both interpretations yield the same transformation
1000
10000
0
0
1000100
010
001
3x3
3x3
01
dR
Rd
RDT
Homogeneous Representation
04/18/2386
every rigid-body transformation can be represented as a rotation followed by a translation in the same frame as a 4x4 matrix
where R is a 3x3 rotation matrix and d is a 3x1 translation vector
1000
dRT
Homogeneous Representation
04/18/2387
in some frame i points
vectors
1
ii p
P
0
ii v
V
Inverse Transformation
04/18/2388
the inverse of a transformation undoes the original transformation if
then
1000
dRT
10001 dRR
TTT
Day 06
Forward Kinematics
04/18/2389
Transform Equations
04/18/2390
{0}
{1}{2}
{3}
{4}
01T
12T
03T
34T
42T
Transform Equations
04/18/2391
give expressions for:02T
34T
Transform Equations
04/18/2392
{0}
{1}
01T
02T
{2}
{3}
23T
Transform Equations
04/18/2393
how can you find
01T
23T
02T
13T
Links and Joints
04/18/2394
n joints, n + 1 links link 0 is fixed (the base) joint i connects link i – 1 to link i
link i moves when joint i is actuated
joint 1
joint 2
joint 3 joint 4 joint n-1 joint n
link 0
link 1
link
2
link 3
link n-1
link n
.................
prismatic
revolute
i
ii d
q
Forward Kinematics
04/18/2395
given the joint variables and dimensions of the links what is the position and orientation of the end effector?
Forward Kinematics
2
1
a1
a2
x0
y0
p0 ?
Forward Kinematics
04/18/2396
because the base frame and frame 1 have the same orientation, we can sum the coordinates to find the position of the end effector in the base frame
Forward Kinematics
2
1
a1
a2
x0
y0
( a1 cos 1 , a1 sin 1 )
1
x1
y1
( a2 cos (1 + 2), a2 sin (1 + 2) )
(a1 cos 1 + a2 cos (1 + 2), a1 sin 1 + a2 sin (1 + 2) )
Forward Kinematics
04/18/2397
from Day 02
Forward Kinematics
2
1
a1
a2
x0
y0
1
x2 = (cos (1 + 2), sin (1 + 2) )
y2 = (-sin (1 + 2), cos (1 + 2) )
x2y2
p0 = (a1 cos 1 + a2 cos (1 + 2), a1 sin 1 + a2 sin (1 + 2) )
Frames
04/18/2398 Forward Kinematics
2
1
a1
a2
x0
y0 x1
y1
x2y2
Forward Kinematics
04/18/2399
using transformation matrices
11 ,,01 axz DRT
22 ,,12 axz DRT
12
01
02 TTT
Day 07
Denavit-Hartenberg
04/18/23100
Links and Joints
04/18/23101
n joints, n + 1 links link 0 is fixed (the base) joint i connects link i – 1 to link i
link i moves when joint i is actuated
joint 1
joint 2
joint 3 joint 4 joint n-1 joint n
link 0
link 1
link
2
link 3
link n-1
link n
.................
prismatic
revolute
i
ii d
q
Forward Kinematics
04/18/23102
attach a frame {i} to link i all points on link i are constant when expressed in {i} if joint i is actuated then frame {i} moves relative to
frame {i - 1} motion is described by the rigid transformation
the state of joint i is a function of its joint variable qi (i.e., is a function of qi)
this makes it easy to find the last frame with respect to the base frame
1iiT
)(11i
ii
ii qTT
123
12
01
0 nnn TTTTT
Forward Kinematics
04/18/23103
more generally
the forward kinematics problem has been reduced to matrix multiplication
ji
ji
ji
T
I
TTT
Tij
jj
ij
ii
ij
if
if
if
1
1121
Forward Kinematics
04/18/23104
Denavit J and Hartenberg RS, “A kinematic notation for lower-pair mechanisms based on matrices.” Trans ASME J. Appl. Mech, 23:215–221, 1955 described a convention for standardizing the
attachment of frames on links of a serial linkage common convention for attaching reference
frames on links of a serial manipulator and computing the transformations between frames
Denavit-Hartenberg
04/18/23105
Denavit-Hartenberg
04/18/23106
notice the form of the rotation component
this does not look like it can represent arbitrary rotations
can the DH convention actually describe every physically possible link configuration?
ii
iiiii
iiiii
cs
scccs
sscsc
0
Denavit-Hartenberg
04/18/23107
yes, but we must choose the orientation and position of the frames in a certain way
(DH1)
(DH2)
claim: if DH1 and DH2 are true then there exists unique numbers
01 ˆˆ zx
01 ˆ intersects ˆ zx
,,,,0
1 such that ,,, xaxdzz RDDRTda
Denavit-Hartenberg
04/18/23108
iiii xaxdzzii RTTRT ,,,,
1
1000
0 i
i
i
dcs
sascccs
casscsc
ii
iiiiii
iiiiii
anglejoint
offsetlink
link twist
lengthlink
i
i
i
i
d
a
Denavit-Hartenberg
04/18/23109
proof: on blackboard in class
Day 08
Denavit-Hartenberg
04/18/23110
Denavit-Hartenberg Forward Kinematics
04/18/23111
RPP cylindrical manipulator http://strobotics.com/cylindrical-format-robot.htm
Denavit-Hartenberg Forward Kinematics
04/18/23112
How do we place the frames?
Step 1: Choose the z-axis for each frame
04/18/23113
recall the DH transformation matrix
iiii xaxdzzii RTTRT ,,,,
1
1000
0 i
i
i
dcs
sascccs
casscsc
ii
iiiiii
iiiiii
1ˆ iix 1ˆ i
iy 1ˆ iiz
Step 1: Choose the z-axis for each frame
04/18/23114
axis of actuation for joint i+1
iz
link i link i link i+1 link i+1
joint i+1 joint i+1
iz
iz
Step 1: Choose the z-axis for each frame
04/18/23115
Warning: the picture is deceiving. We do not yet know the origin of the frames; all we know at this point is that each zi points along a joint axis
Step 2: Establish frame {0}
04/18/23116
place the origin o0 anywhere on z0 often the choice of location is obvious
choose x0 and y0 so that {0} is right-handed often the choice of directions is obvious
Step 2: Establish frame {0}
04/18/23117
Step 3: Iteratively construct {1}, {2}, ... {n-1}
04/18/23118
using frame {i-1} construct frame {i} DH1: xi is perpendicular to zi-1
DH2: xi intersects zi-1
3 cases to consider depending on the relationship between zi-1 and zi
Step 3: Iteratively construct {1}, {2}, ... {n-1}
04/18/23119
Case 1 zi-1 and zi are not coplanar (skew)
i angle from zi-1 to zi measured about xi
iz
1ˆ iz
(out of page)shortest line betweenand1ˆ iz iz
ix
iopoint of intersection
ia
Step 3: Iteratively construct {1}, {2}, ... {n-1}
04/18/23120
Case 2 zi-1 and zi are parallel ( i = 0 )
notice that this choice results in di = 0
iz1ˆ iz
ix
iopoint of intersection
1ioia
Step 3: Iteratively construct {1}, {2}, ... {n-1}
04/18/23121
Case 3 zi-1 and zi intersect ( ai = 0 )
iz
1ˆ iz
ixiopoint of intersection
(out of page)
Step 3: Iteratively construct {1}, {2}, ... {n-1}
04/18/23122
Step 3: Iteratively construct {1}, {2}, ... {n-1}
04/18/23123
Step 4: Place the end effector frame
04/18/23124
“approach”
“sliding”
“normal”
Step 4: Place the end effector frame
04/18/23125
Step 5: Find the DH parameters
04/18/23126
ai : distance between zi-1 and zi measured along xi
i : angle from zi-1 and zi measured about xi
di : distance between oi-1 to the intersection of xi and zi-1 measured along zi-1
i : angle from xi-1 and xi measured about zi-1
Step 5: Find the DH parameters
04/18/23127
Link ai i di i
1 0 0 d1 1*
2 0 -90 d2* 0
3 0 0 d3* 0* joint variable
Day 09
More Denavit-Hartenberg Examples
04/18/23128
Step 5: Find the DH parameters
04/18/23129
Link ai i di i
1 0 0 d1 1*
2 0 -90 d2* 0
3 0 0 d3* 0* joint variable
Step 6: Compute the transformation
04/18/23130
once the DH parameters are known, it is easy to construct the overall transformation
Link ai i di i
1 0 0 d1 1*
2 0 -90 d2* 0
3 0 0 d3* 0* joint variable
1000
100
00
00
1
11
11
,,,,01 1111 d
cs
sc
RTTRT xaxdzz
Step 6: Compute the transformation
04/18/23131
Link ai i di i
1 0 0 d1 1*
2 0 -90 d2* 0
3 0 0 d3* 0* joint variable
1000
010
0100
0001
2,,,,
12 2222 d
RTTRT xaxdzz
Step 6: Compute the transformation
04/18/23132
Link ai i di i
1 0 0 d1 1*
2 0 -90 d2* 0
3 0 0 d3* 0* joint variable
1000
100
0010
0001
3,,,,
23 3333 d
RTTRT xaxdzz
Step 6: Compute the transformation
04/18/23133
1000
010
0
0
21
3111
3111
23
12
01
03 dd
dccs
dssc
TTTT
Spherical Wrist
04/18/23134
Spherical Wrist
04/18/23135
Spherical Wrist: Step 1
04/18/23136
Spherical Wrist: Step 2
04/18/23137
Spherical Wrist: Step 2
04/18/23138
Spherical Wrist: Step 4
04/18/23139
Step 5: DH Parameters
04/18/23140
Link ai i di i
4 0 -90 0 4*
5 0 90 0 5*
6 0 0 d6 6** joint variable
Step 6: Compute the transformation
04/18/23141
10006556565
654546465464654
654546465464654
56
45
34
36 dccsscs
dssssccscsscccs
dscsccssccssccc
TTTT
RPP + Spherical Wrist
04/18/23142
RPP + Spherical Wrist
04/18/23143
1000333231
232221
131211
36
03
06
z
y
x
drrr
drrr
drrr
TTT
21654
651641654111
dddssd
csssscccccr
z
Stanford Manipulator + Spherical Wrist
04/18/23144
Link ai i di i
1 0 -90 0 1*
2 0 90 d2 2*
3 0 0 d3* 0
4 0 -90 0 4*
5 0 90 0 5*
6 0 0 d6 6** joint variable
SCARA + 1DOF Wrist
04/18/23145
Link ai i di i
1 a1 0 d1 1*
2 a2 180 0 2*
3 0 0 d3* 0
4 0 0 d4 4** joint variable