Introduction to Robotics
-
Upload
khangminh22 -
Category
Documents
-
view
2 -
download
0
Transcript of Introduction to Robotics
The physical basis for DH parameters
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 2
The Denavit-Hartenberg (DH) Convention
β’ Representing each individual homogeneous transformation as the product of four basic transformations:
1000
0
1000
00
00
0001
1000
0100
0010
001
1000
100
0010
0001
1000
0100
00
00
RotTransTransRot ,,,,
1
i
i
i
i
i
xaxdzz
i
i
dcs
sascccs
casscsc
cs
sc
a
d
cs
sc
H
ii
iiiiii
iiiiii
ii
iiii
ii
iiii
2019-07-08 8:53:05 AM 3
DH for Two-Link Manipulators
β’ PP robot
β’ DH frames
β’ DH table
ππ₯
ππ¦
Desired Position vector π =ππ₯ππ¦
π₯
π¦
π§1
π§2
π₯1
π₯2
π§3
π₯3
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 4
DH for Two-Link Manipulators
β’ PP robot
β’ DH frames
β’ DH table
π₯
π¦
π§1
π§2
π₯1
π₯2
π§3
π₯3
π πΆπ ππ π½π π π
0 - - - -
1
2
3
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 5
DH for Two-Link Manipulators
β’ RR robot
β’ DH frames
β’ DH table
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
π§1
π§2π₯
π¦
π§
π₯2
π₯1
π₯3
π§3
2019-07-08 8:53:05 AM 6
DH for Two-Link Manipulators
β’ RR robot
β’ DH frames
β’ DH table
π πΆπ ππ π½π π π
0 - - - -
1
2
3
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
π§1
π§2π₯
π¦
π§
π₯2
π₯1
π₯3
π§3
2019-07-08 8:53:05 AM 7
RP and PR Robotsβ’ Kinematics
β’ RP Robot
β’ Forward
β’ππ₯ππ¦
=π1πππ π1π1π πππ1
β’ Inverseβ’ π1 = ππ‘ππ2(ππ₯, ππ¦)
β’ π1 = ππ₯2 + ππ¦
2
2019-07-08 8:53:05 AM 8
three-link cylindrical robot
β’ 3DOF: need to assign four coordinate frames
1. Choose z0 axis (axis of rotation for joint 1, base frame)
2. Choose z1 axis (axis of translation for joint 2)
3. Choose z2 axis (axis of translation for joint 3)
4. Choose z3 axis (tool frame)
β’ This is again arbitrary for this case since we have described no wrist/gripper
β’ Instead, define z3 as parallel to z2
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 10
three-link cylindrical robot
β’ DH parameters
β First, define the constant parameters ai, i
β Second, define the variable parameters i, di
link ai i di i
1 0 0 d1 1
2 0 -90 d2 0
3 0 0 d3 0
1000
100
0010
0001
,
1000
010
0100
0001
,
1000
100
00
00
3
2
3
2
1
2
1
11
11
0
1d
Hd
Hd
cs
sc
H
1000
010
0
0
21
3111
3111
2
3
1
2
0
1
0
3
dd
dccs
dssc
HHHH
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 11
spherical wrist
β’ 3DOF: need to assign four coordinate frames
β yaw, pitch, roll (4, 5, 6) all intersecting at one point o (wrist center)
1. Choose z3 axis (axis of rotation for joint 4)
2. Choose z4 axis (axis of rotation for joint 5)
3. Choose z5 axis (axis of rotation for joint 6)
4. Choose tool frame:
β’ z6 (a) is collinear with z5
β’ y6 (s) is in the direction the gripper closes
β’ x6 (n) is chosen with a right-handed convention
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 12
link ai i di i
4 0 -90 0 4
5 0 90 0 5
6 0 0 d6 6
β’ DH parameters
β First, define the constant parameters ai, i
β Second, define the variable parameters i, di
1000
100
00
00
,
1000
0010
00
00
,
1000
0010
00
00
6
66
66
5
6
55
55
4
5
44
44
3
4d
cs
sc
Hcs
sc
Hcs
sc
H
HHH
dcccscs
dssssccscsscccs
dscsccssccssccc
HHHH
3
6
0
3
0
6
6556565
654546465464654
654546465464654
5
6
4
5
3
4
3
6
1000
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 13
cylindrical robot with
spherical wrist
β’ 6DOF: need to assign seven coordinate frames
β But we already did this for the previous two examples, so we can fill in the
table of DH parameters:
link ai i di i
1 0 0 d1 1
2 0 -90 d2 0
3 0 0 d3 0
4 0 -90 0 4
5 0 90 0 5
6 0 0 d6 6
o3, o4, o5 are all at
the same point oc
2019-07-08 8:53:05 AM 14
β’ Note that z3 (axis for joint 4) is collinear with z2 (axis for joint 3), thus we
can make the following combination:
1000
333231
232221
131211
3
6
0
3
0
6
z
y
x
drrr
drrr
drrr
HHH
21654
316516541
316516541
5433
5154123
5154113
6465432
651641654122
651641654112
6465431
651641654121
651641654111
dddssd
dcdccdscsd
dsdcsdsccd
ssr
ccscsr
cssccr
ccccsr
cscssssccsr
csscscscccr
scccsr
cscssscccsr
csssscccccr
z
y
x
2019-07-08 8:53:05 AM 15
the Stanford manipulator
β’ 6DOF: need to assign seven coordinate frames:
1. Choose z0 axis (axis of rotation for joint 1, base frame)
2. Choose z1-z5 axes (axes of rotation/translation for joints 2-6)
3. Choose xi axes
4. Choose tool frame
5. Fill in table of DH parameters:
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
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 16
β’ the individual homogeneous transformations:
1000
100
00
00
,
1000
0010
00
00
,
1000
0010
00
00
1000
100
0010
0001
,
1000
010
00
00
,
1000
0010
00
00
6
66
66
5
6
55
55
4
5
44
44
3
4
3
2
3
2
22
22
1
2
11
11
0
1
d
cs
sc
Hcs
sc
Hcs
sc
H
dH
d
cs
sc
Hcs
sc
H
2019-07-08 8:53:05 AM 17
β’ Finally, combine to give the complete description of the forward
kinematics:
1000
333231
232221
131211
5
6
0
1
0
6
z
y
x
drrr
drrr
drrr
HHH
52452632
2155142541621321
5412515421621321
5254233
54152542123
54152542113
65264654232
646541652646542122
646541652646542112
65264654231
646541652646542121
646542652646542111
sscccddcd
sscssccsscddcdssd
ssssccscccddsdscd
ccscsr
ssccssccsr
ssscsscccr
ssccssccsr
scscscssscsscccsr
ccscssssscssccccr
cscsscccsr
scccsccssssccccsr
scccsdcsssscccccr
z
y
x
2019-07-08 8:53:05 AM 18
the SCARA
manipulator
β’ 4DOF: need to assign five coordinate frames:
1. Choose z0 axis (axis of rotation for joint 1, base frame)
2. Choose z1-z3 axes (axes of rotation/translation for joints 2-4)
3. Choose xi axes
4. Choose tool frame
5. Fill in table of DH parameters:
link ai i di i
1 a1 0 0 1
2 a2 180 0 2
3 0 0 d3 0
4 0 0 d4 4
Suggested insertion: photo of SCARA manipulator
β’ ππ: ππππβ1 @ π₯πβ’ πΌπ: β (π§πβ1 β π§π) @ π₯πβ’ ππ: ππππβ1 @ π§πβ1β’ ππ: β (π₯πβ1 β π₯π) @ π§πβ1
2019-07-08 8:53:05 AM 19
β’ the individual homogeneous transformations:
1000
100
00
00
,
1000
100
0010
0001
,
1000
0100
0
0
,
1000
0100
0
0
4
44
44
3
4
3
2
3
2222
2222
1
2
1111
1111
0
1d
cs
sc
Hd
Hsacs
casc
Hsacs
casc
H
1000
100
0
0
43
12211412412412412
12211412412412412
5
6
0
1
0
6
dd
sasaccsssccs
cacacsscsscc
HHH
2019-07-08 8:53:05 AM 20
Inverse Kinematics
β’ Find the values of joint parameters that will put the tool frame at a desired position and orientation (within the workspace)β’ Given H:
The Euclidean group for SE(3) is used for the kinematics of a rigid body, in classical mechanicsβ’ Find all solutions to:
β’ Noting that:
β’ This gives 12 (nontrivial) equations with n unknowns
310
SEoR
H
HqqH n ,...,1
0
6
n
n
nn qHqHqqH 1
1
0
11
0
6 ,...,
310
SETR
H
2019-07-08 8:53:05 AM 22
n
n
nn qHqHqqH 1
1
0
11
0
6 ,...,
H
H0
6Hi
i
1
j
j
j
i
ij
j
ji
i
i qHqHqHqHHqHqH 1
11
1
6
5
611
0
6
11
1
0
1 ])[(][
2019-07-08 8:53:05 AM 25
β’ For a given H:
β’ Find 1, 2, d3, 4, 5, 6:
β’ One solution: 1 = p/2, 2 = p/2, d3 = 0.5, 4 = p/2, 5 = 0, 6 = p/2
1000
0001
763.0100
154.0010
H
the Stanford manipulator
0
763.0
154.0
0
1
0
0
0
1
1
0
0
52452632
2155142541621321
5412515421621321
52542
541525421
541525421
652646542
6465416526465421
6465416526465421
652646542
6465416526465421
6465426526465421
sscccddc
sscssccsscddcdss
ssssccscccddsdsc
ccscs
ssccssccs
ssscssccc
ssccssccs
scscscssscsscccs
ccscssssscsscccc
cscsscccs
scccsccssssccccs
scccsdcssssccccc
2019-07-08 8:53:05 AM 26
kinematic decoupling
β’ Appropriate for systems that have an arm a wrist
β Such that the wrist joint axes are aligned at a point
β’ For such systems, we can split the inverse kinematics problem into two
parts:
1. Inverse position kinematics: position of the wrist center
2. Inverse orientation kinematics: orientation of the wrist
β’ First, assume 6DOF, the last three intersecting at oc
β’ Use the position of the wrist center to determine the first three joint
anglesβ¦
oqqo
RqqR
61
0
6
61
0
6
,...,
,...,
2019-07-08 8:53:05 AM 30
β’ Now, origin of tool frame, o6, is a distance d6 translated along z5 (since
z5 and z6 are collinear)
β Thus, the third column of R is the direction of z6 (w/ respect to the base
frame) and we can write:
β Rearranging:
β Calling o = [ox oy oz]T, oc
0 = [xc yc zc]T
1
0
0
6
0
6 Rdooo o
c
1
0
0
6Rdooo
c
336
236
136
rdo
rdo
rdo
z
y
x
z
y
x
c
c
c
2019-07-08 8:53:05 AM 31
β’ Since [xc yc zc]T are determined from the first three joint angles, our
forward kinematics expression now allows us to solve for the first three
joint angles decoupled from the final three.
β Thus we now have R30
β Note that:
β To solve for the final three joint angles:
β Since the last three joints for a
spherical wrist, we can use a set of
Euler angles to solve for them
RRR 3
6
0
3
RRRRRT0
3
10
3
3
6
2019-07-08 8:53:05 AM 32
Inverse position
β’ Now that we have [xc yc zc]T we need to find q1, q2, q3
β Solve for qi by projecting onto the xi-1, yi-1 plane, solve trig problem
β Two examples: elbow (RRR) and spherical (RRP) manipulators
β For example, for an elbow manipulator, to solve for 1, project the arm onto
the x0, y0 plane
2019-07-08 8:53:05 AM 33
Background: two argument atan
β’ We use atan2(Β·) instead of atan(Β·) to account for the full range of angular solutionsβ’ Called βfour-quadrantβ arctan
0,0
0,02
0,0
0,0
0,2
,2
xy
xy
xyx
y
xyx
y
yxy
xy
undefined
atan
atan
atan
atan
p
p
2019-07-08 8:53:05 AM 34
RRR manipulator
Anthropomorphic structure
1. To solve for 1, project the arm onto the x0, y0 plane
β Can also have:
β’ This will of course change the solutions for 2 and 3
cc yx ,21 atan
cc yx ,21 atan p
2019-07-08 8:53:05 AM 35
β’ If xc=yc=0, 1 is undefined
β’ i.e. any value of 1 will work
β’ If there is an offset, then we will have two solutions for 1: left arm and right arm
β’ However, wrist centers cannot intersect z0
singular configurations, offsets
2019-07-08 8:53:05 AM 36
β’ Left arm: β’ Right arm:
Left arm and right arm solutions
ddyx
yx
cc
cc
,2
,2
222
1
atan
atan
-
ddyx
ddyx
yx
cc
cc
cc
,2
,2
,2
222
222
1
atan
atan
atan
p
2019-07-08 8:53:05 AM 37
β’ Therefore there are in general two solutions for 1
β’ Finding 2 and 3 is identical to the planar two-link manipulator we have seen previously:
β’ Therefore we can find two solutions for 3:
Left arm and right arm solutions
D
aa
aadzdyx
dzs
dyxr
aa
aasr
ccc
c
cc
32
2
3
2
2
2
1
222
3
1
2222
32
2
3
2
2
22
3
2cos
2cos
2
3 1,2 DD atan
2019-07-08 8:53:05 AM 38
β’ The two solutions for 3 correspond to the elbow-down and elbow-up positions respectively
β’ Now solve for 2:
β’ Thus there are two solutions for the pair (2, 3)
Left arm and right arm solutions
333321
222
333322
,2,2
,2,2
sacaadzdyx
sacaasr
ccc
atanatan
atanatan
2019-07-08 8:53:05 AM 39
β’ In general, there will be a maximum of four solutions to the inverse position kinematics of an elbow manipulatorβ’ Ex: PUMA
RRR: Four total solutions
2019-07-08 8:53:05 AM 40